??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
wp-file-manager/classes/db-backup.php000064400000026520151202472330013521 0ustar00host = DB_HOST; $this->username = DB_USER; $this->passwd = DB_PASSWORD; $this->dbName = DB_NAME; $this->charset = DB_CHARSET; $this->conn = $this->initializeDatabase(); $this->backupDir = BACKUP_DIR ? BACKUP_DIR : '.'; $this->backupFile = $filename.'-db.sql'; $this->gzipBackupFile = defined('GZIP_BACKUP_FILE') ? GZIP_BACKUP_FILE : true; $this->disableForeignKeyChecks = defined('DISABLE_FOREIGN_KEY_CHECKS') ? DISABLE_FOREIGN_KEY_CHECKS : true; $this->batchSize = defined('BATCH_SIZE') ? BATCH_SIZE : 1000; // default 1000 rows $this->output = ''; } protected function initializeDatabase() { try { $conn = mysqli_connect($this->host, $this->username, $this->passwd, $this->dbName); if (mysqli_connect_errno()) { throw new Exception('ERROR connecting database: ' . mysqli_connect_error()); die(); } if (!mysqli_set_charset($conn, $this->charset)) { mysqli_query($conn, 'SET NAMES '.$this->charset); } } catch (Exception $e) { print_r($e->getMessage()); die(); } return $conn; } /** * Backup the whole database or just some tables * Use '*' for whole database or 'table1 table2 table3...' * @param string $tables */ public function backupTables($tables = '*', $bkpDir="") { try { /** * Tables to export */ if($tables == '*') { $tables = array(); $result = mysqli_query($this->conn, 'SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',', str_replace(' ', '', $tables)); } $sql = 'CREATE DATABASE IF NOT EXISTS `'.$this->dbName."`;\n\n"; $sql .= 'USE `'.$this->dbName."`;\n\n"; /** * Disable foreign key checks */ if ($this->disableForeignKeyChecks === true) { $sql .= "SET foreign_key_checks = 0;\n\n"; } /** * Iterate tables */ foreach($tables as $table) { $this->obfPrint("Backing up `".$table."` table...".str_repeat('.', 50-strlen($table)), 0, 0); /** * CREATE TABLE */ $sql .= 'DROP TABLE IF EXISTS `'.$table.'`;'; $row = mysqli_fetch_row(mysqli_query($this->conn, 'SHOW CREATE TABLE `'.$table.'`')); $sql .= "\n\n".$row[1].";\n\n"; /** * INSERT INTO */ $row = mysqli_fetch_row(mysqli_query($this->conn, 'SELECT COUNT(*) FROM `'.$table.'`')); $numRows = $row[0]; // Split table in batches in order to not exhaust system memory $numBatches = intval($numRows / $this->batchSize) + 1; // Number of while-loop calls to perform for ($b = 1; $b <= $numBatches; $b++) { $query = 'SELECT * FROM `' . $table . '` LIMIT ' . ($b * $this->batchSize - $this->batchSize) . ',' . $this->batchSize; $result = mysqli_query($this->conn, $query); $realBatchSize = mysqli_num_rows ($result); // Last batch size can be different from $this->batchSize $numFields = mysqli_num_fields($result); if ($realBatchSize !== 0) { $sql .= 'INSERT INTO `'.$table.'` VALUES '; for ($i = 0; $i < $numFields; $i++) { $rowCount = 1; while($row = mysqli_fetch_row($result)) { $sql.='('; for($j=0; $j<$numFields; $j++) { if (isset($row[$j])) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); $row[$j] = str_replace("\r","\\r",$row[$j]); $row[$j] = str_replace("\f","\\f",$row[$j]); $row[$j] = str_replace("\t","\\t",$row[$j]); $row[$j] = str_replace("\v","\\v",$row[$j]); $row[$j] = str_replace("\a","\\a",$row[$j]); $row[$j] = str_replace("\b","\\b",$row[$j]); if (preg_match('/^-?[0-9]+$/', $row[$j]) or $row[$j] == 'NULL' or $row[$j] == 'null') { $sql .= $row[$j]; } else { $sql .= '"'.$row[$j].'"' ; } } else { $sql.= 'NULL'; } if ($j < ($numFields-1)) { $sql .= ','; } } if ($rowCount == $realBatchSize) { $rowCount = 0; $sql.= ");\n"; //close the insert statement } else { $sql.= "),\n"; //close the row } $rowCount++; } } $this->saveFile($sql); $sql = ''; } } $sql.="\n\n"; $this->obfPrint('OK'); } /** * Re-enable foreign key checks */ if ($this->disableForeignKeyChecks === true) { $sql .= "SET foreign_key_checks = 1;\n"; } $this->saveFile($sql); if ($this->gzipBackupFile) { $this->gzipBackupFile(); } else { $this->obfPrint('Backup file succesfully saved to ' . $this->backupDir.'/'.$this->backupFile, 1, 1); } } catch (Exception $e) { print_r($e->getMessage()); return false; } return true; } /** * Save SQL to file * @param string $sql */ protected function saveFile(&$sql) { if (!$sql) return false; try { if (!file_exists($this->backupDir)) { mkdir($this->backupDir, 0777, true); } file_put_contents($this->backupDir.'/'.$this->backupFile, $sql, FILE_APPEND | LOCK_EX); } catch (Exception $e) { print_r($e->getMessage()); return false; } return true; } /* * Gzip backup file * * @param integer $level GZIP compression level (default: 9) * @return string New filename (with .gz appended) if success, or false if operation fails */ protected function gzipBackupFile($level = 9) { if (!$this->gzipBackupFile) { return true; } $source = $this->backupDir . '/' . $this->backupFile; $dest = $source . '.gz'; $this->obfPrint('Gzipping backup file to ' . $dest . '... ', 1, 0); $mode = 'wb' . $level; if ($fpOut = gzopen($dest, $mode)) { if ($fpIn = fopen($source,'rb')) { while (!feof($fpIn)) { gzwrite($fpOut, fread($fpIn, 1024 * 256)); } fclose($fpIn); } else { return false; } gzclose($fpOut); if(!unlink($source)) { return false; } } else { return false; } $this->obfPrint('OK'); return $dest; } /** * Prints message forcing output buffer flush * */ public function obfPrint ($msg = '', $lineBreaksBefore = 0, $lineBreaksAfter = 1) { if (!$msg) { return false; } if ($msg != 'OK' and $msg != 'KO') { $msg = date("Y-m-d H:i:s") . ' - ' . $msg; } $output = ''; if (php_sapi_name() != "cli") { $lineBreak = "
"; } else { $lineBreak = "\n"; } if ($lineBreaksBefore > 0) { for ($i = 1; $i <= $lineBreaksBefore; $i++) { $output .= $lineBreak; } } $output .= $msg; if ($lineBreaksAfter > 0) { for ($i = 1; $i <= $lineBreaksAfter; $i++) { $output .= $lineBreak; } } // Save output for later use $this->output .= str_replace('
', '\n', $output); return $output; if (php_sapi_name() != "cli") { if( ob_get_level() > 0 ) { ob_flush(); } } $this->output .= " "; flush(); } /** * Returns full execution output * */ public function getOutput() { return $this->output; } }wp-file-manager/classes/db-restore.php000064400000017631151202472330013742 0ustar00host = DB_HOST; $this->username = DB_USER; $this->passwd = DB_PASSWORD; $this->dbName = DB_NAME; $this->charset = DB_CHARSET; $this->disableForeignKeyChecks = defined('DISABLE_FOREIGN_KEY_CHECKS') ? DISABLE_FOREIGN_KEY_CHECKS : true; $this->conn = $this->initializeDatabase(); $this->backupDir = defined('BACKUP_DIR') ? BACKUP_DIR : '.'; $this->backupFile = $filename; } /** * Destructor re-enables foreign key checks */ function __destructor() { /** * Re-enable foreign key checks */ if ($this->disableForeignKeyChecks === true) { mysqli_query($this->conn, 'SET foreign_key_checks = 1'); } } protected function initializeDatabase() { try { $conn = mysqli_connect($this->host, $this->username, $this->passwd, $this->dbName); if (mysqli_connect_errno()) { throw new Exception('ERROR connecting database: ' . mysqli_connect_error()); die(); } if (!mysqli_set_charset($conn, $this->charset)) { mysqli_query($conn, 'SET NAMES '.$this->charset); } /** * Disable foreign key checks */ if ($this->disableForeignKeyChecks === true) { mysqli_query($conn, 'SET foreign_key_checks = 0'); } } catch (Exception $e) { print_r($e->getMessage()); die(); } return $conn; } /** * Backup the whole database or just some tables * Use '*' for whole database or 'table1 table2 table3...' * @param string $tables */ public function restoreDb() { try { $sql = ''; $multiLineComment = false; $backupDir = $this->backupDir; $backupFile = $this->backupFile; /** * Gunzip file if gzipped */ $backupFileIsGzipped = substr($backupFile, -3, 3) == '.gz' ? true : false; if ($backupFileIsGzipped) { if (!$backupFile = $this->gunzipBackupFile()) { throw new Exception("ERROR: couldn't gunzip backup file " . $backupDir . '/' . $backupFile); } } /** * Read backup file line by line */ $handle = fopen($backupDir . '/' . $backupFile, "r"); if ($handle) { while (($line = fgets($handle)) !== false) { $line = ltrim(rtrim($line)); if (strlen($line) > 1) { // avoid blank lines $lineIsComment = false; if (preg_match('/^\/\*/', $line)) { $multiLineComment = true; $lineIsComment = true; } if ($multiLineComment or preg_match('/^\/\//', $line)) { $lineIsComment = true; } if (!$lineIsComment) { $sql .= $line; if (preg_match('/;$/', $line)) { mysqli_query($this->conn, "SET sql_mode = ''"); // execute query if(mysqli_query($this->conn, $sql)) { if (preg_match('/^CREATE TABLE `([^`]+)`/i', $sql, $tableName)) { $this->obfPrint("Table succesfully created: `" . $tableName[1] . "`"); } $sql = ''; } else { throw new Exception("ERROR: SQL execution error: " . mysqli_error($this->conn)); } } } else if (preg_match('/\*\/$/', $line)) { $multiLineComment = false; } } } fclose($handle); } else { throw new Exception("ERROR: couldn't open backup file " . $backupDir . '/' . $backupFile); } } catch (Exception $e) { print_r($e->getMessage()); return false; } if ($backupFileIsGzipped) { unlink($backupDir . '/' . $backupFile); } return true; } /* * Gunzip backup file * * @return string New filename (without .gz appended and without backup directory) if success, or false if operation fails */ protected function gunzipBackupFile() { // Raising this value may increase performance $bufferSize = 4096; // read 4kb at a time $error = false; $source = $this->backupDir . '/' . $this->backupFile; $dest = $this->backupDir . '/' . date("Ymd_His", time()) . '_' . substr($this->backupFile, 0, -3); $this->obfPrint('Gunzipping backup file ' . $source . '... ', 1, 1); // Remove $dest file if exists if (file_exists($dest)) { if (!unlink($dest)) { return false; } } // Open gzipped and destination files in binary mode if (!$srcFile = gzopen($this->backupDir . '/' . $this->backupFile, 'rb')) { return false; } if (!$dstFile = fopen($dest, 'wb')) { return false; } while (!gzeof($srcFile)) { // Read buffer-size bytes // Both fwrite and gzread are binary-safe if(!fwrite($dstFile, gzread($srcFile, $bufferSize))) { return false; } } fclose($dstFile); gzclose($srcFile); // Return backup filename excluding backup directory return str_replace($this->backupDir . '/', '', $dest); } /** * Prints message forcing output buffer flush * */ public function obfPrint ($msg = '', $lineBreaksBefore = 0, $lineBreaksAfter = 1) { if (!$msg) { return false; } $msg = date("Y-m-d H:i:s") . ' - ' . $msg; $output = ''; if (php_sapi_name() != "cli") { $lineBreak = "
"; } else { $lineBreak = "\n"; } if ($lineBreaksBefore > 0) { for ($i = 1; $i <= $lineBreaksBefore; $i++) { $output .= $lineBreak; } } $output .= $msg; if ($lineBreaksAfter > 0) { for ($i = 1; $i <= $lineBreaksAfter; $i++) { $output .= $lineBreak; } } if (php_sapi_name() == "cli") { $output .= "\n"; } if (php_sapi_name() != "cli") { ob_flush(); } flush(); } } wp-file-manager/classes/files-backup.php000064400000007701151202472330014236 0ustar00open($destination, ZIPARCHIVE::CREATE) === true) { $source = str_replace('\\', '/', realpath($source)); if (is_dir($source) === true) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file) { if(strpos($file,'fm_backup') === false && (strpos($file,'opt') === false || strpos($file,'opt'))) { $file = str_replace('\\', '/', realpath($file)); $relative_path = substr($file, strlen($source) + 1); if (is_dir($file) === true) { if($relative_path !== false){ $zip->addEmptyDir($relative_path); } } else if (is_file($file) === true) { $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file)); } } } } else if (is_file($source) === true) { $zip->addFromString(basename($source), file_get_contents($source)); } } return $zip->close(); } } return false; } public function zipOther($source, $destination) { $source = str_replace('..', '', $source); $destination = str_replace('..', '', $destination); if (extension_loaded('zip') === true) { if (file_exists($source) === true) { $zip = new ZipArchive(); if ($zip->open($destination, ZIPARCHIVE::CREATE) === true) { $source = str_replace('\\', '/', realpath($source)); if (is_dir($source) === true) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file) { $file = str_replace('\\', '/', realpath($file)); $allfolders= explode("wp-content",$file); if(isset($allfolders[1])){ $allfoldersdata= explode("/",$allfolders[1]); if(isset($allfoldersdata[1]) && ($allfoldersdata[1] != 'themes' && $allfoldersdata[1] != 'plugins' && $allfoldersdata[1] != 'uploads')){ $file = str_replace('\\', '/', realpath($file)); $relative_path = substr($file, strlen($source) + 1); if (is_dir($file) === true) { if($relative_path !== false){ $zip->addEmptyDir($relative_path); } } else if (is_file($file) === true) { $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file)); } } } } } else if (is_file($source) === true) { $zip->addFromString(basename($source), file_get_contents($source)); } } return $zip->close(); } } return false; } }wp-file-manager/classes/files-restore.php000064400000004242151202472330014451 0ustar00open($source); if ($res === TRUE) { $allfiles = []; for($i = 0; $i < $zip->numFiles; $i++) { $filename = $zip->getNameIndex($i); if (strpos($filename,'wp-file-manager') === false) { $allfiles[] = $zip->getNameIndex($i); } } $zip->extractTo($destination, $allfiles); $zip->close(); $isLocal = explode(':\\',$destination); $path = count($isLocal) > 1 ? str_replace(DIRECTORY_SEPARATOR,'/',$isLocal[1]) : str_replace(DIRECTORY_SEPARATOR,'/',$isLocal[0]); if(is_dir($destination.'/'.$path)){ $is_copied = copy_dir( $destination.'/'.$path, $destination); if($is_copied){ $folderarr = explode('/',$path); if(is_dir($destination.'/'.$folderarr[0])){ $is_deleted = $this->fm_rmdir($destination.'/'.$folderarr[0]); } return true; } } return true; } else { return false; } } else { return false; } } return false; } public function fm_rmdir($src) { $dir = opendir($src); while(false !== ( $file = readdir($dir)) ) { if (( $file != '.' ) && ( $file != '..' )) { $full = $src . '/' . $file; if ( is_dir($full) ) { $this->fm_rmdir($full); } else { unlink($full); } } } closedir($dir); rmdir($src); } }wp-file-manager/css/images/ui-icons_444444_256x240.png000064400000015662151202472330015662 0ustar00PNG  IHDREr@gAMA a cHRMz&u0`:pQ<bKGDD<tIME(uIDATxk%Gum;!^l0[HXĹH:w8;g1s]&<Clfq؅!,"·Wu׫{vGwn>UUuN=ΩSd5 x ^/2ڄ̈́,ڬ+M^ Or`:S|{Y``k?a61@5S#Gd)qvXuB@*J@`HNA1n:P,D:Aq+=f]Sq !+Lm>|XhN^4 Aٔ3CJ`ZUێ=s4)-`F8iRYCPCZ:ڬ{p @pxh84^o;o2Yؔ1m= vԱEGJHiUg>͵k6R_}Sk=~5<eҷ.ܙnoFd{յU^@>]L-oz e%PEdR=IlO\r6`S`dxup/  @pxh8tW믕9К {\B0](eQ TQ5[ \B{VC!4({\hwg{ KhlXvp-Z^IA:Шur&%5tSChNKgn\Pv:[(ݘ8nbKUk]ҶA^50\Bi..4l][mkAL".v2=[Yo82c`` Ty6ʸh V~~~%pxh84^/ C;K pшVgRH ZҲܭLfSm\tlehW0K@9ԼEVrs Ͽ[ mmۚ^ؠ+o sqnۂ fIcρ. w{ҫ5E9mcyPJ٬0)b^An90W{ϷŶ  Y4P- ** :P6= |WC/#ڃqLr9˒ '03g*)lf_*T՜)\Rvp3 ."̣`nի.\ߤ͔NCms%,F^pxh84^/ ^c `W]So]`YL0i]V c> z\eXoJ}@Hٲ{-.6fFV;uL;[@.{W4m %:*-c70q%z}gP"^@ZeO!A1m }vu&6zM>6iUVɚ$dzu!B C~yXM2E/̽X5h!Hm&O!w8dP Qՠ/PkCm,M{luZ:tDe M׼Y+2~/ @p K[6 .ۤ -*6h?Cr]ILOXHZpU]֧@*y;n-JR=O$!U5G*"R}ez@M,s.5& {g㧫/[Sqs8ľ*3{ibWל\9:Z!u5 rUЛ2DbzL29O[_lOp=VBG""X_O7e*َd2'j t@d'Gx$ Y.d8ދ+1l!£/C}>]Ǧ @p&+ }I2Ƣ]A68T9G-~B2qz^{x\S\:\SJ~Dݯyn OH$BI|2WCܨI:]$:^΢bK,U!9zǒkyE<ߐ˿4=Y(R)'b1do+]K'q!FPa#'xAR(vw1ws:?q'nfOOgc>l.bdp] V?piC\zX0k]cަ^BXf谧05Uڽ$B| y;A.|/KxfಈsO)eJyˆ#9s}|R?B63c%]ymoV^̔R4{rZpur9nnV& B_qX0A_E8a/(O|3\jݥh1iq_V6(!,mkb?'y#<MrCLtz鑫W]o/.\3l>CH4 Z:`3lwɒ5S&,HA ?O7Ȫy*9jnRko{lpSeY<Ӈur! %gtd3תk7NH 5;Ǜh jy^0.eLb? [*wԴ"~L mi _$;H[dOQWg~Qav`'U,WS}a-|KKl1 =6/[:IP6wʟ~6?79tBɺȕ)CFhkI`z6iFs3GآfP؟w#cXS6χ;>*' "!S~)Z!`@QA%&?g.n^[CA9`o1To(|5= 4>NE@pp~$S&qNw8JHH.ad/.uS?͙_7)Dߍ0~>-ӗFZc 1ْh6G8?S$eЁ?w! 𺀆 @p4OXNITrH<ݡ;ކL'P5h&۵k>(G8=;xwBLQ;F΋nc-| + y{"AGH_Y$oDYLv6}If0͂bQE<cg& KqX =WbNnWǫ]"ټrͅCyϐLDU˳}/ÀI`+& p')\}>/|OI 72 ~~h2D9|PՄx0cEQ^.O9ߏod(]4#eLTg\g18bGnSyARJm5PV8@3Ztinugc"Ìm4wIV$!Ic)d}E~J^/qwGb*X*ȚqSh.C @ÑCZwdk5{Rq9Z(> ^0{G;rJ؟н^ "ټ'5 Xb;m HHb~ķߖs4]|= uK"*V J6C;n.aPo0 K3GثRm 3OGCq8 5 @؁V\R%g9[3 ΩDeGh {\&>̇){?,oP篘B.ܔ)хd߃!@LmWI&,={v{~ķߖSt@ե. ,GY͜S0]8Ӽe.ߠ5 qFw_HrnbuȰg3.ߠ B l84^/  @ÑUNvGj].cPnݚBNCB^l \gH3`cΗwCC!f Ӂ/`7(0^!99z&@%?2ff-(s^=*/5^/  @غ B,Bf {۬H <*B}gаnAgs Aֺ={ ]CXSCW/1'-VXeEٶ`5)71~+`%?`pxK;*u~佁1lܮG$,&%|ܢց]]=Β?ptgYG b '8$f;#AG3;=LW^<&=Ll&<DYVD^`Or`: $)=LsL=?a|6I#V+A1L)P!)$q<ąU`r2t )bBzDD'O{5[Y`]azGtwSSl 1z̐!(h~L`VU{ gӜwslgpUf2CPC[mVFyh8J` px4 '@ px4 wdp)cF{S>R$)g3Wimk~[+O}#c P_ OBmz-=)wi'#@]ƪS/c>]Lϟ[ e%PEdR=\')W0ʩk0o2: A '@ px4 '@ p3 _+-sEK% 25UA(<`+Hʢ=l>0b'Gn%p U"YR[RРq_`ɟH5`.@%6b)Z|tQiE LcJxw]K 7 $0txzl\Ywk!uS[LK:(˼f]K(lNźuѶ'vwIdU)nK9(ufc/ӯ<-!LUi{&0lWWOh8<O7&R?~¥\4Fޥ2$\ܽWޡZZՀlk)2+@%jn+\CV{skۥbg%@6[\ܩ۶`6YsKݞs7jAiܶ~@˫: SE * pv]Zwt DCȟyUw{'!`5͔:KU=Œ@mRal{IB%b5}ZƀT7 셲jDe![014]fhX{4 '@ px4Gְ,6yM*I Ѣ)b04(.M3Q#?]᪺0B'ׁL*y;y[tӅR޽HCt5o՜Oy"#LsͿk5& {g/[Sqs8$*3{i>9rV;UO2_ 5LxhDyB(pEw@öy L`~:yD0Hjr~zV(U&v$I>J@PlO$H!`;pdvY$4mZU_a31 2Zp9y J."-G ~:2x]ό%XJ~- @=#):iGy1W唵s_RY;[摒V"Op :-Q{ARC.ŋI|DDiӊٗYSh?xM<MrCLtzO\o/.G\38CH4 Z9`3lwɒ5HvQ~?be[d9uJZ-]j-| Npu~ 1<;g4=.{\Y. ǵTJ'ZmS?-X>Ohզ:as|3|)f0S}i~x1om ʻXjZ?64/KR;Hӏ.*5 ~Ia`'*!$4-|˜lI{U^ʷM˲IP6wʟL~60ȳ9lŒu7+SxT+?UۤyGlQdg(-E͠ 75|^Q1!֔w!fI%dP]y_VnX3ugy؟t'PPv5O&R5j(|5殎< 46}Q@ppI$3&qNw8JHH.al/.uS?¯ Qߍ0~>m՗/[?2Ҋ: R- kLfD<￞OsE=LYhGʘb+;mR.b,n:7)? 1veqQyg\iQbpH[w@vK4F?UShC'~aY? OC~;+ ;qt2\~>"_cH'#$U~<]!rn\u`1^5GFA.Nn~UN'¯pw"qFgBc sQY|RV0ù [մvyFd67NjbI`;)vciF/X/ ۯ(ԓ,z8bB,WwItDG( j:$^  gnL-v$0Ƹ44R؟П(00wJy閄1^90%Ә- n8J` px4 '@Ñ'i"#@p!oڏlH=$G/l9:,GrlCd!82"s\Kt=:-*%[AD]~E#gqboncLp*_;ma[v5<5uJ>z_.j[\ x=Wx+^`?]ޥ%W{#29 xNvrqw"KbKۍ+"<Bp?]nf'أLOo&qcg y@BGa+J$s vT:qfJ[5A:- !@tƏB'd9WhL>c,]~Tl^=l -7 '@ pdPWR[ Z^[ ~F:f~o8ew ^土j-w-h<ۦ^&"/_M] mSG|[m7?-mL7\K]yWjg6W`uwoO_5~zYXw(R`VzCK5,_̼uM+PNQ@l $v|d2&œC&(G)~EU')_XY~껖DDcRS| lk㇆)#WR.uIDk\sUda᭛&w-<4zeB WWsSoy.px4 '@ px4[m 2KlfErQ2鎚uX!7H؞n=k.CXFԼz&=l*+g+Vs=i}F 2L=ir$/\)W.7zar=kP#5[Σ- `5+B~۬5;GMx x}J۶%tEXtdate:create2020-12-13T14:23:47+00:00!%tEXtdate:modify1985-10-26T08:15:00+00:00"StEXtSoftwareAdobe ImageReadyqe<IENDB`wp-file-manager/css/images/ui-icons_777620_256x240.png000064400000011012151202472330015650 0ustar00PNG  IHDRIJgAMA a cHRMz&u0`:pQ<PLTEwv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv a(ZtRNSXG|"2wfZNz@eSFcaMhms}䁎]bp Ιi8*yѧȓد͐ǫʄbKGDHtIME)rkkIDATx] c۶H阒K8n&s6/^]umԦk:z ;LS:1ǀ5ԻBEDDDDDD nJXyO4'|Jf7ńU@ D!!~{=ɖsLBI`܂fhm,ףmV$=dc@.=siށG/BܽǷJI<\i 뷕#˜: HleF<\|Od1s9+3;-˟5ׄH,0n9o=DOH./H:ݩ۾ \dDDDDDDMEm=݌IJ] .Uր*lm.^NɊtoozQ?/OZ6'^{Å| xK,=#m[;'aK4k4jeNϷ؀tFkoNX{pd0 z`]t`ę1X LB $ KZpNy~>&"""""bԸܻ8wTȣ36Xn;g`Z/'ʎ;7}jmtxշd0O/!`//$3j^_pМ 7N@nH,0o'i  M}RY@;=[҉`Oa<1^CBk_DDDDFzod|U5i)bz_ip5RRWbT!l@R5Cf|Be:.3mG/t{߈ "gM`\X9A))SXb7t,iX;6*@+4tF#H M 21&C!O /+n}HFH@_t?""""f!S~B~[[Cn*7r`r\*f49qKE @gJqW8d(n '4*^QLWmREs C߶Tf+[uzI tUm5AZQiB 1D'YDJCc8]&{0TG$! &jI` CU\h<@{1{.J}LiR 7m >H UxWiJuyU>b.pK!/|oOׯ$@nr@I0pxx`_2 ?- x~9pT GDt'=!|/\ c&, ۟N&B} <9~Fu!y ;L`X\!-&-%b21v F.7N NU~#  V홛s0uW80-p%dC-Jtv7DDDD?=6m#AGmQ#vckyޞ[&kBdu@6?43ES&wZGJE?]yYi2=\kh5(3Tq;1cr7o_;9f~/_{Ao BA?6Bn”&HV_,\ ٯ.R:V3mt fO<}v6ʤ}g=^`Od|xS߷kg>80v(,` uh.l)cb,Cjj[Rߧi2DZ1@&Ƀ?/ HujgOc|(9hha0C#^$da#$ɟrwv__~Sz¼zuZZVwZ jP*ܓ@& wH8,StQsM?N{ 0>yAAQm=X rqQt (""""b i1\y[ U޻iA +·@W_ _)K?܇'O&hVM9̦/ a!Q ¿+,iӍؔ=d]:t3*AW1^ n_IrJ4M=ݷ=SP-#PNF *Rkgj>L Wu4K!Z?5Ci/e 0!2uPT)9-`>3^jMQi`ol_]f v%e(OH4p,DϞ?;u@-Rnfjġy&  +[}J|.Ȇs 8;S/A2|_5JGW{pPais fgggpMYs=a%G@jhm`i%cL0k؇?GaHHI=_"Q&˚ ի#$.W1`s2"""xwm7j@\\ͨ㶛5)uꎣ޵ ,aOřy,_/h]\h޴9`# M [z KuO_z˿Dܫ*kOJ(7v\e IT}aTna*baoۺHXaEzn NS&Sn4A@r8OW+&bo v, zh&T ǀa5:=SD0}b!pZpވXG:`?iYx60يKF>3ȬDP#^>@(0(RȠBFWmA|%CB6 &&UZHh " 07B L (?F3:&`f)!nE[cǀ|cw`~@DDDD͆9~ݔ^ \)\7UV?I@+3}T& ) s!N֫CњjE&n߆s?'5{Ov9(-o_HuKJGPZ)j\X_ThM<:{y a!)l?\ >WޠdܵrLuW^hzn*w}>.ϕox^V2U+3N_7]$邶_|]rSWp(?Og-?h_!\_LCV47L!~B@=ug#`BB-Ⳁ3Q6.}v)ASY2p>`ԚAPbt*U I맃Uh vڑHuڕJw#""""""<KG5$/ ?=7$L%7vD cM DDDDDDDl !5!hHDk@U@RPno/_ڵ7S_CuW_kU_ 8c@ZcA w1r}݇O%tEXtdate:create2020-12-13T14:23:47+00:00!%tEXtdate:modify1985-10-26T08:15:00+00:00"StEXtSoftwareAdobe ImageReadyqe<IENDB`wp-file-manager/css/images/ui-icons_777777_256x240.png000064400000015707151202472330015704 0ustar00PNG  IHDREr@gAMA a cHRMz&u0`:pQ<bKGDwdǭtIME)rkIDATx{eE}?H(cX1²[R`JHE$UŒcEQ2;#fŹc,HjcQ55PqK$1%'W9:;=s=>׿h2t< / mBڃf 6+JD0&s؇N_Bs&ڏ>~? c{vj%ؿ)#DEF IܤG RSơC$ELځ!GDNP)~tϷ=;wהmeBzs SM,4Rm 1z̐!(hnE6UjնcO6y7Yʶ~fK1lWM.Ӟ*+pŔGUzFQb^pxh84^/  @qMF{72m0?Ξ:vuxrn0sOs횶WrGhA2t[l{SO7#NG=ZƪS/co.7Vk2O jblcl`.[<%}axt7^p @pxh84^CFW믕9К {\B0](eQG؅jl*,)C r)BhP/0rH(0,@%6qp-Z^IA:Шur%U|)I!4ig371E:q7n05AuPy ̺8Pj K9 [EZ.Ȫ.Lu֛L;Xt0Ua29@às_!_ l84^/  @7&R?~¥\4F>2H6F{VCl9wL.;S&2+@%jn+Nti߭th׶KJ`mM/lЕSmmu@݅=n"kݶmEJ):uP SV+ (-*ty}o6ׁvh[Y+[@VUT:P6= |WC/&#ڃILr9˒ '03g*) hv/ h*j΁Dػ{KnTEyۭzp뛴ҩ~} ,# / _ n84^/  @1Huvl0\ޮ7.,vYً&4.nS=n2o_ 7> d Ab~j.4IcghÉwuNЉ^Mz3:0뫲BrfSz!]sUϷlJd +  |LWmu ju QG ("öֺc BVM+V=A=4S<#s/5V.~{32[IAH]$ !jmn.R$V7ŪMI$ld:Xt͛(axxh84^/ @kXIM*Љ Ѣ)b04(.M3Q#?]!iUuYaNY̫U*E LJ{" O9U{D&"2}ez@M,sukL&OW?_(ȧ>qH|gUfxmd%>9rV;UO2_$Uk25? P쀆m#.V c%tH<"Q[[@V:<ۑL&DJA"=>#|^eݓ,Ҵ]^#{ V~% A[niG9@°ꙴ>]Ǧ @p̦+ }I2]!qmprJZ46̸FN;B%"0 @^wb< |ڐ{66Ce #BBH}AHE`!@}Enevp/4/ 4shVTʉXl%kI$?.X*y"!If|d#<^LV9x/3"O?Y\UEh&( 80h'yW'w(:) yMjmv/ {_BPdXj@pYǹY08>_Umv &d J8d.6BM!Sr,G-o * q4[1=kجDW;rߪ*v.1X`A3 Dů b&N篥_EDs0x+CdʾUt ^#Jg §-+# bxJx]`/S0~&FIQ^/  h1AYZp9y J.& Gs}|R?B>3c%k`.s67+P/eJ}1^U9e-&}9wnQГ0$:`.0A7N.p9^P>;gPKb2>Q"Gڴ){zxSOfbf9a :=q .ǷC.Yvh|!$`-0п;JzRdLRuH?ZPz32M-Dup:\%G-.V'9:?Peȳ}X|.].{PZSpZuM& tpx+-2xBZMg'jSְ9sg=es^ʿ7yB 1R-&t@ƘeIb|~-Á4h"˴ϼV%I;{D&1=/s/Q&3>;4'R4;o|&A)IV(2@27KDLuRN\'IUۤyglQP[afAnb|^Q1!)Cp;#-UBuS f%&?g.n^[$CA9D`}O&R5jQ|O c]z@hd} vnrw$S&qNw8FHH.al/.uS?-¯[ Qߍ0~>-ӗ쏌}dK@3>Lb,㺪k,OxAJL Q 4^/ yU4TtSm`:E0ݮuBk@A>Ż 1y0up^f>NȭJǹ"o͐g(m!dz5pa휛=Nن~Y/1 YP,DO>'حE {R\)|uz}(BOU#/}WH6gvs!Pf^3dB3uBJ|sye0 ,p%dAN؝"oԧE~)_FxQ/O^_V=gOw V.+"8< `7'd颹)cRDzIZXE|7F8S@;fqYw\Sc^sgqƕ-E}taK3!yo`10wUMcʢ òZ]!p⿖ptz8SL.IP/H1EU?~6ngs87 vV0QK|#h'_iXu75F4xQFt?@TC7Cln6p.UNE9V9rf 1k `G6"vE'yxhQ ǹJs9 {_[q/\Alv]Il_DN3t& e,{ou'p0M:nC N#7gBm*/z9-VS e| 4E7ώ\=V^h~Zl<ɪBt?`>6ɛr}a/OEᯀkZqw,V-󚂈P hgMy ^/ G^kEگsנ3K빢x;xӠ3QbpCPwVިNU/3 B)AQu~rQZUQU8?>`UGaKq/iB!Rs"_ jkQEOQMkjG@p.hO6/I m!ҦۙD/#LZۉ@-,yJxFAQ_\w/臸!M s>HXguyQi2*t)$57P .&,iNst,,jJDq[m71cvW!IeCOχ8% GeYko v+ʸ?P ӱ}/k廓tS/F/X[I3,*S/ Ţ(`}D,("H`p4lbZD'OWh+RCC-yЍYs'!nIC C#\r=hLݒï6^/  @Ñ[93\;4[C#=G= hMݏ^NW9:,Gsn2Cd!2&s\Kt=:-*%A$-G84?B8;5FTcw8ö?kxkjc/~}_.j[\ xW<ÕLr/. W{#29 x^vrqx^ve1e<Rp?]na'٣LOo&qcg y E?Ga+J$s v̟2$JLqW3W77CD0~ķx%>1 X(Ϲ G`j!Foprpxh82PR ^[ ~F:.f~o8uw ^u]Y O |@4dmSQ\WӣeWC|[V~[OKtMt1RDU͕lw؇zwp]Wv` 鑫K~-ְ|1t40wq>PsߜIdhE%u]\1{ΘM`OpN$LS:1ǀ5ԻBEDDDDDD nJXyO4'|Jf7ńU@ D!!~{=ɖsLBI`܂fhm,ףmV$=dc@.=siށG/BܽǷJI<\i 뷕#˜: HleF<\|Od1s9+3;-˟5ׄH,0n9o=DOH./H:ݩ۾ \dDDDDDDMEm=݌IJ] .Uր*lm.^NɊtoozQ?/OZ6'^{Å| xK,=#m[;'aK4k4jeNϷ؀tFkoNX{pd0 z`]t`ę1X LB $ KZpNy~>&"""""bԸܻ8wTȣ36Xn;g`Z/'ʎ;7}jmtxշd0O/!`//$3j^_pМ 7N@nH,0o'i  M}RY@;=[҉`Oa<1^CBk_DDDDFzod|U5i)bz_ip5RRWbT!l@R5Cf|Be:.3mG/t{߈ "gM`\X9A))SXb7t,iX;6*@+4tF#H M 21&C!O /+n}HFH@_t?""""f!S~B~[[Cn*7r`r\*f49qKE @gJqW8d(n '4*^QLWmREs C߶Tf+[uzI tUm5AZQiB 1D'YDJCc8]&{0TG$! &jI` CU\h<@{1{.J}LiR 7m >H UxWiJuyU>b.pK!/|oOׯ$@nr@I0pxx`_2 ?- x~9pT GDt'=!|/\ c&, ۟N&B} <9~Fu!y ;L`X\!-&-%b21v F.7N NU~#  V홛s0uW80-p%dC-Jtv7DDDD?=6m#AGmQ#vckyޞ[&kBdu@6?43ES&wZGJE?]yYi2=\kh5(3Tq;1cr7o_;9f~/_{Ao BA?6Bn”&HV_,\ ٯ.R:V3mt fO<}v6ʤ}g=^`Od|xS߷kg>80v(,` uh.l)cb,Cjj[Rߧi2DZ1@&Ƀ?/ HujgOc|(9hha0C#^$da#$ɟrwv__~Sz¼zuZZVwZ jP*ܓ@& wH8,StQsM?N{ 0>yAAQm=X rqQt (""""b i1\y[ U޻iA +·@W_ _)K?܇'O&hVM9̦/ a!Q ¿+,iӍؔ=d]:t3*AW1^ n_IrJ4M=ݷ=SP-#PNF *Rkgj>L Wu4K!Z?5Ci/e 0!2uPT)9-`>3^jMQi`ol_]f v%e(OH4p,DϞ?;u@-Rnfjġy&  +[}J|.Ȇs 8;S/A2|_5JGW{pPais fgggpMYs=a%G@jhm`i%cL0k؇?GaHHI=_"Q&˚ ի#$.W1`s2"""xwm7j@\\ͨ㶛5)uꎣ޵ ,aOřy,_/h]\h޴9`# M [z KuO_z˿Dܫ*kOJ(7v\e IT}aTna*baoۺHXaEzn NS&Sn4A@r8OW+&bo v, zh&T ǀa5:=SD0}b!pZpވXG:`?iYx60يKF>3ȬDP#^>@(0(RȠBFWmA|%CB6 &&UZHh " 07B L (?F3:&`f)!nE[cǀ|cw`~@DDDD͆9~ݔ^ \)\7UV?I@+3}T& ) s!N֫CњjE&n߆s?'5{Ov9(-o_HuKJGPZ)j\X_ThM<:{y a!)l?\ >WޠdܵrLuW^hzn*w}>.ϕox^V2U+3N_7]$邶_|]rSWp(?Og-?h_!\_LCV47L!~B@=ug#`BB-Ⳁ3Q6.}v)ASY2p>`ԚAPbt*U I맃Uh vڑHuڕJw#""""""<KG5$/ ?=7$L%7vD cM DDDDDDDl !5!hHDk@U@RPno/_ڵ7S_CuW_kU_ 8c@ZcA w1r}݇O%tEXtdate:create2020-12-13T14:23:47+00:00!%tEXtdate:modify1985-10-26T08:15:00+00:00"StEXtSoftwareAdobe ImageReadyqe<IENDB`wp-file-manager/css/images/ui-icons_ffffff_256x240.png000064400000014527151202472330016335 0ustar00PNG  IHDREr@gAMA a cHRMz&u0`:pQ<bKGD̿tIME(u:IDATx]m]Y~)*|&q4!KK$dk~#>uҪn?švBRi]9?7Z?XST18jڵCOi"k>8ܻ<{yg9gwfNBF]" pDu!":XM_?}M& 9CD!5N"%}cc?7i5<6 z͕!@Ǿ^kޠCf9s `at>˿!G4H 8"G$@Q`@HFxPw7K>Fe YTIuN9˷B Yj{WS'\䨛گ>*%EpU?9}@>U0_>Y DԀ"/|Ot6MJ@EꄕgΒ_^2Enϻ2KUqagkOG6[lO6Ueٻ@7yX.uYnR Twp裀}8 pDK`# pDH 8Dt@hpihtzVZx.~9[㷬̷ywuX[0N.eytiR}Xn-O b9^NmFQ>[/N:o93O- }}tT=I~%("һJ{ͥtyrW0vHx!>w>m篃g?IGG+ARԖ3Il]t rӁKgޅނr)+N"®&4E50|-M-qTK?PDfla64Җq=rd絧?,:y5,՘X.tu= חT8ʝ;{eXR;xلUFg9WHK@oB¦FW៳m-F, ~:E[6pygؑ=Cȟ\\cL/Bqxll2FׯIQ~J˛ywn)y>'(b34Dw隷 #G$@# p ϗmsِ-zA}NpAyVmWwu<;2Vj;Xe)_ ĥ%ҮHcՐ>VoSuYBAd-wiQrLe k Ehmf/ouI\#`|߶D'v@)a t50OeaT4%/k (?EL .'FvnGp=G䳉]6"@Q ~ƍm)FgVĝ10B[~4ORTq0,G0nb/ bK 8"G$@IP?V@sdk.5t]5݊ݚ9h:e+L:e8YJ : -z+4ƸϒUܐ DW)NfqJ؀憼-~ -2#P'L.(G:ő/<)~ܒ1|z(]gpY#@IYbsh+z~Z-> a:f1Wm-r3N*~ w1β2WS88 `<|}{>y3 zR.3u ~W; j8ۤ&sLqo3.";~/`1w0{-JfqU҄gB .bC8I˞0 B4>'HRmf$ޕ\/_Az˷ l{pH1נ_kY 0F0$l0a`>H*?M貣mՆnyX{b A`O<:>.~ߨՍ78!\=hLt#;Q# pDHdAp-6 GFӡEܤYa:Ia"_Q+y%GЫn`G}_BK]JaZ"M"k"V"{e l"Y=ېƙlyԨJzAk2ڵo-kƤ>'mgV0b)@"|`pK!W] &'n2-0$9Ԣy}Wn+|EKž.-;8wRaF-rNs'66pXw]a?;C~ ؋o|+X}ź]\1XL-~ m@P״9u*bg"zBD? +rX/NRUߗ%ٗL3_˳LH'igKU5"&g9ᙊPu3M;"j,k"Pa'~zv!ڠ'1tS1*n[&AP)o%!#Wy(]T')Q&r8r)^;ك ݡnϡ3mҲ]*f5kZ]NdESyߩ~0@ې\ pVKm| Ud~R#G$@#<ncnL+Fg7{ݞ1t1FvX]ƌ6g׍EՑ:C'i~Bz$}3tRK_ZB9k0H]]1G-"gK$@?+4kTI/En9Κ~?C-t xM~L67ۍ]LQ8Q$@nϑshQ^Oi7B D+|'ym, i+M#oѱ,dr{;QT>cw-\\g|mlPmʯ/I ~Pq__>}C@8r# pp|o7 [>Z^YפbSkaˇ]Qk4q8]Dk*wm49l7jy+:񕭏1Dղ%+5awU~{J/5R𵮈TZ, "O| QI_Q5}K~|2]~"Uq;G}rR~W͟ 5<skwu!>'\,>} x oͻxsum+O)Dz@)ʗ(w/)rS%99娑*bo/M@7\ M* CcLOUWm rOUU@ZWEƄn!jڡ:OoAZԦf!1b [>Z^3 !#zG$@# pD;e<dodmT1voT̡ٕ4!BJװfObMt(N@5} ĤUI+A d&TDT~ ڞCEA~ zG4H 8"G$@ۗhd4 t^ptg 2fNտ .ui-controlgroup-item { float: left; margin-left: 0; margin-right: 0; } .ui-controlgroup > .ui-controlgroup-item:focus, .ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { z-index: 9999; } .ui-controlgroup-vertical > .ui-controlgroup-item { display: block; float: none; width: 100%; margin-top: 0; margin-bottom: 0; text-align: left; } .ui-controlgroup-vertical .ui-controlgroup-item { box-sizing: border-box; } .ui-controlgroup .ui-controlgroup-label { padding: 0.4em 1em; } .ui-controlgroup .ui-controlgroup-label span { font-size: 80%; } .ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { border-left: none; } .ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { border-top: none; } .ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { border-right: none; } .ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { border-bottom: none; } /* Spinner specific style fixes */ .ui-controlgroup-vertical .ui-spinner-input { /* Support: IE8 only, Android < 4.4 only */ width: 75%; width: calc(100% - 2.4em); } .ui-controlgroup-vertical .ui-spinner .ui-spinner-up { border-top-style: solid; } .ui-checkboxradio-label .ui-icon-background { box-shadow: inset 1px 1px 1px #ccc; border-radius: 0.12em; border: none; } .ui-checkboxradio-radio-label .ui-icon-background { width: 16px; height: 16px; border-radius: 1em; overflow: visible; border: none; } .ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, .ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { background-image: none; width: 8px; height: 8px; border-width: 4px; border-style: solid; } .ui-checkboxradio-disabled { pointer-events: none; } .ui-datepicker { width: 17em; padding: 0.2em 0.2em 0; display: none; } .ui-datepicker .ui-datepicker-header { position: relative; padding: 0.2em 0; } .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position: absolute; top: 2px; width: 1.8em; height: 1.8em; } .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } .ui-datepicker .ui-datepicker-prev { left: 2px; } .ui-datepicker .ui-datepicker-next { right: 2px; } .ui-datepicker .ui-datepicker-prev-hover { left: 1px; } .ui-datepicker .ui-datepicker-next-hover { right: 1px; } .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } .ui-datepicker .ui-datepicker-title select { font-size: 1em; margin: 1px 0; } .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year { width: 45%; } .ui-datepicker table { width: 100%; font-size: 0.9em; border-collapse: collapse; margin: 0 0 0.4em; } .ui-datepicker th { padding: 0.7em 0.3em; text-align: center; font-weight: bold; border: 0; } .ui-datepicker td { border: 0; padding: 1px; } .ui-datepicker td span, .ui-datepicker td a { display: block; padding: 0.2em; text-align: right; text-decoration: none; } .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: 0.7em 0 0 0; padding: 0 0.2em; border-left: 0; border-right: 0; border-bottom: 0; } .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: 0.5em 0.2em 0.4em; cursor: pointer; padding: 0.2em 0.6em 0.3em 0.6em; width: auto; overflow: visible; } .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float: left; } /* with multiple calendars */ .ui-datepicker.ui-datepicker-multi { width: auto; } .ui-datepicker-multi .ui-datepicker-group { float: left; } .ui-datepicker-multi .ui-datepicker-group table { width: 95%; margin: 0 auto 0.4em; } .ui-datepicker-multi-2 .ui-datepicker-group { width: 50%; } .ui-datepicker-multi-3 .ui-datepicker-group { width: 33.3%; } .ui-datepicker-multi-4 .ui-datepicker-group { width: 25%; } .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width: 0; } .ui-datepicker-multi .ui-datepicker-buttonpane { clear: left; } .ui-datepicker-row-break { clear: both; width: 100%; font-size: 0; } /* RTL support */ .ui-datepicker-rtl { direction: rtl; } .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } .ui-datepicker-rtl .ui-datepicker-buttonpane { clear: right; } .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, .ui-datepicker-rtl .ui-datepicker-group { float: right; } .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width: 0; border-left-width: 1px; } /* Icons */ .ui-datepicker .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; left: 0.5em; top: 0.3em; } .ui-dialog { position: absolute; top: 0; left: 0; padding: 0.2em; outline: 0; } .ui-dialog .ui-dialog-titlebar { padding: 0.4em 1em; position: relative; } .ui-dialog .ui-dialog-title { float: left; margin: 0.1em 0; white-space: nowrap; width: 90%; overflow: hidden; text-overflow: ellipsis; } .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: 0.3em; top: 50%; width: 20px; margin: -10px 0 0 0; padding: 1px; height: 20px; } .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: 0.5em 1em; background: none; overflow: auto; } .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin-top: 0.5em; padding: 0.3em 1em 0.5em 0.4em; } .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } .ui-dialog .ui-dialog-buttonpane button { margin: 0.5em 0.4em 0.5em 0; cursor: pointer; } .ui-dialog .ui-resizable-n { height: 2px; top: 0; } .ui-dialog .ui-resizable-e { width: 2px; right: 0; } .ui-dialog .ui-resizable-s { height: 2px; bottom: 0; } .ui-dialog .ui-resizable-w { width: 2px; left: 0; } .ui-dialog .ui-resizable-se, .ui-dialog .ui-resizable-sw, .ui-dialog .ui-resizable-ne, .ui-dialog .ui-resizable-nw { width: 7px; height: 7px; } .ui-dialog .ui-resizable-se { right: 0; bottom: 0; } .ui-dialog .ui-resizable-sw { left: 0; bottom: 0; } .ui-dialog .ui-resizable-ne { right: 0; top: 0; } .ui-dialog .ui-resizable-nw { left: 0; top: 0; } .ui-draggable .ui-dialog-titlebar { cursor: move; } .ui-draggable-handle { -ms-touch-action: none; touch-action: none; } .ui-resizable { position: relative; } .ui-resizable-handle { position: absolute; font-size: 0.1px; display: block; -ms-touch-action: none; touch-action: none; } .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px; } .ui-progressbar { height: 2em; text-align: left; overflow: hidden; } .ui-progressbar .ui-progressbar-value { margin: -1px; height: 100%; } .ui-progressbar .ui-progressbar-overlay { background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); height: 100%; -ms-filter: "alpha(opacity=25)"; /* support: IE8 */ opacity: 0.25; } .ui-progressbar-indeterminate .ui-progressbar-value { background-image: none; } .ui-selectable { -ms-touch-action: none; touch-action: none; } .ui-selectable-helper { position: absolute; z-index: 100; border: 1px dotted black; } .ui-selectmenu-menu { padding: 0; margin: 0; position: absolute; top: 0; left: 0; display: none; } .ui-selectmenu-menu .ui-menu { overflow: auto; overflow-x: hidden; padding-bottom: 1px; } .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { font-size: 1em; font-weight: bold; line-height: 1.5; padding: 2px 0.4em; margin: 0.5em 0 0 0; height: auto; border: 0; } .ui-selectmenu-open { display: block; } .ui-selectmenu-text { display: block; margin-right: 20px; overflow: hidden; text-overflow: ellipsis; } .ui-selectmenu-button.ui-button { text-align: left; white-space: nowrap; width: 14em; } .ui-selectmenu-icon.ui-icon { float: right; margin-top: 0; } .ui-slider { position: relative; text-align: left; } .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: pointer; -ms-touch-action: none; touch-action: none; } .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: 0.7em; display: block; border: 0; background-position: 0 0; } /* support: IE8 - See #6727 */ .ui-slider.ui-state-disabled .ui-slider-handle, .ui-slider.ui-state-disabled .ui-slider-range { filter: inherit; } .ui-slider-horizontal { height: 0.8em; } .ui-slider-horizontal .ui-slider-handle { top: -0.3em; margin-left: -0.6em; } .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } .ui-slider-horizontal .ui-slider-range-min { left: 0; } .ui-slider-horizontal .ui-slider-range-max { right: 0; } .ui-slider-vertical { width: 0.8em; height: 100px; } .ui-slider-vertical .ui-slider-handle { left: -0.3em; margin-left: 0; margin-bottom: -0.6em; } .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } .ui-slider-vertical .ui-slider-range-min { bottom: 0; } .ui-slider-vertical .ui-slider-range-max { top: 0; } .ui-sortable-handle { -ms-touch-action: none; touch-action: none; } .ui-spinner { position: relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; } .ui-spinner-input { border: none; background: none; color: inherit; padding: 0.222em 0; margin: 0.2em 0; vertical-align: middle; margin-left: 0.4em; margin-right: 2em; } .ui-spinner-button { width: 1.6em; height: 50%; font-size: 0.5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; } /* more specificity required here to override default borders */ .ui-spinner a.ui-spinner-button { border-top-style: none; border-bottom-style: none; border-right-style: none; } .ui-spinner-up { top: 0; } .ui-spinner-down { bottom: 0; } .ui-tabs { position: relative; /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ padding: 0.2em; } .ui-tabs .ui-tabs-nav { margin: 0; padding: 0.2em 0.2em 0; } .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px 0.2em 0 0; border-bottom-width: 0; padding: 0; white-space: nowrap; } .ui-tabs .ui-tabs-nav .ui-tabs-anchor { float: left; padding: 0.5em 1em; text-decoration: none; } .ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; } .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { cursor: text; } .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { cursor: pointer; } .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } .ui-tooltip { padding: 8px; position: absolute; z-index: 9999; max-width: 300px; } body .ui-tooltip { border-width: 2px; } /* Component containers ----------------------------------*/ .ui-widget { font-family: Arial, Helvetica, sans-serif; font-size: 1em; } .ui-widget .ui-widget { font-size: 1em; } .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial, Helvetica, sans-serif; font-size: 1em; } .ui-widget.ui-widget-content { border: 1px solid #c5c5c5; } .ui-widget-content { border: 1px solid #dddddd; background: #ffffff; color: #333333; } .ui-widget-content a { color: #333333; } .ui-widget-header { border: 1px solid #dddddd; background: #e9e9e9; color: #333333; font-weight: bold; } .ui-widget-header a { color: #333333; } /* Interaction states ----------------------------------*/ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, /* We use html here because we need a greater specificity to make sure disabled works properly when clicked or hovered */ html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active { border: 1px solid #c5c5c5; background: #f6f6f6; font-weight: normal; color: #454545; } .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited, a.ui-button, a:link.ui-button, a:visited.ui-button, .ui-button { color: #454545; text-decoration: none; } .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus, .ui-button:hover, .ui-button:focus { border: 1px solid #cccccc; background: #ededed; font-weight: normal; color: #2b2b2b; } .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited, .ui-state-focus a, .ui-state-focus a:hover, .ui-state-focus a:link, .ui-state-focus a:visited, a.ui-button:hover, a.ui-button:focus { color: #2b2b2b; text-decoration: none; } .ui-visual-focus { box-shadow: 0 0 3px 1px rgb(94, 158, 214); } .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { border: 1px solid #003eff; background: #007fff; font-weight: normal; color: #ffffff; } .ui-icon-background, .ui-state-active .ui-icon-background { border: #003eff; background-color: #ffffff; } .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } /* Interaction Cues ----------------------------------*/ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #dad55e; background: #fffa90; color: #777620; } .ui-state-checked { border: 1px solid #dad55e; background: #fffa90; } .ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { color: #777620; } .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #f1a899; background: #fddfdf; color: #5f3f3f; } .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #5f3f3f; } .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #5f3f3f; } .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: 0.7; -ms-filter: "alpha(opacity=70)"; /* support: IE8 */ font-weight: normal; } .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: 0.35; -ms-filter: "alpha(opacity=35)"; /* support: IE8 */ background-image: none; } .ui-state-disabled .ui-icon { -ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */ } /* Icons ----------------------------------*/ /* states and images */ .ui-icon { width: 16px; height: 16px; } .ui-icon, .ui-widget-content .ui-icon { background-image: url("images/ui-icons_444444_256x240.png"); } .ui-widget-header .ui-icon { background-image: url("images/ui-icons_444444_256x240.png"); } .ui-state-hover .ui-icon, .ui-state-focus .ui-icon, .ui-button:hover .ui-icon, .ui-button:focus .ui-icon { background-image: url("images/ui-icons_555555_256x240.png"); } .ui-state-active .ui-icon, .ui-button:active .ui-icon { background-image: url("images/ui-icons_ffffff_256x240.png"); } .ui-state-highlight .ui-icon, .ui-button .ui-state-highlight.ui-icon { background-image: url("images/ui-icons_777620_256x240.png"); } .ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background-image: url("images/ui-icons_cc0000_256x240.png"); } .ui-button .ui-icon { background-image: url("images/ui-icons_777777_256x240.png"); } /* positioning */ /* Three classes needed to override `.ui-button:hover .ui-icon` */ .ui-icon-blank.ui-icon-blank.ui-icon-blank { background-image: none; } .ui-icon-caret-1-n { background-position: 0 0; } .ui-icon-caret-1-ne { background-position: -16px 0; } .ui-icon-caret-1-e { background-position: -32px 0; } .ui-icon-caret-1-se { background-position: -48px 0; } .ui-icon-caret-1-s { background-position: -65px 0; } .ui-icon-caret-1-sw { background-position: -80px 0; } .ui-icon-caret-1-w { background-position: -96px 0; } .ui-icon-caret-1-nw { background-position: -112px 0; } .ui-icon-caret-2-n-s { background-position: -128px 0; } .ui-icon-caret-2-e-w { background-position: -144px 0; } .ui-icon-triangle-1-n { background-position: 0 -16px; } .ui-icon-triangle-1-ne { background-position: -16px -16px; } .ui-icon-triangle-1-e { background-position: -32px -16px; } .ui-icon-triangle-1-se { background-position: -48px -16px; } .ui-icon-triangle-1-s { background-position: -65px -16px; } .ui-icon-triangle-1-sw { background-position: -80px -16px; } .ui-icon-triangle-1-w { background-position: -96px -16px; } .ui-icon-triangle-1-nw { background-position: -112px -16px; } .ui-icon-triangle-2-n-s { background-position: -128px -16px; } .ui-icon-triangle-2-e-w { background-position: -144px -16px; } .ui-icon-arrow-1-n { background-position: 0 -32px; } .ui-icon-arrow-1-ne { background-position: -16px -32px; } .ui-icon-arrow-1-e { background-position: -32px -32px; } .ui-icon-arrow-1-se { background-position: -48px -32px; } .ui-icon-arrow-1-s { background-position: -65px -32px; } .ui-icon-arrow-1-sw { background-position: -80px -32px; } .ui-icon-arrow-1-w { background-position: -96px -32px; } .ui-icon-arrow-1-nw { background-position: -112px -32px; } .ui-icon-arrow-2-n-s { background-position: -128px -32px; } .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } .ui-icon-arrow-2-e-w { background-position: -160px -32px; } .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } .ui-icon-arrowstop-1-n { background-position: -192px -32px; } .ui-icon-arrowstop-1-e { background-position: -208px -32px; } .ui-icon-arrowstop-1-s { background-position: -224px -32px; } .ui-icon-arrowstop-1-w { background-position: -240px -32px; } .ui-icon-arrowthick-1-n { background-position: 1px -48px; } .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } .ui-icon-arrowthick-1-e { background-position: -32px -48px; } .ui-icon-arrowthick-1-se { background-position: -48px -48px; } .ui-icon-arrowthick-1-s { background-position: -64px -48px; } .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } .ui-icon-arrowthick-1-w { background-position: -96px -48px; } .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } .ui-icon-arrow-4 { background-position: 0 -80px; } .ui-icon-arrow-4-diag { background-position: -16px -80px; } .ui-icon-extlink { background-position: -32px -80px; } .ui-icon-newwin { background-position: -48px -80px; } .ui-icon-refresh { background-position: -64px -80px; } .ui-icon-shuffle { background-position: -80px -80px; } .ui-icon-transfer-e-w { background-position: -96px -80px; } .ui-icon-transferthick-e-w { background-position: -112px -80px; } .ui-icon-folder-collapsed { background-position: 0 -96px; } .ui-icon-folder-open { background-position: -16px -96px; } .ui-icon-document { background-position: -32px -96px; } .ui-icon-document-b { background-position: -48px -96px; } .ui-icon-note { background-position: -64px -96px; } .ui-icon-mail-closed { background-position: -80px -96px; } .ui-icon-mail-open { background-position: -96px -96px; } .ui-icon-suitcase { background-position: -112px -96px; } .ui-icon-comment { background-position: -128px -96px; } .ui-icon-person { background-position: -144px -96px; } .ui-icon-print { background-position: -160px -96px; } .ui-icon-trash { background-position: -176px -96px; } .ui-icon-locked { background-position: -192px -96px; } .ui-icon-unlocked { background-position: -208px -96px; } .ui-icon-bookmark { background-position: -224px -96px; } .ui-icon-tag { background-position: -240px -96px; } .ui-icon-home { background-position: 0 -112px; } .ui-icon-flag { background-position: -16px -112px; } .ui-icon-calendar { background-position: -32px -112px; } .ui-icon-cart { background-position: -48px -112px; } .ui-icon-pencil { background-position: -64px -112px; } .ui-icon-clock { background-position: -80px -112px; } .ui-icon-disk { background-position: -96px -112px; } .ui-icon-calculator { background-position: -112px -112px; } .ui-icon-zoomin { background-position: -128px -112px; } .ui-icon-zoomout { background-position: -144px -112px; } .ui-icon-search { background-position: -160px -112px; } .ui-icon-wrench { background-position: -176px -112px; } .ui-icon-gear { background-position: -192px -112px; } .ui-icon-heart { background-position: -208px -112px; } .ui-icon-star { background-position: -224px -112px; } .ui-icon-link { background-position: -240px -112px; } .ui-icon-cancel { background-position: 0 -128px; } .ui-icon-plus { background-position: -16px -128px; } .ui-icon-plusthick { background-position: -32px -128px; } .ui-icon-minus { background-position: -48px -128px; } .ui-icon-minusthick { background-position: -64px -128px; } .ui-icon-close { background-position: -80px -128px; } .ui-icon-closethick { background-position: -96px -128px; } .ui-icon-key { background-position: -112px -128px; } .ui-icon-lightbulb { background-position: -128px -128px; } .ui-icon-scissors { background-position: -144px -128px; } .ui-icon-clipboard { background-position: -160px -128px; } .ui-icon-copy { background-position: -176px -128px; } .ui-icon-contact { background-position: -192px -128px; } .ui-icon-image { background-position: -208px -128px; } .ui-icon-video { background-position: -224px -128px; } .ui-icon-script { background-position: -240px -128px; } .ui-icon-alert { background-position: 0 -144px; } .ui-icon-info { background-position: -16px -144px; } .ui-icon-notice { background-position: -32px -144px; } .ui-icon-help { background-position: -48px -144px; } .ui-icon-check { background-position: -64px -144px; } .ui-icon-bullet { background-position: -80px -144px; } .ui-icon-radio-on { background-position: -96px -144px; } .ui-icon-radio-off { background-position: -112px -144px; } .ui-icon-pin-w { background-position: -128px -144px; } .ui-icon-pin-s { background-position: -144px -144px; } .ui-icon-play { background-position: 0 -160px; } .ui-icon-pause { background-position: -16px -160px; } .ui-icon-seek-next { background-position: -32px -160px; } .ui-icon-seek-prev { background-position: -48px -160px; } .ui-icon-seek-end { background-position: -64px -160px; } .ui-icon-seek-start { background-position: -80px -160px; } /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ .ui-icon-seek-first { background-position: -80px -160px; } .ui-icon-stop { background-position: -96px -160px; } .ui-icon-eject { background-position: -112px -160px; } .ui-icon-volume-off { background-position: -128px -160px; } .ui-icon-volume-on { background-position: -144px -160px; } .ui-icon-power { background-position: 0 -176px; } .ui-icon-signal-diag { background-position: -16px -176px; } .ui-icon-signal { background-position: -32px -176px; } .ui-icon-battery-0 { background-position: -48px -176px; } .ui-icon-battery-1 { background-position: -64px -176px; } .ui-icon-battery-2 { background-position: -80px -176px; } .ui-icon-battery-3 { background-position: -96px -176px; } .ui-icon-circle-plus { background-position: 0 -192px; } .ui-icon-circle-minus { background-position: -16px -192px; } .ui-icon-circle-close { background-position: -32px -192px; } .ui-icon-circle-triangle-e { background-position: -48px -192px; } .ui-icon-circle-triangle-s { background-position: -64px -192px; } .ui-icon-circle-triangle-w { background-position: -80px -192px; } .ui-icon-circle-triangle-n { background-position: -96px -192px; } .ui-icon-circle-arrow-e { background-position: -112px -192px; } .ui-icon-circle-arrow-s { background-position: -128px -192px; } .ui-icon-circle-arrow-w { background-position: -144px -192px; } .ui-icon-circle-arrow-n { background-position: -160px -192px; } .ui-icon-circle-zoomin { background-position: -176px -192px; } .ui-icon-circle-zoomout { background-position: -192px -192px; } .ui-icon-circle-check { background-position: -208px -192px; } .ui-icon-circlesmall-plus { background-position: 0 -208px; } .ui-icon-circlesmall-minus { background-position: -16px -208px; } .ui-icon-circlesmall-close { background-position: -32px -208px; } .ui-icon-squaresmall-plus { background-position: -48px -208px; } .ui-icon-squaresmall-minus { background-position: -64px -208px; } .ui-icon-squaresmall-close { background-position: -80px -208px; } .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } .ui-icon-grip-solid-vertical { background-position: -32px -224px; } .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } .ui-icon-grip-diagonal-se { background-position: -80px -224px; } /* Misc visuals ----------------------------------*/ /* Corner radius */ .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { border-top-left-radius: 3px; } .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { border-top-right-radius: 3px; } .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { border-bottom-left-radius: 3px; } .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { border-bottom-right-radius: 3px; } /* Overlays */ .ui-widget-overlay { background: #aaaaaa; opacity: 0.003; -ms-filter: Alpha(Opacity=.3); /* support: IE8 */ } .ui-widget-shadow { -webkit-box-shadow: 0px 0px 5px #666666; box-shadow: 0px 0px 5px #666666; } wp-file-manager/images/btn-arrow-icon.png000064400000003164151202472330014336 0ustar00PNG  IHDR|futEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp GIDATxb?>dd'%'%-~zvҽCwëd86T7'0׳|rҺy[gh!˃ qݧUvȂWĥd\;O_ulRf(`2EROb ]Prsp` ~ҳU;p|DdsVb?6V6t|h87bCAB@eC{DPrTl @2l8ry"0^&`:?~􍙸Ԁːڳ ttx2xqsd.X×oWMKo'2d<&u.uѼ8b|7,p~9Xs`Zqf=b Rҏ0N|i^a:z>~\]i=J7H^b% >H$RROt *(~*r q< d$ԴI "¼\"o?{&=  Ȇ ?Z]IENDB`wp-file-manager/images/loader-fm-console.gif000064400000121205151202472330014761 0ustar00GIF89aPP  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111|XY萓! NETSCAPE2.0! ,PPC H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'JN ɠ!uTUV:`QI%+mڬlv{,As@zM_u^y f6`trwx!h_P5cU^8_x "H"&^H`dΘ Y!j!:"*"n"2 Ic6ej)P]y#9$蠄j衈&袌6裐F*餔Vj饘f i@! ,PP  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGG]UUuv㦩 H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ't܂ Π{H"ugOP1XիVkY:ThтG&eZiTS VzUkE]}%V=͞풖ZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDMּ3Z֭EG$黩U{^kؖa|–+.m۫ն|>>???@@@AAABBBCCCDDDEEET[Wxܿ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'^ ˠhH"UfP3GիVX:ThтG&eZiTS VzUkE]S}%Vl4͞ZZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM܈3Z֭EG$黩U{nkؖa|–+.m۫ն|kؖ`|–+.m۫ն|>>???@@@QVSx~ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'JT `2kH"MfݼP3XNJիVX:ThтG&eZiTS VzUkE]q}%V5͞ZVRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM̈3Z֭EG$黩U{fkؖa|–+.m۫ն|>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMVXWx|л; H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'u fH"f֭P2HhիV Y:ThтG&eZiTS VzUkE]}%Vl3͞ZcRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM܉3Z֭EG$黩U{kؖ;a|–+.m۫ն|>>QURvz H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'Ev &UH"d۱Pr3իVX:ThтG&eZiTS VzUkE]|%V*͞=ZURub{lO$<԰@J dձ@X%KըݥMJ 8ָDM̎3Z֭EG$黩U{fkؖa|–+.m۫ն|>>???@@@AAABBBukbϲϰյյյյյյյյյյյյյֶֶֶֶֶֶֶֶֶֶֶֶֶֶֶֶֶعھ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'JH )H"cתP2ΜիVY:ThтG&eZiTS VzUkE] }%V͞]ZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM3Z֭EG$黩U{kؖa|–+.m۫ն|>>JGD{iZl泉”×ƛȟʢˤ˥˥˥˥˥˥˥˥˦˦˦˦˦˦˦˦ʦɨǪío H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'w )H"c0P2lիVY:ThтG&eZiTS VzUkE]}%V͞5ZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM|3Z֭EG$黩U{kؖoa|–+.m۫ն|kؖa|–+.m۫ն|>>???@@@AAABBBCCCdNOnr•••••••••••ÕÕÕÕÕÕÕÕĘɡͧͨͨͨͨͨͨͨͨΩΩΩΩΩΪЬӰڻ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'ĉ z`&CH"d P1+իVyY:ThтG&eZiTS VzUkE]}%V!͞ZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM<3Z֭EG$黩U{kؖa|–+.m۫ն|>>???@@@AAAbLMjm{~~~~~~~~~~~~~ęřřřřřŚŚŚŚŚƚƚƚƚƚƚƚƚȝ̥ϪϫϫϫϫϫϫϫЬЬЬѭԲ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'`ǂ BH"dP1h իVmY:ThтG&eZiTS VzUkE]}%Vl!͞ZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM,3Z֭EG$黩U{kؖa|–+.m۫ն|>>???VGG[]{||||||||||||||}}}}}}}}}}}}}}ɡɡɡɡɡɡɡɡɡɡɡɡɡʢʢʢʢʢʢˣͨϭѰҲҲҲҲҲҲҲҲӳӳӳӳյۼ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'`ʂ ̠%BH"dNP1hիVmY:ThтG&eZiTS VzUkE]}%V,!͞ZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM\3Z֭EG$黩U{.kؖa|–+.m۫ն|H"dЌP1 իV}Y:ThтG&eZiTS VzUkE]}%V,͞UZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM<3Z֭EG$黩U{kؖa|–+.m۫ն|1(իVY:ThтG&eZiTS VzUkE]}%V͞ZRub{lO$<԰@J dձ@X%KըݥMJ 8ָDM\3Z֭EG$黩U{.kؖa|–+.m۫ն|uTUV:`QI%+mڬlv,As@zM_u^y f6`trwx!h_P5cU^8_x "H"&^H`dΘ Y!j!:"*"n"2 Ic6ej)P]y#9$蠄j衈&袌6裐F*餔Vj饘f i@;wp-file-manager/images/loading.gif000064400000264652151202472330013106 0ustar00GIF89a]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^aaacccfffiiikkknnnqqqtttvvvxxxyyy{{{}||~}~}~{~x~r~`~`~`~`~`~`~`~`~`~`~abccdfgjjjjijjjjjjjjkkou}ɯ! NETSCAPE2.0! , H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsdIңDOӫ_Ͼ'z$&b̔.C(h& 6z%)v 8 %!,"!`)&h8ȡ &d ":)D"bLh@L6Ȃ $X (\v`)dihejb$0 62%$#p[6 -BqSlxƿ.AǴ `+S $Mգo/?.A- kE B?_ C|YZEG$$7 h@OA1 TA r{ j $J\D&1 $D-t r;H4 K@HH!°;" (O@4h䀊pE-QĀ4ஈ@%;,ИF5sޚxf@qj~# Y'ȯ!! "*!{d"IR^ Aj$ UEDJDE IRFΔC׾W H_DZ̖et9$$ D `јD䔉7fĀC (J&Mnr͛BA(1 DHĜBA΂snΨDO=&.?F+VkZkM5v+;M4覛4@MѮGQ%4=LQÿ,q' 7 bWlg ܆'MCߔJ |v4%4O;lC<,1@-4l4ȶ@Ӑn0B8X`p\wC-vEm',.PA0Cxۼ|0c.8em-& #n zP\.;onΝ;ǡn(|d (DO7_3_ܻF P%vj;A{?O_\="42EIBd>E}25 /*(ug/ 1O @,¸i"!9A"0! 0db@zH4TDa4nC鐄iAA AAB$*zLl؞HB?E%!D][ط0t;Nv FrsxG@H/)>Aq%R\cd#G! У !P$"Ay;QrcdrC"Pr>Yf퓴-uKbp w Щ"rEƔc27gebAFT0@;H>7dna=3$rZD(1 [ Ě;1yA81 KH?*PѠN,x\ YĀI^mUX<1? f!Ks&JSbA* FD:s7rct~qB"X5'Ԧ:g>5(P WĂ@b@$I̮lN E![# i8@A ]BUMk\f`j1Ơ1Ǻcxt@x(鶄P]|QO*!Vy6 H*)dE*9Bt#򅭬lo!8q1xCF*JȌfG!_^} OԶ'TAI+ӡ'xP+6%V=!jw]geUb>U߅@ydGQ@UBf@"0`E S$P3 H#مDnSQ [mj 74mW9%H:\5 /5y G6hL#vI0tU03ϹΉ2$޹Ї"<'P8їtɨ'DЛNDCц.A{=p.m<E&pLbxٱOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;Џ! ,[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^aaabbbeeehhhkkkmmmooosssuuuyyy~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`acceedcca~`~`kjmry|wjjjjjjjjjjkmnopqqqqru涅ѹ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs 'Oӫ_Ͼ0VaٔfD(h& 6jD,/Jv 8`JS,,"Ȣ.h8!&D :)D@LX@L64Ă Ѳ˖\v`)dih&BCMn`--Fl`ѣmZ06a3^IC5UÁ fP q`PT͜vpdqpP`MMD(62̴VkfJͷ+k3 7eBl7"D7 ys $,2 %' 7;lWlgk 2 .2ͩgGSCC@H4L9O@  0 <R`* $6Wm58:,`MtEGkBݼK.- & $\mwYs {߀W<6E?QA+`B gtMwW~3ߘw=8 tB: -}@- 13w힃 ( d$ u&z<{79g Ph7h5z/?OO T z2EXڔ_>T=Q:Hd 8J@A?/ qg@ôJ@FHH3 QA b0`:H=@EAa$-D_0p4]u`(ri€6eхD<$N{ATXAz H?ؼ-rl^]Jf F?1yCd#Ft:H,d&BdcAG@ y,I' $Cf1 %yIMv쐄AB% E$TKPY9Uk '9 @>2\+aw hI3ahBl, Ƃ,@HPr4'ЙNlQ:h3@'>O&j\HE'л {(DYĢhDzGA*@ BzF a@48c*SnMĩ f ( ymFeM(Qݍ =#\"dW%Lt*5nq HbZeUn]%\ ҽ."<$ ӽk[4Vlñ[QJM eyc!1A5C> \ o@"PasrqB b/AGG/# ؖk蕨>%eD$ Di3 Hᝠc)oM6xQ@ x0BV2_4`+ln@PO 3΂3>='@.kt|D4>!3X:UaXpuHVG[c-tָ0@wˑ+@`I "hTڭYWh{ʔ X$UgdE6SR'hW_#& KIJWҚ;WSaHU7~ꤎ{ 0L~AcD AgB?0WmY:89>`c#C:ЁP_@sQ Zb EO|{`OW"RǎpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽw~o! ,\\[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^```bbbcccdddeeefffhhhkkknnnppprrrssstttvvvwwwxxxzyy|{{}|}{}w~o}`~`~`~`~`~`~`~`~`~`~`~`~`~`behly黕ŕƕƕƔƔƔŔē侍{tjjjjjjjjjjjjjjjjjjjjjjjjtϸx˸wʸwȸxƹx H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs%KJOӫ_ϾW2J-bߔz%ꃀ(h& 6 ,U0v 8 sO2,02H-'䋆1 B` 93szC|9s̚(rQ9A^8'/~͗6HB`) 8|/o~'w 4@@H-1/39Gi)\Li@ *hav;H)T@HNAN- 9dbC^1$< mA"((/S[5,:$z=41kkdcJd€!  @ Rhn+ = "I O$P"]DbaΔ#*yfIU,k AVED'qY<]Rv07 ɋQ`wb03Ϭ\/y>VBO1 @(7YpJl4aT HĀt]̓>i~ %$B\=2bDHD4ш1@fF!Q{O1JAҸԥ G)KP@̃tr)Pi~Κz(D)!PT]J|Nm:"?aP-6s4p@,H$zrL 0"[psb L% D r !e2˺v-$D;T@-Aղ]qN@6N;۬/ݘTU@H tڃй.ŤJ7zV  ,r & %aJKbQA‪K[_|6_{WC4žR"#! V8f `ĈU~fOW P-2'8)劃@'dZF~(x;4"Q>0 E|{2YAT#5;na+^ፅ#zFjO,odG,'J)GΑ_JAAӮ22F 钅V4ZNVխWfMZ+"* mYzN az$Rb[؊@rHnFU:I,M6c )J-oB6rJi@[sa.P }p48AX;9թ D`WRF Po#"OʏĂ 5^g0&ŨiC(M!THO:T a'ۀ%\ŷa"(xChO{*QT:vNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwOOy! ,YVT]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^___aaabbbccceeehhhjjjmmmooorrrtttxxx{{{ŽÎÎÎ}؝vtrqpponjha~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`afjjjjjjjjjjjjjjjjjjjjjjjjqxzz}ﺐ彚ۿ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs=0Oӫ_ϾxB%g锦ӥ(h& 6.2Rv 8 S0.#,"$2h8 T :)DPL8@L6Ă аD̖\v`)dih&t3|`.S"{{}o}_ДZQB/~W:ݏ{Vx&% UWzBBa&0~ d@ 9HPg BAPq#a Sg#| B !Ϙ! kHj:O!PER0 !$ J|u'6N;bց a!qM4#ƬQ;.BzA~%1tec?BoCx1İb|")Q~,BBB0 E}KfJQlOɳ?@P" tl#my\61$QA" DP23qd.1_Z !"4M!Pf- p&4%"-A"1P)Oz D8y1_  $"i (AG2DHD$1@woqM]_ r9@#aqxU 3jq|($LSS`P|L@EJq+NABI() 8 *wH㔰cTr59'6QM38fpXN G dp%W>$9&H9gNs8ᅪkC 3@h2^ޓsbGG؂D9G3|)8< N=4ppf`;pNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwO ! ,A-%^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^```aaacccdddfffgggjjjlllnnnqqqrrrtttuuuvvvxxxyyy{{z|||}||}|||{|{}m}h}e}b}`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`diijjjjjjjjv~||黂俈ďÏľ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsKE T&9yOӫ_ϾT*`│+eIĀ(h& 6`I).v 8 )&,"'.-h8a $ :)D!Lp@L6"tɂ"a }\v`)dih9&wdbI ,KԈ l晴 J`&&K&It` x[7(Y`24ʁ 0qHJIh: rHI` G' MHH DDM3&6.K5Vkfj 2+k@$ pGQ%4/Tþ,W' 7 oWlglqǞMI` }3$pB0 l5K<z]9h%.*Ur\k%B'YEbA0:Wծ+fjq Q"*rհ*G:Mar@C$JరfU CPSe9v @mjÇج)g$;$Jd+Mklm _kR9P<گ΅.9FDREr "dztnf{j F$PR#!!3!xw+^h]xGB*:Nzzoٽ<`ނ@)mDz7=©0f1J Q+kȸ|yK__wc.(X@([B7<Ŕt1E8 `7!H?J9s4эELd9g)ʱu@IHM5swb}STy!%J;B^טy (2$ݰcEհխZֵֹvksy!* nmή $@:X$"PF$2+uLM)6 FD C@B^"{N씘TR;&7Z[: ^X(O9 嘤*[iwX'yN %J7Fa"@Ft&{`#L>(8vpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽw}! ,\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^aaaccceeegggiiilllnnnrrruuuwww{{{͐d~`~`~`~`~`~`~`~`~`~`chuxxxxxwupljjjjjjjjjjjjrv}~}|zxtsÎőƓƓƒœŕÚ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs JՓ.Oӫ_Ͼx-aʃ$(h& 6j,/Qv 8 QS,,"Ģ/h8!&D :)D@LT@L6bĂDٲ˖\v`)dih&t4``.S< 8$<+Oh/O 0)b4Ao4dhR+.qop+%B-XA.##'J0A=!A T1$,>6F+NO?fvz{L2kK2@ϝzGP 40@1Ŀ1Fl' +G,Wl[<"w q) ӎMI` ,p8sg@D-)4Pt ,*6W=XgsAwC-ئ(P: Giǁ U|xm0_wa-xѦP<)FxoVmy|yׁ9ȟ$1hFB$Ayw_.;ϛ縇0 5>bFH访^7Wy+zzZ8 Xn<ɇpk 1B ˗O' Ui,P ۟?0+9׾4" BO`kwA Nzq€:PaH A #pk vDT1 $d;agC MC[-"!2(,vS]5,fh8䂉zy04rkd=;$  cG yn$fx ŀ8TH򌕤%-y"!!"*-!;Ry@Rh6TEAuG^, &g HQ`wa0_t| ͋eRA Bd JB|]o,9N$ bD`0 W $ =qO}N\? Š@"1Pz*t kCQM P $B= L(H&ґB* FD7e:St8E, "CEA" 2ը6mcIfȂ`@_"m\W=QTi> mC' "ĔDkZUHHp@o--Wu[%NzCt+A.l&yHV"@RFI굱-hX, @SHJ|^c fAfdЉCu9 gXׅ=]@d/@0tZ7"#Av0 X EH+JI  =" w?> 7uѧdt@)C Co <[o@"`Y!x&x6"# Fﵸ/d= R@ HT%Dr;L,!  qʊq@AbaB)lB. /v ELYd9!q|7Ԟlf= D>~n Ҏ6bȾ%E +t"LAclP-Pn;Ҏ!n AQZַVv^z\ ed@XGHfqU<_l?"-bE t#SSO|L[EJ|q+NAֳ f' T C" wȀJV+[ϸ&U> pI(ON+̅ 0w" 'p5χNty=F];=@́BV@O:-@V(-\ ''>hOgNH+lcxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;7! ,]]]]]]]]]]]]]]]]]]^^^aaaccceeejggthfrc|`}`}`}`}_}`~`~`~`~`~``ip{}~~채溈侉俈{rjjjjjjjjjjl~~~xxxvvvxyóŲǵȺʼͻϼѾ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs5Q ,`Oӫ_Ͼc h(YgA(h& 6.G& +v 8`S&k,"kx*h8aD:)DbAL@L6ǂ hG"}rʖ\v`)dih&LH"~lԋ .(f(`Ċbm$ /"IG-ǁ & q$PT˜qdq *LQCȢ.=F+VkZk:v+[N.覫; D8|LQLCŸI"s,B' 7 Wlg , I,{*_ ^P/A8 <-A{LHl- <`"R`,K%8g}>w5@-B$[B+* $ %yh\MSl6ڈ|IBil P/y߀w޵.቗ B速hx( ιC sLzǢQ&P-׾yEo=ȑZ)B4޷GSĿ_*kLQ(։1S8G}ԋ_$dJ E%  X X"w \`|p ?P"oD;PH^A`&5TDEB P}anCjy,G h ExD%QcbG։04uIJgE0մe/Ą\Ayi[,r+jG"C%R 1!hrú\[67q=_tA( E!]vWE.ֿVEB(]ܞVD0)>" B ) ׿'(y+2 !P*="!&'ۻ2RG2Š\W"PR>B8b.?"FQىx$6 *!eFProc%d06dP+NUVdW,A214Ƿkf‹31i 0+dDlG: 2f6)hnH}i ׿7uV'nQBcG+"jelEbj5_x9jxHva1UtDU~kgddmM;|6*pթD0n6DtxeԢB!ؼa|`pJV${ Ԧ7ũB^Y :0y V<[8y`|":[Wҗ:ӧNa= /"W/G"Ambwp;|ÈɻOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;M@! ,]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^______``````aaabbbcccdddfffggghhhjjjlllnnnrqqusrvssztrtqumxi|c}`}`}`}`}`}`~`~`~`~`~`~`~`~`~`~`~`~`~`~`gjjjjjjjjjnw}zxz}㘀ۘə~~~~~~~~~ŒƖƘŜ¾ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs&IOӫ_ϾKtk?y攚U酀(h& 6` /U >v 8!/4,"4>h8!&$:)DFL@L6 Ąɂ/@r'ϖ\v`)dih&%`&.S2lO5U&2$x9+h= =)邂!do`d(hR.VroPr.%-C?,>##'3J<B:!";$6;0D+Vkf{1t+;.;覫H9w h9UHP5,L' 7;܅Wlgk< * ,Ȳ4J`#|vI4t.jlG<`~ٱ(<+jF6BԜ{snϠB/b;Ϟy7/(d VTͰ,B+<ΗѧO;HC?& M DǾPҀVGN ;GY} xYЯ 0A,ҫq"!`+hAa0 V=hb@5<D|b,la^p"RQ"P 2 Q#bwD$pAB x1G>,nN[[X &B!w[cƾ1Lg (ѐH>DCl,dAE#ҋ ! 5yCrrl$]Bb0 _HTzBJ[s+;6GE" pCUD( Ix%06L3t 8P@;Hy5iNSg¬bi60DrZD*1O ,9Nub^B<1KHB.ϬӐ";ʃ2@8耢dɆ:]gD7Q ԢjD.Q{zfiD:R+'5AdЈ4@48_:ta4MgNP@3̃z;j0krĀGH %VU%5^-3=~**0h u%W͵\MdICӂ@4T0 _ Xu w@.Ă>dC;ڣ=,2Urk2Ե>wZn ͂P#uRDẽ20[6.@H D иǍv_ݣ! , #!nz՛\N-HՊ5@],; t ~al@a5@݇{}8%{J [b(f[p,‹\/#Pܖ5DrK (/bE> L-Ð6H:5nd#BM6m/檐q,!3y _x9!%==[!II;Z\ơGti Yn^2MlaڱCU #$s. 2[^ V3H.J Q52K0wRm|܊Sm̱ITN;{ =M=nN 9A%+a>kʸ7{\Mmz#Ę GT%ըV+H1\NI?fn\DMx1AEybOPn%påu@QQO|p$4 ]bǎOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;Џo! ,***]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^___aaabbbccceeefffhhhjjjlllooorrrtttuuuwwwyyy|||ӎu~`~`~`~`~`~`~`~``htvxwvojjjjjjjjn{齀羃㾃޾ξÕ¿ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNse4Oӫ_Ͼ(%Sʊ$%(h& 6 E$'Xv 8 X OHR,02h$'1#.ي/~2"P'tV ^+Npn;ѣN馗$R*|.ġnǥ IA邬+?{ӷpǟqڛ,}ӃGB4HJ@0BV@"[%yD+@V8:>~P#]KȽL@&)t,pCЁADAEABL$*1M躃?jEX0 !d`]0oC =`"Bh18nntx6L3fvz 4k覫 DP |N$.C *n,ls 7G,_gwWA 1*ڑ5ȁ49[ @se <)R ,M+6Wmu @],䍼‘lB"tWxp`7bmte7ld $5-ywm|ׁ >3h(dܓ~ps.dҐQ,P2nˮ<ę<ǝ^FB,{LJWG/)+.L-扐7ɗO~;nGj$eUE$% x T۟?0 XSbZE ~xt+ bv b" 0Nt 5CE "Š !X>!oE\-2TH1|+bެxEeqlc(A'KLdC6PxFɥQ[ccm'B}!]hEG@fM 6hEI&394Cr QJR (q)TΎ0te! x UYŀ\vmRl!0)! C*$ xfzMrxQT_sr,'IDu e)$r">vN~jlDH+ JEBυ͡Xz[Ȏ!ŀy{n[CAz1Q@%} |:S̔6--i8 x2qP9QE6ƈ(2@<.Z0 M ¶*" HIVQVMŐ(u#r̬ECmӂh@Ɛ7F'ęEbX~ڔŀHd3@H3k곳(_ NĤ:AiE֖\+!yM|:D:v|l0$$z`D^0"|ϽYt+\mb`n qEx;^Mo$BT`7@_rޗY8R"dBA8dǀނ@0mDD9HnB/3<rX!m ;/§ط*N%ۨ'd#҈Mxuͱ%w|mJQ@)n"3d@2ykEQwDGLԒ\_W$ҍ(IEF񲘥 FZ@Y!]GqZ!WBFA PƂҖը#8ŬjպVVVz\튵giD$^#Ab 2 VPH@$Ppla+}H$mwd$@,+ M66>mW:jSpFN2{ \tkUDzKFKZ⒗;x4:y1AXJ(y W*_8(OnPeآ*adedwsF(*`@4({b WG:E W <(-^ S'>`N'P+lcpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwO?7! ,]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^___aaabbbdddeeefffgggiiimmmoooqqqrrrsssuuuwwwxxxzzz|||~~~þǽʸʬɣŘ|ؚpb~`~`~`~`~`~`~`~`~`~`~`~`aeimnpponljjjjjjjjjjjjjjjjjjjjjjjjjjjmuyz{|~Œőɘ̟ԭk H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsue 3Oӫ_ϾKnԔVD(h& 6u=Yv 8 Z#,"%=*h8ȡ &֤:)DL\d@L6]Tł cϖ\v`)dih&m=x`.YS#"X11"$5+Wh=V 8)yTq oTd|qR> p>#i#'#Y76!ECB,L6$6&Nq*iABB(E +`"t W/gwO1ŷP6XB`9c_ s}q, €4!~G:/xKWlLJ@DHT D8>u4^B T GB`o$ O!i- ( 9GjhC0T!4#!( cXbIqYugghAcx3jUL2AC" 4B11#GR $ !bp$$s'I+*CO"RQt4J2 3ȝha@);H4T[-d/{_ @$"@Y!J3R3uG1Z@H99A;' W0 $ Dv0bσMS?@"<PP<*t }C!=~r(x ( (gB?36t$DP`a@C"$<+mHh6G &AAndhpq#iLC4A5##'$Y;#;!SB+T;$6F9Tkfvm8+kQ<+h=BC=LE,&' 7;̌-Wlg< c*7QnA ` &SdF$t/soރ=2|#4倡HD 槽.32WxLJ@DHt# \A0A0TRGB҉x$,aNB%#iI & H qCxPsa+G@Nȼ;аM!')  3ԂcyF=q3cUHAXsцu#WF=j 3k xdg6n)$68gM㔸㸜jAdt4.P zJV’Dzw&\1A8 J]'Wyc' |i8ϸTP!dCW(;pnj=xcPXHO#, HϱC[XϺַ{`NhOpNxϻOO;񐏼'O[ϼ7{GOқOW! ,XYX]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]___```bbbccceeefffhhhjjjllloooqqqrrrtttvvvxxxyyy{{{}}}v~`~`~`~`~`~`~`deggggggg~`~`~`~`~`~`~`~`~`~`~`~`beffgiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjknu~ĐǘʢʨƱ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs5K 7Oӫ_Ͼef攖EŃ(h& 6~P/2\v 8 \$O",02HB/'t11O@=HeSgBP5 $bs5(F э*" =@) Fd AYЕfԥY)>eh YysԧRkFZB$!D˃ҌP'P-Ѿű h"auXZV"! P" FVqE\yFU_rDQ)y l`Y:XK֕k48>X3@+#d'+0&+Br@,Ax VR=,Јʎy"^RF'jݨڃU@  ڃcƵmqb1lL`m Ȇvqz-Ԋ<7@>H;mfALT^'rw}{'*l%Jt_M݃a^Ny/B Xb$OY !7⸖']@# 8+F% HݫqXo\p!HԀ"(Ed\q#y%YɗH逪2v{3: 97D&;>[Sz1^Z&e@zyc7 v@AQG1: +"8VVVzZ݊goָ. $<GW9P8UDvT)թN ]7BcOrZHZXm̑&{)ttAn;@$XvI+aIKR;_ӛt1A<8Ja^(y Gd8(OVə*ag(wsF(J`@(({R]G:5]<(PĿ{`3-)IpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwM@! ,DDD]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]```bbbccceeefffhhhjjjmmmoooqqqsssuuuvwwxyxy{z||~Ůܠ♂v~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`afhiiiiiiiiijjjjjjjjjjkklkklv|ęʣʧɱų H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs!Eˉ!>Oӫ_ϾQV.dݔred(h& 6r`D-e0Mv 8 MO,02-'L 1ot R " 7B Aڬ̜!3ܹ!  r} !$0IqACd'; x B]D@ $|Y+gJXm;A T=q@Cc0aĘ,E$rD5ljABijBNuSot'ŶLy BcD|0 g?5)пt</sD'ʊZ3hA6FAjta5).I d΂6it 6&қ ( (HԃTN 2$F:/kk2w(%`"PֶvB Uh&y~eWM*Xt ءDݵ kd6يVv4Z>*B:چV]aBhR؀kr`B֯ugnU|trhD7 "$pB1dt 88B૕|RԦ{ &')bLPsJ0DE9Tv 8` T>!,""9h8a M:)DLd@L6łɃΖ\v`)dih&tG5t`.9S L- $X3+߁Sx9S 聢'D oDdh?: pp>%C\<;#E#'!Y74!%"&,Q4$*ͳF+Vk֖v+nk ,1cB#$-(E, тM=bll' /G,Wl/w%JCJ` |v4%?4=d,6l8<ܳ@&4dStO%2,9Wmu>guBw &,t̻ѝ`lBp|t'xSoB + C "Lq7EݐםymƖ7(F#B0xܑn5k}和#ft&$M;7.<ϯ.BOiE`" }_.;BѬ )SR$$Ío/_N,5*;H8pK`w9L ИV^iw@)p~ "" P82 BhJ P"} !paax=ΐ| EB PBB'DFV$yzD<$mUE-nqo@H>dHAƑ1um 0@zQd Y7HU"!<$MR$'9Jz AP (!GJʙk3 /@;H5biYJeДxq/"b̘DݔO QH њ&ݴ7nǀj  (J&:Ϋs7@"Pf>~bퟮ (ǘip H(02Lˡ($Dz(WD(Hs&ґt3Ĉѓ^LgJӚ즋b*O@'DH JTx7DBwH$y4gLWU]$hACsj*A1ֲCj+Ȫ>Hr#=j׆5$*B|J@@H:ܓh.  *ZnXbT]""Pˤg/z^ƒ" KOۢ (<" PGEPaȝX@/!s@cWC0}m 1wV1F و,R@(P^7bܬn##$ >R:b`m-y.#KX>`~-1@&pXIL =79M!PKCy\BkqWH`GD#ʕqxU $81ZEyĊ@I; QhbeIY SPh2VBlÌ)HNI4b{ Å 9_HNI2h@%+aIZZn{ij?THzl -vznLQ`xC2Ac"zQ |9O8F ל JV' h( M[5 rcx0{x c9vv@ЇNHOҗ;PԧN[XϺַ{`NhOpNxϻOO;񐏼! ,RPP]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^___aaacccdddfffiiikkkmmmoootttuuuyyy|||’ȿɺɲǫ̿дӫԧԥԥԥԥԤդդդդգסٞܛt~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`ijkjiijjkkn{Úɤͮλ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsEF$*Oӫ_Ͼ'Çаhᔆ#d(h& 6vPD!eN3zv 8 z4S! ,"!3h8! &$M :)D&!L\@L6"4Ă@}ا̖\v`)dih&1l.3BQ9S $H8+5xh[3x ؁3)  Q o drR 1 pq %1 C0x1#M#' Y4 "$T5&2+M4F+VkZk6v+M7覫.9S"9'X C0m,p`' 70Ï"Wlg1ƻ /ی9MI l3:G@s!/4xtTL$7Wmu;,`MdB+ 3 4"e\mwYs{߀O<6dB +`  C"NwWp|g߁w}K If$(/מ31]6 9>B Qn {'T2Zd^A,ϼCS>)_ M*!L1'DkطblፄL@İH$  ؾ. .ʁjLJ@MHPo! =x@;Wh Q c(uao!8@ԁ E7% @ y+,m\h yd{RD=nkdGQ3H!tEDAH˵q\c!vH! b< $&kM׳EB%ATKRiKgt:)m@UD0$w/{&Lz9,L0@h,5if.ռ5{F2M"F r^Mt:YuÀ  H=|B'z@ (tz.f u QIl5.1@GA*L4l'5Z; gD8gnr%6A"S3GԢHR{Ȃ$a@d"sU`! HZҜ-nAf ?gEZUdHc @#̫^zrriAB9(:"Ύu+!k4cҀ MU ѿ0!Hh&E,*  C-hF[~A)2 !BpVt6 , fqt=ю;B* H@H*[VMAARDxhrxt"#$&z[4@"DJ)(|U5Hʓv8!--rnUCYI´44FmjjB34ʋ50r|f8cAqrj" %q$/qԸ(,n&8G[̹!%PL;Zݫ!W A#ц7HrTZʐfzVVVz[劵gsqWDȏLʕqxU d#͘240cJVU o $*R-@, >KaJS"DJq+NԲ NX#d=T }8 cD NPaOp5M1c` INʸ74#څT dwW"4&5gNs`;qR^?#ЃɁR @`?O1@[(p0!'>XϺַ' C؃ ጧchOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽw^7! ,SSS]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^aaadddhhhjjjnnnsss{{{zacefghgd~`~`~`~`~`~`~`~`~``fijjjjjjjjjjjjjnqqqrrsux}ÍƕɜˡˤʩȬƫĬ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs: ӌ Oӫ_Ͼկ)]הZ"(h& 6f'N-5tv 8`5O|,02A('T1I~#42"g h@!w@BQ4" B ^0;ȹN~8P]r m4 Av?&4c4D-t@H; LPdm2BjQ}\G=d&!vk8Qh_YaDA<YG CBђ+"&yfHMꮎtse8YmYUD(%0#Ja~ t\d?R0 3F$ZAMIsfY0:!D\0 L%:ebz4H `@@-Isai4O$JDN0 *U|%.eN  HQϤ`D@TЈ4!gLЙϦ^iᴩCsrA1Tk5%)ECtS"%BxYՁuYV S܋5rWRöUF$$QD|8 Jdw5YE~nF#"(TFbמ5V[5A:*AdHr)7+βrsTD"LK+V`}gIQmòJDA s`;4v s#= !Ӏntk;"RhCWjL np9\aK+r  !|Y_Wrr"DGWg,$kU<k2AlA]B[ ‡bV"#-(B\Zr\Lu@#Osd"8 qآE l H $~эwDRSʺ7v{6 ^ŴZ|s?GH4y!%S94_ W h# ڀEkq@+QG!+"АW-nհEZۚÈFD/HcYy$O.3 ] RIn TS-@,& L]6,Љ *dkSRR[ӎ[`M \)K[D;8 9 BaYF jo"OʉhÄ(_g 'iˈF(E|ND%I52@ 41pTD {`3lb:vpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwu! ,WVU]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]___bbbdddfffiiilllooorrrwww{{{¤ťȨȭƷż¤ɥˤˤˤˤˤ̤̤РԜ٘c~`~`~`~`~`~`~`~`~`~`~`~`~`~`jjjjjjjjjkr~ƞѱ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs-'!$Oӫ_Ͼ8Hϯeؔb˳#(h& 6jC1|v 8S,"S1h8& :)DL~Lh1`,`H} \v`)dih9&w ,Kx ls ~pJh!=f!jI|Xp`vZ I}Ñ1Á{TB/HI  bPGtPD4M4k&l(F+Vk-v+n.p6v 6}B:tӐ72Gl!l'0ŒxG,Wlåb6 u3*$А5u,o ,17|8|q,4t̯*M.'44746,82 5 qnp7vhwlMpT-ñ -(M/^PAܛIN=Rm+='L5f .zˊ3nz͐vrBQΙ4e;ӧ?䬷bB:iE:Y[ ;L<[N`"S շc}+y#DrSdȀ^A>/~Tg?*@<5 X"t \ Ⱥo@2Ё C(¹prE3148a@HH4`Cf5 VG@>ۆ$Nmx<`"PBa6,fq"؊v#DA n89֯x- =!x B@n!GW$CзΒ麸ɛѱ3J@ !@0JԵrL$B"CBTrqe^ă?|$3Mi/A1 HA Nĉs+9#E$IbD>x')7j"SHy"pTDtO9҃0h˨FOz&45PP@& JSBtu E1"2&Mk)G_ǂ|my9RJ:tPOuFY$o\DG.SJP: 2$ \֙utA0 "\8XU5'e(h2X +J֠ +)fteYi.Ѭ*˭nUKֺң=g$S@{Ek=ֹ ?HlJD(B>k/ID@jHtX Uw&V6 1`kϸC߸ȵG. ` B( Q;ͧ.ën<ǰ' ZTj0AC R_zB̸ )S w"$_o߽߇|#D h.ȁlthHj$P _8FxMEBF1TBFBޅP$t OȺ&8!_ T h )Axߍ0s!%( RA(3\ D(vOS[02,O@}7n,d$4PAX1 |C" 7;1zGR & a#$(Q@܁B ;Qt{,%P>@BSVT (u#oi:]> 2$B" P DG23,!4'Ma0"o )G~Sj 'Ɖa ($҇|')OѳuAd dFAP6Q@@+f3[0bT?"bRģAi smAa*6v Ȝ9fx.f7Zy  e+tF]Z7Hi"]x \yWIHdԊh y_t;GB4 UQʀy/bin@7&%UWA1 -WA f}€JPnH i p-t!h@/Xc'aTCQ^;DB# ^PDjBC)N"DzD1=mPYGE4bMk Y@])Xj{\3@g@9)N@"#IMZ ( ԍ|D%U<NBUDv1$ĥNKY@0]H!DIJeN$4iŃ0)yGrӛ g9΋!$2 %<)ϼѳAd "s@Qj'29КԊ=:!HD DH@X]nF O1" Mj'ZJZHYyqL3ڷg $ bD )$Ė$EԝsAh̪V1kHd@q@$HMHѵ9*4WZs Q""`gk1%k7\C7^࿋ m2e?rkBԱrbZoY 䅰@HgK_DwAh:@J z$#P%RѢVV\芵eb@'("HfP&Q8*&hddسMNu_49@2nфk')ƭ8 O࠰nD@/ m.P tJV’DOx&"@DȫJ!^'Y7L_ f o Қa3(OyT#*!ddw@$7zA|zc;xC[X{ _ܧ NhOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOM@! ,333]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^___```bbbcccdddfffgggiiilllnnnpppssstttvvvxxxyyy{{{~~~ĕŒőό~`~`~`~`~`~`~`~`~`~`~`~`~`~`dorxyyyxqjjjjjjjjjjjklmpsuyçɯ̶ӿs H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsO4Oӫ_Ͼş>vӔN僀(h& 6? A3R9t(‘ŝ3(\4)4˲nͳF+Vkզζv+b覫b DӨP` |Č BLCBJ',p$`a' 70S,!Wlg1Ƅ , )4 gGUDC8qgt'(4n-wߘM᠋,H* hT(4&u힇ȁQ?B,.{9_ԗДh3͒7oѧ1;B /Sv"t '/{7.Ck9c݅X!O 42`am \!B!?"fR8 +\8džPF<TM!WfN9iвBqI#9-(Cjv3}>yؖ@,jϸ/_WLp8!"x0CR=#Xe1+–wk]k\ͮb]6~H dHpۡ}@ r8@cVATeG.{S┥ֽ\y 4PYkC9%4@-6Ђ ] `;%шpt,mMϸ7MpSz=uWr=5&qgNs"4k(ݾI?dB%qO܁P s\ 9`xԷr d>5,Tl;< @-4lJC*HGG X\`tH- ,4 Z`ADxs|}b.dm+/F(Cޘߜs ࠃ]᤟tB:'A( Co>1 #{d (Kʹm;+[<"vrQ1l7|?\cB-S x"Dמc'v=iC DJ@A?=ЛW@-@..%U$|&\ip?4b@z,DPpX` ;BN34 VrĀ*X|CD_(8$&Qd/@1#KPJB~xE 1}"/'ހ1`t![q#j(MaՀeW 2ko,AE(N >$!5yCrrl< jdE uR>UjD|e cynRUD*1Cҗ8f0yDb,!("4)8R,[!MP%bq,t+پt"Ā!B (=iN~lB$ Ct@S:H=9mD Ѓ2@"4Or_BJG"mo'Gc*Si,qZ y_ERiSa2cDKҞDjTzA@ (k|iZVՎ)HHF!Z(Zʳ_d*AD9 (LuAW̱lYH6T*tY-?E"ͤIDDmQe{N,: y]gա{*H]$N@E/^;]V]i ֻ:peJ\j^wEafPȢ|۰ Kb"#+  ;/  o%b!vgm|=jW"lV\㉌ (VbNh1NEDm w#gS\BB<ʍqݝ1a g Avaˊrd#Z0BvE&ssZ 㻕NѬn&eй!%PK9bT Wh`ڈV \B c:-9r+"JVgMkYK]NׇxA#d.PëQ ^5O(W@ nD*"RfI2LmDJLqEs /ABcM%a Z5Ơ%x!$p􁮔-uMO NrdĮ>79-YŌ;Nю'nlF|`M y8wЌ@nc`9|'!=s<Ŀ V|"hx{`{шJd:vpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwu! ,]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^```bbbdddfffhhhjjjnnnppptttvvvyyy{{{¹òĥŚƘƖƕŔĐ~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`beiow{}~~}yqjjjjjjjjjjjjjloruè˳ӿ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsE%Oӫ_Ͼ0"E ?wڔn"B(h& 6b0L~0B7 @}dh< - MC/pT /w ߀7,vلi'n*(ͯ?VA=߃.؈+"N'ά.pn'~УNBAF[HB|;.}žW4j38A7 RO>ַqاJB 1SF$)]ַй}Li@ȣD! 70z T t~ZE !  ."42q" ;oqC)bey.* ( PcbGƊG@UH)jX#&N((B#DUpfHBcЊd)"ݐȦѭBŐ̈&&I%dM k7rv{gI[-t6lYW^oPoy@xt \ FRY.Hs @,I K97&USMma[N9nLıyD`z %t,mM GNMpԃ{vgNs=8&(rw!/G{NƉ?n;A8N?XJ4n\ϺiN\F;(|'>pNg>QȂ?ށvOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;ЏO& ! ,???]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^```bbbcccfffhhhkkknnnqqqsssvvvyyy}}}~Ŧueb~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`adegkpsvwyyz}xsljjjjjjjjjjjjllllmnqu~龂较迆–ھ˻ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsaㅫ-Oӫ_Ͼ@R /lܔrEÀ(h& 6vP.5N1Jv 8 JS. ," 1#h8&֔ :)D֐L`@L6"dĂP̖\v`)dih&ՒD1.qS# 8 $HB)Ih[1H ؁1)ْ odh- pq-%B//#i#Y6 }"F 4&64F+VkZKM5v+{M3 DhH|4 NC4+,\a' 70R Wlg1M|$22gGGHDC4B N k~{;ȼ'TV4ΰbp)B<3oCO i* L҉P8|c^8B4UQ /D7Ⱦ.@6UDqBBBa f0 e AEAk$_-$ a(CXAA E@Bp|aw"!P-(R!@b守EiqaQ2\O@-7oMklX@Άŀ0D@u,2:6 Rko$G RCtT%wIM͐DB%]HT"ABćʫrs a9NBUD0&Z)Lq}$ 4ƈ@0"4Ki61 Ń00@&,c4gkNa  (J$>VN}* ?sɃ@Q@1 jυ2ԡn&9DzYCA7qdkA .s@*<8cJ HJl-Ẽxx;*&;Mt7%H`XVYMzh@/@ 0eZfT&զL5"BB"׀dG|tZP ǤTW|ul0!͘d $ W_AWcHXTU%PA;[6S  Wgrh ^{g6y-i3\gv@"HY5gvyۊ$r)ExA$$ozj6R;FhRs^+ 3@mAJDx2B·;îd ܛGAf[^ &IbL5@̈w%DrX*Lȉ. ) #ʋq@oBsAqet#Q#wqJT#'eCFx:Peؙ@! GZ; {K_iT-PƜRނ#Vr,gʖgMkYo\εq}t5iWDHh͸px+1{Djqv+a 9xR$2-)MQ )!F$z6@f}hC@ j\&wBm|#T쳦;Ԧ7iA1J1_'y WPo! ,]]]]]]]]]]]]]]]^^^```cccfffiiilllnnnqqquuuwww{{{~~~ÓŘƚǙǘǘǘǘŗۭ̿䢉瞇蜆蛅뚃혁{oe~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`ciiijjjjjjjjjjjjloqsw|çƬɯɳξ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs Oӫ_Ͼw-a攚u#A(h& 6*/50?@v 8`?. ," *h8!&L:)DvLD@L6DĤ tʖ\v`)dih&D9x:TN.C-O-<,`УmDC9IDxC31sÁ "p q P̜2pdqJ`΄NFpNDt6.; 4Vkfj 2+k莫:A<; ɣ)@,L' 7; Wlgg);AMI SJ&,8|=Al\PQ-FBBTX3\wC5 .pt ;\RTۜx+|]1aB0PF ݐlwޔcߘs xr2FXBl1O^;g.׎BAFXgBh _>o^;(2Z4,BO+;5* L/<#o>S_L@tDj_&X>Z0}{^g?Jă#+ fNKԀ @H'P(. k'w $b\D0 $<D vH$H`@9HH=Nn@׮9 &!dr##xF˩1 $6‹]Yhl豌}<^46.1"_*!x# IRk2B."P:Qę)O1KR wpˈ풗eg (Y`w(*sulÞ 2Y<B @?@#p3y9Ƀ`@8̓t=F|ZLCAb D(Є5ԡ%BQm@"q P< фv4k)D@ ion/#H6dD( dd?G_SsP#RHI !ދ̦Ѫs@T=O@5DH(:֠^ͬhb8B"XdF*3.ЄhMr-C">uuvP*Ұ ] kbl {OR{E I'%OUkr,5 i򶷾u&p+D "$υnt9ݟ 1-`0!o+M5Ԋ܂@N= ֊ӵdctqn&)yE9| r+ h ^x3 qr@oB \dBARaBjb.# V]Ťrq('-&j!P-#) o qdэWwOSH;>م ;#:h^:ܐhQo}"S` yGJ uXn{HVCkZ݊goָH.q ĀH\ W"׾a D̒"ԗq?IV9x %)iw t ± F&P5*Id%,BKk'N[`N;ÃupNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwO& ! ,ZZZ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]```bbbdddfffjjjmmmoooxxx~Қna~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`afloppqqrsvx{zupmjjjjjjjjjjklpuwy{|}ﺂ¯ŷǾ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsjOӫ_Ͼ0$J^֔ZKむ(h& 6bC*Ս-Jlv 8K Oߤ,02A*'d1$Q+t`)dihlJwHP 58t7AT- xbRYSrR pp$bJ20t2( 6+5E̱&6#Vkf-+Kn6YA`Q76 uL)L̯'\l' 7*D,Wlcl6聟Q QCJ&4<393KC!xDGKB*ìlPӌ3TW&ͺQf@֥`htlmV-7T5 FXAQoڄ/ۈ? ܌m1 뀬h6($&wቇ⍗| +nQ*4,{n{Ӣ~<xPzjQ7yiAp~G c+Bi +=[=G4 m*`1 4JTX0{!WkTJ@CȮH8tb2i" P.Ad0}<ƅ~BpA A @Bz1!hXù0xp-@>H"xD$*qzLlbܞ؇j xDQ *$*%d@ʆ5r:$w Ua€pRie-KQ)  |!b,e"Ę.Gh dS7pZL@x`@,H! Oso't)Ƀ@a@%4PUAʅz*^>E4"h ;r8fpG?1]BbD0 lD.}b t$P$D xP5JT;jܣADE1@{C,:ՖmF._"3aB8IֲLB!$?H.N`x^ ɛD 0acVU-6A 0!\ Xͪ*VCz`y.pځ,lE)[߅TTчxo@EH {|f_W! R7zvGh$$r]ԋM/3כ n! ,[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]___```bbbcccdddfffhhhjjjlllooorrrsssuuuvvvxxxzzz|||~~~f~`~`~`~`~`~`~`~`~`~`~abfhjknpljjjjjjjjjks꽕˜řǚȚȢȲȽ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNs%%M01Oӫ_ϾՃ)FdД>kƃ(h& 6~ F+e .lv 8` l Oش",028B+'t 1j<Ǯ \Hd$!$ZavR%&TĆPR+AֽJKu|S2|B%d)Y!` D* dv #U;C2A9!]ihKr8í3O{ HS!:8ָE.3$2Ed:$nlK墒 b+9!cfZҽ<OFoz҅@O.\*ZP:ױ$}$b [nX8b ~a҈4R̓a^g| P3.E)c"GSArD#ߜA8Fjiq>Y2dw@!66 {K_BwgA>* 0Ԩ#`HӠuRԥVV!* ftl wdɆ[ap\!o$U٫wsT A bVҀ,hqJ!i oHƥ[ ]. |mh@WҖ~'9) z"Wb Bx̰nϸƛMܸG&)4WrF(<@'(Q{Ҍ8 7z59D(Ѕ+ІPԧNu̧ rp.荝{`NhOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgO! ,VVT]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]___bbbdddfffiiilllooosssyyy|ړkfca~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`afhhhhlpnkjjjjjjjjkmkj{Ůν] H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNsɑ"Oӫ_Ͼ8>uߔ~'$(h& 6j0?6>Gl$"amQnHi2āA:A%I>s$ΜrpdqJ M~MDbʱ&6͖BδVkfٞη+䒋6}Al3!85 "'1G",'qkB׬K<- &'HVmXo w @3q)B+CcJr}vY B: ?u@> HRM4[kߣ?z?):L=|Ƥ'4V*| ,;'l/z8vp2Ehې{s] >>B4% VUQ5I.hm@H8(% UDW:A *hA FP*}!(Oo,l!| @HB;!|CQ_A# 'PBEIuT֮Š dD0nP! !v)yll#"u ]IՀhPф}DHArL #q !9|$#I4NktBC":\B'J3nA dM^י .#J;ƺ1P]dX#lPxbE) 6$D7r_8!OcIr9hRPBc9#2'\||*h4z rk)(% CAҤDQR,hԨ>V*gM3D]@A"0{U2pa 7} *Y KZZNijӛ].qFzD[\AF( mS* ّP,@8|s=gD|; < n7 LڬX3\wE&M^0ABVgmo|? ؀}ĥllϮeK$sӍw\߀tBP:? ? HSΖc.Śsn; (9A` r뭿n±Ϯĵn; @`Us8"S]cѼ:^2ECBp߇+>A²"@h{?6Bi@O`/wA A*} 2!P?o-tan ă@HdBa ؿ h3-@b׬xŏ 40pL! h4hll H]HfSffǯ }H("C-!xd%:JVvt^ @"Pb?QV3)+Tn1N$ x"K҂]$u1" De֬h|&z, D ! &8+'NFsP:`@L@# yҳ@攀$ HP> O2ӠChB $D w(Fѽӗ>ƈa@ wp-file-manager/inc/images/app-store.png000064400000030743151202472330014163 0ustar00PNG  IHDR,YtEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp .eIDATx UU{3 ,J""HI ڢfe䂖hPXZ.%j"ZYfTX*Zj *0|睹f̻3ܿcr9;(L^x?n_>n@S  SPQpzz@to-_hik}.h2BGsŨo(nD@2yQI-{-mZ~6 5`֕`:ºu̐!޴.cݶرGB! R.Yzd{w ^U&A' \m]thNWJ2ݸPizTc6Ik@kii]ԱiDЖZ_oP!Ew۔ٶ%,`e,C4h`lGG zqc/9r䣉e\bg6]w?G1/R;Bzr(\0B+~'"ȍLһj{֫mW fC6s,C)sdM;`8ьuYfF 3a„6Hx%ZfMM7xO?#-ϻ,]4͜brY[m;#ҝ!'3nCk|f˭:~ɓ,A7g\{w8z+iNW 4ȴJN9uK݀5=6l9?~;}fٲecx/cs攁ϲ唓O+Vp`ʗSN7l3'o45o-׮]kGmy.52T+!`h%!nj< ޳dɒzm_zw/}s==SM /_|1rd[nrʽ?MŦwseeNpY SOPKg=h^Z[˖-Bٖ=X;9uY4\reX9b1|-ߴYѲ]C"DwCG9uaPXhirX`1^8knXsJ s}VN\ > k ~:8aN=mo *SwECY h}6Zޝ9Տ*Y ȁ\aX*h-0oxȑ#3Z!E@h mX 9z*+ ~\Đ>^ԟMNYݏt `ʔ)f޼y;3S7WKK8pikk+ \P_j9#͜9s~4vۺQO-/|9n}ywkAPV.b:,3uԲYp{z_m6|sg!>_︀0J]fشi̞{in&s;pn$o{k^c>яG?r!wE?#.[#8Œ?l'?[sC`|\pf뭷tNiDk`uQB}ƌc&Nh>hd}W}A4a#PAJU3N 菣\$Cyełu[#X@̨QN;ĕN:5G6W]uy{ߛX44<@KGg3z0$^qx!2|> r?բ7S蕓O>vmS3rTqmt/D_h[X]07' `=S~v/_yNyq!R: 2$Y9Bףŝ (܊={Q鼔&ճ>&ʦn'ʦ><NE܏ NEV~ x˻ >`>p֔! ܩ$f!3|ͽ ߒsܟ*gbP~߬'~LfT?ϻvCC_q|Ё݅^hva2{_ڼU*_r-fرD~`~;eϞ=wsuwE>&*VҢ(1x㍮ 7wR(!0a9ƛ.\\wu~BBJgӟa4il;į|+ͷ-?pu:;ρ">D*Cgw4zy^-\sn@Gu]YƑ'?H'@XK]_ҧ|s|&W^qť?UFFtd+/rG駟Fv~ ^SNT'qd,wϜ9sJk'idf9wdÊ|ڴiJַf֬YkĉKx. {" @W_Y0vm#FD[{" j4l0/t 7_rSEvcWoC[@)ۘ1cڽ#,:eʔȊ9;ѣo8>ГO>=O^G<;K{,k=woI#e˖_ qJSI\ ѵ^Yt_veURA鿣:**gcxC;R(߾VX~ND`߹nh$v+/}*C(EO87v+ &awv7 F%!TPH>>Ozov;?eK.qm*Guz/\ʂ}݁5-'H.;eow]xQCHb. ">}1{i~b1 qp N?\ ed%]z>\^#K o?7Qm9>>*X3f0vva/MorZC{GI EY{)k/ PA /:7_L&Ov oہ/_"MN@ r*v B %!?pgXD!RZ.u~[q)G}tϩPJMADOS3|wv%Y*]B?N x?8,]P?DRxq(dqx~s@oy[J"gߺ5$V ~}P bA\J6 n]" +cUE!J5 hQ>#瞘@pBpL)71XL)7}óp{:9Dv-:%)! $ ڏ~~Ec S<4-%}9,V$t:]x$Wm^V.-܋Z\= Hkz,Y?9܊WJWAѦoy >,VT@JAL28?QesL%px1s9N׿q6vXG66u =FI8|5N[sz?u7P KsrZXK|o"mY 9/9,1$NJNE:$F ̀Gޠ1K,t `/R&@&բbbCCT IǤ^t,3y{J%=@EZEy[r@Qמ ?i<~C/=#Q(Tv`42;:`_P HQ]t3g,0;#WPVFĬB tW(uDJ|EtKqInएcXů& @M1δB-hCBl,i"~DDEޏ1{M~kJH/Jb/};夲i}.>ØBLsXZܠDFgp\:а|l #(΋QډbБ]"@޹s:%"< b=>Nރu}ku|ɠ 8No };qI=\g/9Wk} s͚5lHAG}LB23ImAۤc,"BA}W+@P e 'Jq6a5f.1V19/ˆ/Y*}  +l-]MZ*:9$\JȄHZ>` @ ўH~;|brag0+7\J802JDq~S;+5aqɺqZabHn\;X?01a(p,Tp%?cné0!1HVuK!HK!Xl9LY< ~'i-`2?9E?Ϊ`8hkJ>?D_4C ;X,(#1?t&dt%b aVY`X(gYхT@ D`b4hQ6Je VK;X3O\Zx byvټoD#@okDAs@Cт`|~3.\n2Kds„ebq/m"H}M,&"^pd ȿp-B%y838qŎgVIO7H]EFr"lX\w7nEO>24 .#+/;=҈I&)Ы){ծiL);t[r]2Ϣ[dx^R)=Si"i` 0Ż5F?XNIi(@;"q~n.TSġ rzx4z̈+ }tpkqN=> iʐ9?M c\$*΃I„Aq}I,EJ8Tp@zF%<_4Lz `JKrܽ FhT,̌g5A yo*05R:->MiITֈtWzwWBE +n3XtJ,! li~R]F  .ei  0H99A,K(߳-e}a}9&QoFUbEqwZ7r9k7vj(`1PaF,;*8Tq!FT D7 SY\ʜrJlF_9[6/w}$8<8-ZECZp߉KHїW+DPOr!1%«\^#8høR\ΓYUO.v+yZM>Dg>%fGV'B԰D/PC&#[eF8$" @oe=^|0?:*;t|k_V!xtW=9`5TY,eaq-qm񰚨Wd]HSؖ8϶dʴrDTksv ?JdV0&Nk$c? زm< +b(7JN B*踈@Lu5r-.rr#l9"`5rTm$RFqI "|"\j6h :u3`i1%4Cԝ olxg]:3S}6>EsL8?ޕ"-$ gF;Ln)Z)C"Xbpq}o<[Ї| ĻPQ XYn4eF4TÈH@=݅/{Uo6p@eb!!A3jl;If(L HHfʗ)B8!p L0b<}J wh"$!Z[8D;7T>Į¯vJ%<O"\:} qc[9W# @21pJke~]ӮbQr1.SiPFh{'Չd$Nu>Cdþ[y2:/ZbQyܹ.rܻ8wg=3ҷ^pafL6g2 ٔLÇ\V \gU4)˗/ipW{tק*fΜYN˵կ784 (MPDpZ(э)s%]jXqz7$"qv86<'\2?LK\`b#riZEyE&-K!b.mG|DL{sA:(E  .yS5.1iMFk(`1s.K$Qb+"_ G[B?U"[`7 !~D:e`G׍?*?Ndc),(2hD-zad'd[8/Iı ֲ,7h1jԨ21Y T/<~]}ڂybݏ8XKW^]6VBTrN={v4fW'D+{sjta ͛7սD̈ZY"Ƭ(IOOa0VF"%88D?;h|HE ?pX)Q'!=|:Coa*)e3 ^{UvQxn'^IJĀ9R{du _(,!jU9!GX*LÄ'l(`UCdd0:\02$^8r?-&8>Dg2 N? gCx[VfB)kUć'94 SASu<<"33" MR\rv[,$6:/g@l4`A*ޢk\4bTھJ/PZ)C$Ub0aӉu7'dܹJ}R4%NZIj%eyF9Q:sXh Vz.8Ui3,Riu2iuLP4 =(-Go˯49VQ{m~i(H]m<>Pi"S ioqv4Yr WCo~*Jׇ"I*v~ZJkPZae9KD\qܒb[qPUDSxL:\ +3߈ƍ+mb3b8U@bP\>j: `C0;WD LP$^ @\B 0 )t8A$ c N$ĕv-*SNqI(( 1g u19A:#xVQR ׈~ =R}Pg|BP={;4}цq?,FX;+!EͬY\7Pl`Zj$"#$%+\CB=C-b!NáfV&u SDpビbP>-p 0H[>@>A;|0D'pA8H#{ȭ`E僦D)R Ƴ }! ߁2 ='B GLy@w#*1h f!W]u{?\ x 6nO@od"f. ]n[ =_}.&kgv\])X|x+uYn p,L$88MV_6&M՟pD6?\i;JqccgC9D^öp#7G>w\s!{NgΜIF o#& ڜ uj +y,plRVs_-Bg/[qXW]5+LPȊS?vزsLWJK y8lU E&5":8 2~sq~Y!]g4ǁN~wkI\1gU6 />$`Wc BCԯQs~#ހa"4w8X{DxWQ;Wͧ "ܹsӳ.@ `DXMqPJ# dZBCtS<$@{+BgA, "J,OVZ_*:NZ QIZ N$,2G 3 *Xi6mZj;z2,7pFJyWd'tRY03)!}NoGN*s",upP3" D|"Ky)ͫא08Ll eP Pd ꅄ7SﲸB[PPE)&J XqIo&O\\\L %}Wʗϐ1M;zR V9Ŕ?X`(e}kiDv@z.Zmǫ}W=L%TD5;*A:rV%0!a?pZL*Ԭ*|OWiizr v=ʯWy|[+awpFFc&8$Nęye<qfrG((.XT/ \(A62H>HU`a_Q ҡ b}R!zH`NXaͤ7#fyǽ.dvk\8=c+:W?0`ܗ&G"e+JSOG JŦPT(QiJoS;׈X9Շ/FZ]tVN 8zZ~ZTsʚDm͉L R<&Z/}Q{z:](#U "9_O= _8q<+ w|-l9KkV>z qwo~Nv2\n5i$eΕX5%)yj>9ciim}v`-XY0=sl;fğK6SN"L#-lL ־<qfaϴ t^{]礖/_>ocVzaO=YfM.QJ^:a.#0i$3y$V;c){^j}B(]`A{ö+-rt᪙㋂_jPo\~TzOoq=׶{Ma6h]?;m NIDATxK/Q[D$oG+ l,WX )| becYG+i;xGޛvPO5_c˘ٌdn)ঐ A5Ή_4h5 n)@ly$.d&|2S +%h9օnuu 6eAeQ,~A߁J@+Ek68\Oo[@-u[H5ص"0 vR%luZŋUK3hbXt JM :Np 3f̱4 9M6 S/oߤ/Уq(pqumЫl+>MA  s5KZt 5脴6IDATx\U{Svv7RRACDE@ RT"m(  "PC $P $2~{wrefvvN>޼rιsŋ_|fMî,| DS|o]gecG*lHkOzv|/|Ϙyݖ~tNHmMumWmtnozW}?nڗ>ks7d+Ա6sq}d2LmZG૿pw mI]w:A /kޏ_豷*܂4H,|oi6MjÎ;<^WW,d֬YNeՙK;3f̐ٳ([0S%J #ff*Aݶ.lOr9.2zҹ1p>&d2;k_ >|zX=ӧhѕtj]w%h[HL7БGw`o/l뭷#Fh8P"lȑxwܡo喲;h u7ץe>C \`Q\j VؤItɐmV:(x衇7p*ozRSS?_bT(&*I: 9]y%&8eخ-5HRP󊕪S噟?,v<׻_٘_M80av-Xk;qYgOS95`3_9s[1&hэ[0R o|;Ƀ+E 0.BWžweyW/?_zΓ7|SF%^xf_%>g.\|AͶe;x7Š`E T RyT)sr=Ix9iDuJvtO=L$(!zd_48M2Ew<:ٳ{5\STp @cb= rq1y}w .oh7`͌fΜ_Dž=蠃G?Yo2_|3}*XNTT*TvdeѬZVP鲪s,^.u#neĘсTk\,;c4SyElԩ k{0q|IlėʍWp h0:sv\J{GxV[mgyw{z?q*.dV{r}%9q9I%i込5Ny.l%4%s Ҳ|l~({kϑob}cX7ܪekf馛vmcK@x k=zt+p òXb%+0r=XNojԁvf ]X+9vE]Y~-tvm7q @}w7LK/,!8q aSh?hi;G me*X~>8%brFU"glcZ@f{#{Qx5.[ȗ.:\r=-^SN@[w:ˢΠo[X=_ iR}BdLJ上fFұ,FĹ"%͇/ytE]hrwG*Aϯ~+-Hc32 眨j}4ZW+Qn'{z_QpQt+-p( ֯\B6۶Z~vX9[^|rj +XxbX_җSNyu#/$`[o# ._|S3jb8Q3).>`_e+o;g?@\< 7ܠgH ۠!4ԏ;ŀgU kH(H+9cD)S_*)w^$5 ei*1-馔HP>H$:\cVִ4\n7Ko/S@&/YِN;  D,]L1RaRu; i<SQG fX[{bf*V?-쳏&f4DZqpF֮lۯ$~Y"Ӑe^]2,1(ۊ8$;۱<ģTm>=>BR{cU6V@IG\%?'Tj1e24kL}}dV-wt `r5-׀AU{e*I׵ȹ?#?w1 j:ݐR~wo/(:fi ^rmfTU1JJ5ڄYAG :A*:m";\t+Ͽ1R&)*]#Un]%lc6L*>wa_esL÷Kn8Y繲sm?#O3PlKJ3̓㋥zju ֜Jjwbn;ɟ(y!ӳ0XtI\NdžuXWU馛tiSZvb vN QUـo֧`{~[Hee"}(K}.yғ(SbXfGUJRy5,ut k$&*ImMJSuόRL2]BY/V~zT]Z"^N_$'&SƎ.!֣'f:z5,6kЮ{֕)<Yce$#Xm)KdSߋaU,9,֗bYX1*[ɗ Jd&!V2bZNnɴԭJzVsia x!q{a- =I+\6*M" : | E@c5]:m(?DIJx)XO_Z~;%{TeŮMhɼ iAV[?|H;XY*,DtcZ5F7lOI_HxuVm`M9`etaՅL1BIxz$`U 60+q, $=SV~, lsuiqWO~_ƽZrvBAI}S ҀK>(/Fn~fFU+Hl)v}qٔZT,#vkeWCT[{n0(@ru5!r{^P&[[+N$_*zZ4?@_Z4k} NځnH%t"91?+'<'}^Xĕ-ĒEGYfɿo\Tc-x :m 7.˹&6Fif蚈ncYu}mh+TVS[lQ0 y 66DiBMf5Bn8?^+% 躓aA)MIı*|Y*ipXܯZ1+"#XexMUZgcQG:jf32{j·gZDhh, uq/ץLe *zDb+G19I!7YǙg'X9N%W8KDŌ48lذVNizp|הl.~9r'?3HF̙A'1:-q >Y9v|/y (:()A`;g84+=cuXp82^Ȱ8~;Z,wI Mh1/ϒ/ZQRL89_ ba:@,MDZ}6!1Eꪕ VDgeѪHn=@fƂDFNaщC!? fovY^-OiSqH N  Z, @ZʕzY^3U9Xp2cH#S }nI@k9h{ˬC <&р#8 KI< k&\&)'DgΠv)75]_l@o:^j=u|;eeM j%7k2XPUT{J+Y$d(]bU!T-:A-htڃ:$` 1&e6puh|q&m{҄`ƈ]na4K'(?23 TtBaZz|wN(L&[^H(n~ajB87.951-gqL3L[p9Gc 3 ó q{x%]3q!'?t Vn2u{dfi9_O7R fXg/\%e],7OVPHQh3i0RUP ́@;muQBq163GKD?Wlmn)m]&SH\;^)w w/\ [{:KexƤ L03TM*n(쫳cWu`-A/t|yRC.c|bO؝ji'-W`(k y^NnJ=i|g225ۨ:&9T#fm]RjC 7ՙgxPw/7/BEAԑbR 0/*%x\ߎTz9g`̸w_|q `a(q h8](Į 5:R0NzAYW A*諫_@VYŬjX$|4 #&Z:HZ1g+%oǸfTߚQh7AnfZ(/ӑ;ܜ(g{F^L$׀YR$co@H֎0 s,?4fTc'?9- "Tȸ)bI䶮hCl앎L;% 'N; }M1A 3zj y1? Sࢢ`Su`P&gl;s2xY4UW ]ǴAGWaȅӉ^“o5)'^>EPM2"46R@jۨ]d(GcB3d؂ mpF_>k.{фBf ecp(۰lDCC͎0`>Õ6|XIND$'wgh{B1.&NE_ve{|`ʕ{*ԆIEA  _jsd2Oj2i1jhyʹTd[^\"-ʑ 뗼-J%S,Aq!RTN,ZMҩa GHFe.4F&~`wtBs:ij&6 -+ڣ: hE a5~4uNiQLbrl8OpN8F`d@4hW\q~nqFA h/qgDwÒT2XT§ZA6Iׅʠ4+̊ʞrT\URXսQ9dCYrN/e S%řLH`AhvnO0;gb,SQtH3LߛAv\l,0m&,saqyv4K ~9S5` 2#4nׂ<(e EDc#c&E!cue52t2.VL+W/W|NZ4U%`nTcvs&g=)J۰ \ Hn \4Qqr#%^ iQEwX͆f@#37;naqKn50 h7s S-X+Ŭr)jCnsĭ2UֵS9 ^zàH[O ukh `CzMF:\ /`` .U4娘 1 t=\Rq.$\B0لYtF: ڷs9cgc3R0#74znB ۓ9Q#6 flO!,׏b4) +;׋416NTN%hTV}:YrݻU Fo3'ۑ0cE@gMDDEH˙֧=Xnݲ;'Iˀ[10I $@{4p:KV*cY\0]$f9VX_Ca:=ל>0ĵ>n^35y|w@E~Crpщ'F~8 W W2qOI~^`\#4V\';Pۙޙ5JBǝǏK&g\zeQ|m%'M'kT$j2xzlldyV zYH+UVɼ2nCSrHdit4#.l$,T%-x-Ѱq:Rpe|Ltxw[+ k @7p.-QfBąq DZ&Nh$>bY԰Y8kr5ؤ}] ÜװH΁%fPZmk?:K%c6vUQе䜉kU_4fBAfp඙NkL18ۈ+g+a53Y]UB-Vʴs.f'V1-O҉|vLX/yIdC.O:r\]FƏWF]k 1RTf@$KWuym"GL*}Ոm1\rDdWeXaG&m[aLy,.7ä?h jNQU4:ʽ3+3̬Sj:,g"PYB{'vea`kD-~<6yHkhgU[Sb.sܑ\RI)HV " M{C+/F#n,h+u `U a+Gbԗ̀eL`QAsn)Bm'o Ґhtl-qDfL>0KtiGU +ߐb-:gȅC'DU1cE FDYVk]FJ&r~V|b뮠e\ō]Od2>5Kd̵7- \`zїPn"ֲ'vb[@h[>JU3*t븫L-l!v4o{Î/)z{bO 1`uOk:S܁U(6y=6,eFo\Ci.Fj"5/hzmnbMu \C^UZ{BC2/injZ0lذ軳nkjn~#ȯVl}@PSbEͬNDMێl0`C]`;wgy55{4&v֫CMمbZn*~#d&_G~I~kں~L2Ep̙3GZ-ՌX:]\2(?9ye#֮ih{[o,p#7d۾ ch,IDATxb?]-cT+ g/⼛MJ;H"2| )#ċ8`%@, @ ;  VãFJ3| S8}M@ǜ3N >TL8c, UH b1 fEzL^y`)Pd"ujÿlԲQc_([JkCTCJU1; 7X*Q3Z:o@,dB15S=,V(‘jg@X}dm9 EJFvp|IENDB`wp-file-manager/inc/backup.php000064400000033436151202472330012256 0ustar00prefix.'wpfm_backup'; $backups = $wpdb->get_results("select * from ".$fmdb." order by id desc"); $settings = get_option('wp_file_manager_settings'); if(isset($settings['fm_max_packet_allowed'])){ $default_packet_value = intval($settings['fm_max_packet_allowed']*1000000); }else{ $max_allowed_packet = 'max_allowed_packet'; $packet_obj = $wpdb->get_row( $wpdb->prepare( "SHOW SESSION VARIABLES WHERE (variable_name = %s)", $max_allowed_packet ) ); $default_packet_value = intval($packet_obj->Value); } wp_enqueue_style('fm_backup_css', plugins_url('../css/fm-backup.css', __FILE__), '', $this->ver); wp_register_script( "fm_backup", plugins_url('../js/fm-backup.js', __FILE__ ), array(), rand(0,9999) ); wp_localize_script( 'fm_backup', 'fmbackupparams', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'plugin_url' => plugins_url('lib/', __FILE__), 'packet_error_msg' => __('Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.','wp-file-manager'), 'delete_backup' => __('Select backup(s) to delete!','wp-file-manager'), 'confirm_del' => __('Are you sure want to remove selected backup(s)?','wp-file-manager'), 'wpfmbackup' => wp_create_nonce( 'wpfmbackup' ), 'wpfmbackupremove' => wp_create_nonce( 'wpfmbackupremove' ), 'wpfmbackuplogs' => wp_create_nonce( 'wpfmbackuplogs' ), 'wpfmbackuprestore' => wp_create_nonce( 'wpfmbackuprestore' ), 'backup_running' => __('Backup is running, please wait','wp-file-manager'), 'restore_running' => __('Restore is running, please wait','wp-file-manager'), 'backup_empty_error' => __('Nothing selected for backup.','wp-file-manager'), 'backup_baseurl' => $backup_baseurl, 'backupall_baseurl' => $backupall_baseurl, 'default_packet_value' => $default_packet_value, ) ); wp_enqueue_script( 'fm_backup' ); ?>

  • :
    ×

    ×

    ×

    ×

    (backup_date));?>)

    >
    backup_date; $compareDate = date("Y-m-d", strtotime($backupNameExp)); $compareDate = strtotime($compareDate); $backupName = date("M d, Y H:i", strtotime($backupNameExp)); ?>
    backup_name.'-'.$backupDir; $dir = $backup_dirname.$bkpName; if(file_exists($dir)) { $backup_count++; if($backupDir == 'db.sql.gz') { $dirName = 'Database'; } else { $dirName = str_replace('.zip','',$backupDir); } $size = filesize($dir); $backup_type = explode('.',$backupDir); $id = (int) $backup->id; ?> (formatSizeUnits($size); ?>) 1){ ?>
    Download All

    wp-file-manager/inc/contribute.php000064400000002720151202472330013157 0ustar00

    Please contribute some donation, to make plugin more stable. You can pay amount of your choice. :) ,Your contribution will help us to make WP File Manager Plugin more stable and more functional.

    '), 'wp-file-manager')?>
    wp-file-manager/inc/logs.php000064400000001677151202472330011757 0ustar00

    wp-file-manager/inc/root.php000064400000014757151202472330012001 0ustar00custom_css(); global $wpdb; $path = str_replace('\\', '/', ABSPATH); if (isset($_POST['submit']) && wp_verify_nonce(sanitize_text_field($_POST['wp_filemanager_root_nonce_field']), 'wp_filemanager_root_action')) { $directory_separators = ['../', './','..\\', '.\\', '..']; $public_path = isset($_POST['public_path']) ? str_replace($directory_separators, '', htmlentities(trim($path.$_POST['public_path']))): $path; $save_array = array( 'public_path' => $public_path, 'fm_enable_trash' => isset($_POST['fm_enable_trash']) ? intval($_POST['fm_enable_trash']) : '', 'fm_enable_media_upload' => isset($_POST['fm_enable_media_upload']) ? intval($_POST['fm_enable_media_upload']) : '', 'fm_max_packet_allowed' => isset($_POST['fm_max_packet_allowed']) ? intval($_POST['fm_max_packet_allowed']) : '', ); if(isset($_POST['fm_max_packet_allowed'])){ $fm_max_packet_allowed = intval($_POST['fm_max_packet_allowed']); $packet_value = intval($fm_max_packet_allowed * 1000000); if($packet_value <= 0 ){ $prev_value = get_option('wp_file_manager_settings',true); $packet_value = isset($prev_value['fm_max_packet_allowed']) ? intval($prev_value['fm_max_packet_allowed']) : 0; $save_array['fm_max_packet_allowed'] = $packet_value; $packet_value = intval($packet_value * 1000000); } else { $save_array['fm_max_packet_allowed'] = isset($packet_value) ? intval($packet_value/1000000) : ''; $set_packet_value = $wpdb->query($wpdb->prepare("SET GLOBAL max_allowed_packet = %d",$packet_value)); } } $save = update_option('wp_file_manager_settings', $save_array); if ($save) { mk_file_folder_manager::mk_fm_redirect('admin.php?page=wp_file_manager_preferences&status=1'); } else { mk_file_folder_manager::mk_fm_redirect('admin.php?page=wp_file_manager_preferences&status=2'); } } $settings = get_option('wp_file_manager_settings'); $max_allowed_packet = 'max_allowed_packet'; $packet_obj = $wpdb->get_row( $wpdb->prepare( "SHOW SESSION VARIABLES WHERE (variable_name = %s)", $max_allowed_packet ) ); $default_packet_value = intval($packet_obj->Value); $default_packet_value = intval($default_packet_value / 1000000); ?>

    :

    >

    >

    wp-file-manager/inc/settings.php000064400000004626151202472330012650 0ustar00

    wp-file-manager/inc/shortcode_docs.php000064400000022001151202472330013775 0ustar00 fm_custom_assets(); ?>

    [wp_file_manager_admin] ->
    [wp_file_manager] ->
    [wp_file_manager view="list" lang="en" theme="light" dateformat="d M, Y h:i A" allowed_roles="editor,author" access_folder="wp-content/plugins" write = "true" read = "false" hide_files = "kumar,abc.php" lock_extensions=".php,.css" allowed_operations="upload,download" ban_user_ids="2,3"]
    • 1
      allowed_roles = "*" ->
    • 2
      access_folder="test" ->
    • 3
      write = "true" ->
    • 4
      read = "true" ->
    • 5
      hide_files = "wp-content/plugins,wp-config.php" ->
    • 6
      lock_extensions=".php,.css" ->
    • 7
      allowed_operations="*" ->
    7.1
    • 1. ', 'wp-file-manager'); ?>
    • 2. ', 'wp-file-manager'); ?>
    • 3. ', 'wp-file-manager'); ?>
    • 4. ', 'wp-file-manager'); ?>
    • 5. ', 'wp-file-manager'); ?>
    • 6. ', 'wp-file-manager'); ?>
    • 7. ', 'wp-file-manager'); ?>
    • 8. ', 'wp-file-manager'); ?>
    • 9. ', 'wp-file-manager'); ?>
    • 10. ', 'wp-file-manager'); ?>
    • 11. ', 'wp-file-manager'); ?>
    • 12. ', 'wp-file-manager'); ?>
    • 13. ', 'wp-file-manager'); ?>
    • 14. ', 'wp-file-manager'); ?>
    • 15. ', 'wp-file-manager'); ?>
    • 16. ', 'wp-file-manager'); ?>
    • 17. ', 'wp-file-manager'); ?>
    • 8
      ban_user_ids="2,3" It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.', 'wp-file-manager'); ?>
    • 9
      view="list" Filemanager UI View. Default: grid', 'wp-file-manager'); ?>
    • 10
      dateformat="d M, Y h:i A" File Modified or Create date format. Default: d M, Y h:i A', 'wp-file-manager'); ?>
    • 11
      lang="en" File manager Language. Default: English(en)', 'wp-file-manager'); ?>
    • 12
      theme="light" File Manager Theme. Default: Light', 'wp-file-manager'); ?>
    wp-file-manager/inc/system_properties.php000064400000003010151202472330014572 0ustar00custom_css(); ?>

    wp-file-manager/js/file_manager_free_shortcode_admin.js000064400000010621151202472330017324 0ustar00jQuery(document).ready(function () { var security_key = fmfparams.nonce; var fmlang = fmfparams.lang; var ajaxurl = fmfparams.ajaxurl; var href = fm_get_network_url(); jQuery("#wp_file_manager") .elfinder({ url: ajaxurl, customData: { action: "mk_file_folder_manager", _wpnonce: security_key, networkhref:href, }, uploadMaxChunkSize: 1048576000000, defaultView: "list", height: 500, lang: fmlang, soundPath: fmfparams.plugin_url+'sounds/', baseUrl: fmfparams.plugin_url, /* Start */ handlers: { /* Upload */ upload: function (event, instance) { if (fmfparams.fm_enable_media_upload == "1") { var filepaths = []; var uploadedFiles = event.data.added; for (i in uploadedFiles) { var file = uploadedFiles[i]; filepaths.push(file.url); } if (filepaths != "") { var data = { action: "mk_file_folder_manager_media_upload", uploadefiles: filepaths, _wpnonce: security_key, networkhref:href, }; jQuery.post(ajaxurl, data, function (response) {}); } } }, }, commandsOptions: { edit: { mimes: [], editors: [ { mimes: [ "text/plain", "text/html", "text/javascript", "text/css", "text/x-php", "application/x-php", ], load: function (textarea) { var mimeType = this.file.mime; var filename = this.file.name; // CodeMirror configure editor = CodeMirror.fromTextArea(textarea, { //mode: 'css', indentUnit: 4, lineNumbers: true, theme: "3024-day", viewportMargin: Infinity, lineWrapping: true, //gutters: ["CodeMirror-lint-markers"], lint: true, }); return editor; }, close: function (textarea, instance) { this.myCodeMirror = null; }, save: function (textarea, editor) { jQuery(textarea).val(editor.getValue()); }, }, ], }, quicklook: { sharecadMimes: [ "image/vnd.dwg", "image/vnd.dxf", "model/vnd.dwf", "application/vnd.hp-hpgl", "application/plt", "application/step", "model/iges", "application/vnd.ms-pki.stl", "application/sat", "image/cgm", "application/x-msmetafile", ], googleDocsMimes: [ "application/pdf", "image/tiff", "application/vnd.ms-office", "application/msword", "application/vnd.ms-word", "application/vnd.ms-excel", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/postscript", "application/rtf", ], officeOnlineMimes: [ "application/vnd.ms-office", "application/msword", "application/vnd.ms-word", "application/vnd.ms-excel", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/vnd.oasis.opendocument.text", "application/vnd.oasis.opendocument.spreadsheet", "application/vnd.oasis.opendocument.presentation", ], }, }, uiOptions : { toolbarExtra : { autoHideUA: [], displayTextLabel: false, preferenceInContextmenu: false } } /* END */ }) .elfinder("instance"); }); wp-file-manager/js/fm-backup.js000064400000026567151202472330012355 0ustar00jQuery(document).ready(function(){ var ajax_url = fmbackupparams.ajaxurl; var wpfmbackup = fmbackupparams.wpfmbackup; jQuery(document).on("click", "#wpfm-backupnow-button", function(){ jQuery(".fmbkp_console h3").removeAttr('style'); var fm_bkp_database = jQuery('#fm_bkp_database').prop('checked'); var fm_bkp_files = jQuery('#fm_bkp_files').prop('checked'); var fm_bkp_plugins = jQuery('#fm_bkp_plugins').prop('checked'); var fm_bkp_themes = jQuery('#fm_bkp_themes').prop('checked'); var fm_bkp_uploads = jQuery('#fm_bkp_uploads').prop('checked'); var fm_bkp_other = jQuery('#fm_bkp_other').prop('checked'); var fm_bkp_id = ''; // empty var flag = 1; if(fm_bkp_files === true && fm_bkp_plugins === false && fm_bkp_themes === false && fm_bkp_uploads === false && fm_bkp_other === false ){ alert(fmbackupparams.backup_empty_error); flag = 0; } if(flag == 1){ jQuery(".fmbkp_console_popup .close_fm_console").hide(); jQuery('.fmbkp_console_popup').show(); jQuery('#fmbkp_console').show().html('

    '+fmbackupparams.backup_running+'

      '); wp_fm_backup(ajax_url, fm_bkp_database,fm_bkp_files,fm_bkp_plugins,fm_bkp_themes,fm_bkp_uploads,fm_bkp_other,fm_bkp_id); } }); function wp_fm_backup(ajax_url, fm_bkp_database,fm_bkp_files,fm_bkp_plugins,fm_bkp_themes,fm_bkp_uploads,fm_bkp_other,fm_bkp_id){ jQuery.ajax({ url : ajax_url, type : 'post', data : { action : 'mk_file_manager_backup', database : fm_bkp_database, files: fm_bkp_files, plugins: fm_bkp_plugins, themes: fm_bkp_themes, uploads: fm_bkp_uploads, others: fm_bkp_other, bkpid: fm_bkp_id, nonce: wpfmbackup, }, success : function( response ) { var res = JSON.parse(response); var next_step = res.step; jQuery('.fmbkp_console_popup').show(); if(next_step == '0') { jQuery('.fmbkp_console_loader').hide(); jQuery('#fmbkp_console').show().find("ul").append(res.msg); setTimeout(function(){ location.reload(); }, 600); } else { jQuery('#fmbkp_console').show().find("ul").append(res.msg); wp_fm_backup(ajax_url,res.database,res.files,res.plugins,res.themes,res.uploads,res.others,res.bkpid); } } }); } jQuery(".backupids").click(function(){ if(jQuery(".backupids:checked").length == jQuery(".backupids").length){ jQuery(".bkpchkCheckAll").prop("checked",true); jQuery('.bkpCheckAll').addClass('disabled_btn'); jQuery('.bkpUnCheckAll').removeClass('disabled_btn'); jQuery('.bkpDelete').removeClass('disabled_btn'); } else{ jQuery(".bkpchkCheckAll").prop("checked",false); jQuery('.bkpUnCheckAll').addClass('disabled_btn'); jQuery('.bkpCheckAll').removeClass('disabled_btn'); jQuery('.bkpDelete').removeClass('disabled_btn'); if(jQuery(".backupids:checked").length == 0){ jQuery('.bkpDelete').addClass('disabled_btn'); } if(jQuery(".backupids:checked").length > 0){ jQuery('.bkpUnCheckAll').removeClass('disabled_btn'); } } }); // select all -> backups jQuery(".bkpchkCheckAll").click(function () { jQuery(".backupids").prop('checked', jQuery(this).prop('checked')); if(jQuery(this).prop('checked')) { jQuery('.bkpDelete,.bkpUnCheckAll').removeClass('disabled_btn'); jQuery('.bkpCheckAll').addClass('disabled_btn'); } else { jQuery('.bkpDelete,.bkpUnCheckAll').addClass('disabled_btn'); jQuery('.bkpCheckAll').removeClass('disabled_btn'); } }); jQuery(".bkpCheckAll").click(function () { jQuery(".backupids,.bkpchkCheckAll").prop('checked', true); jQuery('.bkpDelete,.bkpUnCheckAll').removeClass('disabled_btn'); jQuery(this).addClass('disabled_btn'); }); jQuery(".bkpUnCheckAll").click(function () { jQuery(".backupids,.bkpchkCheckAll").prop('checked', false); jQuery('.bkpDelete,.bkpUnCheckAll').addClass('disabled_btn'); jQuery('.bkpCheckAll').removeClass('disabled_btn'); }); // for toggle backup options jQuery("#fm_open_files_option").click(function () { jQuery("#fm_open_files_options").slideToggle(); }); //close console popup jQuery(".close_fm_console").click(function () { jQuery(".fmbkp_console_popup").hide(); }); // on delete - ajax jQuery(".bkpDelete").click(function () { var delarr = new Array(); jQuery(".backupids").each(function () { if(jQuery(this).is(':checked')) { delarr.push(jQuery(this).val()); } }); //each if(delarr == '') { alert(fmbackupparams.delete_backup); } else { var r = confirm(fmbackupparams.confirm_del) if (r == true) { jQuery.ajax({ type: "POST", url: ajax_url, data: { action : 'mk_file_manager_backup_remove', delarr: delarr, nonce: fmbackupparams.wpfmbackupremove, }, cache: false, success: function(response) { alert(response); location.reload(); } });//ajax } } }); //click //open DELETE popup jQuery('.bkpDeleteID').on("click",function(){ jQuery(".dlt_backup_popup").show(); var bkpId = jQuery(this).attr('id'); jQuery('.dlt_confirmed').attr("id", bkpId); }); //close DELETE popup jQuery(".close_dlt_backup, .dlt_cancel").click(function () { jQuery(".dlt_backup_popup").hide(); }); // on delete - ajax jQuery(".dlt_confirmed").click(function () { var bkpId = jQuery(this).attr('id') jQuery.ajax({ type: "POST", url: ajax_url, data: { action : 'mk_file_manager_single_backup_remove', id: bkpId, nonce: fmbackupparams.wpfmbackupremove, }, cache: false, success: function(response) { if(response == "1"){ jQuery(".fmbkp_console h3").css('text-transform','uppercase !important'); jQuery(".dlt_backup_popup").hide(); jQuery(".dlt_success_popup").show(); } } });//ajax }); //click jQuery(".close_dlt_success, .dlt_confirmed_success").click(function () { jQuery(".dlt_success_popup").hide(); location.reload(); }); // backup - ajax jQuery(".bkpViewLog").click(function () { jQuery('.fmbkp_console_popup').show(); jQuery('#fmbkp_console').html(''); var bkpId = jQuery(this).attr('id') jQuery.ajax({ type: "POST", url: ajax_url, data: { action : 'mk_file_manager_single_backup_logs', id: bkpId, nonce: fmbackupparams.wpfmbackuplogs }, cache: false, success: function(response) { jQuery('.fmbkp_console_loader').hide(); jQuery('#fmbkp_console').show().html(response); } });//ajax }); //click //open restore popup jQuery('.bkpRestoreID').on("click",function(){ var check_db = jQuery(this).parent().prev('.bck_action').text(); var packet = fmbackupparams.default_packet_value if( check_db.indexOf('Database') >= 0 && parseInt(packet) < 9999360){ alert(fmbackupparams.packet_error_msg); }else{ jQuery(".restore_backup_popup").show(); var bkpId = jQuery(this).attr('id'); jQuery('.restore_confirmed').attr("id", bkpId); } }); //close restore popup jQuery(".close_restore_backup, .restore_cancel").click(function () { jQuery(".restore_backup_popup").hide(); }); // on delete - ajax jQuery(".restore_confirmed").click(function () { jQuery(this).addClass('disabled_btn'); var bkpId = jQuery(this).attr('id'); jQuery(this).attr('disabled', true); var fm_res_database = true; var fm_res_plugins = true; var fm_res_themes = true; var fm_res_uploads = true; var fm_res_other =true; jQuery(".fmbkp_console_popup .close_fm_console").hide(); jQuery('.restore_backup_popup').hide(); jQuery('.fmbkp_console_popup').show(); jQuery('#fmbkp_console').show().html('

      '+fmbackupparams.restore_running+'

        '); wp_fm_restore(ajax_url, bkpId, fm_res_database,fm_res_plugins,fm_res_themes,fm_res_uploads,fm_res_other); }); function wp_fm_restore(ajax_url, bkpId,fm_res_database,fm_res_plugins,fm_res_themes,fm_res_uploads,fm_res_other){ jQuery.ajax({ url : ajax_url, type : 'post', data : { action : 'mk_file_manager_single_backup_restore', id: bkpId, nonce: fmbackupparams.wpfmbackuprestore, database : fm_res_database, plugins: fm_res_plugins, themes: fm_res_themes, uploads: fm_res_uploads, others: fm_res_other, }, cache: false, success : function( response ) { var res = JSON.parse(response); var next_step = res.step; jQuery('.fmbkp_console_popup').show(); if(next_step == '0') { jQuery('.fmbkp_console_loader').hide(); jQuery('#fmbkp_console').show().find("ul").append(res.msg+' '+res.msgg); location.reload(); } else { if(res.msg != ''){ jQuery('#fmbkp_console').show().find("ul").append(res.msg); } wp_fm_restore(ajax_url, bkpId, res.database,res.plugins,res.themes,res.uploads,res.others); } } }); } }); jQuery(document).on('click','#fm_bkp_files', function(){ var status = this.checked; jQuery(".chk-files").each( function() { jQuery(this).prop("checked",status); }); }); jQuery(document).on("click",".bck-icon", function(){ var key = jQuery(this).attr('data-token'); window.open(fmbackupparams.backup_baseurl+key); }); jQuery(document).on("click",".fm-download-all", function(){ var selector = jQuery(this).parents('.bck_action').find('a'); var key = jQuery(selector).attr('data-token'); key = key+'/yes'; window.open(fmbackupparams.backupall_baseurl+key); });wp-file-manager/js/fm_script.js000064400000005467151202472330012472 0ustar00jQuery(window).on('load',function (e) { jQuery('.wfmrs').delay(10000).slideDown('slow'); jQuery('.lokhal_verify_email_popup').slideDown(); jQuery('.lokhal_verify_email_popup_overlay').show(); }); jQuery(document).ready(function () { jQuery('.close_fm_help').on('click', function (e) { var what_to_do = jQuery(this).data('ct'); jQuery.ajax({ type: "post", url: ajaxurl, data: { action: "mk_fm_close_fm_help", what_to_do: what_to_do }, success: function (response) { jQuery('.wfmrs').slideUp('slow'); } }); }); jQuery('#fm_lang').change(function (e) { var fm_lang = jQuery(this).val(); window.location.href = 'admin.php?page=wp_file_manager&nonce=' + fmscript.nonce + '&lang=' + fm_lang; }); jQuery('#fm_theme').change(function (e) { var fm_theme = jQuery(this).val(); window.location.href = 'admin.php?page=wp_file_manager&theme=' + fm_theme; }); jQuery('.lokhal_cancel').click(function (e) { e.preventDefault(); var email = jQuery('#verify_lokhal_email').val(); var fname = jQuery('#verify_lokhal_fname').val(); var lname = jQuery('#verify_lokhal_lname').val(); jQuery('.lokhal_verify_email_popup').slideUp(); jQuery('.lokhal_verify_email_popup_overlay').hide(); send_ajax('cancel', email, fname, lname); }); jQuery('.verify_local_email').click(function (e) { e.preventDefault(); var email = jQuery('#verify_lokhal_email').val(); var fname = jQuery('#verify_lokhal_fname').val(); var lname = jQuery('#verify_lokhal_lname').val(); var send_mail = true; jQuery('.error_msg').hide(); if (fname == '') { jQuery('#fname_error').show(); send_mail = false; } if (lname == '') { jQuery('#lname_error').show(); send_mail = false; } if (email == '') { jQuery('#email_error').show(); send_mail = false; } if (send_mail) { jQuery('.lokhal_verify_email_popup').slideUp(); jQuery('.lokhal_verify_email_popup_overlay').hide(); send_ajax('verify', email, fname, lname); } }); // mac if (navigator.userAgent.indexOf('Mac OS X') != -1) { jQuery("body").addClass("mac"); } else { jQuery("body").addClass("windows"); } jQuery('.fm_close_msg').click(function (e) { jQuery('.fm_msg_popup').fadeOut(); }); }); function send_ajax(todo, email, fname, lname) { jQuery.ajax({ type: "post", url: ajaxurl, data: { action: "mk_filemanager_verify_email", 'todo': todo, 'vle_nonce': vle_nonce, 'lokhal_email': email, 'lokhal_fname': fname, 'lokhal_lname': lname }, success: function (response) { if (response == '1') { alert('A confirmation link has been sent to your email address. Please click on the link to verify your email address.'); } else if (response == '2') { alert('Error - Email Not Sent.'); } } }); }wp-file-manager/js/top.js000064400000000610151202472330011267 0ustar00var $ = jQuery; function fm_get_network_url(){ var urlhash = window.location.hash; var href = ''; if(urlhash){ var arr = urlhash.split('_'); var lastItem = arr.pop(); var txt = decodeURIComponent(escape(window.atob(lastItem))); if(fmfparams.is_multisite == '1') { if(txt == '/') { href = fmfparams.network_url; } } } return href; }wp-file-manager/languages/wp-file-manager-af.mo000064400000041403151202472330015362 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&_()')>)-7*'e**)**X+?+B;, ~,9,+,., ---B-!R-t------*.,.5. >.I.].q...%....#./(5/^/f/o/ w/'////$// 050R0d01 1:1#U1=y112*222223~444^|55k6 77#7(7 A7JL717777 8 68A8V8p8Lv8d8(9E9c9f95k9999$9 :$:,:C:[:{:n:Q:N;!W;y;;%;1; <<"<5<%D<j<<<<<< << << ='=D= Y=#z======4>;>#A>e>>(>>>>? ?#?:? Y?z?????? @@,@E@*a@ @@@'@@@A:AOBRfBIB}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 15:14+0530 Last-Translator: admin Language-Team: Language: af MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e;esc_attr__ X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * vir alle operasies en om een ​​of ander operasie toe te laat, kan u die naam van die operasie noem soos, allow_operations="oplaai, aflaai". Let wel: geskei deur komma(,). Verstek: *-> Dit sal bepaalde gebruikers verbied deur net hul ID's geskei deur komma's (,). As die gebruiker Ban is, kan hulle nie toegang tot die wp-lêerbestuurder op die voorkant hê nie.-> Lêerbestuurder-tema. Verstek: Light-> Lêer gewysig of skep datumformaat. Standaard: d M, Y h:i A-> Lêerbestuurder Taal. Verstek: English(en)-> Filemanager UI-aansig. Verstek: gridAksieHandelinge met geselekteerde rugsteun (e)Admin kan aksies van enige gebruiker beperk. Versteek ook lêers en vouers en stel verskillende - verskillende vouerspaaie vir verskillende gebruikers in.Admin kan aksies van enige gebruikerrol beperk. Versteek ook lêers en vouers en stel verskillende - verskillende vouerspaaie vir verskillende gebruikersrolle in.Nadat die asblik geaktiveer is, gaan u lêers na die asblikmap.Nadat dit aangeskakel is, gaan alle lêers na die mediabiblioteek.Alles klaarIs u seker dat u geselekteerde rugsteun (e) wil verwyder?Is u seker u wil hierdie rugsteun verwyder?Is u seker dat u hierdie rugsteun wil herstel?RugsteundatumMaak nou 'n rugsteunRugsteunopsies:Rugsteundata (klik om af te laai)Rugsteunlêers sal onder weesRugsteun loop, wag assebliefRugsteun suksesvol uitgevee.Rugsteun/herstelRugsteun suksesvol verwyder!VerbodBlaaier en bedryfstelsel (HTTP_USER_AGENT)Koop PROKoop ProKanselleerVerander tema hier:Klik om PRO te koopKode-redakteur sienBevestigKopieer lêers of vouersTans is geen rugsteun (s) gevind nie.Vee lêers uitDonkerDatabasis-rugsteunDatabasis rugsteun op datum gedoen Databasis rugsteun gedoen.Databasis-rugsteun is suksesvol herstel.VerstekVerstek:Vee uitDeselekteerMaak hierdie kennisgewing van die hand.skenkLaai lêerlêers afLaai lêers afDupliseer of kloon 'n vouer of lêerWysig lêerlogboekeWysig 'n lêerAktiveer lêers wat na mediabiblioteek opgelaai word?Skakel asblik in?Fout: Kan nie rugsteun herstel nie, want databasisrugsteun is groot. Probeer asseblief om Maksimum toegelate grootte vanaf Voorkeure-instellings te vergroot.Bestaande rugsteun (e)Pak argief of lêer met rits uitLêerbestuurder - kortkodeLêerbestuurder - stelseleienskappeLêerbestuurder se wortelpad, u kan verander volgens u keuse.Lêer Bestuurder het 'n kode redakteur met verskeie temas. U kan enige tema vir kode redakteur kies. Dit sal vertoon wanneer u enige lêer wysig. Ook kan jy die volle skerm modus van kode redakteur toelaat.Lêerbewerkingslys:Lêer bestaan ​​nie om af te laai nie.Lêers rugsteunGrysHulpHier is "toets" die naam van die gids wat in die wortelgids geleë is, of jy kan 'n pad vir sub-vouers gee soos "wp-content/plugins". As dit leeg of leeg gelaat word, sal dit toegang tot alle dopgehou in die wortelgids kry. Verstek: WortelgidsHier kan admin toegang gee tot gebruikersrolle om filemanager te gebruik. Admin kan die standaard toegangsmap instel en ook die oplaai grootte van lêerbestuurder beheer.Inligting van die lêerOngeldige sekuriteitskode.Dit sal alle rolle toelaat om toegang tot lêerbestuurder aan die voorkant te kry, of jy kan eenvoudig gebruik vir spesifieke gebruikersrolle soos allow_roles="redakteur, skrywer" (geskei deur komma(,))Dit sal in kommas genoem word sluit. jy kan meer sluit soos ".php,.css,.js" ens. Verstek: NullDit sal lêerbestuurder aan die voorkant wys. Maar slegs administrateur kan toegang daartoe kry en sal beheer vanaf lêerbestuurderinstellings.Dit sal lêerbestuurder aan die voorkant wys. U kan alle instellings vanaf lêerbestuurderinstellings beheer. Dit sal dieselfde werk as backend WP File Manager.Laaste logboodskapLigLogsMaak 'n gids of 'n vouerMaak lêerMaksimum toegelate grootte ten tyde van die herstel van databasisrugsteun.Maksimum lêeroplaaigrootte (upload_max_filesize)Geheue limiet (memory_limit)Rugsteun-ID ontbreek.Parametersoort ontbreek.Ontbrekende vereiste parameters.Nee dankieGeen logboodskap nieGeen logboeke gevind nie!Nota:Opmerking: dit is demo-skermkiekies. Koop File Manager pro na Logs-funksies.Let wel: Hierdie is net 'n demo skermkiekie. Om instellings te kry, koop asseblief ons pro-weergawe.Niks gekies vir rugsteun nieNiks gekies vir rugsteun nie.OKOkéAnder (enige ander gidse wat binne wp-inhoud voorkom)Ander rugsteun op datum gedoenAnder rugsteun gedoen.Ander rugsteun het misluk.Ander rugsteun is suksesvol herstel.PHP weergaweGrense:Plak 'n lêer of vouerVoer asb e-posadres in.Voer asseblief die voornaam in.Voer asb. Van in.Verander dit noukeurig, verkeerde pad kan daartoe lei dat die invoegtoepassing van die lêerbestuurder afgaan.Verhoog asseblief veldwaarde as jy foutboodskap kry ten tyde van rugsteunherstel.InproppeInsteek-rugsteun op datum gedoen Inprop-rugsteun gedoen.Inprop-rugsteun het misluk.Inprop-rugsteun is suksesvol herstel.Plaas maksimum lêeroplaaigrootte (post_max_size)VoorkeurePrivaatheidsbeleidOpenbare wortelpadHERSTEL LILERSVerwyder of verwyder lêers en vouersHernoem 'n lêer of vouerHerstelHerstel loop, wag assebliefSUKSESStoor veranderingeStoor tans ...Soek dingeSekuriteitskwessie.Kies AllesKies rugsteun(e) om uit te vee!instellingsInstellings - Kode-redakteurStellings - AlgemeneStellings - GebruikersbeperkingsStellings - GebruikersrolbeperkingsInstellings gestoor.Kortkode - PROSny 'n lêer of vouer eenvoudigStelsel EienskappeDiensvoorwaardesDie rugsteun het blykbaar geslaag en is nou voltooi.TemasRugsteun van temas op datum gedoen Rugsteun van temas gedoen.Tema-rugsteun het misluk.Rugsteun van temas is suksesvol herstel.Nou tydTime-out (max_execution_time)Om 'n argief of rits te maakVandagGEBRUIK:Kan nie databasisrugsteun skep nie.Kon nie rugsteun verwyder nie!Kan nie DB-rugsteun herstel nie.Kan nie ander herstel nie.Kan nie inproppe herstel nie.Kan nie temas herstel nie.Kan nie oplaaie herstel nie.Laai lêers opLaai lêers opOplaaieLaai rugsteun op datum op Oplaaie rugsteun gedoen.Oplaai-rugsteun het misluk.Rugsteun van oplaaie is suksesvol herstel.VerifieerSien logNaam van die inpropWP-lêerbestuurder - Rugsteun / Herstel WP-lêerbestuurder bydraeOns is mal daaroor om nuwe vriende te maak! Teken hieronder in en ons belowe om hou u op hoogte van ons nuutste nuwe inproppe, opdaterings, fantastiese aanbiedings en 'n paar spesiale aanbiedings.Welkom by File ManagerU het geen veranderinge aangebring om gestoor te word nie.vir toegang tot leestoestemming vir lêers, let wel: waar/onwaar, verstek: waarvir toegang tot skryftoestemmings vir lêers, let op: waar/onwaar, verstek: onwaardit sal versteek hier genoem. Let wel: geskei deur komma(,). Verstek: Nulwp-file-manager/languages/wp-file-manager-af.po000064400000065144151202472330015375 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 12:37+0530\n" "PO-Revision-Date: 2022-02-25 15:14+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e;esc_attr__\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Rugsteun van temas is suksesvol herstel." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Kan nie temas herstel nie." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Rugsteun van oplaaie is suksesvol herstel." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Kan nie oplaaie herstel nie." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Ander rugsteun is suksesvol herstel." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Kan nie ander herstel nie." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Inprop-rugsteun is suksesvol herstel." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Kan nie inproppe herstel nie." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Databasis-rugsteun is suksesvol herstel." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Alles klaar" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Kan nie DB-rugsteun herstel nie." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Rugsteun suksesvol verwyder!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Kon nie rugsteun verwyder nie!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Databasis rugsteun op datum gedoen " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Insteek-rugsteun op datum gedoen " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Rugsteun van temas op datum gedoen " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Laai rugsteun op datum op " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Ander rugsteun op datum gedoen" #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Logs" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Geen logboeke gevind nie!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Niks gekies vir rugsteun nie" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Sekuriteitskwessie." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Databasis rugsteun gedoen." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Kan nie databasisrugsteun skep nie." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Inprop-rugsteun gedoen." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Inprop-rugsteun het misluk." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Rugsteun van temas gedoen." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Tema-rugsteun het misluk." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Oplaaie rugsteun gedoen." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Oplaai-rugsteun het misluk." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Ander rugsteun gedoen." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Ander rugsteun het misluk." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Naam van die inprop" #: file_folder_manager.php:769 msgid "Settings" msgstr "instellings" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Voorkeure" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Stelsel Eienskappe" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kortkode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Rugsteun/herstel" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Koop Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "skenk" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Lêer bestaan ​​nie om af te laai nie." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Ongeldige sekuriteitskode." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Rugsteun-ID ontbreek." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parametersoort ontbreek." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Ontbrekende vereiste parameters." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Fout: Kan nie rugsteun herstel nie, want databasisrugsteun is groot. Probeer " "asseblief om Maksimum toegelate grootte vanaf Voorkeure-instellings te " "vergroot." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Kies rugsteun(e) om uit te vee!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Is u seker dat u geselekteerde rugsteun (e) wil verwyder?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Rugsteun loop, wag asseblief" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Herstel loop, wag asseblief" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Niks gekies vir rugsteun nie." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP-lêerbestuurder - Rugsteun / Herstel" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Rugsteunopsies:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Databasis-rugsteun" #: inc/backup.php:64 msgid "Files Backup" msgstr "Lêers rugsteun" #: inc/backup.php:68 msgid "Plugins" msgstr "Inproppe" #: inc/backup.php:71 msgid "Themes" msgstr "Temas" #: inc/backup.php:74 msgid "Uploads" msgstr "Oplaaie" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Ander (enige ander gidse wat binne wp-inhoud voorkom)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Maak nou 'n rugsteun" #: inc/backup.php:89 msgid "Time now" msgstr "Nou tyd" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUKSES" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Rugsteun suksesvol uitgevee." #: inc/backup.php:102 msgid "Ok" msgstr "Oké" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "Vee lêers uit" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Is u seker u wil hierdie rugsteun verwyder?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Kanselleer" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Bevestig" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "HERSTEL LILERS" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Is u seker dat u hierdie rugsteun wil herstel?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Laaste logboodskap" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Die rugsteun het blykbaar geslaag en is nou voltooi." #: inc/backup.php:171 msgid "No log message" msgstr "Geen logboodskap nie" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Bestaande rugsteun (e)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Rugsteundatum" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Rugsteundata (klik om af te laai)" #: inc/backup.php:190 msgid "Action" msgstr "Aksie" #: inc/backup.php:210 msgid "Today" msgstr "Vandag" #: inc/backup.php:239 msgid "Restore" msgstr "Herstel" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Vee uit" #: inc/backup.php:241 msgid "View Log" msgstr "Sien log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Tans is geen rugsteun (s) gevind nie." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Handelinge met geselekteerde rugsteun (e)" #: inc/backup.php:251 msgid "Select All" msgstr "Kies Alles" #: inc/backup.php:252 msgid "Deselect" msgstr "Deselekteer" #: inc/backup.php:254 msgid "Note:" msgstr "Nota:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Rugsteunlêers sal onder wees" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr " WP-lêerbestuurder bydrae" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Opmerking: dit is demo-skermkiekies. Koop File Manager pro na Logs-funksies." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klik om PRO te koop" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Koop PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Wysig lêerlogboeke" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Laai lêerlêers af" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Laai lêers op" #: inc/root.php:43 msgid "Settings saved." msgstr "Instellings gestoor." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Maak hierdie kennisgewing van die hand." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "U het geen veranderinge aangebring om gestoor te word nie." #: inc/root.php:55 msgid "Public Root Path" msgstr "Openbare wortelpad" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Lêerbestuurder se wortelpad, u kan verander volgens u keuse." #: inc/root.php:59 msgid "Default:" msgstr "Verstek:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Verander dit noukeurig, verkeerde pad kan daartoe lei dat die " "invoegtoepassing van die lêerbestuurder afgaan." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Skakel asblik in?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Nadat die asblik geaktiveer is, gaan u lêers na die asblikmap." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Aktiveer lêers wat na mediabiblioteek opgelaai word?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Nadat dit aangeskakel is, gaan alle lêers na die mediabiblioteek." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maksimum toegelate grootte ten tyde van die herstel van databasisrugsteun." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Verhoog asseblief veldwaarde as jy foutboodskap kry ten tyde van " "rugsteunherstel." #: inc/root.php:90 msgid "Save Changes" msgstr "Stoor veranderinge" #: inc/settings.php:10 msgid "Settings - General" msgstr "Stellings - Algemene" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Let wel: Hierdie is net 'n demo skermkiekie. Om instellings te kry, koop " "asseblief ons pro-weergawe." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Hier kan admin toegang gee tot gebruikersrolle om filemanager te gebruik. " "Admin kan die standaard toegangsmap instel en ook die oplaai grootte van " "lêerbestuurder beheer." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Instellings - Kode-redakteur" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Lêer Bestuurder het 'n kode redakteur met verskeie temas. U kan enige tema " "vir kode redakteur kies. Dit sal vertoon wanneer u enige lêer wysig. Ook kan " "jy die volle skerm modus van kode redakteur toelaat." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kode-redakteur sien" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Stellings - Gebruikersbeperkings" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Admin kan aksies van enige gebruiker beperk. Versteek ook lêers en vouers en " "stel verskillende - verskillende vouerspaaie vir verskillende gebruikers in." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Stellings - Gebruikersrolbeperkings" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Admin kan aksies van enige gebruikerrol beperk. Versteek ook lêers en vouers " "en stel verskillende - verskillende vouerspaaie vir verskillende " "gebruikersrolle in." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Lêerbestuurder - kortkode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "GEBRUIK:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Dit sal lêerbestuurder aan die voorkant wys. U kan alle instellings vanaf " "lêerbestuurderinstellings beheer. Dit sal dieselfde werk as backend WP File " "Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Dit sal lêerbestuurder aan die voorkant wys. Maar slegs administrateur kan " "toegang daartoe kry en sal beheer vanaf lêerbestuurderinstellings." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Grense:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Dit sal alle rolle toelaat om toegang tot lêerbestuurder aan die voorkant te " "kry, of jy kan eenvoudig gebruik vir spesifieke gebruikersrolle soos " "allow_roles=\"redakteur, skrywer\" (geskei deur komma(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Hier is \"toets\" die naam van die gids wat in die wortelgids geleë is, of " "jy kan 'n pad vir sub-vouers gee soos \"wp-content/plugins\". As dit leeg of " "leeg gelaat word, sal dit toegang tot alle dopgehou in die wortelgids kry. " "Verstek: Wortelgids" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "vir toegang tot skryftoestemmings vir lêers, let op: waar/onwaar, verstek: " "onwaar" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "vir toegang tot leestoestemming vir lêers, let wel: waar/onwaar, verstek: " "waar" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "dit sal versteek hier genoem. Let wel: geskei deur komma(,). Verstek: Nul" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Dit sal in kommas genoem word sluit. jy kan meer sluit soos \".php,.css,.js" "\" ens. Verstek: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* vir alle operasies en om een ​​of ander operasie toe te laat, kan u die naam " "van die operasie noem soos, allow_operations=\"oplaai, aflaai\". Let wel: " "geskei deur komma(,). Verstek: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lêerbewerkingslys:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Maak 'n gids of 'n vouer" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Maak lêer" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Hernoem 'n lêer of vouer" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Dupliseer of kloon 'n vouer of lêer" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Plak 'n lêer of vouer" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Verbod" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Om 'n argief of rits te maak" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Pak argief of lêer met rits uit" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopieer lêers of vouers" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Sny 'n lêer of vouer eenvoudig" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Wysig 'n lêer" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Verwyder of verwyder lêers en vouers" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Laai lêers af" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Laai lêers op" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Soek dinge" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Inligting van die lêer" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Hulp" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Dit sal bepaalde gebruikers verbied deur net hul ID's geskei deur komma's " "(,). As die gebruiker Ban is, kan hulle nie toegang tot die wp-" "lêerbestuurder op die voorkant hê nie." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI-aansig. Verstek: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Lêer gewysig of skep datumformaat. Standaard: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Lêerbestuurder Taal. Verstek: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Lêerbestuurder-tema. Verstek: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Lêerbestuurder - stelseleienskappe" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP weergawe" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimum lêeroplaaigrootte (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Plaas maksimum lêeroplaaigrootte (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Geheue limiet (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Time-out (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Blaaier en bedryfstelsel (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Verander tema hier:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Verstek" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Donker" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Lig" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Grys" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Welkom by File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Ons is mal daaroor om nuwe vriende te maak! Teken hieronder in en ons belowe " "om\n" " hou u op hoogte van ons nuutste nuwe inproppe, opdaterings,\n" " fantastiese aanbiedings en 'n paar spesiale aanbiedings." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Voer asseblief die voornaam in." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Voer asb. Van in." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Voer asb e-posadres in." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verifieer" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nee dankie" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Diensvoorwaardes" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Privaatheidsbeleid" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Stoor tans ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Backup not found!" #~ msgstr "Rugsteun nie gevind nie!" #~ msgid "Backup removed successfully!" #~ msgstr "Rugsteun suksesvol verwyder!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Niks gekies vir rugsteun nie" #~ msgid "Security Issue." #~ msgstr "Veiligheidskwessie. " #~ msgid "Database backup done." #~ msgstr "" #~ "Rugsteun van databasis gedoen. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Kan nie databasis-rugsteun skep nie. " #~ msgid "Plugins backup done." #~ msgstr "Insteek-rugsteun gedoen. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Terugvoer van inproppe kon nie. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Rugsteun van temas gedoen. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Rugsteun van temas het misluk. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Rugsteun oplaaie is gedoen. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Kon nie rugsteun oplaai nie. " #~ msgid "Others backup done." #~ msgstr "Ander rugsteun gedoen. " #~ msgid "Others backup failed." #~ msgstr "Ander rugsteun het misluk. " #~ msgid "All Done" #~ msgstr "Almal gedoen " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ " [wp_file_manager view = \"list\" lang = \"en\" theme = \"light\" " #~ "dateformat = \"d M, Y h: i A\" allowed_roles = \"redakteur, outeur\" " #~ "access_folder = \"wp-content / plugins\" write = \"waar\" lees = \"onwaar" #~ "\" hide_files = \"kumar, abc.php\" lock_extensions = \". php, .css\" " #~ "allow_operations = \"oplaai, aflaai\" ban_user_ids = \"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Bestuur jou WP-lêers." #, fuzzy #~| msgid "Plugins backup failed." #~ msgid "

        No logs found!

        " #~ msgstr "" #~ "Terugvoer van inproppe kon nie. " #~ msgid "Extensions" #~ msgstr "uitbreidings" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Dra asseblief 'n donasie by, om die plugin stabieler te maak. U kan die " #~ "bedrag van u keuse betaal." wp-file-manager/languages/wp-file-manager-ar.mo000064400000052305151202472330015401 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&( )A*q*PZ+:++O+=,+-o-.b./Z/Xk/`/(%0+N0+z0D0?0P+19|11=1 2:2Z2 j2w2222 2-21 3>3T3;]3X3D3]74 4 44 4!44$45:$5$_55G55%50"70S71737g7lR8#9,9(: 9: D:Q:;<="=7>>?z@@@'@@@JrA"A2A!B/5B eBsB+B B}BKC@CA#DeDlDEsDAD5D41ENfE EE%EEE.AF0pFFOGGKG7=HGuHaHKIkI~III8I&J7JE@JJJ JJJJ4J2K AKbK*zK5KKK&L:LRLIhL LGL3M29MLlMMM*M N!NL1ND~N`N5$OHZO3O9O$P6PPPB_P.PCPRQhQ qQQDQQQ.RA-SooSoSuOT}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 15:19+0530 Last-Translator: admin Language-Team: Language: ar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100 >= 3 && n%100<=10 ? 3 : n%100 >= 11 && n%100<=99 ? 4 : 5; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e;esc_attr__ X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * لجميع العمليات وللسماح ببعض العمليات ، يمكنك ذكر اسم العملية مثل ، allowed_operations = "upload ، download". ملاحظة: مفصولة بفاصلة (،). تقصير: *-> سيحظر مستخدمين معينين بمجرد وضع معرفاتهم مفصولة بفواصل (،). إذا كان المستخدم هو الحظر ، فلن يتمكن من الوصول إلى مدير ملفات wp على الواجهة الأمامية.-> موضوع مدير الملفات. الافتراضي: ضوء-> تعديل الملف أو إنشاء تنسيق التاريخ. الافتراضي: د م ، ص ح: أنا أ-> لغة مدير الملفات. الافتراضي: الإنجليزية (ar)-> عرض Filemanager UI. الافتراضي: الشبكةعملإجراءات بناءً على النسخ الاحتياطية المحددةيمكن للمشرف تقييد إجراءات أي مستخدم. أيضا إخفاء الملفات والمجلدات ويمكن تعيين مختلف - مسارات المجلدات المختلفة لمختلف المستخدمين.يمكن للمشرف تقييد الإجراءات من أي وسيرول. أيضا إخفاء الملفات والمجلدات ويمكن تعيين مختلف - مسارات المجلدات المختلفة لمختلف أدوار المستخدمين.بعد تمكين سلة المهملات ، ستنتقل ملفاتك إلى مجلد سلة المهملات.بعد تمكين هذا ، ستنتقل جميع الملفات إلى مكتبة الوسائط.كله تمامهل تريد بالتأكيد إزالة النسخ الاحتياطية المحددة؟هل أنت متأكد أنك تريد حذف هذه النسخة الاحتياطية؟هل أنت متأكد أنك تريد استعادة هذه النسخة الاحتياطية؟تاريخ النسخ الاحتياطياعمل نسخة احتياطية الانخيارات النسخ الاحتياطي:بيانات النسخ الاحتياطي (انقر للتنزيل)ستكون ملفات النسخ الاحتياطي أقل منالنسخ الاحتياطي قيد التشغيل ، يرجى الانتظارتم حذف النسخة الاحتياطية بنجاح.اسنرجاع البياناتتمت إزالة النسخ الاحتياطية بنجاح!المنعالمتصفح ونظام التشغيل (HTTP_USER_AGENT)شراء بروشراء Proيلغيتغيير المظهر هنا:انقر لشراء PROكود-إديتور فيويتأكدانسخ الملفات أو المجلداتحاليا لا توجد نسخ احتياطية.حذف الملفاتداكننسخه الاحتياطيه لقاعدة البياناتتم إجراء نسخ احتياطي لقاعدة البيانات في التاريخ تم إجراء نسخ احتياطي لقاعدة البيانات.تمت استعادة النسخ الاحتياطي لقاعدة البيانات بنجاح.تقصيرتقصير:حذفإلغاءتجاهل هذا الإشعار.تبرعتنزيل ملفات السجلاتتحميل ملفاتقم بتكرار أو استنساخ مجلد أو ملفتحرير سجلات الملفاتتحرير ملفتمكين تحميل الملفات إلى مكتبة الوسائط؟تمكين المهملات؟خطأ: غير قادر على استعادة النسخة الاحتياطية لأن النسخ الاحتياطي لقاعدة البيانات كبير الحجم. يرجى محاولة زيادة الحد الأقصى للحجم المسموح به من إعدادات التفضيلات.النسخ الاحتياطية الموجودةاستخراج أرشيف أو ملف مضغوطمدير الملفات - الرمز القصيرإدارة الملفات - خصائص النظاممسار الجذر لمدير الملفات ، يمكنك التغيير وفقًا لاختيارك.مدير الملفات يحتوي على محرر التعليمات البرمجية مع مواضيع متعددة. يمكنك اختيار أي موضوع لمحرر التعليمات البرمجية. سيتم عرضه عند تعديل أي ملف. كما يمكنك السماح وضع ملء الشاشة من محرر التعليمات البرمجية.قائمة عمليات الملف:الملف غير موجود للتنزيل.ملفات النسخ الاحتياطيرماديمساعدةهنا "test" هو اسم المجلد الموجود في الدليل الجذر ، أو يمكنك إعطاء مسار للمجلدات الفرعية مثل "wp-content / plugins". إذا تم تركه فارغًا أو فارغًا ، فسيتم الوصول إلى جميع المجلدات الموجودة في الدليل الجذر. الافتراضي: الدليل الجذرهنا المشرف يمكن أن تعطي الوصول إلى أدوار المستخدم لاستخدام فيليماناجر. يمكن للمشرف تعيين المجلد الوصول الافتراضي وأيضا التحكم في تحميل حجم فيلماناجر.معلومات الملفكود الحمايه خاطئ.سيسمح لجميع الأدوار بالوصول إلى مدير الملفات على الواجهة الأمامية أو يمكنك الاستخدام البسيط لأدوار مستخدم معينة مثل allow_roles = "editor، author" (مفصول بفاصلة (،))سيتم قفل المذكورة بالفواصل. يمكنك قفل المزيد مثل ".php ، .css ، .js" إلخ. الافتراضي: Nullسيظهر مدير الملفات في الواجهة الأمامية. لكن المسؤول فقط هو من يمكنه الوصول إليه وسيتحكم في إعدادات مدير الملفات.سيظهر مدير الملفات في الواجهة الأمامية. يمكنك التحكم في جميع الإعدادات من إعدادات مدير الملفات. سيعمل نفس مدير ملفات WP الخلفي.آخر رسالة تسجيلضوءالسجلاتاصنع دليلًا أو مجلدًاقم بعمل ملفالحجم الأقصى المسموح به في وقت استعادة النسخة الاحتياطية لقاعدة البيانات.الحد الأقصى لحجم ملف التحميل (upload_max_filesize)حد الذاكرة (memory_limit)معرف النسخ الاحتياطي مفقود.نوع المعلمة مفقود.المعلمات المطلوبة مفقودة.لا شكرالا توجد رسالة سجللم يتم العثور على سجلات!ملحوظة:ملاحظة: هذه لقطات شاشة تجريبية. يرجى شراء File Manager pro إلى وظائف السجلات.ملاحظة: هذا هو مجرد لقطة تجريبي. للحصول على إعدادات يرجى شراء لدينا نسخة للمحترفين.لم يتم تحديد أي شيء للنسخ الاحتياطيلم يتم تحديد أي شيء للنسخ الاحتياطي.نعمنعمأخرى (أي أدلة أخرى موجودة داخل محتوى wp)النسخ الاحتياطي للآخرين في التاريخ تم إجراء نسخ احتياطي للآخرين.فشل النسخ الاحتياطي للآخرين.تمت استعادة النسخ الاحتياطية الأخرى بنجاح.نسخة فبالمعلمات:الصق ملفًا أو مجلدًاالرجاء إدخال عنوان البريد الإلكتروني.الرجاء إدخال الاسم الأول.الرجاء إدخال الاسم الأخير.يرجى تغيير هذا بعناية ، حيث يمكن أن يؤدي المسار الخاطئ إلى نزول البرنامج المساعد لمدير الملفات.يرجى زيادة قيمة الحقل إذا كنت تتلقى رسالة خطأ في وقت استعادة النسخة الاحتياطية.الإضافاتتم إجراء نسخ احتياطي للإضافات في التاريخ تم إجراء نسخ احتياطي للإضافات.فشل النسخ الاحتياطي للمكونات الإضافية.تمت استعادة النسخ الاحتياطي للمكونات الإضافية بنجاح.نشر الحد الأقصى لحجم ملف التحميل (post_max_size)التفضيلاتسياسة الخصوصيةمسار الجذر العاماستعادة الملفاتإزالة أو حذف الملفات والمجلداتأعد تسمية ملف أو مجلديعيدالاستعادة قيد التشغيل ، يرجى الانتظارنجاححفظ التغييراتإنقاذ...ابحث عن الأشياءمشكلة أمنية.اختر الكلحدد النسخ الاحتياطية لحذفها!إعداداتإعدادات - كود محررإعدادات - عامإعدادات - قيود المستخدمالإعدادات - قيود دور المستخدمتم حفظ الإعدادات.شورتكود - بروقص ملف أو مجلد ببساطةخصائص النظامشروط الخدمةيبدو أن النسخ الاحتياطي نجح واكتمل الآن.ثيماتتم إجراء نسخ احتياطي للسمات في التاريخ تم إجراء نسخ احتياطي للسمات.فشل النسخ الاحتياطي للسمات.تمت استعادة النسخ الاحتياطي للسمات بنجاح.الوقت الآنمهلة (max_execution_time)لعمل أرشيف أو ملف مضغوطاليوماستعمال:تعذر إنشاء نسخة احتياطية لقاعدة البيانات.غير قادر على إزالة النسخة الاحتياطية!غير قادر على استعادة نسخة قاعدة البيانات الاحتياطية.غير قادر على استعادة الآخرين.غير قادر على استعادة المكونات الإضافية.غير قادر على استعادة السمات.غير قادر على استعادة التحميلات.تحميل ملفات السجلاتتحميل الملفاتتحميلاتتم تحميل النسخ الاحتياطي في التاريخ تم تحميل النسخ الاحتياطي.فشل النسخ الاحتياطي لعمليات التحميل.تمت استعادة النسخ الاحتياطي للتحميلات بنجاح.تحققسجل عرضملف إدارة WPWP File Manager - النسخ الاحتياطي / الاستعادةمساهمة WP File Managerنحن نحب تكوين صداقات جديدة! اشترك أدناه ونعدك بذلك إبقائك على اطلاع دائم بأحدث المكونات الإضافية والتحديثات صفقات رائعة وبعض العروض الخاصة.مرحبًا بك في مدير الملفاتلم تقم بإجراء أي تغييرات ليتم حفظها.للوصول إلى إذن قراءة الملفات ، لاحظ: صحيح / خطأ ، افتراضي: صحيحللوصول إلى أذونات كتابة الملفات ، لاحظ: صح / خطأ ، افتراضي: خطأسوف يخفي المذكورة هنا. ملاحظة: مفصولة بفاصلة (،). الافتراضي: لاغيةwp-file-manager/languages/wp-file-manager-ar.po000064400000076744151202472330015421 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 15:15+0530\n" "PO-Revision-Date: 2022-02-25 15:19+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100 >= 3 " "&& n%100<=10 ? 3 : n%100 >= 11 && n%100<=99 ? 4 : 5;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e;esc_attr__\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "تمت استعادة النسخ الاحتياطي للسمات بنجاح." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "غير قادر على استعادة السمات." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "تمت استعادة النسخ الاحتياطي للتحميلات بنجاح." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "غير قادر على استعادة التحميلات." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "تمت استعادة النسخ الاحتياطية الأخرى بنجاح." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "غير قادر على استعادة الآخرين." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "تمت استعادة النسخ الاحتياطي للمكونات الإضافية بنجاح." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "غير قادر على استعادة المكونات الإضافية." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "تمت استعادة النسخ الاحتياطي لقاعدة البيانات بنجاح." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "كله تمام" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "غير قادر على استعادة نسخة قاعدة البيانات الاحتياطية." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "تمت إزالة النسخ الاحتياطية بنجاح!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "غير قادر على إزالة النسخة الاحتياطية!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "تم إجراء نسخ احتياطي لقاعدة البيانات في التاريخ " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "تم إجراء نسخ احتياطي للإضافات في التاريخ " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "تم إجراء نسخ احتياطي للسمات في التاريخ " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "تم تحميل النسخ الاحتياطي في التاريخ " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "النسخ الاحتياطي للآخرين في التاريخ " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "السجلات" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "لم يتم العثور على سجلات!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "لم يتم تحديد أي شيء للنسخ الاحتياطي" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "مشكلة أمنية." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "تم إجراء نسخ احتياطي لقاعدة البيانات." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "تعذر إنشاء نسخة احتياطية لقاعدة البيانات." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "تم إجراء نسخ احتياطي للإضافات." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "فشل النسخ الاحتياطي للمكونات الإضافية." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "تم إجراء نسخ احتياطي للسمات." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "فشل النسخ الاحتياطي للسمات." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "تم تحميل النسخ الاحتياطي." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "فشل النسخ الاحتياطي لعمليات التحميل." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "تم إجراء نسخ احتياطي للآخرين." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "فشل النسخ الاحتياطي للآخرين." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "ملف إدارة WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "إعدادات" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "التفضيلات" #: file_folder_manager.php:773 msgid "System Properties" msgstr "خصائص النظام" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "شورتكود - برو" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "اسنرجاع البيانات" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "شراء Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "تبرع" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "الملف غير موجود للتنزيل." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "كود الحمايه خاطئ." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "معرف النسخ الاحتياطي مفقود." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "نوع المعلمة مفقود." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "المعلمات المطلوبة مفقودة." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "خطأ: غير قادر على استعادة النسخة الاحتياطية لأن النسخ الاحتياطي لقاعدة " "البيانات كبير الحجم. يرجى محاولة زيادة الحد الأقصى للحجم المسموح به من " "إعدادات التفضيلات." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "حدد النسخ الاحتياطية لحذفها!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "هل تريد بالتأكيد إزالة النسخ الاحتياطية المحددة؟" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "النسخ الاحتياطي قيد التشغيل ، يرجى الانتظار" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "الاستعادة قيد التشغيل ، يرجى الانتظار" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "لم يتم تحديد أي شيء للنسخ الاحتياطي." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP File Manager - النسخ الاحتياطي / الاستعادة" #: inc/backup.php:51 msgid "Backup Options:" msgstr "خيارات النسخ الاحتياطي:" #: inc/backup.php:58 msgid "Database Backup" msgstr "نسخه الاحتياطيه لقاعدة البيانات" #: inc/backup.php:64 msgid "Files Backup" msgstr "ملفات النسخ الاحتياطي" #: inc/backup.php:68 msgid "Plugins" msgstr "الإضافات" #: inc/backup.php:71 msgid "Themes" msgstr "ثيمات" #: inc/backup.php:74 msgid "Uploads" msgstr "تحميلات" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "أخرى (أي أدلة أخرى موجودة داخل محتوى wp)" #: inc/backup.php:81 msgid "Backup Now" msgstr "اعمل نسخة احتياطية الان" #: inc/backup.php:89 msgid "Time now" msgstr "الوقت الآن" #: inc/backup.php:99 msgid "SUCCESS" msgstr "نجاح" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "تم حذف النسخة الاحتياطية بنجاح." #: inc/backup.php:102 msgid "Ok" msgstr "نعم" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "حذف الملفات" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "هل أنت متأكد أنك تريد حذف هذه النسخة الاحتياطية؟" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "يلغي" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "يتأكد" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "استعادة الملفات" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "هل أنت متأكد أنك تريد استعادة هذه النسخة الاحتياطية؟" #: inc/backup.php:166 msgid "Last Log Message" msgstr "آخر رسالة تسجيل" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "يبدو أن النسخ الاحتياطي نجح واكتمل الآن." #: inc/backup.php:171 msgid "No log message" msgstr "لا توجد رسالة سجل" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "النسخ الاحتياطية الموجودة" #: inc/backup.php:184 msgid "Backup Date" msgstr "تاريخ النسخ الاحتياطي" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "بيانات النسخ الاحتياطي (انقر للتنزيل)" #: inc/backup.php:190 msgid "Action" msgstr "عمل" #: inc/backup.php:210 msgid "Today" msgstr "اليوم" #: inc/backup.php:239 msgid "Restore" msgstr "يعيد" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "حذف" #: inc/backup.php:241 msgid "View Log" msgstr "سجل عرض" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "حاليا لا توجد نسخ احتياطية." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "إجراءات بناءً على النسخ الاحتياطية المحددة" #: inc/backup.php:251 msgid "Select All" msgstr "اختر الكل" #: inc/backup.php:252 msgid "Deselect" msgstr "إلغاء" #: inc/backup.php:254 msgid "Note:" msgstr "ملحوظة:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "ستكون ملفات النسخ الاحتياطي أقل من" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "مساهمة WP File Manager" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "ملاحظة: هذه لقطات شاشة تجريبية. يرجى شراء File Manager pro إلى وظائف السجلات." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "انقر لشراء PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "شراء برو" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "تحرير سجلات الملفات" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "تنزيل ملفات السجلات" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "تحميل ملفات السجلات" #: inc/root.php:43 msgid "Settings saved." msgstr "تم حفظ الإعدادات." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "تجاهل هذا الإشعار." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "لم تقم بإجراء أي تغييرات ليتم حفظها." #: inc/root.php:55 msgid "Public Root Path" msgstr "مسار الجذر العام" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "مسار الجذر لمدير الملفات ، يمكنك التغيير وفقًا لاختيارك." #: inc/root.php:59 msgid "Default:" msgstr "تقصير:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "يرجى تغيير هذا بعناية ، حيث يمكن أن يؤدي المسار الخاطئ إلى نزول البرنامج " "المساعد لمدير الملفات." #: inc/root.php:64 msgid "Enable Trash?" msgstr "تمكين المهملات؟" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "بعد تمكين سلة المهملات ، ستنتقل ملفاتك إلى مجلد سلة المهملات." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "تمكين تحميل الملفات إلى مكتبة الوسائط؟" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "بعد تمكين هذا ، ستنتقل جميع الملفات إلى مكتبة الوسائط." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "الحجم الأقصى المسموح به في وقت استعادة النسخة الاحتياطية لقاعدة البيانات." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "يرجى زيادة قيمة الحقل إذا كنت تتلقى رسالة خطأ في وقت استعادة النسخة " "الاحتياطية." #: inc/root.php:90 msgid "Save Changes" msgstr "حفظ التغييرات" #: inc/settings.php:10 msgid "Settings - General" msgstr "إعدادات - عام" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "ملاحظة: هذا هو مجرد لقطة تجريبي. للحصول على إعدادات يرجى شراء لدينا نسخة " "للمحترفين." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "هنا المشرف يمكن أن تعطي الوصول إلى أدوار المستخدم لاستخدام فيليماناجر. يمكن " "للمشرف تعيين المجلد الوصول الافتراضي وأيضا التحكم في تحميل حجم فيلماناجر." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "إعدادات - كود محرر" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any theme " "for code editor. It will display when you edit any file. Also you can allow " "fullscreen mode of code editor." msgstr "" "مدير الملفات يحتوي على محرر التعليمات البرمجية مع مواضيع متعددة. يمكنك اختيار " "أي موضوع لمحرر التعليمات البرمجية. سيتم عرضه عند تعديل أي ملف. كما يمكنك " "السماح وضع ملء الشاشة من محرر التعليمات البرمجية." #: inc/settings.php:18 msgid "Code-editor View" msgstr "كود-إديتور فيو" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "إعدادات - قيود المستخدم" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "يمكن للمشرف تقييد إجراءات أي مستخدم. أيضا إخفاء الملفات والمجلدات ويمكن تعيين " "مختلف - مسارات المجلدات المختلفة لمختلف المستخدمين." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "الإعدادات - قيود دور المستخدم" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "يمكن للمشرف تقييد الإجراءات من أي وسيرول. أيضا إخفاء الملفات والمجلدات ويمكن " "تعيين مختلف - مسارات المجلدات المختلفة لمختلف أدوار المستخدمين." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "مدير الملفات - الرمز القصير" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 inc/shortcode_docs.php:19 msgid "USE:" msgstr "استعمال:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "سيظهر مدير الملفات في الواجهة الأمامية. يمكنك التحكم في جميع الإعدادات من " "إعدادات مدير الملفات. سيعمل نفس مدير ملفات WP الخلفي." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "سيظهر مدير الملفات في الواجهة الأمامية. لكن المسؤول فقط هو من يمكنه الوصول " "إليه وسيتحكم في إعدادات مدير الملفات." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "المعلمات:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can simple " "use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "سيسمح لجميع الأدوار بالوصول إلى مدير الملفات على الواجهة الأمامية أو يمكنك " "الاستخدام البسيط لأدوار مستخدم معينة مثل allow_roles = \"editor، author" "\" (مفصول بفاصلة (،))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "هنا \"test\" هو اسم المجلد الموجود في الدليل الجذر ، أو يمكنك إعطاء مسار " "للمجلدات الفرعية مثل \"wp-content / plugins\". إذا تم تركه فارغًا أو فارغًا ، " "فسيتم الوصول إلى جميع المجلدات الموجودة في الدليل الجذر. الافتراضي: الدليل " "الجذر" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "للوصول إلى أذونات كتابة الملفات ، لاحظ: صح / خطأ ، افتراضي: خطأ" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "للوصول إلى إذن قراءة الملفات ، لاحظ: صحيح / خطأ ، افتراضي: صحيح" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "سوف يخفي المذكورة هنا. ملاحظة: مفصولة بفاصلة (،). الافتراضي: لاغية" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js\" " "etc. Default: Null" msgstr "" "سيتم قفل المذكورة بالفواصل. يمكنك قفل المزيد مثل \".php ، .css ، .js\" إلخ. " "الافتراضي: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* لجميع العمليات وللسماح ببعض العمليات ، يمكنك ذكر اسم العملية مثل ، " "allowed_operations = \"upload ، download\". ملاحظة: مفصولة بفاصلة (،). تقصير: " "*" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "قائمة عمليات الملف:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "اصنع دليلًا أو مجلدًا" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "قم بعمل ملف" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "أعد تسمية ملف أو مجلد" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "قم بتكرار أو استنساخ مجلد أو ملف" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "الصق ملفًا أو مجلدًا" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "المنع" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "لعمل أرشيف أو ملف مضغوط" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "استخراج أرشيف أو ملف مضغوط" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "انسخ الملفات أو المجلدات" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "قص ملف أو مجلد ببساطة" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "تحرير ملف" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "إزالة أو حذف الملفات والمجلدات" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "تحميل ملفات" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "تحميل الملفات" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "ابحث عن الأشياء" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "معلومات الملف" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "مساعدة" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> سيحظر مستخدمين معينين بمجرد وضع معرفاتهم مفصولة بفواصل (،). إذا كان " "المستخدم هو الحظر ، فلن يتمكن من الوصول إلى مدير ملفات wp على الواجهة " "الأمامية." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> عرض Filemanager UI. الافتراضي: الشبكة" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> تعديل الملف أو إنشاء تنسيق التاريخ. الافتراضي: د م ، ص ح: أنا أ" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> لغة مدير الملفات. الافتراضي: الإنجليزية (ar)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> موضوع مدير الملفات. الافتراضي: ضوء" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "إدارة الملفات - خصائص النظام" #: inc/system_properties.php:10 msgid "PHP version" msgstr "نسخة فب" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "الحد الأقصى لحجم ملف التحميل (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "نشر الحد الأقصى لحجم ملف التحميل (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "حد الذاكرة (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "مهلة (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "المتصفح ونظام التشغيل (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "تغيير المظهر هنا:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "تقصير" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "داكن" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "ضوء" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "رمادي" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "مرحبًا بك في مدير الملفات" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "نحن نحب تكوين صداقات جديدة! اشترك أدناه ونعدك بذلك\n" " إبقائك على اطلاع دائم بأحدث المكونات الإضافية والتحديثات\n" " صفقات رائعة وبعض العروض الخاصة." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "الرجاء إدخال الاسم الأول." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "الرجاء إدخال الاسم الأخير." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "الرجاء إدخال عنوان البريد الإلكتروني." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "تحقق" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "لا شكرا" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "شروط الخدمة" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "سياسة الخصوصية" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "إنقاذ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "نعم" #~ msgid "Backup not found!" #~ msgstr "لم يتم العثور على النسخ الاحتياطي!" #~ msgid "Backup removed successfully!" #~ msgstr "تمت إزالة النسخة الاحتياطية بنجاح!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "لم يتم تحديد أي شيء للنسخ الاحتياطي" #~ msgid "Security Issue." #~ msgstr "مشكلة أمنية." #~ msgid "Database backup done." #~ msgstr "" #~ "تم إجراء نسخ احتياطي لقاعدة البيانات." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "تعذر إنشاء نسخة احتياطية لقاعدة البيانات." #~ "" #~ msgid "Plugins backup done." #~ msgstr "" #~ "تم إجراء نسخ احتياطي للإضافات." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "فشل النسخ الاحتياطي للمكونات الإضافية." #~ msgid "Themes backup done." #~ msgstr "" #~ "تم إجراء نسخ احتياطي للسمات. " #~ msgid "Themes backup failed." #~ msgstr "فشل النسخ الاحتياطي للسمات." #~ msgid "Uploads backup done." #~ msgstr "تم تحميل النسخ الاحتياطي." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "فشل النسخ الاحتياطي لعمليات التحميل." #~ msgid "Others backup done." #~ msgstr "" #~ "تم إجراء نسخ احتياطي للآخرين. " #~ msgid "Others backup failed." #~ msgstr "" #~ "فشل النسخ الاحتياطي للآخرين. " #~ msgid "All Done" #~ msgstr "كل ذلك" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "allowed_roles = \"*\"" #~ msgstr "allowed_roles = \"*\"" #~ msgid "hide_files = \"wp-content/plugins,wp-config.php\"" #~ msgstr "hide_files = \"wp-content/plugins,wp-config.php\"" #~ msgid "Manage your WP files." #~ msgstr "إدارة ملفات الفسفور الابيض الخاص بك." #~ msgid "Extensions" #~ msgstr "ملحقات" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "يرجى المساهمة بعض التبرع، لجعل البرنامج المساعد أكثر استقرارا. يمكنك دفع " #~ "مبلغ من اختيارك." wp-file-manager/languages/wp-file-manager-az.mo000064400000044414151202472330015413 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Y())/)S*6r*8* *2*!++U,N#-r-9-/-5-'.;.N.0h. .1.. /#/?/ G/ h/r/ /// / /(/1080 J0T09d070-01 111+1E1!T1v1:1$11<2A2]2C3,Y33(3B3 4! 5',5T5o5 s55r6O7g77sq88{94:G:O:X: u:]:9:;5;R;j;;;;;z;gK<*<+< ==F=-]=*=,="=> >)#>9M>&>)>n>tG??"?+?*@%>@Ad@@@@@,@'A CA%OAuA{AAAAA-ABB6B*JB/uBBB#BBC.&CUC)\C)C(C1C DD4DLD TDAaDD-D,D)E';E.cEEEE*E/E.-F,\F FFF1FFG!G5GF!HShHOH}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 14:51+0530 Last-Translator: admin Language-Team: Language: az MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e;esc_attr__ X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * bütün əməliyyatlar üçün və bəzi əməliyyatlara icazə vermək üçün əməliyyat adını, allow_operations="yüklə, endir" kimi qeyd edə bilərsiniz. Qeyd: vergül(,) ilə ayrılır. Defolt: *-> Şəxsi identifikatorlarını vergüllə (,) ayıraraq xüsusi istifadəçiləri qadağan edəcəkdir. İstifadəçi qadağandırsa, əvvəldən wp fayl menecerinə daxil ola bilməyəcəklər.-> Fayl Meneceri Teması. Varsayılan: Yüngül-> Dəyişdirilmiş Fayl və ya tarix formatı yaradın. Varsayılan: d M, Y h: i A-> Fayl meneceri dili. Varsayılan: İngilis dili (az)-> Filemanager UI Görünüşü. Varsayılan: şəbəkəFəaliyyətSeçilmiş yedek (lər) lə bağlı əməliyyatlarAdmin hər hansı bir istifadəçinin hərəkətlərini məhdudlaşdıra bilər. Həmçinin faylları və qovluqları gizləyin və fərqli istifadəçilər üçün fərqli qovluq yollarını təyin edə bilərsiniz.Admin hər hansı bir userrole hərəkətini məhdudlaşdıra bilər. Həmçinin faylları və qovluqları gizləyin və fərqli istifadəçi rolları üçün fərqli qovluq yollarını təyin edə bilərsiniz.Zibil qutusunu aktivləşdirdikdən sonra sənədləriniz zibil qovluğuna gedəcək.Bunu təmin etdikdən sonra bütün fayllar media kitabxanasına gedəcəkdir.Hər şey hazırdırSeçilmiş yedəkləri silmək istədiyinizə əminsiniz?Bu ehtiyatı silmək istədiyinizə əminsiniz?Bu nüsxəni bərpa etmək istədiyinizə əminsiniz?Yedəkləmə tarixiİndi yedəkləyinYedəkləmə Seçimləri:Yedək məlumatları (yükləmək üçün vurun)Yedək faylları altında olacaqYedəkləmə işləyir, xahiş edirəm gözləyinYedəkləmə uğurla silindi.Yedəkləyin/bərpa edinYedəklər uğurla silindi!QadağaBrauzer və OS (HTTP_USER_AGENT)PRO alınPro satın alınLəğv etMövzunu dəyişdirin:PRO Almaq üçün klikləyinKod redaktoruTəsdiqləyinFaylları və ya qovluqları kopyalayınHal hazırda heç bir ehtiyat (lər) tapılmadı.DOSYALARI SİLİNQaranlıqDatabase BackupVerilənlər bazasının yedəklənməsi tarixdə edildi Verilənlər bazasının ehtiyat nüsxəsi tamamlandı.Verilənlər bazası ehtiyatla bərpa edildi.DefoltDefolt:SilSeçimi ləğv edinBu bildirişi rədd edin.BağışlayınFaylların qeydlərini yükləyinFaylları yükləyinBir qovluğu və ya dosyanı kopyalayın və ya klonlayınFaylların qeydlərini redaktə edinBir faylı redaktə edinFaylları Media Kitabxanasına yükləməyi aktivləşdirin?Zibil qutusu aktiv edilsin?Xəta: Verilənlər bazasının ehtiyat nüsxəsinin ölçüsü çox olduğundan ehtiyat nüsxəni bərpa etmək mümkün deyil. Lütfən, Üstünlüklər ayarlarından icazə verilən maksimum ölçüsü artırmağa çalışın.Mövcud Yedək (lər)Arxivi və ya sıxılmış faylı çıxarınFayl meneceri - Qisa kodFayl meneceri - Sistem xüsusiyyətləriFile Manager Kök Yolu, seçiminizə görə dəyişə bilərsiniz.Dosya menecerində bir çox mövzuda bir kod redaktoru var. Kod redaktoru üçün hər hansı bir mövzu seçə bilərsiniz. Hər hansı bir faylı düzəldən zaman göstərilir. Həmçinin, tam ekran rejimində kod redaktoruna icazə verə bilərsiniz.Fayl əməliyyatları siyahısı:Fayl yükləmək üçün mövcud deyil.Faylların YedəklənməsiBozKömək edinBurada "test" kök kataloqda yerləşən qovluğun adıdır və ya alt qovluqlar üçün "wp-content/plugins" kimi yol verə bilərsiniz. Boş və ya boş qoysanız, o, kök kataloqdakı bütün qovluqlara daxil olacaq. Defolt: Kök kataloquBurada admin filemanager istifadə etmək üçün istifadəçi rollarına çıxış verə bilər. Administrator Default Access Qovluqunu təyin edə bilər və filemanager yükləmə ölçüsünü də idarə edə bilər.Fayl haqqında məlumatYanlış Təhlükəsizlik Kodu.Bu, bütün rolların ön tərəfdəki fayl menecerinə daxil olmasına imkan verəcək və ya siz allow_roles="editor,author" (vergül(,) ilə ayrılmış) kimi xüsusi istifadəçi rolları üçün sadə istifadə edə bilərsiniz.Vergüllə qeyd olunan kilidlənəcək. daha çox ".php,.css,.js" və s. kimi kilidləyə bilərsiniz. Defolt: NullÖn tərəfdə fayl menecerini göstərəcək. Ancaq yalnız Administrator ona daxil ola bilər və fayl meneceri parametrlərindən idarə edəcək.Ön tərəfdə fayl menecerini göstərəcək. Siz fayl meneceri parametrlərindən bütün parametrlərə nəzarət edə bilərsiniz. Backend WP Fayl meneceri ilə eyni işləyəcək.Son Giriş MesajıİşıqQeydlərDizin və ya qovluq yaradınFayl edinVerilənlər bazası ehtiyat nüsxəsinin bərpası zamanı icazə verilən maksimum ölçü.Maksimum fayl yükləmə ölçüsü (upload_max_filesize)Yaddaş Limiti (memory_limit)Ehtiyat id nömrəsi yoxdur.Parametr növü yoxdur.Lazımi parametrlər yoxdur.Xeyr, təşəkkürlərGiriş mesajı yoxdurGünlük tapılmadı!Qeyd:Qeyd: Bunlar demo ekran şəkilləridir. Zəhmət olmasa Qeydlər funksiyaları üçün File Manager pro məhsulunu alın.Qeyd: Bu yalnız bir demo ekran görüntüsüdür. Ayarları almaq üçün pro versiyasını satın al.Yedəkləmə üçün heç nə seçilməyibYedəkləmə üçün heç nə seçilməyib.tamamTamamDigərləri (wp-məzmunun içərisində olan digər bütün qovluqlar)Digərləri tarixdə həyata keçirilmişdir Digərlərinin yedəkləməsi tamamlandı.Digərlərinin yedəkləməsi uğursuz oldu.Digərləri uğurla bərpa edildi.PHP versiyasıParametrlər:Bir faylı və ya qovluğu yapışdırınZəhmət olmasa elektron poçt ünvanınızı daxil edin.Zəhmət olmasa Adınızı daxil edin.Zəhmət olmasa soyadınızı daxil edin.Xahiş edirəm bunu diqqətlə dəyişdirin, səhv yol fayl meneceri plagininin enməsinə səbəb ola bilər.Zəhmət olmasa, ehtiyat nüsxəsinin bərpası zamanı xəta mesajı alırsınızsa, sahənin dəyərini artırın.PluginsPlugins ehtiyatı tarixdə edildi Pluginlərin ehtiyat nüsxəsi tamamlandı.Pluginlərin ehtiyat nüsxəsi alınmadı.Plugins backup uğurla bərpa edildi.Maksimum fayl yükləmə ölçüsünü göndərin (post_max_size)ÜstünlüklərGizlilik Siyasətiİctimai Kök YoluDOSYALARI QARATINFaylları və qovluqları silin və ya silinBir faylı və ya qovluğu dəyişdirinBərpa edinBərpa işləyir, lütfən gözləyinUĞURDəyişiklikləri yadda saxlaYadda saxlanır ...Şeyi axtarınTəhlükəsizlik Problemi.Hamısını seçSilmək üçün ehtiyat nüsxə(lər) seçin!AyarlarAyarlar - kod redaktoruStellings - GeneralAyarlar - İstifadəçi məhdudiyyətləriAyarlar - İstifadəçi rolu məhdudiyyətləriParametrlər yadda saxlandı.Qısa kod - PROSadə bir fayl və ya qovluq kəsdiSistemin xüsusiyyətləriXidmət ŞərtləriYedəkləmə aydın oldu və indi tamamlandı.ThemesMövzular yedəkləmə tarixində edildi Mövzuların yedəklənməsi tamamlandı.Mövzuların yedəklənməsi alınmadı.Temaların yedəklənməsi uğurla bərpa edildi.İndi vaxtTəminat (max_execution_time)Arxiv və ya zip etməkBu günİSTİFADƏ:Verilənlər bazası ehtiyat nüsxəsini yaratmaq mümkün deyil.Yedək silinmədi!DB ehtiyatını bərpa etmək mümkün deyil.Başqalarını bərpa etmək mümkün deyil.Plaginləri bərpa etmək mümkün deyil.Temaları bərpa etmək mümkün deyil.Yüklənmələri bərpa etmək mümkün deyil.Fayl qeydlərini yükləyinFaylları yükləyinYükləmələrTarixdə yükləmələrin yedəklənməsi Yükləmələrin ehtiyat nüsxəsi tamamlandı.Yükləmələrin ehtiyat nüsxəsi alınmadı.Yüklənmə ehtiyatı uğurla bərpa edildi.DoğrulayınGirişə baxınWP Fayl meneceriWP Fayl meneceri - Yedəkləmə / Geri YükləməWP Fayl meneceri qatqısıYeni dostlar qazanmağı sevirik! Aşağıdakı abunə olun və söz veririk ən son yeni eklentilərimizi, yeniləmələrimizi, zəhmli sövdələşmələr və bir neçə xüsusi təklif.Fayl menecerinə xoş gəlmisinizQurtarmaq üçün heç bir dəyişiklik etməmisiniz.faylları oxumaq icazəsi üçün qeyd edin: true/false, default: truefaylları yazmaq icazələri üçün qeyd edin: doğru/yanlış, standart: yanlışburada qeyd olunan gizlənəcək. Qeyd: vergül(,) ilə ayrılır. Defolt: Nullwp-file-manager/languages/wp-file-manager-az.po000064400000070264151202472330015420 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 15:19+0530\n" "PO-Revision-Date: 2022-02-28 14:51+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: az\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e;esc_attr__\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Temaların yedəklənməsi uğurla bərpa edildi." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Temaları bərpa etmək mümkün deyil." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Yüklənmə ehtiyatı uğurla bərpa edildi." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Yüklənmələri bərpa etmək mümkün deyil." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Digərləri uğurla bərpa edildi." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Başqalarını bərpa etmək mümkün deyil." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Plugins backup uğurla bərpa edildi." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Plaginləri bərpa etmək mümkün deyil." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Verilənlər bazası ehtiyatla bərpa edildi." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Hər şey hazırdır" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "DB ehtiyatını bərpa etmək mümkün deyil." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Yedəklər uğurla silindi!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Yedək silinmədi!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Verilənlər bazasının yedəklənməsi tarixdə edildi " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Plugins ehtiyatı tarixdə edildi " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Mövzular yedəkləmə tarixində edildi " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Tarixdə yükləmələrin yedəklənməsi " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Digərləri tarixdə həyata keçirilmişdir " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Qeydlər" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Günlük tapılmadı!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Yedəkləmə üçün heç nə seçilməyib" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Təhlükəsizlik Problemi." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Verilənlər bazasının ehtiyat nüsxəsi tamamlandı." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Verilənlər bazası ehtiyat nüsxəsini yaratmaq mümkün deyil." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Pluginlərin ehtiyat nüsxəsi tamamlandı." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Pluginlərin ehtiyat nüsxəsi alınmadı." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Mövzuların yedəklənməsi tamamlandı." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Mövzuların yedəklənməsi alınmadı." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Yükləmələrin ehtiyat nüsxəsi tamamlandı." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Yükləmələrin ehtiyat nüsxəsi alınmadı." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Digərlərinin yedəkləməsi tamamlandı." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Digərlərinin yedəkləməsi uğursuz oldu." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP Fayl meneceri" #: file_folder_manager.php:769 msgid "Settings" msgstr "Ayarlar" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Üstünlüklər" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Sistemin xüsusiyyətləri" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Qısa kod - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Yedəkləyin/bərpa edin" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Pro satın alın" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Bağışlayın" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Fayl yükləmək üçün mövcud deyil." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Yanlış Təhlükəsizlik Kodu." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Ehtiyat id nömrəsi yoxdur." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parametr növü yoxdur." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Lazımi parametrlər yoxdur." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Xəta: Verilənlər bazasının ehtiyat nüsxəsinin ölçüsü çox olduğundan ehtiyat " "nüsxəni bərpa etmək mümkün deyil. Lütfən, Üstünlüklər ayarlarından icazə " "verilən maksimum ölçüsü artırmağa çalışın." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Silmək üçün ehtiyat nüsxə(lər) seçin!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Seçilmiş yedəkləri silmək istədiyinizə əminsiniz?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Yedəkləmə işləyir, xahiş edirəm gözləyin" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Bərpa işləyir, lütfən gözləyin" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Yedəkləmə üçün heç nə seçilməyib." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP Fayl meneceri - Yedəkləmə / Geri Yükləmə" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Yedəkləmə Seçimləri:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Database Backup" #: inc/backup.php:64 msgid "Files Backup" msgstr "Faylların Yedəklənməsi" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugins" #: inc/backup.php:71 msgid "Themes" msgstr "Themes" #: inc/backup.php:74 msgid "Uploads" msgstr "Yükləmələr" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Digərləri (wp-məzmunun içərisində olan digər bütün qovluqlar)" #: inc/backup.php:81 msgid "Backup Now" msgstr "İndi yedəkləyin" #: inc/backup.php:89 msgid "Time now" msgstr "İndi vaxt" #: inc/backup.php:99 msgid "SUCCESS" msgstr "UĞUR" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Yedəkləmə uğurla silindi." #: inc/backup.php:102 msgid "Ok" msgstr "Tamam" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "DOSYALARI SİLİN" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Bu ehtiyatı silmək istədiyinizə əminsiniz?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Ləğv et" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Təsdiqləyin" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "DOSYALARI QARATIN" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Bu nüsxəni bərpa etmək istədiyinizə əminsiniz?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Son Giriş Mesajı" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Yedəkləmə aydın oldu və indi tamamlandı." #: inc/backup.php:171 msgid "No log message" msgstr "Giriş mesajı yoxdur" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Mövcud Yedək (lər)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Yedəkləmə tarixi" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Yedək məlumatları (yükləmək üçün vurun)" #: inc/backup.php:190 msgid "Action" msgstr "Fəaliyyət" #: inc/backup.php:210 msgid "Today" msgstr "Bu gün" #: inc/backup.php:239 msgid "Restore" msgstr "Bərpa edin" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Sil" #: inc/backup.php:241 msgid "View Log" msgstr "Girişə baxın" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Hal hazırda heç bir ehtiyat (lər) tapılmadı." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Seçilmiş yedek (lər) lə bağlı əməliyyatlar" #: inc/backup.php:251 msgid "Select All" msgstr "Hamısını seç" #: inc/backup.php:252 msgid "Deselect" msgstr "Seçimi ləğv edin" #: inc/backup.php:254 msgid "Note:" msgstr "Qeyd:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Yedək faylları altında olacaq" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP Fayl meneceri qatqısı" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Qeyd: Bunlar demo ekran şəkilləridir. Zəhmət olmasa Qeydlər funksiyaları " "üçün File Manager pro məhsulunu alın." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "PRO Almaq üçün klikləyin" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "PRO alın" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Faylların qeydlərini redaktə edin" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Faylların qeydlərini yükləyin" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Fayl qeydlərini yükləyin" #: inc/root.php:43 msgid "Settings saved." msgstr "Parametrlər yadda saxlandı." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Bu bildirişi rədd edin." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Qurtarmaq üçün heç bir dəyişiklik etməmisiniz." #: inc/root.php:55 msgid "Public Root Path" msgstr "İctimai Kök Yolu" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Kök Yolu, seçiminizə görə dəyişə bilərsiniz." #: inc/root.php:59 msgid "Default:" msgstr "Defolt:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Xahiş edirəm bunu diqqətlə dəyişdirin, səhv yol fayl meneceri plagininin " "enməsinə səbəb ola bilər." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Zibil qutusu aktiv edilsin?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Zibil qutusunu aktivləşdirdikdən sonra sənədləriniz zibil qovluğuna gedəcək." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Faylları Media Kitabxanasına yükləməyi aktivləşdirin?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Bunu təmin etdikdən sonra bütün fayllar media kitabxanasına gedəcəkdir." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Verilənlər bazası ehtiyat nüsxəsinin bərpası zamanı icazə verilən maksimum " "ölçü." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Zəhmət olmasa, ehtiyat nüsxəsinin bərpası zamanı xəta mesajı alırsınızsa, " "sahənin dəyərini artırın." #: inc/root.php:90 msgid "Save Changes" msgstr "Dəyişiklikləri yadda saxla" #: inc/settings.php:10 msgid "Settings - General" msgstr "Stellings - General" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Qeyd: Bu yalnız bir demo ekran görüntüsüdür. Ayarları almaq üçün pro " "versiyasını satın al." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Burada admin filemanager istifadə etmək üçün istifadəçi rollarına çıxış verə " "bilər. Administrator Default Access Qovluqunu təyin edə bilər və filemanager " "yükləmə ölçüsünü də idarə edə bilər." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Ayarlar - kod redaktoru" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Dosya menecerində bir çox mövzuda bir kod redaktoru var. Kod redaktoru üçün " "hər hansı bir mövzu seçə bilərsiniz. Hər hansı bir faylı düzəldən zaman " "göstərilir. Həmçinin, tam ekran rejimində kod redaktoruna icazə verə " "bilərsiniz." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kod redaktoru" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Ayarlar - İstifadəçi məhdudiyyətləri" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Admin hər hansı bir istifadəçinin hərəkətlərini məhdudlaşdıra bilər. " "Həmçinin faylları və qovluqları gizləyin və fərqli istifadəçilər üçün fərqli " "qovluq yollarını təyin edə bilərsiniz." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Ayarlar - İstifadəçi rolu məhdudiyyətləri" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Admin hər hansı bir userrole hərəkətini məhdudlaşdıra bilər. Həmçinin " "faylları və qovluqları gizləyin və fərqli istifadəçi rolları üçün fərqli " "qovluq yollarını təyin edə bilərsiniz." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Fayl meneceri - Qisa kod" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "İSTİFADƏ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Ön tərəfdə fayl menecerini göstərəcək. Siz fayl meneceri parametrlərindən " "bütün parametrlərə nəzarət edə bilərsiniz. Backend WP Fayl meneceri ilə eyni " "işləyəcək." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Ön tərəfdə fayl menecerini göstərəcək. Ancaq yalnız Administrator ona daxil " "ola bilər və fayl meneceri parametrlərindən idarə edəcək." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametrlər:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Bu, bütün rolların ön tərəfdəki fayl menecerinə daxil olmasına imkan verəcək " "və ya siz allow_roles=\"editor,author\" (vergül(,) ilə ayrılmış) kimi xüsusi " "istifadəçi rolları üçün sadə istifadə edə bilərsiniz." #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Burada \"test\" kök kataloqda yerləşən qovluğun adıdır və ya alt qovluqlar " "üçün \"wp-content/plugins\" kimi yol verə bilərsiniz. Boş və ya boş " "qoysanız, o, kök kataloqdakı bütün qovluqlara daxil olacaq. Defolt: Kök " "kataloqu" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "faylları yazmaq icazələri üçün qeyd edin: doğru/yanlış, standart: yanlış" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "faylları oxumaq icazəsi üçün qeyd edin: true/false, default: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "burada qeyd olunan gizlənəcək. Qeyd: vergül(,) ilə ayrılır. Defolt: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Vergüllə qeyd olunan kilidlənəcək. daha çox \".php,.css,.js\" və s. kimi " "kilidləyə bilərsiniz. Defolt: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* bütün əməliyyatlar üçün və bəzi əməliyyatlara icazə vermək üçün əməliyyat " "adını, allow_operations=\"yüklə, endir\" kimi qeyd edə bilərsiniz. Qeyd: " "vergül(,) ilə ayrılır. Defolt: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Fayl əməliyyatları siyahısı:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Dizin və ya qovluq yaradın" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Fayl edin" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Bir faylı və ya qovluğu dəyişdirin" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Bir qovluğu və ya dosyanı kopyalayın və ya klonlayın" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Bir faylı və ya qovluğu yapışdırın" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Qadağa" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Arxiv və ya zip etmək" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Arxivi və ya sıxılmış faylı çıxarın" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Faylları və ya qovluqları kopyalayın" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Sadə bir fayl və ya qovluq kəsdi" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Bir faylı redaktə edin" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Faylları və qovluqları silin və ya silin" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Faylları yükləyin" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Faylları yükləyin" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Şeyi axtarın" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Fayl haqqında məlumat" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Kömək edin" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Şəxsi identifikatorlarını vergüllə (,) ayıraraq xüsusi istifadəçiləri " "qadağan edəcəkdir. İstifadəçi qadağandırsa, əvvəldən wp fayl menecerinə " "daxil ola bilməyəcəklər." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI Görünüşü. Varsayılan: şəbəkə" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Dəyişdirilmiş Fayl və ya tarix formatı yaradın. Varsayılan: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Fayl meneceri dili. Varsayılan: İngilis dili (az)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Fayl Meneceri Teması. Varsayılan: Yüngül" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Fayl meneceri - Sistem xüsusiyyətləri" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP versiyası" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimum fayl yükləmə ölçüsü (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Maksimum fayl yükləmə ölçüsünü göndərin (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Yaddaş Limiti (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Təminat (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Brauzer və OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Mövzunu dəyişdirin:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Defolt" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Qaranlıq" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "İşıq" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Boz" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Fayl menecerinə xoş gəlmisiniz" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Yeni dostlar qazanmağı sevirik! Aşağıdakı abunə olun və söz veririk\n" " ən son yeni eklentilərimizi, yeniləmələrimizi,\n" " zəhmli sövdələşmələr və bir neçə xüsusi təklif." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Zəhmət olmasa Adınızı daxil edin." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Zəhmət olmasa soyadınızı daxil edin." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Zəhmət olmasa elektron poçt ünvanınızı daxil edin." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Doğrulayın" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Xeyr, təşəkkürlər" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Xidmət Şərtləri" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Gizlilik Siyasəti" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Yadda saxlanır ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "tamam" #~ msgid "Backup not found!" #~ msgstr "Yedək tapılmadı!" #~ msgid "Backup removed successfully!" #~ msgstr "Yedəkləmə uğurla silindi!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Yedəkləmə üçün heç bir şey seçilmədi" #~ msgid "Security Issue." #~ msgstr "Təhlükəsizlik Məsələsi. " #~ msgid "Database backup done." #~ msgstr "" #~ "Verilənlər bazasının yedəklənməsi " #~ "aparıldı." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Verilənlər bazası ehtiyatı yaratmaq " #~ "mümkün deyil." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Eklentilərin yedəklənməsi aparıldı. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Eklentilərin ehtiyat nüsxəsi alınmadı. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Temaların yedəklənməsi aparıldı. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Temaların yedəklənməsi uğursuz oldu. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Yükləmələrin yedəklənməsi tamamlandı. " #~ "" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Yükləmələrin yedəklənməsi uğursuz oldu. " #~ "" #~ msgid "Others backup done." #~ msgstr "" #~ "Digərlərinin ehtiyatı hazırlandı." #~ msgid "Others backup failed." #~ msgstr "" #~ "Digərlərinin ehtiyat nüsxəsi alınmadı. " #~ msgid "All Done" #~ msgstr "Hər şey bitdi " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ " [wp_file_manager view = \"list\" lang = \"en\" theme = \"light\" " #~ "dateformat = \"d M, Y h: i A\" allow_roles = \"editor, author\" " #~ "access_folder = \"wp-content / plugins\" write = \"true\" read = \"false" #~ "\" hide_files = \"kumar, abc.php\" lock_extensions = \". php, .css\" " #~ "icazə_operations = \"yüklə, yüklə\" ban_user_ids = \"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "WP fayllarınızı idarə edin." #~ msgid "Extensions" #~ msgstr "Extensions" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Plugin daha sabit olmasını təmin etmək üçün, bəzi donorlara kömək edin. " #~ "Seçdiyiniz məbləği ödəyə bilərsiniz." wp-file-manager/languages/wp-file-manager-bel.mo000064400000057453151202472330015552 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&N(vh)T*t4+a+p ,|,J,%,;-~8//<0mP0e0e$16161A1U:2U2L2P33B3133(474H4]4n4+4(44/4U*55 5E5e5WS6Y67767G73c77277O72O88E8"8=90A:@r:7:G:3;;,u=1=8= >>+>?$A-AAZC D4E8LF FF3FFFYG2GPH/fHAHH5H+!IMI]IJSJTJ RK ]KlhKJK< L4]LQLLL' MS1M-M9MMNOXOJODAPLPlP@Q'WQ,QQKQ3RHR?YR RRRRRSO$S tS.SSBSKT_T~T6T%T%TnUURUDU>'VFfVVIV6 W @WKW^eWDWI X/SX3X-X9X0YPYnYSYRY]&ZDZZZ"Zg[-[F[F\SA]](^u^}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-03 10:40+0530 Last-Translator: admin Language-Team: Language: be MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * для ўсіх аперацый і для дазволу некаторых аперацый вы можаце ўказаць назву аперацыі, напрыклад, allow_operations="upload,download". Заўвага: праз коску (,). Па змаўчанні: *-> Гэта забароніць пэўных карыстальнікаў, проста паставіўшы іх ідэнтыфікатары, падзеленыя коскамі (,). Калі карыстальнік забаронены, ён не зможа атрымаць доступ да файлавага мэнэджара wp на пярэдняй панэлі.-> Тэма дыспетчара файлаў. Па змаўчанні: святло-> Зменены файл альбо Стварыць фармат даты. Па змаўчанні: d M, Y h: i A-> Мова дыспетчара файлаў. Па змаўчанні: англійская (en)-> Прагляд карыстацкага інтэрфейсу Filemanager. Па змаўчанні: сеткаДзеяннеДзеянні з выбранымі рэзервовымі копіяміАдміністратар можа абмежаваць дзеянні любога карыстальніка. Акрамя таго, можна схаваць файлы і тэчкі і можа ўсталяваць розныя шляхі для розных карыстальнікаў.Адміністратар можа абмежаваць дзеянні любой карыстальніцкай ролі. Акрамя таго, можна схаваць файлы і тэчкі і можа ўсталяваць розныя шляхі для розных роляў карыстальнікаў.Пасля ўключэння смецця вашы файлы будуць пераходзіць у папку смецця.Пасля ўключэння гэтага ўсе файлы будуць пераходзіць у медыя-бібліятэку.Усё гатоваВы ўпэўнены, што хочаце выдаліць выбраныя рэзервовыя копіі?Вы ўпэўнены, што хочаце выдаліць гэту рэзервовую копію?Вы ўпэўнены, што хочаце аднавіць гэту рэзервовую копію?Дата рэзервовага капіраванняРэзервовае капіраванне заразПараметры рэзервовага капіравання:Рэзервовыя дадзеныя (націсніце, каб загрузіць)Файлы рэзервовых копій будуць знаходзіцца падРэзервовае капіраванне працуе, пачакайцеРэзервовае капіраванне паспяхова выдалена.Рэзервовае капіраванне / аднаўленнеРэзервовыя копіі выдалены!ЗабараніцьБраўзэр і АС (HTTP_USER_AGENT)купіць PROКупляйце ProАдмяніцьЗмяніць тэму тут:Націсніце, каб купіць PROВыгляд рэдактара кодаПацвердзіцеСкапіруйце файлы ці тэчкіУ цяперашні час рэзервовых копій не знойдзена.ВЫДАЛІЦЬ ФАЙЛЫЦёмныРэзервовае капіраванне базы дадзеныхРэзервовае капіраванне базы дадзеных зроблена на дату Рэзервовае капіраванне базы дадзеных зроблена.Рэзервовае капіраванне базы дадзеных адноўлена.Па змаўчанніПа змаўчанні:ВыдаліцьАдмяніць выбарАдхіліць гэтае апавяшчэнне.ахвяравацьСпампаваць часопісы файлаўСпампаваць файлыДублюйце альбо кланіруйце тэчку альбо файлРэдагаваць часопісы файлаўЗмяніць файлУключыць загрузку файлаў у медыятэку?Уключыць сметніцу?Памылка: немагчыма аднавіць рэзервовую копію, таму што рэзервовая копія базы дадзеных мае вялікі памер. Паспрабуйце павялічыць максімальна дазволены памер у наладах налад.Існуючыя рэзервовыя копііВыняць архіў альбо архіваваны файлФайлавы менеджэр - кароткі кодДыспетчар файлаў - Уласцівасці сістэмыКаранёвы шлях файлавага мэнэджара, вы можаце змяніць яго ў адпаведнасці з вашым выбарам.Файлавы менеджэр мае рэдактар ​​кода з некалькімі тэмамі. Вы можаце выбраць любую тэму для рэдактара кода. Ён будзе адлюстроўвацца пры рэдагаванні любога файла. Таксама вы можаце дазволіць поўнаэкранны рэжым рэдактара кода.Спіс аперацый з файламі:Файл не існуе для загрузкі.Рэзервовае капіраванне файлаўШэрыДапамажыцеТут "test" - гэта назва папкі, якая знаходзіцца ў каранёвым каталогу, або вы можаце даць шлях для падтэчак, напрыклад, "wp-content/plugins". Калі пакінуць поле пустым або пустым, ён атрымае доступ да ўсіх тэчак у каранёвым каталогу. Па змаўчанні: Каранёвы каталогТут адміністратар можа даць доступ да роляў карыстальнікаў для выкарыстання файлавага мэнэджэра. Адміністратар можа ўсталяваць папку доступу па змаўчанні, а таксама кантраляваць памер загрузкі файлавага менеджэра.Інфармацыя пра файлНесапраўдны код бяспекі.Гэта дазволіць усім ролям атрымліваць доступ да файлавага мэнэджара на пярэднім канцы або вы можаце проста выкарыстоўваць для пэўных роляў карыстальнікаў, напрыклад, allow_roles = "рэдактар, аўтар" (падзелены коскай (,))Ён будзе заблакіраваны, згаданы праз коскі. вы можаце заблакаваць больш, як ".php,.css,.js" і г.д. Па змаўчанні: НульЁн пакажа файлавы менеджэр на пярэднім канцы. Але толькі адміністратар мае доступ да яго і будзе кіраваць з налад файлавага мэнэджара.Ён пакажа файлавы менеджэр на пярэднім канцы. Вы можаце кіраваць усімі наладамі з налад файлавага мэнэджара. Ён будзе працаваць гэтак жа, як і бэкэнд Файлавы менеджэр WP.Апошняе паведамленне часопісаСвятлоЧасопісыЗрабіце каталог альбо тэчкуСтварыць файлМаксімальна дазволены памер на момант аднаўлення рэзервовай копіі базы дадзеных.Максімальны памер загружанага файла (upload_max_filesize)Абмежаванне памяці (memory_limit)Адсутнічае ідэнтыфікатар рэзервовай копіі.Адсутнічае тып параметра.Адсутнічаюць неабходныя параметры.Не, дзякуйНяма паведамлення ў часопісеЧасопісаў не знойдзена!нататка:Заўвага: Гэта дэманстрацыйныя скрыншоты. Калі ласка, купіце File Manager pro для функцый часопісаў.Заўвага: Гэта проста дэманстрацыйны скрыншот. Каб атрымаць налады, купіце нашу версію pro.Нічога не выбрана для рэзервовага капіяванняНічога не выбрана для рэзервовага капіявання.добраДобраІншыя (любыя іншыя каталогі, якія знаходзяцца ўнутры wp-content)Іншыя рэзервовыя копіі зроблены на дату Іншыя рэзервовыя копіі зроблены.Збой іншых рэзервовых копій.Іншыя рэзервовыя копіі паспяхова адноўлены.Версія PHPПараметры:Устаўце файл ці тэчкуКалі ласка, увядзіце адрас электроннай пошты.Калі ласка, увядзіце імя.Калі ласка, увядзіце прозвішча.Калі ласка, змяніце гэта ўважліва, няправільны шлях можа прывесці да падзення ўбудовы файлавага мэнэджара.Калі ласка, павялічце значэнне поля, калі вы атрымліваеце паведамленне пра памылку падчас аднаўлення рэзервовай копіі.УбудовыРэзервовае капіраванне убудоў зроблена на дату Рэзервовае капіраванне убудоў зроблена.Збой рэзервовага капіравання убудоў.Рэзервовае капіраванне убудоў адноўлена.Апублікаваць максімальны памер загружанага файла (post_max_size)ПрэферэнцыіПалітыка прыватнасціГрамадскі каранёвы шляхАДНАВІЦЬ ФАЙЛЫВыдаленне альбо выдаленне файлаў і тэчакПерайменаваць файл ці тэчкуАднавіцьАднаўленне выконваецца, пачакайцеПОСПЕХЗахаваць зменыЗахаванне ...Шукайце рэчыПытанне бяспекі.Абраць усёВыберыце рэзервовую копію(ы) для выдалення!наладыНалады - рэдактар ​​кодаНалады - АгульныяНалады - Абмежаванні карыстальнікаўНалады - Абмежаванні роляў карыстальнікаНалады захаваны.Шорт-код - PROПроста выражыце файл ці тэчкуўласцівасці сістэмыЎмовы абслугоўванняРэзервовае капіраванне, відаць, атрымалася, і яно завершана.ТэмыРэзервовае капіраванне тэм зроблена на дату Рэзервовае капіраванне тэм зроблена.Збой рэзервовага капіравання тэм.Рэзервовае капіраванне тэм адноўлена.Час заразЧас чакання (максімальны_ час_выканання)Каб зрабіць архіў альбо архіўСённяВЫКАРЫСТАННЕ:Немагчыма стварыць рэзервовую копію базы дадзеных.Немагчыма выдаліць рэзервовую копію!Немагчыма аднавіць рэзервовую копію БД.Немагчыма аднавіць іншыя.Немагчыма аднавіць убудовы.Немагчыма аднавіць тэмы.Немагчыма аднавіць запампоўкі.Загрузіць часопісы файлаўЗагрузіць файлыЗагружаеЗагружае рэзервовую копію, зробленую на дату Рэзервовае капіраванне запамповак зроблена.Не атрымалася рэзервовага капіравання запамповак.Загрузка рэзервовай копіі адноўлена.ПраверцеПрагляд часопісаДыспетчар файлаў WPФайлавы менеджэр WP - Рэзервовае капіраванне / аднаўленнеУклад Файлавы менеджэр WPМы любім знаходзіць новых сяброў! Падпішыцеся ніжэй, і мы абяцаем будзеце ў курсе нашых апошніх новых убудоў, абнаўленняў, дзіўныя прапановы і некалькі спецыяльных прапаноў.Сардэчна запрашаем у дыспетчар файлаўВы не ўносілі ніякіх змяненняў для захавання.для доступу да дазволу на чытанне файлаў, звярніце ўвагу: true/false, па змаўчанні: trueдля доступу да дазволу запісу файлаў, звярніце ўвагу: true/false, па змаўчанні: falseён схавае згаданае тут. Заўвага: праз коску (,). Па змаўчанні: Нульwp-file-manager/languages/wp-file-manager-bel.po000064400000104275151202472330015550 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 15:24+0530\n" "PO-Revision-Date: 2022-03-03 10:40+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: be\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Рэзервовае капіраванне тэм адноўлена." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Немагчыма аднавіць тэмы." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Загрузка рэзервовай копіі адноўлена." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Немагчыма аднавіць запампоўкі." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Іншыя рэзервовыя копіі паспяхова адноўлены." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Немагчыма аднавіць іншыя." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Рэзервовае капіраванне убудоў адноўлена." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Немагчыма аднавіць убудовы." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Рэзервовае капіраванне базы дадзеных адноўлена." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Усё гатова" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Немагчыма аднавіць рэзервовую копію БД." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Рэзервовыя копіі выдалены!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Немагчыма выдаліць рэзервовую копію!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Рэзервовае капіраванне базы дадзеных зроблена на дату " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Рэзервовае капіраванне убудоў зроблена на дату " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Рэзервовае капіраванне тэм зроблена на дату " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Загружае рэзервовую копію, зробленую на дату " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Іншыя рэзервовыя копіі зроблены на дату " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Часопісы" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Часопісаў не знойдзена!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Нічога не выбрана для рэзервовага капіявання" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Пытанне бяспекі." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Рэзервовае капіраванне базы дадзеных зроблена." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Немагчыма стварыць рэзервовую копію базы дадзеных." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Рэзервовае капіраванне убудоў зроблена." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Збой рэзервовага капіравання убудоў." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Рэзервовае капіраванне тэм зроблена." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Збой рэзервовага капіравання тэм." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Рэзервовае капіраванне запамповак зроблена." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Не атрымалася рэзервовага капіравання запамповак." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Іншыя рэзервовыя копіі зроблены." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Збой іншых рэзервовых копій." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Дыспетчар файлаў WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "налады" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Прэферэнцыі" #: file_folder_manager.php:773 msgid "System Properties" msgstr "ўласцівасці сістэмы" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Шорт-код - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Рэзервовае капіраванне / аднаўленне" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Купляйце Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "ахвяраваць" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Файл не існуе для загрузкі." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Несапраўдны код бяспекі." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Адсутнічае ідэнтыфікатар рэзервовай копіі." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Адсутнічае тып параметра." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Адсутнічаюць неабходныя параметры." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Памылка: немагчыма аднавіць рэзервовую копію, таму што рэзервовая копія базы " "дадзеных мае вялікі памер. Паспрабуйце павялічыць максімальна дазволены " "памер у наладах налад." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Выберыце рэзервовую копію(ы) для выдалення!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Вы ўпэўнены, што хочаце выдаліць выбраныя рэзервовыя копіі?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Рэзервовае капіраванне працуе, пачакайце" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Аднаўленне выконваецца, пачакайце" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Нічога не выбрана для рэзервовага капіявання." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Файлавы менеджэр WP - Рэзервовае капіраванне / аднаўленне" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Параметры рэзервовага капіравання:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Рэзервовае капіраванне базы дадзеных" #: inc/backup.php:64 msgid "Files Backup" msgstr "Рэзервовае капіраванне файлаў" #: inc/backup.php:68 msgid "Plugins" msgstr "Убудовы" #: inc/backup.php:71 msgid "Themes" msgstr "Тэмы" #: inc/backup.php:74 msgid "Uploads" msgstr "Загружае" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Іншыя (любыя іншыя каталогі, якія знаходзяцца ўнутры wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Рэзервовае капіраванне зараз" #: inc/backup.php:89 msgid "Time now" msgstr "Час зараз" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ПОСПЕХ" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Рэзервовае капіраванне паспяхова выдалена." #: inc/backup.php:102 msgid "Ok" msgstr "Добра" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ВЫДАЛІЦЬ ФАЙЛЫ" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Вы ўпэўнены, што хочаце выдаліць гэту рэзервовую копію?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Адмяніць" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Пацвердзіце" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "АДНАВІЦЬ ФАЙЛЫ" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Вы ўпэўнены, што хочаце аднавіць гэту рэзервовую копію?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Апошняе паведамленне часопіса" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Рэзервовае капіраванне, відаць, атрымалася, і яно завершана." #: inc/backup.php:171 msgid "No log message" msgstr "Няма паведамлення ў часопісе" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Існуючыя рэзервовыя копіі" #: inc/backup.php:184 msgid "Backup Date" msgstr "Дата рэзервовага капіравання" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Рэзервовыя дадзеныя (націсніце, каб загрузіць)" #: inc/backup.php:190 msgid "Action" msgstr "Дзеянне" #: inc/backup.php:210 msgid "Today" msgstr "Сёння" #: inc/backup.php:239 msgid "Restore" msgstr "Аднавіць" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Выдаліць" #: inc/backup.php:241 msgid "View Log" msgstr "Прагляд часопіса" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "У цяперашні час рэзервовых копій не знойдзена." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Дзеянні з выбранымі рэзервовымі копіямі" #: inc/backup.php:251 msgid "Select All" msgstr "Абраць усё" #: inc/backup.php:252 msgid "Deselect" msgstr "Адмяніць выбар" #: inc/backup.php:254 msgid "Note:" msgstr "нататка:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Файлы рэзервовых копій будуць знаходзіцца пад" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Уклад Файлавы менеджэр WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Заўвага: Гэта дэманстрацыйныя скрыншоты. Калі ласка, купіце File Manager pro " "для функцый часопісаў." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Націсніце, каб купіць PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "купіць PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Рэдагаваць часопісы файлаў" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Спампаваць часопісы файлаў" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Загрузіць часопісы файлаў" #: inc/root.php:43 msgid "Settings saved." msgstr "Налады захаваны." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Адхіліць гэтае апавяшчэнне." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Вы не ўносілі ніякіх змяненняў для захавання." #: inc/root.php:55 msgid "Public Root Path" msgstr "Грамадскі каранёвы шлях" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Каранёвы шлях файлавага мэнэджара, вы можаце змяніць яго ў адпаведнасці з " "вашым выбарам." #: inc/root.php:59 msgid "Default:" msgstr "Па змаўчанні:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Калі ласка, змяніце гэта ўважліва, няправільны шлях можа прывесці да " "падзення ўбудовы файлавага мэнэджара." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Уключыць сметніцу?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Пасля ўключэння смецця вашы файлы будуць пераходзіць у папку смецця." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Уключыць загрузку файлаў у медыятэку?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Пасля ўключэння гэтага ўсе файлы будуць пераходзіць у медыя-бібліятэку." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Максімальна дазволены памер на момант аднаўлення рэзервовай копіі базы " "дадзеных." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Калі ласка, павялічце значэнне поля, калі вы атрымліваеце паведамленне пра " "памылку падчас аднаўлення рэзервовай копіі." #: inc/root.php:90 msgid "Save Changes" msgstr "Захаваць змены" #: inc/settings.php:10 msgid "Settings - General" msgstr "Налады - Агульныя" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Заўвага: Гэта проста дэманстрацыйны скрыншот. Каб атрымаць налады, купіце " "нашу версію pro." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Тут адміністратар можа даць доступ да роляў карыстальнікаў для выкарыстання " "файлавага мэнэджэра. Адміністратар можа ўсталяваць папку доступу па " "змаўчанні, а таксама кантраляваць памер загрузкі файлавага менеджэра." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Налады - рэдактар ​​кода" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Файлавы менеджэр мае рэдактар ​​кода з некалькімі тэмамі. Вы можаце выбраць " "любую тэму для рэдактара кода. Ён будзе адлюстроўвацца пры рэдагаванні " "любога файла. Таксама вы можаце дазволіць поўнаэкранны рэжым рэдактара кода." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Выгляд рэдактара кода" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Налады - Абмежаванні карыстальнікаў" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Адміністратар можа абмежаваць дзеянні любога карыстальніка. Акрамя таго, " "можна схаваць файлы і тэчкі і можа ўсталяваць розныя шляхі для розных " "карыстальнікаў." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Налады - Абмежаванні роляў карыстальніка" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Адміністратар можа абмежаваць дзеянні любой карыстальніцкай ролі. Акрамя " "таго, можна схаваць файлы і тэчкі і можа ўсталяваць розныя шляхі для розных " "роляў карыстальнікаў." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Файлавы менеджэр - кароткі код" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "ВЫКАРЫСТАННЕ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Ён пакажа файлавы менеджэр на пярэднім канцы. Вы можаце кіраваць усімі " "наладамі з налад файлавага мэнэджара. Ён будзе працаваць гэтак жа, як і " "бэкэнд Файлавы менеджэр WP." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Ён пакажа файлавы менеджэр на пярэднім канцы. Але толькі адміністратар мае " "доступ да яго і будзе кіраваць з налад файлавага мэнэджара." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Параметры:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Гэта дазволіць усім ролям атрымліваць доступ да файлавага мэнэджара на " "пярэднім канцы або вы можаце проста выкарыстоўваць для пэўных роляў " "карыстальнікаў, напрыклад, allow_roles = \"рэдактар, аўтар\" (падзелены " "коскай (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Тут \"test\" - гэта назва папкі, якая знаходзіцца ў каранёвым каталогу, або " "вы можаце даць шлях для падтэчак, напрыклад, \"wp-content/plugins\". Калі " "пакінуць поле пустым або пустым, ён атрымае доступ да ўсіх тэчак у каранёвым " "каталогу. Па змаўчанні: Каранёвы каталог" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "для доступу да дазволу запісу файлаў, звярніце ўвагу: true/false, па " "змаўчанні: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "для доступу да дазволу на чытанне файлаў, звярніце ўвагу: true/false, па " "змаўчанні: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "ён схавае згаданае тут. Заўвага: праз коску (,). Па змаўчанні: Нуль" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Ён будзе заблакіраваны, згаданы праз коскі. вы можаце заблакаваць больш, як " "\".php,.css,.js\" і г.д. Па змаўчанні: Нуль" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* для ўсіх аперацый і для дазволу некаторых аперацый вы можаце ўказаць назву " "аперацыі, напрыклад, allow_operations=\"upload,download\". Заўвага: праз " "коску (,). Па змаўчанні: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Спіс аперацый з файламі:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Зрабіце каталог альбо тэчку" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Стварыць файл" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Перайменаваць файл ці тэчку" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Дублюйце альбо кланіруйце тэчку альбо файл" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Устаўце файл ці тэчку" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Забараніць" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Каб зрабіць архіў альбо архіў" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Выняць архіў альбо архіваваны файл" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Скапіруйце файлы ці тэчкі" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Проста выражыце файл ці тэчку" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Змяніць файл" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Выдаленне альбо выдаленне файлаў і тэчак" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Спампаваць файлы" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Загрузіць файлы" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Шукайце рэчы" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Інфармацыя пра файл" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Дапамажыце" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Гэта забароніць пэўных карыстальнікаў, проста паставіўшы іх " "ідэнтыфікатары, падзеленыя коскамі (,). Калі карыстальнік забаронены, ён не " "зможа атрымаць доступ да файлавага мэнэджара wp на пярэдняй панэлі." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Прагляд карыстацкага інтэрфейсу Filemanager. Па змаўчанні: сетка" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Зменены файл альбо Стварыць фармат даты. Па змаўчанні: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Мова дыспетчара файлаў. Па змаўчанні: англійская (en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Тэма дыспетчара файлаў. Па змаўчанні: святло" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Дыспетчар файлаў - Уласцівасці сістэмы" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Версія PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Максімальны памер загружанага файла (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Апублікаваць максімальны памер загружанага файла (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Абмежаванне памяці (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Час чакання (максімальны_ час_выканання)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Браўзэр і АС (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Змяніць тэму тут:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Па змаўчанні" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Цёмны" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Святло" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Шэры" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Сардэчна запрашаем у дыспетчар файлаў" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Мы любім знаходзіць новых сяброў! Падпішыцеся ніжэй, і мы абяцаем\n" " будзеце ў курсе нашых апошніх новых убудоў, абнаўленняў,\n" " дзіўныя прапановы і некалькі спецыяльных прапаноў." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Калі ласка, увядзіце імя." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Калі ласка, увядзіце прозвішча." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Калі ласка, увядзіце адрас электроннай пошты." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Праверце" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Не, дзякуй" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Ўмовы абслугоўвання" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Палітыка прыватнасці" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Захаванне ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "добра" #~ msgid "Backup not found!" #~ msgstr "Рэзервовая копія не знойдзена!" #~ msgid "Backup removed successfully!" #~ msgstr "Рэзервовая копія выдалена!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Для рэзервовага капіравання нічога не " #~ "выбрана" #~ msgid "Security Issue." #~ msgstr "Пытанне бяспекі. " #~ msgid "Database backup done." #~ msgstr "" #~ "Зроблена рэзервовая копія базы " #~ "дадзеных. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Немагчыма стварыць рэзервовую копію базы " #~ "дадзеных. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Зроблена рэзервовая копія убудоў. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Не атрымалася зрабіць рэзервовую копію " #~ "убудоў. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Зроблена рэзервовая копія тэм. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Не атрымалася стварыць рэзервовую копію " #~ "тэм. " #~ msgid "Uploads backup done." #~ msgstr "Запампоўка зроблена. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Не атрымалася загрузіць рэзервовую " #~ "копію. " #~ msgid "Others backup done." #~ msgstr "" #~ "Іншыя рэзервовыя копіі зроблены. " #~ msgid "Others backup failed." #~ msgstr "" #~ "Не атрымалася зрабіць рэзервовую копію. " #~ "" #~ msgid "All Done" #~ msgstr "Усе зроблена " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ " [wp_file_manager view = \"list\" lang = \"en\" theme = \"light\" " #~ "dateformat = \"d M, Y h: i A\" allowed_roles = \"рэдактар, аўтар\" " #~ "access_folder = \"wp-content / plugins\" write = \"true\" read = \"false" #~ "\" hide_files = \"kumar, abc.php\" lock_extensions = \". php, .css\" " #~ "allowed_operations = \"загрузіць, загрузіць\" ban_user_ids = \"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Кіраванне WP файлаў." #~ msgid "Extensions" #~ msgstr "пашырэння" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Заплаціце некаторыя ахвяраванні, каб зрабіць убудова больш стабільным. Вы " #~ "можаце аплаціць суму па вашаму выбару." wp-file-manager/languages/wp-file-manager-bg_BG.mo000064400000057520151202472330015743 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&MQ(K)c*XO+j+,,3,O,l)./0 0]0M1__1"11%2O&2Cv2C2:2193>k33(333 4(4,84.e4434N4,5 L5-W5S5L5]&666 6!6/6 73-7!a7K7G7!8l98)8b843:h:3:H:;y;3=?9=(y====u?$@2AqNAB}COD7E FF9,FfFF[,G9GJG' H;5HqH8H+HHII9J:J J K]KAlK6KAKT'L|LL-L1L"M1$MVMNNUOG\OFO\OnHPP0P$Q0(QPYQ5QQGQ =R#HRlRR-RRMR2S1ESwSFSXS-5TcT8}T!T$T\TZUKcU=U@UP.VV7V5VW W`W>}WQW:XPIXFXNX80Y"iYYIYIYL1ZR~ZZ$Z [V*[2[O[)][.]]!^^}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 14:54+0530 Last-Translator: admin Language-Team: Language: bg_BG MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * за всички операции и за да разрешите някои операции, можете да споменете име на операцията като, allowed_operations="качване, изтегляне". Забележка: разделено със запетая (,). По подразбиране: *-> Ще забрани определени потребители, като просто постави техните идентификатори, разделени със запетаи (,). Ако потребителят е Бан, той няма да има достъп до wp файлов мениджър отпред.-> Тема на файловия мениджър. По подразбиране: Светлина-> File Modified или Create date format. По подразбиране: d M, Y h: i A-> Език на файловия мениджър. По подразбиране: английски (bg)-> Изглед на потребителския интерфейс на Filemanager. По подразбиране: мрежаДействиеДействия при избрани архивиАдминистраторът може да ограничи действията на всеки потребител. Също така скривайте файлове и папки и можете да задавате различни - различни пътища на папки за различни потребители.Администраторът може да ограничи действията на всяка потребителска роля. Също така скривайте файлове и папки и можете да зададете различни - различни пътища на папки за различни роли на потребители.След активиране на кошчето вашите файлове ще отидат в папката за боклук.След като активирате това, всички файлове ще отидат в медийната библиотека.ГотовоНаистина ли искате да премахнете избраните архиви?Наистина ли искате да изтриете този архив?Наистина ли искате да възстановите това архивиране?Дата на архивиранеАрхивиране сегаОпции за архивиране:Архивиране на данни (щракнете за изтегляне)Файловете за архивиране ще бъдат подАрхивирането работи, моля, изчакайтеАрхивирането е успешно изтрито.Архивиране/ВъзстановяванеАрхивите бяха премахнати успешно!ЗабранаБраузър и ОС (HTTP_USER_AGENT)Купете PROКупете ProОтказПромяна на темата тук:Кликнете, за да купите PROИзглед на редактор на кодПотвърдетеКопирайте файлове или папкиПонастоящем не са намерени резервни копия.ИЗТРИЙ ФАЙЛОВЕТЕТъмноАрхивиране на база данниАрхивиране на базата данни направено на дата Архивирането на базата данни е извършено.Архивирането на база данни е възстановено успешно.По подразбиранеПо подразбиране:ИзтрийПремахнете избораОтхвърлете това известие.ДаретеИзтеглете файлове с файловеИзтеглете файловеДублирайте или клонирайте папка или файлРедактиране на регистрационни файловеРедактирайте файлАктивиране на качването на файлове в медийната библиотека?Активиране на кошчето?Грешка: Не може да се възстанови архивирането, тъй като архивирането на базата данни е голямо по размер. Моля, опитайте да увеличите максималния разрешен размер от настройките за предпочитания.Съществуващи резервни копияExtract archive or zipped fileФайлов диспечер - Кратък кодФайлов диспечер - Свойства на систематаОсновен път на файловия мениджър, можете да промените според вашия избор.File Manager има редактор на код с множество теми. Можете да изберете всяка тема за редактор на код. Той ще се покаже, когато редактирате всеки файл. Също така можете да разрешите цял екран режим на редактор на код.Списък с операции с файлове:Файлът не съществува за изтегляне.Архивиране на файловеСивоПомогнеТук "test" е името на папката, която се намира в основната директория, или можете да дадете път за подпапки като "wp-content/plugins". Ако оставите празно или празно, ще има достъп до всички папки в основната директория. По подразбиране: Основна директорияТук администраторът може да даде достъп до потребителски роли, за да използва файловия мениджър. Администраторът може да зададе папка по подразбиране и да контролира размера на качването на файловия мениджър.Информация за файлаНевалиден код за сигурност.Това ще позволи на всички роли да имат достъп до файловия мениджър в предния край или можете просто да използвате за конкретни потребителски роли, като например allowed_roles="editor,author" (разделен със запетая (,))Ще се заключи, споменато със запетаи. можете да заключите повече като ".php,.css,.js" и т.н. По подразбиране: NullТой ще покаже файлов мениджър на предния край. Но само администраторът има достъп до него и ще контролира от настройките на файловия мениджър.Той ще покаже файлов мениджър на предния край. Можете да контролирате всички настройки от настройките на файловия мениджър. Той ще работи по същия начин като бекенд WP файлов мениджър.Последно съобщение в дневникаСветлинаДневнициНаправете директория или папкаНаправете файлМаксимално позволен размер към момента на възстановяване на резервно копие на базата данни.Максимален размер на файла за качване (upload_max_filesize)Ограничение на паметта (memory_limit)Липсва резервен идентификационен номер.Липсва тип параметър.Липсват необходимите параметри.Не благодаряНяма регистрационно съобщениеНяма намерени дневници!Забележка:Забележка: Това са демонстрационни екранни снимки. Моля, купете File Manager pro за функции Logs.Забележка: Това е само демонстрационна екранна снимка. За да получите настройки, моля, купете нашата професионална версия.Нищо не е избрано за архивиранеНищо не е избрано за архивиране.ДобреДобреДруги (Всички други директории, намерени във wp-content)Други архивиране направено на дата Други архивиране е направено.Архивирането на други бе неуспешно.Други резервни копия са възстановени успешно.PHP версияПараметри:Поставете файл или папкаМоля, въведете имейл адрес.Моля, въведете Име.Моля, въведете фамилно име.Моля, променете това внимателно, грешният път може да доведе до слизане на приставката за файлов мениджър.Моля, увеличете стойността на полето, ако получавате съобщение за грешка по време на възстановяване на резервно копие.ПриставкиАрхивирането на приставки е направено на дата Архивирането на плъгините е извършено.Архивирането на плъгини не бе успешно.Архивирането на приставки е възстановено успешно.Публикувайте максимален размер на файла за качване (post_max_size)ПредпочитанияПолитика за поверителностОбществен корен пътВЪЗСТАНОВЯВАНЕ НА ФАЙЛОВЕПремахване или изтриване на файлове и папкиПреименувайте файл или папкаВъзстановиВъзстановяването тече, моля, изчакайтеУСПЕХЗапазите променитеЗапазва се ...Търсете нещаПроблем със сигурността.Избери всичкиИзберете резервно(и) копие(и) за изтриване!НастройкиНастройки - редактор на кодНастройки - ОбщиНастройки - Потребителски ограниченияНастройки - Ограничения на потребителските ролиНастройките са запазени.Кратък код - PROПросто изрежете файл или папкаСистемни свойстваУсловия за ползванеАрхивирането очевидно е успяло и вече е завършено.ТемиАрхивирането на теми е направено на дата Архивирането на теми е направено.Архивирането на теми не бе успешно.Архивирането на теми се възстанови успешно.Време сегаВреме за изчакване (max_execution_time)За да направите архив или ципДнесУПОТРЕБА:Не може да се създаде резервно копие на базата данни.Архивът не може да бъде премахнат!Не може да се възстанови резервно копие на DB.Не може да се възстановят други.Приставките не могат да бъдат възстановени.Темите не могат да бъдат възстановени.Качванията не могат да бъдат възстановени.Качване на файлове от дневнициКачване на файловеКачванияКачва резервно копие, направено на дата Архивирането на качванията е извършено.Архивирането на качванията не бе успешно.Архивите за качване са възстановени успешно.ПроверетеПреглед на дневникаWP файлов мениджърWP файлов мениджър - Архивиране / ВъзстановяванеПринос на WP файлов мениджърОбичаме да създаваме нови приятели! Абонирайте се по-долу и ние обещаваме Ви информираме за последните ни нови плъгини, актуализации, страхотни оферти и няколко специални оферти.Добре дошли във File ManagerНе сте направили промени, които да бъдат запазени.за достъп до разрешение за четене на файлове, забележка: true/false, по подразбиране: trueза достъп до разрешения за запис на файлове, забележка: true/false, по подразбиране: falseще скрие споменатото тук. Забележка: разделено със запетая (,). По подразбиране: нулаwp-file-manager/languages/wp-file-manager-bg_BG.po000064400000104161151202472330015740 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 15:28+0530\n" "PO-Revision-Date: 2022-02-28 14:54+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: bg_BG\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Архивирането на теми се възстанови успешно." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Темите не могат да бъдат възстановени." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Архивите за качване са възстановени успешно." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Качванията не могат да бъдат възстановени." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Други резервни копия са възстановени успешно." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Не може да се възстановят други." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Архивирането на приставки е възстановено успешно." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Приставките не могат да бъдат възстановени." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Архивирането на база данни е възстановено успешно." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Готово" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Не може да се възстанови резервно копие на DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Архивите бяха премахнати успешно!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Архивът не може да бъде премахнат!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Архивиране на базата данни направено на дата " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Архивирането на приставки е направено на дата " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Архивирането на теми е направено на дата " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Качва резервно копие, направено на дата " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Други архивиране направено на дата " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Дневници" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Няма намерени дневници!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Нищо не е избрано за архивиране" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Проблем със сигурността." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Архивирането на базата данни е извършено." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Не може да се създаде резервно копие на базата данни." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Архивирането на плъгините е извършено." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Архивирането на плъгини не бе успешно." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Архивирането на теми е направено." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Архивирането на теми не бе успешно." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Архивирането на качванията е извършено." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Архивирането на качванията не бе успешно." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Други архивиране е направено." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Архивирането на други бе неуспешно." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP файлов мениджър" #: file_folder_manager.php:769 msgid "Settings" msgstr "Настройки" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Предпочитания" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Системни свойства" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Кратък код - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Архивиране/Възстановяване" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Купете Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Дарете" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Файлът не съществува за изтегляне." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Невалиден код за сигурност." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Липсва резервен идентификационен номер." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Липсва тип параметър." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Липсват необходимите параметри." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Грешка: Не може да се възстанови архивирането, тъй като архивирането на " "базата данни е голямо по размер. Моля, опитайте да увеличите максималния " "разрешен размер от настройките за предпочитания." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Изберете резервно(и) копие(и) за изтриване!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Наистина ли искате да премахнете избраните архиви?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Архивирането работи, моля, изчакайте" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Възстановяването тече, моля, изчакайте" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Нищо не е избрано за архивиране." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP файлов мениджър - Архивиране / Възстановяване" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Опции за архивиране:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Архивиране на база данни" #: inc/backup.php:64 msgid "Files Backup" msgstr "Архивиране на файлове" #: inc/backup.php:68 msgid "Plugins" msgstr "Приставки" #: inc/backup.php:71 msgid "Themes" msgstr "Теми" #: inc/backup.php:74 msgid "Uploads" msgstr "Качвания" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Други (Всички други директории, намерени във wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Архивиране сега" #: inc/backup.php:89 msgid "Time now" msgstr "Време сега" #: inc/backup.php:99 msgid "SUCCESS" msgstr "УСПЕХ" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Архивирането е успешно изтрито." #: inc/backup.php:102 msgid "Ok" msgstr "Добре" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ИЗТРИЙ ФАЙЛОВЕТЕ" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Наистина ли искате да изтриете този архив?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Отказ" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Потвърдете" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ВЪЗСТАНОВЯВАНЕ НА ФАЙЛОВЕ" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Наистина ли искате да възстановите това архивиране?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Последно съобщение в дневника" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Архивирането очевидно е успяло и вече е завършено." #: inc/backup.php:171 msgid "No log message" msgstr "Няма регистрационно съобщение" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Съществуващи резервни копия" #: inc/backup.php:184 msgid "Backup Date" msgstr "Дата на архивиране" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Архивиране на данни (щракнете за изтегляне)" #: inc/backup.php:190 msgid "Action" msgstr "Действие" #: inc/backup.php:210 msgid "Today" msgstr "Днес" #: inc/backup.php:239 msgid "Restore" msgstr "Възстанови" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Изтрий" #: inc/backup.php:241 msgid "View Log" msgstr "Преглед на дневника" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Понастоящем не са намерени резервни копия." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Действия при избрани архиви" #: inc/backup.php:251 msgid "Select All" msgstr "Избери всички" #: inc/backup.php:252 msgid "Deselect" msgstr "Премахнете избора" #: inc/backup.php:254 msgid "Note:" msgstr "Забележка:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Файловете за архивиране ще бъдат под" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Принос на WP файлов мениджър" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Забележка: Това са демонстрационни екранни снимки. Моля, купете File Manager " "pro за функции Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Кликнете, за да купите PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Купете PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Редактиране на регистрационни файлове" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Изтеглете файлове с файлове" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Качване на файлове от дневници" #: inc/root.php:43 msgid "Settings saved." msgstr "Настройките са запазени." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Отхвърлете това известие." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Не сте направили промени, които да бъдат запазени." #: inc/root.php:55 msgid "Public Root Path" msgstr "Обществен корен път" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Основен път на файловия мениджър, можете да промените според вашия избор." #: inc/root.php:59 msgid "Default:" msgstr "По подразбиране:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Моля, променете това внимателно, грешният път може да доведе до слизане на " "приставката за файлов мениджър." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Активиране на кошчето?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "След активиране на кошчето вашите файлове ще отидат в папката за боклук." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Активиране на качването на файлове в медийната библиотека?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "След като активирате това, всички файлове ще отидат в медийната библиотека." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Максимално позволен размер към момента на възстановяване на резервно копие " "на базата данни." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Моля, увеличете стойността на полето, ако получавате съобщение за грешка по " "време на възстановяване на резервно копие." #: inc/root.php:90 msgid "Save Changes" msgstr "Запазите промените" #: inc/settings.php:10 msgid "Settings - General" msgstr "Настройки - Общи" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Забележка: Това е само демонстрационна екранна снимка. За да получите " "настройки, моля, купете нашата професионална версия." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Тук администраторът може да даде достъп до потребителски роли, за да " "използва файловия мениджър. Администраторът може да зададе папка по " "подразбиране и да контролира размера на качването на файловия мениджър." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Настройки - редактор на код" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager има редактор на код с множество теми. Можете да изберете всяка " "тема за редактор на код. Той ще се покаже, когато редактирате всеки файл. " "Също така можете да разрешите цял екран режим на редактор на код." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Изглед на редактор на код" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Настройки - Потребителски ограничения" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Администраторът може да ограничи действията на всеки потребител. Също така " "скривайте файлове и папки и можете да задавате различни - различни пътища на " "папки за различни потребители." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Настройки - Ограничения на потребителските роли" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Администраторът може да ограничи действията на всяка потребителска роля. " "Също така скривайте файлове и папки и можете да зададете различни - различни " "пътища на папки за различни роли на потребители." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Файлов диспечер - Кратък код" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "УПОТРЕБА:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Той ще покаже файлов мениджър на предния край. Можете да контролирате всички " "настройки от настройките на файловия мениджър. Той ще работи по същия начин " "като бекенд WP файлов мениджър." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Той ще покаже файлов мениджър на предния край. Но само администраторът има " "достъп до него и ще контролира от настройките на файловия мениджър." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Параметри:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Това ще позволи на всички роли да имат достъп до файловия мениджър в предния " "край или можете просто да използвате за конкретни потребителски роли, като " "например allowed_roles=\"editor,author\" (разделен със запетая (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Тук \"test\" е името на папката, която се намира в основната директория, или " "можете да дадете път за подпапки като \"wp-content/plugins\". Ако оставите " "празно или празно, ще има достъп до всички папки в основната директория. По " "подразбиране: Основна директория" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "за достъп до разрешения за запис на файлове, забележка: true/false, по " "подразбиране: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "за достъп до разрешение за четене на файлове, забележка: true/false, по " "подразбиране: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "ще скрие споменатото тук. Забележка: разделено със запетая (,). По " "подразбиране: нула" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Ще се заключи, споменато със запетаи. можете да заключите повече като \"." "php,.css,.js\" и т.н. По подразбиране: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* за всички операции и за да разрешите някои операции, можете да споменете " "име на операцията като, allowed_operations=\"качване, изтегляне\". " "Забележка: разделено със запетая (,). По подразбиране: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Списък с операции с файлове:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Направете директория или папка" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Направете файл" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Преименувайте файл или папка" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Дублирайте или клонирайте папка или файл" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Поставете файл или папка" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Забрана" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "За да направите архив или цип" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extract archive or zipped file" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Копирайте файлове или папки" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Просто изрежете файл или папка" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Редактирайте файл" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Премахване или изтриване на файлове и папки" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Изтеглете файлове" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Качване на файлове" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Търсете неща" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Информация за файла" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Помогне" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Ще забрани определени потребители, като просто постави техните " "идентификатори, разделени със запетаи (,). Ако потребителят е Бан, той няма " "да има достъп до wp файлов мениджър отпред." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "" "-> Изглед на потребителския интерфейс на Filemanager. По подразбиране: мрежа" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> File Modified или Create date format. По подразбиране: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Език на файловия мениджър. По подразбиране: английски (bg)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Тема на файловия мениджър. По подразбиране: Светлина" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Файлов диспечер - Свойства на системата" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP версия" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Максимален размер на файла за качване (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Публикувайте максимален размер на файла за качване (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Ограничение на паметта (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Време за изчакване (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Браузър и ОС (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Промяна на темата тук:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "По подразбиране" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Тъмно" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Светлина" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Сиво" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Добре дошли във File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Обичаме да създаваме нови приятели! Абонирайте се по-долу и ние обещаваме\n" " Ви информираме за последните ни нови плъгини, актуализации,\n" " страхотни оферти и няколко специални оферти." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Моля, въведете Име." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Моля, въведете фамилно име." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Моля, въведете имейл адрес." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Проверете" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Не благодаря" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Условия за ползване" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Политика за поверителност" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Запазва се ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Добре" #~ msgid "Backup not found!" #~ msgstr "Архивът не е намерен!" #~ msgid "Backup removed successfully!" #~ msgstr "Архивът бе премахнат успешно!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Нищо не е избрано за архивиране" #~ msgid "Security Issue." #~ msgstr "Проблем със сигурността. " #~ msgid "Database backup done." #~ msgstr "" #~ "Извършено е архивиране на базата " #~ "данни. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Не може да се създаде резервно копие на " #~ "базата данни. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Извършено е архивиране на приставки. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Архивирането на приставки не бе успешно. " #~ "" #~ msgid "Themes backup done." #~ msgstr "" #~ "Готово архивиране на теми. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Архивирането на теми не бе успешно. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Качването на резервно копие е " #~ "извършено. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Архивирането на качванията не бе " #~ "успешно. " #~ msgid "Others backup done." #~ msgstr "" #~ "Други архивиране направено. " #~ msgid "Others backup failed." #~ msgstr "" #~ "Архивирането на други не бе успешно. " #~ msgid "All Done" #~ msgstr "Готово " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Управлявайте вашите WP файлове." #~ msgid "Extensions" #~ msgstr "Разширения" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Моля, дайте малко дарение, за да направите плъгина по-стабилен. Можете да " #~ "платите сума по ваш избор." wp-file-manager/languages/wp-file-manager-bn_BD.mo000064400000067521151202472330015751 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&\( M*\n,,k-i- c.gp..0G2233{%44%956_555d5U16]6N6+47[`77>7878T8@d808/89X9tu9#9:+:RA:B::X;k;;);.;;6</=<cm<9<? =uK=6=g==`?f?@@hF@@XlA6CIC"FD iDvD#DFH/H I!KKM#CO gO qOR{O&OOP>QNXQGQVQFR0cR8RRRSkTn"UUUUhoVEVIWhW+WXF,XIsXCX&Y(YYZY [Bf[R[[o}\\( ]&2]DY]_]`]+_^o^^=_3L_8_1_5_f!``4`'`X`YQa,a$aMa1Kb)}b{b #ck0cIcFcZ-dd-dYd'e.eXEeFeaeTGf`fHfZFg0ggg_ h<khLhh|iiAiziQmjjTFlxlmmwn}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 15:46+0530 Last-Translator: admin Language-Team: Language: bn_BD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e;esc_attr__ X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * সমস্ত অপারেশনের জন্য এবং কিছু অপারেশনের অনুমতি দেওয়ার জন্য আপনি অপারেশনের নাম উল্লেখ করতে পারেন যেমন, অনুমোদিত_অপারেশন="আপলোড, ডাউনলোড"। দ্রষ্টব্য: কমা (,) দ্বারা পৃথক করা হয়েছে। ডিফল্ট: *-> এটি নির্দিষ্ট ব্যবহারকারীদের কেবলমাত্র কমা (,) দ্বারা বিভক্ত করে তাদের আইডিগুলি নিষিদ্ধ করবে। যদি ব্যবহারকারী নিষিদ্ধ হন তবে তারা সামনের প্রান্তে ডাব্লুপি ফাইল ফাইল ব্যবস্থাপক অ্যাক্সেস করতে পারবেন না।-> ফাইল ম্যানেজার থিম। ডিফল্ট: হালকা-> ফাইল সংশোধিত বা তারিখের ফর্ম্যাট তৈরি করুন। ডিফল্ট: ডি এম, ওয়াই এইচ: আই এ-> ফাইল ম্যানেজার ভাষা। ডিফল্ট: ইংরেজি (এন)-> ফাইল ম্যানেজার ইউআই ভিউ। ডিফল্ট: গ্রিডকর্মনির্বাচিত ব্যাকআপ (গুলি) এর উপর ক্রিয়াঅ্যাডমিন যেকোন ব্যবহারকারীর কার্যক্রম সীমাবদ্ধ করতে পারে। এছাড়াও ফাইল এবং ফোল্ডার লুকান এবং বিভিন্ন সেট করতে পারেন - বিভিন্ন ব্যবহারকারীর জন্য বিভিন্ন ফোল্ডার পাথঅ্যাডমিন কোনও userrole এর কার্যকলাপকে সীমিত করতে পারে। এছাড়াও ফাইল এবং ফোল্ডার লুকান এবং বিভিন্ন সেট করতে পারেন - বিভিন্ন ব্যবহারকারীর ভূমিকা জন্য বিভিন্ন ফোল্ডার পাথ।ট্র্যাশ সক্ষম করার পরে আপনার ফাইলগুলি ট্র্যাশ ফোল্ডারে যাবে।এটি সক্ষম করার পরে সমস্ত ফাইল মিডিয়া লাইব্রেরিতে যাবে।সব শেষআপনি কি নির্বাচিত ব্যাকআপ (গুলি) সরানোর বিষয়ে নিশ্চিত?আপনি কি নিশ্চিত যে আপনি এই ব্যাকআপটি মুছতে চান?আপনি কি নিশ্চিত যে আপনি এই ব্যাকআপটি পুনরুদ্ধার করতে চান?ব্যাকআপ তারিখএখনি ব্যাকআপ করে নিনব্যাকআপ বিকল্পগুলি:ব্যাকআপ ডেটা (ডাউনলোড করতে ক্লিক করুন)ব্যাকআপ ফাইলগুলি এর অধীনে থাকবেব্যাকআপ চলছে, দয়া করে অপেক্ষা করুনব্যাকআপ সফলভাবে মোছা হয়েছে।ব্যাকআপ/রিস্টোরব্যাকআপগুলি সফলভাবে সরানো হয়েছে!নিষেধাজ্ঞাব্রাউজার এবং ওএস (HTTP_USER_AGENT)প্রো কিনুনপ্রো কিনুনবাতিলথিম এখানে পরিবর্তন করুন:PRO কিনতে ক্লিক করুনকোড-সম্পাদক দেখুনকনফার্মফাইল বা ফোল্ডারগুলি অনুলিপি করুনবর্তমানে কোনও ব্যাকআপ (গুলি) পাওয়া যায় নি।ফাইল মুছে দিনগাডাটাবেস ব্যাকআপতারিখে ডাটাবেস ব্যাকআপ হয়েছে ডাটাবেস ব্যাকআপ সম্পন্ন.ডাটাবেস ব্যাকআপ সফলভাবে পুনরুদ্ধার করা হয়েছে।ডিফল্টডিফল্ট:মুছে ফেলানির্বাচন না করাএই নোটিশ বাতিল কর.দান করাফাইল লগ ডাউনলোড করুনফাইল ডাউনলোড করুনফোল্ডার বা ফাইলটিকে নকল বা ক্লোন করুনফাইল লগ সম্পাদনা করুনএকটি ফাইল সম্পাদনা করুনমিডিয়া লাইব্রেরিতে ফাইল আপলোড সক্ষম করবেন?ট্র্যাশ সক্ষম করবেন?ত্রুটি: ব্যাকআপ পুনরুদ্ধার করতে অক্ষম কারণ ডাটাবেস ব্যাকআপ আকারে ভারী৷ পছন্দ সেটিংস থেকে সর্বোচ্চ অনুমোদিত আকার বাড়ানোর চেষ্টা করুন.বিদ্যমান ব্যাকআপ (গুলি)সংরক্ষণাগার বা জিপ করা ফাইলটি বের করুনফাইল ম্যানেজার - শর্টকোডফাইল ম্যানেজার - সিস্টেম বৈশিষ্ট্যাবলীফাইল ম্যানেজার রুট পাথ, আপনি আপনার পছন্দ অনুযায়ী পরিবর্তন করতে পারেন।ফাইল ম্যানেজারের একাধিক থিম সঙ্গে একটি কোড সম্পাদক আছে। আপনি কোড সম্পাদক জন্য কোন থিম নির্বাচন করতে পারেন। যখন আপনি কোনও ফাইল সম্পাদনা করবেন তখন এটি প্রদর্শিত হবে। এছাড়াও আপনি কোড সম্পাদক পূর্ণস্ক্রীন মোড অনুমতি দিতে পারেন।ফাইল অপারেশন তালিকা:ডাউনলোড করার জন্য ফাইল নেই।ফাইল ব্যাকআপধূসরসহায়তাএখানে "test" হল ফোল্ডারের নাম যা রুট ডিরেক্টরিতে অবস্থিত, অথবা আপনি "wp-content/plugins" এর মতো সাব ফোল্ডারগুলির জন্য পাথ দিতে পারেন। খালি বা খালি রাখলে এটি রুট ডিরেক্টরির সমস্ত ফোল্ডার অ্যাক্সেস করবে। ডিফল্ট: রুট ডিরেক্টরিএখানে ফাইল ম্যানেজার ব্যবহার করার জন্য প্রশাসক ব্যবহারকারীর ভূমিকা অ্যাক্সেস করতে পারেন। অ্যাডমিন ডিফল্ট অ্যাক্সেস ফোল্ডার নির্ধারণ করতে পারে এবং ফাইলম্যানডারের আপলোড আকার নিয়ন্ত্রণ করতে পারে।ফাইল তথ্যঅবৈধ সুরক্ষা কোড।এটি সমস্ত ভূমিকাকে সামনের প্রান্তে ফাইল ম্যানেজার অ্যাক্সেস করার অনুমতি দেবে বা আপনি অনুমোদিত_roles="সম্পাদক, লেখক" (কমা দ্বারা পৃথক করা(,)) এর মতো নির্দিষ্ট ব্যবহারকারীর ভূমিকার জন্য সহজ ব্যবহার করতে পারেনএটি কমায় উল্লেখিত লক হবে। আপনি আরও লক করতে পারেন যেমন ".php,.css,.js" ইত্যাদি। ডিফল্ট: শূন্যএটি সামনের প্রান্তে ফাইল ম্যানেজার দেখাবে। কিন্তু শুধুমাত্র অ্যাডমিনিস্ট্রেটর এটি অ্যাক্সেস করতে পারে এবং ফাইল ম্যানেজার সেটিংস থেকে নিয়ন্ত্রণ করবে।এটি সামনের প্রান্তে ফাইল ম্যানেজার দেখাবে। আপনি ফাইল ম্যানেজার সেটিংস থেকে সমস্ত সেটিংস নিয়ন্ত্রণ করতে পারেন। এটি ব্যাকএন্ড WP ফাইল ম্যানেজারের মতোই কাজ করবে।শেষ লগ বার্তাআলোলগসডিরেক্টরি বা ফোল্ডার তৈরি করুনফাইল তৈরি করুনডাটাবেস ব্যাকআপ পুনরুদ্ধারের সময় সর্বাধিক অনুমোদিত আকার।সর্বাধিক ফাইল আপলোড আকার (আপলোড_ম্যাক্স_ফাইলসাইজ)মেমরি সীমা (মেমরি_লিমিট)হারিয়ে যাওয়া ব্যাকআপ আইডি।অনুপস্থিত পরামিতি প্রকার।প্রয়োজনীয় পরামিতি অনুপস্থিত।না ধন্যবাদকোনও লগ বার্তা নেইকোন লগ পাওয়া যায় নি!বিঃদ্রঃ:দ্রষ্টব্য: এগুলি ডেমো স্ক্রিনশট। লগ ফাংশনগুলির জন্য দয়া করে ফাইল ম্যানেজারটি কিনুন।দ্রষ্টব্য: এটি শুধু একটি ডেমো স্ক্রিনশট। সেটিংস পেতে আমাদের প্রো সংস্করণ কিনতে দয়া করে।ব্যাকআপের জন্য কিছুই নির্বাচন করা হয়নিব্যাকআপের জন্য কিছুই নির্বাচন করা হয়নি।ঠিক আছেঠিক আছেঅন্যান্য (ডাব্লুপি-কনটেন্টের মধ্যে অন্য কোনও ডিরেক্টরি পাওয়া যায়)অন্যদের ব্যাকআপ তারিখে সম্পন্ন হয়েছে অন্যান্য ব্যাকআপ সম্পন্ন.অন্য ব্যাকআপ ব্যর্থ হয়েছে.অন্যদের ব্যাকআপ সফলভাবে পুনরুদ্ধার করা হয়েছে।পিএইচপি সংস্করণপরামিতি:একটি ফাইল বা ফোল্ডার আটকানইমেল ঠিকানা লিখুন দয়া করে।দয়া করে প্রথম নাম লিখুন।শেষ নাম লিখুন।দয়া করে এটি সাবধানে পরিবর্তন করুন, ভুল পথ ফাইল ম্যানেজার প্লাগইনকে নামতে পারে।ব্যাকআপ পুনরুদ্ধারের সময় আপনি ত্রুটি বার্তা পেয়ে থাকলে অনুগ্রহ করে ক্ষেত্রের মান বাড়ান৷প্লাগইনসতারিখে প্লাগিন ব্যাকআপ হয়ে গেছে প্লাগইন ব্যাকআপ সম্পন্ন.প্লাগইন ব্যাকআপ ব্যর্থ হয়েছে.প্লাগিন ব্যাকআপ সফলভাবে পুনরুদ্ধার করা হয়েছে।সর্বাধিক ফাইল আপলোড আকার পোস্ট করুন (post_max_size)পছন্দসমূহগোপনীয়তা নীতিপাবলিক রুট পাথফাইলগুলি পুনরুদ্ধার করুনফাইল এবং ফোল্ডারগুলি মুছুন বা মুছুনএকটি ফাইল বা ফোল্ডারটির নতুন নাম দিনপুনরুদ্ধার করুনপুনরুদ্ধার চলছে, অনুগ্রহ করে অপেক্ষা করুনসাফল্যপরিবর্তনগুলোর সংরক্ষনসংরক্ষণ করা হচ্ছে ...জিনিস অনুসন্ধান করুননিরাপত্তা সমস্যা।সমস্ত নির্বাচন করুনমুছে ফেলার জন্য ব্যাকআপ নির্বাচন করুন!সেটিংসসেটিংস - কোড-সম্পাদকসেটিংস - সাধারণসেটিংস - ব্যবহারকারীর সীমাবদ্ধতাসেটিংস - ব্যবহারকারীর ভূমিকা বাধাসেটিংস সংরক্ষিত.শর্টকোড - প্রোসরল একটি ফাইল বা ফোল্ডার কাটাপদ্ধতির বৈশিষ্ট্যসেবা পাবার শর্তব্যাকআপটি দৃশ্যত সফল হয়েছে এবং এখন সম্পূর্ণ।থিমসথিমগুলির ব্যাকআপ তারিখে সম্পন্ন হয়েছে থিম ব্যাকআপ সম্পন্ন হয়েছে.থিম ব্যাকআপ ব্যর্থ হয়েছে.থিমস ব্যাকআপ সফলভাবে পুনরুদ্ধার।সময় এখনসময়সীমা (max_execution_time)একটি সংরক্ষণাগার বা জিপ তৈরি করতেআজব্যবহার:ডাটাবেস ব্যাকআপ তৈরি করতে অক্ষম।ব্যাকআপ সরিয়ে দিতে অক্ষম!ডিবি ব্যাকআপ পুনরুদ্ধার করতে অক্ষম।অন্যদের পুনরুদ্ধার করতে অক্ষম।প্লাগইনগুলি পুনরুদ্ধার করতে অক্ষম।থিম পুনরুদ্ধার করতে অক্ষম।আপলোডগুলি পুনরুদ্ধার করতে অক্ষম।ফাইল লগ আপলোড করুনফাইল আপলোডআপলোডগুলিতারিখে আপলোডগুলি ব্যাকআপ হয়ে গেছে আপলোড ব্যাকআপ সম্পন্ন.আপলোড ব্যাকআপ ব্যর্থ হয়েছে.আপলোডগুলি ব্যাকআপ সফলভাবে পুনরুদ্ধার করা হয়েছে।যাচাই করুনলগ দেখুনডাব্লুপি ফাইল ম্যানেজারডাব্লুপি ফাইল ম্যানেজার - ব্যাকআপ / পুনরুদ্ধারডাব্লুপি ফাইল ম্যানেজার অবদানআমরা নতুন বন্ধু বানাতে ভালোবাসি! নীচে সাবস্ক্রাইব এবং আমরা প্রতিশ্রুতি আমাদের সর্বশেষ নতুন প্লাগিন, আপডেট, দুর্দান্ত ডিল এবং কয়েকটি বিশেষ অফার।ফাইল ম্যানেজারে আপনাকে স্বাগতমআপনি সংরক্ষণ করার জন্য কোনও পরিবর্তন করেননি।ফাইল পড়ার অনুমতি অ্যাক্সেসের জন্য, নোট: সত্য/মিথ্যা, ডিফল্ট: সত্যফাইল লেখার অনুমতির অ্যাক্সেসের জন্য, নোট: সত্য/মিথ্যা, ডিফল্ট: মিথ্যাএটা এখানে উল্লেখ লুকানো হবে. দ্রষ্টব্য: কমা (,) দ্বারা পৃথক করা হয়েছে। ডিফল্ট: শূন্যwp-file-manager/languages/wp-file-manager-bn_BD.po000064400000114177151202472330015754 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 15:34+0530\n" "PO-Revision-Date: 2022-02-25 15:46+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: bn_BD\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e;esc_attr__\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "থিমস ব্যাকআপ সফলভাবে পুনরুদ্ধার।" #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "থিম পুনরুদ্ধার করতে অক্ষম।" #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "আপলোডগুলি ব্যাকআপ সফলভাবে পুনরুদ্ধার করা হয়েছে।" #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "আপলোডগুলি পুনরুদ্ধার করতে অক্ষম।" #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "অন্যদের ব্যাকআপ সফলভাবে পুনরুদ্ধার করা হয়েছে।" #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "অন্যদের পুনরুদ্ধার করতে অক্ষম।" #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "প্লাগিন ব্যাকআপ সফলভাবে পুনরুদ্ধার করা হয়েছে।" #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "প্লাগইনগুলি পুনরুদ্ধার করতে অক্ষম।" #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "ডাটাবেস ব্যাকআপ সফলভাবে পুনরুদ্ধার করা হয়েছে।" #: file_folder_manager.php:286 file_folder_manager.php:297 file_folder_manager.php:588 #: file_folder_manager.php:592 msgid "All Done" msgstr "সব শেষ" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "ডিবি ব্যাকআপ পুনরুদ্ধার করতে অক্ষম।" #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "ব্যাকআপগুলি সফলভাবে সরানো হয়েছে!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "ব্যাকআপ সরিয়ে দিতে অক্ষম!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "তারিখে ডাটাবেস ব্যাকআপ হয়েছে " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "তারিখে প্লাগিন ব্যাকআপ হয়ে গেছে " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "থিমগুলির ব্যাকআপ তারিখে সম্পন্ন হয়েছে " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "তারিখে আপলোডগুলি ব্যাকআপ হয়ে গেছে " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "অন্যদের ব্যাকআপ তারিখে সম্পন্ন হয়েছে " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "লগস" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "কোন লগ পাওয়া যায় নি!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "ব্যাকআপের জন্য কিছুই নির্বাচন করা হয়নি" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "নিরাপত্তা সমস্যা।" #: file_folder_manager.php:527 msgid "Database backup done." msgstr "ডাটাবেস ব্যাকআপ সম্পন্ন." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "ডাটাবেস ব্যাকআপ তৈরি করতে অক্ষম।" #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "প্লাগইন ব্যাকআপ সম্পন্ন." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "প্লাগইন ব্যাকআপ ব্যর্থ হয়েছে." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "থিম ব্যাকআপ সম্পন্ন হয়েছে." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "থিম ব্যাকআপ ব্যর্থ হয়েছে." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "আপলোড ব্যাকআপ সম্পন্ন." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "আপলোড ব্যাকআপ ব্যর্থ হয়েছে." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "অন্যান্য ব্যাকআপ সম্পন্ন." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "অন্য ব্যাকআপ ব্যর্থ হয়েছে." #: file_folder_manager.php:761 file_folder_manager.php:762 lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "ডাব্লুপি ফাইল ম্যানেজার" #: file_folder_manager.php:769 msgid "Settings" msgstr "সেটিংস" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "পছন্দসমূহ" #: file_folder_manager.php:773 msgid "System Properties" msgstr "পদ্ধতির বৈশিষ্ট্য" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "শর্টকোড - প্রো" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "ব্যাকআপ/রিস্টোর" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "প্রো কিনুন" #: file_folder_manager.php:1034 msgid "Donate" msgstr "দান করা" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "ডাউনলোড করার জন্য ফাইল নেই।" #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "অবৈধ সুরক্ষা কোড।" #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "হারিয়ে যাওয়া ব্যাকআপ আইডি।" #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "অনুপস্থিত পরামিতি প্রকার।" #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "প্রয়োজনীয় পরামিতি অনুপস্থিত।" #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. Please try " "to increase Maximum allowed size from Preferences settings." msgstr "" "ত্রুটি: ব্যাকআপ পুনরুদ্ধার করতে অক্ষম কারণ ডাটাবেস ব্যাকআপ আকারে ভারী৷ পছন্দ সেটিংস থেকে " "সর্বোচ্চ অনুমোদিত আকার বাড়ানোর চেষ্টা করুন." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "মুছে ফেলার জন্য ব্যাকআপ নির্বাচন করুন!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "আপনি কি নির্বাচিত ব্যাকআপ (গুলি) সরানোর বিষয়ে নিশ্চিত?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "ব্যাকআপ চলছে, দয়া করে অপেক্ষা করুন" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "পুনরুদ্ধার চলছে, অনুগ্রহ করে অপেক্ষা করুন" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "ব্যাকআপের জন্য কিছুই নির্বাচন করা হয়নি।" #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "ডাব্লুপি ফাইল ম্যানেজার - ব্যাকআপ / পুনরুদ্ধার" #: inc/backup.php:51 msgid "Backup Options:" msgstr "ব্যাকআপ বিকল্পগুলি:" #: inc/backup.php:58 msgid "Database Backup" msgstr "ডাটাবেস ব্যাকআপ" #: inc/backup.php:64 msgid "Files Backup" msgstr "ফাইল ব্যাকআপ" #: inc/backup.php:68 msgid "Plugins" msgstr "প্লাগইনস" #: inc/backup.php:71 msgid "Themes" msgstr "থিমস" #: inc/backup.php:74 msgid "Uploads" msgstr "আপলোডগুলি" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "অন্যান্য (ডাব্লুপি-কনটেন্টের মধ্যে অন্য কোনও ডিরেক্টরি পাওয়া যায়)" #: inc/backup.php:81 msgid "Backup Now" msgstr "এখনি ব্যাকআপ করে নিন" #: inc/backup.php:89 msgid "Time now" msgstr "সময় এখন" #: inc/backup.php:99 msgid "SUCCESS" msgstr "সাফল্য" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "ব্যাকআপ সফলভাবে মোছা হয়েছে।" #: inc/backup.php:102 msgid "Ok" msgstr "ঠিক আছে" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ফাইল মুছে দিন" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "আপনি কি নিশ্চিত যে আপনি এই ব্যাকআপটি মুছতে চান?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "বাতিল" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "কনফার্ম" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ফাইলগুলি পুনরুদ্ধার করুন" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "আপনি কি নিশ্চিত যে আপনি এই ব্যাকআপটি পুনরুদ্ধার করতে চান?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "শেষ লগ বার্তা" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "ব্যাকআপটি দৃশ্যত সফল হয়েছে এবং এখন সম্পূর্ণ।" #: inc/backup.php:171 msgid "No log message" msgstr "কোনও লগ বার্তা নেই" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "বিদ্যমান ব্যাকআপ (গুলি)" #: inc/backup.php:184 msgid "Backup Date" msgstr "ব্যাকআপ তারিখ" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "ব্যাকআপ ডেটা (ডাউনলোড করতে ক্লিক করুন)" #: inc/backup.php:190 msgid "Action" msgstr "কর্ম" #: inc/backup.php:210 msgid "Today" msgstr "আজ" #: inc/backup.php:239 msgid "Restore" msgstr "পুনরুদ্ধার করুন" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "মুছে ফেলা" #: inc/backup.php:241 msgid "View Log" msgstr "লগ দেখুন" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "বর্তমানে কোনও ব্যাকআপ (গুলি) পাওয়া যায় নি।" #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "নির্বাচিত ব্যাকআপ (গুলি) এর উপর ক্রিয়া" #: inc/backup.php:251 msgid "Select All" msgstr "সমস্ত নির্বাচন করুন" #: inc/backup.php:252 msgid "Deselect" msgstr "নির্বাচন না করা" #: inc/backup.php:254 msgid "Note:" msgstr "বিঃদ্রঃ:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "ব্যাকআপ ফাইলগুলি এর অধীনে থাকবে" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "ডাব্লুপি ফাইল ম্যানেজার অবদান" #: inc/logs.php:7 msgid "Note: These are demo screenshots. Please buy File Manager pro to Logs functions." msgstr "দ্রষ্টব্য: এগুলি ডেমো স্ক্রিনশট। লগ ফাংশনগুলির জন্য দয়া করে ফাইল ম্যানেজারটি কিনুন।" #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "PRO কিনতে ক্লিক করুন" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 inc/system_properties.php:5 #: lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "প্রো কিনুন" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "ফাইল লগ সম্পাদনা করুন" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "ফাইল লগ ডাউনলোড করুন" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "ফাইল লগ আপলোড করুন" #: inc/root.php:43 msgid "Settings saved." msgstr "সেটিংস সংরক্ষিত." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "এই নোটিশ বাতিল কর." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "আপনি সংরক্ষণ করার জন্য কোনও পরিবর্তন করেননি।" #: inc/root.php:55 msgid "Public Root Path" msgstr "পাবলিক রুট পাথ" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "ফাইল ম্যানেজার রুট পাথ, আপনি আপনার পছন্দ অনুযায়ী পরিবর্তন করতে পারেন।" #: inc/root.php:59 msgid "Default:" msgstr "ডিফল্ট:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go down." msgstr "দয়া করে এটি সাবধানে পরিবর্তন করুন, ভুল পথ ফাইল ম্যানেজার প্লাগইনকে নামতে পারে।" #: inc/root.php:64 msgid "Enable Trash?" msgstr "ট্র্যাশ সক্ষম করবেন?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "ট্র্যাশ সক্ষম করার পরে আপনার ফাইলগুলি ট্র্যাশ ফোল্ডারে যাবে।" #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "মিডিয়া লাইব্রেরিতে ফাইল আপলোড সক্ষম করবেন?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "এটি সক্ষম করার পরে সমস্ত ফাইল মিডিয়া লাইব্রেরিতে যাবে।" #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "ডাটাবেস ব্যাকআপ পুনরুদ্ধারের সময় সর্বাধিক অনুমোদিত আকার।" #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of backup " "restore." msgstr "ব্যাকআপ পুনরুদ্ধারের সময় আপনি ত্রুটি বার্তা পেয়ে থাকলে অনুগ্রহ করে ক্ষেত্রের মান বাড়ান৷" #: inc/root.php:90 msgid "Save Changes" msgstr "পরিবর্তনগুলোর সংরক্ষন" #: inc/settings.php:10 msgid "Settings - General" msgstr "সেটিংস - সাধারণ" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro version." msgstr "দ্রষ্টব্য: এটি শুধু একটি ডেমো স্ক্রিনশট। সেটিংস পেতে আমাদের প্রো সংস্করণ কিনতে দয়া করে।" #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set Default " "Access Folder and also control upload size of filemanager." msgstr "" "এখানে ফাইল ম্যানেজার ব্যবহার করার জন্য প্রশাসক ব্যবহারকারীর ভূমিকা অ্যাক্সেস করতে পারেন। " "অ্যাডমিন ডিফল্ট অ্যাক্সেস ফোল্ডার নির্ধারণ করতে পারে এবং ফাইলম্যানডারের আপলোড আকার নিয়ন্ত্রণ " "করতে পারে।" #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "সেটিংস - কোড-সম্পাদক" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any theme for " "code editor. It will display when you edit any file. Also you can allow fullscreen " "mode of code editor." msgstr "" "ফাইল ম্যানেজারের একাধিক থিম সঙ্গে একটি কোড সম্পাদক আছে। আপনি কোড সম্পাদক জন্য কোন থিম " "নির্বাচন করতে পারেন। যখন আপনি কোনও ফাইল সম্পাদনা করবেন তখন এটি প্রদর্শিত হবে। এছাড়াও আপনি " "কোড সম্পাদক পূর্ণস্ক্রীন মোড অনুমতি দিতে পারেন।" #: inc/settings.php:18 msgid "Code-editor View" msgstr "কোড-সম্পাদক দেখুন" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "সেটিংস - ব্যবহারকারীর সীমাবদ্ধতা" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can set " "different - different folders paths for different users." msgstr "" "অ্যাডমিন যেকোন ব্যবহারকারীর কার্যক্রম সীমাবদ্ধ করতে পারে। এছাড়াও ফাইল এবং ফোল্ডার লুকান এবং " "বিভিন্ন সেট করতে পারেন - বিভিন্ন ব্যবহারকারীর জন্য বিভিন্ন ফোল্ডার পাথ" #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "সেটিংস - ব্যবহারকারীর ভূমিকা বাধা" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and can set " "different - different folders paths for different users roles." msgstr "" "অ্যাডমিন কোনও userrole এর কার্যকলাপকে সীমিত করতে পারে। এছাড়াও ফাইল এবং ফোল্ডার লুকান এবং " "বিভিন্ন সেট করতে পারেন - বিভিন্ন ব্যবহারকারীর ভূমিকা জন্য বিভিন্ন ফোল্ডার পাথ।" #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "ফাইল ম্যানেজার - শর্টকোড" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 inc/shortcode_docs.php:19 msgid "USE:" msgstr "ব্যবহার:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from file " "manager settings. It will work same as backend WP File Manager." msgstr "" "এটি সামনের প্রান্তে ফাইল ম্যানেজার দেখাবে। আপনি ফাইল ম্যানেজার সেটিংস থেকে সমস্ত সেটিংস " "নিয়ন্ত্রণ করতে পারেন। এটি ব্যাকএন্ড WP ফাইল ম্যানেজারের মতোই কাজ করবে।" #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it and will " "control from file manager settings." msgstr "" "এটি সামনের প্রান্তে ফাইল ম্যানেজার দেখাবে। কিন্তু শুধুমাত্র অ্যাডমিনিস্ট্রেটর এটি অ্যাক্সেস করতে " "পারে এবং ফাইল ম্যানেজার সেটিংস থেকে নিয়ন্ত্রণ করবে।" #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "পরামিতি:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can simple use for " "particular user roles as like allowed_roles=\"editor,author\" (seprated by comma(,))" msgstr "" "এটি সমস্ত ভূমিকাকে সামনের প্রান্তে ফাইল ম্যানেজার অ্যাক্সেস করার অনুমতি দেবে বা আপনি " "অনুমোদিত_roles=\"সম্পাদক, লেখক\" (কমা দ্বারা পৃথক করা(,)) এর মতো নির্দিষ্ট ব্যবহারকারীর " "ভূমিকার জন্য সহজ ব্যবহার করতে পারেন" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or you can " "give path for sub folders as like \"wp-content/plugins\". If leave blank or empty it " "will access all folders on root directory. Default: Root directory" msgstr "" "এখানে \"test\" হল ফোল্ডারের নাম যা রুট ডিরেক্টরিতে অবস্থিত, অথবা আপনি \"wp-content/plugins" "\" এর মতো সাব ফোল্ডারগুলির জন্য পাথ দিতে পারেন। খালি বা খালি রাখলে এটি রুট ডিরেক্টরির সমস্ত " "ফোল্ডার অ্যাক্সেস করবে। ডিফল্ট: রুট ডিরেক্টরি" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "ফাইল লেখার অনুমতির অ্যাক্সেসের জন্য, নোট: সত্য/মিথ্যা, ডিফল্ট: মিথ্যা" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "ফাইল পড়ার অনুমতি অ্যাক্সেসের জন্য, নোট: সত্য/মিথ্যা, ডিফল্ট: সত্য" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "এটা এখানে উল্লেখ লুকানো হবে. দ্রষ্টব্য: কমা (,) দ্বারা পৃথক করা হয়েছে। ডিফল্ট: শূন্য" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js\" etc. " "Default: Null" msgstr "" "এটি কমায় উল্লেখিত লক হবে। আপনি আরও লক করতে পারেন যেমন \".php,.css,.js\" ইত্যাদি। ডিফল্ট: " "শূন্য" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation name as " "like, allowed_operations=\"upload,download\". Note: seprated by comma(,). Default: *" msgstr "" "* সমস্ত অপারেশনের জন্য এবং কিছু অপারেশনের অনুমতি দেওয়ার জন্য আপনি অপারেশনের নাম উল্লেখ করতে " "পারেন যেমন, অনুমোদিত_অপারেশন=\"আপলোড, ডাউনলোড\"। দ্রষ্টব্য: কমা (,) দ্বারা পৃথক করা হয়েছে। " "ডিফল্ট: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "ফাইল অপারেশন তালিকা:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "ডিরেক্টরি বা ফোল্ডার তৈরি করুন" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "ফাইল তৈরি করুন" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "একটি ফাইল বা ফোল্ডারটির নতুন নাম দিন" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "ফোল্ডার বা ফাইলটিকে নকল বা ক্লোন করুন" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "একটি ফাইল বা ফোল্ডার আটকান" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "নিষেধাজ্ঞা" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "একটি সংরক্ষণাগার বা জিপ তৈরি করতে" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "সংরক্ষণাগার বা জিপ করা ফাইলটি বের করুন" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "ফাইল বা ফোল্ডারগুলি অনুলিপি করুন" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "সরল একটি ফাইল বা ফোল্ডার কাটা" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "একটি ফাইল সম্পাদনা করুন" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "ফাইল এবং ফোল্ডারগুলি মুছুন বা মুছুন" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "ফাইল ডাউনলোড করুন" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "ফাইল আপলোড" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "জিনিস অনুসন্ধান করুন" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "ফাইল তথ্য" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "সহায়তা" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by commas(,). If " "user is Ban then they will not able to access wp file manager on front end." msgstr "" "-> এটি নির্দিষ্ট ব্যবহারকারীদের কেবলমাত্র কমা (,) দ্বারা বিভক্ত করে তাদের আইডিগুলি নিষিদ্ধ " "করবে। যদি ব্যবহারকারী নিষিদ্ধ হন তবে তারা সামনের প্রান্তে ডাব্লুপি ফাইল ফাইল ব্যবস্থাপক " "অ্যাক্সেস করতে পারবেন না।" #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> ফাইল ম্যানেজার ইউআই ভিউ। ডিফল্ট: গ্রিড" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> ফাইল সংশোধিত বা তারিখের ফর্ম্যাট তৈরি করুন। ডিফল্ট: ডি এম, ওয়াই এইচ: আই এ" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> ফাইল ম্যানেজার ভাষা। ডিফল্ট: ইংরেজি (এন)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> ফাইল ম্যানেজার থিম। ডিফল্ট: হালকা" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "ফাইল ম্যানেজার - সিস্টেম বৈশিষ্ট্যাবলী" #: inc/system_properties.php:10 msgid "PHP version" msgstr "পিএইচপি সংস্করণ" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "সর্বাধিক ফাইল আপলোড আকার (আপলোড_ম্যাক্স_ফাইলসাইজ)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "সর্বাধিক ফাইল আপলোড আকার পোস্ট করুন (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "মেমরি সীমা (মেমরি_লিমিট)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "সময়সীমা (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "ব্রাউজার এবং ওএস (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "থিম এখানে পরিবর্তন করুন:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "ডিফল্ট" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "গা" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "আলো" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "ধূসর" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "ফাইল ম্যানেজারে আপনাকে স্বাগতম" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "আমরা নতুন বন্ধু বানাতে ভালোবাসি! নীচে সাবস্ক্রাইব এবং আমরা প্রতিশ্রুতি\n" " আমাদের সর্বশেষ নতুন প্লাগিন, আপডেট,\n" " দুর্দান্ত ডিল এবং কয়েকটি বিশেষ অফার।" #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "দয়া করে প্রথম নাম লিখুন।" #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "শেষ নাম লিখুন।" #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "ইমেল ঠিকানা লিখুন দয়া করে।" #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "যাচাই করুন" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "না ধন্যবাদ" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "সেবা পাবার শর্ত" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "গোপনীয়তা নীতি" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "সংরক্ষণ করা হচ্ছে ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "ঠিক আছে" #~ msgid "Backup not found!" #~ msgstr "ব্যাকআপ পাওয়া যায়নি!" #~ msgid "Backup removed successfully!" #~ msgstr "ব্যাকআপ সফলভাবে সরানো হয়েছে!" #~ msgid "Nothing selected for backup" #~ msgstr "ব্যাকআপের জন্য কিছুই নির্বাচিত হয়নি" #~ msgid "Security Issue." #~ msgstr "সুরক্ষা ইস্যু।" #~ msgid "Database backup done." #~ msgstr "ডাটাবেস ব্যাকআপ হয়ে গেছে।" #~ msgid "Unable to create database backup." #~ msgstr "ডাটাবেস ব্যাকআপ তৈরি করতে অক্ষম।" #~ msgid "Plugins backup done." #~ msgstr "প্লাগিন ব্যাকআপ সম্পন্ন হয়েছে।" #~ msgid "Plugins backup failed." #~ msgstr "প্লাগিন ব্যাকআপ ব্যর্থ হয়েছে।" #~ msgid "Themes backup done." #~ msgstr "থিমস ব্যাকআপ সম্পন্ন হয়েছে।" #~ msgid "Themes backup failed." #~ msgstr "থিমগুলির ব্যাকআপ ব্যর্থ।" #~ msgid "Uploads backup done." #~ msgstr "আপলোড ব্যাকআপ সম্পন্ন হয়েছে।" #~ msgid "Uploads backup failed." #~ msgstr "আপলোড ব্যাকআপ ব্যর্থ।" #~ msgid "Others backup done." #~ msgstr "অন্যদের ব্যাকআপ সম্পন্ন হয়েছে।" #~ msgid "Others backup failed." #~ msgstr "অন্যদের ব্যাকআপ ব্যর্থ।" #~ msgid "All Done" #~ msgstr "সব শেষ" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" dateformat=\"d M, " #~ "Y h:i A\" allowed_roles=\"editor,author\" access_folder=\"wp-content/plugins\" " #~ "write = \"true\" read = \"false\" hide_files = \"kumar,abc.php\" lock_extensions=" #~ "\".php,.css\" allowed_operations=\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" dateformat=\"d M, " #~ "Y h:i A\" allowed_roles=\"editor,author\" access_folder=\"wp-content/plugins\" " #~ "write = \"true\" read = \"false\" hide_files = \"kumar,abc.php\" lock_extensions=" #~ "\".php,.css\" allowed_operations=\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "আপনার WP ফাইলগুলি পরিচালনা করুন." #~ msgid "Extensions" #~ msgstr "এক্সটেনশানগুলি" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay amount of " #~ "your choice." #~ msgstr "" #~ "প্লাগইন আরো স্থিতিশীল করতে, কিছু অনুদান অবদান করুন। আপনি আপনার পছন্দ পরিমাণ দিতে পারেন।" wp-file-manager/languages/wp-file-manager-bs_BA.mo000064400000043520151202472330015744 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&(X)/*GF*6*=*+( +3++E,E, -@--<n-:--!- .4:.,o.$.).".)/8/!@/b/k/t/|/// //3/0/0&503\0(06000011.171T1-g11111122(2 2&3MC33k4#444445666l788g9 9999T9>:$V:{::::: : ;V;^s;);*;'<-<F3<+z<%<%</< "= .=9=V= o=|=l=g=b>5i>'>(>8>C)? m?y???'????@&@ 8@F@Z@ n@.z@@@@#@'A+ABA'SA{AA8AA'AB$$B-IBwB+BBB B6BC,2C_C{CC CCC D- D*:D*eD2DDDD?D -ENEF6)FL`FNFSF}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-03 10:52+0530 Last-Translator: admin Language-Team: Language: bs_BA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2); X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e;esc_attr__ X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * za sve operacije i da biste dozvolili neke operacije možete spomenuti naziv operacije kao, dozvoljeno_operacije="upload,download". Napomena: odvojeno zarezom (,). Zadano: *-> Zabranit će određenim korisnicima samo stavljajući njihove ID-ove razdvojene zarezima (,). Ako je korisnik Ban, tada neće moći pristupiti wp upravitelju datoteka na prednjoj strani.-> Tema Upravitelja datotekama. Zadano: Svjetlo-> Izmijenjena datoteka ili Stvori format datuma. Zadano: d M, Y h: i A-> Jezik upravitelja datotekama. Zadano: engleski (hr)-> Prikaz korisničkog sučelja Filemanager-a. Zadano: mrežaAkcijaRadnje po odabranim sigurnosnim kopijamaAdministrator može ograničiti radnje bilo kojeg korisnika. Takođe sakrijte datoteke i mape i možete postaviti različite - različite putanje mapa za različite korisnike.Administrator može ograničiti radnje bilo koje korisničke uloge. Takođe sakrijte datoteke i mape i možete postaviti različite putanje mapa za različite uloge korisnika.Nakon omogućavanja otpada, vaše će datoteke ići u mapu za smeće.Nakon što ovo omogućite, sve datoteke će ići u biblioteku medija.Sve završenoJeste li sigurni da želite ukloniti odabrane sigurnosne kopije?Jeste li sigurni da želite izbrisati ovu sigurnosnu kopiju?Jeste li sigurni da želite vratiti ovu sigurnosnu kopiju?Datum sigurnosne kopijeNapravite sigurnosnu kopiju odmahOpcije sigurnosne kopije:Sigurnosna kopija podataka (kliknite za preuzimanje)Datoteke za sigurnosne kopije će biti ispodIzrada sigurnosne kopije, sačekajteSigurnosna kopija uspješno je izbrisana.Izrada sigurnosne kopije/vraćanjeSigurnosne kopije su uspješno uklonjene!ZabranaPreglednik i OS (HTTP_USER_AGENT)Kupi PROKupi ProOtkažiPromijenite temu ovdje:Kliknite da kupite PROPrikaz uređivača kodaPotvrditeKopirajte datoteke ili mapeTrenutno nije pronađena nijedna sigurnosna kopija.Brisanje datotekaTamnoIzrada sigurnosne kopije baze podatakaIzrađena sigurnosna kopija baze podataka na datum Izrađena rezervna kopija baze podataka.Sigurnosna kopija baze podataka uspješno je vraćena.ZadanoZadano:IzbrišiPoništi odabirOdbaci ovu obavijest.DoniratiPreuzmite zapisnike datotekaPreuzmite datotekeDuplicirajte ili klonirajte mapu ili datotekuUredi zapise datotekaUredite datotekuOmogućiti prijenos datoteka u biblioteku medija?Omogućiti otpad?Greška: Nije moguće vratiti sigurnosnu kopiju jer je sigurnosna kopija baze podataka velika. Molimo pokušajte povećati maksimalnu dozvoljenu veličinu u postavkama Preferences.Postojeće sigurnosne kopijeIzdvojite arhivu ili arhiviranu datotekuUpravitelj datoteka - kratki kodUpravitelj datoteka - Svojstva sistemaKorijenski put upravitelja datoteka, možete promijeniti prema vašem izboru.Upravitelj datoteka ima uređivač koda s više tema. Možete odabrati bilo koju temu za uređivanje koda. Prikazaće se kada uredite bilo koju datoteku. Takođe možete dozvoliti preko cijelog ekrana uređivač koda.Lista operacija datoteka:Datoteka ne postoji za preuzimanje.Datoteke sigurnosne kopijesivaPomoćOvdje je "test" naziv foldera koji se nalazi u korijenskom direktoriju, ili možete dati putanju za podfoldere kao što je "wp-content/plugins". Ako ostavite prazno ili prazno, pristupit će svim folderima u korijenskom direktoriju. Zadano: korijenski direktorijOvdje administrator može dati pristup korisničkim ulogama za korištenje upravitelja datoteka. Administrator može postaviti zadanu pristupnu mapu i takođe kontrolirati veličinu otpremanja upravitelja datoteka.Informacije o datoteciNevažeći sigurnosni kod.Omogućit će svim ulogama pristup upravitelju datoteka na prednjem kraju ili možete jednostavno koristiti za određene korisničke uloge kao što je dozvoljeno_roles="urednik,autor" (odvojeno zarezom(,))Zaključaće se spomenuto u zarezima. možete zaključati više kao ".php,.css,.js" itd. Podrazumevano: NullNa prednjem kraju će se prikazati upravitelj datoteka. Ali samo administrator mu može pristupiti i kontrolirat će iz postavki upravitelja datoteka.Na prednjem kraju će se prikazati upravitelj datoteka. Možete kontrolirati sva podešavanja iz postavki upravitelja datoteka. Radit će isto kao backend WP upravitelj datotekama.Posljednja poruka dnevnikaSvjetlostTrupciNapravite direktorij ili mapuNapravi datotekuMaksimalna dozvoljena veličina u vrijeme vraćanja sigurnosne kopije baze podataka.Maksimalna veličina otpremanja datoteke (upload_max_filesize)Ograničenje memorije (memory_limit)Nedostaje sigurnosna kopija id.Nedostaje tip parametra.Nedostaju potrebni parametri.Ne hvalaNema poruke dnevnikaNije pronađen nijedan zapisnik!Bilješka:Napomena: Ovo su demo snimke zaslona. Molimo kupite File Manager pro za funkcije Logs.Napomena: Ovo je samo demo snimak zaslona. Da biste dobili postavke, kupite našu pro verziju.Ništa nije odabrano za sigurnosnu kopijuNišta nije odabrano za sigurnosnu kopiju.ureduUreduOstalo (Bilo koji drugi direktorij koji se nalazi unutar wp-sadržaja)Ostale sigurnosne kopije urađene na datum Ostalo sigurnosno kopiranje urađeno.Druge sigurnosne kopije nisu uspjele.Ostale sigurnosne kopije su uspješno vraćene.PHP verzijaParametri:Zalijepite datoteku ili mapuUnesite adresu e-pošte.Unesite ime.Unesite prezime.Molimo vas pažljivo promijenite ovo, pogrešan put može dovesti do pada dodatka za upravljanje datotekama.Molimo povećajte vrijednost polja ako dobijete poruku o grešci u vrijeme vraćanja sigurnosne kopije.DodaciIzrada sigurnosne kopije dodataka izvršena na datum Sigurnosna kopija dodataka je urađena.Sigurnosna kopija dodataka nije uspjela.Izrada sigurnosne kopije dodataka uspješno je vraćena.Objavi maksimalnu veličinu za učitavanje datoteke (post_max_size)PreferencesPolitika privatnostiJavni korijenski putVRAĆI DATOTEKEUklonite ili izbrišite datoteke i mapePreimenujte datoteku ili mapuVratiVraćanje je u toku, sačekajteUSPJEHSačuvaj promjeneSpremanje ...Pretražujte stvariSigurnosno pitanje.Označi sveOdaberite sigurnosnu(e) kopiju(e) za brisanje!PostavkePostavke - Uređivač kodaPostavke - OpštePostavke - Korisnička ograničenjaPostavke - Ograničenja uloga korisnikaPostavke su sačuvane.Kratki kod - PROJednostavno izrežite datoteku ili mapuSvojstva sistemaUslovi korištenjaSigurnosna kopija je očito uspjela i sada je završena.TemeIzrada sigurnosne kopije tema na datum Urađena rezervna kopija tema.Sigurnosna kopija tema nije uspjela.Sigurnosna kopija tema uspješno je vraćena.Vrijeme je sadaVremensko ograničenje (max_execution_time)Da napravite arhivu ili zipDanasUPOTREBA:Nije moguće kreirati sigurnosnu kopiju baze podataka.Ukloniti sigurnosnu kopiju!Nije moguće vratiti sigurnosnu kopiju DB-a.Nije moguće vratiti druge.Nije moguće vratiti dodatke.Nije moguće vratiti teme.Otpremanja nije moguće vratiti.Otpremi zapisnike datotekaOtpremi datotekeOtpremanjaPrenosi sigurnosne kopije izvršene na datum Sigurnosna kopija otpremanja je završena.Sigurnosna kopija otpremanja nije uspjela.Sigurnosna kopija prijenosa uspješno je vraćena.PotvrdiView LogWP upravitelj datotekamaWP upravitelj datotekama - Izrada sigurnosne kopije / vraćanjeDoprinos WP upravitelja datotekaVolimo sklapati nove prijatelje! Pretplatite se ispod i mi to obećavamo budite u toku sa našim najnovijim novim dodacima, ažuriranjima, sjajne ponude i nekoliko specijalnih ponuda.Dobrodošli u File ManagerNiste unijeli nikakve promjene koje želite sačuvati.za dozvolu za pristup čitanju datoteka, napomena: true/false, default: trueza pristup dozvolama za pisanje datoteka, napomena: true/false, default: falseto će sakriti spomenuto ovdje. Napomena: odvojeno zarezom (,). Podrazumevano: Nullwp-file-manager/languages/wp-file-manager-bs_BA.po000064400000067307151202472330015760 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 15:47+0530\n" "PO-Revision-Date: 2022-03-03 10:52+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n" "%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e;esc_attr__\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Sigurnosna kopija tema uspješno je vraćena." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Nije moguće vratiti teme." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Sigurnosna kopija prijenosa uspješno je vraćena." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Otpremanja nije moguće vratiti." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Ostale sigurnosne kopije su uspješno vraćene." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Nije moguće vratiti druge." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Izrada sigurnosne kopije dodataka uspješno je vraćena." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Nije moguće vratiti dodatke." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Sigurnosna kopija baze podataka uspješno je vraćena." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Sve završeno" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Nije moguće vratiti sigurnosnu kopiju DB-a." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Sigurnosne kopije su uspješno uklonjene!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Ukloniti sigurnosnu kopiju!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Izrađena sigurnosna kopija baze podataka na datum " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Izrada sigurnosne kopije dodataka izvršena na datum " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Izrada sigurnosne kopije tema na datum " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Prenosi sigurnosne kopije izvršene na datum " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Ostale sigurnosne kopije urađene na datum " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Trupci" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nije pronađen nijedan zapisnik!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Ništa nije odabrano za sigurnosnu kopiju" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Sigurnosno pitanje." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Izrađena rezervna kopija baze podataka." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Nije moguće kreirati sigurnosnu kopiju baze podataka." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Sigurnosna kopija dodataka je urađena." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Sigurnosna kopija dodataka nije uspjela." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Urađena rezervna kopija tema." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Sigurnosna kopija tema nije uspjela." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Sigurnosna kopija otpremanja je završena." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Sigurnosna kopija otpremanja nije uspjela." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Ostalo sigurnosno kopiranje urađeno." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Druge sigurnosne kopije nisu uspjele." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP upravitelj datotekama" #: file_folder_manager.php:769 msgid "Settings" msgstr "Postavke" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferences" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Svojstva sistema" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kratki kod - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Izrada sigurnosne kopije/vraćanje" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Kupi Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Donirati" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Datoteka ne postoji za preuzimanje." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Nevažeći sigurnosni kod." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Nedostaje sigurnosna kopija id." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Nedostaje tip parametra." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Nedostaju potrebni parametri." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Greška: Nije moguće vratiti sigurnosnu kopiju jer je sigurnosna kopija baze " "podataka velika. Molimo pokušajte povećati maksimalnu dozvoljenu veličinu u " "postavkama Preferences." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Odaberite sigurnosnu(e) kopiju(e) za brisanje!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Jeste li sigurni da želite ukloniti odabrane sigurnosne kopije?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Izrada sigurnosne kopije, sačekajte" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Vraćanje je u toku, sačekajte" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Ništa nije odabrano za sigurnosnu kopiju." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP upravitelj datotekama - Izrada sigurnosne kopije / vraćanje" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opcije sigurnosne kopije:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Izrada sigurnosne kopije baze podataka" #: inc/backup.php:64 msgid "Files Backup" msgstr "Datoteke sigurnosne kopije" #: inc/backup.php:68 msgid "Plugins" msgstr "Dodaci" #: inc/backup.php:71 msgid "Themes" msgstr "Teme" #: inc/backup.php:74 msgid "Uploads" msgstr "Otpremanja" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Ostalo (Bilo koji drugi direktorij koji se nalazi unutar wp-sadržaja)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Napravite sigurnosnu kopiju odmah" #: inc/backup.php:89 msgid "Time now" msgstr "Vrijeme je sada" #: inc/backup.php:99 msgid "SUCCESS" msgstr "USPJEH" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Sigurnosna kopija uspješno je izbrisana." #: inc/backup.php:102 msgid "Ok" msgstr "Uredu" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "Brisanje datoteka" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Jeste li sigurni da želite izbrisati ovu sigurnosnu kopiju?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Otkaži" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Potvrdite" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "VRAĆI DATOTEKE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Jeste li sigurni da želite vratiti ovu sigurnosnu kopiju?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Posljednja poruka dnevnika" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Sigurnosna kopija je očito uspjela i sada je završena." #: inc/backup.php:171 msgid "No log message" msgstr "Nema poruke dnevnika" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Postojeće sigurnosne kopije" #: inc/backup.php:184 msgid "Backup Date" msgstr "Datum sigurnosne kopije" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Sigurnosna kopija podataka (kliknite za preuzimanje)" #: inc/backup.php:190 msgid "Action" msgstr "Akcija" #: inc/backup.php:210 msgid "Today" msgstr "Danas" #: inc/backup.php:239 msgid "Restore" msgstr "Vrati" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Izbriši" #: inc/backup.php:241 msgid "View Log" msgstr "View Log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Trenutno nije pronađena nijedna sigurnosna kopija." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Radnje po odabranim sigurnosnim kopijama" #: inc/backup.php:251 msgid "Select All" msgstr "Označi sve" #: inc/backup.php:252 msgid "Deselect" msgstr "Poništi odabir" #: inc/backup.php:254 msgid "Note:" msgstr "Bilješka:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Datoteke za sigurnosne kopije će biti ispod" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Doprinos WP upravitelja datoteka" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Napomena: Ovo su demo snimke zaslona. Molimo kupite File Manager pro za " "funkcije Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Kliknite da kupite PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Kupi PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Uredi zapise datoteka" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Preuzmite zapisnike datoteka" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Otpremi zapisnike datoteka" #: inc/root.php:43 msgid "Settings saved." msgstr "Postavke su sačuvane." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Odbaci ovu obavijest." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Niste unijeli nikakve promjene koje želite sačuvati." #: inc/root.php:55 msgid "Public Root Path" msgstr "Javni korijenski put" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Korijenski put upravitelja datoteka, možete promijeniti prema vašem izboru." #: inc/root.php:59 msgid "Default:" msgstr "Zadano:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Molimo vas pažljivo promijenite ovo, pogrešan put može dovesti do pada " "dodatka za upravljanje datotekama." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Omogućiti otpad?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Nakon omogućavanja otpada, vaše će datoteke ići u mapu za smeće." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Omogućiti prijenos datoteka u biblioteku medija?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Nakon što ovo omogućite, sve datoteke će ići u biblioteku medija." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maksimalna dozvoljena veličina u vrijeme vraćanja sigurnosne kopije baze " "podataka." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Molimo povećajte vrijednost polja ako dobijete poruku o grešci u vrijeme " "vraćanja sigurnosne kopije." #: inc/root.php:90 msgid "Save Changes" msgstr "Sačuvaj promjene" #: inc/settings.php:10 msgid "Settings - General" msgstr "Postavke - Opšte" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Napomena: Ovo je samo demo snimak zaslona. Da biste dobili postavke, kupite " "našu pro verziju." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Ovdje administrator može dati pristup korisničkim ulogama za korištenje " "upravitelja datoteka. Administrator može postaviti zadanu pristupnu mapu i " "takođe kontrolirati veličinu otpremanja upravitelja datoteka." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Postavke - Uređivač koda" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Upravitelj datoteka ima uređivač koda s više tema. Možete odabrati bilo koju " "temu za uređivanje koda. Prikazaće se kada uredite bilo koju datoteku. " "Takođe možete dozvoliti preko cijelog ekrana uređivač koda." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Prikaz uređivača koda" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Postavke - Korisnička ograničenja" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administrator može ograničiti radnje bilo kojeg korisnika. Takođe sakrijte " "datoteke i mape i možete postaviti različite - različite putanje mapa za " "različite korisnike." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Postavke - Ograničenja uloga korisnika" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administrator može ograničiti radnje bilo koje korisničke uloge. Takođe " "sakrijte datoteke i mape i možete postaviti različite putanje mapa za " "različite uloge korisnika." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Upravitelj datoteka - kratki kod" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "UPOTREBA:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Na prednjem kraju će se prikazati upravitelj datoteka. Možete kontrolirati " "sva podešavanja iz postavki upravitelja datoteka. Radit će isto kao backend " "WP upravitelj datotekama." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Na prednjem kraju će se prikazati upravitelj datoteka. Ali samo " "administrator mu može pristupiti i kontrolirat će iz postavki upravitelja " "datoteka." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametri:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Omogućit će svim ulogama pristup upravitelju datoteka na prednjem kraju ili " "možete jednostavno koristiti za određene korisničke uloge kao što je " "dozvoljeno_roles=\"urednik,autor\" (odvojeno zarezom(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Ovdje je \"test\" naziv foldera koji se nalazi u korijenskom direktoriju, " "ili možete dati putanju za podfoldere kao što je \"wp-content/plugins\". Ako " "ostavite prazno ili prazno, pristupit će svim folderima u korijenskom " "direktoriju. Zadano: korijenski direktorij" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "za pristup dozvolama za pisanje datoteka, napomena: true/false, default: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "za dozvolu za pristup čitanju datoteka, napomena: true/false, default: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "to će sakriti spomenuto ovdje. Napomena: odvojeno zarezom (,). " "Podrazumevano: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Zaključaće se spomenuto u zarezima. možete zaključati više kao \".php,.css,." "js\" itd. Podrazumevano: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* za sve operacije i da biste dozvolili neke operacije možete spomenuti " "naziv operacije kao, dozvoljeno_operacije=\"upload,download\". Napomena: " "odvojeno zarezom (,). Zadano: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lista operacija datoteka:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Napravite direktorij ili mapu" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Napravi datoteku" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Preimenujte datoteku ili mapu" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplicirajte ili klonirajte mapu ili datoteku" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Zalijepite datoteku ili mapu" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Zabrana" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Da napravite arhivu ili zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Izdvojite arhivu ili arhiviranu datoteku" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopirajte datoteke ili mape" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Jednostavno izrežite datoteku ili mapu" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Uredite datoteku" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Uklonite ili izbrišite datoteke i mape" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Preuzmite datoteke" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Otpremi datoteke" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Pretražujte stvari" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informacije o datoteci" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Pomoć" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Zabranit će određenim korisnicima samo stavljajući njihove ID-ove " "razdvojene zarezima (,). Ako je korisnik Ban, tada neće moći pristupiti wp " "upravitelju datoteka na prednjoj strani." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Prikaz korisničkog sučelja Filemanager-a. Zadano: mreža" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Izmijenjena datoteka ili Stvori format datuma. Zadano: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Jezik upravitelja datotekama. Zadano: engleski (hr)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema Upravitelja datotekama. Zadano: Svjetlo" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Upravitelj datoteka - Svojstva sistema" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP verzija" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimalna veličina otpremanja datoteke (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Objavi maksimalnu veličinu za učitavanje datoteke (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Ograničenje memorije (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Vremensko ograničenje (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Preglednik i OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Promijenite temu ovdje:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Zadano" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Tamno" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Svjetlost" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "siva" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Dobrodošli u File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Volimo sklapati nove prijatelje! Pretplatite se ispod i mi to obećavamo\n" " budite u toku sa našim najnovijim novim dodacima, ažuriranjima,\n" " sjajne ponude i nekoliko specijalnih ponuda." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Unesite ime." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Unesite prezime." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Unesite adresu e-pošte." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Potvrdi" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ne hvala" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Uslovi korištenja" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Politika privatnosti" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Spremanje ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "uredu" #~ msgid "Backup not found!" #~ msgstr "Sigurnosna kopija nije pronađena!" #~ msgid "Backup removed successfully!" #~ msgstr "Sigurnosna kopija je uspješno uklonjena!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Ništa nije odabrano za sigurnosnu " #~ "kopiju" #~ msgid "Security Issue." #~ msgstr "Sigurnosno izdanje. " #~ msgid "Database backup done." #~ msgstr "" #~ "Izrađena sigurnosna kopija baze " #~ "podataka. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Nije moguće stvoriti sigurnosnu kopiju " #~ "baze podataka. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Izrađena sigurnosna kopija dodataka. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Nije uspjelo sigurnosno kopiranje " #~ "dodataka. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Izrađeno sigurnosno kopiranje tema. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Izrada sigurnosne kopije tema nije " #~ "uspjela. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Prijenos sigurnosne kopije je završen. " #~ "" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Sigurnosna kopija prijenosa nije " #~ "uspjela. " #~ msgid "Others backup done." #~ msgstr "" #~ "Za ostale je napravljena sigurnosna " #~ "kopija. " #~ msgid "Others backup failed." #~ msgstr "" #~ "Sigurnosna kopija drugih nije uspjela. " #~ msgid "All Done" #~ msgstr "Sve gotovo " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Upravljajte WP datotekama." #~ msgid "Extensions" #~ msgstr "Ekstenzije" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Molimo da dodate neku donaciju, kako biste učinili plugin stabilnijim. " #~ "Možete platiti količinu po vašem izboru." wp-file-manager/languages/wp-file-manager-ca.mo000064400000044520151202472330015362 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&N()0)E)@9*Rz**4* ++R,K,-F&-;m-<--.".6B.(y.1.2./5%/ [/ g/ / / //// /020M0]0'b0=0-0G0 >1 J1 W1a1x1111*112?!2a2|2L3i33)3K344&5 F5g5l5r5o6G7^7{7d?88:99: :: 6:cA:7:!:-:-;#K; o;{;;;r;(<4<5<'=/=<7=2t="=*=9= /> ;>H>+e>>>i>s$? ?3?)?1@C3@<w@ @@@@&A$*AOA*XAAAA AAA.A BB:B$QB/vBBB!BBCICaC,gC"C,C<C!D#*DNDeDjD<oD.D?D!E%=E cE%EEE E=E+F3IFE}F FFF9F%/GUGH"9HQ\HWHII}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 15:00+0530 Last-Translator: admin Language-Team: Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * Per a totes les operacions i per permetre alguna operació, podeu esmentar el nom de l'operació com, per exemple, allow_operations="upload,download". Nota: separats per comes (,). Per defecte: *-> Prohibirà a usuaris particulars només posar els seus identificadors separats per comes (,). Si l'usuari és Ban, no podrà accedir al gestor de fitxers wp a la portada.-> Tema del gestor de fitxers. Per defecte: Llum-> Fitxer modificat o Crea format de data. Per defecte: d M, Y h: i A-> Idioma del gestor de fitxers. Valor per defecte: anglès (en)-> Visualització de la interfície d'usuari Filemanager. Per defecte: quadrículaAccióAccions sobre les còpies de seguretat seleccionadesL'administrador pot restringir les accions de qualsevol usuari. També amagueu fitxers i carpetes i podeu establir camins de carpetes diferents per a diferents usuaris.L’administrador pot restringir les accions de qualsevol funció d’usuari. També amagueu fitxers i carpetes i podeu establir diferents camins de carpetes diferents per als diferents rols dels usuaris.Després d'activar la paperera, els fitxers es dirigiran a la carpeta de paperera.Després d'activar-ho, tots els fitxers aniran a la biblioteca multimèdia.Tot fetEsteu segur que voleu eliminar les còpies de seguretat seleccionades?Esteu segur que voleu suprimir aquesta còpia de seguretat?Esteu segur que voleu restaurar aquesta còpia de seguretat?Data de còpia de seguretatFeu una còpia de seguretat araOpcions de còpia de seguretat:Dades de còpia de seguretat (feu clic per baixar-les)Hi haurà fitxers de còpia de seguretatLa còpia de seguretat s'està executant, espereuLa còpia de seguretat s'ha suprimit correctament.Restaurar còpia de seguretatLes còpies de seguretat s'han eliminat correctament.ProhibicióNavegador i SO (HTTP_USER_AGENT)Compra PROCompra ProCancel · larCanvieu el tema aquí:Feu clic per comprar PROVista de l'editor de codiConfirmeuCopieu fitxers o carpetesActualment no s'ha trobat cap còpia de seguretat.ESBORRAR ARXIUSFoscCòpia de seguretat de la base de dadesCòpia de seguretat de la base de dades realitzada a la data Còpia de seguretat de la base de dades feta.La còpia de seguretat de la base de dades s'ha restaurat correctament.Per defectePer defecte:SuprimeixAnul·leu la seleccióRebutgeu aquest avís.DonarBaixeu registres de fitxersDescarregueu fitxersDupliqueu o cloneu una carpeta o un fitxerEdita els registres de fitxersEditeu un fitxerVoleu activar la pujada de fitxers a la biblioteca multimèdia?Voleu activar la paperera?Error: no es pot restaurar la còpia de seguretat perquè la còpia de seguretat de la base de dades és gran. Si us plau, intenteu augmentar la mida màxima permesa des de la configuració de Preferències.Còpia de seguretat existentExtreu arxiu o fitxer comprimitGestor de fitxers: codi curtGestor de fitxers: propietats del sistemaCamí arrel del gestor de fitxers, podeu canviar segons la vostra elecció.File Manager té un editor de codi amb diversos temes. Podeu seleccionar qualsevol tema per a l'editor de codi. Es mostrarà quan editeu qualsevol fitxer. També podeu permetre el mode de pantalla completa de l'editor de codi.Llista d'operacions de fitxers:El fitxer no existeix per descarregar.Còpia de seguretat dels fitxersGrisAjudaAquí "prova" és el nom de la carpeta que es troba al directori arrel, o podeu donar el camí per a subcarpetes com ara "wp-content/plugins". Si es deixa en blanc o buit, accedirà a totes les carpetes del directori arrel. Per defecte: directori arrelAquí l'administrador pot donar accés a rols d'usuari per utilitzar el gestor de fitxers. L'administrador pot configurar la carpeta d'accés per defecte i també controlar la mida de càrrega del gestor de fitxers.Informació del fitxerCodi de seguretat no vàlid.Permetrà que tots els rols accedeixin al gestor de fitxers a la portada o podeu utilitzar-lo senzillament per a rols d'usuari concrets, com ara allow_roles="editor,author" (separat per coma (,))Es bloquejarà esmentat entre comes. podeu bloquejar més com ".php,.css,.js", etc. Per defecte: nulMostrarà el gestor de fitxers a la portada. Però només l'administrador hi pot accedir i controlarà des de la configuració del gestor de fitxers.Mostrarà el gestor de fitxers a la portada. Podeu controlar tota la configuració des de la configuració del gestor de fitxers. Funcionarà igual que el gestor de fitxers WP de fons.Últim missatge de registreLlumRegistresFeu directori o carpetaFeu fitxerMida màxima permesa en el moment de la restauració de la còpia de seguretat de la base de dades.Mida màxima de pujada de fitxers (upload_max_filesize)Límit de memòria (memory_limit)Falta l'identificador de còpia de seguretat.Falta el tipus de paràmetre.Falten els paràmetres obligatoris.No gràciesCap missatge de registreNo s'han trobat registres.Nota:Nota: són captures de pantalla de demostració. Si us plau, compreu File Manager pro a les funcions de registres.Nota: Aquesta és només una captura de pantalla de demostració. Per obtenir la configuració, si us plau, compreu la nostra versió professional.No s'ha seleccionat res per a la còpia de seguretatNo s'ha seleccionat res per a la còpia de seguretat.D'acordD'acordAltres (qualsevol altre directori que es trobi a wp-content)Altres còpies de seguretat realitzades a la data Còpia de seguretat d'altres feta.La còpia de seguretat d'altres ha fallat.Altres còpies de seguretat s'han restaurat correctament.Versió PHPParàmetres:Enganxeu un fitxer o carpetaIntroduïu l'adreça de correu electrònic.Introduïu el nom.Introduïu el cognom.Si us plau, canvieu-ho amb cura, el camí equivocat pot fer que el connector del gestor de fitxers baixi.Augmenteu el valor del camp si rebeu un missatge d'error en el moment de la restauració de la còpia de seguretat.ConnectorsCòpia de seguretat dels connectors feta a la data Còpia de seguretat dels connectors feta.La còpia de seguretat dels connectors ha fallat.La còpia de seguretat dels connectors s'ha restaurat correctament.Publica la mida màxima de pujada del fitxer (post_max_size)PreferènciesPolítica de privacitatCamí d’arrel públicRESTAURAR ARXIUSElimineu o suprimiu fitxers i carpetesCanvieu el nom d'un fitxer o carpetaRestauraLa restauració s'està executant, espereuÈXITGuardar canvisS'està desant ...Cerca cosesProblema de seguretat.Seleccionar totSeleccioneu còpies de seguretat per suprimir!ConfiguracióConfiguració: editor de codisConfiguració: generalConfiguració: restriccions d'usuariConfiguració: restriccions del rol de l'usuariConfiguració desada.Shortcode - PROTall simple d'un fitxer o carpetaPropietats del sistemaTermes del serveiAparentment, la còpia de seguretat ha tingut èxit i ara està completa.TemesCòpia de seguretat de temes feta a la data Còpia de seguretat de temes feta.La còpia de seguretat dels temes ha fallat.La còpia de seguretat de temes s'ha restaurat correctament.Hora araTemps d'espera (max_execution_time)Per fer un arxiu o zipAvuiÚS:No es pot crear una còpia de seguretat de la base de dades.No s'ha pogut eliminar la còpia de seguretat.No es pot restaurar la còpia de seguretat de la base de dades.No es poden restaurar els altres.No es poden restaurar els connectors.No es poden restaurar els temes.No es poden restaurar les càrregues.Penja registres de fitxersPengeu fitxersCàrreguesCòpies de seguretat de les càrregues realitzades a la data Còpia de seguretat de les càrregues feta.La còpia de seguretat de les càrregues ha fallat.La còpia de seguretat de les càrregues s'ha restaurat correctament.VerifiqueuVeure el registreGestor de fitxers WPGestor de fitxers WP - Còpia de seguretat / restauracióContribució del gestor de fitxers WPEns encanta fer nous amics! Subscriviu-vos a continuació i us ho prometem estarà al dia amb els nostres nous connectors, actualitzacions, ofertes increïbles i algunes ofertes especials.Benvingut al Gestor de fitxersNo heu fet cap canvi per desar-lo.per accedir al permís de lectura de fitxers, nota: true/false, per defecte: trueper accedir als permisos d'escriptura dels fitxers, nota: true/false, per defecte: falss'amagarà aquí esmentat. Nota: separats per comes (,). Per defecte: nulwp-file-manager/languages/wp-file-manager-ca.po000064400000070416151202472330015370 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 15:55+0530\n" "PO-Revision-Date: 2022-02-28 15:00+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "La còpia de seguretat de temes s'ha restaurat correctament." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "No es poden restaurar els temes." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "La còpia de seguretat de les càrregues s'ha restaurat correctament." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "No es poden restaurar les càrregues." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Altres còpies de seguretat s'han restaurat correctament." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "No es poden restaurar els altres." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "La còpia de seguretat dels connectors s'ha restaurat correctament." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "No es poden restaurar els connectors." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "La còpia de seguretat de la base de dades s'ha restaurat correctament." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Tot fet" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "No es pot restaurar la còpia de seguretat de la base de dades." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Les còpies de seguretat s'han eliminat correctament." #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "No s'ha pogut eliminar la còpia de seguretat." #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Còpia de seguretat de la base de dades realitzada a la data " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Còpia de seguretat dels connectors feta a la data " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Còpia de seguretat de temes feta a la data " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Còpies de seguretat de les càrregues realitzades a la data " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Altres còpies de seguretat realitzades a la data " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Registres" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "No s'han trobat registres." #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "No s'ha seleccionat res per a la còpia de seguretat" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Problema de seguretat." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Còpia de seguretat de la base de dades feta." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "No es pot crear una còpia de seguretat de la base de dades." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Còpia de seguretat dels connectors feta." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "La còpia de seguretat dels connectors ha fallat." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Còpia de seguretat de temes feta." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "La còpia de seguretat dels temes ha fallat." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Còpia de seguretat de les càrregues feta." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "La còpia de seguretat de les càrregues ha fallat." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Còpia de seguretat d'altres feta." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "La còpia de seguretat d'altres ha fallat." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Gestor de fitxers WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Configuració" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferències" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Propietats del sistema" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Restaurar còpia de seguretat" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Compra Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Donar" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "El fitxer no existeix per descarregar." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Codi de seguretat no vàlid." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Falta l'identificador de còpia de seguretat." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Falta el tipus de paràmetre." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Falten els paràmetres obligatoris." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Error: no es pot restaurar la còpia de seguretat perquè la còpia de " "seguretat de la base de dades és gran. Si us plau, intenteu augmentar la " "mida màxima permesa des de la configuració de Preferències." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Seleccioneu còpies de seguretat per suprimir!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Esteu segur que voleu eliminar les còpies de seguretat seleccionades?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "La còpia de seguretat s'està executant, espereu" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "La restauració s'està executant, espereu" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "No s'ha seleccionat res per a la còpia de seguretat." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Gestor de fitxers WP - Còpia de seguretat / restauració" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opcions de còpia de seguretat:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Còpia de seguretat de la base de dades" #: inc/backup.php:64 msgid "Files Backup" msgstr "Còpia de seguretat dels fitxers" #: inc/backup.php:68 msgid "Plugins" msgstr "Connectors" #: inc/backup.php:71 msgid "Themes" msgstr "Temes" #: inc/backup.php:74 msgid "Uploads" msgstr "Càrregues" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Altres (qualsevol altre directori que es trobi a wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Feu una còpia de seguretat ara" #: inc/backup.php:89 msgid "Time now" msgstr "Hora ara" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ÈXIT" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "La còpia de seguretat s'ha suprimit correctament." #: inc/backup.php:102 msgid "Ok" msgstr "D'acord" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ESBORRAR ARXIUS" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Esteu segur que voleu suprimir aquesta còpia de seguretat?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Cancel · lar" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Confirmeu" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RESTAURAR ARXIUS" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Esteu segur que voleu restaurar aquesta còpia de seguretat?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Últim missatge de registre" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Aparentment, la còpia de seguretat ha tingut èxit i ara està completa." #: inc/backup.php:171 msgid "No log message" msgstr "Cap missatge de registre" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Còpia de seguretat existent" #: inc/backup.php:184 msgid "Backup Date" msgstr "Data de còpia de seguretat" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Dades de còpia de seguretat (feu clic per baixar-les)" #: inc/backup.php:190 msgid "Action" msgstr "Acció" #: inc/backup.php:210 msgid "Today" msgstr "Avui" #: inc/backup.php:239 msgid "Restore" msgstr "Restaura" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Suprimeix" #: inc/backup.php:241 msgid "View Log" msgstr "Veure el registre" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Actualment no s'ha trobat cap còpia de seguretat." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Accions sobre les còpies de seguretat seleccionades" #: inc/backup.php:251 msgid "Select All" msgstr "Seleccionar tot" #: inc/backup.php:252 msgid "Deselect" msgstr "Anul·leu la selecció" #: inc/backup.php:254 msgid "Note:" msgstr "Nota:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Hi haurà fitxers de còpia de seguretat" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Contribució del gestor de fitxers WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Nota: són captures de pantalla de demostració. Si us plau, compreu File " "Manager pro a les funcions de registres." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Feu clic per comprar PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Compra PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Edita els registres de fitxers" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Baixeu registres de fitxers" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Penja registres de fitxers" #: inc/root.php:43 msgid "Settings saved." msgstr "Configuració desada." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Rebutgeu aquest avís." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "No heu fet cap canvi per desar-lo." #: inc/root.php:55 msgid "Public Root Path" msgstr "Camí d’arrel públic" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Camí arrel del gestor de fitxers, podeu canviar segons la vostra elecció." #: inc/root.php:59 msgid "Default:" msgstr "Per defecte:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Si us plau, canvieu-ho amb cura, el camí equivocat pot fer que el connector " "del gestor de fitxers baixi." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Voleu activar la paperera?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Després d'activar la paperera, els fitxers es dirigiran a la carpeta de " "paperera." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Voleu activar la pujada de fitxers a la biblioteca multimèdia?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Després d'activar-ho, tots els fitxers aniran a la biblioteca multimèdia." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Mida màxima permesa en el moment de la restauració de la còpia de seguretat " "de la base de dades." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Augmenteu el valor del camp si rebeu un missatge d'error en el moment de la " "restauració de la còpia de seguretat." #: inc/root.php:90 msgid "Save Changes" msgstr "Guardar canvis" #: inc/settings.php:10 msgid "Settings - General" msgstr "Configuració: general" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Nota: Aquesta és només una captura de pantalla de demostració. Per obtenir " "la configuració, si us plau, compreu la nostra versió professional." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Aquí l'administrador pot donar accés a rols d'usuari per utilitzar el gestor " "de fitxers. L'administrador pot configurar la carpeta d'accés per defecte i " "també controlar la mida de càrrega del gestor de fitxers." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Configuració: editor de codis" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager té un editor de codi amb diversos temes. Podeu seleccionar " "qualsevol tema per a l'editor de codi. Es mostrarà quan editeu qualsevol " "fitxer. També podeu permetre el mode de pantalla completa de l'editor de " "codi." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Vista de l'editor de codi" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Configuració: restriccions d'usuari" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "L'administrador pot restringir les accions de qualsevol usuari. També " "amagueu fitxers i carpetes i podeu establir camins de carpetes diferents per " "a diferents usuaris." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Configuració: restriccions del rol de l'usuari" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "L’administrador pot restringir les accions de qualsevol funció d’usuari. " "També amagueu fitxers i carpetes i podeu establir diferents camins de " "carpetes diferents per als diferents rols dels usuaris." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Gestor de fitxers: codi curt" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "ÚS:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Mostrarà el gestor de fitxers a la portada. Podeu controlar tota la " "configuració des de la configuració del gestor de fitxers. Funcionarà igual " "que el gestor de fitxers WP de fons." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Mostrarà el gestor de fitxers a la portada. Però només l'administrador hi " "pot accedir i controlarà des de la configuració del gestor de fitxers." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Paràmetres:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Permetrà que tots els rols accedeixin al gestor de fitxers a la portada o " "podeu utilitzar-lo senzillament per a rols d'usuari concrets, com ara " "allow_roles=\"editor,author\" (separat per coma (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Aquí \"prova\" és el nom de la carpeta que es troba al directori arrel, o " "podeu donar el camí per a subcarpetes com ara \"wp-content/plugins\". Si es " "deixa en blanc o buit, accedirà a totes les carpetes del directori arrel. " "Per defecte: directori arrel" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "per accedir als permisos d'escriptura dels fitxers, nota: true/false, per " "defecte: fals" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "per accedir al permís de lectura de fitxers, nota: true/false, per defecte: " "true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "s'amagarà aquí esmentat. Nota: separats per comes (,). Per defecte: nul" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Es bloquejarà esmentat entre comes. podeu bloquejar més com \".php,.css,.js" "\", etc. Per defecte: nul" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* Per a totes les operacions i per permetre alguna operació, podeu esmentar " "el nom de l'operació com, per exemple, allow_operations=\"upload,download\". " "Nota: separats per comes (,). Per defecte: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Llista d'operacions de fitxers:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Feu directori o carpeta" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Feu fitxer" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Canvieu el nom d'un fitxer o carpeta" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Dupliqueu o cloneu una carpeta o un fitxer" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Enganxeu un fitxer o carpeta" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Prohibició" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Per fer un arxiu o zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extreu arxiu o fitxer comprimit" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Copieu fitxers o carpetes" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Tall simple d'un fitxer o carpeta" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Editeu un fitxer" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Elimineu o suprimiu fitxers i carpetes" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Descarregueu fitxers" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Pengeu fitxers" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Cerca coses" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informació del fitxer" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Ajuda" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Prohibirà a usuaris particulars només posar els seus identificadors " "separats per comes (,). Si l'usuari és Ban, no podrà accedir al gestor de " "fitxers wp a la portada." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "" "-> Visualització de la interfície d'usuari Filemanager. Per defecte: " "quadrícula" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Fitxer modificat o Crea format de data. Per defecte: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Idioma del gestor de fitxers. Valor per defecte: anglès (en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema del gestor de fitxers. Per defecte: Llum" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Gestor de fitxers: propietats del sistema" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Versió PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Mida màxima de pujada de fitxers (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Publica la mida màxima de pujada del fitxer (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Límit de memòria (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Temps d'espera (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Navegador i SO (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Canvieu el tema aquí:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Per defecte" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Fosc" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Llum" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Gris" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Benvingut al Gestor de fitxers" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Ens encanta fer nous amics! Subscriviu-vos a continuació i us ho prometem\n" " estarà al dia amb els nostres nous connectors, actualitzacions,\n" " ofertes increïbles i algunes ofertes especials." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Introduïu el nom." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Introduïu el cognom." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Introduïu l'adreça de correu electrònic." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verifiqueu" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "No gràcies" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Termes del servei" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Política de privacitat" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "S'està desant ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "D'acord" #~ msgid "Backup not found!" #~ msgstr "No s'ha trobat la còpia de seguretat." #~ msgid "Backup removed successfully!" #~ msgstr "La còpia de seguretat s'ha eliminat correctament." #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Res seleccionat per a la còpia de " #~ "seguretat" #~ msgid "Security Issue." #~ msgstr "Problema de seguretat. " #~ msgid "Database backup done." #~ msgstr "" #~ "La còpia de seguretat de la base de " #~ "dades s'ha realitzat. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "No es pot crear una còpia de seguretat " #~ "de la base de dades. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "S'ha fet la còpia de seguretat dels " #~ "connectors. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Ha fallat la còpia de seguretat dels " #~ "connectors. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Còpia de seguretat de temes feta. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Ha fallat la còpia de seguretat de " #~ "temes. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Ha fallat la còpia de seguretat de " #~ "temes. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Ha fallat la còpia de seguretat de les " #~ "càrregues. " #~ msgid "Others backup done." #~ msgstr "" #~ "S'ha fet una altra còpia de seguretat. " #~ "" #~ msgid "Others backup failed." #~ msgstr "" #~ "Ha fallat la còpia de seguretat " #~ "d'altres. " #~ msgid "All Done" #~ msgstr "Tot fet " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Gestioneu els vostres fitxers WP." #~ msgid "Extensions" #~ msgstr "Extensions" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Contribueix amb alguna donació, perquè el connector sigui més estable. " #~ "Podeu pagar l'import que trieu." wp-file-manager/languages/wp-file-manager-ceb.mo000064400000043701151202472330015530 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&O(')))C*7_*0**%**+F,E, )-G7-8-5-- ..-).&W.%~.%. .&../ &/ 3/ @/L/a/|///.//00*%0P0.o000 0 0000 1,"1O1j131112#22$2B3D3"74Z4z444(45666y7$8899 99 9I9D$:$i:::+: :: ;,;i2;|;<5<R<X<N[<'<< <- = 8= D=O="o= ==j=q;> >,>%>& ?02?<c? ????/?'@D@&I@ p@{@ @@@@#@ @ A$A-:A9hAAA)AAB3&BZB*cB"B$B6B CC;CZC `C$jCCCCCDD;DVD mD,xD!D"D8D#E,E4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-03 11:05+0530 Last-Translator: admin Language-Team: Language: ceb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * para sa tanan nga mga operasyon ug aron tugotan ang pipila ka operasyon mahimo nimong hisgutan ang ngalan sa operasyon sama sa, allowed_operations="upload,download". Mubo nga sulat: gibulag sa comma(,). Default: *-> Gidili niini ang mga partikular nga tiggamit pinaagi lamang sa pagbutang sa ilang mga id nga gibulag sa mga koma(,). Kung ang user kay Ban unya dili sila maka-access sa wp file manager sa front end.-> Tema sa File Manager. Default: Kahayag-> Gibag-o sa File o Paghimo format sa petsa. Default: d M, Y h:i A-> Pinulongan sa manedyer sa file. Default: English(en)-> Pagtan-aw sa UI sa Filemanager. Default: gridAksyonMga aksyon sa pinili nga (mga) backupAng Admin mahimong makapugong sa mga lihok sa bisan kinsa nga tiggamit. Usba usab ang mga file ug mga folder ug maka-set sa lain-laing mga lain-laing mga folder sa mga dalan alang sa lain-laing mga tiggamit.Ang Admin mahimong makapugong sa mga lihok sa bisan unsang userrole. Usba usab ang mga file ug mga folder ug maka-set sa lain-laing mga lain-laing mga folder sa mga dalan alang sa nagkalain-laing papel sa tiggamit.Human ma-enable ang basura, ang imong mga file moadto sa trash folder.Pagkahuman niini, ang tanan nga mga file moadto sa librarya sa media.Tanan NahumanSigurado ka ba nga gusto nimong tangtangon ang pinili nga (mga) backup?Sigurado ka ba nga gusto nimong papason kini nga backup?Sigurado ka ba nga gusto nimo ibalik kini nga backup?Petsa sa Pag-backupTabang karonMga Opsyon sa Pag-backup:Pag-backup sa datos (i-klik aron ma-download)Ang mga backup nga file anaa sa ilawomNagdagan ang backup, palihug paghulatMalampuson nga natangtang ang backup.I-backup/IuliMalampusong natangtang ang mga backup!GiwalaBrowser ug OS (HTTP_USER_AGENT)Pagpalit PROPagpalit ProPagkanselarUsba ang Tema Dinhi:Pag-klik aron Pagpalit PROView sa Code-editorSa pagmatuod saKopyaha ang mga file o folderSa pagkakaron walay (mga) backup nga nakit-an.pagtangtang sa mga fileNgitngitPag-backup sa DatabaseAng pag-backup sa database gihimo sa petsaGihimo ang backup sa database.Malampuson nga nabalik ang backup sa database.DefaultDefault:PagtangtangAyaw pagpiliIsalikway kini nga pahibalo.DonatePag-download sa mga File LogPag-download sa mga filePagdoble o pag-clone sa usa ka folder o fileI-edit ang mga Log sa FileUsba ang usa ka fileGiunsa ang Pag-upload sa mga File sa Media Library?I-enable ang Basura?Sayop: Dili mabalik ang backup tungod kay ang backup sa database bug-at ang gidak-on. Palihug sulayi nga dugangan ang Maximum nga gitugot nga gidak-on gikan sa mga setting sa Preferences.Anaa nga (mga) backupKuhaa ang archive o gi-zip nga fileTagdumala sa File - ShortcodeFile Manager - Sistema sa KinaiyahanFile Manager Root Path, mahimo nimong usbon sumala sa imong gusto.Ang File Manager adunay editor sa code nga dunay daghang mga tema. Makapili ka sa bisan unsang tema alang sa editor sa code. Ipakita kini sa dihang mag-edit ka sa bisan unsang file. Mahimo usab nimo tugotan ang fullscreen mode sa code editor.Listahan sa mga Operasyon sa File:Wala ang file aron ma-download.Pag-backup sa mga FileGrayTabangDinhi ang "pagsulay" mao ang ngalan sa folder nga nahimutang sa root directory, o mahimo nimong hatagan ang agianan alang sa mga sub folder sama sa "wp-content/plugins". Kung biyaan nga blangko o walay sulod kini maka-access sa tanan nga mga folder sa root directory. Default: Direktoryo sa gamutAng admin dinhi makahatag sa access sa mga papel sa user aron magamit ang filemanager. Ang Admin mahimo magtakda sa Default Access Folder ug usab kontrolon ang upload nga sukod sa filemanager.Impormasyon sa fileDili balido nga Security Code.Gitugotan niini ang tanan nga mga tahas nga maka-access sa file manager sa atubangan nga tumoy o Mahimo nimo nga yano nga paggamit alang sa partikular nga mga tahas sa gumagamit sama sa gitugotan_roles="editor, awtor" (gibulag sa koma (,))I-lock kini nga gihisgutan sa mga koma. mahimo nimong i-lock ang dugang sama sa ".php,.css,.js" ug uban pa. Default: NullKini magpakita sa file manager sa atubangan nga tumoy. Apan ang Administrator lamang ang maka-access niini ug makontrol gikan sa mga setting sa file manager.Kini magpakita sa file manager sa atubangan nga tumoy. Mahimo nimong kontrolon ang tanan nga mga setting gikan sa mga setting sa file manager. Kini molihok sama sa backend WP File Manager.Katapusan nga Mensahe sa LogKahayagMga trosoPaghimo og direktoryo o folderPaghimo filePinakataas nga gitugot nga gidak-on sa panahon sa pag-backup sa database.Ang kinadak-ang gidak-on sa pag-upload sa file (upload_max_filesize)Limitahan sa Memoryal (memory_limit)Nawala ang backup id.Nawala ang tipo sa parameter.Nawala ang gikinahanglan nga mga parameter.Dili SalamatWalay log messageWala'y nakit-an nga mga troso!Nota:Hinumdomi: Kini ang mga screenshot sa demo. Palihug paliton ang File Manager pro sa mga function sa Logs.Mubo nga sulat: Kini usa lamang ka screenshot sa demo. Aron makuha ang mga setting palihug palita ang among pro nga bersyon.Walay gipili para sa backupWalay gipili para sa backup.OK raOkAng uban (Bisan unsang ubang mga direktoryo nga makita sa sulod sa wp-content)Ang uban nga pag-backup gihimo sa petsaAng uban na-backup na.Ang uban napakyas sa pag-backup.Ang uban nga backup malampuson nga gipahiuli.PHP versionParameter:Idikit ang usa ka file o folderPalihug Pagsulod sa Email Address.Palihug Isulod ang Unang Ngalan.Palihug Isulod ang Apelyido.Palihug usba kini pag-ayo, ang sayup nga agianan mahimo’g magdala sa plugin sa file manager nga mahulog.Palihog dugangi ang bili sa field kung nakadawat ka og mensahe sa sayop sa panahon sa pag-backup sa pagpasig-uli.Mga pluginAng pag-backup sa mga plugin gihimo sa petsaNahuman ang pag-backup sa mga plugin.Napakyas ang pag-backup sa mga plugin.Malampuson nga nabalik ang backup sa mga plugin.Pag-upload sa gidak-on sa gidak-on sa upload (post_max_size)Mga gustoPatakaran sa PagkapribadoPublikong Root PathI-ULI ANG MGA FILESPagtangtang o pagtangtang sa mga file ug folderUsba ang ngalan sa usa ka file o folderIuliAng pag-uli nagdagan, palihug paghulatKALAMPUSANI-save ang mga KausabanNagtipig...Pangitaa ang mga butangIsyu sa Seguridad.Pilia ang TananPilia ang (mga) backup nga papason!Mga SettingMga Setting - Code-editorMga Setting - HeneralMga Setting - Mga Pagpanghilawas sa GumagamitMga Setting - Mga Gikinahanglan nga Mga Paghukom sa TananGitipigan ang mga setting.Shortcode - PRO Yano nga pagputol sa usa ka file o folderSistema sa KinaiyahanMga Termino sa SerbisyoAng backup dayag nga milampos ug karon kompleto na.Mga temaAng pag-backup sa mga tema gihimo sa petsaGihimo ang pag-backup sa mga tema.Ang pag-backup sa mga tema napakyas.Ang pag-backup sa mga tema malampuson nga napasig-uli.Panahon na karonTimeout (max_execution_time)Aron makahimo og archive o zipKaronPAGGAMIT:Dili makahimo og backup sa database.Dili matangtang ang backup!Dili mabalik ang backup sa DB.Dili mapasig-uli ang uban.Dili mabalik ang mga plugins.Dili mabalik ang mga tema.Dili mabalik ang mga upload.Pag-upload sa mga File LogPag-upload og mga fileMga uploadAng mga pag-upload sa backup nahimo sa petsaNahuman ang pag-upload sa backup.Napakyas ang pag-upload sa backup.Malampuson nga napasig-uli ang mga backup nga gi-upload.I-verifyTan-awa ang LogWP File ManagerWP File Manager - I-backup/IuliKontribusyon sa WP File ManagerGanahan mi maghimo ug bag-ong mga higala! Mag-subscribe sa ubos ug misaad kami nga ipadayon ka sa pinakabag-o nga bag-ong mga plugins, updates, nindot nga mga deal ug pipila ka espesyal nga mga tanyag.Welcome sa File ManagerWala ka makahimo ug bisan unsang mga pagbag-o aron maluwas.alang sa pag-access sa pagtugot sa pagbasa sa mga file, timan-i: tinuod/sayup, default: tinuodalang sa pag-access sa pagsulat sa mga permiso sa mga file, timan-i: tinuod/sayup, default: bakakkini magtago nga gihisgotan dinhi. Mubo nga sulat: gibulag sa comma(,). Default: Nullwp-file-manager/languages/wp-file-manager-ceb.po000064400000061323151202472330015533 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 16:02+0530\n" "PO-Revision-Date: 2022-03-03 11:05+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: ceb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Ang pag-backup sa mga tema malampuson nga napasig-uli." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Dili mabalik ang mga tema." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Malampuson nga napasig-uli ang mga backup nga gi-upload." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Dili mabalik ang mga upload." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Ang uban nga backup malampuson nga gipahiuli." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Dili mapasig-uli ang uban." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Malampuson nga nabalik ang backup sa mga plugin." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Dili mabalik ang mga plugins." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Malampuson nga nabalik ang backup sa database." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Tanan Nahuman" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Dili mabalik ang backup sa DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Malampusong natangtang ang mga backup!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Dili matangtang ang backup!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Ang pag-backup sa database gihimo sa petsa" #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Ang pag-backup sa mga plugin gihimo sa petsa" #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Ang pag-backup sa mga tema gihimo sa petsa" #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Ang mga pag-upload sa backup nahimo sa petsa" #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Ang uban nga pag-backup gihimo sa petsa" #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Mga troso" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Wala'y nakit-an nga mga troso!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Walay gipili para sa backup" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Isyu sa Seguridad." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Gihimo ang backup sa database." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Dili makahimo og backup sa database." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Nahuman ang pag-backup sa mga plugin." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Napakyas ang pag-backup sa mga plugin." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Gihimo ang pag-backup sa mga tema." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Ang pag-backup sa mga tema napakyas." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Nahuman ang pag-upload sa backup." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Napakyas ang pag-upload sa backup." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Ang uban na-backup na." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Ang uban napakyas sa pag-backup." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP File Manager" #: file_folder_manager.php:769 msgid "Settings" msgstr "Mga Setting" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Mga gusto" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Sistema sa Kinaiyahan" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO " #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "I-backup/Iuli" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Pagpalit Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Donate" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Wala ang file aron ma-download." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Dili balido nga Security Code." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Nawala ang backup id." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Nawala ang tipo sa parameter." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Nawala ang gikinahanglan nga mga parameter." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Sayop: Dili mabalik ang backup tungod kay ang backup sa database bug-at ang " "gidak-on. Palihug sulayi nga dugangan ang Maximum nga gitugot nga gidak-on " "gikan sa mga setting sa Preferences." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Pilia ang (mga) backup nga papason!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "" "Sigurado ka ba nga gusto nimong tangtangon ang pinili nga (mga) backup?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Nagdagan ang backup, palihug paghulat" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Ang pag-uli nagdagan, palihug paghulat" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Walay gipili para sa backup." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP File Manager - I-backup/Iuli" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Mga Opsyon sa Pag-backup:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Pag-backup sa Database" #: inc/backup.php:64 msgid "Files Backup" msgstr "Pag-backup sa mga File" #: inc/backup.php:68 msgid "Plugins" msgstr "Mga plugin" #: inc/backup.php:71 msgid "Themes" msgstr "Mga tema" #: inc/backup.php:74 msgid "Uploads" msgstr "Mga upload" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "" "Ang uban (Bisan unsang ubang mga direktoryo nga makita sa sulod sa wp-" "content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Tabang karon" #: inc/backup.php:89 msgid "Time now" msgstr "Panahon na karon" #: inc/backup.php:99 msgid "SUCCESS" msgstr "KALAMPUSAN" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Malampuson nga natangtang ang backup." #: inc/backup.php:102 msgid "Ok" msgstr "Ok" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "pagtangtang sa mga file" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Sigurado ka ba nga gusto nimong papason kini nga backup?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Pagkanselar" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Sa pagmatuod sa" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "I-ULI ANG MGA FILES" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Sigurado ka ba nga gusto nimo ibalik kini nga backup?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Katapusan nga Mensahe sa Log" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Ang backup dayag nga milampos ug karon kompleto na." #: inc/backup.php:171 msgid "No log message" msgstr "Walay log message" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Anaa nga (mga) backup" #: inc/backup.php:184 msgid "Backup Date" msgstr "Petsa sa Pag-backup" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Pag-backup sa datos (i-klik aron ma-download)" #: inc/backup.php:190 msgid "Action" msgstr "Aksyon" #: inc/backup.php:210 msgid "Today" msgstr "Karon" #: inc/backup.php:239 msgid "Restore" msgstr "Iuli" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Pagtangtang" #: inc/backup.php:241 msgid "View Log" msgstr "Tan-awa ang Log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Sa pagkakaron walay (mga) backup nga nakit-an." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Mga aksyon sa pinili nga (mga) backup" #: inc/backup.php:251 msgid "Select All" msgstr "Pilia ang Tanan" #: inc/backup.php:252 msgid "Deselect" msgstr "Ayaw pagpili" #: inc/backup.php:254 msgid "Note:" msgstr "Nota:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Ang mga backup nga file anaa sa ilawom" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Kontribusyon sa WP File Manager" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Hinumdomi: Kini ang mga screenshot sa demo. Palihug paliton ang File Manager " "pro sa mga function sa Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Pag-klik aron Pagpalit PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Pagpalit PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "I-edit ang mga Log sa File" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Pag-download sa mga File Log" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Pag-upload sa mga File Log" #: inc/root.php:43 msgid "Settings saved." msgstr "Gitipigan ang mga setting." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Isalikway kini nga pahibalo." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Wala ka makahimo ug bisan unsang mga pagbag-o aron maluwas." #: inc/root.php:55 msgid "Public Root Path" msgstr "Publikong Root Path" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Root Path, mahimo nimong usbon sumala sa imong gusto." #: inc/root.php:59 msgid "Default:" msgstr "Default:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Palihug usba kini pag-ayo, ang sayup nga agianan mahimo’g magdala sa plugin " "sa file manager nga mahulog." #: inc/root.php:64 msgid "Enable Trash?" msgstr "I-enable ang Basura?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Human ma-enable ang basura, ang imong mga file moadto sa trash folder." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Giunsa ang Pag-upload sa mga File sa Media Library?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Pagkahuman niini, ang tanan nga mga file moadto sa librarya sa media." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Pinakataas nga gitugot nga gidak-on sa panahon sa pag-backup sa database." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Palihog dugangi ang bili sa field kung nakadawat ka og mensahe sa sayop sa " "panahon sa pag-backup sa pagpasig-uli." #: inc/root.php:90 msgid "Save Changes" msgstr "I-save ang mga Kausaban" #: inc/settings.php:10 msgid "Settings - General" msgstr "Mga Setting - Heneral" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Mubo nga sulat: Kini usa lamang ka screenshot sa demo. Aron makuha ang mga " "setting palihug palita ang among pro nga bersyon." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Ang admin dinhi makahatag sa access sa mga papel sa user aron magamit ang " "filemanager. Ang Admin mahimo magtakda sa Default Access Folder ug usab " "kontrolon ang upload nga sukod sa filemanager." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Mga Setting - Code-editor" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Ang File Manager adunay editor sa code nga dunay daghang mga tema. Makapili " "ka sa bisan unsang tema alang sa editor sa code. Ipakita kini sa dihang mag-" "edit ka sa bisan unsang file. Mahimo usab nimo tugotan ang fullscreen mode " "sa code editor." #: inc/settings.php:18 msgid "Code-editor View" msgstr "View sa Code-editor" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Mga Setting - Mga Pagpanghilawas sa Gumagamit" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Ang Admin mahimong makapugong sa mga lihok sa bisan kinsa nga tiggamit. Usba " "usab ang mga file ug mga folder ug maka-set sa lain-laing mga lain-laing mga " "folder sa mga dalan alang sa lain-laing mga tiggamit." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Mga Setting - Mga Gikinahanglan nga Mga Paghukom sa Tanan" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Ang Admin mahimong makapugong sa mga lihok sa bisan unsang userrole. Usba " "usab ang mga file ug mga folder ug maka-set sa lain-laing mga lain-laing mga " "folder sa mga dalan alang sa nagkalain-laing papel sa tiggamit." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Tagdumala sa File - Shortcode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "PAGGAMIT:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Kini magpakita sa file manager sa atubangan nga tumoy. Mahimo nimong " "kontrolon ang tanan nga mga setting gikan sa mga setting sa file manager. " "Kini molihok sama sa backend WP File Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Kini magpakita sa file manager sa atubangan nga tumoy. Apan ang " "Administrator lamang ang maka-access niini ug makontrol gikan sa mga setting " "sa file manager." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parameter:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Gitugotan niini ang tanan nga mga tahas nga maka-access sa file manager sa " "atubangan nga tumoy o Mahimo nimo nga yano nga paggamit alang sa partikular " "nga mga tahas sa gumagamit sama sa gitugotan_roles=\"editor, awtor" "\" (gibulag sa koma (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Dinhi ang \"pagsulay\" mao ang ngalan sa folder nga nahimutang sa root " "directory, o mahimo nimong hatagan ang agianan alang sa mga sub folder sama " "sa \"wp-content/plugins\". Kung biyaan nga blangko o walay sulod kini maka-" "access sa tanan nga mga folder sa root directory. Default: Direktoryo sa " "gamut" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "alang sa pag-access sa pagsulat sa mga permiso sa mga file, timan-i: tinuod/" "sayup, default: bakak" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "alang sa pag-access sa pagtugot sa pagbasa sa mga file, timan-i: tinuod/" "sayup, default: tinuod" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "kini magtago nga gihisgotan dinhi. Mubo nga sulat: gibulag sa comma(,). " "Default: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "I-lock kini nga gihisgutan sa mga koma. mahimo nimong i-lock ang dugang sama " "sa \".php,.css,.js\" ug uban pa. Default: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* para sa tanan nga mga operasyon ug aron tugotan ang pipila ka operasyon " "mahimo nimong hisgutan ang ngalan sa operasyon sama sa, allowed_operations=" "\"upload,download\". Mubo nga sulat: gibulag sa comma(,). Default: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Listahan sa mga Operasyon sa File:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Paghimo og direktoryo o folder" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Paghimo file" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Usba ang ngalan sa usa ka file o folder" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Pagdoble o pag-clone sa usa ka folder o file" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Idikit ang usa ka file o folder" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Giwala" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Aron makahimo og archive o zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Kuhaa ang archive o gi-zip nga file" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopyaha ang mga file o folder" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Yano nga pagputol sa usa ka file o folder" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Usba ang usa ka file" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Pagtangtang o pagtangtang sa mga file ug folder" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Pag-download sa mga file" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Pag-upload og mga file" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Pangitaa ang mga butang" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Impormasyon sa file" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Tabang" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Gidili niini ang mga partikular nga tiggamit pinaagi lamang sa pagbutang " "sa ilang mga id nga gibulag sa mga koma(,). Kung ang user kay Ban unya dili " "sila maka-access sa wp file manager sa front end." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Pagtan-aw sa UI sa Filemanager. Default: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Gibag-o sa File o Paghimo format sa petsa. Default: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Pinulongan sa manedyer sa file. Default: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema sa File Manager. Default: Kahayag" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "File Manager - Sistema sa Kinaiyahan" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP version" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Ang kinadak-ang gidak-on sa pag-upload sa file (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Pag-upload sa gidak-on sa gidak-on sa upload (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Limitahan sa Memoryal (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Timeout (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Browser ug OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Usba ang Tema Dinhi:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Default" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Ngitngit" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Kahayag" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Gray" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Welcome sa File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Ganahan mi maghimo ug bag-ong mga higala! Mag-subscribe sa ubos ug misaad " "kami nga ipadayon ka sa pinakabag-o nga bag-ong mga plugins, updates, nindot " "nga mga deal ug pipila ka espesyal nga mga tanyag." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Palihug Isulod ang Unang Ngalan." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Palihug Isulod ang Apelyido." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Palihug Pagsulod sa Email Address." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "I-verify" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Dili Salamat" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Mga Termino sa Serbisyo" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Patakaran sa Pagkapribado" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Nagtipig..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK ra" #~ msgid "Manage your WP files." #~ msgstr "Pagdumala sa imong mga file sa WP." #~ msgid "Extensions" #~ msgstr "Mga extension" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Palihug pagtampo og pipila nga donasyon, aron mahimo ang plugin nga mas " #~ "lig-on. Makabayad ka sa kantidad nga imong pilion." wp-file-manager/languages/wp-file-manager-cs_CZ.mo000064400000042550151202472330016001 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&(<),)H$*2m*D***++;H,K, ,(,#-$)- N-\-l-(--.-"-.%,.R.#Y. }. . ..... ., /:/J/Q/)i//,/ / /// 0)010N0,_00020 00 1!11'1?1?2323R3i3p3v34O5c55hI66;778 8 838CD8<88889 39=9#X9 |9W9|9%\:&:::B: :;'/;-W; ; ;;";!;;h<Oy<<%< <%=+>=4j= =!===*= ">C>#K>o>x>> >> >)> >>? -?+N?z??)???8?+@,2@_@$@0@ @#@AA "A"-APA iAAAAAAB B$B%DB)jB2BBBB0B!(CJC+D,IDIvD[DKE}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 16:36+0530 Last-Translator: admin Language-Team: Language: cs_CZ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=( n == 1 ) ? 0 : ( n >= 2 && n <= 4 ) ? 1 : 2; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e;esc_attr__ X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * pro všechny operace a pro povolení některých operací můžete uvést název operace jako like, allow_operations="upload,download". Poznámka: odděleno čárkou(,). Výchozí: *-> Zakáže konkrétní uživatele pouhým vložením jejich ID oddělených čárkami (,). Pokud je uživatel Ban, nebude mít přístup k správci souborů wp na klientském rozhraní.-> Téma Správce souborů. Výchozí: Light-> Soubor změněn nebo vytvořit formát data. Výchozí:: d M, Y h:i A-> Jazyk správce souborů. Výchozí: English(en)-> Zobrazení uživatelského rozhraní Filemanager. Výchozí: gridAkceAkce na vybrané zálohySprávce může omezit akce libovolného uživatele. Také skrýt soubory a složky a nastavit různé - různé cesty adresářů pro různé uživatele.Správce může omezit akce libovolného uživatele. Skrýt také soubory a složky a můžete nastavit různé - různé cesty adresářů pro různé role uživatelů.Po povolení koše přejdou vaše soubory do složky koše.Po povolení této možnosti všechny soubory přejdou do knihovny médií.Vše hotovoOpravdu chcete odebrat vybrané zálohy?Opravdu chcete tuto zálohu smazat?Opravdu chcete tuto zálohu obnovit?Datum zálohyZálohovat hnedMožnosti zálohování:Zálohování dat (kliknutím stáhnete)Záložní soubory budou podZálohování je spuštěno, počkejte prosímZáloha byla úspěšně smazána.Obnova zálohyZálohy byly úspěšně odstraněny!ZákazProhlížeč a OS (HTTP_USER_AGENT)Koupit PROKoupit ProzrušeníZměnit téma zde:Kliknutím zakoupíte PROZobrazení kódu editoruPotvrditZkopírujte soubory nebo složkyAktuálně nebyly nalezeny žádné zálohy.VYMAZAT SOUBORYTemnýZálohování databázeZálohování databáze provedeno k datu Záloha databáze provedena.Záloha databáze byla úspěšně obnovena.Výchozí:Výchozí:VymazatZrušit výběrZamítnout toto upozornění.DarovatStáhnout protokoly souborůStahujte souboryDuplikujte nebo klonujte složku nebo souborUpravit protokoly souborůUpravte souborPovolit nahrávání souborů do knihovny médií?Povolit koš?Chyba: Nelze obnovit zálohu, protože záloha databáze je velká. Zkuste prosím zvýšit Maximální povolenou velikost v nastavení předvoleb.již existujeExtrahujte archiv nebo soubor ZIPSprávce souborů - zkratkaSprávce souborů - vlastnosti systémuRoot Path File Manager, můžete změnit podle svého výběru.Správce souborů má editor kódů s více motivy. Můžete vybrat libovolné téma pro editor kódu. Zobrazí se při úpravě libovolného souboru. Také můžete povolit režim celoobrazovkového editoru kódu.Seznam operací se soubory:Soubor neexistuje ke stažení.Zálohování souborůŠedáPomocZde "test" je název složky, která se nachází v kořenovém adresáři, nebo můžete zadat cestu pro podsložky jako "wp-content/plugins". Pokud ponecháte prázdné nebo prázdné, přistoupí se ke všem složkám v kořenovém adresáři. Výchozí: Kořenový adresářZde admin může poskytnout přístup k uživatelským rolám pro použití filemanager. Správce může nastavit výchozí složku pro přístup a také řídit velikost souboru uploadmanager.Informace o souboruNeplatný bezpečnostní kód.Umožní všem rolím přistupovat ke správci souborů na frontendu nebo můžete jednoduše použít pro konkrétní uživatelské role, jako je allow_roles="editor,author" (odděleno čárkou(,))Bude zámek uvedený v čárkách. můžete zamknout více jako „.php,.css,.js“ atd. Výchozí: NullNa frontendu se zobrazí správce souborů. Přístup k němu má ale pouze správce a bude jej ovládat z nastavení správce souborů.Na frontendu se zobrazí správce souborů. Všechna nastavení můžete ovládat z nastavení správce souborů. Bude to fungovat stejně jako backend WP File Manager.Poslední zpráva protokoluSvětloProtokolyVytvořte adresář nebo složkuVytvořit souborMaximální povolená velikost v době obnovení zálohy databáze.Maximální velikost souboru nahrání (upload_max_filesize)Limit paměti (memory_limit)Chybí záložní ID.Chybějící typ parametru.Chybí požadované parametry.Ne, díkyŽádná zpráva protokoluNebyly nalezeny žádné protokoly!Poznámka:Poznámka: Toto jsou ukázkové screenshoty. Kupte si File Manager pro pro funkce Logs.Poznámka: Toto je pouze ukázkový snímek obrazovky. Chcete-li získat nastavení, zakupte si naši profesionální verzi.Pro zálohování nebylo vybráno nicPro zálohování nebylo vybráno nic.OKOKOstatní (Jakékoli jiné adresáře nalezené uvnitř wp-content)Ostatní zálohy hotové k datu Ostatní záloha provedena.Zálohování ostatních se nezdařilo.Záloha ostatních byla úspěšně obnovena.PHP verzeParametry:Vložte soubor nebo složkuZadejte prosím e-mailovou adresu.Zadejte prosím křestní jméno.Zadejte příjmení.Změňte to opatrně, nesprávná cesta může vést k tomu, že plugin správce souborů přejde dolů.Pokud se při obnově zálohy zobrazuje chybová zpráva, zvyšte hodnotu pole.PluginyZálohování pluginů hotovo k datu Záloha pluginů byla provedena.Zálohování pluginů se nezdařilo.Záloha pluginů byla úspěšně obnovena.Odeslat maximální velikost souboru (post_max_size)PředvolbyZásady ochrany osobních údajůVeřejná kořenová cestaOBNOVIT SOUBORYOdeberte nebo odstraňte soubory a složkyPřejmenujte soubor nebo složkuObnovitObnovení běží, čekejte prosímÚSPĚCHUložit změnyUkládání ...Hledat věciBezpečnostní problém.Vybrat všeVyberte zálohy, které chcete odstranit!NastaveníNastavení - editor kóduNastavení - ObecnéNastavení - Omezení uživateleNastavení - Omezení uživatelských rolíNastavení uloženo.Shortcode - PROJednoduché vyjmutí souboru nebo složkySystémové vlastnostiPodmínky službyZáloha byla zřejmě úspěšná a nyní je dokončena.MotivyZálohování motivů bylo provedeno k datu Záloha motivů byla provedena.Zálohování motivů se nezdařilo.Zálohování motivů bylo úspěšně obnoveno.Čas teďČasový limit (max_execution_time)Vytvořit archiv nebo zipDnesPOUŽITÍ:Nelze vytvořit zálohu databáze.Zálohu nelze odstranit!Zálohu databáze nelze obnovit.Nelze obnovit ostatní.Nelze obnovit pluginy.Motivy nelze obnovit.Nahrávání nelze obnovit.Nahrajte protokoly souborůNahrát souboryNahráváníNahraje zálohu hotovou k datu Záloha nahrávání byla dokončena.Zálohování nahrávání se nezdařilo.Zálohování nahrávek bylo úspěšně obnoveno.OvěřitZobrazit protokolSprávce souborů WPSprávce souborů WP - zálohování / obnoveníPříspěvek správce souborů WPRádi získáváme nové přátele! Přihlaste se k odběru níže a slibujeme budeme vás informovat o našich nejnovějších nových pluginech, aktualizacích, úžasné nabídky a několik speciálních nabídek.Vítejte ve Správci souborůNeudělali jste žádné změny k uložení.pro přístup ke čtení souborů, poznámka: true/false, výchozí: truepro přístup k oprávnění k zápisu do souborů, poznámka: true/false, výchozí: falseskryje se zde zmíněný. Poznámka: odděleno čárkou(,). Výchozí: Nullwp-file-manager/languages/wp-file-manager-cs_CZ.po000064400000065767151202472330016023 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 16:22+0530\n" "PO-Revision-Date: 2022-02-25 16:36+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=( n == 1 ) ? 0 : ( n >= 2 && n <= 4 ) ? 1 : " "2;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e;esc_attr__\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Zálohování motivů bylo úspěšně obnoveno." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Motivy nelze obnovit." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Zálohování nahrávek bylo úspěšně obnoveno." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Nahrávání nelze obnovit." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Záloha ostatních byla úspěšně obnovena." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Nelze obnovit ostatní." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Záloha pluginů byla úspěšně obnovena." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Nelze obnovit pluginy." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Záloha databáze byla úspěšně obnovena." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Vše hotovo" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Zálohu databáze nelze obnovit." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Zálohy byly úspěšně odstraněny!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Zálohu nelze odstranit!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Zálohování databáze provedeno k datu " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Zálohování pluginů hotovo k datu " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Zálohování motivů bylo provedeno k datu " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Nahraje zálohu hotovou k datu " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Ostatní zálohy hotové k datu " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Protokoly" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nebyly nalezeny žádné protokoly!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Pro zálohování nebylo vybráno nic" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Bezpečnostní problém." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Záloha databáze provedena." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Nelze vytvořit zálohu databáze." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Záloha pluginů byla provedena." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Zálohování pluginů se nezdařilo." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Záloha motivů byla provedena." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Zálohování motivů se nezdařilo." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Záloha nahrávání byla dokončena." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Zálohování nahrávání se nezdařilo." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Ostatní záloha provedena." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Zálohování ostatních se nezdařilo." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Správce souborů WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Nastavení" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Předvolby" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Systémové vlastnosti" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Obnova zálohy" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Koupit Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Darovat" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Soubor neexistuje ke stažení." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Neplatný bezpečnostní kód." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Chybí záložní ID." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Chybějící typ parametru." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Chybí požadované parametry." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Chyba: Nelze obnovit zálohu, protože záloha databáze je velká. Zkuste prosím " "zvýšit Maximální povolenou velikost v nastavení předvoleb." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Vyberte zálohy, které chcete odstranit!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Opravdu chcete odebrat vybrané zálohy?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Zálohování je spuštěno, počkejte prosím" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Obnovení běží, čekejte prosím" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Pro zálohování nebylo vybráno nic." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Správce souborů WP - zálohování / obnovení" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Možnosti zálohování:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Zálohování databáze" #: inc/backup.php:64 msgid "Files Backup" msgstr "Zálohování souborů" #: inc/backup.php:68 msgid "Plugins" msgstr "Pluginy" #: inc/backup.php:71 msgid "Themes" msgstr "Motivy" #: inc/backup.php:74 msgid "Uploads" msgstr "Nahrávání" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Ostatní (Jakékoli jiné adresáře nalezené uvnitř wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Zálohovat hned" #: inc/backup.php:89 msgid "Time now" msgstr "Čas teď" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ÚSPĚCH" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Záloha byla úspěšně smazána." #: inc/backup.php:102 msgid "Ok" msgstr "OK" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "VYMAZAT SOUBORY" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Opravdu chcete tuto zálohu smazat?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "zrušení" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Potvrdit" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "OBNOVIT SOUBORY" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Opravdu chcete tuto zálohu obnovit?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Poslední zpráva protokolu" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Záloha byla zřejmě úspěšná a nyní je dokončena." #: inc/backup.php:171 msgid "No log message" msgstr "Žádná zpráva protokolu" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "již existuje" #: inc/backup.php:184 msgid "Backup Date" msgstr "Datum zálohy" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Zálohování dat (kliknutím stáhnete)" #: inc/backup.php:190 msgid "Action" msgstr "Akce" #: inc/backup.php:210 msgid "Today" msgstr "Dnes" #: inc/backup.php:239 msgid "Restore" msgstr "Obnovit" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Vymazat" #: inc/backup.php:241 msgid "View Log" msgstr "Zobrazit protokol" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Aktuálně nebyly nalezeny žádné zálohy." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Akce na vybrané zálohy" #: inc/backup.php:251 msgid "Select All" msgstr "Vybrat vše" #: inc/backup.php:252 msgid "Deselect" msgstr "Zrušit výběr" #: inc/backup.php:254 msgid "Note:" msgstr "Poznámka:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Záložní soubory budou pod" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Příspěvek správce souborů WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Poznámka: Toto jsou ukázkové screenshoty. Kupte si File Manager pro pro " "funkce Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Kliknutím zakoupíte PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Koupit PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Upravit protokoly souborů" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Stáhnout protokoly souborů" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Nahrajte protokoly souborů" #: inc/root.php:43 msgid "Settings saved." msgstr "Nastavení uloženo." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Zamítnout toto upozornění." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Neudělali jste žádné změny k uložení." #: inc/root.php:55 msgid "Public Root Path" msgstr "Veřejná kořenová cesta" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Root Path File Manager, můžete změnit podle svého výběru." #: inc/root.php:59 msgid "Default:" msgstr "Výchozí:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Změňte to opatrně, nesprávná cesta může vést k tomu, že plugin správce " "souborů přejde dolů." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Povolit koš?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Po povolení koše přejdou vaše soubory do složky koše." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Povolit nahrávání souborů do knihovny médií?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Po povolení této možnosti všechny soubory přejdou do knihovny médií." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "Maximální povolená velikost v době obnovení zálohy databáze." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Pokud se při obnově zálohy zobrazuje chybová zpráva, zvyšte hodnotu pole." #: inc/root.php:90 msgid "Save Changes" msgstr "Uložit změny" #: inc/settings.php:10 msgid "Settings - General" msgstr "Nastavení - Obecné" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Poznámka: Toto je pouze ukázkový snímek obrazovky. Chcete-li získat " "nastavení, zakupte si naši profesionální verzi." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Zde admin může poskytnout přístup k uživatelským rolám pro použití " "filemanager. Správce může nastavit výchozí složku pro přístup a také řídit " "velikost souboru uploadmanager." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Nastavení - editor kódu" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Správce souborů má editor kódů s více motivy. Můžete vybrat libovolné téma " "pro editor kódu. Zobrazí se při úpravě libovolného souboru. Také můžete " "povolit režim celoobrazovkového editoru kódu." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Zobrazení kódu editoru" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Nastavení - Omezení uživatele" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Správce může omezit akce libovolného uživatele. Také skrýt soubory a složky " "a nastavit různé - různé cesty adresářů pro různé uživatele." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Nastavení - Omezení uživatelských rolí" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Správce může omezit akce libovolného uživatele. Skrýt také soubory a složky " "a můžete nastavit různé - různé cesty adresářů pro různé role uživatelů." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Správce souborů - zkratka" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "POUŽITÍ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Na frontendu se zobrazí správce souborů. Všechna nastavení můžete ovládat z " "nastavení správce souborů. Bude to fungovat stejně jako backend WP File " "Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Na frontendu se zobrazí správce souborů. Přístup k němu má ale pouze správce " "a bude jej ovládat z nastavení správce souborů." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametry:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Umožní všem rolím přistupovat ke správci souborů na frontendu nebo můžete " "jednoduše použít pro konkrétní uživatelské role, jako je allow_roles=" "\"editor,author\" (odděleno čárkou(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Zde \"test\" je název složky, která se nachází v kořenovém adresáři, nebo " "můžete zadat cestu pro podsložky jako \"wp-content/plugins\". Pokud " "ponecháte prázdné nebo prázdné, přistoupí se ke všem složkám v kořenovém " "adresáři. Výchozí: Kořenový adresář" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "pro přístup k oprávnění k zápisu do souborů, poznámka: true/false, výchozí: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "pro přístup ke čtení souborů, poznámka: true/false, výchozí: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "skryje se zde zmíněný. Poznámka: odděleno čárkou(,). Výchozí: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Bude zámek uvedený v čárkách. můžete zamknout více jako „.php,.css,.js“ atd. " "Výchozí: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* pro všechny operace a pro povolení některých operací můžete uvést název " "operace jako like, allow_operations=\"upload,download\". Poznámka: odděleno " "čárkou(,). Výchozí: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Seznam operací se soubory:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Vytvořte adresář nebo složku" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Vytvořit soubor" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Přejmenujte soubor nebo složku" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplikujte nebo klonujte složku nebo soubor" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Vložte soubor nebo složku" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Zákaz" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Vytvořit archiv nebo zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extrahujte archiv nebo soubor ZIP" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Zkopírujte soubory nebo složky" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Jednoduché vyjmutí souboru nebo složky" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Upravte soubor" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Odeberte nebo odstraňte soubory a složky" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Stahujte soubory" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Nahrát soubory" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Hledat věci" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informace o souboru" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Pomoc" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Zakáže konkrétní uživatele pouhým vložením jejich ID oddělených čárkami " "(,). Pokud je uživatel Ban, nebude mít přístup k správci souborů wp na " "klientském rozhraní." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Zobrazení uživatelského rozhraní Filemanager. Výchozí: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Soubor změněn nebo vytvořit formát data. Výchozí:: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Jazyk správce souborů. Výchozí: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Téma Správce souborů. Výchozí: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Správce souborů - vlastnosti systému" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP verze" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maximální velikost souboru nahrání (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Odeslat maximální velikost souboru (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Limit paměti (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Časový limit (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Prohlížeč a OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Změnit téma zde:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Výchozí:" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Temný" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Světlo" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Šedá" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Vítejte ve Správci souborů" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Rádi získáváme nové přátele! Přihlaste se k odběru níže a slibujeme\n" " budeme vás informovat o našich nejnovějších nových pluginech, " "aktualizacích,\n" " úžasné nabídky a několik speciálních nabídek." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Zadejte prosím křestní jméno." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Zadejte příjmení." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Zadejte prosím e-mailovou adresu." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Ověřit" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ne, díky" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Podmínky služby" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Zásady ochrany osobních údajů" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Ukládání ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Backup not found!" #~ msgstr "Záloha nebyla nalezena!" #~ msgid "Backup removed successfully!" #~ msgstr "Záloha byla úspěšně odstraněna!" #~ msgid "Nothing selected for backup" #~ msgstr "Pro zálohu není vybráno nic" #~ msgid "Security Issue." #~ msgstr "Bezpečnostní problém. " #~ msgid "Database backup done." #~ msgstr "" #~ "Zálohování databáze hotovo. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Nelze vytvořit zálohu databáze. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Zálohování pluginů hotovo. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Zálohování pluginů se nezdařilo. " #~ msgid "Themes backup done." #~ msgstr "Zálohování motivů hotovo." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Zálohování motivů se nezdařilo." #~ msgid "Uploads backup done." #~ msgstr "Nahrávání zálohy hotovo. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Zálohování nahrávek se nezdařilo. " #~ msgid "Others backup done." #~ msgstr "Ostatní zálohy hotové. " #~ msgid "Others backup failed." #~ msgstr "" #~ "Zálohování ostatních se nezdařilo. " #~ msgid "All Done" #~ msgstr "Hotovo " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Spravujte soubory WP." #~ msgid "Extensions" #~ msgstr "Rozšíření" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Prosím přispějte nějaký dar, aby se plugin stal stabilnějším. Můžete " #~ "zaplatit částku podle svého výběru." wp-file-manager/languages/wp-file-manager-cy.mo000064400000042676151202472330015424 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&(S)' *M2*3*** *&*++G{,B,-4->M-=----& .4.(R.){..(... / /'/./?/T/ f/p/2/ //&/4/'206Z0 0 00 00000$ 121 I15V111$A2'f22%2;2 33(4 )4J4P4U4U56616c7t788888 8E8839l9999 9 99:Y :Re:-:.:;;B;+b;#;;/; ; <<.<I<\<^t<T<(=,0= ]=+~=)=;= >>/> K>%Y>>>> >> >>> ?!? 6?A?[?#t?(?? ??@@L-@z@,@*@-@+A 3A>A\AsAzA"AAAAA BB;BUB oB1{B$B!B4B)C 0C:C0KC|CCmD7DOD\EOnE}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 16:40+0530 Last-Translator: admin Language-Team: Language: cy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n==3 ? 3 : n==6 ? 4 : 5; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * ar gyfer pob gweithrediad ac i ganiatáu rhywfaint o lawdriniaeth gallwch sôn am enw gweithrediad fel, allowed_operations = "llwytho i lawr, llwytho i lawr". Nodyn: wedi'i wahanu gan goma(,). Rhagosodedig: *-> Bydd yn gwahardd defnyddwyr penodol trwy roi eu cymalau wedi'u gwahanu gan atalnodau (,). Os yw'r defnyddiwr yn Ban yna ni fydd yn gallu cyrchu rheolwr ffeiliau wp yn y pen blaen.Thema Rheolwr Ffeil. Rhagosodiad: Light-> Ffeil wedi'i haddasu neu Creu fformat dyddiad. Rhagosodiad: d M, Y h: i A.-> Rheolwr ffeiliau Iaith. Rhagosodiad: English(en)-> Golwg UI Filemanager. Rhagosodiad: gridGweithreduCamau gweithredu wrth gefn (au) detholGall gweinyddiaeth gyfyngu ar weithredoedd unrhyw ddefnyddiwr. Hefyd cuddio ffeiliau a ffolderau a gallant osod gwahanol lwybrau ffolderi gwahanol ar gyfer gwahanol ddefnyddwyr.Gall gweinyddiaeth gyfyngu ar weithredoedd unrhyw ddefnyddiwr. Hefyd cuddio ffeiliau a ffolderau a gallant osod gwahanol lwybrau ffolderi gwahanol ar gyfer rolau gwahanol ddefnyddwyr.Ar ôl galluogi sbwriel, bydd eich ffeiliau'n mynd i'r ffolder sbwriel.Ar ôl galluogi hyn bydd pob ffeil yn mynd i lyfrgell y cyfryngau.Pawb Wedi'i WneudYdych chi'n sicr am gael gwared ar gefn (au) dethol?Ydych chi'n siŵr eich bod chi am ddileu'r copi wrth gefn hwn?Ydych chi'n siŵr eich bod chi am adfer y copi wrth gefn hwn?Dyddiad wrth gefnGwneud copi wrth gefn NawrDewisiadau wrth gefn:Data wrth gefn (cliciwch i lawrlwytho)Bydd ffeiliau wrth gefn o danMae'r copi wrth gefn yn rhedeg, arhoswchDilewyd y copi wrth gefn yn llwyddiannus.Gwneud copi wrth gefn / adferTynnu copïau wrth gefn yn llwyddiannus!GwaharddPorwr ac OS (HTTP_USER_AGENT)Prynu PROPrynu ProCansloNewid Thema Yma:Cliciwch i Brynu PROGolygydd cod-ViewCadarnhauCopïwch ffeiliau neu ffolderauAr hyn o bryd ni ddarganfuwyd copi wrth gefn (au).FILES DILEUTywyllGwneud copi wrth gefn o'r gronfa ddataGwneud copi wrth gefn o'r gronfa ddata ar y dyddiad Gwneud copi wrth gefn o'r gronfa ddata.Adfer copi wrth gefn o'r gronfa ddata yn llwyddiannus.RhagosodiadRhagosodiad:DileuDad-ddewisGwrthod yr hysbysiad hwn.RhowchDadlwythwch Logiau FfeiliauDadlwythwch ffeiliauDyblygu neu glonio ffolder neu ffeilGolygu Logiau FfeiliauGolygu ffeilGalluogi Ffeiliau i'w Llwytho i Lyfrgell y Cyfryngau?Galluogi Sbwriel?Gwall: Methu adfer copi wrth gefn oherwydd bod copi wrth gefn cronfa ddata yn drwm o ran maint. Ceisiwch gynyddu'r maint mwyaf a ganiateir o osodiadau Dewisiadau.Gwneud copi wrth gefn (au) presennolDetholiad archif neu ffeil wedi'i sipioRheolwr Ffeiliau - Cod ByrRheolwr Ffeiliau - Priodweddau SystemLlwybr Rheolwr Gwreiddiau, gallwch newid yn ôl eich dewis.Mae gan y Rheolwr Ffeil olygydd cod gyda sawl thema. Gallwch ddewis unrhyw thema ar gyfer golygydd cod. Bydd yn arddangos pan fyddwch chi'n golygu unrhyw ffeil. Hefyd gallwch ganiatáu modd sgrin lawn o olygydd cod.Rhestr Gweithrediadau Ffeil:Nid yw'r ffeil yn bodoli i'w lawrlwytho.Gwneud copi wrth gefn o ffeiliauLlwydHelpYma "prawf" yw enw'r ffolder sydd wedi'i leoli ar y cyfeiriadur gwraidd, neu gallwch roi llwybr ar gyfer is-ffolderi fel "wp-content/plugins". Os gadewch yn wag neu'n wag bydd yn cyrchu'r holl ffolderi ar y cyfeiriadur gwraidd. Diofyn: Cyfeiriadur gwraiddYma gall admin roi mynediad i rolau defnyddwyr i ddefnyddio rheolwr ffeiliau. Gall Gweinyddiaeth osod Ffolder Mynediad Diofyn a hefyd reoli maint uwchlwytho rheolwr ffeiliau.Gwybodaeth am y ffeilCod Diogelwch Annilys.Bydd yn caniatáu i bob rôl gael mynediad i'r rheolwr ffeiliau ar y pen blaen neu Gallwch chi ei ddefnyddio'n syml ar gyfer rolau defnyddiwr penodol fel y caniatâd_roles = "golygydd, awdur" (wedi'i wahanu gan atalnod(,))Bydd yn cloi a grybwyllir mewn atalnodau. gallwch gloi mwy fel ".php,.css,.js" ac ati. Diofyn: NullBydd yn dangos rheolwr ffeiliau ar y pen blaen. Ond dim ond Gweinyddwr all gael mynediad iddo a bydd yn rheoli o osodiadau rheolwr ffeiliau.Bydd yn dangos rheolwr ffeiliau ar y pen blaen. Gallwch reoli pob gosodiad o osodiadau rheolwr ffeiliau. Bydd yn gweithio yr un peth â Rheolwr Ffeil WP ôl-wyneb.Neges Log OlafGolauLogiauGwneud cyfeiriadur neu ffolderGwneud ffeilUchafswm maint a ganiateir ar adeg adfer copi wrth gefn cronfa ddata.Uchafswm maint uwchlwytho ffeiliau (upload_max_filesize)Terfyn Cof (memory_limit)Id wrth gefn ar goll.Math paramedr ar goll.Y paramedrau gofynnol ar goll.Dim DiolchDim neges logNi chafwyd hyd i logiau!Nodyn:Nodyn: Mae'r rhain yn sgrinluniau demo. Prynwch Rheolwr Ffeil pro i swyddogaethau Logiau.Nodyn: Dim ond screenshot demo yw hwn. I gael gosodiadau, prynwch ein fersiwn pro.Dim byd wedi'i ddewis ar gyfer copi wrth gefnDim byd wedi'i ddewis ar gyfer copi wrth gefn.iawnIawnEraill (Unrhyw gyfeiriaduron eraill a geir y tu mewn i gynnwys wp)Eraill wrth gefn wedi'i wneud ar y dyddiad Copi wrth gefn eraill wedi'i wneud.Methodd wrth gefn eraill.Adferwyd copi wrth gefn eraill yn llwyddiannus.Fersiwn PHPParamedrau:Gludwch ffeil neu ffolderRhowch y Cyfeiriad E-bost.Rhowch Enw Cyntaf.Rhowch yr Enw Diwethaf.Newidiwch hwn yn ofalus, gall llwybr anghywir arwain at ategyn rheolwr ffeiliau i fynd i lawr.Cynyddwch werth y maes os ydych chi'n cael neges gwall ar adeg adfer copi wrth gefn.AtegionGwneud copi wrth gefn o ategion ar ddyddiad Gwneud copi wrth gefn o ategion.Wedi methu gwneud copi wrth gefn o ategion.Adferwyd ategion ategion yn llwyddiannus.Postiwch uchafswm maint uwchlwytho ffeiliau (post_max_size)DewisiadauPolisi PreifatrwyddLlwybr Gwreiddiau CyhoeddusFILES RESTORETynnu neu ddileu ffeiliau a ffolderauAil-enwi ffeil neu ffolderAdferMae Restore yn rhedeg, arhoswchLLWYDDIANTArbed NewidiadauArbed ...Chwilio pethauMater Diogelwch.Dewiswch BawbDewiswch wrth gefn(au) i'w dileu!GosodiadauGosodiadau - Golygydd codGosodiadau - CyffredinolGosodiadau - Cyfyngiadau DefnyddiwrGosodiadau - Cyfyngiadau Rôl DefnyddiwrGosodiadau wedi'u cadw.Cod byr - PROTorri ffeil neu ffolder yn symlPriodweddau SystemTelerau GwasanaethMae'n debyg bod y copi wrth gefn wedi llwyddo ac mae bellach wedi'i gwblhau.ThemesGwneud copi wrth gefn o themâu ar ddyddiad Mae copi wrth gefn o themâu wedi'i wneud.Wedi methu gwneud copi wrth gefn o'r themâu.Adferwyd themâu wrth gefn yn llwyddiannus.Amser nawrAmserlen (max_execution_time)I wneud archif neu sipHeddiwDEFNYDD:Methu creu cronfa ddata wrth gefn.Methu tynnu copi wrth gefn!Methu adfer copi wrth gefn DB.Methu adfer eraill.Methu adfer ategion.Methu adfer themâu.Methu adfer uwchlwythiadau.Llwythwch Logiau FfeiliauLlwythwch ffeiliau i fynyLlwythiadauLlwythiadau wrth gefn wedi'u llwytho ar ddyddiad Llwythiadau wrth gefn wedi'u gwneud.Methodd uwchlwythiadau wrth gefn.Llwythiadau wrth gefn wedi'u hadfer yn llwyddiannus.GwirioGweld LogRheolwr Ffeil WPRheolwr Ffeil WP - Gwneud copi wrth gefn / AdferCyfraniad Rheolwr Ffeil WPRydyn ni'n caru gwneud ffrindiau newydd! Tanysgrifiwch isod ac rydym yn addo rhoi'r wybodaeth ddiweddaraf i chi am ein ategion, diweddariadau, diweddaraf bargeinion anhygoel ac ychydig o gynigion arbennig.Croeso i'r Rheolwr FfeiliauNid ydych wedi gwneud unrhyw newidiadau i gael eu cadw.i gael caniatâd i ddarllen ffeiliau, nodwch: gwir/anghywir, rhagosodedig: gwirar gyfer mynediad i ganiatâd ysgrifennu ffeiliau, nodwch: gwir/anghywir, rhagosodedig: ffugbydd yn cuddio a grybwyllir yma. Nodyn: wedi'i wahanu gan goma(,). Diofyn: Nullwp-file-manager/languages/wp-file-manager-cy.po000064400000066253151202472330015424 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 16:36+0530\n" "PO-Revision-Date: 2022-02-25 16:40+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: cy\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n==3 ? 3 : " "n==6 ? 4 : 5;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Adferwyd themâu wrth gefn yn llwyddiannus." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Methu adfer themâu." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Llwythiadau wrth gefn wedi'u hadfer yn llwyddiannus." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Methu adfer uwchlwythiadau." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Adferwyd copi wrth gefn eraill yn llwyddiannus." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Methu adfer eraill." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Adferwyd ategion ategion yn llwyddiannus." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Methu adfer ategion." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Adfer copi wrth gefn o'r gronfa ddata yn llwyddiannus." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Pawb Wedi'i Wneud" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Methu adfer copi wrth gefn DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Tynnu copïau wrth gefn yn llwyddiannus!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Methu tynnu copi wrth gefn!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Gwneud copi wrth gefn o'r gronfa ddata ar y dyddiad " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Gwneud copi wrth gefn o ategion ar ddyddiad " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Gwneud copi wrth gefn o themâu ar ddyddiad " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Llwythiadau wrth gefn wedi'u llwytho ar ddyddiad " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Eraill wrth gefn wedi'i wneud ar y dyddiad " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Logiau" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Ni chafwyd hyd i logiau!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Dim byd wedi'i ddewis ar gyfer copi wrth gefn" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Mater Diogelwch." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Gwneud copi wrth gefn o'r gronfa ddata." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Methu creu cronfa ddata wrth gefn." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Gwneud copi wrth gefn o ategion." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Wedi methu gwneud copi wrth gefn o ategion." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Mae copi wrth gefn o themâu wedi'i wneud." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Wedi methu gwneud copi wrth gefn o'r themâu." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Llwythiadau wrth gefn wedi'u gwneud." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Methodd uwchlwythiadau wrth gefn." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Copi wrth gefn eraill wedi'i wneud." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Methodd wrth gefn eraill." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Rheolwr Ffeil WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Gosodiadau" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Dewisiadau" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Priodweddau System" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Cod byr - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Gwneud copi wrth gefn / adfer" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Prynu Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Rhowch" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Nid yw'r ffeil yn bodoli i'w lawrlwytho." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Cod Diogelwch Annilys." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Id wrth gefn ar goll." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Math paramedr ar goll." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Y paramedrau gofynnol ar goll." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Gwall: Methu adfer copi wrth gefn oherwydd bod copi wrth gefn cronfa ddata " "yn drwm o ran maint. Ceisiwch gynyddu'r maint mwyaf a ganiateir o osodiadau " "Dewisiadau." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Dewiswch wrth gefn(au) i'w dileu!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Ydych chi'n sicr am gael gwared ar gefn (au) dethol?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Mae'r copi wrth gefn yn rhedeg, arhoswch" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Mae Restore yn rhedeg, arhoswch" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Dim byd wedi'i ddewis ar gyfer copi wrth gefn." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Rheolwr Ffeil WP - Gwneud copi wrth gefn / Adfer" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Dewisiadau wrth gefn:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Gwneud copi wrth gefn o'r gronfa ddata" #: inc/backup.php:64 msgid "Files Backup" msgstr "Gwneud copi wrth gefn o ffeiliau" #: inc/backup.php:68 msgid "Plugins" msgstr "Ategion" #: inc/backup.php:71 msgid "Themes" msgstr "Themes" #: inc/backup.php:74 msgid "Uploads" msgstr "Llwythiadau" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Eraill (Unrhyw gyfeiriaduron eraill a geir y tu mewn i gynnwys wp)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Gwneud copi wrth gefn Nawr" #: inc/backup.php:89 msgid "Time now" msgstr "Amser nawr" #: inc/backup.php:99 msgid "SUCCESS" msgstr "LLWYDDIANT" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Dilewyd y copi wrth gefn yn llwyddiannus." #: inc/backup.php:102 msgid "Ok" msgstr "Iawn" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "FILES DILEU" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Ydych chi'n siŵr eich bod chi am ddileu'r copi wrth gefn hwn?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Canslo" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Cadarnhau" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "FILES RESTORE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Ydych chi'n siŵr eich bod chi am adfer y copi wrth gefn hwn?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Neges Log Olaf" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "" "Mae'n debyg bod y copi wrth gefn wedi llwyddo ac mae bellach wedi'i gwblhau." #: inc/backup.php:171 msgid "No log message" msgstr "Dim neges log" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Gwneud copi wrth gefn (au) presennol" #: inc/backup.php:184 msgid "Backup Date" msgstr "Dyddiad wrth gefn" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Data wrth gefn (cliciwch i lawrlwytho)" #: inc/backup.php:190 msgid "Action" msgstr "Gweithredu" #: inc/backup.php:210 msgid "Today" msgstr "Heddiw" #: inc/backup.php:239 msgid "Restore" msgstr "Adfer" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Dileu" #: inc/backup.php:241 msgid "View Log" msgstr "Gweld Log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Ar hyn o bryd ni ddarganfuwyd copi wrth gefn (au)." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Camau gweithredu wrth gefn (au) dethol" #: inc/backup.php:251 msgid "Select All" msgstr "Dewiswch Bawb" #: inc/backup.php:252 msgid "Deselect" msgstr "Dad-ddewis" #: inc/backup.php:254 msgid "Note:" msgstr "Nodyn:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Bydd ffeiliau wrth gefn o dan" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Cyfraniad Rheolwr Ffeil WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Nodyn: Mae'r rhain yn sgrinluniau demo. Prynwch Rheolwr Ffeil pro i " "swyddogaethau Logiau." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Cliciwch i Brynu PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Prynu PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Golygu Logiau Ffeiliau" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Dadlwythwch Logiau Ffeiliau" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Llwythwch Logiau Ffeiliau" #: inc/root.php:43 msgid "Settings saved." msgstr "Gosodiadau wedi'u cadw." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Gwrthod yr hysbysiad hwn." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Nid ydych wedi gwneud unrhyw newidiadau i gael eu cadw." #: inc/root.php:55 msgid "Public Root Path" msgstr "Llwybr Gwreiddiau Cyhoeddus" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Llwybr Rheolwr Gwreiddiau, gallwch newid yn ôl eich dewis." #: inc/root.php:59 msgid "Default:" msgstr "Rhagosodiad:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Newidiwch hwn yn ofalus, gall llwybr anghywir arwain at ategyn rheolwr " "ffeiliau i fynd i lawr." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Galluogi Sbwriel?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Ar ôl galluogi sbwriel, bydd eich ffeiliau'n mynd i'r ffolder sbwriel." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Galluogi Ffeiliau i'w Llwytho i Lyfrgell y Cyfryngau?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Ar ôl galluogi hyn bydd pob ffeil yn mynd i lyfrgell y cyfryngau." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "Uchafswm maint a ganiateir ar adeg adfer copi wrth gefn cronfa ddata." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Cynyddwch werth y maes os ydych chi'n cael neges gwall ar adeg adfer copi " "wrth gefn." #: inc/root.php:90 msgid "Save Changes" msgstr "Arbed Newidiadau" #: inc/settings.php:10 msgid "Settings - General" msgstr "Gosodiadau - Cyffredinol" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Nodyn: Dim ond screenshot demo yw hwn. I gael gosodiadau, prynwch ein " "fersiwn pro." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Yma gall admin roi mynediad i rolau defnyddwyr i ddefnyddio rheolwr " "ffeiliau. Gall Gweinyddiaeth osod Ffolder Mynediad Diofyn a hefyd reoli " "maint uwchlwytho rheolwr ffeiliau." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Gosodiadau - Golygydd cod" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Mae gan y Rheolwr Ffeil olygydd cod gyda sawl thema. Gallwch ddewis unrhyw " "thema ar gyfer golygydd cod. Bydd yn arddangos pan fyddwch chi'n golygu " "unrhyw ffeil. Hefyd gallwch ganiatáu modd sgrin lawn o olygydd cod." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Golygydd cod-View" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Gosodiadau - Cyfyngiadau Defnyddiwr" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Gall gweinyddiaeth gyfyngu ar weithredoedd unrhyw ddefnyddiwr. Hefyd cuddio " "ffeiliau a ffolderau a gallant osod gwahanol lwybrau ffolderi gwahanol ar " "gyfer gwahanol ddefnyddwyr." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Gosodiadau - Cyfyngiadau Rôl Defnyddiwr" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Gall gweinyddiaeth gyfyngu ar weithredoedd unrhyw ddefnyddiwr. Hefyd cuddio " "ffeiliau a ffolderau a gallant osod gwahanol lwybrau ffolderi gwahanol ar " "gyfer rolau gwahanol ddefnyddwyr." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Rheolwr Ffeiliau - Cod Byr" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "DEFNYDD:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Bydd yn dangos rheolwr ffeiliau ar y pen blaen. Gallwch reoli pob gosodiad o " "osodiadau rheolwr ffeiliau. Bydd yn gweithio yr un peth â Rheolwr Ffeil WP " "ôl-wyneb." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Bydd yn dangos rheolwr ffeiliau ar y pen blaen. Ond dim ond Gweinyddwr all " "gael mynediad iddo a bydd yn rheoli o osodiadau rheolwr ffeiliau." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Paramedrau:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Bydd yn caniatáu i bob rôl gael mynediad i'r rheolwr ffeiliau ar y pen blaen " "neu Gallwch chi ei ddefnyddio'n syml ar gyfer rolau defnyddiwr penodol fel y " "caniatâd_roles = \"golygydd, awdur\" (wedi'i wahanu gan atalnod(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Yma \"prawf\" yw enw'r ffolder sydd wedi'i leoli ar y cyfeiriadur gwraidd, " "neu gallwch roi llwybr ar gyfer is-ffolderi fel \"wp-content/plugins\". Os " "gadewch yn wag neu'n wag bydd yn cyrchu'r holl ffolderi ar y cyfeiriadur " "gwraidd. Diofyn: Cyfeiriadur gwraidd" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "ar gyfer mynediad i ganiatâd ysgrifennu ffeiliau, nodwch: gwir/anghywir, " "rhagosodedig: ffug" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "i gael caniatâd i ddarllen ffeiliau, nodwch: gwir/anghywir, rhagosodedig: " "gwir" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "bydd yn cuddio a grybwyllir yma. Nodyn: wedi'i wahanu gan goma(,). Diofyn: " "Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Bydd yn cloi a grybwyllir mewn atalnodau. gallwch gloi mwy fel \".php,.css,." "js\" ac ati. Diofyn: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* ar gyfer pob gweithrediad ac i ganiatáu rhywfaint o lawdriniaeth gallwch " "sôn am enw gweithrediad fel, allowed_operations = \"llwytho i lawr, llwytho " "i lawr\". Nodyn: wedi'i wahanu gan goma(,). Rhagosodedig: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Rhestr Gweithrediadau Ffeil:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Gwneud cyfeiriadur neu ffolder" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Gwneud ffeil" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Ail-enwi ffeil neu ffolder" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Dyblygu neu glonio ffolder neu ffeil" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Gludwch ffeil neu ffolder" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Gwahardd" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "I wneud archif neu sip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Detholiad archif neu ffeil wedi'i sipio" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Copïwch ffeiliau neu ffolderau" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Torri ffeil neu ffolder yn syml" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Golygu ffeil" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Tynnu neu ddileu ffeiliau a ffolderau" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Dadlwythwch ffeiliau" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Llwythwch ffeiliau i fyny" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Chwilio pethau" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Gwybodaeth am y ffeil" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Help" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Bydd yn gwahardd defnyddwyr penodol trwy roi eu cymalau wedi'u gwahanu " "gan atalnodau (,). Os yw'r defnyddiwr yn Ban yna ni fydd yn gallu cyrchu " "rheolwr ffeiliau wp yn y pen blaen." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Golwg UI Filemanager. Rhagosodiad: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Ffeil wedi'i haddasu neu Creu fformat dyddiad. Rhagosodiad: d M, Y h: i A." #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Rheolwr ffeiliau Iaith. Rhagosodiad: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "Thema Rheolwr Ffeil. Rhagosodiad: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Rheolwr Ffeiliau - Priodweddau System" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Fersiwn PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Uchafswm maint uwchlwytho ffeiliau (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Postiwch uchafswm maint uwchlwytho ffeiliau (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Terfyn Cof (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Amserlen (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Porwr ac OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Newid Thema Yma:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Rhagosodiad" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Tywyll" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Golau" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Llwyd" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Croeso i'r Rheolwr Ffeiliau" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Rydyn ni'n caru gwneud ffrindiau newydd! Tanysgrifiwch isod ac rydym yn " "addo\n" " rhoi'r wybodaeth ddiweddaraf i chi am ein ategion, diweddariadau, " "diweddaraf\n" " bargeinion anhygoel ac ychydig o gynigion arbennig." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Rhowch Enw Cyntaf." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Rhowch yr Enw Diwethaf." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Rhowch y Cyfeiriad E-bost." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Gwirio" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Dim Diolch" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Telerau Gwasanaeth" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Polisi Preifatrwydd" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Arbed ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "iawn" #~ msgid "Backup not found!" #~ msgstr "Ni chafwyd copi wrth gefn!" #~ msgid "Backup removed successfully!" #~ msgstr "Tynnu copi wrth gefn yn llwyddiannus!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Dim byd wedi'i ddewis ar gyfer copi wrth " #~ "gefn" #~ msgid "Security Issue." #~ msgstr "Mater Diogelwch." #~ msgid "Database backup done." #~ msgstr "" #~ "Gwneud copi wrth gefn o'r gronfa ddata." #~ "" #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Methu creu copi wrth gefn o'r gronfa " #~ "ddata." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Gwneud copi wrth gefn o ategion." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Methodd copi wrth gefn ategion." #~ msgid "Themes backup done." #~ msgstr "" #~ "Gwneud copi wrth gefn o themâu." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Methodd y copi wrth gefn o themâu." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Llwythiadau wrth gefn wedi'u llwytho " #~ "wedi'u gwneud." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Methodd y llwythiadau wrth gefn." #~ msgid "Others backup done." #~ msgstr "" #~ "Eraill wrth gefn wedi'i wneud." #~ msgid "Others backup failed." #~ msgstr "" #~ "Methodd copi wrth gefn eraill." #~ msgid "All Done" #~ msgstr "Pawb Wedi'i Wneud" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Rheoli eich ffeiliau WP." #~ msgid "Extensions" #~ msgstr "Estyniadau" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Cyfrannwch rywfaint o rodd, i wneud ychwanegyn yn fwy sefydlog. Gallwch " #~ "dalu faint o'ch dewis chi." wp-file-manager/languages/wp-file-manager-da_DK.mo000064400000041624151202472330015743 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Q((')=)/ *(=*f*.o**@+@+D0, u,>,8,:,5- N-X-#j-----)-'./.O.X. a.l.|.. ..0. .//-(/(V/+// ////// 0$0?0P02_000 U1v11!16122223 333 444Z55q67.727;7 S7V]787!78$8=8[8c8w88O8c8"K9#n999-9(9"9&:&=: d: p:{: :::S:n8;;;;+;<8,< e<r<< < <<<!< == =*=:= M=X= w===$=,= > > 0>Q>b>2s>>/>&>*?-/?]?%d????1?#?$ @/@H@e@@@ @@ @@AA 9ADALA5^AAAbB8}BQBDCFMC}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-02 11:06+0530 Last-Translator: admin Language-Team: Language: da_DK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * for alle operationer og for at tillade nogle operationer kan du nævne operationens navn som, allow_operations="upload,download". Bemærk: adskilt af komma(,). Standard: *-> Det vil forbyde bestemte brugere ved blot at sætte deres id adskilt med kommaer (,). Hvis brugeren er Ban, vil de ikke få adgang til wp-filhåndtering i frontend.-> Filhåndteringstema. Standard: Light-> Filændret eller Opret datoformat. Standard: d M, Y h: i A-> Filhåndterings sprog. Standard: English(en)-> Filemanager UI View. Standard: gitterHandlingHandlinger efter valgt (e) sikkerhedskopi (er)Administrator kan begrænse enhver brugers handlinger. Skjul også filer og mapper og kan indstille forskellige - forskellige mappestier til forskellige brugere.Administrator kan begrænse handlinger fra enhver brugerrolle. Skjul også filer og mapper og kan indstille forskellige - forskellige mappestier til forskellige brugerroller.Efter aktivering af papirkurven går dine filer til papirkurven.Efter at have aktiveret dette, går alle filer til mediebiblioteket.Helt færdigEr du sikker på, at du vil fjerne de valgte sikkerhedskopier?Er du sikker på, at du vil slette denne sikkerhedskopi?Er du sikker på, at du vil gendanne denne sikkerhedskopi?SikkerhedskopieringsdatoBackup nuBackupmuligheder:Backup data (klik for at downloade)Backup filer vil være underBackup kører. Vent venligstBackup blev slettet.Sikkerhedskopiering/gendannelseSikkerhedskopier blev fjernet med succes!ForbydeBrowser og OS (HTTP_USER_AGENT)Køb PROKøb ProAfbestilleSkift tema her:Klik for at købe PROKode-editor VisBekræfteKopier filer eller mapperDer findes i øjeblikket ingen sikkerhedskopier.SLET FILERMørkSikkerhedskopiering af databaseDatabasesikkerhedskopiering udført på dato Sikkerhedskopiering af database udført.Databasesikkerhedskopiering blev gendannet.StandardStandard:SletFravælg markeringenAfvis denne meddelelse.DonerDownload fillogfilerDownload filerKopier eller klon en mappe eller filRediger logfilerRediger en filAktivere filer, der uploades til mediebiblioteket?Aktivere papirkurven?Fejl: Kan ikke gendanne sikkerhedskopien, fordi databasesikkerhedskopieringen er stor. Prøv at øge den maksimalt tilladte størrelse fra indstillingerne for præferencer.Eksisterende sikkerhedskopi (er)Uddrag arkiv eller zip-filFilhåndtering - Kort kodeFilhåndtering - SystemegenskaberFile Manager-rodsti, du kan ændre alt efter dit valg.File Manager har en kodeditor med flere temaer. Du kan vælge ethvert tema til kodeditor. Det vises, når du redigerer en fil. Du kan også tillade fuldskærmstilstand for kodeditor.Liste over filoperationer:Filen findes ikke til download.Backup af filerGråHjælpHer er "test" navnet på mappen, som er placeret i rodmappen, eller du kan give stien til undermapper som "wp-content/plugins". Hvis det efterlades tomt eller tomt, vil det få adgang til alle mapper i rodmappen. Standard: RodmappeHer kan admin give adgang til brugerroller for at bruge filemanager. Administrator kan indstille standardadgangsmappe og også kontrollere uploadstørrelse på filadministrator.Info om filenUgyldig sikkerhedskode.Det vil tillade alle roller at få adgang til filhåndtering på frontend, eller du kan simpelt bruge til bestemte brugerroller som f.eks. allow_roles="editor,author" (adskilt af komma(,))Det vil låse nævnt i kommaer. du kan låse flere som ".php,.css,.js" osv. Standard: NullDet vil vise filhåndtering på frontend. Men kun administrator kan få adgang til det og vil styre fra filhåndteringsindstillinger.Det vil vise filhåndtering på frontend. Du kan styre alle indstillinger fra filhåndteringsindstillinger. Det fungerer på samme måde som backend WP filhåndtering.Sidste logmeddelelseLysLogfilerOpret mappe eller mappeOpret filMaksimal tilladt størrelse på tidspunktet for gendannelse af databasesikkerhedskopi.Maksimal filoverførselsstørrelse (upload_max_filesize)Hukommelsesgrænse (memory_limit)Manglende backup-id.Manglende parametertype.Manglende krævede parametre.Nej takIngen logmeddelelseIngen logfiler fundet!Bemærk:Bemærk: Disse er demo-skærmbilleder. Køb File Manager pro til Logfunktioner.Bemærk: Dette er kun et demo-screenshot. For at få indstillinger skal du købe vores pro-version.Der er ikke valgt noget til backupDer er ikke valgt noget til backup.OkayOkayAndre (Andre mapper, der findes i wp-indhold)Andre sikkerhedskopier udført på dato Andre sikkerhedskopiering udført.Andre sikkerhedskopiering mislykkedes.Andre sikkerhedskopier blev gendannet.PHP-versionParametre:Indsæt en fil eller mappeIndtast venligst e-mail-adresse.Indtast fornavn.Indtast venligst efternavn.Ændr dette omhyggeligt, forkert sti kan få filhåndterings-plugin til at gå ned.Forøg venligst feltværdien, hvis du får fejlmeddelelse på tidspunktet for gendannelse af sikkerhedskopien.PluginsPlugin-backup udført den dato Plugins backup udført.Sikkerhedskopiering af plugins mislykkedes.Plugin-backup gendannet.Opret maksimal filoverførselsstørrelse (post_max_size)PræferencerFortrolighedspolitikOffentlig rodstiGENDAN FILERFjern eller slet filer og mapperOmdøb en fil eller mappeGendanGendannelse kører, vent venligstSUCCESGem ændringerGemmer ...Søg efter tingSikkerhedsproblem.Vælg alleVælg backup(r) for at slette!IndstillingerIndstillinger - Kode-editorIndstillinger - GenereltIndstillinger - BrugerbegrænsningerIndstillinger - Begrænsninger i brugerrolleIndstillinger gemt.Kort kode - PROEnkelt klippe en fil eller mappeSystemegenskaberTerms of ServiceBackup lykkedes tilsyneladende og er nu afsluttet.TemaerSikkerhedskopiering af temaer udført den dato Sikkerhedskopiering af temaer udført.Sikkerhedskopiering af temaer mislykkedes.Sikkerhedskopiering af temaer blev gendannet.Tid nuTiden er gået (maks. Udførelsestid)At oprette et arkiv eller zipI dagBRUG:Kan ikke oprette Sikkerhedskopiering af database.Kunne ikke fjerne sikkerhedskopien!Kan ikke gendanne DB-sikkerhedskopi.Kan ikke gendanne andre.Kunne ikke gendanne plugins.Kunne ikke gendanne temaer.Kunne ikke gendanne uploads.Upload filer LogfilerUpload filerUploadsUploads backup udført på dato Uploader backup udført.Uploads backup mislykkedes.Uploads backup gendannet.VerificereVis logWP filhåndteringWP filhåndtering - Sikkerhedskopiering / gendannelseWP filhåndtering-bidragVi elsker at få nye venner! Abonner nedenfor, og vi lover at holde dig opdateret med vores nyeste nye plugins, opdateringer, fantastiske tilbud og et par specielle tilbud.Velkommen til File ManagerDu har ikke foretaget nogen ændringer, der skal gemmes.for adgang til tilladelse til at læse filer, bemærk: sand/falsk, standard: sandfor adgang til at skrive filer, bemærk: sand/falsk, standard: falskdet vil skjule nævnt her. Bemærk: adskilt af komma(,). Standard: Nulwp-file-manager/languages/wp-file-manager-da_DK.po000064400000065200151202472330015742 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 16:40+0530\n" "PO-Revision-Date: 2022-03-02 11:06+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: da_DK\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Sikkerhedskopiering af temaer blev gendannet." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Kunne ikke gendanne temaer." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Uploads backup gendannet." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Kunne ikke gendanne uploads." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Andre sikkerhedskopier blev gendannet." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Kan ikke gendanne andre." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Plugin-backup gendannet." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Kunne ikke gendanne plugins." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Databasesikkerhedskopiering blev gendannet." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Helt færdig" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Kan ikke gendanne DB-sikkerhedskopi." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Sikkerhedskopier blev fjernet med succes!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Kunne ikke fjerne sikkerhedskopien!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Databasesikkerhedskopiering udført på dato " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Plugin-backup udført den dato " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Sikkerhedskopiering af temaer udført den dato " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Uploads backup udført på dato " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Andre sikkerhedskopier udført på dato " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Logfiler" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Ingen logfiler fundet!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Der er ikke valgt noget til backup" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Sikkerhedsproblem." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Sikkerhedskopiering af database udført." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Kan ikke oprette Sikkerhedskopiering af database." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Plugins backup udført." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Sikkerhedskopiering af plugins mislykkedes." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Sikkerhedskopiering af temaer udført." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Sikkerhedskopiering af temaer mislykkedes." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Uploader backup udført." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Uploads backup mislykkedes." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Andre sikkerhedskopiering udført." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Andre sikkerhedskopiering mislykkedes." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP filhåndtering" #: file_folder_manager.php:769 msgid "Settings" msgstr "Indstillinger" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Præferencer" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Systemegenskaber" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kort kode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Sikkerhedskopiering/gendannelse" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Køb Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Doner" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Filen findes ikke til download." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Ugyldig sikkerhedskode." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Manglende backup-id." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Manglende parametertype." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Manglende krævede parametre." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Fejl: Kan ikke gendanne sikkerhedskopien, fordi " "databasesikkerhedskopieringen er stor. Prøv at øge den maksimalt tilladte " "størrelse fra indstillingerne for præferencer." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Vælg backup(r) for at slette!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Er du sikker på, at du vil fjerne de valgte sikkerhedskopier?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Backup kører. Vent venligst" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Gendannelse kører, vent venligst" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Der er ikke valgt noget til backup." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP filhåndtering - Sikkerhedskopiering / gendannelse" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Backupmuligheder:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Sikkerhedskopiering af database" #: inc/backup.php:64 msgid "Files Backup" msgstr "Backup af filer" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugins" #: inc/backup.php:71 msgid "Themes" msgstr "Temaer" #: inc/backup.php:74 msgid "Uploads" msgstr "Uploads" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Andre (Andre mapper, der findes i wp-indhold)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Backup nu" #: inc/backup.php:89 msgid "Time now" msgstr "Tid nu" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUCCES" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Backup blev slettet." #: inc/backup.php:102 msgid "Ok" msgstr "Okay" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "SLET FILER" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Er du sikker på, at du vil slette denne sikkerhedskopi?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Afbestille" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Bekræfte" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "GENDAN FILER" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Er du sikker på, at du vil gendanne denne sikkerhedskopi?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Sidste logmeddelelse" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Backup lykkedes tilsyneladende og er nu afsluttet." #: inc/backup.php:171 msgid "No log message" msgstr "Ingen logmeddelelse" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Eksisterende sikkerhedskopi (er)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Sikkerhedskopieringsdato" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Backup data (klik for at downloade)" #: inc/backup.php:190 msgid "Action" msgstr "Handling" #: inc/backup.php:210 msgid "Today" msgstr "I dag" #: inc/backup.php:239 msgid "Restore" msgstr "Gendan" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Slet" #: inc/backup.php:241 msgid "View Log" msgstr "Vis log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Der findes i øjeblikket ingen sikkerhedskopier." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Handlinger efter valgt (e) sikkerhedskopi (er)" #: inc/backup.php:251 msgid "Select All" msgstr "Vælg alle" #: inc/backup.php:252 msgid "Deselect" msgstr "Fravælg markeringen" #: inc/backup.php:254 msgid "Note:" msgstr "Bemærk:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Backup filer vil være under" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP filhåndtering-bidrag" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Bemærk: Disse er demo-skærmbilleder. Køb File Manager pro til Logfunktioner." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klik for at købe PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Køb PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Rediger logfiler" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Download fillogfiler" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Upload filer Logfiler" #: inc/root.php:43 msgid "Settings saved." msgstr "Indstillinger gemt." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Afvis denne meddelelse." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Du har ikke foretaget nogen ændringer, der skal gemmes." #: inc/root.php:55 msgid "Public Root Path" msgstr "Offentlig rodsti" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager-rodsti, du kan ændre alt efter dit valg." #: inc/root.php:59 msgid "Default:" msgstr "Standard:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Ændr dette omhyggeligt, forkert sti kan få filhåndterings-plugin til at gå " "ned." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Aktivere papirkurven?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Efter aktivering af papirkurven går dine filer til papirkurven." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Aktivere filer, der uploades til mediebiblioteket?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Efter at have aktiveret dette, går alle filer til mediebiblioteket." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maksimal tilladt størrelse på tidspunktet for gendannelse af " "databasesikkerhedskopi." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Forøg venligst feltværdien, hvis du får fejlmeddelelse på tidspunktet for " "gendannelse af sikkerhedskopien." #: inc/root.php:90 msgid "Save Changes" msgstr "Gem ændringer" #: inc/settings.php:10 msgid "Settings - General" msgstr "Indstillinger - Generelt" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Bemærk: Dette er kun et demo-screenshot. For at få indstillinger skal du " "købe vores pro-version." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Her kan admin give adgang til brugerroller for at bruge filemanager. " "Administrator kan indstille standardadgangsmappe og også kontrollere " "uploadstørrelse på filadministrator." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Indstillinger - Kode-editor" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager har en kodeditor med flere temaer. Du kan vælge ethvert tema " "til kodeditor. Det vises, når du redigerer en fil. Du kan også tillade " "fuldskærmstilstand for kodeditor." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kode-editor Vis" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Indstillinger - Brugerbegrænsninger" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administrator kan begrænse enhver brugers handlinger. Skjul også filer og " "mapper og kan indstille forskellige - forskellige mappestier til forskellige " "brugere." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Indstillinger - Begrænsninger i brugerrolle" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administrator kan begrænse handlinger fra enhver brugerrolle. Skjul også " "filer og mapper og kan indstille forskellige - forskellige mappestier til " "forskellige brugerroller." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Filhåndtering - Kort kode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "BRUG:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Det vil vise filhåndtering på frontend. Du kan styre alle indstillinger fra " "filhåndteringsindstillinger. Det fungerer på samme måde som backend WP " "filhåndtering." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Det vil vise filhåndtering på frontend. Men kun administrator kan få adgang " "til det og vil styre fra filhåndteringsindstillinger." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametre:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Det vil tillade alle roller at få adgang til filhåndtering på frontend, " "eller du kan simpelt bruge til bestemte brugerroller som f.eks. allow_roles=" "\"editor,author\" (adskilt af komma(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Her er \"test\" navnet på mappen, som er placeret i rodmappen, eller du kan " "give stien til undermapper som \"wp-content/plugins\". Hvis det efterlades " "tomt eller tomt, vil det få adgang til alle mapper i rodmappen. Standard: " "Rodmappe" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "for adgang til at skrive filer, bemærk: sand/falsk, standard: falsk" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "for adgang til tilladelse til at læse filer, bemærk: sand/falsk, standard: " "sand" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "det vil skjule nævnt her. Bemærk: adskilt af komma(,). Standard: Nul" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Det vil låse nævnt i kommaer. du kan låse flere som \".php,.css,.js\" osv. " "Standard: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* for alle operationer og for at tillade nogle operationer kan du nævne " "operationens navn som, allow_operations=\"upload,download\". Bemærk: adskilt " "af komma(,). Standard: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Liste over filoperationer:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Opret mappe eller mappe" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Opret fil" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Omdøb en fil eller mappe" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Kopier eller klon en mappe eller fil" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Indsæt en fil eller mappe" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Forbyde" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "At oprette et arkiv eller zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Uddrag arkiv eller zip-fil" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopier filer eller mapper" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Enkelt klippe en fil eller mappe" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Rediger en fil" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Fjern eller slet filer og mapper" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Download filer" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Upload filer" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Søg efter ting" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Info om filen" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Hjælp" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Det vil forbyde bestemte brugere ved blot at sætte deres id adskilt med " "kommaer (,). Hvis brugeren er Ban, vil de ikke få adgang til wp-" "filhåndtering i frontend." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI View. Standard: gitter" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Filændret eller Opret datoformat. Standard: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Filhåndterings sprog. Standard: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Filhåndteringstema. Standard: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Filhåndtering - Systemegenskaber" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP-version" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimal filoverførselsstørrelse (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Opret maksimal filoverførselsstørrelse (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Hukommelsesgrænse (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Tiden er gået (maks. Udførelsestid)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Browser og OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Skift tema her:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Standard" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Mørk" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Lys" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Grå" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Velkommen til File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Vi elsker at få nye venner! Abonner nedenfor, og vi lover at\n" " holde dig opdateret med vores nyeste nye plugins, opdateringer,\n" " fantastiske tilbud og et par specielle tilbud." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Indtast fornavn." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Indtast venligst efternavn." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Indtast venligst e-mail-adresse." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verificere" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nej tak" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Terms of Service" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Fortrolighedspolitik" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Gemmer ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Okay" #~ msgid "Backup not found!" #~ msgstr "Backup ikke fundet!" #~ msgid "Backup removed successfully!" #~ msgstr "Backup fjernet med succes!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Intet valgt til sikkerhedskopiering" #~ msgid "Security Issue." #~ msgstr "Sikkerhedsproblem." #~ msgid "Database backup done." #~ msgstr "" #~ "Databasesikkerhedskopiering udført. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Sikkerhedskopiering af database kunne " #~ "ikke oprettes. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Plugins-sikkerhedskopi udført." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Backup af plugins mislykkedes. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Sikkerhedskopiering af temaer udført." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Sikkerhedskopiering af temaer " #~ "mislykkedes." #~ msgid "Uploads backup done." #~ msgstr "Uploads backup udført. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Sikkerhedskopiering af uploads " #~ "mislykkedes." #~ msgid "Others backup done." #~ msgstr "" #~ "Andre sikkerhedskopieringer er udført." #~ "" #~ msgid "Others backup failed." #~ msgstr "" #~ "Anden sikkerhedskopiering mislykkedes. " #~ msgid "All Done" #~ msgstr "Alle udført " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Administrer dine WP-filer." #~ msgid "Extensions" #~ msgstr "Udvidelser" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Vær venlig at bidrage med en donation for at gøre plugin mere stabil. Du " #~ "kan betale beløb efter eget valg." wp-file-manager/languages/wp-file-manager-de_DE.mo000064400000043274151202472330015744 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Q()&)F)/3*,c**'**+cY,Y,-B&-/i-7- - --%-#.?. [.|.!..,. . . / /"'/J/ ^/j/%////*/!01%0W0 `0j0 s0}0000401"1991s11E2&^22"2:223,4?4N4S4Y4m5C6R6o6e7f7788 8!88V83O9999!9 99:":\+:m:!:";;;>;1A;(s;; ;/; < <$<@<_<x<p<j=m=*u==!=-=7 > E>S>l>>*>,>>&?-?4? J? W?d?x?"????'?-@L@g@1w@@@A@A$A?A\A,|A A(A(AB B.B"EB.hB.B/B.B/%CUCoCC6CC%C7C 2D?DRD*bDDDhE8EaEG FShF}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 16:48+0530 Last-Translator: admin Language-Team: Language: de_DE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * Für alle Operationen und um einige Operationen zuzulassen, können Sie den Operationsnamen wie "allowed_operations="upload,download" angeben. Hinweis: durch Komma (,) getrennt. Standard: *-> Es wird bestimmte Benutzer sperren, indem nur ihre IDs durch Kommas (,) getrennt werden. Wenn der Benutzer Ban ist, kann er am Frontend nicht auf den wp-Dateimanager zugreifen.-> Dateimanager-Theme. Standard: Licht-> Datei geändert oder Datumsformat erstellen. Standard: d M, Y h:i A-> Dateimanager-Sprache. Standard: Englisch(en)-> Dateimanager-UI-Ansicht. Standard: RasterAktionAktionen für ausgewählte(s) Backup(s)Der Administrator kann die Aktionen jedes Benutzers einschränken. Verstecken Sie auch Dateien und Ordner und können Sie verschiedene - verschiedene Ordnerpfade für verschiedene Benutzer festlegen.Der Administrator kann die Aktionen jeder Benutzerrolle einschränken. Verstecken Sie auch Dateien und Ordner und können Sie verschiedene - verschiedene Ordnerpfade für verschiedene Benutzerrollen festlegen.Nachdem Sie den Papierkorb aktiviert haben, werden Ihre Dateien in den Papierkorbordner verschoben.Nachdem Sie dies aktiviert haben, werden alle Dateien in die Medienbibliothek verschoben.Alles erledigtMöchten Sie die ausgewählte(n) Sicherung(en) wirklich entfernen?Möchten Sie diese Sicherung wirklich löschen?Möchten Sie diese Sicherung wirklich wiederherstellen?Backup-DatumJetzt sichernBackup-Optionen:Backup-Daten (zum Download anklicken)Backup-Dateien werden unterBackup läuft, bitte wartenSicherung erfolgreich gelöscht.Backup wiederherstellenSicherungen erfolgreich entfernt!VerbotBrowser und Betriebssystem (HTTP_USER_AGENT)PRO kaufenPro kaufenStornierenÄndern Sie das Thema hier:Klicken Sie hier, um PRO zu kaufenCode-Editor-AnsichtBestätigenDateien oder Ordner kopierenDerzeit keine Sicherung(en) gefunden.DATEIEN LÖSCHENDunkelDatenbanksicherungDatenbanksicherung am Datum durchgeführt Datenbanksicherung durchgeführt.Datenbanksicherung erfolgreich wiederhergestellt.StandardStandard:LöschenAbwählenIgnoriere die Nachricht.SpendenDateiprotokolle herunterladenDateien herunterladenEinen Ordner oder eine Datei duplizieren oder klonenDateiprotokolle bearbeitenBearbeiten einer DateiHochladen von Dateien in die Medienbibliothek aktivieren?Papierkorb aktivieren?Fehler: Die Sicherung kann nicht wiederhergestellt werden, da die Datenbanksicherung sehr groß ist. Bitte versuchen Sie, die maximal zulässige Größe in den Einstellungen zu erhöhen.Vorhandene Sicherung(en)Archiv oder gezippte Datei extrahierenDateimanager - ShortcodeDateimanager - SystemeigenschaftenDateimanager-Stammpfad, können Sie nach Belieben ändern.Der Dateimanager verfügt über einen Code-Editor mit mehreren Themen. Sie können ein beliebiges Thema für den Code-Editor auswählen. Es wird angezeigt, wenn Sie eine Datei bearbeiten. Sie können auch den Vollbildmodus des Code-Editors zulassen.Liste der Dateioperationen:Datei ist nicht zum Herunterladen vorhanden.DateisicherungGrauHilfeHier ist "test" der Name des Ordners, der sich im Stammverzeichnis befindet, oder Sie können den Pfad für Unterordner wie "wp-content/plugins" angeben. Wenn Sie das Feld leer oder leer lassen, wird auf alle Ordner im Stammverzeichnis zugegriffen. Standard: Root-VerzeichnisHier kann der Administrator Zugriff auf Benutzerrollen gewähren, um den Dateimanager zu verwenden. Der Administrator kann den Standardzugriffsordner festlegen und auch die Uploadgröße des Dateimanagers steuern.Info zur DateiUngültiger Sicherheitscode.Es ermöglicht allen Rollen den Zugriff auf den Dateimanager am Frontend oder Sie können es einfach für bestimmte Benutzerrollen verwenden, z.Es wird in Kommas erwähnt sperren. Sie können mehr wie ".php,.css,.js" usw. sperren. Standard: NullEs zeigt den Dateimanager am Frontend. Aber nur der Administrator kann darauf zugreifen und die Einstellungen des Dateimanagers steuern.Es zeigt den Dateimanager am Frontend. Sie können alle Einstellungen über die Dateimanagereinstellungen steuern. Es funktioniert genauso wie der Backend-WP-Dateimanager.Letzte ProtokollnachrichtLichtProtokolleVerzeichnis oder Ordner erstellenDatei erstellenMaximal zulässige Größe zum Zeitpunkt der Wiederherstellung der Datenbanksicherung.Maximale Datei-Upload-Größe (upload_max_filesize)Speicherlimit (memory_limit)Fehlende Backup-ID.Parametertyp fehlt.Fehlende erforderliche Parameter.Nein dankeKeine Log-MeldungKeine Protokolle gefunden!Hinweis:Hinweis: Dies sind Demo-Screenshots. Bitte kaufen Sie File Manager Pro für Logs-Funktionen.Hinweis: Dies ist nur ein Demo-Screenshot. Um Einstellungen zu erhalten, kaufen Sie bitte unsere Pro-Version.Nichts für Sicherung ausgewähltNichts für Sicherung ausgewählt.OKOKAndere (Alle anderen Verzeichnisse in wp-content)Andere Sicherung am Datum durchgeführt Andere Sicherung durchgeführt.Andere Sicherung fehlgeschlagen.Andere Sicherung erfolgreich wiederhergestellt.PHP-VersionParameter:Datei oder Ordner einfügenBitte E-Mail-Adresse eingeben.Bitte Vornamen eingeben.Bitte Nachname eingeben.Bitte ändern Sie dies sorgfältig, ein falscher Pfad kann dazu führen, dass das Dateimanager-Plugin ausfällt.Bitte erhöhen Sie den Feldwert, wenn Sie beim Wiederherstellen der Sicherung eine Fehlermeldung erhalten.PluginsPlugin-Backup am Datum durchgeführt done Plugin-Backup durchgeführt.Plug-in-Sicherung fehlgeschlagen.Plugins-Backup erfolgreich wiederhergestellt.Maximale Datei-Upload-Größe des Posts (post_max_size)EinstellungenDatenschutz-BestimmungenÖffentlicher Root-PfadDATEIEN WIEDERHERSTELLENDateien und Ordner entfernen oder löschenBenennen Sie eine Datei oder einen Ordner umWiederherstellenWiederherstellung läuft, bitte wartenERFOLGÄnderungen speichernSpeichern...Dinge suchenSicherheitsproblem.Wählen Sie AlleBackup(s) zum Löschen auswählen!die EinstellungenEinstellungen - Code-EditorEinstellungen - AllgemeinesEinstellungen - BenutzerbeschränkungenEinstellungen - BenutzerrollenbeschränkungenEinstellungen gespeichert.Shortcode - PROEinfach eine Datei oder einen Ordner ausschneidenSystemeigenschaftenNutzungsbedingungenDie Sicherung ist anscheinend gelungen und ist nun abgeschlossen.ThemenTheme-Backup am Datum durchgeführt Themes-Backup durchgeführt.Designsicherung fehlgeschlagen.Themes-Backup erfolgreich wiederhergestellt.Zeit jetztZeitüberschreitung (max_execution_time)Um ein Archiv oder eine Zip zu erstellenHeuteBENUTZEN:Datenbanksicherung kann nicht erstellt werden.Backup kann nicht entfernt werden!DB-Backup kann nicht wiederhergestellt werden.Andere können nicht wiederhergestellt werden.Plugins können nicht wiederhergestellt werden.Themen können nicht wiederhergestellt werden.Uploads können nicht wiederhergestellt werden.Dateiprotokolle hochladenDaten hochladenUploadsLädt die Sicherung hoch, die am Datum erstellt wurde Upload-Backup fertig.Sicherung der Uploads fehlgeschlagen.Lädt die Sicherung erfolgreich wiederhergestellt hoch.ÜberprüfenProtokoll anzeigenWP-DateimanagerWP-Dateimanager - Sichern/WiederherstellenBeitrag zum WP-DateimanagerWir lieben es, neue Freunde zu finden! Abonnieren Sie unten und wir versprechen es halten Sie mit unseren neuesten neuen Plugins, Updates, tolle Angebote und ein paar Sonderangebote.Willkommen beim DateimanagerSie haben keine zu speichernden Änderungen vorgenommen.für den Zugriff auf die Berechtigung zum Lesen von Dateien, Hinweis: wahr/falsch, Standard: wahrfür den Zugriff auf Schreibrechte, Hinweis: true/false, default: falsees wird hier erwähnt verstecken. Hinweis: durch Komma (,) getrennt. Standard: Nullwp-file-manager/languages/wp-file-manager-de_DE.po000064400000066544151202472330015754 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 16:45+0530\n" "PO-Revision-Date: 2022-02-25 16:48+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Themes-Backup erfolgreich wiederhergestellt." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Themen können nicht wiederhergestellt werden." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Lädt die Sicherung erfolgreich wiederhergestellt hoch." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Uploads können nicht wiederhergestellt werden." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Andere Sicherung erfolgreich wiederhergestellt." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Andere können nicht wiederhergestellt werden." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Plugins-Backup erfolgreich wiederhergestellt." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Plugins können nicht wiederhergestellt werden." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Datenbanksicherung erfolgreich wiederhergestellt." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Alles erledigt" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "DB-Backup kann nicht wiederhergestellt werden." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Sicherungen erfolgreich entfernt!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Backup kann nicht entfernt werden!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Datenbanksicherung am Datum durchgeführt " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Plugin-Backup am Datum durchgeführt done " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Theme-Backup am Datum durchgeführt " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Lädt die Sicherung hoch, die am Datum erstellt wurde " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Andere Sicherung am Datum durchgeführt " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Protokolle" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Keine Protokolle gefunden!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Nichts für Sicherung ausgewählt" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Sicherheitsproblem." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Datenbanksicherung durchgeführt." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Datenbanksicherung kann nicht erstellt werden." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Plugin-Backup durchgeführt." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Plug-in-Sicherung fehlgeschlagen." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Themes-Backup durchgeführt." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Designsicherung fehlgeschlagen." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Upload-Backup fertig." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Sicherung der Uploads fehlgeschlagen." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Andere Sicherung durchgeführt." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Andere Sicherung fehlgeschlagen." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP-Dateimanager" #: file_folder_manager.php:769 msgid "Settings" msgstr "die Einstellungen" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Einstellungen" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Systemeigenschaften" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Backup wiederherstellen" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Pro kaufen" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Spenden" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Datei ist nicht zum Herunterladen vorhanden." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Ungültiger Sicherheitscode." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Fehlende Backup-ID." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parametertyp fehlt." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Fehlende erforderliche Parameter." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Fehler: Die Sicherung kann nicht wiederhergestellt werden, da die " "Datenbanksicherung sehr groß ist. Bitte versuchen Sie, die maximal zulässige " "Größe in den Einstellungen zu erhöhen." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Backup(s) zum Löschen auswählen!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Möchten Sie die ausgewählte(n) Sicherung(en) wirklich entfernen?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Backup läuft, bitte warten" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Wiederherstellung läuft, bitte warten" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Nichts für Sicherung ausgewählt." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP-Dateimanager - Sichern/Wiederherstellen" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Backup-Optionen:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Datenbanksicherung" #: inc/backup.php:64 msgid "Files Backup" msgstr "Dateisicherung" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugins" #: inc/backup.php:71 msgid "Themes" msgstr "Themen" #: inc/backup.php:74 msgid "Uploads" msgstr "Uploads" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Andere (Alle anderen Verzeichnisse in wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Jetzt sichern" #: inc/backup.php:89 msgid "Time now" msgstr "Zeit jetzt" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ERFOLG" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Sicherung erfolgreich gelöscht." #: inc/backup.php:102 msgid "Ok" msgstr "OK" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "DATEIEN LÖSCHEN" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Möchten Sie diese Sicherung wirklich löschen?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Stornieren" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Bestätigen" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "DATEIEN WIEDERHERSTELLEN" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Möchten Sie diese Sicherung wirklich wiederherstellen?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Letzte Protokollnachricht" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Die Sicherung ist anscheinend gelungen und ist nun abgeschlossen." #: inc/backup.php:171 msgid "No log message" msgstr "Keine Log-Meldung" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Vorhandene Sicherung(en)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Backup-Datum" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Backup-Daten (zum Download anklicken)" #: inc/backup.php:190 msgid "Action" msgstr "Aktion" #: inc/backup.php:210 msgid "Today" msgstr "Heute" #: inc/backup.php:239 msgid "Restore" msgstr "Wiederherstellen" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Löschen" #: inc/backup.php:241 msgid "View Log" msgstr "Protokoll anzeigen" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Derzeit keine Sicherung(en) gefunden." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Aktionen für ausgewählte(s) Backup(s)" #: inc/backup.php:251 msgid "Select All" msgstr "Wählen Sie Alle" #: inc/backup.php:252 msgid "Deselect" msgstr "Abwählen" #: inc/backup.php:254 msgid "Note:" msgstr "Hinweis:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Backup-Dateien werden unter" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Beitrag zum WP-Dateimanager" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Hinweis: Dies sind Demo-Screenshots. Bitte kaufen Sie File Manager Pro für " "Logs-Funktionen." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klicken Sie hier, um PRO zu kaufen" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "PRO kaufen" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Dateiprotokolle bearbeiten" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Dateiprotokolle herunterladen" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Dateiprotokolle hochladen" #: inc/root.php:43 msgid "Settings saved." msgstr "Einstellungen gespeichert." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Ignoriere die Nachricht." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Sie haben keine zu speichernden Änderungen vorgenommen." #: inc/root.php:55 msgid "Public Root Path" msgstr "Öffentlicher Root-Pfad" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Dateimanager-Stammpfad, können Sie nach Belieben ändern." #: inc/root.php:59 msgid "Default:" msgstr "Standard:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Bitte ändern Sie dies sorgfältig, ein falscher Pfad kann dazu führen, dass " "das Dateimanager-Plugin ausfällt." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Papierkorb aktivieren?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Nachdem Sie den Papierkorb aktiviert haben, werden Ihre Dateien in den " "Papierkorbordner verschoben." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Hochladen von Dateien in die Medienbibliothek aktivieren?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Nachdem Sie dies aktiviert haben, werden alle Dateien in die " "Medienbibliothek verschoben." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maximal zulässige Größe zum Zeitpunkt der Wiederherstellung der " "Datenbanksicherung." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Bitte erhöhen Sie den Feldwert, wenn Sie beim Wiederherstellen der Sicherung " "eine Fehlermeldung erhalten." #: inc/root.php:90 msgid "Save Changes" msgstr "Änderungen speichern" #: inc/settings.php:10 msgid "Settings - General" msgstr "Einstellungen - Allgemeines" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Hinweis: Dies ist nur ein Demo-Screenshot. Um Einstellungen zu erhalten, " "kaufen Sie bitte unsere Pro-Version." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Hier kann der Administrator Zugriff auf Benutzerrollen gewähren, um den " "Dateimanager zu verwenden. Der Administrator kann den Standardzugriffsordner " "festlegen und auch die Uploadgröße des Dateimanagers steuern." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Einstellungen - Code-Editor" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Der Dateimanager verfügt über einen Code-Editor mit mehreren Themen. Sie " "können ein beliebiges Thema für den Code-Editor auswählen. Es wird " "angezeigt, wenn Sie eine Datei bearbeiten. Sie können auch den Vollbildmodus " "des Code-Editors zulassen." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Code-Editor-Ansicht" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Einstellungen - Benutzerbeschränkungen" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Der Administrator kann die Aktionen jedes Benutzers einschränken. Verstecken " "Sie auch Dateien und Ordner und können Sie verschiedene - verschiedene " "Ordnerpfade für verschiedene Benutzer festlegen." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Einstellungen - Benutzerrollenbeschränkungen" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Der Administrator kann die Aktionen jeder Benutzerrolle einschränken. " "Verstecken Sie auch Dateien und Ordner und können Sie verschiedene - " "verschiedene Ordnerpfade für verschiedene Benutzerrollen festlegen." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Dateimanager - Shortcode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "BENUTZEN:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Es zeigt den Dateimanager am Frontend. Sie können alle Einstellungen über " "die Dateimanagereinstellungen steuern. Es funktioniert genauso wie der " "Backend-WP-Dateimanager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Es zeigt den Dateimanager am Frontend. Aber nur der Administrator kann " "darauf zugreifen und die Einstellungen des Dateimanagers steuern." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parameter:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Es ermöglicht allen Rollen den Zugriff auf den Dateimanager am Frontend oder " "Sie können es einfach für bestimmte Benutzerrollen verwenden, z." #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Hier ist \"test\" der Name des Ordners, der sich im Stammverzeichnis " "befindet, oder Sie können den Pfad für Unterordner wie \"wp-content/plugins" "\" angeben. Wenn Sie das Feld leer oder leer lassen, wird auf alle Ordner im " "Stammverzeichnis zugegriffen. Standard: Root-Verzeichnis" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "für den Zugriff auf Schreibrechte, Hinweis: true/false, default: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "für den Zugriff auf die Berechtigung zum Lesen von Dateien, Hinweis: wahr/" "falsch, Standard: wahr" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "es wird hier erwähnt verstecken. Hinweis: durch Komma (,) getrennt. " "Standard: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Es wird in Kommas erwähnt sperren. Sie können mehr wie \".php,.css,.js\" " "usw. sperren. Standard: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* Für alle Operationen und um einige Operationen zuzulassen, können Sie den " "Operationsnamen wie \"allowed_operations=\"upload,download\" angeben. " "Hinweis: durch Komma (,) getrennt. Standard: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Liste der Dateioperationen:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Verzeichnis oder Ordner erstellen" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Datei erstellen" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Benennen Sie eine Datei oder einen Ordner um" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Einen Ordner oder eine Datei duplizieren oder klonen" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Datei oder Ordner einfügen" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Verbot" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Um ein Archiv oder eine Zip zu erstellen" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Archiv oder gezippte Datei extrahieren" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Dateien oder Ordner kopieren" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Einfach eine Datei oder einen Ordner ausschneiden" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Bearbeiten einer Datei" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Dateien und Ordner entfernen oder löschen" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Dateien herunterladen" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Daten hochladen" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Dinge suchen" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Info zur Datei" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Hilfe" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Es wird bestimmte Benutzer sperren, indem nur ihre IDs durch Kommas (,) " "getrennt werden. Wenn der Benutzer Ban ist, kann er am Frontend nicht auf " "den wp-Dateimanager zugreifen." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Dateimanager-UI-Ansicht. Standard: Raster" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Datei geändert oder Datumsformat erstellen. Standard: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Dateimanager-Sprache. Standard: Englisch(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Dateimanager-Theme. Standard: Licht" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Dateimanager - Systemeigenschaften" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP-Version" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maximale Datei-Upload-Größe (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Maximale Datei-Upload-Größe des Posts (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Speicherlimit (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Zeitüberschreitung (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Browser und Betriebssystem (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Ändern Sie das Thema hier:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Standard" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Dunkel" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Licht" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Grau" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Willkommen beim Dateimanager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Wir lieben es, neue Freunde zu finden! Abonnieren Sie unten und wir " "versprechen es\n" " halten Sie mit unseren neuesten neuen Plugins, Updates,\n" " tolle Angebote und ein paar Sonderangebote." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Bitte Vornamen eingeben." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Bitte Nachname eingeben." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Bitte E-Mail-Adresse eingeben." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Überprüfen" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nein danke" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Nutzungsbedingungen" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Datenschutz-Bestimmungen" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Speichern..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Backup not found!" #~ msgstr "Sicherung nicht gefunden!" #~ msgid "Backup removed successfully!" #~ msgstr "Sicherung erfolgreich entfernt!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Nichts für die Sicherung ausgewählt" #~ msgid "Security Issue." #~ msgstr "Sicherheitsproblem." #~ msgid "Database backup done." #~ msgstr "" #~ "Datenbanksicherung durchgeführt." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Datenbanksicherung kann nicht erstellt " #~ "werden." #~ msgid "Plugins backup done." #~ msgstr "Plugins-Backup fertig." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Plug-in-Sicherung fehlgeschlagen." #~ msgid "Themes backup done." #~ msgstr "Themes-Backup fertig." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Themes-Backup fehlgeschlagen." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Uploads Backup abgeschlossen." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Upload-Backup fehlgeschlagen." #~ msgid "Others backup done." #~ msgstr "" #~ "Andere Sicherungen durchgeführt." #~ msgid "Others backup failed." #~ msgstr "" #~ "Andere Sicherung fehlgeschlagen." #~ msgid "All Done" #~ msgstr "Alles erledigt" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Verwalten Sie Ihre WP-Dateien." #~ msgid "Extensions" #~ msgstr "Erweiterungen" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Bitte spenden Sie eine Spende, um das Plugin stabiler zu machen. Sie " #~ "können den Betrag Ihrer Wahl bezahlen." wp-file-manager/languages/wp-file-manager-el.mo000064400000063642151202472330015405 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&YN(l)L+b+`+]L,,R,m-r./021L1|1~M2S2E 3Pf3u3\-4j4V4OL5Z55f 6s666$6662 7=73T7[778Z8n8p8k99 :*:;:<P::,::]::A;0|;j;D<]<8=H4>E}>M>??1A8AKBZBcBrB7D%E6Ex,FG6oH9I4JKK9/K#iKK[GL%LUL0MBPMM.M:MN)NNqOr)PPPgPc"QdQ>Qi*RRR:R3R-*S1XSSaT%U6UeUbVxVnVhW#WW!WMW:$X_X@rXX*XXYY4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-03 11:32+0530 Last-Translator: admin Language-Team: Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * για όλες τις λειτουργίες και για να επιτρέψετε κάποια λειτουργία, μπορείτε να αναφέρετε το όνομα της λειτουργίας ως like, allow_operations="upload,download". Σημείωση: χωρίζεται με κόμμα(,). Προκαθορισμένο: *-> Θα απαγορεύσει συγκεκριμένους χρήστες βάζοντας απλώς τα αναγνωριστικά τους διαχωρισμένα με κόμμα(,). Εάν ο χρήστης είναι Ban, τότε δεν θα έχει πρόσβαση στον διαχειριστή αρχείων wp στο μπροστινό μέρος.-> Θέμα Διαχείριση αρχείων. Προεπιλογή: Light-> Τροποποίηση αρχείου ή Δημιουργία μορφής ημερομηνίας. Προεπιλογή: d M, Y h:i A-> Γλώσσα διαχείρισης αρχείων. Προεπιλογή: Αγγλικά (en)-> Προβολή διεπαφής χρήστη Filemager. Προεπιλογή: πλέγμαActionΕνέργειες σε επιλεγμένα αντίγραφα ασφαλείαςΟ διαχειριστής μπορεί να περιορίσει τις ενέργειες κάποιου χρήστη. Επίσης, αποκρύπτει αρχεία και φακέλους και μπορεί να ορίσει διαφορετικές διαδρομές διαφορετικών φακέλων για διαφορετικούς χρήστες.Ο διαχειριστής μπορεί να περιορίσει τις ενέργειες οποιουδήποτε χρήστη. Επίσης, αποκρύπτει αρχεία και φακέλους και μπορεί να ορίσει διαφορετικές διαδρομές διαφορετικών φακέλων για διαφορετικούς ρόλους χρηστών.Αφού ενεργοποιήσετε τον κάδο απορριμμάτων, τα αρχεία σας θα μεταβούν στον φάκελο απορριμμάτων.Αφού την ενεργοποιήσετε όλα τα αρχεία θα μεταβούν στη βιβλιοθήκη πολυμέσων.Ολα τελείωσανΕίστε βέβαιοι ότι θέλετε να αφαιρέσετε επιλεγμένα αντίγραφα ασφαλείας;Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το αντίγραφο ασφαλείας;Είστε βέβαιοι ότι θέλετε να επαναφέρετε αυτό το αντίγραφο ασφαλείας;Ημερομηνία δημιουργίας αντιγράφων ασφαλείαςΔημιουργία αντιγράφων ασφαλείας τώραΕπιλογές δημιουργίας αντιγράφων ασφαλείας:Δημιουργία αντιγράφων ασφαλείας δεδομένων (κάντε κλικ για λήψη)Τα αρχεία αντιγράφων ασφαλείας θα βρίσκονται κάτωΗ δημιουργία αντιγράφων ασφαλείας εκτελείται, περιμένετεΤο αντίγραφο ασφαλείας διαγράφηκε με επιτυχία.Δημιουργία αντιγράφων ασφαλείας/ΕπαναφοράΤα αντίγραφα ασφαλείας καταργήθηκαν με επιτυχία!ΑπαγόρευσηΠρόγραμμα περιήγησης και λειτουργικό σύστημα (HTTP_USER_AGENT)Αγοράστε PROΑγοράστε ProΜαταίωσηΑλλάξτε το θέμα εδώ:Κάντε κλικ για να αγοράσετε PROΠροβολή κώδικα επεξεργαστήΕπιβεβαιώνωΑντιγραφή αρχείων ή φακέλωνΑυτήν τη στιγμή δεν βρέθηκαν αντίγραφα ασφαλείας.ΔΙΑΓΡΑΦΗ ΑΡΧΕΙΩΝΣκοτάδιΔημιουργία αντιγράφων ασφαλείας βάσης δεδομένωνΗ δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων έγινε την ημερομηνίαΈγινε η δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων.Το αντίγραφο ασφαλείας της βάσης δεδομένων αποκαταστάθηκε με επιτυχία.ΠροκαθορισμένοΠροκαθορισμένο:ΔιαγράφωΑποεπιλογήΠαράβλεψη αυτής της ειδοποίησης.ΠροσφέρωΛήψη αρχείων καταγραφήςΛήψη αρχείωνΑντιγράψτε ή κλωνοποιήστε έναν φάκελο ή ένα αρχείοΕπεξεργασία αρχείων καταγραφήςΕπεξεργαστείτε ένα αρχείοΕνεργοποίηση αποστολής αρχείων στη βιβλιοθήκη πολυμέσων;Ενεργοποίηση του Κάδου απορριμμάτων;Σφάλμα: Δεν είναι δυνατή η επαναφορά του αντιγράφου ασφαλείας επειδή το αντίγραφο ασφαλείας της βάσης δεδομένων είναι μεγάλο σε μέγεθος. Προσπαθήστε να αυξήσετε το Μέγιστο επιτρεπόμενο μέγεθος από τις ρυθμίσεις Προτιμήσεων.Υπάρχοντα αντίγραφα ασφαλείαςΕξαγωγή αρχείου ή συμπιεσμένου αρχείουΔιαχείριση αρχείων - Σύντομος κώδικαςΔιαχείριση αρχείων - Ιδιότητες συστήματοςΔιαδρομή ρίζας Διαχείριση αρχείων, μπορείτε να αλλάξετε ανάλογα με την επιλογή σας.Ο Διαχειριστής αρχείων έχει έναν επεξεργαστή κώδικα με πολλά θέματα. Μπορείτε να επιλέξετε οποιοδήποτε θέμα για τον επεξεργαστή κωδικών. Εμφανίζεται όταν επεξεργάζεστε οποιοδήποτε αρχείο. Επίσης, μπορείτε να επιτρέψετε τη λειτουργία πλήρους οθόνης του επεξεργαστή κώδικα.Λίστα λειτουργιών αρχείων:Το αρχείο δεν υπάρχει για λήψη.Δημιουργία αντιγράφων ασφαλείας αρχείωνΓκρίΒοήθειαΕδώ "test" είναι το όνομα του φακέλου που βρίσκεται στον ριζικό κατάλογο ή μπορείτε να δώσετε διαδρομή για υποφακέλους όπως "wp-content/plugins". Εάν αφήσετε κενό ή κενό, θα έχει πρόσβαση σε όλους τους φακέλους στον ριζικό κατάλογο. Προεπιλογή: Κατάλογος ρίζαςΕδώ ο διαχειριστής μπορεί να δώσει πρόσβαση στους ρόλους των χρηστών για να χρησιμοποιήσει το filemanager. Ο διαχειριστής μπορεί να ορίσει τον προεπιλεγμένο φάκελο πρόσβασης και επίσης να ελέγξει το μέγεθος φόρτωσης του filemanager.Πληροφορίες αρχείουΜη έγκυρος κωδικός ασφαλείας.Θα επιτρέψει σε όλους τους ρόλους να έχουν πρόσβαση στον διαχειριστή αρχείων στη διεπαφή ή Μπορείτε να χρησιμοποιήσετε απλά για συγκεκριμένους ρόλους χρήστη, όπως allow_roles="editor,author" (διαχωρίζονται με κόμμα(,))Θα κλειδώσει που αναφέρεται στα κόμματα. μπορείτε να κλειδώσετε περισσότερα όπως ".php,.css,.js" κ.λπ. Προεπιλογή: NullΘα εμφανίσει τη διαχείριση αρχείων στο μπροστινό μέρος. Αλλά μόνο ο Διαχειριστής μπορεί να έχει πρόσβαση σε αυτό και θα το ελέγξει από τις ρυθμίσεις διαχείρισης αρχείων.Θα εμφανίσει τη διαχείριση αρχείων στο μπροστινό μέρος. Μπορείτε να ελέγξετε όλες τις ρυθμίσεις από τις ρυθμίσεις διαχείρισης αρχείων. Θα λειτουργεί όπως το backend WP File Manager.Τελευταίο μήνυμα καταγραφήςΦωςκούτσουραΔημιουργία καταλόγου ή φακέλουΔημιουργία αρχείουΜέγιστο επιτρεπόμενο μέγεθος τη στιγμή της επαναφοράς του αντιγράφου ασφαλείας της βάσης δεδομένων.Μέγιστο μέγεθος μεταφόρτωσης αρχείου (upload_max_filesize)Όριο μνήμης (memory_limit))Λείπει το αναγνωριστικό αντιγράφου ασφαλείας.Λείπει ο τύπος παραμέτρου.Λείπουν οι απαιτούμενες παράμετροι.Οχι ευχαριστώΚανένα μήνυμα καταγραφήςΔεν βρέθηκαν αρχεία καταγραφής!Σημείωση:Σημείωση: Αυτά είναι στιγμιότυπα οθόνης επίδειξης. Αγοράστε τις λειτουργίες File Manager pro to Logs.Σημείωση: Πρόκειται μόνο για ένα στιγμιότυπο οθόνης. Για να λάβετε ρυθμίσεις, παρακαλώ αγοράστε την επαγγελματική μας έκδοση.Δεν έχει επιλεγεί τίποτα για δημιουργία αντιγράφων ασφαλείαςΔεν έχει επιλεγεί τίποτα για δημιουργία αντιγράφων ασφαλείας.ΕντάξειΕντάξειΆλλοι (Οποιοι άλλοι κατάλογοι βρίσκονται μέσα στο wp-content)Άλλα αντίγραφα ασφαλείας ολοκληρώθηκε την ημερομηνίαΗ δημιουργία αντιγράφων ασφαλείας άλλων ολοκληρώθηκε.Άλλα αντίγραφα ασφαλείας απέτυχε.Τα άλλα αντίγραφα ασφαλείας αποκαταστάθηκαν με επιτυχία.Έκδοση PHPΠαράμετροι:Επικολλήστε ένα αρχείο ή φάκελοΕισαγάγετε τη διεύθυνση email.Παρακαλώ εισάγετε Όνομα.Παρακαλώ εισάγετε Επώνυμο.Αλλάξτε αυτό προσεκτικά, η λανθασμένη διαδρομή μπορεί να οδηγήσει στην κατάρριψη της προσθήκης διαχείρισης αρχείων.Αυξήστε την τιμή του πεδίου εάν λαμβάνετε μήνυμα σφάλματος τη στιγμή της επαναφοράς αντιγράφων ασφαλείας.ΠρόσθεταΗ δημιουργία αντιγράφων ασφαλείας των προσθηκών έγινε την ημερομηνίαΈγινε η δημιουργία αντιγράφων ασφαλείας των προσθηκών.Η δημιουργία αντιγράφων ασφαλείας προσθηκών απέτυχε.Το αντίγραφο ασφαλείας των προσθηκών αποκαταστάθηκε με επιτυχία.Δημοσίευση μέγιστου μεγέθους μεταφόρτωσης αρχείου (post_max_size)ΠροτιμήσειςΠολιτική ΑπορρήτουPublic Root PathΕΠΑΝΑΦΟΡΑ ΑΡΧΕΙΩΝΑφαιρέστε ή διαγράψτε αρχεία και φακέλουςΜετονομάστε ένα αρχείο ή φάκελοΕπαναφέρωΗ επαναφορά εκτελείται, περιμένετεΕΠΙΤΥΧΙΑΑποθήκευσε τις αλλαγέςΟικονομία...Ψάξε πράγματαΘέμα ασφαλείας.Επιλογή όλωνΕπιλέξτε αντίγραφα ασφαλείας για διαγραφή!ΡυθμίσειςΡυθμίσεις - Επεξεργαστής κώδικαΡυθμίσεις - ΓενικάΡυθμίσεις - Περιορισμοί χρήστηΡυθμίσεις - Περιορισμοί ρόλων χρήστηΟι ρυθμίσεις αποθηκεύτηκαν.Σύντομος κώδικας - PROΑπλή αποκοπή ενός αρχείου ή φακέλουΙδιότητες συστήματοςΌροι χρήσηςΤο αντίγραφο ασφαλείας προφανώς πέτυχε και έχει πλέον ολοκληρωθεί.ΘέματαΗ δημιουργία αντιγράφων ασφαλείας θεμάτων έγινε την ημερομηνίαΗ δημιουργία αντιγράφων ασφαλείας θεμάτων ολοκληρώθηκε.Η δημιουργία αντιγράφων ασφαλείας θεμάτων απέτυχε.Το αντίγραφο ασφαλείας θεμάτων αποκαταστάθηκε με επιτυχία.Ώρα τώραΧρονικό όριο (max_execution_time)Για να δημιουργήσετε ένα αρχείο ή zipΣήμεραΧΡΗΣΗ:Δεν είναι δυνατή η δημιουργία αντιγράφων ασφαλείας βάσης δεδομένων.Δεν είναι δυνατή η κατάργηση του αντιγράφου ασφαλείας!Δεν είναι δυνατή η επαναφορά του αντιγράφου ασφαλείας DB.Δεν είναι δυνατή η επαναφορά άλλων.Δεν είναι δυνατή η επαναφορά των προσθηκών.Δεν είναι δυνατή η επαναφορά θεμάτων.Δεν είναι δυνατή η επαναφορά μεταφορτώσεων.Μεταφόρτωση αρχείων καταγραφήςΜεταφόρτωση αρχείωνΜεταφορτώσειςΗ μεταφόρτωση αντιγράφων ασφαλείας έγινε την ημερομηνίαΟλοκληρώθηκε η μεταφόρτωση αντιγράφων ασφαλείας.Η δημιουργία αντιγράφων ασφαλείας μεταφορτώσεων απέτυχε.Το αντίγραφο ασφαλείας των μεταφορτώσεων αποκαταστάθηκε με επιτυχία.ΕπαληθεύωΠροβολή αρχείου καταγραφήςΔιαχείριση αρχείων WPΔιαχείριση αρχείων WP - Δημιουργία αντιγράφων ασφαλείας/ΕπαναφοράΣυνεισφορά διαχειριστή αρχείων WPΜας αρέσει να κάνουμε νέους φίλους! Εγγραφείτε παρακάτω και υποσχόμαστε να σας κρατάμε ενήμερους για τις τελευταίες μας νέες προσθήκες, ενημερώσεις, εκπληκτικές προσφορές και μερικές ειδικές προσφορές.Καλώς ορίσατε στη Διαχείριση αρχείωνΔεν έχετε κάνει καμία αλλαγή για αποθήκευση.για πρόσβαση σε δικαιώματα ανάγνωσης αρχείων, σημείωση: true/false, default: trueγια πρόσβαση σε δικαιώματα εγγραφής αρχείων, σημειώστε: true/false, default: falseθα κρυφτεί που αναφέρεται εδώ. Σημείωση: χωρίζεται με κόμμα(,). Προεπιλογή: Μηδενικόwp-file-manager/languages/wp-file-manager-el.po000064400000101441151202472330015376 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 16:49+0530\n" "PO-Revision-Date: 2022-03-03 11:32+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Το αντίγραφο ασφαλείας θεμάτων αποκαταστάθηκε με επιτυχία." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Δεν είναι δυνατή η επαναφορά θεμάτων." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Το αντίγραφο ασφαλείας των μεταφορτώσεων αποκαταστάθηκε με επιτυχία." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Δεν είναι δυνατή η επαναφορά μεταφορτώσεων." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Τα άλλα αντίγραφα ασφαλείας αποκαταστάθηκαν με επιτυχία." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Δεν είναι δυνατή η επαναφορά άλλων." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Το αντίγραφο ασφαλείας των προσθηκών αποκαταστάθηκε με επιτυχία." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Δεν είναι δυνατή η επαναφορά των προσθηκών." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Το αντίγραφο ασφαλείας της βάσης δεδομένων αποκαταστάθηκε με επιτυχία." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Ολα τελείωσαν" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Δεν είναι δυνατή η επαναφορά του αντιγράφου ασφαλείας DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Τα αντίγραφα ασφαλείας καταργήθηκαν με επιτυχία!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Δεν είναι δυνατή η κατάργηση του αντιγράφου ασφαλείας!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "" "Η δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων έγινε την ημερομηνία" #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Η δημιουργία αντιγράφων ασφαλείας των προσθηκών έγινε την ημερομηνία" #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Η δημιουργία αντιγράφων ασφαλείας θεμάτων έγινε την ημερομηνία" #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Η μεταφόρτωση αντιγράφων ασφαλείας έγινε την ημερομηνία" #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Άλλα αντίγραφα ασφαλείας ολοκληρώθηκε την ημερομηνία" #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "κούτσουρα" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Δεν βρέθηκαν αρχεία καταγραφής!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Δεν έχει επιλεγεί τίποτα για δημιουργία αντιγράφων ασφαλείας" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Θέμα ασφαλείας." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Έγινε η δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Δεν είναι δυνατή η δημιουργία αντιγράφων ασφαλείας βάσης δεδομένων." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Έγινε η δημιουργία αντιγράφων ασφαλείας των προσθηκών." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Η δημιουργία αντιγράφων ασφαλείας προσθηκών απέτυχε." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Η δημιουργία αντιγράφων ασφαλείας θεμάτων ολοκληρώθηκε." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Η δημιουργία αντιγράφων ασφαλείας θεμάτων απέτυχε." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Ολοκληρώθηκε η μεταφόρτωση αντιγράφων ασφαλείας." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Η δημιουργία αντιγράφων ασφαλείας μεταφορτώσεων απέτυχε." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Η δημιουργία αντιγράφων ασφαλείας άλλων ολοκληρώθηκε." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Άλλα αντίγραφα ασφαλείας απέτυχε." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Διαχείριση αρχείων WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Ρυθμίσεις" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Προτιμήσεις" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Ιδιότητες συστήματος" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Σύντομος κώδικας - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Δημιουργία αντιγράφων ασφαλείας/Επαναφορά" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Αγοράστε Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Προσφέρω" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Το αρχείο δεν υπάρχει για λήψη." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Μη έγκυρος κωδικός ασφαλείας." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Λείπει το αναγνωριστικό αντιγράφου ασφαλείας." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Λείπει ο τύπος παραμέτρου." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Λείπουν οι απαιτούμενες παράμετροι." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Σφάλμα: Δεν είναι δυνατή η επαναφορά του αντιγράφου ασφαλείας επειδή το " "αντίγραφο ασφαλείας της βάσης δεδομένων είναι μεγάλο σε μέγεθος. Προσπαθήστε " "να αυξήσετε το Μέγιστο επιτρεπόμενο μέγεθος από τις ρυθμίσεις Προτιμήσεων." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Επιλέξτε αντίγραφα ασφαλείας για διαγραφή!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε επιλεγμένα αντίγραφα ασφαλείας;" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Η δημιουργία αντιγράφων ασφαλείας εκτελείται, περιμένετε" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Η επαναφορά εκτελείται, περιμένετε" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Δεν έχει επιλεγεί τίποτα για δημιουργία αντιγράφων ασφαλείας." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Διαχείριση αρχείων WP - Δημιουργία αντιγράφων ασφαλείας/Επαναφορά" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Επιλογές δημιουργίας αντιγράφων ασφαλείας:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Δημιουργία αντιγράφων ασφαλείας βάσης δεδομένων" #: inc/backup.php:64 msgid "Files Backup" msgstr "Δημιουργία αντιγράφων ασφαλείας αρχείων" #: inc/backup.php:68 msgid "Plugins" msgstr "Πρόσθετα" #: inc/backup.php:71 msgid "Themes" msgstr "Θέματα" #: inc/backup.php:74 msgid "Uploads" msgstr "Μεταφορτώσεις" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Άλλοι (Οποιοι άλλοι κατάλογοι βρίσκονται μέσα στο wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Δημιουργία αντιγράφων ασφαλείας τώρα" #: inc/backup.php:89 msgid "Time now" msgstr "Ώρα τώρα" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ΕΠΙΤΥΧΙΑ" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Το αντίγραφο ασφαλείας διαγράφηκε με επιτυχία." #: inc/backup.php:102 msgid "Ok" msgstr "Εντάξει" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ΔΙΑΓΡΑΦΗ ΑΡΧΕΙΩΝ" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το αντίγραφο ασφαλείας;" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Ματαίωση" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Επιβεβαιώνω" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ΕΠΑΝΑΦΟΡΑ ΑΡΧΕΙΩΝ" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Είστε βέβαιοι ότι θέλετε να επαναφέρετε αυτό το αντίγραφο ασφαλείας;" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Τελευταίο μήνυμα καταγραφής" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Το αντίγραφο ασφαλείας προφανώς πέτυχε και έχει πλέον ολοκληρωθεί." #: inc/backup.php:171 msgid "No log message" msgstr "Κανένα μήνυμα καταγραφής" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Υπάρχοντα αντίγραφα ασφαλείας" #: inc/backup.php:184 msgid "Backup Date" msgstr "Ημερομηνία δημιουργίας αντιγράφων ασφαλείας" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Δημιουργία αντιγράφων ασφαλείας δεδομένων (κάντε κλικ για λήψη)" #: inc/backup.php:190 msgid "Action" msgstr "Action" #: inc/backup.php:210 msgid "Today" msgstr "Σήμερα" #: inc/backup.php:239 msgid "Restore" msgstr "Επαναφέρω" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Διαγράφω" #: inc/backup.php:241 msgid "View Log" msgstr "Προβολή αρχείου καταγραφής" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Αυτήν τη στιγμή δεν βρέθηκαν αντίγραφα ασφαλείας." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Ενέργειες σε επιλεγμένα αντίγραφα ασφαλείας" #: inc/backup.php:251 msgid "Select All" msgstr "Επιλογή όλων" #: inc/backup.php:252 msgid "Deselect" msgstr "Αποεπιλογή" #: inc/backup.php:254 msgid "Note:" msgstr "Σημείωση:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Τα αρχεία αντιγράφων ασφαλείας θα βρίσκονται κάτω" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Συνεισφορά διαχειριστή αρχείων WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Σημείωση: Αυτά είναι στιγμιότυπα οθόνης επίδειξης. Αγοράστε τις λειτουργίες " "File Manager pro to Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Κάντε κλικ για να αγοράσετε PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Αγοράστε PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Επεξεργασία αρχείων καταγραφής" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Λήψη αρχείων καταγραφής" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Μεταφόρτωση αρχείων καταγραφής" #: inc/root.php:43 msgid "Settings saved." msgstr "Οι ρυθμίσεις αποθηκεύτηκαν." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Παράβλεψη αυτής της ειδοποίησης." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Δεν έχετε κάνει καμία αλλαγή για αποθήκευση." #: inc/root.php:55 msgid "Public Root Path" msgstr "Public Root Path" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Διαδρομή ρίζας Διαχείριση αρχείων, μπορείτε να αλλάξετε ανάλογα με την " "επιλογή σας." #: inc/root.php:59 msgid "Default:" msgstr "Προκαθορισμένο:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Αλλάξτε αυτό προσεκτικά, η λανθασμένη διαδρομή μπορεί να οδηγήσει στην " "κατάρριψη της προσθήκης διαχείρισης αρχείων." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Ενεργοποίηση του Κάδου απορριμμάτων;" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Αφού ενεργοποιήσετε τον κάδο απορριμμάτων, τα αρχεία σας θα μεταβούν στον " "φάκελο απορριμμάτων." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Ενεργοποίηση αποστολής αρχείων στη βιβλιοθήκη πολυμέσων;" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Αφού την ενεργοποιήσετε όλα τα αρχεία θα μεταβούν στη βιβλιοθήκη πολυμέσων." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Μέγιστο επιτρεπόμενο μέγεθος τη στιγμή της επαναφοράς του αντιγράφου " "ασφαλείας της βάσης δεδομένων." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Αυξήστε την τιμή του πεδίου εάν λαμβάνετε μήνυμα σφάλματος τη στιγμή της " "επαναφοράς αντιγράφων ασφαλείας." #: inc/root.php:90 msgid "Save Changes" msgstr "Αποθήκευσε τις αλλαγές" #: inc/settings.php:10 msgid "Settings - General" msgstr "Ρυθμίσεις - Γενικά" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Σημείωση: Πρόκειται μόνο για ένα στιγμιότυπο οθόνης. Για να λάβετε " "ρυθμίσεις, παρακαλώ αγοράστε την επαγγελματική μας έκδοση." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Εδώ ο διαχειριστής μπορεί να δώσει πρόσβαση στους ρόλους των χρηστών για να " "χρησιμοποιήσει το filemanager. Ο διαχειριστής μπορεί να ορίσει τον " "προεπιλεγμένο φάκελο πρόσβασης και επίσης να ελέγξει το μέγεθος φόρτωσης του " "filemanager." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Ρυθμίσεις - Επεξεργαστής κώδικα" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Ο Διαχειριστής αρχείων έχει έναν επεξεργαστή κώδικα με πολλά θέματα. " "Μπορείτε να επιλέξετε οποιοδήποτε θέμα για τον επεξεργαστή κωδικών. " "Εμφανίζεται όταν επεξεργάζεστε οποιοδήποτε αρχείο. Επίσης, μπορείτε να " "επιτρέψετε τη λειτουργία πλήρους οθόνης του επεξεργαστή κώδικα." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Προβολή κώδικα επεξεργαστή" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Ρυθμίσεις - Περιορισμοί χρήστη" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Ο διαχειριστής μπορεί να περιορίσει τις ενέργειες κάποιου χρήστη. Επίσης, " "αποκρύπτει αρχεία και φακέλους και μπορεί να ορίσει διαφορετικές διαδρομές " "διαφορετικών φακέλων για διαφορετικούς χρήστες." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Ρυθμίσεις - Περιορισμοί ρόλων χρήστη" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Ο διαχειριστής μπορεί να περιορίσει τις ενέργειες οποιουδήποτε χρήστη. " "Επίσης, αποκρύπτει αρχεία και φακέλους και μπορεί να ορίσει διαφορετικές " "διαδρομές διαφορετικών φακέλων για διαφορετικούς ρόλους χρηστών." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Διαχείριση αρχείων - Σύντομος κώδικας" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "ΧΡΗΣΗ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Θα εμφανίσει τη διαχείριση αρχείων στο μπροστινό μέρος. Μπορείτε να ελέγξετε " "όλες τις ρυθμίσεις από τις ρυθμίσεις διαχείρισης αρχείων. Θα λειτουργεί όπως " "το backend WP File Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Θα εμφανίσει τη διαχείριση αρχείων στο μπροστινό μέρος. Αλλά μόνο ο " "Διαχειριστής μπορεί να έχει πρόσβαση σε αυτό και θα το ελέγξει από τις " "ρυθμίσεις διαχείρισης αρχείων." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Παράμετροι:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Θα επιτρέψει σε όλους τους ρόλους να έχουν πρόσβαση στον διαχειριστή αρχείων " "στη διεπαφή ή Μπορείτε να χρησιμοποιήσετε απλά για συγκεκριμένους ρόλους " "χρήστη, όπως allow_roles=\"editor,author\" (διαχωρίζονται με κόμμα(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Εδώ \"test\" είναι το όνομα του φακέλου που βρίσκεται στον ριζικό κατάλογο ή " "μπορείτε να δώσετε διαδρομή για υποφακέλους όπως \"wp-content/plugins\". Εάν " "αφήσετε κενό ή κενό, θα έχει πρόσβαση σε όλους τους φακέλους στον ριζικό " "κατάλογο. Προεπιλογή: Κατάλογος ρίζας" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "για πρόσβαση σε δικαιώματα εγγραφής αρχείων, σημειώστε: true/false, default: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "για πρόσβαση σε δικαιώματα ανάγνωσης αρχείων, σημείωση: true/false, default: " "true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "θα κρυφτεί που αναφέρεται εδώ. Σημείωση: χωρίζεται με κόμμα(,). Προεπιλογή: " "Μηδενικό" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Θα κλειδώσει που αναφέρεται στα κόμματα. μπορείτε να κλειδώσετε περισσότερα " "όπως \".php,.css,.js\" κ.λπ. Προεπιλογή: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* για όλες τις λειτουργίες και για να επιτρέψετε κάποια λειτουργία, μπορείτε " "να αναφέρετε το όνομα της λειτουργίας ως like, allow_operations=\"upload," "download\". Σημείωση: χωρίζεται με κόμμα(,). Προκαθορισμένο: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Λίστα λειτουργιών αρχείων:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Δημιουργία καταλόγου ή φακέλου" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Δημιουργία αρχείου" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Μετονομάστε ένα αρχείο ή φάκελο" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Αντιγράψτε ή κλωνοποιήστε έναν φάκελο ή ένα αρχείο" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Επικολλήστε ένα αρχείο ή φάκελο" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Απαγόρευση" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Για να δημιουργήσετε ένα αρχείο ή zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Εξαγωγή αρχείου ή συμπιεσμένου αρχείου" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Αντιγραφή αρχείων ή φακέλων" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Απλή αποκοπή ενός αρχείου ή φακέλου" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Επεξεργαστείτε ένα αρχείο" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Αφαιρέστε ή διαγράψτε αρχεία και φακέλους" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Λήψη αρχείων" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Μεταφόρτωση αρχείων" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Ψάξε πράγματα" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Πληροφορίες αρχείου" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Βοήθεια" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Θα απαγορεύσει συγκεκριμένους χρήστες βάζοντας απλώς τα αναγνωριστικά " "τους διαχωρισμένα με κόμμα(,). Εάν ο χρήστης είναι Ban, τότε δεν θα έχει " "πρόσβαση στον διαχειριστή αρχείων wp στο μπροστινό μέρος." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Προβολή διεπαφής χρήστη Filemager. Προεπιλογή: πλέγμα" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Τροποποίηση αρχείου ή Δημιουργία μορφής ημερομηνίας. Προεπιλογή: d M, Y h:" "i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Γλώσσα διαχείρισης αρχείων. Προεπιλογή: Αγγλικά (en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Θέμα Διαχείριση αρχείων. Προεπιλογή: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Διαχείριση αρχείων - Ιδιότητες συστήματος" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Έκδοση PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Μέγιστο μέγεθος μεταφόρτωσης αρχείου (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Δημοσίευση μέγιστου μεγέθους μεταφόρτωσης αρχείου (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Όριο μνήμης (memory_limit))" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Χρονικό όριο (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Πρόγραμμα περιήγησης και λειτουργικό σύστημα (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Αλλάξτε το θέμα εδώ:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Προκαθορισμένο" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Σκοτάδι" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Φως" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Γκρί" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Καλώς ορίσατε στη Διαχείριση αρχείων" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Μας αρέσει να κάνουμε νέους φίλους! Εγγραφείτε παρακάτω και υποσχόμαστε να " "σας κρατάμε ενήμερους για τις τελευταίες μας νέες προσθήκες, ενημερώσεις, " "εκπληκτικές προσφορές και μερικές ειδικές προσφορές." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Παρακαλώ εισάγετε Όνομα." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Παρακαλώ εισάγετε Επώνυμο." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Εισαγάγετε τη διεύθυνση email." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Επαληθεύω" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Οχι ευχαριστώ" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Όροι χρήσης" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Πολιτική Απορρήτου" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Οικονομία..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Εντάξει" #~ msgid "Manage your WP files." #~ msgstr "Διαχειριστείτε τα αρχεία WP" #~ msgid "Extensions" #~ msgstr "Επεκτάσεις" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Συμπληρώστε κάποια δωρεά, για να κάνετε το plugin πιο σταθερό. Μπορείτε " #~ "να πληρώσετε το ποσό της επιλογής σας." wp-file-manager/languages/wp-file-manager-eo.mo000064400000041671151202472330015406 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&N((0)B)4*'M*u*y**;+2+;, X,2d,7,:, - -#-$3-X-#t---- -"- ..2.9.P.e.t.}.". ...". /%-/ S/ ]/h/ o/y////+///> 0L0`00#1 61"W1Dz112 222223444]55~6!787 @7J7 i7@w7;778*8A8 ^8i888a8b9h999949&9 :%:%D: j: u::!:::f:Lb; ;%;#;(<%,<<R<<<<<+<< ="&=I=Q= d=r== ="===== >1>F>&X>>>,>>>>#?05? f?p????%??"?@":@]@x@@@@,@@#A-3AaAjAzA+A"AAB BHBPCLlC}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 15:39+0530 Last-Translator: admin Language-Team: Language: eo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * por ĉiuj operacioj kaj por permesi iun operacion vi povas mencii operacionomon kiel, allow_operations="alŝuti, elŝuti". Noto: apartigita per komo (,). Defaŭlte: *-> Ĝi malpermesos apartajn uzantojn nur metante iliajn identigilojn kun komoj (,). Se uzanto estas Ban, tiam ili ne povos aliri wp-dosieradministrilon ĉe antaŭa finaĵo.-> Temo pri Dosieradministrilo. Defaŭlta: Light-> Dosiera Modifita aŭ Kreu datformaton. Defaŭlta: d M, Y h: i A-> Dosieradministrilo Lingvo. Defaŭlta: English(en)-> Filemanager UI-Vido. Defaŭlta: gridAgoAgoj sur elektitaj sekurkopiojAdministranto povas limigi agojn de iu ajn uzanto. Ankaŭ kaŝu dosierojn kaj dosierujojn kaj povas agordi malsamajn - malsamajn dosierujojn por diversaj uzantoj.Administranto povas limigi agojn de iu ajn userrolo. Ankaŭ kaŝu dosierojn kaj dosierujojn kaj povas agordi malsamajn - malsamajn dosierujojn por malsamaj roloj de uzantoj.Post ebligi rubujon, viaj dosieroj iros al rubujo.Post tio, ĉiuj dosieroj iros al amaskomunikila biblioteko.Ĉio FaritaĈu vi certe volas forigi elektitajn sekurkopiojn?Ĉu vi certas, ke vi volas forigi ĉi tiun sekurkopion?Ĉu vi certas, ke vi volas restarigi ĉi tiun sekurkopion?Rezerva DatoRezerva NunRezerva Opcioj:Rezerva datumo (alklaku por elŝuti)Rezervaj dosieroj estos subSekurkopio funkcias, bonvolu atendiSekurkopio sukcese forigita.Rezerva/RestarigiSekurkopioj forigitaj sukcese!MalpermesoFoliumilo kaj OS (HTTP_USER_AGENT)Aĉetu PROAĉetu ProfesiulonNuligiŜanĝu Temon Ĉi tie:Klaku por Aĉeti PROKodo-redaktiloKonfirmuKopiu dosierojn aŭ dosierujojnNuntempe neniu sekurkopio trovita.DELETE FILESMalhelaDatumbaza SekurkopioDatumbaza rezervo farita ĝis nun Sekurkopio de datumbazo farita.Datumbaza rezervo sukcese restaŭris.DefaŭltaDefaŭlta:ForigiMalelektiMalakceptu ĉi tiun avizon.DoniElŝuti dosierojnElŝuti dosierojnDuplikas aŭ klonas dosierujon aŭ dosieronRedaktu dosierojnRedaktu dosieronĈu ebligi alŝutojn de dosieroj al amaskomunikila biblioteko?Ĉu ebligi rubujon?Eraro: Ne eblas restarigi sekurkopion ĉar datumbaza sekurkopio estas peza en grandeco. Bonvolu provi pliigi Maksimuman permesitan grandecon de Preferoj.Ekzistantaj SekurkopiojĈerpu arkivon aŭ zipitan dosieronDosieradministrilo - mallongkodoDosieradministrilo - Sistemaj EcojDosiera Administranto-Radika Vojo, vi povas ŝanĝi laŭ via elekto.Dosieradministrilo havas kodredaktilon kun multaj temoj. Vi povas elekti iun ajn temon por kodredaktilo. Ĝi aperos kiam vi redaktos iun ajn dosieron. Ankaŭ vi povas permesi plenekranan reĝimon de kodredaktilo.Listo de Dosieraj Operacioj:Dosiero ne ekzistas por elŝuti.Dosieroj RezervaGrizaHelpuĈi tie "testo" estas la nomo de dosierujo, kiu troviĝas en radika dosierujo, aŭ vi povas doni vojon por subdosierujoj kiel "wp-content/kromaĵoj". Se lasas malplena aŭ malplena ĝi aliros ĉiujn dosierujojn en radika dosierujo. Defaŭlte: Radika dosierujoĈi tie administranto povas doni aliron al uzantaj roloj por uzi dosieradministrilon. Administranto povas agordi Defaŭltan Aliran Dosierujon kaj ankaŭ regi alŝutajn grandecojn de dosieradministrilo.Informo pri dosieroNevalida Sekureca Kodo.Ĝi permesos al ĉiuj roloj aliri dosiermanaĝeron ĉe la frontfino aŭ Vi povas simple uzi por apartaj uzantroloj kiel kiel allow_roles="redaktoro, aŭtoro" (disigita per komo(,))Ĝi ŝlosos menciitan en komoj. vi povas ŝlosi pli kiel ".php,.css,.js" ktp. Defaŭlte: NulaĜi montros dosiermanaĝeron ĉe la antaŭa fino. Sed nur Administranto povas aliri ĝin kaj kontrolos de dosiermanaĝera agordo.Ĝi montros dosiermanaĝeron ĉe la antaŭa fino. Vi povas kontroli ĉiujn agordojn de agordoj de dosiermanaĝero. Ĝi funkcios same kiel backend WP File Manager.Lasta Ensaluta MesaĝoMalpezaRegistrojFaru dosierujon aŭ dosierujonFaru dosieronMaksimuma permesita grandeco dum datumbaza sekurkopio restarigo.Maksimuma grandeco de alŝuta dosiero (upload_max_filesize)Memora Limo (memory_limit)Mankas rezerva identigilo.Mankas parametro-tipo.Mankas bezonataj parametroj.Ne, dankonNeniu protokola mesaĝoNeniuj protokoloj trovitaj!Noto:Noto: Ĉi tiuj estas elmontraj ekrankopioj. Bonvolu aĉeti dosieradministrilon por Logs-funkcioj.Noto: Ĉi tio estas nur demo-ekrankopio. Por akiri agordojn bonvolu aĉeti nian profesian version.Nenio elektita por sekurkopioNenio elektita por sekurkopio.boneBoneAliaj (Ĉiuj aliaj adresaroj trovitaj en wp-content)Aliaj sekurkopioj plenumitaj ĝis nun Aliaj sekurkopioj farita.Aliaj sekurkopioj malsukcesis.Aliaj sekurkopioj sukcese restaŭris.PHP-versioParametroj:Algluu dosieron aŭ dosierujonBonvolu Enigi Retpoŝtan Adreson.Bonvolu Enigi Antaŭnomon.Bonvolu Enigi Familian nomon.Bonvolu ŝanĝi ĉi tion zorge, malĝusta vojo povas konduki al dosieradministrila kromaĵo malsupren.Bonvolu pliigi kampvaloron se vi ricevas erarmesaĝon dum rezerva restarigo.KromaĵojKromaĵoj-sekurkopio farita ĝis nun Sekurkopio de kromprogramoj farita.Sekurkopio de kromprogramoj malsukcesis.Kromaĵoj-rezervo sukcese restarigis.Afiŝu maksimuman dosieron alŝuti grandecon (post_max_size)PreferojPrivateca PolitikoPublika Radika VojoRESTORI DOSIEROJNForigi aŭ forigi dosierojn kaj dosierujojnRenomi dosieron aŭ dosierujonRestaŭriRestarigo funkcias, bonvolu atendiSUKCESOKonservu ŜanĝojnŜparante ...Serĉu aferojnSekureca Problemo.Elekti ĉiujnElektu sekurkopion(j)n por forigi!AgordojAgordoj - KodredaktiloAgordoj - ĜeneralajAgordoj - Uzaj LimigojAgordoj - Limigoj de Uzanto-RoloAgordoj konservitaj.mallongkodo - PROSimpla tranĉi dosieron aŭ dosierujonPropraĵoj de la sistemoTerms of ServiceLa rezervo ŝajne sukcesis kaj nun finiĝis.ThemesTemoj rezervo farita je dato Temoj rezervo farita.Sekurkopio de la temoj malsukcesis.Sekurkopioj de sekurkopioj restarigitaj sukcese.Tempo nunTempolimo (max_execution_time)Por fari arkivon aŭ poŝtonHodiaŭUZO:Ne eblas krei datumbazan sekurkopion.Ne eblas forigi sekurkopion!Ne eblas restarigi DB-sekurkopion.Ne povas restarigi aliajn.Ne eblas restarigi kromprogramojn.Ne eblas restarigi temojn.Ne eblas restarigi alŝutojn.Alŝutu dosierojnAlŝutu dosierojnAlŝutojAlŝutoj de sekurkopioj plenumitaj ĝis nun Sekurkopio de alŝutoj farita.Sekurkopio de alŝutoj malsukcesis.Alŝutoj de sekurkopioj restarigitaj sukcese.KonfirmuVidi protokolonWP-DosieradministriloWP-Dosieradministrilo - Rezerva / RestarigaKontribuo de WP-DosieradministriloNi amas fari novajn amikojn! Abonu sube kaj ni promesas tenu vin ĝisdata kun niaj plej novaj novaj aldonaĵoj, ĝisdatigoj, bonegaj ofertoj kaj kelkaj specialaj ofertoj.Bonvenon al DosieradministriloVi ne faris savindajn ŝanĝojn.por aliro al permeso legi dosierojn, notu: vera/malvera, defaŭlte: verapor aliro por skribi dosierojn permesojn, notu: vera/malvera, defaŭlte: malveraĝi kaŝos ĉi tie menciitan. Noto: apartigita per komo (,). Defaŭlte: Nulawp-file-manager/languages/wp-file-manager-eo.po000064400000064766151202472330015423 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 17:05+0530\n" "PO-Revision-Date: 2022-02-28 15:39+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Sekurkopioj de sekurkopioj restarigitaj sukcese." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Ne eblas restarigi temojn." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Alŝutoj de sekurkopioj restarigitaj sukcese." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Ne eblas restarigi alŝutojn." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Aliaj sekurkopioj sukcese restaŭris." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Ne povas restarigi aliajn." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Kromaĵoj-rezervo sukcese restarigis." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Ne eblas restarigi kromprogramojn." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Datumbaza rezervo sukcese restaŭris." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Ĉio Farita" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Ne eblas restarigi DB-sekurkopion." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Sekurkopioj forigitaj sukcese!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Ne eblas forigi sekurkopion!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Datumbaza rezervo farita ĝis nun " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Kromaĵoj-sekurkopio farita ĝis nun " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Temoj rezervo farita je dato " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Alŝutoj de sekurkopioj plenumitaj ĝis nun " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Aliaj sekurkopioj plenumitaj ĝis nun " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Registroj" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Neniuj protokoloj trovitaj!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Nenio elektita por sekurkopio" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Sekureca Problemo." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Sekurkopio de datumbazo farita." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Ne eblas krei datumbazan sekurkopion." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Sekurkopio de kromprogramoj farita." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Sekurkopio de kromprogramoj malsukcesis." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Temoj rezervo farita." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Sekurkopio de la temoj malsukcesis." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Sekurkopio de alŝutoj farita." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Sekurkopio de alŝutoj malsukcesis." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Aliaj sekurkopioj farita." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Aliaj sekurkopioj malsukcesis." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP-Dosieradministrilo" #: file_folder_manager.php:769 msgid "Settings" msgstr "Agordoj" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferoj" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Propraĵoj de la sistemo" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "mallongkodo - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Rezerva/Restarigi" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Aĉetu Profesiulon" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Doni" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Dosiero ne ekzistas por elŝuti." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Nevalida Sekureca Kodo." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Mankas rezerva identigilo." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Mankas parametro-tipo." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Mankas bezonataj parametroj." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Eraro: Ne eblas restarigi sekurkopion ĉar datumbaza sekurkopio estas peza en " "grandeco. Bonvolu provi pliigi Maksimuman permesitan grandecon de Preferoj." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Elektu sekurkopion(j)n por forigi!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Ĉu vi certe volas forigi elektitajn sekurkopiojn?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Sekurkopio funkcias, bonvolu atendi" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Restarigo funkcias, bonvolu atendi" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Nenio elektita por sekurkopio." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP-Dosieradministrilo - Rezerva / Restariga" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Rezerva Opcioj:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Datumbaza Sekurkopio" #: inc/backup.php:64 msgid "Files Backup" msgstr "Dosieroj Rezerva" #: inc/backup.php:68 msgid "Plugins" msgstr "Kromaĵoj" #: inc/backup.php:71 msgid "Themes" msgstr "Themes" #: inc/backup.php:74 msgid "Uploads" msgstr "Alŝutoj" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Aliaj (Ĉiuj aliaj adresaroj trovitaj en wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Rezerva Nun" #: inc/backup.php:89 msgid "Time now" msgstr "Tempo nun" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUKCESO" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Sekurkopio sukcese forigita." #: inc/backup.php:102 msgid "Ok" msgstr "Bone" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "DELETE FILES" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Ĉu vi certas, ke vi volas forigi ĉi tiun sekurkopion?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Nuligi" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Konfirmu" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RESTORI DOSIEROJN" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Ĉu vi certas, ke vi volas restarigi ĉi tiun sekurkopion?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Lasta Ensaluta Mesaĝo" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "La rezervo ŝajne sukcesis kaj nun finiĝis." #: inc/backup.php:171 msgid "No log message" msgstr "Neniu protokola mesaĝo" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Ekzistantaj Sekurkopioj" #: inc/backup.php:184 msgid "Backup Date" msgstr "Rezerva Dato" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Rezerva datumo (alklaku por elŝuti)" #: inc/backup.php:190 msgid "Action" msgstr "Ago" #: inc/backup.php:210 msgid "Today" msgstr "Hodiaŭ" #: inc/backup.php:239 msgid "Restore" msgstr "Restaŭri" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Forigi" #: inc/backup.php:241 msgid "View Log" msgstr "Vidi protokolon" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Nuntempe neniu sekurkopio trovita." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Agoj sur elektitaj sekurkopioj" #: inc/backup.php:251 msgid "Select All" msgstr "Elekti ĉiujn" #: inc/backup.php:252 msgid "Deselect" msgstr "Malelekti" #: inc/backup.php:254 msgid "Note:" msgstr "Noto:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Rezervaj dosieroj estos sub" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Kontribuo de WP-Dosieradministrilo" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Noto: Ĉi tiuj estas elmontraj ekrankopioj. Bonvolu aĉeti dosieradministrilon " "por Logs-funkcioj." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klaku por Aĉeti PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Aĉetu PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Redaktu dosierojn" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Elŝuti dosierojn" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Alŝutu dosierojn" #: inc/root.php:43 msgid "Settings saved." msgstr "Agordoj konservitaj." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Malakceptu ĉi tiun avizon." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Vi ne faris savindajn ŝanĝojn." #: inc/root.php:55 msgid "Public Root Path" msgstr "Publika Radika Vojo" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Dosiera Administranto-Radika Vojo, vi povas ŝanĝi laŭ via elekto." #: inc/root.php:59 msgid "Default:" msgstr "Defaŭlta:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Bonvolu ŝanĝi ĉi tion zorge, malĝusta vojo povas konduki al " "dosieradministrila kromaĵo malsupren." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Ĉu ebligi rubujon?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Post ebligi rubujon, viaj dosieroj iros al rubujo." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Ĉu ebligi alŝutojn de dosieroj al amaskomunikila biblioteko?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Post tio, ĉiuj dosieroj iros al amaskomunikila biblioteko." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "Maksimuma permesita grandeco dum datumbaza sekurkopio restarigo." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Bonvolu pliigi kampvaloron se vi ricevas erarmesaĝon dum rezerva restarigo." #: inc/root.php:90 msgid "Save Changes" msgstr "Konservu Ŝanĝojn" #: inc/settings.php:10 msgid "Settings - General" msgstr "Agordoj - Ĝeneralaj" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Noto: Ĉi tio estas nur demo-ekrankopio. Por akiri agordojn bonvolu aĉeti " "nian profesian version." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Ĉi tie administranto povas doni aliron al uzantaj roloj por uzi " "dosieradministrilon. Administranto povas agordi Defaŭltan Aliran Dosierujon " "kaj ankaŭ regi alŝutajn grandecojn de dosieradministrilo." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Agordoj - Kodredaktilo" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Dosieradministrilo havas kodredaktilon kun multaj temoj. Vi povas elekti iun " "ajn temon por kodredaktilo. Ĝi aperos kiam vi redaktos iun ajn dosieron. " "Ankaŭ vi povas permesi plenekranan reĝimon de kodredaktilo." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kodo-redaktilo" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Agordoj - Uzaj Limigoj" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administranto povas limigi agojn de iu ajn uzanto. Ankaŭ kaŝu dosierojn kaj " "dosierujojn kaj povas agordi malsamajn - malsamajn dosierujojn por diversaj " "uzantoj." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Agordoj - Limigoj de Uzanto-Rolo" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administranto povas limigi agojn de iu ajn userrolo. Ankaŭ kaŝu dosierojn " "kaj dosierujojn kaj povas agordi malsamajn - malsamajn dosierujojn por " "malsamaj roloj de uzantoj." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Dosieradministrilo - mallongkodo" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "UZO:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Ĝi montros dosiermanaĝeron ĉe la antaŭa fino. Vi povas kontroli ĉiujn " "agordojn de agordoj de dosiermanaĝero. Ĝi funkcios same kiel backend WP File " "Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Ĝi montros dosiermanaĝeron ĉe la antaŭa fino. Sed nur Administranto povas " "aliri ĝin kaj kontrolos de dosiermanaĝera agordo." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametroj:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Ĝi permesos al ĉiuj roloj aliri dosiermanaĝeron ĉe la frontfino aŭ Vi povas " "simple uzi por apartaj uzantroloj kiel kiel allow_roles=\"redaktoro, aŭtoro" "\" (disigita per komo(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Ĉi tie \"testo\" estas la nomo de dosierujo, kiu troviĝas en radika " "dosierujo, aŭ vi povas doni vojon por subdosierujoj kiel \"wp-content/" "kromaĵoj\". Se lasas malplena aŭ malplena ĝi aliros ĉiujn dosierujojn en " "radika dosierujo. Defaŭlte: Radika dosierujo" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "por aliro por skribi dosierojn permesojn, notu: vera/malvera, defaŭlte: " "malvera" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "por aliro al permeso legi dosierojn, notu: vera/malvera, defaŭlte: vera" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "ĝi kaŝos ĉi tie menciitan. Noto: apartigita per komo (,). Defaŭlte: Nula" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Ĝi ŝlosos menciitan en komoj. vi povas ŝlosi pli kiel \".php,.css,.js\" ktp. " "Defaŭlte: Nula" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* por ĉiuj operacioj kaj por permesi iun operacion vi povas mencii " "operacionomon kiel, allow_operations=\"alŝuti, elŝuti\". Noto: apartigita " "per komo (,). Defaŭlte: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Listo de Dosieraj Operacioj:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Faru dosierujon aŭ dosierujon" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Faru dosieron" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Renomi dosieron aŭ dosierujon" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplikas aŭ klonas dosierujon aŭ dosieron" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Algluu dosieron aŭ dosierujon" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Malpermeso" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Por fari arkivon aŭ poŝton" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Ĉerpu arkivon aŭ zipitan dosieron" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopiu dosierojn aŭ dosierujojn" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Simpla tranĉi dosieron aŭ dosierujon" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Redaktu dosieron" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Forigi aŭ forigi dosierojn kaj dosierujojn" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Elŝuti dosierojn" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Alŝutu dosierojn" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Serĉu aferojn" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informo pri dosiero" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Helpu" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Ĝi malpermesos apartajn uzantojn nur metante iliajn identigilojn kun " "komoj (,). Se uzanto estas Ban, tiam ili ne povos aliri wp-" "dosieradministrilon ĉe antaŭa finaĵo." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI-Vido. Defaŭlta: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Dosiera Modifita aŭ Kreu datformaton. Defaŭlta: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Dosieradministrilo Lingvo. Defaŭlta: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Temo pri Dosieradministrilo. Defaŭlta: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Dosieradministrilo - Sistemaj Ecoj" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP-versio" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimuma grandeco de alŝuta dosiero (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Afiŝu maksimuman dosieron alŝuti grandecon (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Memora Limo (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Tempolimo (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Foliumilo kaj OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Ŝanĝu Temon Ĉi tie:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Defaŭlta" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Malhela" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Malpeza" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Griza" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Bonvenon al Dosieradministrilo" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Ni amas fari novajn amikojn! Abonu sube kaj ni promesas\n" " tenu vin ĝisdata kun niaj plej novaj novaj aldonaĵoj, ĝisdatigoj,\n" " bonegaj ofertoj kaj kelkaj specialaj ofertoj." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Bonvolu Enigi Antaŭnomon." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Bonvolu Enigi Familian nomon." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Bonvolu Enigi Retpoŝtan Adreson." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Konfirmu" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ne, dankon" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Terms of Service" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Privateca Politiko" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Ŝparante ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "bone" #~ msgid "Backup not found!" #~ msgstr "Sekurkopio ne trovita!" #~ msgid "Backup removed successfully!" #~ msgstr "Sekurkopio forigita sukcese!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Nenio elektita por sekurkopio" #~ msgid "Security Issue." #~ msgstr "Sekureca Problemo." #~ msgid "Database backup done." #~ msgstr "" #~ "Datumbaza rezervo finiĝis." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Ne eblas krei datumbazan rezervon." #~ msgid "Plugins backup done." #~ msgstr "Rezerva kromaĵo finiĝis." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Rezerva kromaĵo malsukcesis." #~ msgid "Themes backup done." #~ msgstr "" #~ "Sekurkopio de temoj finita." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Subteno de temoj malsukcesis." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Alŝutoj de sekurkopio finitaj." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Alŝutoj de sekurkopio malsukcesis." #~ msgid "Others backup done." #~ msgstr "Aliaj rezervoj finiĝis." #~ msgid "Others backup failed." #~ msgstr "Aliaj rezervoj malsukcesis." #~ msgid "All Done" #~ msgstr "Ĉio Farita" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Administri viajn WP-dosierojn." #~ msgid "Extensions" #~ msgstr "Etendoj" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Bonvolu kontribui iun donacon, por fari plugin pli stabila. Vi povas pagi " #~ "vian elekton." wp-file-manager/languages/wp-file-manager-es_ES.mo000064400000045070151202472330015776 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Q():)L"*Ao*Z* +4+I++O,O - [-Kf-=->-/. K.W.6w.0.;.(/"D/6g/ /// ///0030 I0S02n000&08011EJ1 1 11 11111' 252R2=d2223$3)333L$4q4 m5$555556777q8*99:: :: :i;:q;!;%;;< 0<<<T<s<oy<<,k=-===A=->!<>&^>7>> >>->#?6?rK?t? 3@4@@)u@1@E@IA aAnAAA'A)A A6 B@BGB WB aBnBB7BB"BB) C55CkC~C&CCCGC/D-5D"cD*D2DD%DE,E 4E=>E-|E@EE( F!2F"TFwFFF,F$F,F1(G ZG dGqG?G.GG'H1H`!IbIRI}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 15:53+0530 Last-Translator: admin Language-Team: Language: es_ES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * para todas las operaciones y para permitir alguna operación, puede mencionar el nombre de la operación como, operaciones_permitidas="cargar, descargar". Nota: separados por comas (,). Por defecto: *-> Prohibirá a usuarios particulares simplemente poniendo sus identificaciones separadas por comas (,). Si el usuario es Ban, entonces no podrá acceder al administrador de archivos wp en el front-end.-> Tema del administrador de archivos. Predeterminado: Luz-> Archivo Modificado o Crear formato de fecha. Predeterminado: d M, Y h:i A-> Administrador de archivos Idioma. Predeterminado: inglés (en)-> Vista de interfaz de usuario del administrador de archivos. Predeterminado: cuadrículaAcciónAcciones sobre las copias de seguridad seleccionadasAdmin puede restringir las acciones de cualquier usuario. También ocultar archivos y carpetas y puede establecer diferentes rutas de carpetas diferentes para diferentes usuarios.Admin puede restringir las acciones de cualquier userrole. También ocultar archivos y carpetas y puede establecer diferentes rutas de carpetas diferentes para diferentes roles de usuarios.Después de habilitar la papelera, sus archivos irán a la carpeta de papelera.Después de habilitar esto, todos los archivos irán a la biblioteca de medios.Todo listo¿Está seguro de que desea eliminar las copias de seguridad seleccionadas?¿Está seguro de que desea eliminar esta copia de seguridad?¿Está seguro de que desea restaurar esta copia de seguridad?Fecha de copia de seguridadCopia ahoraOpciones de copia de seguridad:Copia de seguridad de datos (haga clic para descargar)Los archivos de copia de seguridad estarán bajoLa copia de seguridad se está ejecutando, por favor espereCopia de seguridad eliminada con éxito.Copia de seguridad de restauracion¡Las copias de seguridad se eliminaron correctamente!ProhibiciónNavegador y sistema operativo (HTTP_USER_AGENT)Comprar PROComprar profesionalCancelarCambiar tema aquí:Haga clic para comprar PROEditor de código VerConfirmarCopiar archivos o carpetasActualmente no se encontraron copias de seguridad.BORRAR ARCHIVOSOscuroCopia de seguridad de la base de datosCopia de seguridad de la base de datos realizada el díaCopia de seguridad de la base de datos realizada.La copia de seguridad de la base de datos se restauró correctamente.Por defectoPor defecto:BorrarDeseleccionarDescartar este aviso.DonarDescargar registros de archivosDescargar archivosDuplicar o clonar una carpeta o archivoEditar registros de archivoseditar un archivo¿Habilitar la carga de archivos en la biblioteca multimedia?¿Habilitar papelera?Error: no se puede restaurar la copia de seguridad porque la copia de seguridad de la base de datos es muy grande. Intente aumentar el Tamaño máximo permitido desde la configuración de Preferencias.Copias de seguridad existentesExtraer archivo o archivo comprimidoAdministrador de archivos - Código cortoAdministrador de archivos - Propiedades del sistemaRuta raíz del administrador de archivos, puede cambiar según su elección.Administrador de archivos tiene un editor de código con varios temas. Puede seleccionar cualquier tema para el editor de código. Se mostrará cuando edite cualquier archivo. También puede permitir el modo de pantalla completa del editor de código.Lista de operaciones de archivo:El archivo no existe para descargar.Copia de seguridad de archivosgrisAyudaAquí "prueba" es el nombre de la carpeta que se encuentra en el directorio raíz, o puede proporcionar la ruta para las subcarpetas como "wp-content/plugins". Si se deja en blanco o vacío, accederá a todas las carpetas del directorio raíz. Predeterminado: directorio raízAquí admin puede dar acceso a funciones de usuario para utilizar filemanager. Admin puede establecer la carpeta de acceso predeterminada y también controlar el tamaño de carga de filemanager.Información del archivoCódigo de seguridad invalido.Permitirá que todos los roles accedan al administrador de archivos en el front-end o puede usarlo simplemente para roles de usuario particulares como allow_roles="editor,author" (separado por coma (,))Se bloqueará mencionado entre comas. puede bloquear más como ".php, .css, .js", etc. Valor predeterminado: nuloMostrará el administrador de archivos en el front-end. Pero solo el administrador puede acceder a él y lo controlará desde la configuración del administrador de archivos.Mostrará el administrador de archivos en el front-end. Puede controlar todas las configuraciones desde la configuración del administrador de archivos. Funcionará igual que el administrador de archivos WP backend.Último mensaje de registroLigeroRegistrosCrear directorio o carpetahacer archivoTamaño máximo permitido en el momento de la restauración de la copia de seguridad de la base de datos.Tamaño máximo de carga de archivos (upload_max_filesize)Límite de memoria (memory_limit)Falta la identificación de respaldo.Falta el tipo de parámetro.Faltan parámetros requeridos.No, graciasSin mensaje de registro¡No se encontraron registros!Nota:Nota: Estas son capturas de pantalla de demostración. Compre File Manager pro para las funciones de Registros.Nota: Esta es sólo una captura de pantalla de demostración. Para obtener ajustes por favor compre nuestra versión profesional.Nada seleccionado para la copia de seguridadNada seleccionado para la copia de seguridad.OKOKOtros (Cualquier otro directorio encontrado dentro de wp-content)Otra copia de seguridad realizada en la fechaOtras copias de seguridad hechas.La copia de seguridad de otros falló.La copia de seguridad de otros se restauró con éxito.Versión de PHPParámetros:Pegar un archivo o carpetaIngrese la dirección de correo electrónico.Ingrese el nombre.Ingrese el apellido.Cambie esto con cuidado, la ruta incorrecta puede hacer que el complemento del administrador de archivos se caiga.Aumente el valor del campo si recibe un mensaje de error en el momento de la restauración de la copia de seguridad.ComplementosCopia de seguridad de complementos realizada el díaCopia de seguridad de complementos hecha.La copia de seguridad de los complementos falló.La copia de seguridad de los complementos se restauró correctamente.Publicar el tamaño máximo de la subida de archivos (tamaño_max_puesta)preferenciasPolítica de privacidadRuta raíz públicaRESTAURAR ARCHIVOSEliminar o eliminar archivos y carpetasCambiar el nombre de un archivo o carpetaRestaurarLa restauración se está ejecutando, por favor espereÉXITOGuardar cambiosAhorro...buscar cosasProblema de seguridad.Seleccionar todo¡Seleccione la(s) copia(s) de seguridad para eliminar!AjustesConfiguración - Editor de códigoAjustes - GeneralConfiguración - Restricciones de usuarioConfiguración - Restricciones de función de usuarioAjustes guardados.Código corto - PROSimplemente corte un archivo o carpetaPropiedades del sistemaTérminos de servicioLa copia de seguridad aparentemente tuvo éxito y ahora está completa.TemasCopia de seguridad de temas realizada el díaCopia de seguridad de temas hecha.La copia de seguridad de los temas falló.Copia de seguridad de temas restaurada con éxito.AhoraTiempo de espera (max_execution_time)Para hacer un archivo o zipHoy diaUTILIZAR:No se puede crear una copia de seguridad de la base de datos.¡No se puede eliminar la copia de seguridad!No se puede restaurar la copia de seguridad de la base de datos.No se pueden restaurar otros.No se pueden restaurar los complementos.No se pueden restaurar los temas.No se pueden restaurar las cargas.Subir registros de archivosSubir archivosCargasSube la copia de seguridad realizada el díaCopia de seguridad de subidas hecha.La copia de seguridad de las subidas falló.Sube la copia de seguridad restaurada con éxito.VerificarVer registroAdministrador de archivos WPAdministrador de archivos WP - Copia de seguridad/restauraciónContribución del administrador de archivos WP¡Nos encanta hacer nuevos amigos! Suscríbase a continuación y prometemos mantenerlo actualizado con nuestros últimos complementos, actualizaciones, ofertas increíbles y algunas ofertas especiales.Bienvenido al Administrador de archivosNo ha realizado ningún cambio para ser guardado.para acceder al permiso de lectura de archivos, nota: verdadero/falso, predeterminado: verdaderopara acceder a los permisos de escritura de archivos, nota: verdadero/falso, predeterminado: falsose ocultará mencionado aquí. Nota: separados por comas (,). Predeterminado: nulowp-file-manager/languages/wp-file-manager-es_ES.po000064400000062516151202472330016005 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 17:12+0530\n" "PO-Revision-Date: 2022-02-28 15:53+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Copia de seguridad de temas restaurada con éxito." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "No se pueden restaurar los temas." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Sube la copia de seguridad restaurada con éxito." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "No se pueden restaurar las cargas." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "La copia de seguridad de otros se restauró con éxito." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "No se pueden restaurar otros." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "La copia de seguridad de los complementos se restauró correctamente." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "No se pueden restaurar los complementos." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "La copia de seguridad de la base de datos se restauró correctamente." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Todo listo" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "No se puede restaurar la copia de seguridad de la base de datos." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "¡Las copias de seguridad se eliminaron correctamente!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "¡No se puede eliminar la copia de seguridad!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Copia de seguridad de la base de datos realizada el día" #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Copia de seguridad de complementos realizada el día" #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Copia de seguridad de temas realizada el día" #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Sube la copia de seguridad realizada el día" #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Otra copia de seguridad realizada en la fecha" #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Registros" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "¡No se encontraron registros!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Nada seleccionado para la copia de seguridad" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Problema de seguridad." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Copia de seguridad de la base de datos realizada." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "No se puede crear una copia de seguridad de la base de datos." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Copia de seguridad de complementos hecha." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "La copia de seguridad de los complementos falló." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Copia de seguridad de temas hecha." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "La copia de seguridad de los temas falló." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Copia de seguridad de subidas hecha." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "La copia de seguridad de las subidas falló." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Otras copias de seguridad hechas." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "La copia de seguridad de otros falló." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Administrador de archivos WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Ajustes" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "preferencias" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Propiedades del sistema" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Código corto - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Copia de seguridad de restauracion" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Comprar profesional" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Donar" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "El archivo no existe para descargar." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Código de seguridad invalido." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Falta la identificación de respaldo." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Falta el tipo de parámetro." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Faltan parámetros requeridos." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Error: no se puede restaurar la copia de seguridad porque la copia de " "seguridad de la base de datos es muy grande. Intente aumentar el Tamaño " "máximo permitido desde la configuración de Preferencias." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "¡Seleccione la(s) copia(s) de seguridad para eliminar!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "" "¿Está seguro de que desea eliminar las copias de seguridad seleccionadas?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "La copia de seguridad se está ejecutando, por favor espere" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "La restauración se está ejecutando, por favor espere" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Nada seleccionado para la copia de seguridad." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Administrador de archivos WP - Copia de seguridad/restauración" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opciones de copia de seguridad:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Copia de seguridad de la base de datos" #: inc/backup.php:64 msgid "Files Backup" msgstr "Copia de seguridad de archivos" #: inc/backup.php:68 msgid "Plugins" msgstr "Complementos" #: inc/backup.php:71 msgid "Themes" msgstr "Temas" #: inc/backup.php:74 msgid "Uploads" msgstr "Cargas" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Otros (Cualquier otro directorio encontrado dentro de wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Copia ahora" #: inc/backup.php:89 msgid "Time now" msgstr "Ahora" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ÉXITO" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Copia de seguridad eliminada con éxito." #: inc/backup.php:102 msgid "Ok" msgstr "OK" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "BORRAR ARCHIVOS" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "¿Está seguro de que desea eliminar esta copia de seguridad?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Cancelar" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Confirmar" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RESTAURAR ARCHIVOS" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "¿Está seguro de que desea restaurar esta copia de seguridad?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Último mensaje de registro" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "La copia de seguridad aparentemente tuvo éxito y ahora está completa." #: inc/backup.php:171 msgid "No log message" msgstr "Sin mensaje de registro" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Copias de seguridad existentes" #: inc/backup.php:184 msgid "Backup Date" msgstr "Fecha de copia de seguridad" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Copia de seguridad de datos (haga clic para descargar)" #: inc/backup.php:190 msgid "Action" msgstr "Acción" #: inc/backup.php:210 msgid "Today" msgstr "Hoy dia" #: inc/backup.php:239 msgid "Restore" msgstr "Restaurar" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Borrar" #: inc/backup.php:241 msgid "View Log" msgstr "Ver registro" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Actualmente no se encontraron copias de seguridad." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Acciones sobre las copias de seguridad seleccionadas" #: inc/backup.php:251 msgid "Select All" msgstr "Seleccionar todo" #: inc/backup.php:252 msgid "Deselect" msgstr "Deseleccionar" #: inc/backup.php:254 msgid "Note:" msgstr "Nota:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Los archivos de copia de seguridad estarán bajo" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Contribución del administrador de archivos WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Nota: Estas son capturas de pantalla de demostración. Compre File Manager " "pro para las funciones de Registros." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Haga clic para comprar PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Comprar PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Editar registros de archivos" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Descargar registros de archivos" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Subir registros de archivos" #: inc/root.php:43 msgid "Settings saved." msgstr "Ajustes guardados." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Descartar este aviso." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "No ha realizado ningún cambio para ser guardado." #: inc/root.php:55 msgid "Public Root Path" msgstr "Ruta raíz pública" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Ruta raíz del administrador de archivos, puede cambiar según su elección." #: inc/root.php:59 msgid "Default:" msgstr "Por defecto:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Cambie esto con cuidado, la ruta incorrecta puede hacer que el complemento " "del administrador de archivos se caiga." #: inc/root.php:64 msgid "Enable Trash?" msgstr "¿Habilitar papelera?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Después de habilitar la papelera, sus archivos irán a la carpeta de papelera." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "¿Habilitar la carga de archivos en la biblioteca multimedia?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Después de habilitar esto, todos los archivos irán a la biblioteca de medios." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Tamaño máximo permitido en el momento de la restauración de la copia de " "seguridad de la base de datos." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Aumente el valor del campo si recibe un mensaje de error en el momento de la " "restauración de la copia de seguridad." #: inc/root.php:90 msgid "Save Changes" msgstr "Guardar cambios" #: inc/settings.php:10 msgid "Settings - General" msgstr "Ajustes - General" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Nota: Esta es sólo una captura de pantalla de demostración. Para obtener " "ajustes por favor compre nuestra versión profesional." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Aquí admin puede dar acceso a funciones de usuario para utilizar " "filemanager. Admin puede establecer la carpeta de acceso predeterminada y " "también controlar el tamaño de carga de filemanager." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Configuración - Editor de código" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Administrador de archivos tiene un editor de código con varios temas. Puede " "seleccionar cualquier tema para el editor de código. Se mostrará cuando " "edite cualquier archivo. También puede permitir el modo de pantalla completa " "del editor de código." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Editor de código Ver" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Configuración - Restricciones de usuario" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Admin puede restringir las acciones de cualquier usuario. También ocultar " "archivos y carpetas y puede establecer diferentes rutas de carpetas " "diferentes para diferentes usuarios." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Configuración - Restricciones de función de usuario" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Admin puede restringir las acciones de cualquier userrole. También ocultar " "archivos y carpetas y puede establecer diferentes rutas de carpetas " "diferentes para diferentes roles de usuarios." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Administrador de archivos - Código corto" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "UTILIZAR:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Mostrará el administrador de archivos en el front-end. Puede controlar todas " "las configuraciones desde la configuración del administrador de archivos. " "Funcionará igual que el administrador de archivos WP backend." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Mostrará el administrador de archivos en el front-end. Pero solo el " "administrador puede acceder a él y lo controlará desde la configuración del " "administrador de archivos." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parámetros:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Permitirá que todos los roles accedan al administrador de archivos en el " "front-end o puede usarlo simplemente para roles de usuario particulares como " "allow_roles=\"editor,author\" (separado por coma (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Aquí \"prueba\" es el nombre de la carpeta que se encuentra en el directorio " "raíz, o puede proporcionar la ruta para las subcarpetas como \"wp-content/" "plugins\". Si se deja en blanco o vacío, accederá a todas las carpetas del " "directorio raíz. Predeterminado: directorio raíz" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "para acceder a los permisos de escritura de archivos, nota: verdadero/falso, " "predeterminado: falso" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "para acceder al permiso de lectura de archivos, nota: verdadero/falso, " "predeterminado: verdadero" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "se ocultará mencionado aquí. Nota: separados por comas (,). Predeterminado: " "nulo" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Se bloqueará mencionado entre comas. puede bloquear más como \".php, .css, ." "js\", etc. Valor predeterminado: nulo" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* para todas las operaciones y para permitir alguna operación, puede " "mencionar el nombre de la operación como, operaciones_permitidas=\"cargar, " "descargar\". Nota: separados por comas (,). Por defecto: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lista de operaciones de archivo:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Crear directorio o carpeta" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "hacer archivo" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Cambiar el nombre de un archivo o carpeta" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplicar o clonar una carpeta o archivo" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Pegar un archivo o carpeta" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Prohibición" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Para hacer un archivo o zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extraer archivo o archivo comprimido" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Copiar archivos o carpetas" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Simplemente corte un archivo o carpeta" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "editar un archivo" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Eliminar o eliminar archivos y carpetas" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Descargar archivos" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Subir archivos" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "buscar cosas" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Información del archivo" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Ayuda" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Prohibirá a usuarios particulares simplemente poniendo sus " "identificaciones separadas por comas (,). Si el usuario es Ban, entonces no " "podrá acceder al administrador de archivos wp en el front-end." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "" "-> Vista de interfaz de usuario del administrador de archivos. " "Predeterminado: cuadrícula" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Archivo Modificado o Crear formato de fecha. Predeterminado: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Administrador de archivos Idioma. Predeterminado: inglés (en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema del administrador de archivos. Predeterminado: Luz" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Administrador de archivos - Propiedades del sistema" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Versión de PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Tamaño máximo de carga de archivos (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Publicar el tamaño máximo de la subida de archivos (tamaño_max_puesta)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Límite de memoria (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Tiempo de espera (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Navegador y sistema operativo (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Cambiar tema aquí:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Por defecto" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Oscuro" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Ligero" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "gris" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Bienvenido al Administrador de archivos" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "¡Nos encanta hacer nuevos amigos! Suscríbase a continuación y prometemos " "mantenerlo actualizado con nuestros últimos complementos, actualizaciones, " "ofertas increíbles y algunas ofertas especiales." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Ingrese el nombre." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Ingrese el apellido." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Ingrese la dirección de correo electrónico." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verificar" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "No, gracias" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Términos de servicio" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Política de privacidad" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Ahorro..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Manage your WP files." #~ msgstr "Administre sus archivos WP." #~ msgid "Extensions" #~ msgstr "Extensiones" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Por favor contribuya con alguna donación, para que el plugin sea más " #~ "estable. Usted puede pagar la cantidad de su elección." wp-file-manager/languages/wp-file-manager-et.mo000064400000041602151202472330015405 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&g()')F),&*6S**$**P+>+;<, x,4,1,7,$- 9-F-'Y-- ----.1.K.T.].f.y.. .!...//,/I/+h/ / ///////-0A0[00m000K1&d1#1"191 22"233!3%34 444^5{6671787>7V7A_7=7778*8 J8T8f8w8Q8[8!-9"O9r9w97|9(99 9': A: N:[: t:::M:K;g;+x; ;#;2;A< ^<i<}<<0<<<!<==/= @=L= [=#f====="==>#!>E>Z>6l>>)>>!>?4?=?[?x? ~?#???? @$@>@^@|@@$@%@(@&A ;A GARA)aAAAWB(uBKBNBH9C}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 15:55+0530 Last-Translator: admin Language-Team: Language: et MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . X-Poedit-SearchPath-1: . * kõigi toimingute jaoks ja mõne toimingu lubamiseks võite mainida toimingu nime nagu, enabled_operations="upload,download". Märkus: eraldatud komaga (,). Vaikimisi: *-> See keelab konkreetsed kasutajad, pannes nende ID-d komadega eraldatuks (,). Kui kasutaja on keelatud, ei pääse see kasutajaliideses juurde wp-failihaldurile.-> Failihalduri teema. Vaikimisi: Light-> Faili muudetud või Loo kuupäeva vorming. Vaikimisi: d M, Y h: i A-> Failihalduri keel. Vaikimisi: English(en)-> Filemanageri kasutajaliidese vaade. Vaikimisi: gridTegevusToimingud valitud varukoopia (te) gaAdministraator saab piirata mis tahes kasutaja toiminguid. Peida ka failid ja kaustad ning saab määrata erinevatele kasutajatele erinevaid kaustateid.Administraator saab piirata mis tahes kasutajarollide toiminguid. Peida ka failid ja kaustad ning saab määrata erinevate kasutajate rollide jaoks erinevaid kaustade teid.Pärast prügikasti lubamist lähevad teie failid prügikasti.Pärast selle lubamist lähevad kõik failid meediumiteeki.Kõik tehtudKas soovite kindlasti valitud varukoopiad eemaldada?Kas soovite kindlasti selle varukoopia kustutada?Kas olete kindel, et soovite selle varukoopia taastada?Varundamise kuupäevVarunda koheVarundamisvalikud:Varukoopiad (klõpsake allalaadimiseks)Varukoopiad jäävad allaVarundamine töötab, palun ootaVarundamine edukalt kustutatud.Varundamine/taastamineVarukoopiad eemaldati edukalt!KeelduBrauser ja operatsioonisüsteem (HTTP_USER_AGENT)Osta PROOsta ProTühistaMuuda teemat siin:Klõpsake PRO ostmiseksKoodiredaktori vaadeKinnitageFailide või kaustade kopeeriminePraegu ei leitud varukoopiaid.Kustuta failidTumeAndmebaasi varundamineAndmebaasi varundamine on kuupäeval tehtud Andmebaasi varundamine tehtud.Andmebaasi varukoopia taastamine õnnestus.VaikimisiVaikimisi:KustutaTühistage valikLoobu sellest teatest.AnnetaFailide logide allalaadimineFailide allalaadimineKausta või faili kopeerimine või kloonimineRedigeeri failide logisidRedigeerige failiKas lubada failide üleslaadimine meediumiteeki?Kas lubada prügikast?Viga: varukoopiat ei saa taastada, kuna andmebaasi varukoopia on mahukas. Palun proovige eelistuste seadetes suurendada maksimaalset lubatud suurust.Olemasolevad varukoopiadVäljavõte arhiivist või ZIP-failistFailihaldur PRO - Código de accesoFailihaldur - süsteemi atribuudidFailihalduri juurtee, saate muuta vastavalt oma valikule.Failihalduril on mitme teemaga koodiredaktor. Koodiredaktori jaoks saate valida mis tahes teema. See kuvatakse mis tahes faili muutmisel. Samuti saate lubada koodiredaktori täisekraanrežiimi.Failitoimingute loend:Faili pole allalaadimiseks olemas.Failide varundamineHallAbiSiin on "test" kausta nimi, mis asub juurkataloogis, või võite anda alamkaustadele tee nagu "wp-content/plugins". Kui jätate tühjaks või tühjaks, pääseb see juurde kõikidele juurkataloogi kaustadele. Vaikimisi: juurkataloogSiin saab admin lubada failihalduri kasutamiseks juurdepääsu kasutajarollidele. Administraator saab määrata vaikepöörduskataloogi ja kontrollida ka failihalduri üleslaadimise suurust.Faili teaveVale turvakood.See võimaldab kõigil rollidel pääseda juurde failihaldurile esiotsas või seda saab lihtsalt kasutada teatud kasutajarollide jaoks, näiteks lubatud_roles="editor,author" (eraldatud komaga (,))See lukustub komades mainitud. saate lukustada rohkem kui ".php,.css,.js" jne. Vaikimisi: NullEsiküljel kuvatakse failihaldur. Kuid sellele pääseb juurde ainult administraator, kes juhib failihalduri sätete kaudu.Esiküljel kuvatakse failihaldur. Saate kõiki sätteid juhtida failihalduri seadetest. See töötab samamoodi nagu taustaprogrammi WP failihaldur.Viimane logisõnumValgusLogidTee kataloog või kaustTee failMaksimaalne lubatud suurus andmebaasi varukoopia taastamise ajal.Maksimaalne faili üleslaadimise suurus (upload_max_filesize)Mälupiirang (memory_limit)Varunduse ID puudub.Parameetri tüüp puudub.Nõutavad parameetrid puuduvad.Ei aitähLogisõnumit polePalke ei leitud!Märge:Märkus. Need on demo ekraanipildid. Ostke funktsioonid File Manager pro to Logs.Märkus. See on lihtsalt demo ekraanipilt. Seadete saamiseks palun ostke meie pro versioon.Varundamiseks pole midagi valitudVarundamiseks pole midagi valitud.OkeiOkeiTeised (kõik muud kataloogid, mis on leitud wp-sisust)Teiste varundamine on kuupäeval tehtud Teised varukoopiad tehtud.Teiste varundamine ebaõnnestus.Teiste varukoopia taastamine õnnestus.PHP versioonParameetrid:Kleepige fail või kaustSisestage palun e-posti aadress.Palun sisestage eesnimi.Palun sisestage perekonnanimi.Muutke seda hoolikalt, vale tee võib viia failihalduri pistikprogrammi alla.Kui saate varunduse taastamise ajal veateate, suurendage välja väärtust.PistikprogrammidPluginate varundamine on kuupäeval tehtud Pluginate varundamine on tehtud.Pluginate varundamine ebaõnnestus.Pistikprogrammide varukoopia taastamine õnnestus.Postituse maksimaalne faili üleslaadimise suurus (post_max_size)EelistusedPrivaatsuspoliitikaAvalik juurteeTAASTA FILISIDFailide ja kaustade eemaldamine või kustutamineNimetage fail või kaust ümberTaastamaTaastamine töötab, palun oodakeEDUSalvesta muudatusedSalvestamine ...Otsige asjuTurvaprobleem.Vali kõikValige kustutamiseks varukoopia(d)!SeadedSeaded - koodiredaktorSeaded - üldineSeaded - kasutaja piirangudSeaded - kasutajarollide piirangudSeaded on salvestatud.Lühikood – PROLihtne faili või kausta lõikamineSüsteemi atribuudidKasutustingimusedIlmselt õnnestus varundamine ja see on nüüd valmis.ThemesTeemade varundamine on kuupäeval tehtud Teemade varundamine on tehtud.Teemade varundamine ebaõnnestus.Teemade varundamine õnnestus.Aeg koheAeg maha (max_execution_time)Arhiivi või ZIP-i loomiseksTänaKASUTAMINE:Andmebaasi varukoopiat ei saa luua.Varukoopiat ei saa eemaldada!DB varundamist ei saa taastada.Teisi ei saa taastada.Pistikprogramme ei saa taastada.Teemasid ei saa taastada.Üleslaadimisi ei saa taastada.Failide logide üleslaadimineFaile üles laadimaÜleslaadimisedÜleslaadimine on kuupäeval tehtud Üleslaadimiste varukoopia on tehtud.Varundamise üleslaadimine ebaõnnestus.Üleslaadimiste varundamine õnnestus.KontrolligeVaata logiWP-failihaldurWP-failihaldur - varundamine / taastamineWP-failihalduri kaastööMeile meeldib uusi sõpru leida! Telli allpool ja lubame hoia teid kursis meie uusimate uute pistikprogrammide, värskenduste, vinged pakkumised ja mõned eripakkumised.Tere tulemast failihaldurisseTe pole salvestamiseks muudatusi teinud.failide lugemisõiguse saamiseks märkige: tõene/väär, vaikimisi: tõenefailide kirjutamisõiguste saamiseks märkus: tõene/väär, vaikimisi: väärsee peidab siin mainitud. Märkus: eraldatud komaga (,). Vaikimisi: nullwp-file-manager/languages/wp-file-manager-et.po000064400000065016151202472330015415 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 17:28+0530\n" "PO-Revision-Date: 2022-02-28 15:55+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPath-1: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Teemade varundamine õnnestus." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Teemasid ei saa taastada." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Üleslaadimiste varundamine õnnestus." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Üleslaadimisi ei saa taastada." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Teiste varukoopia taastamine õnnestus." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Teisi ei saa taastada." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Pistikprogrammide varukoopia taastamine õnnestus." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Pistikprogramme ei saa taastada." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Andmebaasi varukoopia taastamine õnnestus." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Kõik tehtud" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "DB varundamist ei saa taastada." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Varukoopiad eemaldati edukalt!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Varukoopiat ei saa eemaldada!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Andmebaasi varundamine on kuupäeval tehtud " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Pluginate varundamine on kuupäeval tehtud " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Teemade varundamine on kuupäeval tehtud " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Üleslaadimine on kuupäeval tehtud " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Teiste varundamine on kuupäeval tehtud " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Logid" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Palke ei leitud!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Varundamiseks pole midagi valitud" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Turvaprobleem." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Andmebaasi varundamine tehtud." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Andmebaasi varukoopiat ei saa luua." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Pluginate varundamine on tehtud." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Pluginate varundamine ebaõnnestus." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Teemade varundamine on tehtud." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Teemade varundamine ebaõnnestus." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Üleslaadimiste varukoopia on tehtud." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Varundamise üleslaadimine ebaõnnestus." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Teised varukoopiad tehtud." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Teiste varundamine ebaõnnestus." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP-failihaldur" #: file_folder_manager.php:769 msgid "Settings" msgstr "Seaded" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Eelistused" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Süsteemi atribuudid" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Lühikood – PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Varundamine/taastamine" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Osta Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Anneta" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Faili pole allalaadimiseks olemas." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Vale turvakood." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Varunduse ID puudub." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parameetri tüüp puudub." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Nõutavad parameetrid puuduvad." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Viga: varukoopiat ei saa taastada, kuna andmebaasi varukoopia on mahukas. " "Palun proovige eelistuste seadetes suurendada maksimaalset lubatud suurust." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Valige kustutamiseks varukoopia(d)!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Kas soovite kindlasti valitud varukoopiad eemaldada?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Varundamine töötab, palun oota" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Taastamine töötab, palun oodake" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Varundamiseks pole midagi valitud." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP-failihaldur - varundamine / taastamine" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Varundamisvalikud:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Andmebaasi varundamine" #: inc/backup.php:64 msgid "Files Backup" msgstr "Failide varundamine" #: inc/backup.php:68 msgid "Plugins" msgstr "Pistikprogrammid" #: inc/backup.php:71 msgid "Themes" msgstr "Themes" #: inc/backup.php:74 msgid "Uploads" msgstr "Üleslaadimised" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Teised (kõik muud kataloogid, mis on leitud wp-sisust)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Varunda kohe" #: inc/backup.php:89 msgid "Time now" msgstr "Aeg kohe" #: inc/backup.php:99 msgid "SUCCESS" msgstr "EDU" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Varundamine edukalt kustutatud." #: inc/backup.php:102 msgid "Ok" msgstr "Okei" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "Kustuta failid" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Kas soovite kindlasti selle varukoopia kustutada?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Tühista" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Kinnitage" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "TAASTA FILISID" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Kas olete kindel, et soovite selle varukoopia taastada?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Viimane logisõnum" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Ilmselt õnnestus varundamine ja see on nüüd valmis." #: inc/backup.php:171 msgid "No log message" msgstr "Logisõnumit pole" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Olemasolevad varukoopiad" #: inc/backup.php:184 msgid "Backup Date" msgstr "Varundamise kuupäev" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Varukoopiad (klõpsake allalaadimiseks)" #: inc/backup.php:190 msgid "Action" msgstr "Tegevus" #: inc/backup.php:210 msgid "Today" msgstr "Täna" #: inc/backup.php:239 msgid "Restore" msgstr "Taastama" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Kustuta" #: inc/backup.php:241 msgid "View Log" msgstr "Vaata logi" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Praegu ei leitud varukoopiaid." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Toimingud valitud varukoopia (te) ga" #: inc/backup.php:251 msgid "Select All" msgstr "Vali kõik" #: inc/backup.php:252 msgid "Deselect" msgstr "Tühistage valik" #: inc/backup.php:254 msgid "Note:" msgstr "Märge:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Varukoopiad jäävad alla" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP-failihalduri kaastöö" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Märkus. Need on demo ekraanipildid. Ostke funktsioonid File Manager pro to " "Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klõpsake PRO ostmiseks" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Osta PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Redigeeri failide logisid" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Failide logide allalaadimine" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Failide logide üleslaadimine" #: inc/root.php:43 msgid "Settings saved." msgstr "Seaded on salvestatud." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Loobu sellest teatest." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Te pole salvestamiseks muudatusi teinud." #: inc/root.php:55 msgid "Public Root Path" msgstr "Avalik juurtee" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Failihalduri juurtee, saate muuta vastavalt oma valikule." #: inc/root.php:59 msgid "Default:" msgstr "Vaikimisi:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Muutke seda hoolikalt, vale tee võib viia failihalduri pistikprogrammi alla." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Kas lubada prügikast?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Pärast prügikasti lubamist lähevad teie failid prügikasti." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Kas lubada failide üleslaadimine meediumiteeki?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Pärast selle lubamist lähevad kõik failid meediumiteeki." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "Maksimaalne lubatud suurus andmebaasi varukoopia taastamise ajal." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Kui saate varunduse taastamise ajal veateate, suurendage välja väärtust." #: inc/root.php:90 msgid "Save Changes" msgstr "Salvesta muudatused" #: inc/settings.php:10 msgid "Settings - General" msgstr "Seaded - üldine" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Märkus. See on lihtsalt demo ekraanipilt. Seadete saamiseks palun ostke meie " "pro versioon." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Siin saab admin lubada failihalduri kasutamiseks juurdepääsu " "kasutajarollidele. Administraator saab määrata vaikepöörduskataloogi ja " "kontrollida ka failihalduri üleslaadimise suurust." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Seaded - koodiredaktor" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Failihalduril on mitme teemaga koodiredaktor. Koodiredaktori jaoks saate " "valida mis tahes teema. See kuvatakse mis tahes faili muutmisel. Samuti " "saate lubada koodiredaktori täisekraanrežiimi." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Koodiredaktori vaade" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Seaded - kasutaja piirangud" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administraator saab piirata mis tahes kasutaja toiminguid. Peida ka failid " "ja kaustad ning saab määrata erinevatele kasutajatele erinevaid kaustateid." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Seaded - kasutajarollide piirangud" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administraator saab piirata mis tahes kasutajarollide toiminguid. Peida ka " "failid ja kaustad ning saab määrata erinevate kasutajate rollide jaoks " "erinevaid kaustade teid." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Failihaldur PRO - Código de acceso" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "KASUTAMINE:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Esiküljel kuvatakse failihaldur. Saate kõiki sätteid juhtida failihalduri " "seadetest. See töötab samamoodi nagu taustaprogrammi WP failihaldur." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Esiküljel kuvatakse failihaldur. Kuid sellele pääseb juurde ainult " "administraator, kes juhib failihalduri sätete kaudu." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parameetrid:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "See võimaldab kõigil rollidel pääseda juurde failihaldurile esiotsas või " "seda saab lihtsalt kasutada teatud kasutajarollide jaoks, näiteks " "lubatud_roles=\"editor,author\" (eraldatud komaga (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Siin on \"test\" kausta nimi, mis asub juurkataloogis, või võite anda " "alamkaustadele tee nagu \"wp-content/plugins\". Kui jätate tühjaks või " "tühjaks, pääseb see juurde kõikidele juurkataloogi kaustadele. Vaikimisi: " "juurkataloog" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "failide kirjutamisõiguste saamiseks märkus: tõene/väär, vaikimisi: väär" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "failide lugemisõiguse saamiseks märkige: tõene/väär, vaikimisi: tõene" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "see peidab siin mainitud. Märkus: eraldatud komaga (,). Vaikimisi: null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "See lukustub komades mainitud. saate lukustada rohkem kui \".php,.css,.js\" " "jne. Vaikimisi: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* kõigi toimingute jaoks ja mõne toimingu lubamiseks võite mainida toimingu " "nime nagu, enabled_operations=\"upload,download\". Märkus: eraldatud komaga " "(,). Vaikimisi: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Failitoimingute loend:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Tee kataloog või kaust" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Tee fail" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Nimetage fail või kaust ümber" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Kausta või faili kopeerimine või kloonimine" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Kleepige fail või kaust" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Keeldu" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Arhiivi või ZIP-i loomiseks" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Väljavõte arhiivist või ZIP-failist" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Failide või kaustade kopeerimine" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Lihtne faili või kausta lõikamine" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Redigeerige faili" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Failide ja kaustade eemaldamine või kustutamine" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Failide allalaadimine" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Faile üles laadima" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Otsige asju" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Faili teave" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Abi" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> See keelab konkreetsed kasutajad, pannes nende ID-d komadega eraldatuks " "(,). Kui kasutaja on keelatud, ei pääse see kasutajaliideses juurde wp-" "failihaldurile." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanageri kasutajaliidese vaade. Vaikimisi: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Faili muudetud või Loo kuupäeva vorming. Vaikimisi: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Failihalduri keel. Vaikimisi: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Failihalduri teema. Vaikimisi: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Failihaldur - süsteemi atribuudid" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP versioon" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimaalne faili üleslaadimise suurus (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Postituse maksimaalne faili üleslaadimise suurus (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Mälupiirang (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Aeg maha (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Brauser ja operatsioonisüsteem (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Muuda teemat siin:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Vaikimisi" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Tume" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Valgus" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Hall" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Tere tulemast failihaldurisse" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Meile meeldib uusi sõpru leida! Telli allpool ja lubame\n" " hoia teid kursis meie uusimate uute pistikprogrammide, värskenduste,\n" " vinged pakkumised ja mõned eripakkumised." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Palun sisestage eesnimi." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Palun sisestage perekonnanimi." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Sisestage palun e-posti aadress." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Kontrollige" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ei aitäh" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Kasutustingimused" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Privaatsuspoliitika" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Salvestamine ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Okei" #~ msgid "Backup not found!" #~ msgstr "Varukoopiat ei leitud!" #~ msgid "Backup removed successfully!" #~ msgstr "Varukoopia eemaldamine õnnestus!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Varundamiseks pole midagi valitud" #~ msgid "Security Issue." #~ msgstr "Turvaprobleem." #~ msgid "Database backup done." #~ msgstr "" #~ "Andmebaasi varundamine on tehtud." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Andmebaasi varukoopiat ei saa luua." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Pistikprogrammide varundamine on " #~ "tehtud." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Pistikprogrammide varundamine nurjus." #~ msgid "Themes backup done." #~ msgstr "" #~ "Teemade varundamine on tehtud." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Teemade varundamine ebaõnnestus." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Üleslaadimine on varundatud." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Üleslaadimise varundamine ebaõnnestus." #~ msgid "Others backup done." #~ msgstr "" #~ "Teised varundamine on tehtud." #~ msgid "Others backup failed." #~ msgstr "Teiste varundamine nurjus." #~ msgid "All Done" #~ msgstr "Kõik valmis" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "WP-failide haldamine." #~ msgid "Extensions" #~ msgstr "Laiendused" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Palun anna mõned annetused, et muuta plugin stabiilsemaks. Saate maksta " #~ "teie valitud summa." wp-file-manager/languages/wp-file-manager-eu.mo000064400000043144151202472330015411 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&N()4)G)<5*(r**)**+G1,8y, ,=,4,71-i-y--+-*-*-&!.H.$`..%. . ..... / /(3/\/p/v/)/!/:/ 0 !0-0 50?0R0#W0{0.0 008011O11,2"@20c2K22 3!3344 455 6&6u6^7788 888K9;Z9999"9 ::7:R:`X:[:%;&;;b;g;Jl;&; ;(;5(< ^< k<!x<%<<<Z<bJ==*==!=5 >=V> >>>>*> ? 4?,A? n?x? ? ???? ?? @( @$I@n@@(@@@:@$A%*APAiA2AA!AAB B'B;B!UB"wBBBB BC#C0*C[C%xC0C CCC5D%;DaD#+E$OEStEOEKF}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-03 11:57+0530 Last-Translator: admin Language-Team: Language: eu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * Eragiketa guztietarako eta eragiketa batzuk ahalbidetzeko, eragiketaren izena aipa dezakezu, hala nola, allow_operations="upload,download". Oharra: komaz bereizita (,). Lehenetsia: *-> Erabiltzaile partikularrak debekatuko ditu komaz bereizitako IDak jarrita (,). Erabiltzailea Debekatuta badago, ezin izango dute frontendean wp fitxategi kudeatzailea sartu.-> Fitxategi kudeatzailearen gaia. Lehenetsia: Light-> Fitxategia aldatu edo Sortu data formatua. Lehenetsia: d M, Y h: i A-> Fitxategi kudeatzailea Hizkuntza. Lehenetsia: English(en)-> Filemanager UI View. Lehenetsia: gridEkintzaAukeratutako babeskopien gaineko ekintzakAdministratzaileak edozein erabiltzaileren ekintzak muga ditzake. Fitxategiak eta karpetak ere ezkutatu eta erabiltzaile desberdinentzako karpeten bide desberdinak ezar ditzakezu.Administratzaileak edozein erabiltzaileren ekintzak muga ditzake. Fitxategiak eta karpetak ezkutatu eta karpeta desberdinak ezar ditzakezu erabiltzaileen rol desberdinetarako.Zakarrontzia gaitu ondoren, zure fitxategiak zakarrontzira joango dira.Gaitu ondoren fitxategi guztiak mediatekara joango dira.Dena egindaZiur zaude hautatutako segurtasun kopiak kendu nahi dituzula?Ziur zaude segurtasun kopia hau ezabatu nahi duzula?Ziur zaude segurtasun kopia hau leheneratu nahi duzula?Babeskopia-dataBabeskopia orainBabeskopien aukerak:Babeskopia datuak (egin klik deskargatzeko)Babeskopien fitxategiak azpian egongo diraBabeskopiak martxan daude, itxaron mesedezBabeskopiak behar bezala ezabatu dira.Babeskopia/BerreskuratuBabeskopiak behar bezala kendu dira!DebekuArakatzailea eta OS (HTTP_USER_AGENT)Erosi PROErosi ProUtziHemen aldatu gaia:Egin klik PRO erostekoKode editorea IkusiBerretsiKopiatu fitxategiak edo karpetakUne honetan ez da babeskopiarik aurkitu.EZABATU FITXATEGIAKIlunaDatu basearen babeskopiaDatu-basearen babeskopia egunean egin da Datu-basearen babeskopia egin da.Datu basearen segurtasun kopia behar bezala berrezarri da.LehenetsiaLehenetsia:EzabatuDesautatuBaztertu ohar hau.EmanDeskargatu fitxategien erregistroakDeskargatu fitxategiakKarpeta edo fitxategi bat bikoiztu edo klonatuEditatu fitxategien erregistroakEditatu fitxategi batMultimedia liburutegian fitxategiak kargatu nahi dituzu?Zaborrontzia gaitu nahi duzu?Errorea: Ezin da babeskopia berrezarri datu-basearen babeskopia tamaina handikoa delako. Mesedez, saiatu Hobespenen ezarpenetatik onartutako Gehienezko tamaina handitzen.Dauden segurtasun kopiakAtera artxiboa edo konprimitutako fitxategiaFitxategi kudeatzailea - ShortcodeFitxategi kudeatzailea - Sistemaren propietateakFitxategi kudeatzailearen erro bidea, zure aukeraren arabera alda dezakezu.Fitxategi kudeatzaileak kode editorea du gai anitzekin. Kode editorerako edozein gai hauta dezakezu. Edozein fitxategi editatzen duzunean bistaratuko da. Kode editorearen pantaila osoko modua ere baimendu dezakezu.Fitxategien eragiketen zerrenda:Ez dago fitxategia deskargatzeko.Fitxategien babeskopiagrisaLaguntzaHemen "test" erroko direktorioan dagoen karpetaren izena da, edo azpikarpeten bidea eman dezakezu "wp-content/plugins" bezala. Hutsik edo hutsik uzten baduzu, erroko direktorioko karpeta guztietara sartuko da. Lehenetsia: Erro direktorioaHemen administratzaileak erabiltzaileen roletarako sarbidea eman dezake filemanager erabiltzeko. Administratzaileak sarbide-karpeta lehenetsia ezar dezake eta fitxategi-kudeatzailearen igoeraren tamaina ere kontrola dezake.Fitxategiaren informazioaSegurtasun kodea baliogabea.Rol guztiei fitxategi-kudeatzailea atzitzeko aukera emango die frontend-ean edo erabiltzaile-rol jakin batzuetarako erabil dezakezu, hala nola, allow_roles="editor,author" (komaz bereizita (,))Koma artean aipatutako blokeatuko da. ".php,.css,.js" eta abar bezalako gehiago blokeatu ditzakezu. Lehenetsia: nuluaFitxategi-kudeatzailea frontend-ean erakutsiko du. Baina Administratzaileak bakarrik atzi dezake eta fitxategi-kudeatzailearen ezarpenetatik kontrolatuko du.Fitxategi-kudeatzailea frontend-ean erakutsiko du. Fitxategi-kudeatzailearen ezarpenetatik ezarpen guztiak kontrola ditzakezu. Backend WP Fitxategi-kudeatzaileak bezala funtzionatuko du.Azken erregistro mezuaArgiaErregistroakEgin direktorioa edo karpetaEgin fitxategiaOnartutako gehienezko tamaina datu-basearen babeskopia leheneratzeko unean.Gehienezko fitxategi kargaren tamaina (upload_max_filesize)Memoriaren muga (memory_limit)Babeskopiaren IDa falta da.Parametro mota falta da.Beharrezko parametroak falta dira.Ez eskerrik askoEz dago egunkari mezurikEz da egunkaririk aurkitu!Ohar:Oharra: Demo pantaila-argazkiak dira. Mesedez, erosi File Manager pro egunkariak funtzioetarako.Oharra: hau demo pantaila-argazkia da. Ezarpenak lortzeko, mesedez erosi gure pro bertsioa.Ez da ezer hautatu babeskopia egitekoEz da ezer hautatu babeskopia egiteko.AdosAdosBeste batzuk (wp-content barruan aurkitzen diren beste edozein direktorio)Beste kopia batzuk egunean egindakoak Beste batzuen babeskopia eginda.Beste batzuen babeskopia huts egin dute.Beste segurtasun kopia batzuk ongi zaharberritu dira.PHP bertsioaParametroak:Itsatsi fitxategi edo karpeta batMesedez, idatzi helbide elektronikoa.Mesedez, jarri izena.Mesedez, idatzi abizena.Aldatu hau arretaz, bide okerrak fitxategi kudeatzailearen plugina jaistera eraman dezake.Mesedez, handitu eremuaren balioa babeskopia leheneratzeko unean errore-mezua jasotzen ari bazara.PluginakPluginen segurtasun kopia egunean egin da Pluginen babeskopia egin da.Pluginen babeskopia huts egin du.Pluginen segurtasun kopia behar bezala berrezarri da.Igotako gehienezko fitxategi kargaren tamaina (post_max_size)LehentasunakPribatutasun politikaSustraien bide publikoaFITXATEGIAK BERRESKURATUKendu edo ezabatu fitxategiak eta karpetakAldatu fitxategi edo karpeta batBerreskuratuBerreskuratzea martxan dago, itxaron mesedezARRAKASTAAldaketak gordeGordetzen ...Gauzak bilatuSegurtasun Arazoa.Hautatu guztiakHautatu ezabatzeko babeskopiak!EzarpenakEzarpenak - Kode editoreaEzarpenak - OrokorraEzarpenak - Erabiltzaileen murriztapenakEzarpenak - Erabiltzaile rolen mugakEzarpenak gorde dira.Shortcode - PROFitxategi edo karpeta bat moztu sinplekiSistemaren propietateakZerbitzu-baldintzakBadirudi babeskopiak arrakasta izan duela eta amaitu dela.GaiakGaien segurtasun kopia egunean egina Gaien babeskopia eginda.Gaien babeskopiak huts egin du.Gaien segurtasun kopia behar bezala berrezarri da.OrduaDenbora-muga (max_execution_time)Artxiboa edo zip kodea egitekoGaurERABILERA:Ezin da sortu datu-basearen babeskopia.Ezin da kendu babeskopia!Ezin da DB babeskopia leheneratu.Ezin dira beste batzuk leheneratu.Ezin dira pluginak leheneratu.Ezin dira gaiak leheneratu.Ezin dira kargak leheneratu.Kargatu fitxategiak erregistroakFitxategiak igoKargakKargatutako segurtasun kopiak egunean egin dira Kargatzen babeskopia eginda.Ezin izan dira kargatzen babeskopiak.Kargak babeskopiak behar bezala berrezarri dira.EgiaztatuIkusi erregistroaWP fitxategi kudeatzaileaWP Fitxategi Kudeatzailea - Babeskopia / BerreskuratuWP fitxategi kudeatzailearen ekarpenaLagun berriak egitea maite dugu! Harpidetu behean eta hala agintzen dugu eguneratuta mantendu zaitez gure azken plugin berriekin, eguneratzeekin, eskaintza bikainak eta eskaintza berezi batzuk.Ongi etorri fitxategi kudeatzaileraEz duzu gordetzeko aldaketarik egin.fitxategiak irakurtzeko baimena eskuratzeko, oharra: egia/gezurra, lehenetsia: egiafitxategiak idazteko baimenak sartzeko, oharra: egia/gezurra, lehenetsia: falsehemen aipatua ezkutatuko da. Oharra: komaz bereizita (,). Lehenetsia: nuluawp-file-manager/languages/wp-file-manager-eu.po000064400000066527151202472330015426 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 17:39+0530\n" "PO-Revision-Date: 2022-03-03 11:57+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Gaien segurtasun kopia behar bezala berrezarri da." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Ezin dira gaiak leheneratu." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Kargak babeskopiak behar bezala berrezarri dira." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Ezin dira kargak leheneratu." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Beste segurtasun kopia batzuk ongi zaharberritu dira." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Ezin dira beste batzuk leheneratu." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Pluginen segurtasun kopia behar bezala berrezarri da." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Ezin dira pluginak leheneratu." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Datu basearen segurtasun kopia behar bezala berrezarri da." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Dena eginda" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Ezin da DB babeskopia leheneratu." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Babeskopiak behar bezala kendu dira!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Ezin da kendu babeskopia!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Datu-basearen babeskopia egunean egin da " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Pluginen segurtasun kopia egunean egin da " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Gaien segurtasun kopia egunean egina " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Kargatutako segurtasun kopiak egunean egin dira " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Beste kopia batzuk egunean egindakoak " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Erregistroak" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Ez da egunkaririk aurkitu!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Ez da ezer hautatu babeskopia egiteko" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Segurtasun Arazoa." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Datu-basearen babeskopia egin da." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Ezin da sortu datu-basearen babeskopia." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Pluginen babeskopia egin da." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Pluginen babeskopia huts egin du." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Gaien babeskopia eginda." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Gaien babeskopiak huts egin du." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Kargatzen babeskopia eginda." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Ezin izan dira kargatzen babeskopiak." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Beste batzuen babeskopia eginda." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Beste batzuen babeskopia huts egin dute." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP fitxategi kudeatzailea" #: file_folder_manager.php:769 msgid "Settings" msgstr "Ezarpenak" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Lehentasunak" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Sistemaren propietateak" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Babeskopia/Berreskuratu" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Erosi Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Eman" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Ez dago fitxategia deskargatzeko." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Segurtasun kodea baliogabea." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Babeskopiaren IDa falta da." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parametro mota falta da." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Beharrezko parametroak falta dira." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Errorea: Ezin da babeskopia berrezarri datu-basearen babeskopia tamaina " "handikoa delako. Mesedez, saiatu Hobespenen ezarpenetatik onartutako " "Gehienezko tamaina handitzen." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Hautatu ezabatzeko babeskopiak!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Ziur zaude hautatutako segurtasun kopiak kendu nahi dituzula?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Babeskopiak martxan daude, itxaron mesedez" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Berreskuratzea martxan dago, itxaron mesedez" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Ez da ezer hautatu babeskopia egiteko." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP Fitxategi Kudeatzailea - Babeskopia / Berreskuratu" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Babeskopien aukerak:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Datu basearen babeskopia" #: inc/backup.php:64 msgid "Files Backup" msgstr "Fitxategien babeskopia" #: inc/backup.php:68 msgid "Plugins" msgstr "Pluginak" #: inc/backup.php:71 msgid "Themes" msgstr "Gaiak" #: inc/backup.php:74 msgid "Uploads" msgstr "Kargak" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "" "Beste batzuk (wp-content barruan aurkitzen diren beste edozein direktorio)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Babeskopia orain" #: inc/backup.php:89 msgid "Time now" msgstr "Ordua" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ARRAKASTA" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Babeskopiak behar bezala ezabatu dira." #: inc/backup.php:102 msgid "Ok" msgstr "Ados" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "EZABATU FITXATEGIAK" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Ziur zaude segurtasun kopia hau ezabatu nahi duzula?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Utzi" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Berretsi" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "FITXATEGIAK BERRESKURATU" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Ziur zaude segurtasun kopia hau leheneratu nahi duzula?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Azken erregistro mezua" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Badirudi babeskopiak arrakasta izan duela eta amaitu dela." #: inc/backup.php:171 msgid "No log message" msgstr "Ez dago egunkari mezurik" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Dauden segurtasun kopiak" #: inc/backup.php:184 msgid "Backup Date" msgstr "Babeskopia-data" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Babeskopia datuak (egin klik deskargatzeko)" #: inc/backup.php:190 msgid "Action" msgstr "Ekintza" #: inc/backup.php:210 msgid "Today" msgstr "Gaur" #: inc/backup.php:239 msgid "Restore" msgstr "Berreskuratu" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Ezabatu" #: inc/backup.php:241 msgid "View Log" msgstr "Ikusi erregistroa" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Une honetan ez da babeskopiarik aurkitu." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Aukeratutako babeskopien gaineko ekintzak" #: inc/backup.php:251 msgid "Select All" msgstr "Hautatu guztiak" #: inc/backup.php:252 msgid "Deselect" msgstr "Desautatu" #: inc/backup.php:254 msgid "Note:" msgstr "Ohar:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Babeskopien fitxategiak azpian egongo dira" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP fitxategi kudeatzailearen ekarpena" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Oharra: Demo pantaila-argazkiak dira. Mesedez, erosi File Manager pro " "egunkariak funtzioetarako." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Egin klik PRO erosteko" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Erosi PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Editatu fitxategien erregistroak" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Deskargatu fitxategien erregistroak" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Kargatu fitxategiak erregistroak" #: inc/root.php:43 msgid "Settings saved." msgstr "Ezarpenak gorde dira." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Baztertu ohar hau." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Ez duzu gordetzeko aldaketarik egin." #: inc/root.php:55 msgid "Public Root Path" msgstr "Sustraien bide publikoa" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Fitxategi kudeatzailearen erro bidea, zure aukeraren arabera alda dezakezu." #: inc/root.php:59 msgid "Default:" msgstr "Lehenetsia:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Aldatu hau arretaz, bide okerrak fitxategi kudeatzailearen plugina jaistera " "eraman dezake." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Zaborrontzia gaitu nahi duzu?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Zakarrontzia gaitu ondoren, zure fitxategiak zakarrontzira joango dira." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Multimedia liburutegian fitxategiak kargatu nahi dituzu?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Gaitu ondoren fitxategi guztiak mediatekara joango dira." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Onartutako gehienezko tamaina datu-basearen babeskopia leheneratzeko unean." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Mesedez, handitu eremuaren balioa babeskopia leheneratzeko unean errore-" "mezua jasotzen ari bazara." #: inc/root.php:90 msgid "Save Changes" msgstr "Aldaketak gorde" #: inc/settings.php:10 msgid "Settings - General" msgstr "Ezarpenak - Orokorra" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Oharra: hau demo pantaila-argazkia da. Ezarpenak lortzeko, mesedez erosi " "gure pro bertsioa." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Hemen administratzaileak erabiltzaileen roletarako sarbidea eman dezake " "filemanager erabiltzeko. Administratzaileak sarbide-karpeta lehenetsia ezar " "dezake eta fitxategi-kudeatzailearen igoeraren tamaina ere kontrola dezake." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Ezarpenak - Kode editorea" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Fitxategi kudeatzaileak kode editorea du gai anitzekin. Kode editorerako " "edozein gai hauta dezakezu. Edozein fitxategi editatzen duzunean bistaratuko " "da. Kode editorearen pantaila osoko modua ere baimendu dezakezu." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kode editorea Ikusi" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Ezarpenak - Erabiltzaileen murriztapenak" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administratzaileak edozein erabiltzaileren ekintzak muga ditzake. " "Fitxategiak eta karpetak ere ezkutatu eta erabiltzaile desberdinentzako " "karpeten bide desberdinak ezar ditzakezu." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Ezarpenak - Erabiltzaile rolen mugak" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administratzaileak edozein erabiltzaileren ekintzak muga ditzake. " "Fitxategiak eta karpetak ezkutatu eta karpeta desberdinak ezar ditzakezu " "erabiltzaileen rol desberdinetarako." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Fitxategi kudeatzailea - Shortcode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "ERABILERA:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Fitxategi-kudeatzailea frontend-ean erakutsiko du. Fitxategi-kudeatzailearen " "ezarpenetatik ezarpen guztiak kontrola ditzakezu. Backend WP Fitxategi-" "kudeatzaileak bezala funtzionatuko du." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Fitxategi-kudeatzailea frontend-ean erakutsiko du. Baina Administratzaileak " "bakarrik atzi dezake eta fitxategi-kudeatzailearen ezarpenetatik " "kontrolatuko du." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametroak:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Rol guztiei fitxategi-kudeatzailea atzitzeko aukera emango die frontend-ean " "edo erabiltzaile-rol jakin batzuetarako erabil dezakezu, hala nola, " "allow_roles=\"editor,author\" (komaz bereizita (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Hemen \"test\" erroko direktorioan dagoen karpetaren izena da, edo " "azpikarpeten bidea eman dezakezu \"wp-content/plugins\" bezala. Hutsik edo " "hutsik uzten baduzu, erroko direktorioko karpeta guztietara sartuko da. " "Lehenetsia: Erro direktorioa" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "fitxategiak idazteko baimenak sartzeko, oharra: egia/gezurra, lehenetsia: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "fitxategiak irakurtzeko baimena eskuratzeko, oharra: egia/gezurra, " "lehenetsia: egia" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "hemen aipatua ezkutatuko da. Oharra: komaz bereizita (,). Lehenetsia: nulua" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Koma artean aipatutako blokeatuko da. \".php,.css,.js\" eta abar bezalako " "gehiago blokeatu ditzakezu. Lehenetsia: nulua" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* Eragiketa guztietarako eta eragiketa batzuk ahalbidetzeko, eragiketaren " "izena aipa dezakezu, hala nola, allow_operations=\"upload,download\". " "Oharra: komaz bereizita (,). Lehenetsia: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Fitxategien eragiketen zerrenda:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Egin direktorioa edo karpeta" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Egin fitxategia" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Aldatu fitxategi edo karpeta bat" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Karpeta edo fitxategi bat bikoiztu edo klonatu" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Itsatsi fitxategi edo karpeta bat" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Debeku" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Artxiboa edo zip kodea egiteko" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Atera artxiboa edo konprimitutako fitxategia" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopiatu fitxategiak edo karpetak" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Fitxategi edo karpeta bat moztu sinpleki" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Editatu fitxategi bat" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Kendu edo ezabatu fitxategiak eta karpetak" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Deskargatu fitxategiak" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Fitxategiak igo" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Gauzak bilatu" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Fitxategiaren informazioa" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Laguntza" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Erabiltzaile partikularrak debekatuko ditu komaz bereizitako IDak jarrita " "(,). Erabiltzailea Debekatuta badago, ezin izango dute frontendean wp " "fitxategi kudeatzailea sartu." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI View. Lehenetsia: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Fitxategia aldatu edo Sortu data formatua. Lehenetsia: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Fitxategi kudeatzailea Hizkuntza. Lehenetsia: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Fitxategi kudeatzailearen gaia. Lehenetsia: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Fitxategi kudeatzailea - Sistemaren propietateak" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP bertsioa" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Gehienezko fitxategi kargaren tamaina (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Igotako gehienezko fitxategi kargaren tamaina (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Memoriaren muga (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Denbora-muga (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Arakatzailea eta OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Hemen aldatu gaia:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Lehenetsia" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Iluna" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Argia" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "grisa" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Ongi etorri fitxategi kudeatzailera" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Lagun berriak egitea maite dugu! Harpidetu behean eta hala agintzen dugu\n" " eguneratuta mantendu zaitez gure azken plugin berriekin, " "eguneratzeekin,\n" " eskaintza bikainak eta eskaintza berezi batzuk." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Mesedez, jarri izena." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Mesedez, idatzi abizena." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Mesedez, idatzi helbide elektronikoa." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Egiaztatu" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ez eskerrik asko" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Zerbitzu-baldintzak" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Pribatutasun politika" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Gordetzen ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Ados" #~ msgid "Backup not found!" #~ msgstr "Babeskopia ez da aurkitu!" #~ msgid "Backup removed successfully!" #~ msgstr "Babeskopia behar bezala kendu da!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "BEz da ezer hautatu babeskopia egiteko" #~ msgid "Security Issue." #~ msgstr "Segurtasun arazoa." #~ msgid "Database backup done." #~ msgstr "" #~ "Datu-basearen babeskopia egin da." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Ezin da datu basearen segurtasun kopia " #~ "sortu." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Pluginen babeskopia egin da." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Pluginen segurtasun kopiak huts egin du." #~ "" #~ msgid "Themes backup done." #~ msgstr "Gaien babeskopia egin da." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Gaien babeskopiak huts egin du." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Kargatutako kopiak egin dira." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Ezin izan da kargatzearen segurtasun " #~ "kopia egin." #~ msgid "Others backup done." #~ msgstr "" #~ "Beste kopia batzuk egin dira." #~ msgid "Others backup failed." #~ msgstr "" #~ "Beste batzuek segurtasun kopia huts egin " #~ "dute." #~ msgid "All Done" #~ msgstr "Guztia Eginda" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Kudeatu WP fitxategiak." #~ msgid "Extensions" #~ msgstr "Extensions" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Egin dohaintza batzuk, plugin gehiago egonkortu ahal izateko. Zure aukera " #~ "zenbatekoa ordaindu ahal izango duzu." wp-file-manager/languages/wp-file-manager-fa_IR.mo000064400000054240151202472330015757 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&L('])0*a*A+1Z++J++,u.q..p/i/q/"_070*0U0I;1R161&2662m252 222.2'3 B3 c35n3K33 424RJ4C4Y4 ;5I5X5_5(|55/55G6)J6(t6K6(67"28DU8#808q8a9:3;*H;s;;;:=T>(l>E>?@ABBB-BBsCCC(C.C*!D6LDDD$DDDEM(FNvFFFdFD8G0}G7GRG9HQH:dH3H&H7H2IIJRJ?JE*KTpKNKL%&LLLiL?L(LLGM LMYMsM#MMMCM N&/NVN*rN8NNN@OHO)bOlO OJP;NPLP`P8QQQ*oQ QQPQRI-R3wR@R8R=%S3cS&SSHS5T7LTDTTTTC U%OU5uU#VOVW{WX}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 18:16+0530 Last-Translator: admin Language-Team: Language: fa_IR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * برای همه عملیات و اجازه دادن به برخی از عملیات، می توانید نام عملیات را به عنوان like, allow_operations="upload,download" ذکر کنید. توجه: با کاما (،) جدا شده است. پیش فرض: *-> فقط با قرار دادن شناسه های آنها که با کاما (،) جدا شده اند، کاربران خاصی را ممنوع می کند. اگر کاربر Ban باشد، نمی‌تواند به مدیریت فایل wp در فرانت اند دسترسی پیدا کند.-> تم مدیر فایل. پیش فرض: نور-> فایل اصلاح شده یا ایجاد فرمت تاریخ. پیش‌فرض: d M، Y h:i A-> زبان مدیر فایل. پیش فرض: انگلیسی (en)-> نمای UI Filemager. پیش فرض: شبکهعملاقدامات مربوط به پشتیبان (های) انتخاب شدهمدیر می تواند اعمال هر کاربر را محدود کند. همچنین فایل ها و پوشه ها را مخفی کنید و می توانید راه های مختلف پوشه های مختلف را برای کاربران مختلف تنظیم کنید.Admin می تواند اعمال هر کاربر را محدود کند. همچنین فایل ها و پوشه ها را مخفی کنید و می توانید راه های مختلف پوشه های مختلف را برای نقش های مختلف کاربران تنظیم کنید.پس از فعال کردن سطل زباله، فایل های شما به پوشه سطل زباله می روند.پس از فعال کردن این، همه فایل‌ها به کتابخانه رسانه خواهند رفت.همه انجام شدآیا مطمئن هستید که می خواهید پشتیبان(های) انتخابی را حذف کنید؟آیا مطمئن هستید که می خواهید این نسخه پشتیبان را حذف کنید؟آیا مطمئن هستید که می خواهید این نسخه پشتیبان را بازیابی کنید؟تاریخ پشتیبان گیریهمین حالا نسخه پشتیبان تهیه کنگزینه های پشتیبان گیری:پشتیبان گیری از اطلاعات (برای دانلود کلیک کنید)فایل های پشتیبان در زیر قرار خواهند گرفتپشتیبان‌گیری در حال اجرا است، لطفاً صبر کنیدپشتیبان گیری با موفقیت حذف شد.پشتیبان گیری بازیابیپشتیبان گیری با موفقیت حذف شد!ممنوع کردنمرورگر و سیستم عامل (HTTP_USER_AGENT)خرید PROخرید حرفه ایلغو کنیدتم را در اینجا تغییر دهید:برای خرید PRO کلیک کنیدکد ویرایشگر نمایشتاییدفایل ها یا پوشه ها را کپی کنیددر حال حاضر هیچ نسخه پشتیبان (ها) یافت نشد.فایلهاروحذف کنتاریکپشتیبان گیری از پایگاه دادهپشتیبان گیری از پایگاه داده در تاریخ انجام شدپشتیبان گیری از پایگاه داده انجام شد.پشتیبان گیری از پایگاه داده با موفقیت بازیابی شد.پیش فرضپیش فرض:حذفلغو انتخاب کنیداین اطلاعیه را رد کنیداهدا کنیدلاگ فایل ها را دانلود کنیددانلود فایل هایک پوشه یا فایل را کپی یا شبیه سازی کنیدویرایش فایل‌های گزارشیک فایل را ویرایش کنیدآپلود فایل ها در کتابخانه رسانه فعال شود؟حذف‌شده‌ها فعال شود؟خطا: امکان بازیابی نسخه پشتیبان وجود ندارد زیرا نسخه پشتیبان پایگاه داده حجم بالایی دارد. لطفاً سعی کنید حداکثر اندازه مجاز را از تنظیمات برگزیده افزایش دهید.پشتیبان (های) موجودبایگانی یا فایل فشرده را استخراج کنیدمدیر فایل - کد کوتاهمدیر فایل - ویژگی های سیستممسیر ریشه فایل منیجر را می توانید بنا به انتخاب خود تغییر دهید.مدیر فایل دارای یک ویرایشگر کد با چندین تم است. شما می توانید هر تم برای ویرایشگر کد را انتخاب کنید. هنگامی که شما هر فایل را ویرایش می کنید، آن نمایش داده می شود. همچنین شما می توانید حالت تمام صفحه ویرایشگر کد را اجازه دهید.لیست عملیات فایل:فایل برای دانلود وجود ندارد.پشتیبان گیری از فایل هاخاکستریکمکدر اینجا "test" نام پوشه ای است که در دایرکتوری ریشه قرار دارد، یا می توانید مسیر را برای زیر پوشه ها مانند "wp-content/plugins" بدهید. اگر خالی یا خالی بماند، به تمام پوشه‌های دایرکتوری ریشه دسترسی خواهد داشت. پیش فرض: دایرکتوری ریشهدر اینجا مدیر می تواند دسترسی به نقش های کاربر را برای استفاده از مدیر فایل استفاده کند. Admin می تواند پوشه پیش فرض دسترسی را تنظیم کند و اندازه آپلود فایل manager را نیز کنترل کند.اطلاعات فایلکد امنیتی نامعتبر است.به همه نقش‌ها اجازه می‌دهد به مدیر فایل در قسمت جلویی دسترسی داشته باشند یا می‌توانید برای نقش‌های کاربری خاص مانند allow_roles="editor,author" به سادگی استفاده کنید (با کاما(،) جدا شده‌اند.قفل خواهد شد که در کاما ذکر شده است. شما می توانید موارد بیشتری مانند ".php,.css،.js" و غیره قفل کنید. پیش فرض: تهیاین فایل منیجر را در قسمت جلویی نمایش می دهد. اما فقط مدیر می تواند به آن دسترسی داشته باشد و از تنظیمات مدیر فایل کنترل می کند.این فایل منیجر را در قسمت جلویی نمایش می دهد. شما می توانید تمام تنظیمات را از تنظیمات مدیر فایل کنترل کنید. مانند مدیریت فایل WP باطن کار خواهد کرد.آخرین پیام ورودسبکسیاهههای مربوطدایرکتوری یا پوشه بسازیدفایل درست کنیدحداکثر اندازه مجاز در زمان بازیابی نسخه پشتیبان از پایگاه داده.حداکثر اندازه آپلود فایل (upload_max_filesize)محدودیت حافظه (memory_limit)شناسه پشتیبان موجود نیست.نوع پارامتر موجود نیست.عدم وجود پارامترهای مورد نیازنه ممنونپیامی وجود نداردهیچ گزارشی پیدا نشد!توجه داشته باشید:توجه: این ها اسکرین شات های نمایشی هستند. لطفاً توابع مدیر فایل حرفه ای را بخرید.توجه: این فقط یک عکس نسخه ی نمایشی است. برای دریافت تنظیمات لطفا نسخه حرفه ای ما را بخرید.هیچ چیزی برای پشتیبان گیری انتخاب نشده استهیچ چیزی برای پشتیبان گیری انتخاب نشده است.خوبخوبسایرین (هر دایرکتوری دیگری که در داخل wp-content یافت می شود)پشتیبان گیری دیگران در تاریخ انجام شدپشتیبان گیری بقیه انجام شدپشتیبان گیری دیگران انجام نشد.سایر نسخه های پشتیبان با موفقیت بازیابی شدند.نسخه پی اچ پیمولفه های:یک فایل یا پوشه را جایگذاری کنیدلطفا آدرس ایمیل را وارد کنیدلطفا نام را وارد کنیدلطفا نام خانوادگی را وارد کنیدلطفاً این را با دقت تغییر دهید، مسیر اشتباه می‌تواند منجر به از کار افتادن افزونه مدیر فایل شود.اگر در زمان بازیابی نسخه پشتیبان پیام خطا دریافت می کنید، لطفاً مقدار فیلد را افزایش دهید.پلاگین هاپشتیبان‌گیری از پلاگین‌ها در تاریخ انجام شدپشتیبان گیری از افزونه ها انجام شد.پشتیبان‌گیری از افزونه‌ها انجام نشد.پشتیبان‌گیری افزونه‌ها با موفقیت بازیابی شد.حداکثر اندازه بارگذاری فایل ارسال (post_max_size)اولویت هاسیاست حفظ حریم خصوصیمسیر ریشه عمومیبازیابی فایل هافایل ها و پوشه ها را حذف یا حذف کنیدتغییر نام فایل یا پوشهبازگرداندنبازیابی در حال اجرا است، لطفاً صبر کنیدموفقیتذخیره تغییراتصرفه جویی در...چیزها را جستجو کنیدمشکل امنیتی.انتخاب همهپشتیبان (های) را برای حذف انتخاب کنید!تنظیماتتنظیمات - کد ویراستارتنظیمات - عمومیتنظیمات - محدودیت کاربرتنظیمات - محدودیت های نقش کاربرتنظیمات ذخیره شد.کوتاه - PROبه سادگی یک فایل یا پوشه را برش دهیدخصوصیات سیستمشرایط استفاده از خدماتظاهراً نسخه پشتیبان با موفقیت انجام شد و اکنون کامل شده است.تم هاپشتیبان‌گیری از تم‌ها در تاریخ انجام شدپشتیبان‌گیری از تم‌ها انجام شد.پشتیبان‌گیری از طرح‌های زمینه انجام نشد.پشتیبان‌گیری از طرح‌های زمینه با موفقیت بازیابی شد.ساعت هم اکنونوقفه (max_execution_time)برای ایجاد آرشیو یا زیپامروزاستفاده کنید:ایجاد نسخه پشتیبان از پایگاه داده ممکن نیست.پشتیبان حذف نشد!امکان بازیابی نسخه پشتیبان DB وجود ندارد.قادر به بازیابی دیگران نیست.امکان بازیابی افزونه ها وجود ندارد.امکان بازیابی تم ها وجود ندارد.امکان بازیابی آپلودها وجود ندارد.گزارش فایل‌ها را آپلود کنیدفایل ها را آپلود کنیدآپلودهاآپلودهای پشتیبان در تاریخ انجام شده استپشتیبان‌گیری آپلود انجام شد.پشتیبان‌گیری آپلود انجام نشد.پشتیبان آپلودها با موفقیت بازیابی شد.تایید کنیدمشاهده گزارشWP مدیر فایل مدیریت فایل WP - پشتیبان گیری / بازیابیمشارکت مدیریت فایل WPما عاشق پیدا کردن دوستان جدید هستیم! در زیر مشترک شوید و ما قول می دهیم که شما را از آخرین افزونه های جدید، به روز رسانی ها، معاملات عالی و چند پیشنهاد ویژه به روز نگه داریم.به File Manager خوش آمدیدشما هیچ تغییری ایجاد نکرده اید تا ذخیره شود.برای دسترسی به مجوز خواندن فایل ها، توجه داشته باشید: true/false، پیش فرض: trueبرای دسترسی به مجوزهای نوشتن فایل، توجه داشته باشید: true/false، default: falseدر اینجا ذکر شده پنهان خواهد شد. توجه: با کاما (،) جدا شده است. پیش فرض: صفرwp-file-manager/languages/wp-file-manager-fa_IR.po000064400000071770151202472330015771 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 17:51+0530\n" "PO-Revision-Date: 2022-02-25 18:16+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: fa_IR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "پشتیبان‌گیری از طرح‌های زمینه با موفقیت بازیابی شد." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "امکان بازیابی تم ها وجود ندارد." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "پشتیبان آپلودها با موفقیت بازیابی شد." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "امکان بازیابی آپلودها وجود ندارد." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "سایر نسخه های پشتیبان با موفقیت بازیابی شدند." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "قادر به بازیابی دیگران نیست." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "پشتیبان‌گیری افزونه‌ها با موفقیت بازیابی شد." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "امکان بازیابی افزونه ها وجود ندارد." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "پشتیبان گیری از پایگاه داده با موفقیت بازیابی شد." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "همه انجام شد" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "امکان بازیابی نسخه پشتیبان DB وجود ندارد." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "پشتیبان گیری با موفقیت حذف شد!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "پشتیبان حذف نشد!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "پشتیبان گیری از پایگاه داده در تاریخ انجام شد" #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "پشتیبان‌گیری از پلاگین‌ها در تاریخ انجام شد" #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "پشتیبان‌گیری از تم‌ها در تاریخ انجام شد" #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "آپلودهای پشتیبان در تاریخ انجام شده است" #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "پشتیبان گیری دیگران در تاریخ انجام شد" #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "سیاهههای مربوط" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "هیچ گزارشی پیدا نشد!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "هیچ چیزی برای پشتیبان گیری انتخاب نشده است" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "مشکل امنیتی." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "پشتیبان گیری از پایگاه داده انجام شد." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "ایجاد نسخه پشتیبان از پایگاه داده ممکن نیست." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "پشتیبان گیری از افزونه ها انجام شد." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "پشتیبان‌گیری از افزونه‌ها انجام نشد." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "پشتیبان‌گیری از تم‌ها انجام شد." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "پشتیبان‌گیری از طرح‌های زمینه انجام نشد." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "پشتیبان‌گیری آپلود انجام شد." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "پشتیبان‌گیری آپلود انجام نشد." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "پشتیبان گیری بقیه انجام شد" #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "پشتیبان گیری دیگران انجام نشد." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP مدیر فایل " #: file_folder_manager.php:769 msgid "Settings" msgstr "تنظیمات" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "اولویت ها" #: file_folder_manager.php:773 msgid "System Properties" msgstr "خصوصیات سیستم" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "کوتاه - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "پشتیبان گیری بازیابی" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "خرید حرفه ای" #: file_folder_manager.php:1034 msgid "Donate" msgstr "اهدا کنید" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "فایل برای دانلود وجود ندارد." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "کد امنیتی نامعتبر است." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "شناسه پشتیبان موجود نیست." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "نوع پارامتر موجود نیست." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "عدم وجود پارامترهای مورد نیاز" #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "خطا: امکان بازیابی نسخه پشتیبان وجود ندارد زیرا نسخه پشتیبان پایگاه داده حجم " "بالایی دارد. لطفاً سعی کنید حداکثر اندازه مجاز را از تنظیمات برگزیده افزایش " "دهید." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "پشتیبان (های) را برای حذف انتخاب کنید!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "آیا مطمئن هستید که می خواهید پشتیبان(های) انتخابی را حذف کنید؟" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "پشتیبان‌گیری در حال اجرا است، لطفاً صبر کنید" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "بازیابی در حال اجرا است، لطفاً صبر کنید" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "هیچ چیزی برای پشتیبان گیری انتخاب نشده است." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "مدیریت فایل WP - پشتیبان گیری / بازیابی" #: inc/backup.php:51 msgid "Backup Options:" msgstr "گزینه های پشتیبان گیری:" #: inc/backup.php:58 msgid "Database Backup" msgstr "پشتیبان گیری از پایگاه داده" #: inc/backup.php:64 msgid "Files Backup" msgstr "پشتیبان گیری از فایل ها" #: inc/backup.php:68 msgid "Plugins" msgstr "پلاگین ها" #: inc/backup.php:71 msgid "Themes" msgstr "تم ها" #: inc/backup.php:74 msgid "Uploads" msgstr "آپلودها" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "سایرین (هر دایرکتوری دیگری که در داخل wp-content یافت می شود)" #: inc/backup.php:81 msgid "Backup Now" msgstr "همین حالا نسخه پشتیبان تهیه کن" #: inc/backup.php:89 msgid "Time now" msgstr "ساعت هم اکنون" #: inc/backup.php:99 msgid "SUCCESS" msgstr "موفقیت" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "پشتیبان گیری با موفقیت حذف شد." #: inc/backup.php:102 msgid "Ok" msgstr "خوب" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "فایلهاروحذف کن" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "آیا مطمئن هستید که می خواهید این نسخه پشتیبان را حذف کنید؟" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "لغو کنید" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "تایید" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "بازیابی فایل ها" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "آیا مطمئن هستید که می خواهید این نسخه پشتیبان را بازیابی کنید؟" #: inc/backup.php:166 msgid "Last Log Message" msgstr "آخرین پیام ورود" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "ظاهراً نسخه پشتیبان با موفقیت انجام شد و اکنون کامل شده است." #: inc/backup.php:171 msgid "No log message" msgstr "پیامی وجود ندارد" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "پشتیبان (های) موجود" #: inc/backup.php:184 msgid "Backup Date" msgstr "تاریخ پشتیبان گیری" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "پشتیبان گیری از اطلاعات (برای دانلود کلیک کنید)" #: inc/backup.php:190 msgid "Action" msgstr "عمل" #: inc/backup.php:210 msgid "Today" msgstr "امروز" #: inc/backup.php:239 msgid "Restore" msgstr "بازگرداندن" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "حذف" #: inc/backup.php:241 msgid "View Log" msgstr "مشاهده گزارش" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "در حال حاضر هیچ نسخه پشتیبان (ها) یافت نشد." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "اقدامات مربوط به پشتیبان (های) انتخاب شده" #: inc/backup.php:251 msgid "Select All" msgstr "انتخاب همه" #: inc/backup.php:252 msgid "Deselect" msgstr "لغو انتخاب کنید" #: inc/backup.php:254 msgid "Note:" msgstr "توجه داشته باشید:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "فایل های پشتیبان در زیر قرار خواهند گرفت" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "مشارکت مدیریت فایل WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "توجه: این ها اسکرین شات های نمایشی هستند. لطفاً توابع مدیر فایل حرفه ای را " "بخرید." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "برای خرید PRO کلیک کنید" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "خرید PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "ویرایش فایل‌های گزارش" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "لاگ فایل ها را دانلود کنید" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "گزارش فایل‌ها را آپلود کنید" #: inc/root.php:43 msgid "Settings saved." msgstr "تنظیمات ذخیره شد." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "این اطلاعیه را رد کنید" #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "شما هیچ تغییری ایجاد نکرده اید تا ذخیره شود." #: inc/root.php:55 msgid "Public Root Path" msgstr "مسیر ریشه عمومی" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "مسیر ریشه فایل منیجر را می توانید بنا به انتخاب خود تغییر دهید." #: inc/root.php:59 msgid "Default:" msgstr "پیش فرض:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "لطفاً این را با دقت تغییر دهید، مسیر اشتباه می‌تواند منجر به از کار افتادن " "افزونه مدیر فایل شود." #: inc/root.php:64 msgid "Enable Trash?" msgstr "حذف‌شده‌ها فعال شود؟" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "پس از فعال کردن سطل زباله، فایل های شما به پوشه سطل زباله می روند." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "آپلود فایل ها در کتابخانه رسانه فعال شود؟" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "پس از فعال کردن این، همه فایل‌ها به کتابخانه رسانه خواهند رفت." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "حداکثر اندازه مجاز در زمان بازیابی نسخه پشتیبان از پایگاه داده." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "اگر در زمان بازیابی نسخه پشتیبان پیام خطا دریافت می کنید، لطفاً مقدار فیلد را " "افزایش دهید." #: inc/root.php:90 msgid "Save Changes" msgstr "ذخیره تغییرات" #: inc/settings.php:10 msgid "Settings - General" msgstr "تنظیمات - عمومی" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "توجه: این فقط یک عکس نسخه ی نمایشی است. برای دریافت تنظیمات لطفا نسخه حرفه " "ای ما را بخرید." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "در اینجا مدیر می تواند دسترسی به نقش های کاربر را برای استفاده از مدیر فایل " "استفاده کند. Admin می تواند پوشه پیش فرض دسترسی را تنظیم کند و اندازه آپلود " "فایل manager را نیز کنترل کند." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "تنظیمات - کد ویراستار" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "مدیر فایل دارای یک ویرایشگر کد با چندین تم است. شما می توانید هر تم برای " "ویرایشگر کد را انتخاب کنید. هنگامی که شما هر فایل را ویرایش می کنید، آن " "نمایش داده می شود. همچنین شما می توانید حالت تمام صفحه ویرایشگر کد را اجازه " "دهید." #: inc/settings.php:18 msgid "Code-editor View" msgstr "کد ویرایشگر نمایش" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "تنظیمات - محدودیت کاربر" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "مدیر می تواند اعمال هر کاربر را محدود کند. همچنین فایل ها و پوشه ها را مخفی " "کنید و می توانید راه های مختلف پوشه های مختلف را برای کاربران مختلف تنظیم " "کنید." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "تنظیمات - محدودیت های نقش کاربر" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Admin می تواند اعمال هر کاربر را محدود کند. همچنین فایل ها و پوشه ها را مخفی " "کنید و می توانید راه های مختلف پوشه های مختلف را برای نقش های مختلف کاربران " "تنظیم کنید." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "مدیر فایل - کد کوتاه" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "استفاده کنید:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "این فایل منیجر را در قسمت جلویی نمایش می دهد. شما می توانید تمام تنظیمات را " "از تنظیمات مدیر فایل کنترل کنید. مانند مدیریت فایل WP باطن کار خواهد کرد." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "این فایل منیجر را در قسمت جلویی نمایش می دهد. اما فقط مدیر می تواند به آن " "دسترسی داشته باشد و از تنظیمات مدیر فایل کنترل می کند." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "مولفه های:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "به همه نقش‌ها اجازه می‌دهد به مدیر فایل در قسمت جلویی دسترسی داشته باشند یا " "می‌توانید برای نقش‌های کاربری خاص مانند allow_roles=\"editor,author\" به سادگی " "استفاده کنید (با کاما(،) جدا شده‌اند." #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "در اینجا \"test\" نام پوشه ای است که در دایرکتوری ریشه قرار دارد، یا می " "توانید مسیر را برای زیر پوشه ها مانند \"wp-content/plugins\" بدهید. اگر خالی " "یا خالی بماند، به تمام پوشه‌های دایرکتوری ریشه دسترسی خواهد داشت. پیش فرض: " "دایرکتوری ریشه" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "برای دسترسی به مجوزهای نوشتن فایل، توجه داشته باشید: true/false، default: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "برای دسترسی به مجوز خواندن فایل ها، توجه داشته باشید: true/false، پیش فرض: " "true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "در اینجا ذکر شده پنهان خواهد شد. توجه: با کاما (،) جدا شده است. پیش فرض: صفر" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "قفل خواهد شد که در کاما ذکر شده است. شما می توانید موارد بیشتری مانند \"." "php,.css،.js\" و غیره قفل کنید. پیش فرض: تهی" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* برای همه عملیات و اجازه دادن به برخی از عملیات، می توانید نام عملیات را به " "عنوان like, allow_operations=\"upload,download\" ذکر کنید. توجه: با کاما (،) " "جدا شده است. پیش فرض: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "لیست عملیات فایل:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "دایرکتوری یا پوشه بسازید" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "فایل درست کنید" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "تغییر نام فایل یا پوشه" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "یک پوشه یا فایل را کپی یا شبیه سازی کنید" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "یک فایل یا پوشه را جایگذاری کنید" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "ممنوع کردن" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "برای ایجاد آرشیو یا زیپ" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "بایگانی یا فایل فشرده را استخراج کنید" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "فایل ها یا پوشه ها را کپی کنید" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "به سادگی یک فایل یا پوشه را برش دهید" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "یک فایل را ویرایش کنید" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "فایل ها و پوشه ها را حذف یا حذف کنید" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "دانلود فایل ها" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "فایل ها را آپلود کنید" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "چیزها را جستجو کنید" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "اطلاعات فایل" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "کمک" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> فقط با قرار دادن شناسه های آنها که با کاما (،) جدا شده اند، کاربران خاصی " "را ممنوع می کند. اگر کاربر Ban باشد، نمی‌تواند به مدیریت فایل wp در فرانت اند " "دسترسی پیدا کند." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> نمای UI Filemager. پیش فرض: شبکه" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> فایل اصلاح شده یا ایجاد فرمت تاریخ. پیش‌فرض: d M، Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> زبان مدیر فایل. پیش فرض: انگلیسی (en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> تم مدیر فایل. پیش فرض: نور" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "مدیر فایل - ویژگی های سیستم" #: inc/system_properties.php:10 msgid "PHP version" msgstr "نسخه پی اچ پی" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "حداکثر اندازه آپلود فایل (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "حداکثر اندازه بارگذاری فایل ارسال (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "محدودیت حافظه (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "وقفه (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "مرورگر و سیستم عامل (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "تم را در اینجا تغییر دهید:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "پیش فرض" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "تاریک" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "سبک" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "خاکستری" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "به File Manager خوش آمدید" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "ما عاشق پیدا کردن دوستان جدید هستیم! در زیر مشترک شوید و ما قول می دهیم که " "شما را از آخرین افزونه های جدید، به روز رسانی ها، معاملات عالی و چند پیشنهاد " "ویژه به روز نگه داریم." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "لطفا نام را وارد کنید" #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "لطفا نام خانوادگی را وارد کنید" #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "لطفا آدرس ایمیل را وارد کنید" #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "تایید کنید" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "نه ممنون" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "شرایط استفاده از خدمات" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "سیاست حفظ حریم خصوصی" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "صرفه جویی در..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "خوب" #~ msgid "Manage your WP files." #~ msgstr "فایل های WP خود را مدیریت کنید." #~ msgid "Extensions" #~ msgstr "برنامه های افزودنی" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "لطفا کمی کمک مالی کنید تا پلاگین را پایدار نگه دارید. شما می توانید مقدار " #~ "انتخاب خود را پرداخت کنید." wp-file-manager/languages/wp-file-manager-fi.mo000064400000042267151202472330015403 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&N()*)J)0&*)W**%**S+K,LT,,0,0,2 -?-W-i-)--&-- . . 9.1C.u.~. .... ..,/-/>/D/&a/#/&////// 0020&C0j0090 001!11/1=2U2-3G3f3333x4X5i55dD66D77 888 28B?8-88888 9(989 M9VX9V9*:+1:]:`:9c:!::%:': '; 2;>;Y; r;;V;X; ?<'L<"t<)<'<+< =!=7=K=)]=$= ==== = = > >#/> S>]>v>">'>>>,>*? F?6T??#??%?#?@!(@#J@ n@ x@0@ @,@AA:ATAsAA A$A!A(A$B=B FBSB2kB'BBC0C@CC#DOgD}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-03 12:20+0530 Last-Translator: admin Language-Team: Language: fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * Kaikille toiminnoille ja joidenkin toimintojen sallimiseksi voit mainita toiminnon nimen muodossa, enabled_operations="upload,download". Huomautus: erotettu pilkulla (,). Oletus: *-> Se kieltää tietyt käyttäjät asettamalla tunnuksensa pilkulla (,). Jos käyttäjä on Ban, he eivät voi käyttää wp-tiedostojen hallintaa käyttöliittymässä.-> Tiedostonhallinnan teema. Oletus: Light-> Tiedosto muokattu tai Luo päivämäärä -muoto. Oletus: d M, Y h: i A-> Tiedostonhallinnan kieli. Oletus: English(en)-> Filemanager UI -näkymä. Oletus: gridToimintaToimet valitun varmuuskopion jälkeenJärjestelmänvalvoja voi rajoittaa minkä tahansa käyttäjän toimia. Piilota myös tiedostot ja kansiot ja voi asettaa erilaiset kansiopolut eri käyttäjille.Järjestelmänvalvoja voi rajoittaa minkä tahansa käyttäjän roolin toimintoja. Piilota myös tiedostot ja kansiot ja voi asettaa erilaiset kansiopolut eri käyttäjärooleille.Kun roskakori on otettu käyttöön, tiedostosi menevät roskakorikansioon.Kun tämä on otettu käyttöön, kaikki tiedostot menevät mediakirjastoon.ValmistaHaluatko varmasti poistaa valitut varmuuskopiot?Haluatko varmasti poistaa tämän varmuuskopion?Haluatko varmasti palauttaa tämän varmuuskopion?VarmuuskopiointipäiväVarmuuskopioi nytVarmuuskopiointivaihtoehdot:Varmuuskopiotiedot (lataa napsauttamalla)Varmuuskopiotiedostot ovat alleVarmuuskopiointi on käynnissä, odotaVarmuuskopiointi poistettu.VarmuuskopioVarmuuskopiot poistettu!kieltääSelain ja käyttöjärjestelmä (HTTP_USER_AGENT)Osta PROOsta ProPeruuttaaVaihda teema täällä:Napsauta ostaaksesi PROKoodieditorinäkymäVahvistaaKopioi tiedostoja tai kansioitaTällä hetkellä varmuuskopioita ei löydy.POISTA TIEDOSTOTTummaTietokannan varmuuskopiointiTietokannan varmuuskopiointi on tehty Tietokannan varmuuskopiointi tehty.Tietokannan varmuuskopiointi onnistui.OletusOletus:PoistaaPoista valintaHylkää tämä ilmoitus.LahjoittaaLataa tiedostolokitLataa tiedostojaKopioi tai kloonaa kansio tai tiedostoMuokkaa tiedostolokejaMuokkaa tiedostoaOtetaanko tiedostojen lataus mediakirjastoon käyttöön?Otetaanko roskakori käyttöön?Virhe: Varmuuskopiota ei voida palauttaa, koska tietokannan varmuuskopio on kooltaan suuri. Yritä suurentaa Suurin sallittu koko Asetukset-asetuksista.Olemassa olevat varmuuskopiotPura arkisto tai pakattu tiedostoTiedostonhallinta - Lyhytkoodi Tiedostonhallinta - Järjestelmän ominaisuudetTiedostonhallinnan juuripolku, voit muuttaa valintasi mukaan.Tiedostonhallinnassa on koodieditori, jossa on useita teemoja. Voit valita minkä tahansa teeman koodieditorille. Se näkyy, kun muokkaat mitä tahansa tiedostoa. Voit myös sallia koodieditorin koko näytön tilan.Tiedostotoimintoluettelo:Tiedostoa ei ole ladattavissa.Tiedostojen varmuuskopiointiharmaaautaTässä "testi" on sen kansion nimi, joka sijaitsee juurihakemistossa, tai voit antaa polun alikansioille kuten "wp-content/plugins". Jos jätetään tyhjäksi, se käyttää kaikkia juurihakemiston kansioita. Oletus: juurihakemistoTäällä järjestelmänvalvoja voi antaa käyttöoikeuden käyttäjärooleihin käyttääksesi tiedostojen hallintaa. Järjestelmänvalvoja voi asettaa oletuskäyttökansion ja hallita myös tiedostonhallinnan latauskokoa.Tiedoston tiedotVirheellinen turvakoodi.Se antaa kaikille rooleille pääsyn tiedostonhallintaan käyttöliittymässä tai voit käyttää vain tiettyjä käyttäjärooleja, kuten sallittu_roles="editor,author" (erottuna pilkulla(,))Se lukittuu pilkuilla mainittuna. voit lukita enemmän esimerkiksi ".php,.css,.js" jne. Oletus: NullSe näyttää tiedostonhallinnan käyttöliittymässä. Mutta vain järjestelmänvalvoja voi käyttää sitä ja hallitsee tiedostonhallinnan asetuksista.Se näyttää tiedostonhallinnan käyttöliittymässä. Voit hallita kaikkia asetuksia tiedostonhallinnan asetuksista. Se toimii samalla tavalla kuin backend WP tiedostonhallinta.Viimeinen lokiviestiKevytLokitLuo hakemisto tai kansioTee tiedostoSuurin sallittu koko tietokannan varmuuskopion palautuksen aikana.Tiedoston enimmäiskoko (upload_max_filesize)Muistiraja (memory_limit)Varmuuskopiotunnus puuttuu.Parametrityyppi puuttuu.Vaaditut parametrit puuttuvat.Ei kiitosEi lokiviestiäLokeja ei löytynyt!merkintä:Huomaa: Nämä ovat esittelykuvakaappauksia. Osta File Manager pro to Logs -toiminnot.Huomaa: Tämä on vain esittelykuvakaappaus. Saadaksesi asetukset, osta pro-versiomme.Varmuuskopiointiin ei ole valittu mitäänVarmuuskopiointiin ei ole valittu mitään.OKOkMuut (muut hakemistot, jotka löytyvät wp-sisällöstä)Toiset varmuuskopiointi on tehty Muut varmuuskopiot tehty.Muiden varmuuskopiointi epäonnistui.Toisten varmuuskopiointi on palautettu.PHP-versioParametrit:Liitä tiedosto tai kansioAnna sähköpostiosoite.Anna etunimi.Anna sukunimi.Muuta tätä varovasti, väärä polku voi johtaa tiedostojen hallinnan laajennukseen.Suurenna kentän arvoa, jos saat virheilmoituksen varmuuskopion palautuksen yhteydessä.LaajennuksetLaajennusten varmuuskopiointi on tehty Lisäosien varmuuskopiointi tehty.Lisäosien varmuuskopiointi epäonnistui.Laajennusten varmuuskopiointi onnistui.Viestin enimmäislatauskoko (post_max_size)prefrenssitTietosuojakäytäntöJulkinen juuripolkuPALAUTA TIEDOSTOTPoista tai poista tiedostoja ja kansioitaNimeä tiedosto tai kansio uudelleenPalauttaaPalautus on käynnissä, odotaMENESTYSTallenna muutoksetTallentaa...Etsi asioitaTurvallisuuskysymys.Valitse kaikkiValitse poistettavat varmuuskopiot!asetuksetAsetukset - KoodieditoriAsetukset - YleisetAsetukset - KäyttäjärajoituksetAsetukset - KäyttäjäroolirajoituksetAsetukset Tallennettu.Lyhytkoodi - PROLeikkaa tiedosto tai kansio yksinkertaisestiJärjestelmän ominaisuudetKäyttöehdotVarmuuskopiointi onnistui ilmeisesti ja on nyt valmis.TeematTeemojen varmuuskopiointi on tehty Teeman varmuuskopiointi tehty.Teeman varmuuskopiointi epäonnistui.Teemojen varmuuskopiointi onnistui.Aika NytAikakatkaisu (max_execution_time)Arkiston tai zip-tiedoston luominenTänäänKÄYTTÄÄ:Tietokannan varmuuskopion luominen epäonnistui.Varmuuskopiota ei voitu poistaa!Tietokannan varmuuskopiota ei voi palauttaa.Muita ei voi palauttaa.Laajennuksia ei voi palauttaa.Teemoja ei voi palauttaa.Lähetyksiä ei voi palauttaa.Lähetä tiedostolokitLähetä tiedostojaLatauksetLatausten varmuuskopiointi on tehty Latausten varmuuskopiointi tehty.Latausten varmuuskopiointi epäonnistui.Latausten varmuuskopiointi onnistui.VahvistaNäytä lokiWP-tiedostojen hallintaWP tiedostonhallinta - Varmuuskopiointi / palautusWP-tiedostojen hallinnan osallistuminenRakastamme uusien ystävien hankkimista! Tilaa alla ja lupaamme pitää sinut ajan tasalla uusimmista uusista laajennuksistamme, päivityksistämme, mahtavia tarjouksia ja muutama erikoistarjous.Tervetuloa TiedostonhallintaanEt ole tehnyt mitään tallennettavia muutoksia.tiedostojen lukulupaa varten huomautus: tosi/false, oletus: tositiedostojen kirjoitusoikeudet, huomautus: tosi/false, oletus: falsese piiloutuu mainittuun tänne. Huomautus: erotettu pilkulla (,). Oletus: Nollawp-file-manager/languages/wp-file-manager-fi.po000064400000065672151202472330015413 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 15:55+0530\n" "PO-Revision-Date: 2022-03-03 12:20+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Teemojen varmuuskopiointi onnistui." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Teemoja ei voi palauttaa." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Latausten varmuuskopiointi onnistui." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Lähetyksiä ei voi palauttaa." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Toisten varmuuskopiointi on palautettu." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Muita ei voi palauttaa." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Laajennusten varmuuskopiointi onnistui." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Laajennuksia ei voi palauttaa." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Tietokannan varmuuskopiointi onnistui." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Valmista" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Tietokannan varmuuskopiota ei voi palauttaa." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Varmuuskopiot poistettu!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Varmuuskopiota ei voitu poistaa!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Tietokannan varmuuskopiointi on tehty " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Laajennusten varmuuskopiointi on tehty " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Teemojen varmuuskopiointi on tehty " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Latausten varmuuskopiointi on tehty " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Toiset varmuuskopiointi on tehty " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Lokit" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Lokeja ei löytynyt!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Varmuuskopiointiin ei ole valittu mitään" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Turvallisuuskysymys." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Tietokannan varmuuskopiointi tehty." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Tietokannan varmuuskopion luominen epäonnistui." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Lisäosien varmuuskopiointi tehty." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Lisäosien varmuuskopiointi epäonnistui." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Teeman varmuuskopiointi tehty." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Teeman varmuuskopiointi epäonnistui." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Latausten varmuuskopiointi tehty." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Latausten varmuuskopiointi epäonnistui." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Muut varmuuskopiot tehty." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Muiden varmuuskopiointi epäonnistui." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP-tiedostojen hallinta" #: file_folder_manager.php:769 msgid "Settings" msgstr "asetukset" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "prefrenssit" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Järjestelmän ominaisuudet" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Lyhytkoodi - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Varmuuskopio" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Osta Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Lahjoittaa" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Tiedostoa ei ole ladattavissa." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Virheellinen turvakoodi." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Varmuuskopiotunnus puuttuu." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parametrityyppi puuttuu." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Vaaditut parametrit puuttuvat." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Virhe: Varmuuskopiota ei voida palauttaa, koska tietokannan varmuuskopio on " "kooltaan suuri. Yritä suurentaa Suurin sallittu koko Asetukset-asetuksista." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Valitse poistettavat varmuuskopiot!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Haluatko varmasti poistaa valitut varmuuskopiot?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Varmuuskopiointi on käynnissä, odota" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Palautus on käynnissä, odota" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Varmuuskopiointiin ei ole valittu mitään." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP tiedostonhallinta - Varmuuskopiointi / palautus" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Varmuuskopiointivaihtoehdot:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Tietokannan varmuuskopiointi" #: inc/backup.php:64 msgid "Files Backup" msgstr "Tiedostojen varmuuskopiointi" #: inc/backup.php:68 msgid "Plugins" msgstr "Laajennukset" #: inc/backup.php:71 msgid "Themes" msgstr "Teemat" #: inc/backup.php:74 msgid "Uploads" msgstr "Lataukset" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Muut (muut hakemistot, jotka löytyvät wp-sisällöstä)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Varmuuskopioi nyt" #: inc/backup.php:89 msgid "Time now" msgstr "Aika Nyt" #: inc/backup.php:99 msgid "SUCCESS" msgstr "MENESTYS" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Varmuuskopiointi poistettu." #: inc/backup.php:102 msgid "Ok" msgstr "Ok" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "POISTA TIEDOSTOT" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Haluatko varmasti poistaa tämän varmuuskopion?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Peruuttaa" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Vahvistaa" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "PALAUTA TIEDOSTOT" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Haluatko varmasti palauttaa tämän varmuuskopion?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Viimeinen lokiviesti" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Varmuuskopiointi onnistui ilmeisesti ja on nyt valmis." #: inc/backup.php:171 msgid "No log message" msgstr "Ei lokiviestiä" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Olemassa olevat varmuuskopiot" #: inc/backup.php:184 msgid "Backup Date" msgstr "Varmuuskopiointipäivä" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Varmuuskopiotiedot (lataa napsauttamalla)" #: inc/backup.php:190 msgid "Action" msgstr "Toiminta" #: inc/backup.php:210 msgid "Today" msgstr "Tänään" #: inc/backup.php:239 msgid "Restore" msgstr "Palauttaa" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Poistaa" #: inc/backup.php:241 msgid "View Log" msgstr "Näytä loki" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Tällä hetkellä varmuuskopioita ei löydy." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Toimet valitun varmuuskopion jälkeen" #: inc/backup.php:251 msgid "Select All" msgstr "Valitse kaikki" #: inc/backup.php:252 msgid "Deselect" msgstr "Poista valinta" #: inc/backup.php:254 msgid "Note:" msgstr "merkintä:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Varmuuskopiotiedostot ovat alle" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP-tiedostojen hallinnan osallistuminen" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Huomaa: Nämä ovat esittelykuvakaappauksia. Osta File Manager pro to Logs -" "toiminnot." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Napsauta ostaaksesi PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Osta PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Muokkaa tiedostolokeja" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Lataa tiedostolokit" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Lähetä tiedostolokit" #: inc/root.php:43 msgid "Settings saved." msgstr "Asetukset Tallennettu." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Hylkää tämä ilmoitus." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Et ole tehnyt mitään tallennettavia muutoksia." #: inc/root.php:55 msgid "Public Root Path" msgstr "Julkinen juuripolku" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Tiedostonhallinnan juuripolku, voit muuttaa valintasi mukaan." #: inc/root.php:59 msgid "Default:" msgstr "Oletus:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Muuta tätä varovasti, väärä polku voi johtaa tiedostojen hallinnan " "laajennukseen." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Otetaanko roskakori käyttöön?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Kun roskakori on otettu käyttöön, tiedostosi menevät roskakorikansioon." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Otetaanko tiedostojen lataus mediakirjastoon käyttöön?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Kun tämä on otettu käyttöön, kaikki tiedostot menevät mediakirjastoon." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "Suurin sallittu koko tietokannan varmuuskopion palautuksen aikana." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Suurenna kentän arvoa, jos saat virheilmoituksen varmuuskopion palautuksen " "yhteydessä." #: inc/root.php:90 msgid "Save Changes" msgstr "Tallenna muutokset" #: inc/settings.php:10 msgid "Settings - General" msgstr "Asetukset - Yleiset" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Huomaa: Tämä on vain esittelykuvakaappaus. Saadaksesi asetukset, osta pro-" "versiomme." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Täällä järjestelmänvalvoja voi antaa käyttöoikeuden käyttäjärooleihin " "käyttääksesi tiedostojen hallintaa. Järjestelmänvalvoja voi asettaa " "oletuskäyttökansion ja hallita myös tiedostonhallinnan latauskokoa." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Asetukset - Koodieditori" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Tiedostonhallinnassa on koodieditori, jossa on useita teemoja. Voit valita " "minkä tahansa teeman koodieditorille. Se näkyy, kun muokkaat mitä tahansa " "tiedostoa. Voit myös sallia koodieditorin koko näytön tilan." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Koodieditorinäkymä" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Asetukset - Käyttäjärajoitukset" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Järjestelmänvalvoja voi rajoittaa minkä tahansa käyttäjän toimia. Piilota " "myös tiedostot ja kansiot ja voi asettaa erilaiset kansiopolut eri " "käyttäjille." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Asetukset - Käyttäjäroolirajoitukset" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Järjestelmänvalvoja voi rajoittaa minkä tahansa käyttäjän roolin toimintoja. " "Piilota myös tiedostot ja kansiot ja voi asettaa erilaiset kansiopolut eri " "käyttäjärooleille." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Tiedostonhallinta - Lyhytkoodi " #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "KÄYTTÄÄ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Se näyttää tiedostonhallinnan käyttöliittymässä. Voit hallita kaikkia " "asetuksia tiedostonhallinnan asetuksista. Se toimii samalla tavalla kuin " "backend WP tiedostonhallinta." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Se näyttää tiedostonhallinnan käyttöliittymässä. Mutta vain " "järjestelmänvalvoja voi käyttää sitä ja hallitsee tiedostonhallinnan " "asetuksista." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametrit:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Se antaa kaikille rooleille pääsyn tiedostonhallintaan käyttöliittymässä tai " "voit käyttää vain tiettyjä käyttäjärooleja, kuten sallittu_roles=\"editor," "author\" (erottuna pilkulla(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Tässä \"testi\" on sen kansion nimi, joka sijaitsee juurihakemistossa, tai " "voit antaa polun alikansioille kuten \"wp-content/plugins\". Jos jätetään " "tyhjäksi, se käyttää kaikkia juurihakemiston kansioita. Oletus: " "juurihakemisto" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "tiedostojen kirjoitusoikeudet, huomautus: tosi/false, oletus: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "tiedostojen lukulupaa varten huomautus: tosi/false, oletus: tosi" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "se piiloutuu mainittuun tänne. Huomautus: erotettu pilkulla (,). Oletus: " "Nolla" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Se lukittuu pilkuilla mainittuna. voit lukita enemmän esimerkiksi \".php,." "css,.js\" jne. Oletus: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* Kaikille toiminnoille ja joidenkin toimintojen sallimiseksi voit mainita " "toiminnon nimen muodossa, enabled_operations=\"upload,download\". Huomautus: " "erotettu pilkulla (,). Oletus: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Tiedostotoimintoluettelo:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Luo hakemisto tai kansio" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Tee tiedosto" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Nimeä tiedosto tai kansio uudelleen" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Kopioi tai kloonaa kansio tai tiedosto" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Liitä tiedosto tai kansio" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "kieltää" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Arkiston tai zip-tiedoston luominen" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Pura arkisto tai pakattu tiedosto" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopioi tiedostoja tai kansioita" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Leikkaa tiedosto tai kansio yksinkertaisesti" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Muokkaa tiedostoa" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Poista tai poista tiedostoja ja kansioita" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Lataa tiedostoja" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Lähetä tiedostoja" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Etsi asioita" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Tiedoston tiedot" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "auta" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Se kieltää tietyt käyttäjät asettamalla tunnuksensa pilkulla (,). Jos " "käyttäjä on Ban, he eivät voi käyttää wp-tiedostojen hallintaa " "käyttöliittymässä." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI -näkymä. Oletus: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Tiedosto muokattu tai Luo päivämäärä -muoto. Oletus: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Tiedostonhallinnan kieli. Oletus: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tiedostonhallinnan teema. Oletus: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Tiedostonhallinta - Järjestelmän ominaisuudet" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP-versio" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Tiedoston enimmäiskoko (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Viestin enimmäislatauskoko (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Muistiraja (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Aikakatkaisu (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Selain ja käyttöjärjestelmä (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Vaihda teema täällä:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Oletus" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Tumma" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Kevyt" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "harmaa" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Tervetuloa Tiedostonhallintaan" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Rakastamme uusien ystävien hankkimista! Tilaa alla ja lupaamme\n" " pitää sinut ajan tasalla uusimmista uusista laajennuksistamme, " "päivityksistämme,\n" " mahtavia tarjouksia ja muutama erikoistarjous." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Anna etunimi." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Anna sukunimi." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Anna sähköpostiosoite." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Vahvista" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ei kiitos" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Käyttöehdot" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Tietosuojakäytäntö" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Tallentaa..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Backup not found!" #~ msgstr "Varmuuskopiota ei löydy!" #~ msgid "Backup removed successfully!" #~ msgstr "Varmuuskopio poistettu!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Mitään ei ole valittu varmuuskopiointia " #~ "varten" #~ msgid "Security Issue." #~ msgstr "Tietoturvaongelma." #~ msgid "Database backup done." #~ msgstr "" #~ "Tietokannan varmuuskopiointi valmis." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "" #~ msgid "Plugins backup done." #~ msgstr "" #~ "Laajennusten varmuuskopiointi valmis." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Laajennusten varmuuskopiointi " #~ "epäonnistui." #~ msgid "Themes backup done." #~ msgstr "" #~ "Teemojen varmuuskopiointi valmis." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Teemojen varmuuskopiointi epäonnistui." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Latausten varmuuskopiointi valmis." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Latausten varmuuskopiointi epäonnistui." #~ msgid "Others backup done." #~ msgstr "" #~ "Toiset varmuuskopiointi tehty." #~ msgid "Others backup failed." #~ msgstr "" #~ "Toisten varmuuskopiointi epäonnistui." #~ msgid "All Done" #~ msgstr "Kaikki valmiit" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Hallitse WP-tiedostoja." #~ msgid "Extensions" #~ msgstr "laajennukset" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Anna jonkin verran lahjoituksia, jotta plugin pysyisi entistä vakaampana. " #~ "Voit maksaa haluamasi määrän." wp-file-manager/languages/wp-file-manager-fr_FR.mo000064400000045433151202472330016001 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&P(%):)J4*?*P*+1+I+,P,IK--A-8-8.R.e.|.3.&.;.#,/P/'k/ /"/ / ////0 20#<0.`000!070-1E51{1111)1 1#12,2F2e2@y2223+3303U/44)5)5555 6788<8v"99E:*;E;L;#U;y;`;D;!1<#S<w<< <<<<x<n=%=)>G>P>7Y>#>>$>,> '? 3?@?!`??"?{?x:@@)@"@%A:.AIiA AAAA3B!BB dB0nB BB BBBC3C LCXCwC&C1CCD*D>DWD@pDD)D"D%E:,E gEuE E E E:E(F=1F#oF$F$F.F# G0GKG6]G2G/G2G *H4HHH5dH+HH*I9IZJ_bJXJ}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-02 17:54+0530 Last-Translator: admin Language-Team: Language: fr_FR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * pour toutes les opérations et pour autoriser certaines opérations, vous pouvez mentionner le nom de l'opération comme, allow_operations="upload,download". Remarque : séparés par une virgule (,). Défaut: *-> Il interdira certains utilisateurs en mettant simplement leurs identifiants séparés par des virgules (,). Si l'utilisateur est Ban, il ne pourra pas accéder au gestionnaire de fichiers wp sur le front-end.-> Thème du gestionnaire de fichiers. Par défaut : Light-> Fichier modifié ou créer un format de date. Par défaut: d M, Y h:i A-> Langue du gestionnaire de fichiers. Par défaut: English(en)-> Vue de l'interface utilisateur du gestionnaire de fichiers. Par défaut: gridactionActions sur la ou les sauvegardes sélectionnéesL'administrateur peut restreindre les actions de n'importe quel utilisateur. Masquez également les fichiers et les dossiers et peut définir des chemins de dossiers différents pour différents utilisateurs.L'administrateur peut restreindre les actions de n'importe quel rôle utilisateur. Masquez également les fichiers et les dossiers et peut définir des chemins de dossiers différents pour différents rôles d'utilisateurs.Après avoir activé la corbeille, vos fichiers iront dans le dossier Corbeille.Après avoir activé cela, tous les fichiers iront dans la médiathèque.TerminéVoulez-vous vraiment supprimer les sauvegardes sélectionnées ?Êtes-vous sûr de vouloir supprimer cette sauvegarde ?Êtes-vous sûr de vouloir restaurer cette sauvegarde ?Date de sauvegardeSauvegarder maintenantOptions de sauvegarde :Données de sauvegarde (cliquez pour télécharger)Les fichiers de sauvegarde seront sousLa sauvegarde est en cours d'exécution, veuillez patienterSauvegarde supprimée avec succès.Restauration de sauvegardeSauvegardes supprimées avec succès !InterdireNavigateur et OS (HTTP_USER_AGENT)Acheter PROAcheter ProAnnulerChangez de thème ici :Cliquez pour acheter PROAffichage de l'éditeur de codeConfirmerCopier des fichiers ou des dossiersAucune sauvegarde(s) trouvée(s) actuellement.SUPPRIMER LES FICHIERSSombreSauvegarde de la base de donnéesSauvegarde de la base de données effectuée à la dateSauvegarde de la base de données effectuée.La sauvegarde de la base de données a été restaurée avec succès.DéfautDéfaut:EffacerDésélectionnerNe tenez pas compte de cet avertissement.Faire un donTélécharger les fichiers journauxTelecharger des fichiersDupliquer ou cloner un dossier ou un fichierModifier les fichiers journauxModifier un fichierActiver le téléchargement de fichiers vers la médiathèque ?Activer la corbeille ?Erreur : Impossible de restaurer la sauvegarde car la sauvegarde de la base de données est lourde. Veuillez essayer d'augmenter la taille maximale autorisée à partir des paramètres de préférences.Sauvegarde(s) existante(s)Extraire l'archive ou le fichier compresséFailihaldur - Code courtGestionnaire de fichiers - Propriétés systèmeChemin racine du gestionnaire de fichiers, vous pouvez le modifier selon votre choix.File Manager a un éditeur de code avec plusieurs thèmes. Vous pouvez sélectionner n'importe quel thème pour l'éditeur de code. Il s'affichera lorsque vous modifierez un fichier. Vous pouvez également autoriser le mode plein écran de l'éditeur de code.Liste des opérations sur les fichiers :Le fichier n'existe pas à télécharger.Sauvegarde de fichiersGriseAiderIci, "test" est le nom du dossier qui se trouve dans le répertoire racine, ou vous pouvez donner le chemin des sous-dossiers comme "wp-content/plugins". Si laissé vide ou vide, il accédera à tous les dossiers du répertoire racine. Par défaut : répertoire racineIci, l'administrateur peut donner accès aux rôles d'utilisateur pour utiliser le gestionnaire de fichiers. L'administrateur peut définir le dossier d'accès par défaut et également contrôler la taille de téléchargement du gestionnaire de fichiers.Infos du fichierCode de sécurité invalide.Il permettra à tous les rôles d'accéder au gestionnaire de fichiers sur le front-end ou vous pouvez utiliser simplement pour des rôles d'utilisateur particuliers comme comme allow_roles="editor,author" (séprated by comma(,))Il verrouillera mentionné entre virgules. vous pouvez verrouiller plus comme ".php,.css,.js" etc. Par défaut : NullIl affichera le gestionnaire de fichiers sur le front-end. Mais seul l'administrateur peut y accéder et contrôlera à partir des paramètres du gestionnaire de fichiers.Il affichera le gestionnaire de fichiers sur le front-end. Vous pouvez contrôler tous les paramètres à partir des paramètres du gestionnaire de fichiers. Cela fonctionnera de la même manière que le backend WP File Manager.Dernier message de journalclaireJournauxCréer un répertoire ou un dossierCréer un fichierTaille maximale autorisée au moment de la restauration de la sauvegarde de la base de données.Taille maximale du téléchargement du fichier (upload_max_filesize)Limite de mémoire (memory_limit)Identifiant de sauvegarde manquant.Type de paramètre manquant.Paramètres requis manquants.Non merciAucun message de journalAucun journal trouvé !Noter:Remarque : Il s'agit de captures d'écran de démonstration. Veuillez acheter File Manager pro pour les fonctions Logs.Remarque : il ne s'agit que d'une capture d'écran de démonstration. Pour obtenir les paramètres, veuillez acheter notre version pro.Rien sélectionné pour la sauvegardeRien de sélectionné pour la sauvegarde.d'accordD'accordAutres (Tout autre répertoire trouvé dans wp-content)Autre sauvegarde effectuée à dateAutres sauvegardes effectuées.La sauvegarde des autres a échoué.Autres sauvegardes restaurées avec succès.version PHPParamètres:Coller un fichier ou un dossierVeuillez saisir l'adresse e-mail.Palun sisestage eesnimi.Veuillez saisir le nom de famille.Veuillez modifier cela avec précaution, un mauvais chemin peut entraîner l'arrêt du plug-in du gestionnaire de fichiers.Veuillez augmenter la valeur du champ si vous recevez un message d'erreur au moment de la restauration de la sauvegarde.PluginsSauvegarde des plugins effectuée à dateSauvegarde des plugins effectuée.La sauvegarde des plugins a échoué.La sauvegarde des plugins a été restaurée avec succès.Affiche la taille maximale de téléchargement de fichier (post_max_size)PréférencesPolitique de confidentialitéChemin racine publicRESTAURATION DES FICHIERSSupprimer ou supprimer des fichiers et des dossiersRenommer un fichier ou un dossierRestaurerLa restauration est en cours, veuillez patienterla victoireSauvegarder les modificationsÉconomie...Rechercher des chosesProblème de sécurité.Tout sélectionnerSélectionnez la ou les sauvegardes à supprimer !ParamètresParamètres - Éditeur de codeParamètres - GénéralParamètres - Restrictions utilisateurParamètres - Restrictions de rôle d'utilisateurParamètres sauvegardés.Code court - PROCouper simplement un fichier ou un dossierPropriétés du systèmeConditions d'utilisationLa sauvegarde a apparemment réussi et est maintenant terminée.ThèmesSauvegarde des thèmes effectuée à dateSauvegarde des thèmes effectuée.La sauvegarde des thèmes a échoué.La sauvegarde des thèmes a été restaurée avec succès.C'est l'heureTimeout (max_execution_time)Pour faire une archive ou un zipAujourd'huiKASUTAMINE :Impossible de créer la sauvegarde de la base de données.Impossible de supprimer la sauvegarde !Impossible de restaurer la sauvegarde de la base de données.Impossible de restaurer les autres.Impossible de restaurer les plugins.Impossible de restaurer les thèmes.Impossible de restaurer les téléchargements.Télécharger des fichiers journauxTélécharger des fichiersTéléchargementsSauvegarde des téléchargements effectuée à la dateLa sauvegarde des téléchargements est terminée.La sauvegarde des téléchargements a échoué.Téléverse la sauvegarde restaurée avec succès.VérifierAfficher le journalGestionnaire de fichiers WPGestionnaire de fichiers WP - Sauvegarde/restaurationContribution du gestionnaire de fichiers WPNous adorons nous faire de nouveaux amis ! Abonnez-vous ci-dessous et nous nous engageons à vous tenir au courant de nos derniers nouveaux plugins, mises à jour, offres incroyables et quelques offres spéciales.Bienvenue dans le gestionnaire de fichiersVous n'avez effectué aucune modification à enregistrer.pour l'accès à la permission de lire les fichiers, note : true/false, par défaut : truepour l'accès aux autorisations d'écriture de fichiers, note : true/false, par défaut : falseil cachera mentionné ici. Remarque : séparés par une virgule (,). Par défaut : Nulwp-file-manager/languages/wp-file-manager-fr_FR.po000064400000070073151202472330016002 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-02 17:53+0530\n" "PO-Revision-Date: 2022-03-02 17:54+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:175 msgid "Themes backup restored successfully." msgstr "La sauvegarde des thèmes a été restaurée avec succès." #: file_folder_manager.php:178 msgid "Unable to restore themes." msgstr "Impossible de restaurer les thèmes." #: file_folder_manager.php:208 msgid "Uploads backup restored successfully." msgstr "Téléverse la sauvegarde restaurée avec succès." #: file_folder_manager.php:212 msgid "Unable to restore uploads." msgstr "Impossible de restaurer les téléchargements." #: file_folder_manager.php:238 msgid "Others backup restored successfully." msgstr "Autres sauvegardes restaurées avec succès." #: file_folder_manager.php:242 msgid "Unable to restore others." msgstr "Impossible de restaurer les autres." #: file_folder_manager.php:268 msgid "Plugins backup restored successfully." msgstr "La sauvegarde des plugins a été restaurée avec succès." #: file_folder_manager.php:272 file_folder_manager.php:302 msgid "Unable to restore plugins." msgstr "Impossible de restaurer les plugins." #: file_folder_manager.php:287 msgid "Database backup restored successfully." msgstr "La sauvegarde de la base de données a été restaurée avec succès." #: file_folder_manager.php:287 file_folder_manager.php:298 #: file_folder_manager.php:589 file_folder_manager.php:593 msgid "All Done" msgstr "Terminé" #: file_folder_manager.php:290 msgid "Unable to restore DB backup." msgstr "Impossible de restaurer la sauvegarde de la base de données." #: file_folder_manager.php:348 msgid "Backups removed successfully!" msgstr "Sauvegardes supprimées avec succès !" #: file_folder_manager.php:350 msgid "Unable to removed backup!" msgstr "Impossible de supprimer la sauvegarde !" #: file_folder_manager.php:374 msgid "Database backup done on date " msgstr "Sauvegarde de la base de données effectuée à la date" #: file_folder_manager.php:378 msgid "Plugins backup done on date " msgstr "Sauvegarde des plugins effectuée à date" #: file_folder_manager.php:382 msgid "Themes backup done on date " msgstr "Sauvegarde des thèmes effectuée à date" #: file_folder_manager.php:386 msgid "Uploads backup done on date " msgstr "Sauvegarde des téléchargements effectuée à la date" #: file_folder_manager.php:390 msgid "Others backup done on date " msgstr "Autre sauvegarde effectuée à date" #: file_folder_manager.php:394 file_folder_manager.php:777 msgid "Logs" msgstr "Journaux" #: file_folder_manager.php:400 msgid "No logs found!" msgstr "Aucun journal trouvé !" #: file_folder_manager.php:497 msgid "Nothing selected for backup" msgstr "Rien sélectionné pour la sauvegarde" #: file_folder_manager.php:517 msgid "Security Issue." msgstr "Problème de sécurité." #: file_folder_manager.php:528 msgid "Database backup done." msgstr "Sauvegarde de la base de données effectuée." #: file_folder_manager.php:531 msgid "Unable to create database backup." msgstr "Impossible de créer la sauvegarde de la base de données." #: file_folder_manager.php:545 msgid "Plugins backup done." msgstr "Sauvegarde des plugins effectuée." #: file_folder_manager.php:548 msgid "Plugins backup failed." msgstr "La sauvegarde des plugins a échoué." #: file_folder_manager.php:557 msgid "Themes backup done." msgstr "Sauvegarde des thèmes effectuée." #: file_folder_manager.php:560 msgid "Themes backup failed." msgstr "La sauvegarde des thèmes a échoué." #: file_folder_manager.php:570 msgid "Uploads backup done." msgstr "La sauvegarde des téléchargements est terminée." #: file_folder_manager.php:573 msgid "Uploads backup failed." msgstr "La sauvegarde des téléchargements a échoué." #: file_folder_manager.php:582 msgid "Others backup done." msgstr "Autres sauvegardes effectuées." #: file_folder_manager.php:585 msgid "Others backup failed." msgstr "La sauvegarde des autres a échoué." #: file_folder_manager.php:762 file_folder_manager.php:763 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Gestionnaire de fichiers WP" #: file_folder_manager.php:770 msgid "Settings" msgstr "Paramètres" #: file_folder_manager.php:772 inc/root.php:48 msgid "Preferences" msgstr "Préférences" #: file_folder_manager.php:774 msgid "System Properties" msgstr "Propriétés du système" #: file_folder_manager.php:776 msgid "Shortcode - PRO" msgstr "Code court - PRO" #: file_folder_manager.php:778 msgid "Backup/Restore" msgstr "Restauration de sauvegarde" #: file_folder_manager.php:1034 msgid "Buy Pro" msgstr "Acheter Pro" #: file_folder_manager.php:1035 msgid "Donate" msgstr "Faire un don" #: file_folder_manager.php:1250 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1257 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1396 file_folder_manager.php:1484 msgid "File doesn't exist to download." msgstr "Le fichier n'existe pas à télécharger." #: file_folder_manager.php:1401 file_folder_manager.php:1489 msgid "Invalid Security Code." msgstr "Code de sécurité invalide." #: file_folder_manager.php:1406 file_folder_manager.php:1494 msgid "Missing backup id." msgstr "Identifiant de sauvegarde manquant." #: file_folder_manager.php:1409 file_folder_manager.php:1497 msgid "Missing parameter type." msgstr "Type de paramètre manquant." #: file_folder_manager.php:1412 file_folder_manager.php:1500 msgid "Missing required parameters." msgstr "Paramètres requis manquants." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Erreur : Impossible de restaurer la sauvegarde car la sauvegarde de la base " "de données est lourde. Veuillez essayer d'augmenter la taille maximale " "autorisée à partir des paramètres de préférences." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Sélectionnez la ou les sauvegardes à supprimer !" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Voulez-vous vraiment supprimer les sauvegardes sélectionnées ?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "La sauvegarde est en cours d'exécution, veuillez patienter" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "La restauration est en cours, veuillez patienter" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Rien de sélectionné pour la sauvegarde." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Gestionnaire de fichiers WP - Sauvegarde/restauration" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Options de sauvegarde :" #: inc/backup.php:58 msgid "Database Backup" msgstr "Sauvegarde de la base de données" #: inc/backup.php:64 msgid "Files Backup" msgstr "Sauvegarde de fichiers" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugins" #: inc/backup.php:71 msgid "Themes" msgstr "Thèmes" #: inc/backup.php:74 msgid "Uploads" msgstr "Téléchargements" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Autres (Tout autre répertoire trouvé dans wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Sauvegarder maintenant" #: inc/backup.php:89 msgid "Time now" msgstr "C'est l'heure" #: inc/backup.php:99 msgid "SUCCESS" msgstr "la victoire" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Sauvegarde supprimée avec succès." #: inc/backup.php:102 msgid "Ok" msgstr "D'accord" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "SUPPRIMER LES FICHIERS" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Êtes-vous sûr de vouloir supprimer cette sauvegarde ?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Annuler" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Confirmer" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RESTAURATION DES FICHIERS" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Êtes-vous sûr de vouloir restaurer cette sauvegarde ?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Dernier message de journal" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "La sauvegarde a apparemment réussi et est maintenant terminée." #: inc/backup.php:171 msgid "No log message" msgstr "Aucun message de journal" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Sauvegarde(s) existante(s)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Date de sauvegarde" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Données de sauvegarde (cliquez pour télécharger)" #: inc/backup.php:190 msgid "Action" msgstr "action" #: inc/backup.php:210 msgid "Today" msgstr "Aujourd'hui" #: inc/backup.php:239 msgid "Restore" msgstr "Restaurer" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Effacer" #: inc/backup.php:241 msgid "View Log" msgstr "Afficher le journal" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Aucune sauvegarde(s) trouvée(s) actuellement." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Actions sur la ou les sauvegardes sélectionnées" #: inc/backup.php:251 msgid "Select All" msgstr "Tout sélectionner" #: inc/backup.php:252 msgid "Deselect" msgstr "Désélectionner" #: inc/backup.php:254 msgid "Note:" msgstr "Noter:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Les fichiers de sauvegarde seront sous" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Contribution du gestionnaire de fichiers WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Remarque : Il s'agit de captures d'écran de démonstration. Veuillez acheter " "File Manager pro pour les fonctions Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Cliquez pour acheter PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Acheter PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Modifier les fichiers journaux" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Télécharger les fichiers journaux" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Télécharger des fichiers journaux" #: inc/root.php:43 msgid "Settings saved." msgstr "Paramètres sauvegardés." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Ne tenez pas compte de cet avertissement." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Vous n'avez effectué aucune modification à enregistrer." #: inc/root.php:55 msgid "Public Root Path" msgstr "Chemin racine public" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Chemin racine du gestionnaire de fichiers, vous pouvez le modifier selon " "votre choix." #: inc/root.php:59 msgid "Default:" msgstr "Défaut:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Veuillez modifier cela avec précaution, un mauvais chemin peut entraîner " "l'arrêt du plug-in du gestionnaire de fichiers." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Activer la corbeille ?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Après avoir activé la corbeille, vos fichiers iront dans le dossier " "Corbeille." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Activer le téléchargement de fichiers vers la médiathèque ?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Après avoir activé cela, tous les fichiers iront dans la médiathèque." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Taille maximale autorisée au moment de la restauration de la sauvegarde de " "la base de données." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Veuillez augmenter la valeur du champ si vous recevez un message d'erreur au " "moment de la restauration de la sauvegarde." #: inc/root.php:90 msgid "Save Changes" msgstr "Sauvegarder les modifications" #: inc/settings.php:10 msgid "Settings - General" msgstr "Paramètres - Général" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Remarque : il ne s'agit que d'une capture d'écran de démonstration. Pour " "obtenir les paramètres, veuillez acheter notre version pro." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Ici, l'administrateur peut donner accès aux rôles d'utilisateur pour " "utiliser le gestionnaire de fichiers. L'administrateur peut définir le " "dossier d'accès par défaut et également contrôler la taille de " "téléchargement du gestionnaire de fichiers." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Paramètres - Éditeur de code" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager a un éditeur de code avec plusieurs thèmes. Vous pouvez " "sélectionner n'importe quel thème pour l'éditeur de code. Il s'affichera " "lorsque vous modifierez un fichier. Vous pouvez également autoriser le mode " "plein écran de l'éditeur de code." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Affichage de l'éditeur de code" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Paramètres - Restrictions utilisateur" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "L'administrateur peut restreindre les actions de n'importe quel utilisateur. " "Masquez également les fichiers et les dossiers et peut définir des chemins " "de dossiers différents pour différents utilisateurs." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Paramètres - Restrictions de rôle d'utilisateur" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "L'administrateur peut restreindre les actions de n'importe quel rôle " "utilisateur. Masquez également les fichiers et les dossiers et peut définir " "des chemins de dossiers différents pour différents rôles d'utilisateurs." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Failihaldur - Code court" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "KASUTAMINE :" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Il affichera le gestionnaire de fichiers sur le front-end. Vous pouvez " "contrôler tous les paramètres à partir des paramètres du gestionnaire de " "fichiers. Cela fonctionnera de la même manière que le backend WP File " "Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Il affichera le gestionnaire de fichiers sur le front-end. Mais seul " "l'administrateur peut y accéder et contrôlera à partir des paramètres du " "gestionnaire de fichiers." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Paramètres:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Il permettra à tous les rôles d'accéder au gestionnaire de fichiers sur le " "front-end ou vous pouvez utiliser simplement pour des rôles d'utilisateur " "particuliers comme comme allow_roles=\"editor,author\" (séprated by comma(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Ici, \"test\" est le nom du dossier qui se trouve dans le répertoire racine, " "ou vous pouvez donner le chemin des sous-dossiers comme \"wp-content/plugins" "\". Si laissé vide ou vide, il accédera à tous les dossiers du répertoire " "racine. Par défaut : répertoire racine" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "pour l'accès aux autorisations d'écriture de fichiers, note : true/false, " "par défaut : false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "pour l'accès à la permission de lire les fichiers, note : true/false, par " "défaut : true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "il cachera mentionné ici. Remarque : séparés par une virgule (,). Par " "défaut : Nul" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Il verrouillera mentionné entre virgules. vous pouvez verrouiller plus comme " "\".php,.css,.js\" etc. Par défaut : Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* pour toutes les opérations et pour autoriser certaines opérations, vous " "pouvez mentionner le nom de l'opération comme, allow_operations=\"upload," "download\". Remarque : séparés par une virgule (,). Défaut: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Liste des opérations sur les fichiers :" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Créer un répertoire ou un dossier" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Créer un fichier" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Renommer un fichier ou un dossier" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Dupliquer ou cloner un dossier ou un fichier" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Coller un fichier ou un dossier" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Interdire" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Pour faire une archive ou un zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extraire l'archive ou le fichier compressé" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Copier des fichiers ou des dossiers" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Couper simplement un fichier ou un dossier" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Modifier un fichier" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Supprimer ou supprimer des fichiers et des dossiers" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Telecharger des fichiers" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Télécharger des fichiers" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Rechercher des choses" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Infos du fichier" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Aider" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Il interdira certains utilisateurs en mettant simplement leurs " "identifiants séparés par des virgules (,). Si l'utilisateur est Ban, il ne " "pourra pas accéder au gestionnaire de fichiers wp sur le front-end." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "" "-> Vue de l'interface utilisateur du gestionnaire de fichiers. Par défaut: " "grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Fichier modifié ou créer un format de date. Par défaut: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Langue du gestionnaire de fichiers. Par défaut: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Thème du gestionnaire de fichiers. Par défaut : Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Gestionnaire de fichiers - Propriétés système" #: inc/system_properties.php:10 msgid "PHP version" msgstr "version PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Taille maximale du téléchargement du fichier (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "" "Affiche la taille maximale de téléchargement de fichier (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Limite de mémoire (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Timeout (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Navigateur et OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Changez de thème ici :" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Défaut" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Sombre" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "claire" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Grise" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Bienvenue dans le gestionnaire de fichiers" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Nous adorons nous faire de nouveaux amis ! Abonnez-vous ci-dessous et nous " "nous engageons à\n" " vous tenir au courant de nos derniers nouveaux plugins, mises à jour,\n" " offres incroyables et quelques offres spéciales." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Palun sisestage eesnimi." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Veuillez saisir le nom de famille." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Veuillez saisir l'adresse e-mail." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Vérifier" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Non merci" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Conditions d'utilisation" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Politique de confidentialité" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Économie..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "d'accord" #~ msgid "Security Issue." #~ msgstr "Problème de sécurité." #~ msgid "Database backup done." #~ msgstr "" #~ "Sauvegarde de la base de données " #~ "effectuée." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Sauvegarde des plugins effectuée." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Échec de la sauvegarde des plug-ins." #~ msgid "Themes backup done." #~ msgstr "" #~ "Sauvegarde des thèmes terminée." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Échec de la sauvegarde des thèmes." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Téléchargement de la sauvegarde " #~ "effectuée." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Échec de la sauvegarde des " #~ "téléchargements." #~ msgid "Others backup done." #~ msgstr "" #~ "Autres sauvegardes effectuées." #~ msgid "Others backup failed." #~ msgstr "" #~ "Les autres sauvegardes ont échoué." #~ msgid "All Done" #~ msgstr "Tout est fait" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allow_operations=\"upload," #~ "download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Gérez vos fichiers WP." #~ msgid "Extensions" #~ msgstr "Extensions" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Veuillez contribuer un don, pour rendre le plugin plus stable. Vous " #~ "pouvez payer le montant de votre choix." wp-file-manager/languages/wp-file-manager-gd.mo000064400000045574151202472330015403 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&b(B)*:*Se*2*%*+$+?+7,OL-R- -T-JQ.L.../-&/T/%s/4//2/0#!0 E0 S0 a0m000 010,0 $111816N1&1;11112 2 $2"22U2,r2 22M23733'4B4)a4H445056/6 46@6]7I8#b88s9 ::;; ;; ;T;?9<%y<<<<<==4=c:=n=, >-:>h> w>K>4>$?-(?AV? ????? @t5@x@#A2+A"^A.A7A<A %B1BLB cB;qBBB'BC C%C9CIC _C+iCCCC.C6DFDbD!rDDDKD E5E)PE2zE<E EEF1F :F;FF'F(F*F#F&"G,IG&vGGG9G&H1)H2[H HHH3HH IIKJ`]JgJU&K}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 18:28+0530 Last-Translator: admin Language-Team: Language: gd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n < 2 ? 0 : n == 2 ? 1 : 2; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * airson a h-uile gnìomh agus gus beagan obrachaidh a cheadachadh faodaidh tu ainm na h-obrachaidh ainmeachadh mar, allowed_operations = "luchdachadh suas, luchdaich sìos". Nota: air a sgaradh le cromag (,). Bunaiteach: *-> Cuiridh e casg air luchd-cleachdaidh sònraichte le bhith dìreach a ’cur an cuid ids air an sgaradh le cromagan (,). Ma tha an cleachdaiche Ban an uairsin cha bhith e comasach dhaibh faighinn gu manaidsear faidhle wp aig a ’cheann aghaidh.-> Cuspair Manaidsear File. Default: Solas-> Faidhle air atharrachadh no cruthaich cruth ceann-latha. Default: d M, Y h: i A.-> Manaidsear faidhle Cànan. Default: English(en)-> Filemanager UI View. Default: gridGnìomhGnìomhan air cùl-taic (ean) taghteFaodaidh rianachd bacadh a chuir air gnìomhan neach-cleachdaidh sam bith. Cuideachd cuir am falach faidhlichean agus pasgain agus faodaidh iad slighean eadar-dhealaichte - pasgain eadar-dhealaichte a shuidheachadh airson diofar luchd-cleachdaidh.Faodaidh rianachd cuingealachadh a dhèanamh air gnìomhan cleachdaiche sam bith. Cuideachd cuir am falach faidhlichean agus pasganan agus faodaidh iad slighean eadar-dhealaichte - pasgain eadar-dhealaichte a shuidheachadh airson dreuchdan luchd-cleachdaidh eadar-dhealaichte.Às deidh sgudal a chomasachadh, thèid na faidhlichean agad gu pasgan sgudail.Às deidh seo a chomasachadh thèid a h-uile faidhle gu leabharlann nam meadhanan.Uile DèantaA bheil thu cinnteach gu bheil thu airson cùl-taic (ean) taghte a thoirt air falbh?A bheil thu cinnteach gu bheil thu airson an cùl-taic seo a dhubhadh às?A bheil thu cinnteach gu bheil thu airson an cùl-taic seo a thoirt air ais?Ceann-latha cùl-taicCùl-taic a-nisRoghainnean cùl-taic:Dàta cùl-taic (cliog gus luchdachadh sìos)Bidh faidhlichean cùl-taic foTha cùl-taic a ’ruith, fuirich ortChaidh an cùl-taic a dhubhadh às gu soirbheachail.Cùl-taic / Ath-nuadhachadhCùl-taic air a thoirt air falbh gu soirbheachail!BanBrabhsair agus OS (HTTP_USER_AGENT)Ceannaich PROCeannaich ProSguir dhethAtharraich Cuspair an seo:Cliog gus PRO a cheannachSealladh deasaiche còdDearbhaichDèan lethbhreac de fhaidhlichean no de phasgananAn-dràsta cha deach cùl-taic (ean) a lorg.FILES DELETEDorchaCùl-taic stòr-dàtaCùl-taic stòr-dàta air a dhèanamh air ceann-latha Cùl-taic stòr-dàta air a dhèanamh.Cùl-taic stòr-dàta air ath-nuadhachadh gu soirbheachail.DefaultDefault:Cuir àsDeselectCuir às don bhrath seo.Thoir seachadLuchdaich sìos logaichean faidhleLuchdaich sìos faidhlicheanDèan dùblachadh no clone pasgan no faidhleDeasaich logaichean faidhlicheanDeasaich faidhleDèan comas air faidhlichean a luchdachadh suas gu leabharlann nam meadhanan?Dèan comas air sgudal?Mearachd: Cha ghabh cùl-taic a thoirt air ais a chionn 's gu bheil cùl-taic an stòr-dàta trom ann am meud. Feuch ris a’ mheud as motha a tha ceadaichte àrdachadh bho roghainnean Roghainnean.Cùl-taic (ean) gnàthaichteThoir a-mach tasglann no faidhle le zipManaidsear faidhle - ShortcodeManaidsear faidhle - Togalaichean SiostamRoot Path Manaidsear File, faodaidh tu atharrachadh a rèir do roghainn.Tha deasaiche còd aig Manaidsear File le iomadh cuspair. Faodaidh tu cuspair sam bith a thaghadh airson deasaiche còd. Nochdaidh e nuair a dheasaicheas tu faidhle sam bith. Cuideachd faodaidh tu modh làn-sgrìn de dheasaiche còd a cheadachadh.Liosta Obraichean faidhle:Chan eil faidhle ann airson a luchdachadh sìos.Cùl-taic faidhlicheanglasCuideachadhSeo “test” an t-ainm pasgan a tha suidhichte air an eòlaire freumh, no faodaidh tu slighe a thoirt dha fo-phasganan mar “wp-content/plugins”. Ma dh’ fhàgas e falamh no ma dh’ fhàgas e falamh gheibh e cothrom air a h-uile pasgan air root eòlaire. Default: eòlaire rootAn seo faodaidh admin cothrom a thoirt do dhleastanasan luchd-cleachdaidh gus manaidsear faidhle a chleachdadh. Faodaidh an rianachd Folder Access Default a shuidheachadh agus cuideachd smachd a chumail air meud luchdaidh suas faidhle.Fiosrachadh mun fhaidhleCòd tèarainteachd neo-dhligheach.Leigidh e leis a h-uile dreuchd cothrom fhaighinn air manaidsear fhaidhlichean air a’ cheann aghaidh no Faodaidh tu a chleachdadh gu sìmplidh airson dreuchdan cleachdaiche sònraichte mar a leithid ceadaichte_roles = " deasaiche, ùghdar" (air a sgaradh le cromag(,))Glasaidh e air ainmeachadh ann an cromagan. faodaidh tu barrachd a ghlasadh mar ".php,.css,.js" msaa. Default: NullSeallaidh e manaidsear fhaidhlichean air a’ cheann aghaidh. Ach chan fhaod ach an Rianaire faighinn thuige agus smachdaichidh e bho shuidheachaidhean manaidsear faidhle.Seallaidh e manaidsear fhaidhlichean air a’ cheann aghaidh. 'S urrainn dhut smachd a chumail air a h-uile suidheachadh bho roghainnean manaidsear fhaidhlichean. Obraichidh e an aon rud ri backend WP File Manager.Teachdaireachd Log mu dheireadhSolasLogaicheanDèan eòlaire no pasganDèan faidhleAn ìre as àirde a tha ceadaichte aig àm ath-nuadhachadh cùl-taic an stòr-dàta.Meud as motha de luchdachadh suas faidhle (upload_max_filesize)Cuingealachadh Cuimhne (memory_limit)Id cùl-taic a dhìth.Seòrsa paramadair a dhìth.Paramadairean a tha a dhìth.Chan eil taingGun teachdaireachd logCha deach logaichean a lorg!Nota:Nota: Is e seo seallaidhean-sgrìn demo. Feuch an ceannaich thu File Manager pro gu gnìomhan Logs.Nota: Chan eil an seo ach glacadh-sgrìn demo. Gus suidheachaidhean fhaighinn, ceannaich an dreach pro againn.Chan eil dad air a thaghadh airson cùl-taicChan eil dad air a thaghadh airson cùl-taic.Ceart gu leòrGlè mhathFeadhainn eile (Stiùiridhean sam bith eile a lorgar am broinn susbaint wp)Cuid eile cùl-taic air a dhèanamh air ceann-latha Cùl-taic cuid eile air a dhèanamh.Dh'fhàillig cuid eile lethbhreac-glèidhidh.Chaidh cuid eile den chùl-taic ath-nuadhachadh gu soirbheachail.Tionndadh PHPParamadairean:Cuir a-steach faidhle no pasganCuir a-steach seòladh puist-d.Cuir a-steach a ’chiad ainm.Cuir a-steach ainm mu dheireadh.Feuch an atharraich thu seo gu faiceallach, faodaidh slighe ceàrr toirt air plugan manaidsear faidhle a dhol sìos.Feuch an àrdaich thu luach an raoin ma tha thu a’ faighinn teachdaireachd mearachd aig àm ath-nuadhachadh cùl-taic.PluginsCùl-taic plugins air a dhèanamh air ceann-latha Cùl-taic plugins air a dhèanamh.Dh'fhàillig lethbhreac-glèidhidh nam plugan.Cùl-taic plugins air ath-nuadhachadh gu soirbheachail.Post meud luchdachadh suas faidhle as àirde (post_max_size)RoghainneanPoileasaidh DìomhaireachdSlighe freumha poblachFILES RESTOREThoir air falbh no cuir às do fhaidhlichean agus phasgananAth-ainmich faidhle no pasganAth-nuadhachadhTha ath-nuadhachadh a’ ruith, fuirichURNUIGHSàbhail atharrachaidheanA ’sàbhaladh ...Rannsaich rudanCùis tèarainteachd.Tagh UileTagh cùl-taic(ean) airson an sguabadh às!SuidhichidheanSuidhichidhean - Deasaiche còdSuidhichidhean - CoitcheannSuidhichidhean - Cuingeachaidhean cleachdaicheSuidhichidhean - Cuingeachaidhean Dreuchd CleachdaicheSuidhich air a shàbhaladh.Shortcode - PROGearr sìmplidh faidhle no pasganTogalaichean an t-siostaimCumhachan SeirbheisTha e coltach gun do shoirbhich leis an cùl-taic agus tha e a-nis deiseil.CuspaireanCùl-taic cuspairean air a dhèanamh air ceann-latha Cùl-taic nan cuspairean air a dhèanamh.Dh'fhàillig lethbhreac-glèidhidh nan cuspairean.Cùl-taic tèamaichean air ath-nuadhachadh gu soirbheachail.Ùine a-nisÙine (max_execution_time)Gus tasglann no zip a dhèanamhAn-diughCLEACHDADH:Cha b' urrainn dhuinn cùl-taic stòr-dàta a chruthachadh.Cha ghabh cùl-taic a thoirt air falbh!Cha ghabh cùl-taic DB a thoirt air ais.Cha ghabh feadhainn eile a thoirt air ais.Cha ghabh plugins a thoirt air ais.Cha ghabh cuspairean a thoirt air ais.Cha ghabh luchdachadh suas a thoirt air ais.Luchdaich suas logaichean faidhlicheanLuchdaich suas faidhlicheanLuchdaich suasLuchdaich suas cùl-taic air a dhèanamh air ceann-latha Dèan lethbhreac dhen luchdadh a-nuas.Dh'fhàillig luchdadh suas lethbhreac-glèidhidh.Luchdaich suas cùl-taic air ais gu soirbheachail.DearbhaichFaic LogManaidsear faidhle WPManaidsear faidhle WP - Cùl-taic / Ath-nuadhachadhTabhartas Manaidsear File WPTha sinn dèidheil air caraidean ùra a dhèanamh! Subscribe gu h-ìosal agus tha sinn a ’gealltainn a ’cumail fios riut mu na plugins, ùrachaidhean, as ùire againn cùmhnantan uamhasach agus beagan thairgsean sònraichte.Fàilte gu Manaidsear FileCha do rinn thu atharrachaidhean sam bith airson a bhith air an sàbhaladh.airson cothrom air cead faidhlichean a leughadh, thoir an aire: fìor/meallta, bunaiteach: fìorairson cothrom air ceadan faidhlichean a sgrìobhadh, thoir an aire: fìor/meallta, bunaiteach: mealltafalaichidh e air ainmeachadh an seo. Nota: air a sgaradh le cromag (,). Default: Nullwp-file-manager/languages/wp-file-manager-gd.po000064400000071365151202472330015403 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 18:25+0530\n" "PO-Revision-Date: 2022-02-25 18:28+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: gd\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n < 2 ? 0 : n == 2 ? 1 : 2;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Cùl-taic tèamaichean air ath-nuadhachadh gu soirbheachail." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Cha ghabh cuspairean a thoirt air ais." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Luchdaich suas cùl-taic air ais gu soirbheachail." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Cha ghabh luchdachadh suas a thoirt air ais." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Chaidh cuid eile den chùl-taic ath-nuadhachadh gu soirbheachail." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Cha ghabh feadhainn eile a thoirt air ais." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Cùl-taic plugins air ath-nuadhachadh gu soirbheachail." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Cha ghabh plugins a thoirt air ais." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Cùl-taic stòr-dàta air ath-nuadhachadh gu soirbheachail." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Uile Dèanta" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Cha ghabh cùl-taic DB a thoirt air ais." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Cùl-taic air a thoirt air falbh gu soirbheachail!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Cha ghabh cùl-taic a thoirt air falbh!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Cùl-taic stòr-dàta air a dhèanamh air ceann-latha " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Cùl-taic plugins air a dhèanamh air ceann-latha " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Cùl-taic cuspairean air a dhèanamh air ceann-latha " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Luchdaich suas cùl-taic air a dhèanamh air ceann-latha " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Cuid eile cùl-taic air a dhèanamh air ceann-latha " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Logaichean" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Cha deach logaichean a lorg!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Chan eil dad air a thaghadh airson cùl-taic" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Cùis tèarainteachd." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Cùl-taic stòr-dàta air a dhèanamh." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Cha b' urrainn dhuinn cùl-taic stòr-dàta a chruthachadh." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Cùl-taic plugins air a dhèanamh." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Dh'fhàillig lethbhreac-glèidhidh nam plugan." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Cùl-taic nan cuspairean air a dhèanamh." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Dh'fhàillig lethbhreac-glèidhidh nan cuspairean." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Dèan lethbhreac dhen luchdadh a-nuas." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Dh'fhàillig luchdadh suas lethbhreac-glèidhidh." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Cùl-taic cuid eile air a dhèanamh." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Dh'fhàillig cuid eile lethbhreac-glèidhidh." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Manaidsear faidhle WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Suidhichidhean" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Roghainnean" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Togalaichean an t-siostaim" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Cùl-taic / Ath-nuadhachadh" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Ceannaich Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Thoir seachad" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Chan eil faidhle ann airson a luchdachadh sìos." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Còd tèarainteachd neo-dhligheach." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Id cùl-taic a dhìth." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Seòrsa paramadair a dhìth." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Paramadairean a tha a dhìth." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Mearachd: Cha ghabh cùl-taic a thoirt air ais a chionn 's gu bheil cùl-taic " "an stòr-dàta trom ann am meud. Feuch ris a’ mheud as motha a tha ceadaichte " "àrdachadh bho roghainnean Roghainnean." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Tagh cùl-taic(ean) airson an sguabadh às!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "" "A bheil thu cinnteach gu bheil thu airson cùl-taic (ean) taghte a thoirt air " "falbh?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Tha cùl-taic a ’ruith, fuirich ort" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Tha ath-nuadhachadh a’ ruith, fuirich" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Chan eil dad air a thaghadh airson cùl-taic." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Manaidsear faidhle WP - Cùl-taic / Ath-nuadhachadh" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Roghainnean cùl-taic:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Cùl-taic stòr-dàta" #: inc/backup.php:64 msgid "Files Backup" msgstr "Cùl-taic faidhlichean" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugins" #: inc/backup.php:71 msgid "Themes" msgstr "Cuspairean" #: inc/backup.php:74 msgid "Uploads" msgstr "Luchdaich suas" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "" "Feadhainn eile (Stiùiridhean sam bith eile a lorgar am broinn susbaint wp)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Cùl-taic a-nis" #: inc/backup.php:89 msgid "Time now" msgstr "Ùine a-nis" #: inc/backup.php:99 msgid "SUCCESS" msgstr "URNUIGH" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Chaidh an cùl-taic a dhubhadh às gu soirbheachail." #: inc/backup.php:102 msgid "Ok" msgstr "Glè mhath" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "FILES DELETE" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "" "A bheil thu cinnteach gu bheil thu airson an cùl-taic seo a dhubhadh às?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Sguir dheth" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Dearbhaich" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "FILES RESTORE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "" "A bheil thu cinnteach gu bheil thu airson an cùl-taic seo a thoirt air ais?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Teachdaireachd Log mu dheireadh" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "" "Tha e coltach gun do shoirbhich leis an cùl-taic agus tha e a-nis deiseil." #: inc/backup.php:171 msgid "No log message" msgstr "Gun teachdaireachd log" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Cùl-taic (ean) gnàthaichte" #: inc/backup.php:184 msgid "Backup Date" msgstr "Ceann-latha cùl-taic" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Dàta cùl-taic (cliog gus luchdachadh sìos)" #: inc/backup.php:190 msgid "Action" msgstr "Gnìomh" #: inc/backup.php:210 msgid "Today" msgstr "An-diugh" #: inc/backup.php:239 msgid "Restore" msgstr "Ath-nuadhachadh" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Cuir às" #: inc/backup.php:241 msgid "View Log" msgstr "Faic Log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "An-dràsta cha deach cùl-taic (ean) a lorg." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Gnìomhan air cùl-taic (ean) taghte" #: inc/backup.php:251 msgid "Select All" msgstr "Tagh Uile" #: inc/backup.php:252 msgid "Deselect" msgstr "Deselect" #: inc/backup.php:254 msgid "Note:" msgstr "Nota:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Bidh faidhlichean cùl-taic fo" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Tabhartas Manaidsear File WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Nota: Is e seo seallaidhean-sgrìn demo. Feuch an ceannaich thu File Manager " "pro gu gnìomhan Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Cliog gus PRO a cheannach" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Ceannaich PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Deasaich logaichean faidhlichean" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Luchdaich sìos logaichean faidhle" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Luchdaich suas logaichean faidhlichean" #: inc/root.php:43 msgid "Settings saved." msgstr "Suidhich air a shàbhaladh." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Cuir às don bhrath seo." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "" "Cha do rinn thu atharrachaidhean sam bith airson a bhith air an sàbhaladh." #: inc/root.php:55 msgid "Public Root Path" msgstr "Slighe freumha poblach" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Root Path Manaidsear File, faodaidh tu atharrachadh a rèir do roghainn." #: inc/root.php:59 msgid "Default:" msgstr "Default:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Feuch an atharraich thu seo gu faiceallach, faodaidh slighe ceàrr toirt air " "plugan manaidsear faidhle a dhol sìos." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Dèan comas air sgudal?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Às deidh sgudal a chomasachadh, thèid na faidhlichean agad gu pasgan sgudail." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "" "Dèan comas air faidhlichean a luchdachadh suas gu leabharlann nam meadhanan?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Às deidh seo a chomasachadh thèid a h-uile faidhle gu leabharlann nam " "meadhanan." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "An ìre as àirde a tha ceadaichte aig àm ath-nuadhachadh cùl-taic an stòr-" "dàta." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Feuch an àrdaich thu luach an raoin ma tha thu a’ faighinn teachdaireachd " "mearachd aig àm ath-nuadhachadh cùl-taic." #: inc/root.php:90 msgid "Save Changes" msgstr "Sàbhail atharrachaidhean" #: inc/settings.php:10 msgid "Settings - General" msgstr "Suidhichidhean - Coitcheann" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Nota: Chan eil an seo ach glacadh-sgrìn demo. Gus suidheachaidhean " "fhaighinn, ceannaich an dreach pro againn." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "An seo faodaidh admin cothrom a thoirt do dhleastanasan luchd-cleachdaidh " "gus manaidsear faidhle a chleachdadh. Faodaidh an rianachd Folder Access " "Default a shuidheachadh agus cuideachd smachd a chumail air meud luchdaidh " "suas faidhle." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Suidhichidhean - Deasaiche còd" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Tha deasaiche còd aig Manaidsear File le iomadh cuspair. Faodaidh tu cuspair " "sam bith a thaghadh airson deasaiche còd. Nochdaidh e nuair a dheasaicheas " "tu faidhle sam bith. Cuideachd faodaidh tu modh làn-sgrìn de dheasaiche còd " "a cheadachadh." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Sealladh deasaiche còd" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Suidhichidhean - Cuingeachaidhean cleachdaiche" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Faodaidh rianachd bacadh a chuir air gnìomhan neach-cleachdaidh sam bith. " "Cuideachd cuir am falach faidhlichean agus pasgain agus faodaidh iad " "slighean eadar-dhealaichte - pasgain eadar-dhealaichte a shuidheachadh " "airson diofar luchd-cleachdaidh." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Suidhichidhean - Cuingeachaidhean Dreuchd Cleachdaiche" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Faodaidh rianachd cuingealachadh a dhèanamh air gnìomhan cleachdaiche sam " "bith. Cuideachd cuir am falach faidhlichean agus pasganan agus faodaidh iad " "slighean eadar-dhealaichte - pasgain eadar-dhealaichte a shuidheachadh " "airson dreuchdan luchd-cleachdaidh eadar-dhealaichte." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Manaidsear faidhle - Shortcode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "CLEACHDADH:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Seallaidh e manaidsear fhaidhlichean air a’ cheann aghaidh. 'S urrainn dhut " "smachd a chumail air a h-uile suidheachadh bho roghainnean manaidsear " "fhaidhlichean. Obraichidh e an aon rud ri backend WP File Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Seallaidh e manaidsear fhaidhlichean air a’ cheann aghaidh. Ach chan fhaod " "ach an Rianaire faighinn thuige agus smachdaichidh e bho shuidheachaidhean " "manaidsear faidhle." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Paramadairean:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Leigidh e leis a h-uile dreuchd cothrom fhaighinn air manaidsear " "fhaidhlichean air a’ cheann aghaidh no Faodaidh tu a chleachdadh gu sìmplidh " "airson dreuchdan cleachdaiche sònraichte mar a leithid ceadaichte_roles = \" " "deasaiche, ùghdar\" (air a sgaradh le cromag(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Seo “test” an t-ainm pasgan a tha suidhichte air an eòlaire freumh, no " "faodaidh tu slighe a thoirt dha fo-phasganan mar “wp-content/plugins”. Ma " "dh’ fhàgas e falamh no ma dh’ fhàgas e falamh gheibh e cothrom air a h-uile " "pasgan air root eòlaire. Default: eòlaire root" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "airson cothrom air ceadan faidhlichean a sgrìobhadh, thoir an aire: fìor/" "meallta, bunaiteach: meallta" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "airson cothrom air cead faidhlichean a leughadh, thoir an aire: fìor/" "meallta, bunaiteach: fìor" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "falaichidh e air ainmeachadh an seo. Nota: air a sgaradh le cromag (,). " "Default: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Glasaidh e air ainmeachadh ann an cromagan. faodaidh tu barrachd a ghlasadh " "mar \".php,.css,.js\" msaa. Default: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* airson a h-uile gnìomh agus gus beagan obrachaidh a cheadachadh faodaidh " "tu ainm na h-obrachaidh ainmeachadh mar, allowed_operations = \"luchdachadh " "suas, luchdaich sìos\". Nota: air a sgaradh le cromag (,). Bunaiteach: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Liosta Obraichean faidhle:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Dèan eòlaire no pasgan" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Dèan faidhle" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Ath-ainmich faidhle no pasgan" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Dèan dùblachadh no clone pasgan no faidhle" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Cuir a-steach faidhle no pasgan" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Ban" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Gus tasglann no zip a dhèanamh" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Thoir a-mach tasglann no faidhle le zip" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Dèan lethbhreac de fhaidhlichean no de phasganan" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Gearr sìmplidh faidhle no pasgan" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Deasaich faidhle" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Thoir air falbh no cuir às do fhaidhlichean agus phasganan" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Luchdaich sìos faidhlichean" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Luchdaich suas faidhlichean" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Rannsaich rudan" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Fiosrachadh mun fhaidhle" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Cuideachadh" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Cuiridh e casg air luchd-cleachdaidh sònraichte le bhith dìreach a ’cur " "an cuid ids air an sgaradh le cromagan (,). Ma tha an cleachdaiche Ban an " "uairsin cha bhith e comasach dhaibh faighinn gu manaidsear faidhle wp aig a " "’cheann aghaidh." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI View. Default: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Faidhle air atharrachadh no cruthaich cruth ceann-latha. Default: d M, Y " "h: i A." #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Manaidsear faidhle Cànan. Default: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Cuspair Manaidsear File. Default: Solas" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Manaidsear faidhle - Togalaichean Siostam" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Tionndadh PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Meud as motha de luchdachadh suas faidhle (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Post meud luchdachadh suas faidhle as àirde (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Cuingealachadh Cuimhne (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Ùine (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Brabhsair agus OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Atharraich Cuspair an seo:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Default" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Dorcha" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Solas" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "glas" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Fàilte gu Manaidsear File" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Tha sinn dèidheil air caraidean ùra a dhèanamh! Subscribe gu h-ìosal agus " "tha sinn a ’gealltainn\n" " a ’cumail fios riut mu na plugins, ùrachaidhean, as ùire againn\n" " cùmhnantan uamhasach agus beagan thairgsean sònraichte." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Cuir a-steach a ’chiad ainm." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Cuir a-steach ainm mu dheireadh." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Cuir a-steach seòladh puist-d." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Dearbhaich" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Chan eil taing" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Cumhachan Seirbheis" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Poileasaidh Dìomhaireachd" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "A ’sàbhaladh ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Ceart gu leòr" #~ msgid "Backup not found!" #~ msgstr "Cha lorgar cùl-taic!" #~ msgid "Backup removed successfully!" #~ msgstr "Cùl-taic air a thoirt air falbh gu soirbheachail!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Cha deach dad a thaghadh airson cùl-" #~ "taic" #~ msgid "Security Issue." #~ msgstr "Cuspair tèarainteachd." #~ msgid "Database backup done." #~ msgstr "" #~ "Cùl-taic stòr-dàta air a dhèanamh." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Cha ghabh cùl-taic stòr-dàta a " #~ "chruthachadh." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Cùl-taic plugins air a dhèanamh." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Dh'fhàillig cùl-taic plugins." #~ msgid "Themes backup done." #~ msgstr "" #~ "Cùl-taic cuspairean air a dhèanamh." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Dh'fhàillig cùl-taic Cuspairean." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Luchdaich suas cùl-taic air a dhèanamh." #~ "" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Dh'fhàillig cùl-taic luchdaidh suas." #~ msgid "Others backup done." #~ msgstr "" #~ "Cuid eile cùl-taic air a dhèanamh." #~ msgid "Others backup failed." #~ msgstr "" #~ "Dh ’fhàillig cùl-taic cuid eile." #~ msgid "All Done" #~ msgstr "Uile air a dhèanamh" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Stiùirich na faidhlichean WP agad." #~ msgid "Extensions" #~ msgstr "Leudachadh" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Cuir a-steach beagan tabhartas, gus plugan a dhèanamh nas seasmhaiche. " #~ "Faodaidh tu an àireamh de do roghainn a phàigheadh." wp-file-manager/languages/wp-file-manager-gl_ES.mo000064400000044471151202472330015775 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Q()2)M)=K*)**4**+If,I, ,A-4G-5|--"- -6.2I.1|./. .4. 4/ A/ b/ m/x//// //1/&080$?0:d0*0A0 11+1 41B1V1 Z1{1*111=1(2?23%$3&J3,q3L33"4%4 5@5E5K5O6-7"F7i7l.88199: :: 0:^>:::":":;!:; \;$h;;;n;{<1<2<<=?=/D=$t=$=9= = >>,/>\>n>j>j> Y?9f?*?-?A?=;@ y@@@@)@&@ A)(ARAYA hA uAAA-AA!A B'!B5IBBB$BBBGB=C+CC#oC3C9C D$ D1DNDSD9XD,D=DD'E DE!eEEEE.E&E4F5HF ~F FF<F'FGG%GcHbHUH}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-25 18:34+0530 Last-Translator: admin Language-Team: Language: gl_ES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * Para todas as operacións e para permitir algunha operación, pode mencionar o nome da operación como permitido_operations="cargar, descargar". Nota: separados por coma (,). Predeterminado: *-> Prohibirá a determinados usuarios só poñendo os seus identificadores separados por comas (,). Se o usuario é Ban, non poderán acceder ao xestor de ficheiros wp na interface.-> Tema Xestor de ficheiros. Predeterminado: Light-> Arquivo modificado ou Crear formato de data. Predeterminado: d M, Y h: i A-> Idioma do xestor de ficheiros. Predeterminado: English(en)-> Filemanager UI View. Por defecto: gridAcciónAccións sobre as copias de seguridade seleccionadasO administrador pode restrinxir as accións de calquera usuario. Tamén oculta ficheiros e cartafoles e pode establecer camiños de cartafoles diferentes para diferentes usuarios.O administrador pode restrinxir as accións de calquera rol de usuario. Tamén oculta ficheiros e cartafoles e pode definir camiños de cartafoles diferentes para papeis de usuarios diferentes.Despois de habilitar o lixo, os teus ficheiros irán ao cartafol do lixo.Despois de habilitalo, todos os ficheiros irán á biblioteca multimedia.Todo feitoSeguro que queres eliminar as copias de seguridade seleccionadas?Seguro que queres eliminar esta copia de seguridade?Seguro que queres restaurar esta copia de seguridade?Data de copia de seguridadeFai unha copia de seguridade agoraOpcións de copia de seguridade:Datos de copia de seguridade (fai clic para descargar)Os ficheiros de copia de seguridade estarán baixoA copia de seguridade está en execución. AgardeEliminouse correctamente a copia de seguridade.Copia de seguranza/RestauraciónElimináronse correctamente as copias de seguridade.ProhibiciónNavegador e SO (HTTP_USER_AGENT)Compra PROCompra ProCancelarCambia de tema aquí:Fai clic para comprar PROVista do editor de códigoConfirmarCopia ficheiros ou cartafolesActualmente non se atoparon copias de seguridade.ELIMINA FICHEIROSEscuroCopia de seguridade da base de datosA copia de seguridade da base de datos realizouse na data Copia de seguranza da base de datos feita.Restaurouse correctamente a copia de seguridade da base de datos.PredeterminadoPredeterminado:EliminarDeseleccionarRexeita este aviso.DoaDescargar rexistros de ficheirosDescargar ficheirosDuplicar ou clonar un cartafol ou ficheiroEditar rexistros de ficheirosEdite un ficheiroQueres activar a carga de ficheiros na biblioteca multimedia?Queres activar o lixo?Erro: non se puido restaurar a copia de seguranza porque a copia de seguranza da base de datos ten un gran tamaño. Tenta aumentar o tamaño máximo permitido desde a configuración de Preferencias.Copia de seguridade existenteExtraer arquivo ou arquivo comprimidoXestor de ficheiros: código abreviadoXestor de ficheiros - Propiedades do sistemaCamiño raíz do xestor de ficheiros, pode cambiar segundo a súa elección.O Xestor de ficheiros ten un editor de código con varios temas. Podes seleccionar calquera tema para o editor de código. Amosarase cando edite calquera ficheiro. Tamén pode permitir o modo de pantalla completa do editor de código.Lista de operacións de ficheiros:O ficheiro non existe para descargar.Copia de seguridade de ficheirosGrisAxudaAquí "proba" é o nome do cartafol que se atopa no directorio raíz, ou pode dar o camiño para os subcartafoles como "wp-content/plugins". Se o deixas en branco ou baleiro accederá a todos os cartafoles do directorio raíz. Predeterminado: directorio raízAquí o administrador pode dar acceso aos roles de usuario para usar o xestor de ficheiros. O administrador pode configurar o cartafol de acceso predeterminado e tamén controlar o tamaño de carga do xestor de ficheiros.Información do ficheiroCódigo de seguridade non válido.Permitirá que todos os roles accedan ao xestor de ficheiros na interface ou Podes usar de forma sinxela para roles de usuario particulares como allow_roles="editor,author" (separado por coma (,))Bloquearase mencionado entre comas. pode bloquear máis como ".php,.css,.js" etc. Valor predeterminado: nuloMostrará o xestor de ficheiros na interface. Pero só o administrador pode acceder a el e controlará desde a configuración do xestor de ficheiros.Mostrará o xestor de ficheiros na interface. Podes controlar todas as opcións desde a configuración do xestor de ficheiros. Funcionará igual que o Xestor de ficheiros WP de fondo.Última mensaxe de rexistroLuzRexistrosFacer directorio ou cartafolFacer arquivoTamaño máximo permitido no momento da restauración da copia de seguridade da base de datos.Tamaño máximo de carga de ficheiro (upload_max_filesize)Límite de memoria (memoria_limit)Falta o ID de copia de seguridade.Falta o tipo de parámetro.Faltan os parámetros requiridos.Non, grazasNon hai ningunha mensaxe de rexistroNon se atoparon rexistros.Nota:Nota: Estas son capturas de pantalla de demostración. Compre File Manager pro para as funcións de Rexistros.Nota: Esta é só unha captura de pantalla de demostración. Para obter configuración, compra a nosa versión profesional.Non se seleccionou nada para a copia de seguranzaNon se seleccionou nada para a copia de seguranza.OkOkOutros (Calquera outro directorio atopado dentro de wp-content)Outras copias de seguridade realizadas na data Feito a copia de seguridade doutros.Fallou a copia de seguranza doutros.Outras copias de seguridade restauráronse correctamente.Versión PHPParámetros:Pega un ficheiro ou cartafolIntroduza o enderezo de correo electrónico.Introduza o nome.Introduza o apelido.Cambie isto coidadosamente, o camiño incorrecto pode levar a baixar o complemento do xestor de ficheiros.Aumente o valor do campo se recibe unha mensaxe de erro no momento da restauración da copia de seguranza.ComplementosA copia de seguridade dos complementos foi feita na data Copia de seguranza dos complementos feita.Fallou a copia de seguranza dos complementos.A copia de seguridade dos complementos restaurouse correctamente.Envía o tamaño máximo de carga do ficheiro (post_max_size)PreferenciasPolítica de PrivacidadeCamiño de raíz públicoRESTAURAR FICHEIROSElimina ou elimina ficheiros e cartafolesCambia o nome dun ficheiro ou cartafolRestaurarA restauración estase executando, agardeÉXITOGardar cambiosGardando ...Busca cousasProblema de seguridade.Seleccionar todoSelecciona copias de seguranza para eliminar.ConfiguraciónConfiguración: editor de códigoConfiguración - XeralConfiguración: restricións de usuarioConfiguración - Restricións de funcións de usuarioConfiguración gardada.Shortcode - PROCorte simple dun arquivo ou cartafolPropiedades do sistemaTermos de servizoA copia de seguridade aparentemente tivo éxito e agora está completa.TemasCopia de seguridade de temas feita na data Copia de seguranza dos temas feita.Produciuse un erro na copia de seguranza dos temas.A copia de seguridade de temas restaurouse correctamente.Hora agoraTempo de espera (max_execution_time)Para facer un arquivo ou zipHoxeUSO:Non se puido crear a copia de seguranza da base de datos.Non se puido eliminar a copia de seguridade.Non se pode restaurar a copia de seguridade da base de datos.Non se poden restaurar outros.Non se poden restaurar os complementos.Non se poden restaurar os temas.Non se poden restaurar as cargas.Cargar ficheiros de rexistrosCargar ficheirosCargasAs copias de seguridade realizáronse na data Feito a copia de seguranza das cargas.Produciuse un erro na copia de seguranza das cargas.As copias de seguridade restauráronse correctamente.VerificarVer rexistroXestor de ficheiros WPXestor de ficheiros WP - Copia de seguridade / restauraciónContribución do xestor de ficheiros WPEncántanos facer novos amigos. Subscríbete a continuación e prometemos facelo estar ao día cos nosos novos complementos, actualizacións, ofertas incribles e algunhas ofertas especiais.Benvido ao Xestor de ficheirosNon fixo ningún cambio para gardalo.para acceder ao permiso de lectura de ficheiros, nota: verdadeiro/falso, predeterminado: verdadeiropara acceder aos permisos de escritura de ficheiros, nota: verdadeiro/falso, predeterminado: falsoocultarase aquí mencionado. Nota: separados por coma (,). Valor predeterminado: nulowp-file-manager/languages/wp-file-manager-gl_ES.po000064400000070320151202472330015770 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-25 18:30+0530\n" "PO-Revision-Date: 2022-02-25 18:34+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: gl_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "A copia de seguridade de temas restaurouse correctamente." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Non se poden restaurar os temas." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "As copias de seguridade restauráronse correctamente." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Non se poden restaurar as cargas." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Outras copias de seguridade restauráronse correctamente." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Non se poden restaurar outros." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "A copia de seguridade dos complementos restaurouse correctamente." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Non se poden restaurar os complementos." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Restaurouse correctamente a copia de seguridade da base de datos." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Todo feito" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Non se pode restaurar a copia de seguridade da base de datos." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Elimináronse correctamente as copias de seguridade." #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Non se puido eliminar a copia de seguridade." #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "A copia de seguridade da base de datos realizouse na data " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "A copia de seguridade dos complementos foi feita na data " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Copia de seguridade de temas feita na data " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "As copias de seguridade realizáronse na data " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Outras copias de seguridade realizadas na data " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Rexistros" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Non se atoparon rexistros." #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Non se seleccionou nada para a copia de seguranza" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Problema de seguridade." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Copia de seguranza da base de datos feita." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Non se puido crear a copia de seguranza da base de datos." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Copia de seguranza dos complementos feita." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Fallou a copia de seguranza dos complementos." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Copia de seguranza dos temas feita." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Produciuse un erro na copia de seguranza dos temas." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Feito a copia de seguranza das cargas." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Produciuse un erro na copia de seguranza das cargas." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Feito a copia de seguridade doutros." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Fallou a copia de seguranza doutros." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Xestor de ficheiros WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Configuración" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferencias" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Propiedades do sistema" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Copia de seguranza/Restauración" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Compra Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Doa" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "O ficheiro non existe para descargar." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Código de seguridade non válido." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Falta o ID de copia de seguridade." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Falta o tipo de parámetro." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Faltan os parámetros requiridos." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Erro: non se puido restaurar a copia de seguranza porque a copia de " "seguranza da base de datos ten un gran tamaño. Tenta aumentar o tamaño " "máximo permitido desde a configuración de Preferencias." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Selecciona copias de seguranza para eliminar." #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Seguro que queres eliminar as copias de seguridade seleccionadas?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "A copia de seguridade está en execución. Agarde" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "A restauración estase executando, agarde" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Non se seleccionou nada para a copia de seguranza." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Xestor de ficheiros WP - Copia de seguridade / restauración" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opcións de copia de seguridade:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Copia de seguridade da base de datos" #: inc/backup.php:64 msgid "Files Backup" msgstr "Copia de seguridade de ficheiros" #: inc/backup.php:68 msgid "Plugins" msgstr "Complementos" #: inc/backup.php:71 msgid "Themes" msgstr "Temas" #: inc/backup.php:74 msgid "Uploads" msgstr "Cargas" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Outros (Calquera outro directorio atopado dentro de wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Fai unha copia de seguridade agora" #: inc/backup.php:89 msgid "Time now" msgstr "Hora agora" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ÉXITO" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Eliminouse correctamente a copia de seguridade." #: inc/backup.php:102 msgid "Ok" msgstr "Ok" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ELIMINA FICHEIROS" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Seguro que queres eliminar esta copia de seguridade?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Cancelar" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Confirmar" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RESTAURAR FICHEIROS" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Seguro que queres restaurar esta copia de seguridade?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Última mensaxe de rexistro" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "A copia de seguridade aparentemente tivo éxito e agora está completa." #: inc/backup.php:171 msgid "No log message" msgstr "Non hai ningunha mensaxe de rexistro" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Copia de seguridade existente" #: inc/backup.php:184 msgid "Backup Date" msgstr "Data de copia de seguridade" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Datos de copia de seguridade (fai clic para descargar)" #: inc/backup.php:190 msgid "Action" msgstr "Acción" #: inc/backup.php:210 msgid "Today" msgstr "Hoxe" #: inc/backup.php:239 msgid "Restore" msgstr "Restaurar" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Eliminar" #: inc/backup.php:241 msgid "View Log" msgstr "Ver rexistro" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Actualmente non se atoparon copias de seguridade." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Accións sobre as copias de seguridade seleccionadas" #: inc/backup.php:251 msgid "Select All" msgstr "Seleccionar todo" #: inc/backup.php:252 msgid "Deselect" msgstr "Deseleccionar" #: inc/backup.php:254 msgid "Note:" msgstr "Nota:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Os ficheiros de copia de seguridade estarán baixo" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Contribución do xestor de ficheiros WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Nota: Estas son capturas de pantalla de demostración. Compre File Manager " "pro para as funcións de Rexistros." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Fai clic para comprar PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Compra PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Editar rexistros de ficheiros" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Descargar rexistros de ficheiros" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Cargar ficheiros de rexistros" #: inc/root.php:43 msgid "Settings saved." msgstr "Configuración gardada." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Rexeita este aviso." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Non fixo ningún cambio para gardalo." #: inc/root.php:55 msgid "Public Root Path" msgstr "Camiño de raíz público" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Camiño raíz do xestor de ficheiros, pode cambiar segundo a súa elección." #: inc/root.php:59 msgid "Default:" msgstr "Predeterminado:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Cambie isto coidadosamente, o camiño incorrecto pode levar a baixar o " "complemento do xestor de ficheiros." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Queres activar o lixo?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Despois de habilitar o lixo, os teus ficheiros irán ao cartafol do lixo." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Queres activar a carga de ficheiros na biblioteca multimedia?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Despois de habilitalo, todos os ficheiros irán á biblioteca multimedia." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Tamaño máximo permitido no momento da restauración da copia de seguridade da " "base de datos." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Aumente o valor do campo se recibe unha mensaxe de erro no momento da " "restauración da copia de seguranza." #: inc/root.php:90 msgid "Save Changes" msgstr "Gardar cambios" #: inc/settings.php:10 msgid "Settings - General" msgstr "Configuración - Xeral" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Nota: Esta é só unha captura de pantalla de demostración. Para obter " "configuración, compra a nosa versión profesional." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Aquí o administrador pode dar acceso aos roles de usuario para usar o xestor " "de ficheiros. O administrador pode configurar o cartafol de acceso " "predeterminado e tamén controlar o tamaño de carga do xestor de ficheiros." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Configuración: editor de código" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "O Xestor de ficheiros ten un editor de código con varios temas. Podes " "seleccionar calquera tema para o editor de código. Amosarase cando edite " "calquera ficheiro. Tamén pode permitir o modo de pantalla completa do editor " "de código." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Vista do editor de código" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Configuración: restricións de usuario" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "O administrador pode restrinxir as accións de calquera usuario. Tamén oculta " "ficheiros e cartafoles e pode establecer camiños de cartafoles diferentes " "para diferentes usuarios." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Configuración - Restricións de funcións de usuario" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "O administrador pode restrinxir as accións de calquera rol de usuario. Tamén " "oculta ficheiros e cartafoles e pode definir camiños de cartafoles " "diferentes para papeis de usuarios diferentes." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Xestor de ficheiros: código abreviado" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "USO:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Mostrará o xestor de ficheiros na interface. Podes controlar todas as " "opcións desde a configuración do xestor de ficheiros. Funcionará igual que o " "Xestor de ficheiros WP de fondo." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Mostrará o xestor de ficheiros na interface. Pero só o administrador pode " "acceder a el e controlará desde a configuración do xestor de ficheiros." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parámetros:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Permitirá que todos os roles accedan ao xestor de ficheiros na interface ou " "Podes usar de forma sinxela para roles de usuario particulares como " "allow_roles=\"editor,author\" (separado por coma (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Aquí \"proba\" é o nome do cartafol que se atopa no directorio raíz, ou pode " "dar o camiño para os subcartafoles como \"wp-content/plugins\". Se o deixas " "en branco ou baleiro accederá a todos os cartafoles do directorio raíz. " "Predeterminado: directorio raíz" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "para acceder aos permisos de escritura de ficheiros, nota: verdadeiro/falso, " "predeterminado: falso" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "para acceder ao permiso de lectura de ficheiros, nota: verdadeiro/falso, " "predeterminado: verdadeiro" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "ocultarase aquí mencionado. Nota: separados por coma (,). Valor " "predeterminado: nulo" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Bloquearase mencionado entre comas. pode bloquear máis como \".php,.css,.js" "\" etc. Valor predeterminado: nulo" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* Para todas as operacións e para permitir algunha operación, pode mencionar " "o nome da operación como permitido_operations=\"cargar, descargar\". Nota: " "separados por coma (,). Predeterminado: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lista de operacións de ficheiros:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Facer directorio ou cartafol" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Facer arquivo" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Cambia o nome dun ficheiro ou cartafol" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplicar ou clonar un cartafol ou ficheiro" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Pega un ficheiro ou cartafol" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Prohibición" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Para facer un arquivo ou zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extraer arquivo ou arquivo comprimido" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Copia ficheiros ou cartafoles" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Corte simple dun arquivo ou cartafol" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Edite un ficheiro" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Elimina ou elimina ficheiros e cartafoles" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Descargar ficheiros" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Cargar ficheiros" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Busca cousas" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Información do ficheiro" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Axuda" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Prohibirá a determinados usuarios só poñendo os seus identificadores " "separados por comas (,). Se o usuario é Ban, non poderán acceder ao xestor " "de ficheiros wp na interface." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI View. Por defecto: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Arquivo modificado ou Crear formato de data. Predeterminado: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Idioma do xestor de ficheiros. Predeterminado: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema Xestor de ficheiros. Predeterminado: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Xestor de ficheiros - Propiedades do sistema" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Versión PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Tamaño máximo de carga de ficheiro (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Envía o tamaño máximo de carga do ficheiro (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Límite de memoria (memoria_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Tempo de espera (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Navegador e SO (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Cambia de tema aquí:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Predeterminado" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Escuro" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Luz" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Gris" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Benvido ao Xestor de ficheiros" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Encántanos facer novos amigos. Subscríbete a continuación e prometemos " "facelo\n" " estar ao día cos nosos novos complementos, actualizacións,\n" " ofertas incribles e algunhas ofertas especiais." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Introduza o nome." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Introduza o apelido." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Introduza o enderezo de correo electrónico." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verificar" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Non, grazas" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Termos de servizo" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Política de Privacidade" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Gardando ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Ok" #~ msgid "Backup not found!" #~ msgstr "Non se atopou a copia de seguridade." #~ msgid "Backup removed successfully!" #~ msgstr "Eliminouse correctamente a copia de seguridade." #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Non hai nada seleccionado para a copia " #~ "de seguridade" #~ msgid "Security Issue." #~ msgstr "Problema de seguridade." #~ msgid "Database backup done." #~ msgstr "" #~ "Fixo a copia de seguridade da base de " #~ "datos." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Non se pode crear unha copia de " #~ "seguridade da base de datos." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Fixo a copia de seguridade dos " #~ "complementos." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Fallou a copia de seguridade dos " #~ "complementos." #~ msgid "Themes backup done." #~ msgstr "" #~ "Fixo a copia de seguridade dos temas." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Fallou a copia de seguridade dos temas." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Fixo a copia de seguridade das cargas." #~ "" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Fallou a copia de seguranza das cargas." #~ msgid "Others backup done." #~ msgstr "" #~ "Outras copias de seguridade realizadas." #~ "" #~ msgid "Others backup failed." #~ msgstr "" #~ "Fallou a copia de seguridade doutras." #~ msgid "All Done" #~ msgstr "Todo feito" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Xestiona os teus ficheiros WP." #~ msgid "Extensions" #~ msgstr "Extensións" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Contribúe con algunha doazón, para que o complemento sexa máis estable. " #~ "Podes pagar cantidade da túa elección." wp-file-manager/languages/wp-file-manager-gu.mo000064400000064531151202472330015416 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&N( *T+-,a,Y-w-Q--/&11O2m2l2~\33 3&4hC464h4UL5%5L564.6c666$6F6#7>7O[7O7)7%8%58U[868j8S9i999.99<:/=:xm:<:2#;V;-;}<"=i=:>MV>>38?6lAiA B-B =B0GBxD%JF3pFF|Hn^IJ,NL{LLKLLMrM4M1/N@aN:NN-N.O NO\O3PP QQ[QQQQ?QR-R=RaR_SySFSZSN2TTTTUxVXV=VI(WmrWW`X%vX#X;XmXLjY!YnYHZ(XZ,ZZ)Z ZQ[k[4[0[U[h@\)\)\I\+G]s]]^O#^4s^@^d^N_3b_L_ __U`CW`^`X`dSa[aab3vb)bbOb=:c@xcjc$d4d.HdJwd>deRfa$gghh}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-02 10:57+0530 Last-Translator: admin Language-Team: Language: gu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * તમામ કામગીરી માટે અને અમુક કામગીરીને મંજૂરી આપવા માટે તમે ઓપરેશન નામનો ઉલ્લેખ કરી શકો છો જેમ કે, મંજૂર_ઓપરેશન="અપલોડ, ડાઉનલોડ". નોંધ: અલ્પવિરામ (,) દ્વારા વિભાજિત. ડિફૉલ્ટ: *-> તે ચોક્કસ વપરાશકર્તાઓને અલ્પવિરામ (,) દ્વારા અલગ કરાયેલ તેમના આઈડી મૂકીને પ્રતિબંધિત કરશે. જો વપરાશકર્તા પ્રતિબંધિત છે તો તેઓ આગળના છેડે wp ફાઇલ મેનેજરને ઍક્સેસ કરી શકશે નહીં.-> ફાઇલ મેનેજર થીમ. મૂળભૂત: પ્રકાશ-> ફાઇલ સંશોધિત અથવા તારીખ ફોર્મેટ બનાવો. ડિફોલ્ટ: d M, Y h:i A-> ફાઇલ મેનેજર ભાષા. મૂળભૂત: અંગ્રેજી(en)-> ફાઇલમેનેજર UI વ્યૂ. ડિફૉલ્ટ: ગ્રીડક્રિયાપસંદ કરેલ બેકઅપ(ઓ) પરની ક્રિયાઓએડમિન કોઈપણ વપરાશકર્તાની ક્રિયાઓ પ્રતિબંધિત કરી શકે છે. પણ ફાઇલો અને ફોલ્ડર્સને છુપાવી શકો છો અને અલગ અલગ સેટ કરી શકો છો - જુદા જુદા વપરાશકર્તાઓ માટે અલગ ફોલ્ડર પાથ.એડમિન કોઈપણ userrole ની ક્રિયાઓ પ્રતિબંધિત કરી શકે છે. ફાઇલો અને ફોલ્ડર્સ પણ છુપાવો અને જુદા જુદા વપરાશકર્તાઓની ભૂમિકાઓ માટે અલગ-અલગ ફોલ્ડર્સ પાથ સેટ કરી શકો છો.ટ્રેશને સક્ષમ કર્યા પછી, તમારી ફાઇલો ટ્રેશ ફોલ્ડરમાં જશે.આને સક્ષમ કર્યા પછી બધી ફાઇલો મીડિયા લાઇબ્રેરીમાં જશે.બધુ થઈ ગયુંશું તમે ખરેખર પસંદ કરેલ બેકઅપ(ઓ) દૂર કરવા માંગો છો?શું તમે ખરેખર આ બેકઅપ કાઢી નાખવા માંગો છો?શું તમે ખરેખર આ બેકઅપ પુનઃસ્થાપિત કરવા માંગો છો?બેકઅપ તારીખહવે બેકઅપ લોબેકઅપ વિકલ્પો:બેકઅપ ડેટા (ડાઉનલોડ કરવા માટે ક્લિક કરો)બેકઅપ ફાઈલો હેઠળ હશેબેકઅપ ચાલી રહ્યું છે, કૃપા કરીને રાહ જુઓબેકઅપ સફળતાપૂર્વક કાઢી નાખ્યું.બેકઅપ/રીસ્ટોરબેકઅપ સફળતાપૂર્વક દૂર કર્યા!પ્રતિબંધબ્રાઉઝર અને OS (HTTP_USER_AGENT)પ્રો ખરીદોપ્રો ખરીદોરદ કરોથીમ અહીં બદલો:પ્રો ખરીદવા માટે ક્લિક કરોકોડ એડિટર જુઓપુષ્ટિ કરોફાઇલો અથવા ફોલ્ડર્સની નકલ કરોહાલમાં કોઈ બેકઅપ(ઓ) મળ્યું નથી.ફાઇલો કાઢી નાખોશ્યામડેટાબેઝ બેકઅપડેટાબેઝ બેકઅપ તારીખે પૂર્ણ થયુંડેટાબેઝ બેકઅપ પૂર્ણ.ડેટાબેઝ બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત.ડિફૉલ્ટડિફૉલ્ટ:કાઢી નાખોનાપસંદ કરોઆ નોટિસ કાઢી નાખો.દાન કરવુંફાઇલ લૉગ્સ ડાઉનલોડ કરોફાઇલો ડાઉનલોડ કરોફોલ્ડર અથવા ફાઇલનું ડુપ્લિકેટ અથવા ક્લોન કરોફાઇલ લૉગ્સ સંપાદિત કરોફાઇલમાં ફેરફાર કરોમીડિયા લાઇબ્રેરીમાં ફાઇલો અપલોડ કરવાનું સક્ષમ કરીએ?ટ્રેશ સક્ષમ કરીએ?ભૂલ: બેકઅપ પુનઃસ્થાપિત કરવામાં અસમર્થ કારણ કે ડેટાબેઝ બેકઅપ કદમાં ભારે છે. કૃપા કરીને પસંદગી સેટિંગ્સમાંથી મહત્તમ માન્ય કદ વધારવાનો પ્રયાસ કરો.હાલનું બેકઅપઆર્કાઇવ અથવા ઝિપ કરેલી ફાઇલને બહાર કાઢોફાઇલ મેનેજર - શોર્ટકોડફાઇલ મેનેજર - સિસ્ટમ ગુણધર્મોફાઇલ મેનેજર રૂટ પાથ, તમે તમારી પસંદગી અનુસાર બદલી શકો છો.ફાઇલ વ્યવસ્થાપક પાસે બહુવિધ થીમ્સ સાથેનો કોડ એડિટર છે તમે કોડ એડિટર માટે કોઈપણ થીમ પસંદ કરી શકો છો. જ્યારે તમે કોઈપણ ફાઇલ સંપાદિત કરો ત્યારે તે પ્રદર્શિત થશે. પણ તમે કોડ એડિટરના પૂર્ણસ્ક્રીન મોડને મંજૂરી આપી શકો છો.ફાઇલ કામગીરીની સૂચિ:ડાઉનલોડ કરવા માટે ફાઇલ અસ્તિત્વમાં નથી.ફાઈલો બેકઅપભૂખરામદદઅહીં "ટેસ્ટ" એ ફોલ્ડરનું નામ છે જે રૂટ ડાયરેક્ટરી પર સ્થિત છે, અથવા તમે "wp-content/plugins" જેવા સબ ફોલ્ડર્સ માટે પાથ આપી શકો છો. જો ખાલી અથવા ખાલી છોડો તો તે રૂટ ડિરેક્ટરી પરના તમામ ફોલ્ડર્સને ઍક્સેસ કરશે. ડિફૉલ્ટ: રૂટ ડિરેક્ટરીઅહીં એડમિન ફાઇલમેનિઅરનો ઉપયોગ કરવા માટે વપરાશકર્તા ભૂમિકાઓને ઍક્સેસ આપી શકે છે. એડમિન ડિફૉલ્ટ ઍક્સેસ ફોલ્ડર સેટ કરી શકે છે અને ફાઇલમેનિઅરનું અપલોડ માપ પણ નિયંત્રિત કરી શકે છે.ફાઇલની માહિતીઅમાન્ય સુરક્ષા કોડ.તે બધી ભૂમિકાઓને ફ્રન્ટ એન્ડ પર ફાઇલ મેનેજરને ઍક્સેસ કરવાની મંજૂરી આપશે અથવા તમે ચોક્કસ વપરાશકર્તા ભૂમિકાઓ માટે સરળ ઉપયોગ કરી શકો છો જેમ કે allow_roles="editor,author" (અલ્પવિરામ દ્વારા વિભાજિત(,))તે અલ્પવિરામમાં ઉલ્લેખિત લૉક કરશે. તમે ".php,.css,.js" વગેરે જેવા વધુ લોક કરી શકો છો. ડિફોલ્ટ: નલતે ફ્રન્ટ એન્ડ પર ફાઇલ મેનેજર બતાવશે. પરંતુ માત્ર એડમિનિસ્ટ્રેટર જ તેને એક્સેસ કરી શકે છે અને તે ફાઇલ મેનેજર સેટિંગ્સમાંથી નિયંત્રિત કરશે.તે ફ્રન્ટ એન્ડ પર ફાઇલ મેનેજર બતાવશે. તમે ફાઇલ મેનેજર સેટિંગ્સમાંથી બધી સેટિંગ્સને નિયંત્રિત કરી શકો છો. તે બેકએન્ડ WP ફાઇલ મેનેજરની જેમ જ કામ કરશે.છેલ્લો લોગ સંદેશપ્રકાશલોગ્સડિરેક્ટરી અથવા ફોલ્ડર બનાવોફાઇલ બનાવોડેટાબેઝ બેકઅપ પુનઃસ્થાપના સમયે મહત્તમ માન્ય કદ.મહત્તમ ફાઇલ અપલોડ કદ (અપલોડ_માક્સ_ફાઇલેસીઝ) મેમરી મર્યાદા (memory_limit)બેકઅપ આઈડી ખૂટે છે.પેરામીટર પ્રકાર ખૂટે છે.જરૂરી પરિમાણો ખૂટે છે.ના આભારકોઈ લોગ સંદેશ નથીકોઈ લોગ મળ્યા નથી!નૉૅધ:નોંધ: આ ડેમો સ્ક્રીનશૉટ્સ છે. કૃપા કરીને લોગ્સ ફંક્શન માટે ફાઇલ મેનેજર પ્રો ખરીદો.નોંધ: આ ફક્ત એક ડેમો સ્ક્રીન છે સેટિંગ્સ મેળવવા માટે અમારા પ્રો આવૃત્તિ ખરીદી કરો.બેકઅપ માટે કંઈપણ પસંદ કરેલ નથીબેકઅપ માટે કંઈપણ પસંદ કરેલ નથી.બરાબરબરાબરઅન્ય (wp-content ની અંદર જોવા મળતી અન્ય કોઈપણ ડિરેક્ટરીઓ)અન્ય બેકઅપ તારીખે પૂર્ણઅન્ય બેકઅપ પૂર્ણ.અન્ય બેકઅપ નિષ્ફળ થયું.અન્ય બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત.PHP આવૃત્તિપરિમાણો:ફાઇલ અથવા ફોલ્ડર પેસ્ટ કરોકૃપા કરીને ઇમેઇલ સરનામું દાખલ કરો.કૃપા કરીને પ્રથમ નામ દાખલ કરો.કૃપા કરીને છેલ્લું નામ દાખલ કરો.કૃપા કરીને આને કાળજીપૂર્વક બદલો, ખોટો રસ્તો ફાઈલ મેનેજર પ્લગઈનને નીચે જઈ શકે છે.જો તમને બેકઅપ પુનઃસ્થાપના સમયે ભૂલ સંદેશો મળે તો કૃપા કરીને ફીલ્ડ મૂલ્ય વધારો.પ્લગઇન્સપ્લગઇન્સ બેકઅપ તારીખે પૂર્ણ થયુંપ્લગઈન્સ બેકઅપ થઈ ગયું.પ્લગઈન્સ બેકઅપ નિષ્ફળ થયું.પ્લગઈન્સ બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત.મહત્તમ ફાઇલ અપલોડ કદ પોસ્ટ કરો (પોસ્ટ_મેક્સ_સાઇઝ)પસંદગીઓગોપનીયતા નીતિજાહેર રુટ પાથફાઇલો પુનઃસ્થાપિત કરોફાઇલો અને ફોલ્ડર્સ દૂર કરો અથવા કાઢી નાખોફાઇલ અથવા ફોલ્ડરનું નામ બદલોપુનઃસ્થાપિતરિસ્ટોર ચાલી રહ્યું છે, કૃપા કરીને રાહ જુઓસફળતાફેરફારો સંગ્રહસાચવી રહ્યું છે...વસ્તુઓ શોધોસુરક્ષા સમસ્યા.બધા પસંદ કરોકાઢી નાખવા માટે બેકઅપ પસંદ કરો!સેટિંગ્સસેટિંગ્સ - કોડ-એડિટરસેટિંગ્સ - સામાન્યસેટિંગ્સ - વપરાશકર્તા પ્રતિબંધોસેટિંગ્સ - વપરાશકર્તા ભૂમિકા પ્રતિબંધોસેટિંગ્સ સાચવી.શોર્ટકોડ – પ્રોફાઇલ અથવા ફોલ્ડરને સરળ કાપોસિસ્ટમ ગુણધર્મોસેવાની શરતોબેકઅપ દેખીતી રીતે સફળ થયું અને હવે પૂર્ણ થયું છે.થીમ્સથીમ્સ બેકઅપ તારીખે પૂર્ણ થયુંથીમ્સ બેકઅપ થઈ ગયું.થીમ્સ બેકઅપ નિષ્ફળ થયું.થીમ્સ બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત.હવે સમયસમયસમાપ્તિ (max_execution_time)આર્કાઇવ અથવા ઝિપ બનાવવા માટેઆજેવાપરવુ:ડેટાબેઝ બેકઅપ બનાવવામાં અસમર્થ.બેકઅપ દૂર કરવામાં અસમર્થ!DB બેકઅપ પુનઃસ્થાપિત કરવામાં અસમર્થ.અન્ય પુનઃસ્થાપિત કરવામાં અસમર્થ.પ્લગઈન્સ પુનઃસ્થાપિત કરવામાં અસમર્થ.થીમ્સ પુનઃસ્થાપિત કરવામાં અસમર્થ.અપલોડ્સ પુનઃસ્થાપિત કરવામાં અસમર્થ.ફાઇલો લોગ અપલોડ કરોફાઇલો અપલોડ કરોઅપલોડ્સઅપલોડ બેકઅપ તારીખે પૂર્ણ થયુંઅપલોડ બેકઅપ પૂર્ણ થયું.અપલોડ બેકઅપ નિષ્ફળ થયું.અપલોડ્સ બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત.ચકાસોલોગ જુઓWP ફાઇલ વ્યવસ્થાપકWP ફાઇલ મેનેજર - બેકઅપ/રીસ્ટોરWP ફાઇલ મેનેજરનું યોગદાનઅમને નવા મિત્રો બનાવવાનું ગમે છે! નીચે સબ્સ્ક્રાઇબ કરો અને અમે તમને અમારા નવીનતમ નવા પ્લગિન્સ, અપડેટ્સ, અદ્ભુત ડીલ્સ અને કેટલીક વિશેષ ઑફર્સ સાથે અપ-ટૂ-ડેટ રાખવાનું વચન આપીએ છીએ.ફાઇલ મેનેજરમાં આપનું સ્વાગત છેતમે સાચવવા માટે કોઈ ફેરફાર કર્યા નથી.ફાઇલો વાંચવાની પરવાનગી મેળવવા માટે, નોંધ કરો: true/false, default: trueફાઇલો લખવાની પરવાનગી મેળવવા માટે, નોંધ કરો: true/false, default: falseતે અહીં ઉલ્લેખ છુપાવશે. નોંધ: અલ્પવિરામ (,) દ્વારા વિભાજિત. ડિફૉલ્ટ: નલwp-file-manager/languages/wp-file-manager-gu.po000064400000102125151202472330015411 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 09:41+0530\n" "PO-Revision-Date: 2022-03-02 10:57+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: gu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "થીમ્સ બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "થીમ્સ પુનઃસ્થાપિત કરવામાં અસમર્થ." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "અપલોડ્સ બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "અપલોડ્સ પુનઃસ્થાપિત કરવામાં અસમર્થ." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "અન્ય બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "અન્ય પુનઃસ્થાપિત કરવામાં અસમર્થ." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "પ્લગઈન્સ બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "પ્લગઈન્સ પુનઃસ્થાપિત કરવામાં અસમર્થ." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "ડેટાબેઝ બેકઅપ સફળતાપૂર્વક પુનઃસ્થાપિત." #: file_folder_manager.php:286 file_folder_manager.php:297 file_folder_manager.php:588 #: file_folder_manager.php:592 msgid "All Done" msgstr "બધુ થઈ ગયું" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "DB બેકઅપ પુનઃસ્થાપિત કરવામાં અસમર્થ." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "બેકઅપ સફળતાપૂર્વક દૂર કર્યા!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "બેકઅપ દૂર કરવામાં અસમર્થ!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "ડેટાબેઝ બેકઅપ તારીખે પૂર્ણ થયું" #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "પ્લગઇન્સ બેકઅપ તારીખે પૂર્ણ થયું" #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "થીમ્સ બેકઅપ તારીખે પૂર્ણ થયું" #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "અપલોડ બેકઅપ તારીખે પૂર્ણ થયું" #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "અન્ય બેકઅપ તારીખે પૂર્ણ" #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "લોગ્સ" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "કોઈ લોગ મળ્યા નથી!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "બેકઅપ માટે કંઈપણ પસંદ કરેલ નથી" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "સુરક્ષા સમસ્યા." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "ડેટાબેઝ બેકઅપ પૂર્ણ." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "ડેટાબેઝ બેકઅપ બનાવવામાં અસમર્થ." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "પ્લગઈન્સ બેકઅપ થઈ ગયું." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "પ્લગઈન્સ બેકઅપ નિષ્ફળ થયું." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "થીમ્સ બેકઅપ થઈ ગયું." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "થીમ્સ બેકઅપ નિષ્ફળ થયું." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "અપલોડ બેકઅપ પૂર્ણ થયું." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "અપલોડ બેકઅપ નિષ્ફળ થયું." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "અન્ય બેકઅપ પૂર્ણ." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "અન્ય બેકઅપ નિષ્ફળ થયું." #: file_folder_manager.php:761 file_folder_manager.php:762 lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP ફાઇલ વ્યવસ્થાપક" #: file_folder_manager.php:769 msgid "Settings" msgstr "સેટિંગ્સ" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "પસંદગીઓ" #: file_folder_manager.php:773 msgid "System Properties" msgstr "સિસ્ટમ ગુણધર્મો" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "શોર્ટકોડ – પ્રો" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "બેકઅપ/રીસ્ટોર" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "પ્રો ખરીદો" #: file_folder_manager.php:1034 msgid "Donate" msgstr "દાન કરવું" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "ડાઉનલોડ કરવા માટે ફાઇલ અસ્તિત્વમાં નથી." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "અમાન્ય સુરક્ષા કોડ." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "બેકઅપ આઈડી ખૂટે છે." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "પેરામીટર પ્રકાર ખૂટે છે." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "જરૂરી પરિમાણો ખૂટે છે." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum " "allowed size from Preferences settings." msgstr "" "ભૂલ: બેકઅપ પુનઃસ્થાપિત કરવામાં અસમર્થ કારણ કે ડેટાબેઝ બેકઅપ કદમાં ભારે છે. કૃપા કરીને પસંદગી સેટિંગ્સમાંથી મહત્તમ માન્ય કદ " "વધારવાનો પ્રયાસ કરો." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "કાઢી નાખવા માટે બેકઅપ પસંદ કરો!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "શું તમે ખરેખર પસંદ કરેલ બેકઅપ(ઓ) દૂર કરવા માંગો છો?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "બેકઅપ ચાલી રહ્યું છે, કૃપા કરીને રાહ જુઓ" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "રિસ્ટોર ચાલી રહ્યું છે, કૃપા કરીને રાહ જુઓ" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "બેકઅપ માટે કંઈપણ પસંદ કરેલ નથી." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP ફાઇલ મેનેજર - બેકઅપ/રીસ્ટોર" #: inc/backup.php:51 msgid "Backup Options:" msgstr "બેકઅપ વિકલ્પો:" #: inc/backup.php:58 msgid "Database Backup" msgstr "ડેટાબેઝ બેકઅપ" #: inc/backup.php:64 msgid "Files Backup" msgstr "ફાઈલો બેકઅપ" #: inc/backup.php:68 msgid "Plugins" msgstr "પ્લગઇન્સ" #: inc/backup.php:71 msgid "Themes" msgstr "થીમ્સ" #: inc/backup.php:74 msgid "Uploads" msgstr "અપલોડ્સ" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "અન્ય (wp-content ની અંદર જોવા મળતી અન્ય કોઈપણ ડિરેક્ટરીઓ)" #: inc/backup.php:81 msgid "Backup Now" msgstr "હવે બેકઅપ લો" #: inc/backup.php:89 msgid "Time now" msgstr "હવે સમય" #: inc/backup.php:99 msgid "SUCCESS" msgstr "સફળતા" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "બેકઅપ સફળતાપૂર્વક કાઢી નાખ્યું." #: inc/backup.php:102 msgid "Ok" msgstr "બરાબર" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ફાઇલો કાઢી નાખો" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "શું તમે ખરેખર આ બેકઅપ કાઢી નાખવા માંગો છો?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "રદ કરો" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "પુષ્ટિ કરો" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ફાઇલો પુનઃસ્થાપિત કરો" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "શું તમે ખરેખર આ બેકઅપ પુનઃસ્થાપિત કરવા માંગો છો?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "છેલ્લો લોગ સંદેશ" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "બેકઅપ દેખીતી રીતે સફળ થયું અને હવે પૂર્ણ થયું છે." #: inc/backup.php:171 msgid "No log message" msgstr "કોઈ લોગ સંદેશ નથી" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "હાલનું બેકઅપ" #: inc/backup.php:184 msgid "Backup Date" msgstr "બેકઅપ તારીખ" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "બેકઅપ ડેટા (ડાઉનલોડ કરવા માટે ક્લિક કરો)" #: inc/backup.php:190 msgid "Action" msgstr "ક્રિયા" #: inc/backup.php:210 msgid "Today" msgstr "આજે" #: inc/backup.php:239 msgid "Restore" msgstr "પુનઃસ્થાપિત" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "કાઢી નાખો" #: inc/backup.php:241 msgid "View Log" msgstr "લોગ જુઓ" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "હાલમાં કોઈ બેકઅપ(ઓ) મળ્યું નથી." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "પસંદ કરેલ બેકઅપ(ઓ) પરની ક્રિયાઓ" #: inc/backup.php:251 msgid "Select All" msgstr "બધા પસંદ કરો" #: inc/backup.php:252 msgid "Deselect" msgstr "નાપસંદ કરો" #: inc/backup.php:254 msgid "Note:" msgstr "નૉૅધ:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "બેકઅપ ફાઈલો હેઠળ હશે" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP ફાઇલ મેનેજરનું યોગદાન" #: inc/logs.php:7 msgid "Note: These are demo screenshots. Please buy File Manager pro to Logs functions." msgstr "નોંધ: આ ડેમો સ્ક્રીનશૉટ્સ છે. કૃપા કરીને લોગ્સ ફંક્શન માટે ફાઇલ મેનેજર પ્રો ખરીદો." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "પ્રો ખરીદવા માટે ક્લિક કરો" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "પ્રો ખરીદો" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "ફાઇલ લૉગ્સ સંપાદિત કરો" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "ફાઇલ લૉગ્સ ડાઉનલોડ કરો" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "ફાઇલો લોગ અપલોડ કરો" #: inc/root.php:43 msgid "Settings saved." msgstr "સેટિંગ્સ સાચવી." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "આ નોટિસ કાઢી નાખો." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "તમે સાચવવા માટે કોઈ ફેરફાર કર્યા નથી." #: inc/root.php:55 msgid "Public Root Path" msgstr "જાહેર રુટ પાથ" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "ફાઇલ મેનેજર રૂટ પાથ, તમે તમારી પસંદગી અનુસાર બદલી શકો છો." #: inc/root.php:59 msgid "Default:" msgstr "ડિફૉલ્ટ:" #: inc/root.php:60 msgid "Please change this carefully, wrong path can lead file manager plugin to go down." msgstr "કૃપા કરીને આને કાળજીપૂર્વક બદલો, ખોટો રસ્તો ફાઈલ મેનેજર પ્લગઈનને નીચે જઈ શકે છે." #: inc/root.php:64 msgid "Enable Trash?" msgstr "ટ્રેશ સક્ષમ કરીએ?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "ટ્રેશને સક્ષમ કર્યા પછી, તમારી ફાઇલો ટ્રેશ ફોલ્ડરમાં જશે." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "મીડિયા લાઇબ્રેરીમાં ફાઇલો અપલોડ કરવાનું સક્ષમ કરીએ?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "આને સક્ષમ કર્યા પછી બધી ફાઇલો મીડિયા લાઇબ્રેરીમાં જશે." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "ડેટાબેઝ બેકઅપ પુનઃસ્થાપના સમયે મહત્તમ માન્ય કદ." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "Please increase field value if you are getting error message at the time of backup restore." msgstr "જો તમને બેકઅપ પુનઃસ્થાપના સમયે ભૂલ સંદેશો મળે તો કૃપા કરીને ફીલ્ડ મૂલ્ય વધારો." #: inc/root.php:90 msgid "Save Changes" msgstr "ફેરફારો સંગ્રહ" #: inc/settings.php:10 msgid "Settings - General" msgstr "સેટિંગ્સ - સામાન્ય" #: inc/settings.php:11 inc/settings.php:26 msgid "Note: This is just a demo screenshot. To get settings please buy our pro version." msgstr "નોંધ: આ ફક્ત એક ડેમો સ્ક્રીન છે સેટિંગ્સ મેળવવા માટે અમારા પ્રો આવૃત્તિ ખરીદી કરો." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also " "control upload size of filemanager." msgstr "" "અહીં એડમિન ફાઇલમેનિઅરનો ઉપયોગ કરવા માટે વપરાશકર્તા ભૂમિકાઓને ઍક્સેસ આપી શકે છે. એડમિન ડિફૉલ્ટ ઍક્સેસ ફોલ્ડર સેટ કરી શકે છે અને " "ફાઇલમેનિઅરનું અપલોડ માપ પણ નિયંત્રિત કરી શકે છે." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "સેટિંગ્સ - કોડ-એડિટર" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any theme for code editor. It will " "display when you edit any file. Also you can allow fullscreen mode of code editor." msgstr "" "ફાઇલ વ્યવસ્થાપક પાસે બહુવિધ થીમ્સ સાથેનો કોડ એડિટર છે તમે કોડ એડિટર માટે કોઈપણ થીમ પસંદ કરી શકો છો. જ્યારે તમે કોઈપણ ફાઇલ " "સંપાદિત કરો ત્યારે તે પ્રદર્શિત થશે. પણ તમે કોડ એડિટરના પૂર્ણસ્ક્રીન મોડને મંજૂરી આપી શકો છો." #: inc/settings.php:18 msgid "Code-editor View" msgstr "કોડ એડિટર જુઓ" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "સેટિંગ્સ - વપરાશકર્તા પ્રતિબંધો" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can set different - different " "folders paths for different users." msgstr "" "એડમિન કોઈપણ વપરાશકર્તાની ક્રિયાઓ પ્રતિબંધિત કરી શકે છે. પણ ફાઇલો અને ફોલ્ડર્સને છુપાવી શકો છો અને અલગ અલગ સેટ કરી શકો છો " "- જુદા જુદા વપરાશકર્તાઓ માટે અલગ ફોલ્ડર પાથ." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "સેટિંગ્સ - વપરાશકર્તા ભૂમિકા પ્રતિબંધો" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and can set different - different " "folders paths for different users roles." msgstr "" "એડમિન કોઈપણ userrole ની ક્રિયાઓ પ્રતિબંધિત કરી શકે છે. ફાઇલો અને ફોલ્ડર્સ પણ છુપાવો અને જુદા જુદા વપરાશકર્તાઓની ભૂમિકાઓ " "માટે અલગ-અલગ ફોલ્ડર્સ પાથ સેટ કરી શકો છો." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "ફાઇલ મેનેજર - શોર્ટકોડ" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 inc/shortcode_docs.php:19 msgid "USE:" msgstr "વાપરવુ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from file manager settings. It will " "work same as backend WP File Manager." msgstr "" "તે ફ્રન્ટ એન્ડ પર ફાઇલ મેનેજર બતાવશે. તમે ફાઇલ મેનેજર સેટિંગ્સમાંથી બધી સેટિંગ્સને નિયંત્રિત કરી શકો છો. તે બેકએન્ડ WP ફાઇલ મેનેજરની " "જેમ જ કામ કરશે." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it and will control from file " "manager settings." msgstr "" "તે ફ્રન્ટ એન્ડ પર ફાઇલ મેનેજર બતાવશે. પરંતુ માત્ર એડમિનિસ્ટ્રેટર જ તેને એક્સેસ કરી શકે છે અને તે ફાઇલ મેનેજર સેટિંગ્સમાંથી નિયંત્રિત કરશે." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "પરિમાણો:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can simple use for particular user roles " "as like allowed_roles=\"editor,author\" (seprated by comma(,))" msgstr "" "તે બધી ભૂમિકાઓને ફ્રન્ટ એન્ડ પર ફાઇલ મેનેજરને ઍક્સેસ કરવાની મંજૂરી આપશે અથવા તમે ચોક્કસ વપરાશકર્તા ભૂમિકાઓ માટે સરળ ઉપયોગ કરી " "શકો છો જેમ કે allow_roles=\"editor,author\" (અલ્પવિરામ દ્વારા વિભાજિત(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or you can give path for sub folders " "as like \"wp-content/plugins\". If leave blank or empty it will access all folders on root directory. " "Default: Root directory" msgstr "" "અહીં \"ટેસ્ટ\" એ ફોલ્ડરનું નામ છે જે રૂટ ડાયરેક્ટરી પર સ્થિત છે, અથવા તમે \"wp-content/plugins\" જેવા સબ ફોલ્ડર્સ માટે પાથ આપી " "શકો છો. જો ખાલી અથવા ખાલી છોડો તો તે રૂટ ડિરેક્ટરી પરના તમામ ફોલ્ડર્સને ઍક્સેસ કરશે. ડિફૉલ્ટ: રૂટ ડિરેક્ટરી" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "ફાઇલો લખવાની પરવાનગી મેળવવા માટે, નોંધ કરો: true/false, default: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "ફાઇલો વાંચવાની પરવાનગી મેળવવા માટે, નોંધ કરો: true/false, default: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "તે અહીં ઉલ્લેખ છુપાવશે. નોંધ: અલ્પવિરામ (,) દ્વારા વિભાજિત. ડિફૉલ્ટ: નલ" #: inc/shortcode_docs.php:36 msgid "It will lock mentioned in commas. you can lock more as like \".php,.css,.js\" etc. Default: Null" msgstr "તે અલ્પવિરામમાં ઉલ્લેખિત લૉક કરશે. તમે \".php,.css,.js\" વગેરે જેવા વધુ લોક કરી શકો છો. ડિફોલ્ટ: નલ" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation name as like, allowed_operations=" "\"upload,download\". Note: seprated by comma(,). Default: *" msgstr "" "* તમામ કામગીરી માટે અને અમુક કામગીરીને મંજૂરી આપવા માટે તમે ઓપરેશન નામનો ઉલ્લેખ કરી શકો છો જેમ કે, મંજૂર_ઓપરેશન=\"અપલોડ, " "ડાઉનલોડ\". નોંધ: અલ્પવિરામ (,) દ્વારા વિભાજિત. ડિફૉલ્ટ: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "ફાઇલ કામગીરીની સૂચિ:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "ડિરેક્ટરી અથવા ફોલ્ડર બનાવો" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "ફાઇલ બનાવો" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "ફાઇલ અથવા ફોલ્ડરનું નામ બદલો" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "ફોલ્ડર અથવા ફાઇલનું ડુપ્લિકેટ અથવા ક્લોન કરો" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "ફાઇલ અથવા ફોલ્ડર પેસ્ટ કરો" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "પ્રતિબંધ" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "આર્કાઇવ અથવા ઝિપ બનાવવા માટે" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "આર્કાઇવ અથવા ઝિપ કરેલી ફાઇલને બહાર કાઢો" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "ફાઇલો અથવા ફોલ્ડર્સની નકલ કરો" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "ફાઇલ અથવા ફોલ્ડરને સરળ કાપો" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "ફાઇલમાં ફેરફાર કરો" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "ફાઇલો અને ફોલ્ડર્સ દૂર કરો અથવા કાઢી નાખો" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "ફાઇલો ડાઉનલોડ કરો" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "ફાઇલો અપલોડ કરો" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "વસ્તુઓ શોધો" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "ફાઇલની માહિતી" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "મદદ" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they " "will not able to access wp file manager on front end." msgstr "" "-> તે ચોક્કસ વપરાશકર્તાઓને અલ્પવિરામ (,) દ્વારા અલગ કરાયેલ તેમના આઈડી મૂકીને પ્રતિબંધિત કરશે. જો વપરાશકર્તા પ્રતિબંધિત છે તો " "તેઓ આગળના છેડે wp ફાઇલ મેનેજરને ઍક્સેસ કરી શકશે નહીં." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> ફાઇલમેનેજર UI વ્યૂ. ડિફૉલ્ટ: ગ્રીડ" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> ફાઇલ સંશોધિત અથવા તારીખ ફોર્મેટ બનાવો. ડિફોલ્ટ: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> ફાઇલ મેનેજર ભાષા. મૂળભૂત: અંગ્રેજી(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> ફાઇલ મેનેજર થીમ. મૂળભૂત: પ્રકાશ" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "ફાઇલ મેનેજર - સિસ્ટમ ગુણધર્મો" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP આવૃત્તિ" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "મહત્તમ ફાઇલ અપલોડ કદ (અપલોડ_માક્સ_ફાઇલેસીઝ) " #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "મહત્તમ ફાઇલ અપલોડ કદ પોસ્ટ કરો (પોસ્ટ_મેક્સ_સાઇઝ)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "મેમરી મર્યાદા (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "સમયસમાપ્તિ (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "બ્રાઉઝર અને OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "થીમ અહીં બદલો:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "ડિફૉલ્ટ" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "શ્યામ" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "પ્રકાશ" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "ભૂખરા" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "ફાઇલ મેનેજરમાં આપનું સ્વાગત છે" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "અમને નવા મિત્રો બનાવવાનું ગમે છે! નીચે સબ્સ્ક્રાઇબ કરો અને અમે તમને અમારા નવીનતમ નવા પ્લગિન્સ, અપડેટ્સ, અદ્ભુત ડીલ્સ અને કેટલીક " "વિશેષ ઑફર્સ સાથે અપ-ટૂ-ડેટ રાખવાનું વચન આપીએ છીએ." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "કૃપા કરીને પ્રથમ નામ દાખલ કરો." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "કૃપા કરીને છેલ્લું નામ દાખલ કરો." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "કૃપા કરીને ઇમેઇલ સરનામું દાખલ કરો." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "ચકાસો" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "ના આભાર" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "સેવાની શરતો" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "ગોપનીયતા નીતિ" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "સાચવી રહ્યું છે..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "બરાબર" #~ msgid "Manage your WP files." #~ msgstr "તમારા WP ફાઇલો મેનેજ કરો" #~ msgid "Extensions" #~ msgstr "એક્સ્ટેન્શન્સ" #~ msgid "Please contribute some donation, to make plugin more stable. You can pay amount of your choice." #~ msgstr "પ્લગઇન વધુ સ્થિર બનાવવા માટે, કેટલાક દાન ફાળો કૃપા કરીને. તમે તમારી પસંદગીની રકમ ચૂકવી શકો છો" wp-file-manager/languages/wp-file-manager-he_IL.mo000064400000046231151202472330015760 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Q(B)=(*Zf*B*M+ R+*]++e,YP-T--T.Jd.J../&/+C/%o/&/#//'/04/0 d0o000000%0($1M1_1f171*191"2 B2c2t2222282&3E3;W333}4,4%414`55#6&666 6<668;9 T9u9k::; r<< <%<<V<=8=&v==='= = >$> B>L>>(a?)???K?(@;@[@*{@ @@!@#@ A&AxEAqA 0B0=B!nB!B2BKB 1C>CZCyC,C)C C&CD$D4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 10:17+0530 Last-Translator: admin Language-Team: Language: he_IL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * עבור כל הפעולות וכדי לאפשר פעולה כלשהי אתה יכול לציין את שם הפעולה כמו, allow_operations="להעלות, להוריד". הערה: מופרדים בפסיק(,). ברירת מחדל: *-> זה יאסור משתמשים מסוימים רק על ידי הצבת המזהים שלהם על ידי פסיקים (,). אם המשתמש הוא Ban אז הם לא יוכלו לגשת למנהל הקבצים wp בחזית.-> נושא מנהל הקבצים. ברירת מחדל: Light-> קובץ שונה או צור פורמט תאריך. ברירת מחדל: d M, Y h: i A-> שפת מנהל הקבצים. ברירת מחדל: English (en)-> תצוגת ממשק משתמש של Filemanager. ברירת מחדל: gridפעולהפעולות בגיבויים שנבחרומנהל מערכת יכול להגביל את הפעולות של כל משתמש. הסתיר גם קבצים ותיקיות ויכול להגדיר נתיבי תיקיות שונים עבור משתמשים שונים.מנהל מערכת יכול להגביל פעולות של כל משתמש משתמש. הסתיר גם קבצים ותיקיות ויכול להגדיר מסלולי תיקיות שונים - לתפקידי משתמשים שונים.לאחר הפעלת האשפה, הקבצים שלך יעברו לתיקיית האשפה.לאחר הפעלת זאת כל הקבצים יועברו לספריית המדיה.הכל בוצעהאם אתה בטוח שברצונך להסיר את הגיבויים שנבחרו?האם אתה בטוח שברצונך למחוק את הגיבוי הזה?האם אתה בטוח שברצונך לשחזר את הגיבוי הזה?תאריך גיבויגיבוי עכשיואפשרויות גיבוי:נתוני גיבוי (לחץ להורדה)קבצי הגיבוי יהיו תחתהגיבוי פועל, אנא המתןהגיבוי נמחק בהצלחה.שחזור גיבויגיבויים הוסרו בהצלחה!לֶאֱסוֹרדפדפן ומערכת הפעלה (HTTP_USER_AGENT)קנו PROקנה מקצועקנו פרולְבַטֵלשנה כאן נושא:לחץ כדי לקנות PROתצוגת עורך קודלְאַשֵׁרהעתק קבצים או תיקיותכרגע לא נמצאו גיבויים.מחק קבציםאפלגיבוי מסד נתוניםגיבוי מסד הנתונים נעשה בתאריך גיבוי מסד הנתונים נעשה.גיבוי מסד הנתונים שוחזר בהצלחה.בְּרִירַת מֶחדָלבְּרִירַת מֶחדָל:לִמְחוֹקבטל את הבחירהדחה הודעה זו.לִתְרוֹםהורד יומני קבציםלהוריד קבציםשכפול או שיבוט של תיקיה או קובץערוך יומני קבציםערוך קובץלאפשר העלאת קבצים לספריית המדיה?להפעיל אשפה?שגיאה: לא ניתן לשחזר את הגיבוי מכיוון שגיבוי מסד הנתונים כבד בגודלו. נסה להגדיל את הגודל המרבי המותר מהגדרות העדפות.גיבויים קיימיםחלץ ארכיון או קובץ מכווץמנהל הקבצים - קוד קצרמנהל הקבצים - מאפייני מערכתנתיב שורש של מנהל הקבצים, תוכלו לשנות בהתאם לבחירתכם.מנהל הקבצים כולל עורך קוד עם מספר נושאים. אתה יכול לבחור כל נושא לעורך הקוד. הוא יוצג כשתערוך קובץ כלשהו. ניתן גם לאפשר מצב מסך מלא של עורך הקוד.רשימת פעולות קבצים:הקובץ לא קיים להורדה.גיבוי קבציםאפורעֶזרָהכאן "מבחן" הוא שם התיקיה שנמצאת בספריית השורש, או שאתה יכול לתת נתיב לתיקיות משנה כמו "wp-content/plugins". אם תשאיר ריק או ריק, זה ייגש לכל התיקיות בספריית השורש. ברירת מחדל: ספריית שורשכאן מנהל יכול לתת גישה לתפקידי משתמש לשימוש במנהל הסרטים. מנהל מערכת יכול להגדיר תיקיית ברירת מחדל לגישה ולשלוט גם בגודל ההעלאה של מנהל התיקים.מידע על הקובץקוד אבטחה לא חוקי.זה יאפשר לכל התפקידים לגשת למנהל הקבצים בקצה הקצה או שאתה יכול להשתמש פשוט עבור תפקידי משתמש מסוימים כמו allow_roles="editor,author" (מופרד בפסיק(,))זה יינעל שהוזכר בפסיקים. אתה יכול לנעול יותר כמו ".php,.css,.js" וכו'. ברירת מחדל: Nullזה יראה את מנהל הקבצים בקצה הקצה. אבל רק מנהל יכול לגשת אליו והוא ישלוט מהגדרות מנהל הקבצים.זה יראה את מנהל הקבצים בקצה הקצה. אתה יכול לשלוט בכל ההגדרות מהגדרות מנהל הקבצים. זה יעבוד כמו מנהל הקבצים האחורי של WP.הודעת יומן אחרונהאוֹריומניםהכינו ספריה או תיקיהערוך קובץגודל מקסימלי מותר בזמן שחזור גיבוי מסד הנתונים.גודל העלאת קבצים מרבי (upload_max_filesize)מגבלת זיכרון (memory_limit)חסר מזהה גיבוי.חסר סוג פרמטר.חסרים פרמטרים נדרשים.לא תודהאין הודעת יומןלא נמצאו יומנים!הערה:הערה: אלה צילומי מסך של הדגמה. אנא קנה את מנהל מנהל הקבצים לפונקציות יומנים.הערה: זהו רק צילום מסך להדגמה. כדי לקבל הגדרות אנא קנו את גרסת המקצוענים שלנו.שום דבר לא נבחר לגיבוישום דבר לא נבחר לגיבוי.בסדרבסדראחרים (כל ספריות אחרות שנמצאו בתוך תוכן wp)גיבוי אחר נעשה בתאריך גיבוי אחרים בוצע.גיבוי אחרים נכשל.גיבוי אחר שוחזר בהצלחה.גרסת PHPפרמטרים:הדבק קובץ או תיקיהאנא הזן כתובת דוא"ל.אנא הזן שם פרטי.אנא הזן שם משפחה.אנא שנה את זה בזהירות, נתיב שגוי יכול לגרום לתוסף מנהל הקבצים לרדת.אנא הגדל את ערך השדה אם אתה מקבל הודעת שגיאה בזמן שחזור הגיבוי.תוספיםגיבוי התוספים נעשה בתאריך גיבוי תוספים נעשה.גיבוי תוספים נכשל.גיבוי התוספים שוחזר בהצלחה.פרסם גודל העלאה מקסימלי של קבצים (post_max_size)העדפותמדיניות פרטיותנתיב שורש ציבורילְאַשֵׁרהסר או מחק קבצים ותיקיותשנה שם של קובץ או תיקיהלשחזרהשחזור פועל, אנא המתןהַצלָחָהשמור שינוייםחִסָכוֹן...חפש דבריםבעיית אבטחה.בחר הכלבחר גיבוי(ים) למחיקה!הגדרותהגדרות - עורך קודהגדרות - כלליהגדרות - הגבלות משתמשיםהגדרות - הגבלות תפקיד משתמשהגדרות נשמרו.Shortcode - PROפשוט גזור קובץ או תיקיהמאפייני מערכתתנאי השירותהגיבוי כנראה הצליח וכעת הושלם.ערכות נושאגיבוי הנושאים נעשה בתאריך גיבוי ערכות נושא נעשה.גיבוי ערכות נושא נכשל.גיבוי הנושאים שוחזר בהצלחה.עכשיופסק זמן (max_execution_time)כדי ליצור ארכיון או מיקודהיוםלהשתמש:לא ניתן ליצור גיבוי למסד הנתונים.לא ניתן להסיר את הגיבוי!לא ניתן לשחזר את גיבוי DB.לא ניתן לשחזר אחרים.לא ניתן לשחזר תוספים.לא ניתן לשחזר ערכות נושא.לא ניתן לשחזר את ההעלאות.העלאת יומני קבציםהעלה קבציםהעלאותהעלאות הגיבוי בוצעו בתאריך גיבוי העלאות נעשה.גיבוי העלאות נכשל.העלאות הגיבוי שוחזרו בהצלחה.תאשרצפה בלוגמנהל קבצי WPמנהל קבצי WP - גיבוי / שחזורתרומת מנהל קבצי WPאנחנו אוהבים להכיר חברים חדשים! הירשם למטה ואנחנו מבטיחים עדכן אותך עם התוספים החדשים האחרונים שלנו, העדכונים, מבצעים מדהימים וכמה מבצעים מיוחדים.ברוך הבא למנהל הקבציםלא ביצעת שינויים כדי לשמור.לגישה להרשאת קריאה של קבצים, שים לב: true/false, ברירת מחדל: trueלגישה להרשאות כתיבה של קבצים, שימו לב: true/false, ברירת מחדל: falseזה יסתתר המוזכר כאן. הערה: מופרדים בפסיק(,). ברירת מחדל: Nullwp-file-manager/languages/wp-file-manager-he_IL.po000064400000071456151202472330015772 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 10:13+0530\n" "PO-Revision-Date: 2022-02-28 10:17+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: he_IL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "גיבוי הנושאים שוחזר בהצלחה." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "לא ניתן לשחזר ערכות נושא." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "העלאות הגיבוי שוחזרו בהצלחה." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "לא ניתן לשחזר את ההעלאות." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "גיבוי אחר שוחזר בהצלחה." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "לא ניתן לשחזר אחרים." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "גיבוי התוספים שוחזר בהצלחה." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "לא ניתן לשחזר תוספים." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "גיבוי מסד הנתונים שוחזר בהצלחה." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "הכל בוצע" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "לא ניתן לשחזר את גיבוי DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "גיבויים הוסרו בהצלחה!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "לא ניתן להסיר את הגיבוי!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "גיבוי מסד הנתונים נעשה בתאריך " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "גיבוי התוספים נעשה בתאריך " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "גיבוי הנושאים נעשה בתאריך " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "העלאות הגיבוי בוצעו בתאריך " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "גיבוי אחר נעשה בתאריך " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "יומנים" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "לא נמצאו יומנים!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "שום דבר לא נבחר לגיבוי" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "בעיית אבטחה." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "גיבוי מסד הנתונים נעשה." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "לא ניתן ליצור גיבוי למסד הנתונים." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "גיבוי תוספים נעשה." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "גיבוי תוספים נכשל." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "גיבוי ערכות נושא נעשה." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "גיבוי ערכות נושא נכשל." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "גיבוי העלאות נעשה." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "גיבוי העלאות נכשל." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "גיבוי אחרים בוצע." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "גיבוי אחרים נכשל." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "מנהל קבצי WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "הגדרות" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "העדפות" #: file_folder_manager.php:773 msgid "System Properties" msgstr "מאפייני מערכת" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "שחזור גיבוי" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "קנה מקצועקנו פרו" #: file_folder_manager.php:1034 msgid "Donate" msgstr "לִתְרוֹם" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "הקובץ לא קיים להורדה." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "קוד אבטחה לא חוקי." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "חסר מזהה גיבוי." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "חסר סוג פרמטר." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "חסרים פרמטרים נדרשים." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "שגיאה: לא ניתן לשחזר את הגיבוי מכיוון שגיבוי מסד הנתונים כבד בגודלו. נסה " "להגדיל את הגודל המרבי המותר מהגדרות העדפות." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "בחר גיבוי(ים) למחיקה!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "האם אתה בטוח שברצונך להסיר את הגיבויים שנבחרו?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "הגיבוי פועל, אנא המתן" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "השחזור פועל, אנא המתן" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "שום דבר לא נבחר לגיבוי." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "מנהל קבצי WP - גיבוי / שחזור" #: inc/backup.php:51 msgid "Backup Options:" msgstr "אפשרויות גיבוי:" #: inc/backup.php:58 msgid "Database Backup" msgstr "גיבוי מסד נתונים" #: inc/backup.php:64 msgid "Files Backup" msgstr "גיבוי קבצים" #: inc/backup.php:68 msgid "Plugins" msgstr "תוספים" #: inc/backup.php:71 msgid "Themes" msgstr "ערכות נושא" #: inc/backup.php:74 msgid "Uploads" msgstr "העלאות" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "אחרים (כל ספריות אחרות שנמצאו בתוך תוכן wp)" #: inc/backup.php:81 msgid "Backup Now" msgstr "גיבוי עכשיו" #: inc/backup.php:89 msgid "Time now" msgstr "עכשיו" #: inc/backup.php:99 msgid "SUCCESS" msgstr "הַצלָחָה" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "הגיבוי נמחק בהצלחה." #: inc/backup.php:102 msgid "Ok" msgstr "בסדר" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "מחק קבצים" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "האם אתה בטוח שברצונך למחוק את הגיבוי הזה?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "לְבַטֵל" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "לְאַשֵׁר" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "לְאַשֵׁר" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "האם אתה בטוח שברצונך לשחזר את הגיבוי הזה?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "הודעת יומן אחרונה" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "הגיבוי כנראה הצליח וכעת הושלם." #: inc/backup.php:171 msgid "No log message" msgstr "אין הודעת יומן" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "גיבויים קיימים" #: inc/backup.php:184 msgid "Backup Date" msgstr "תאריך גיבוי" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "נתוני גיבוי (לחץ להורדה)" #: inc/backup.php:190 msgid "Action" msgstr "פעולה" #: inc/backup.php:210 msgid "Today" msgstr "היום" #: inc/backup.php:239 msgid "Restore" msgstr "לשחזר" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "לִמְחוֹק" #: inc/backup.php:241 msgid "View Log" msgstr "צפה בלוג" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "כרגע לא נמצאו גיבויים." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "פעולות בגיבויים שנבחרו" #: inc/backup.php:251 msgid "Select All" msgstr "בחר הכל" #: inc/backup.php:252 msgid "Deselect" msgstr "בטל את הבחירה" #: inc/backup.php:254 msgid "Note:" msgstr "הערה:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "קבצי הגיבוי יהיו תחת" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "תרומת מנהל קבצי WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "הערה: אלה צילומי מסך של הדגמה. אנא קנה את מנהל מנהל הקבצים לפונקציות יומנים." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "לחץ כדי לקנות PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "קנו PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "ערוך יומני קבצים" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "הורד יומני קבצים" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "העלאת יומני קבצים" #: inc/root.php:43 msgid "Settings saved." msgstr "הגדרות נשמרו." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "דחה הודעה זו." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "לא ביצעת שינויים כדי לשמור." #: inc/root.php:55 msgid "Public Root Path" msgstr "נתיב שורש ציבורי" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "נתיב שורש של מנהל הקבצים, תוכלו לשנות בהתאם לבחירתכם." #: inc/root.php:59 msgid "Default:" msgstr "בְּרִירַת מֶחדָל:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "אנא שנה את זה בזהירות, נתיב שגוי יכול לגרום לתוסף מנהל הקבצים לרדת." #: inc/root.php:64 msgid "Enable Trash?" msgstr "להפעיל אשפה?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "לאחר הפעלת האשפה, הקבצים שלך יעברו לתיקיית האשפה." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "לאפשר העלאת קבצים לספריית המדיה?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "לאחר הפעלת זאת כל הקבצים יועברו לספריית המדיה." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "גודל מקסימלי מותר בזמן שחזור גיבוי מסד הנתונים." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "אנא הגדל את ערך השדה אם אתה מקבל הודעת שגיאה בזמן שחזור הגיבוי." #: inc/root.php:90 msgid "Save Changes" msgstr "שמור שינויים" #: inc/settings.php:10 msgid "Settings - General" msgstr "הגדרות - כללי" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "הערה: זהו רק צילום מסך להדגמה. כדי לקבל הגדרות אנא קנו את גרסת המקצוענים " "שלנו." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "כאן מנהל יכול לתת גישה לתפקידי משתמש לשימוש במנהל הסרטים. מנהל מערכת יכול " "להגדיר תיקיית ברירת מחדל לגישה ולשלוט גם בגודל ההעלאה של מנהל התיקים." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "הגדרות - עורך קוד" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "מנהל הקבצים כולל עורך קוד עם מספר נושאים. אתה יכול לבחור כל נושא לעורך הקוד. " "הוא יוצג כשתערוך קובץ כלשהו. ניתן גם לאפשר מצב מסך מלא של עורך הקוד." #: inc/settings.php:18 msgid "Code-editor View" msgstr "תצוגת עורך קוד" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "הגדרות - הגבלות משתמשים" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "מנהל מערכת יכול להגביל את הפעולות של כל משתמש. הסתיר גם קבצים ותיקיות ויכול " "להגדיר נתיבי תיקיות שונים עבור משתמשים שונים." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "הגדרות - הגבלות תפקיד משתמש" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "מנהל מערכת יכול להגביל פעולות של כל משתמש משתמש. הסתיר גם קבצים ותיקיות " "ויכול להגדיר מסלולי תיקיות שונים - לתפקידי משתמשים שונים." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "מנהל הקבצים - קוד קצר" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "להשתמש:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "זה יראה את מנהל הקבצים בקצה הקצה. אתה יכול לשלוט בכל ההגדרות מהגדרות מנהל " "הקבצים. זה יעבוד כמו מנהל הקבצים האחורי של WP." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "זה יראה את מנהל הקבצים בקצה הקצה. אבל רק מנהל יכול לגשת אליו והוא ישלוט " "מהגדרות מנהל הקבצים." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "פרמטרים:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "זה יאפשר לכל התפקידים לגשת למנהל הקבצים בקצה הקצה או שאתה יכול להשתמש פשוט " "עבור תפקידי משתמש מסוימים כמו allow_roles=\"editor,author\" (מופרד בפסיק(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "כאן \"מבחן\" הוא שם התיקיה שנמצאת בספריית השורש, או שאתה יכול לתת נתיב " "לתיקיות משנה כמו \"wp-content/plugins\". אם תשאיר ריק או ריק, זה ייגש לכל " "התיקיות בספריית השורש. ברירת מחדל: ספריית שורש" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "לגישה להרשאות כתיבה של קבצים, שימו לב: true/false, ברירת מחדל: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "לגישה להרשאת קריאה של קבצים, שים לב: true/false, ברירת מחדל: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "זה יסתתר המוזכר כאן. הערה: מופרדים בפסיק(,). ברירת מחדל: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "זה יינעל שהוזכר בפסיקים. אתה יכול לנעול יותר כמו \".php,.css,.js\" וכו'. " "ברירת מחדל: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* עבור כל הפעולות וכדי לאפשר פעולה כלשהי אתה יכול לציין את שם הפעולה כמו, " "allow_operations=\"להעלות, להוריד\". הערה: מופרדים בפסיק(,). ברירת מחדל: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "רשימת פעולות קבצים:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "הכינו ספריה או תיקיה" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "ערוך קובץ" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "שנה שם של קובץ או תיקיה" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "שכפול או שיבוט של תיקיה או קובץ" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "הדבק קובץ או תיקיה" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "לֶאֱסוֹר" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "כדי ליצור ארכיון או מיקוד" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "חלץ ארכיון או קובץ מכווץ" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "העתק קבצים או תיקיות" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "פשוט גזור קובץ או תיקיה" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "ערוך קובץ" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "הסר או מחק קבצים ותיקיות" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "להוריד קבצים" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "העלה קבצים" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "חפש דברים" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "מידע על הקובץ" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "עֶזרָה" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> זה יאסור משתמשים מסוימים רק על ידי הצבת המזהים שלהם על ידי פסיקים (,). אם " "המשתמש הוא Ban אז הם לא יוכלו לגשת למנהל הקבצים wp בחזית." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> תצוגת ממשק משתמש של Filemanager. ברירת מחדל: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> קובץ שונה או צור פורמט תאריך. ברירת מחדל: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> שפת מנהל הקבצים. ברירת מחדל: English (en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> נושא מנהל הקבצים. ברירת מחדל: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "מנהל הקבצים - מאפייני מערכת" #: inc/system_properties.php:10 msgid "PHP version" msgstr "גרסת PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "גודל העלאת קבצים מרבי (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "פרסם גודל העלאה מקסימלי של קבצים (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "מגבלת זיכרון (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "פסק זמן (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "דפדפן ומערכת הפעלה (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "שנה כאן נושא:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "בְּרִירַת מֶחדָל" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "אפל" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "אוֹר" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "אפור" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "ברוך הבא למנהל הקבצים" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "אנחנו אוהבים להכיר חברים חדשים! הירשם למטה ואנחנו מבטיחים\n" " עדכן אותך עם התוספים החדשים האחרונים שלנו, העדכונים,\n" " מבצעים מדהימים וכמה מבצעים מיוחדים." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "אנא הזן שם פרטי." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "אנא הזן שם משפחה." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "אנא הזן כתובת דוא\"ל." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "תאשר" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "לא תודה" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "תנאי השירות" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "מדיניות פרטיות" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "חִסָכוֹן..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "בסדר" #~ msgid "Backup not found!" #~ msgstr "גיבוי לא נמצא!" #~ msgid "Backup removed successfully!" #~ msgstr "הגיבוי הוסר בהצלחה!" #~ msgid "Nothing selected for backup" #~ msgstr "שום דבר לא נבחר לגיבוי" #~ msgid "Security Issue." #~ msgstr "נושא אבטחה. " #~ msgid "Database backup done." #~ msgstr "גיבוי מסד הנתונים נעשה. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "לא ניתן ליצור גיבוי למסד נתונים. " #~ msgid "Plugins backup done." #~ msgstr "גיבוי התוספים נעשה." #~ msgid "Plugins backup failed." #~ msgstr "גיבוי התוספים נכשל." #~ msgid "Themes backup done." #~ msgstr "גיבוי הנושאים נעשה." #~ msgid "Themes backup failed." #~ msgstr "גיבוי הנושאים נכשל." #~ msgid "Uploads backup done." #~ msgstr "העלאות הגיבוי בוצעו." #~ msgid "Uploads backup failed." #~ msgstr "גיבוי ההעלאות נכשל." #~ msgid "Others backup done." #~ msgstr "גיבוי אחר נעשה." #~ msgid "Others backup failed." #~ msgstr "גיבוי אחר נכשל." #~ msgid "All Done" #~ msgstr "הכל בוצע" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "ניהול קבצי WP שלך." #~ msgid "Extensions" #~ msgstr "תוספים" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "אנא תרמו תרומה כלשהי, כדי להפוך את הפלאגין ליציב יותר. אתה יכול לשלם סכום " #~ "על פי בחירתך." wp-file-manager/languages/wp-file-manager-hi_IN - Copy.mo000064400000000674151202472330016777 0ustar00$,,-Project-Id-Version: WP File Manager Report-Msgid-Bugs-To: POT-Creation-Date: 2017-09-06 09:29+0000 PO-Revision-Date: 2017-09-06 11:34+0000 Last-Translator: admin Language-Team: Language: hi_IN Plural-Forms: nplurals=2; plural=n != 1; MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Loco https://localise.biz/wp-file-manager/languages/wp-file-manager-hi_IN.mo000064400000066056151202472330015775 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&zm()\++t,h--?--/v1(2$2k2ig33]4&z4#4o4K55a5U596LV66;66 7 7':7Mb7,77L7VJ8&88%8W8?V99:6:P:`:=s: :B:8:7;B;9;|5<-<<"t>Z>@>D3?x?b@0uBjB%C 7C DC@NC%E,G/GHIWJL)M MMHM*NGNUNG,OAtOPOBP*JP0uP.P PPQURXSoSSSNT6hT,T}TJUdUI~UCUF VFSVVW{XZX<X8'Y`YlY WZ%dZ/ZGZY[M\[$[v[F\KV\*\\,\$]A?]]7]*]R]eP^<^'^M_&i_&_}_ 5`KB`3`)`z`ga1xaGaa aUbCpbVbk cqwckchUd<d&d"eQ8e3e9ee%yff(faf;DggVitiijk}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 10:24+0530 Last-Translator: admin Language-Team: Language: hi_IN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * सभी ऑपरेशनों के लिए और कुछ ऑपरेशन की अनुमति देने के लिए आप ऑपरेशन नाम का उल्लेख कर सकते हैं जैसे, allow_operations="upload,download"। नोट: अल्पविराम (,) से अलग। चूक जाना: *-> यह विशेष उपयोगकर्ताओं को केवल अल्पविराम (,) द्वारा अलग-अलग आईडी डालकर प्रतिबंधित कर देगा। अगर यूजर बैन है तो वे फ्रंट एंड पर wp फाइल मैनेजर को एक्सेस नहीं कर पाएंगे।-> फ़ाइल प्रबंधक थीम। डिफ़ॉल्ट: लाइट-> फ़ाइल संशोधित या दिनांक स्वरूप बनाएँ। डिफ़ॉल्ट: डी एम, वाई एच: मैं ए-> फ़ाइल प्रबंधक भाषा। डिफ़ॉल्ट: अंग्रेजी (एन)-> फ़ाइल प्रबंधक UI देखें। डिफ़ॉल्ट: ग्रिडकार्यचयनित बैकअप पर कार्रवाईव्यवस्थापक किसी भी उपयोगकर्ता के कार्यों को प्रतिबंधित कर सकता है। फ़ाइलों और फ़ोल्डरों को भी छुपाएं और अलग-अलग उपयोगकर्ताओं के लिए अलग-अलग फ़ोल्डर पथ सेट कर सकते हैं।व्यवस्थापक किसी भी उपयोगकर्ता भूमिका की कार्रवाइयों को प्रतिबंधित कर सकता है। फ़ाइलों और फ़ोल्डरों को भी छुपाएं और अलग-अलग उपयोगकर्ता भूमिकाओं के लिए अलग-अलग फ़ोल्डर पथ सेट कर सकते हैं।ट्रैश को इनेबल करने के बाद आपकी फाइल्स ट्रैश फोल्डर में चली जाएंगी।इसे सक्षम करने के बाद सभी फाइलें मीडिया लाइब्रेरी में चली जाएंगी।सब कुछ कर दियाक्या आप वाकई चयनित बैकअप हटाना चाहते हैं?क्या आप वाकई इस बैकअप को हटाना चाहते हैं?क्या आप वाकई इस बैकअप को पुनर्स्थापित करना चाहते हैं?बैकअप तिथिअब समर्थन देनाबैकअप विकल्प:बैकअप डेटा (डाउनलोड करने के लिए क्लिक करें)बैकअप फ़ाइलें अंतर्गत होंगीबैकअप चल रहा है, कृपया प्रतीक्षा करेंबैकअप सफलतापूर्वक हटा दिया गया।बैकअप बहालबैकअप सफलतापूर्वक निकाले गए!प्रतिबंधब्राउज़र और ओएस (HTTP_USER_AGENT)PRO खरीदेPRO खरीदेरद्द करनायहां थीम बदलें:प्रो खरीदने के लिए क्लिक करेंकोड-संपादक दृश्यपुष्टि करेंफ़ाइलें या फ़ोल्डर कॉपी करेंवर्तमान में कोई बैकअप नहीं मिला।फाइलों को नष्टडार्कडेटाबेस बैकअपडेटाबेस बैकअप दिनांक को किया गया डेटाबेस बैकअप किया गया।डेटाबेस बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।डिफ़ॉल्टडिफ़ॉल्ट:हटाएंअचयनितइस नोटिस को खारिज करें।दानफ़ाइलें लॉग डाउनलोड करेंफ़ाइलें डाउनलोड करेंकिसी फ़ोल्डर या फ़ाइल को डुप्लिकेट या क्लोन करेंफ़ाइलें लॉग संपादित करेंएक फ़ाइल संपादित करेंमीडिया लाइब्रेरी में फ़ाइलें अपलोड सक्षम करें?ट्रैश सक्षम करें?त्रुटि: बैकअप को पुनर्स्थापित करने में असमर्थ क्योंकि डेटाबेस बैकअप आकार में भारी है। कृपया वरीयताएँ सेटिंग से अधिकतम अनुमत आकार बढ़ाने का प्रयास करें।मौजूदा बैकअपसंग्रह या ज़िप की गई फ़ाइल निकालेंफ़ाइल प्रबंधक - शोर्टकोडफ़ाइल प्रबंधक - सिस्टम गुणफ़ाइल प्रबंधक रूट पाथ, आप अपनी पसंद के अनुसार बदल सकते हैं।फ़ाइल प्रबंधक में कई विषयों के साथ एक कोड संपादक होता है। आप कोड संपादक के लिए किसी भी विषय का चयन कर सकते हैं। जब आप किसी फ़ाइल को संपादित करते हैं तो यह प्रदर्शित होगा। इसके अलावा आप कोड संपादक के फुलस्क्रीन मोड की अनुमति दे सकते हैं।फ़ाइल संचालन सूची:फ़ाइल डाउनलोड करने के लिए मौजूद नहीं है।फ़ाइलें बैकअपग्रेमददयहां "परीक्षण" फ़ोल्डर का नाम है जो रूट निर्देशिका पर स्थित है, या आप "wp-content/plugins" जैसे उप फ़ोल्डरों के लिए पथ दे सकते हैं। यदि खाली या खाली छोड़ दें तो यह रूट निर्देशिका पर सभी फ़ोल्डरों तक पहुंच जाएगा। डिफ़ॉल्ट: रूट निर्देशिकायहां व्यवस्थापक फ़ाइल प्रबंधक का उपयोग करने के लिए उपयोगकर्ता भूमिकाओं तक पहुंच प्रदान कर सकता है। व्यवस्थापक डिफ़ॉल्ट एक्सेस फ़ोल्डर सेट कर सकता है और फ़ाइल प्रबंधक के अपलोड आकार को भी नियंत्रित कर सकता है।फ़ाइल की जानकारीअवैध सुरक्षा कोड।यह सभी भूमिकाओं को फ्रंट एंड पर फ़ाइल प्रबंधक तक पहुंचने की अनुमति देगा या आप विशेष उपयोगकर्ता भूमिकाओं के लिए सरल उपयोग कर सकते हैं जैसे allow_roles="editor,author" (अल्पविराम (,) द्वारा अलग)यह कॉमा में उल्लिखित लॉक हो जाएगा। आप ".php,.css,.js" आदि की तरह अधिक लॉक कर सकते हैं। डिफ़ॉल्ट: नलयह फ्रंट एंड पर फाइल मैनेजर दिखाएगा। लेकिन केवल व्यवस्थापक ही इसे एक्सेस कर सकता है और फ़ाइल प्रबंधक सेटिंग्स से नियंत्रित करेगा।यह फ्रंट एंड पर फाइल मैनेजर दिखाएगा। आप फ़ाइल प्रबंधक सेटिंग्स से सभी सेटिंग्स को नियंत्रित कर सकते हैं। यह बैकएंड WP फाइल मैनेजर की तरह ही काम करेगा।अंतिम लॉग संदेशलाइटलॉग्सडायरेक्टरी या फोल्डर बनाएंफ़ाइल बनाओडेटाबेस बैकअप पुनर्स्थापना के समय अधिकतम अनुमत आकार।अधिकतम फ़ाइल अपलोड आकार (upload_max_filesize)मेमोरी लिमिट (मेमोरी_लिमिट)बैकअप आईडी मौजूद नहीं है.पैरामीटर प्रकार मौजूद नहीं है.आवश्यक पैरामीटर गुम हैं।जी नहीं, धन्यवादकोई लॉग संदेश नहींकोई लॉग नहीं मिला!नोट:नोट: ये डेमो स्क्रीनशॉट हैं। कृपया लॉग्स फ़ंक्शन के लिए फ़ाइल प्रबंधक प्रो खरीदें।नोट: यह सिर्फ एक डेमो स्क्रीनशॉट है। सेटिंग्स प्राप्त करने के लिए कृपया हमारा प्रो संस्करण खरीदें।बैकअप के लिए कुछ भी नहीं चुना गयाबैकअप के लिए कुछ भी नहीं चुना गया।ठीक हैठीक हैअन्य (wp-content के अंदर पाई जाने वाली कोई अन्य निर्देशिका)अन्य बैकअप दिनांक को किया गया अन्य बैकअप किया गया।अन्य बैकअप विफल।अन्य बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।PHP संस्करणपैरामीटर:फ़ाइल या फ़ोल्डर पेस्ट करेंकृपया ईमेल पता दर्ज करें।कृपया प्रथम नाम दर्ज करें।कृपया अंतिम नाम दर्ज करें।कृपया इसे सावधानी से बदलें, गलत पाथ फ़ाइल प्रबंधक प्लगइन को नीचे जाने के लिए प्रेरित कर सकता है।यदि आपको बैकअप पुनर्स्थापना के समय त्रुटि संदेश मिल रहा है, तो कृपया फ़ील्ड मान बढ़ाएँ।प्लग-इनप्लगइन्स बैकअप दिनांक को किया गया प्लगइन्स बैकअप हो गया।प्लगइन्स बैकअप विफल।प्लगइन्स बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।अधिकतम फ़ाइल अपलोड आकार पोस्ट करें (post_max_size)पसंदगोपनीयता नीतिसार्वजनिक रूट पाथफ़ाइलें पुनर्स्थापित करेंफ़ाइलें और फ़ोल्डर हटाएं या हटाएंफ़ाइल या फ़ोल्डर का नाम बदलेंपुनर्स्थापितपुनर्स्थापना चल रही है, कृपया प्रतीक्षा करेंसफलतापरिवर्तनों को सुरक्षित करेंसहेजा जा रहा है...चीजें खोजेंसुरक्षा का मसला।सभी का चयन करेहटाने के लिए बैकअप चुनें!सेटिंग्ससेटिंग्स - कोड-संपादकसेटिंग - सामान्यसेटिंग्स - उपयोगकर्ता प्रतिबंधसेटिंग्स - उपयोगकर्ता भूमिका प्रतिबंधसेटिंग्स को सहेजा गया।शोर्टकोड - प्रोफ़ाइल या फ़ोल्डर को सरल काटेंप्रणाली के गुणसेवा की शर्तेंबैकअप स्पष्ट रूप से सफल हुआ और अब पूरा हो गया है।थीमेथीम बैकअप दिनांक को किया गया थीम बैकअप किया गया।थीम बैकअप विफल।थीम बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।अब समयसमय समाप्त (max_execution_time)संग्रह या ज़िप बनाने के लिएआजप्रयोग करें:डेटाबेस बैकअप बनाने में असमर्थ।बैकअप निकालने में असमर्थ!डीबी बैकअप बहाल करने में असमर्थ।दूसरों को पुनर्स्थापित करने में असमर्थ।प्लगइन्स को पुनर्स्थापित करने में असमर्थ।विषयों को पुनर्स्थापित करने में असमर्थ।अपलोड को पुनर्स्थापित करने में असमर्थ।फ़ाइलें लॉग अपलोड करेंफाइल अपलोड करोउपलोड्सअपलोड बैकअप दिनांक को किया गया अपलोड बैकअप हो गया।अपलोड बैकअप विफल रहा।अपलोड बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।सत्यापित करेंलॉग देखेंWP फ़ाइल प्रबंधकWP फ़ाइल प्रबंधक - बैकअप / पुनर्स्थापनाWP फ़ाइल प्रबंधक योगदानहम नए दोस्त बनाना पसंद करते हैं! नीचे सदस्यता लें और हम वादा करते हैं आपको हमारे नवीनतम नए प्लगइन्स, अपडेट के साथ अप-टू-डेट रखें, शानदार डील और कुछ खास ऑफर्स।फ़ाइल प्रबंधक में आपका स्वागत हैआपने सहेजे जाने के लिए कोई परिवर्तन नहीं किया है।फ़ाइलों को पढ़ने की अनुमति तक पहुंच के लिए, ध्यान दें: सत्य/गलत, डिफ़ॉल्ट: सत्यफ़ाइल अनुमतियाँ लिखने तक पहुँच के लिए, ध्यान दें: सही/गलत, डिफ़ॉल्ट: असत्ययह यहां उल्लिखित छुपाएगा। नोट: अल्पविराम (,) से अलग। डिफ़ॉल्ट: शून्यwp-file-manager/languages/wp-file-manager-hi_IN.po000064400000112207151202472330015766 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 10:18+0530\n" "PO-Revision-Date: 2022-02-28 10:24+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: hi_IN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "थीम बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।" #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "विषयों को पुनर्स्थापित करने में असमर्थ।" #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "अपलोड बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।" #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "अपलोड को पुनर्स्थापित करने में असमर्थ।" #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "अन्य बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।" #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "दूसरों को पुनर्स्थापित करने में असमर्थ।" #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "प्लगइन्स बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।" #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "प्लगइन्स को पुनर्स्थापित करने में असमर्थ।" #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "डेटाबेस बैकअप सफलतापूर्वक पुनर्स्थापित किया गया।" #: file_folder_manager.php:286 file_folder_manager.php:297 file_folder_manager.php:588 #: file_folder_manager.php:592 msgid "All Done" msgstr "सब कुछ कर दिया" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "डीबी बैकअप बहाल करने में असमर्थ।" #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "बैकअप सफलतापूर्वक निकाले गए!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "बैकअप निकालने में असमर्थ!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "डेटाबेस बैकअप दिनांक को किया गया " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "प्लगइन्स बैकअप दिनांक को किया गया " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "थीम बैकअप दिनांक को किया गया " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "अपलोड बैकअप दिनांक को किया गया " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "अन्य बैकअप दिनांक को किया गया " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "लॉग्स" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "कोई लॉग नहीं मिला!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "बैकअप के लिए कुछ भी नहीं चुना गया" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "सुरक्षा का मसला।" #: file_folder_manager.php:527 msgid "Database backup done." msgstr "डेटाबेस बैकअप किया गया।" #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "डेटाबेस बैकअप बनाने में असमर्थ।" #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "प्लगइन्स बैकअप हो गया।" #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "प्लगइन्स बैकअप विफल।" #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "थीम बैकअप किया गया।" #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "थीम बैकअप विफल।" #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "अपलोड बैकअप हो गया।" #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "अपलोड बैकअप विफल रहा।" #: file_folder_manager.php:581 msgid "Others backup done." msgstr "अन्य बैकअप किया गया।" #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "अन्य बैकअप विफल।" #: file_folder_manager.php:761 file_folder_manager.php:762 lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP फ़ाइल प्रबंधक" #: file_folder_manager.php:769 msgid "Settings" msgstr "सेटिंग्स" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "पसंद" #: file_folder_manager.php:773 msgid "System Properties" msgstr "प्रणाली के गुण" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "शोर्टकोड - प्रो" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "बैकअप बहाल" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "PRO खरीदे" #: file_folder_manager.php:1034 msgid "Donate" msgstr "दान" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "फ़ाइल डाउनलोड करने के लिए मौजूद नहीं है।" #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "अवैध सुरक्षा कोड।" #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "बैकअप आईडी मौजूद नहीं है." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "पैरामीटर प्रकार मौजूद नहीं है." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "आवश्यक पैरामीटर गुम हैं।" #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. Please try to " "increase Maximum allowed size from Preferences settings." msgstr "" "त्रुटि: बैकअप को पुनर्स्थापित करने में असमर्थ क्योंकि डेटाबेस बैकअप आकार में भारी है। कृपया वरीयताएँ सेटिंग से अधिकतम " "अनुमत आकार बढ़ाने का प्रयास करें।" #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "हटाने के लिए बैकअप चुनें!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "क्या आप वाकई चयनित बैकअप हटाना चाहते हैं?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "बैकअप चल रहा है, कृपया प्रतीक्षा करें" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "पुनर्स्थापना चल रही है, कृपया प्रतीक्षा करें" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "बैकअप के लिए कुछ भी नहीं चुना गया।" #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP फ़ाइल प्रबंधक - बैकअप / पुनर्स्थापना" #: inc/backup.php:51 msgid "Backup Options:" msgstr "बैकअप विकल्प:" #: inc/backup.php:58 msgid "Database Backup" msgstr "डेटाबेस बैकअप" #: inc/backup.php:64 msgid "Files Backup" msgstr "फ़ाइलें बैकअप" #: inc/backup.php:68 msgid "Plugins" msgstr "प्लग-इन" #: inc/backup.php:71 msgid "Themes" msgstr "थीमे" #: inc/backup.php:74 msgid "Uploads" msgstr "उपलोड्स" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "अन्य (wp-content के अंदर पाई जाने वाली कोई अन्य निर्देशिका)" #: inc/backup.php:81 msgid "Backup Now" msgstr "अब समर्थन देना" #: inc/backup.php:89 msgid "Time now" msgstr "अब समय" #: inc/backup.php:99 msgid "SUCCESS" msgstr "सफलता" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "बैकअप सफलतापूर्वक हटा दिया गया।" #: inc/backup.php:102 msgid "Ok" msgstr "ठीक है" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "फाइलों को नष्ट" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "क्या आप वाकई इस बैकअप को हटाना चाहते हैं?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "रद्द करना" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "पुष्टि करें" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "फ़ाइलें पुनर्स्थापित करें" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "क्या आप वाकई इस बैकअप को पुनर्स्थापित करना चाहते हैं?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "अंतिम लॉग संदेश" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "बैकअप स्पष्ट रूप से सफल हुआ और अब पूरा हो गया है।" #: inc/backup.php:171 msgid "No log message" msgstr "कोई लॉग संदेश नहीं" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "मौजूदा बैकअप" #: inc/backup.php:184 msgid "Backup Date" msgstr "बैकअप तिथि" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "बैकअप डेटा (डाउनलोड करने के लिए क्लिक करें)" #: inc/backup.php:190 msgid "Action" msgstr "कार्य" #: inc/backup.php:210 msgid "Today" msgstr "आज" #: inc/backup.php:239 msgid "Restore" msgstr "पुनर्स्थापित" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "हटाएं" #: inc/backup.php:241 msgid "View Log" msgstr "लॉग देखें" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "वर्तमान में कोई बैकअप नहीं मिला।" #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "चयनित बैकअप पर कार्रवाई" #: inc/backup.php:251 msgid "Select All" msgstr "सभी का चयन करे" #: inc/backup.php:252 msgid "Deselect" msgstr "अचयनित" #: inc/backup.php:254 msgid "Note:" msgstr "नोट:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "बैकअप फ़ाइलें अंतर्गत होंगी" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP फ़ाइल प्रबंधक योगदान" #: inc/logs.php:7 msgid "Note: These are demo screenshots. Please buy File Manager pro to Logs functions." msgstr "नोट: ये डेमो स्क्रीनशॉट हैं। कृपया लॉग्स फ़ंक्शन के लिए फ़ाइल प्रबंधक प्रो खरीदें।" #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "प्रो खरीदने के लिए क्लिक करें" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 inc/system_properties.php:5 #: lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "PRO खरीदे" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "फ़ाइलें लॉग संपादित करें" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "फ़ाइलें लॉग डाउनलोड करें" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "फ़ाइलें लॉग अपलोड करें" #: inc/root.php:43 msgid "Settings saved." msgstr "सेटिंग्स को सहेजा गया।" #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "इस नोटिस को खारिज करें।" #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "आपने सहेजे जाने के लिए कोई परिवर्तन नहीं किया है।" #: inc/root.php:55 msgid "Public Root Path" msgstr "सार्वजनिक रूट पाथ" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "फ़ाइल प्रबंधक रूट पाथ, आप अपनी पसंद के अनुसार बदल सकते हैं।" #: inc/root.php:59 msgid "Default:" msgstr "डिफ़ॉल्ट:" #: inc/root.php:60 msgid "Please change this carefully, wrong path can lead file manager plugin to go down." msgstr "कृपया इसे सावधानी से बदलें, गलत पाथ फ़ाइल प्रबंधक प्लगइन को नीचे जाने के लिए प्रेरित कर सकता है।" #: inc/root.php:64 msgid "Enable Trash?" msgstr "ट्रैश सक्षम करें?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "ट्रैश को इनेबल करने के बाद आपकी फाइल्स ट्रैश फोल्डर में चली जाएंगी।" #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "मीडिया लाइब्रेरी में फ़ाइलें अपलोड सक्षम करें?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "इसे सक्षम करने के बाद सभी फाइलें मीडिया लाइब्रेरी में चली जाएंगी।" #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "डेटाबेस बैकअप पुनर्स्थापना के समय अधिकतम अनुमत आकार।" #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of backup restore." msgstr "यदि आपको बैकअप पुनर्स्थापना के समय त्रुटि संदेश मिल रहा है, तो कृपया फ़ील्ड मान बढ़ाएँ।" #: inc/root.php:90 msgid "Save Changes" msgstr "परिवर्तनों को सुरक्षित करें" #: inc/settings.php:10 msgid "Settings - General" msgstr "सेटिंग - सामान्य" #: inc/settings.php:11 inc/settings.php:26 msgid "Note: This is just a demo screenshot. To get settings please buy our pro version." msgstr "नोट: यह सिर्फ एक डेमो स्क्रीनशॉट है। सेटिंग्स प्राप्त करने के लिए कृपया हमारा प्रो संस्करण खरीदें।" #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set Default Access " "Folder and also control upload size of filemanager." msgstr "" "यहां व्यवस्थापक फ़ाइल प्रबंधक का उपयोग करने के लिए उपयोगकर्ता भूमिकाओं तक पहुंच प्रदान कर सकता है। व्यवस्थापक " "डिफ़ॉल्ट एक्सेस फ़ोल्डर सेट कर सकता है और फ़ाइल प्रबंधक के अपलोड आकार को भी नियंत्रित कर सकता है।" #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "सेटिंग्स - कोड-संपादक" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any theme for code editor. " "It will display when you edit any file. Also you can allow fullscreen mode of code editor." msgstr "" "फ़ाइल प्रबंधक में कई विषयों के साथ एक कोड संपादक होता है। आप कोड संपादक के लिए किसी भी विषय का चयन कर सकते " "हैं। जब आप किसी फ़ाइल को संपादित करते हैं तो यह प्रदर्शित होगा। इसके अलावा आप कोड संपादक के फुलस्क्रीन मोड की " "अनुमति दे सकते हैं।" #: inc/settings.php:18 msgid "Code-editor View" msgstr "कोड-संपादक दृश्य" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "सेटिंग्स - उपयोगकर्ता प्रतिबंध" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can set different - " "different folders paths for different users." msgstr "" "व्यवस्थापक किसी भी उपयोगकर्ता के कार्यों को प्रतिबंधित कर सकता है। फ़ाइलों और फ़ोल्डरों को भी छुपाएं और अलग-अलग " "उपयोगकर्ताओं के लिए अलग-अलग फ़ोल्डर पथ सेट कर सकते हैं।" #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "सेटिंग्स - उपयोगकर्ता भूमिका प्रतिबंध" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and can set different - " "different folders paths for different users roles." msgstr "" "व्यवस्थापक किसी भी उपयोगकर्ता भूमिका की कार्रवाइयों को प्रतिबंधित कर सकता है। फ़ाइलों और फ़ोल्डरों को भी छुपाएं " "और अलग-अलग उपयोगकर्ता भूमिकाओं के लिए अलग-अलग फ़ोल्डर पथ सेट कर सकते हैं।" #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "फ़ाइल प्रबंधक - शोर्टकोड" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 inc/shortcode_docs.php:19 msgid "USE:" msgstr "प्रयोग करें:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from file manager " "settings. It will work same as backend WP File Manager." msgstr "" "यह फ्रंट एंड पर फाइल मैनेजर दिखाएगा। आप फ़ाइल प्रबंधक सेटिंग्स से सभी सेटिंग्स को नियंत्रित कर सकते हैं। यह बैकएंड WP " "फाइल मैनेजर की तरह ही काम करेगा।" #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it and will control " "from file manager settings." msgstr "" "यह फ्रंट एंड पर फाइल मैनेजर दिखाएगा। लेकिन केवल व्यवस्थापक ही इसे एक्सेस कर सकता है और फ़ाइल प्रबंधक सेटिंग्स से " "नियंत्रित करेगा।" #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "पैरामीटर:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can simple use for " "particular user roles as like allowed_roles=\"editor,author\" (seprated by comma(,))" msgstr "" "यह सभी भूमिकाओं को फ्रंट एंड पर फ़ाइल प्रबंधक तक पहुंचने की अनुमति देगा या आप विशेष उपयोगकर्ता भूमिकाओं के लिए " "सरल उपयोग कर सकते हैं जैसे allow_roles=\"editor,author\" (अल्पविराम (,) द्वारा अलग)" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or you can give path " "for sub folders as like \"wp-content/plugins\". If leave blank or empty it will access all " "folders on root directory. Default: Root directory" msgstr "" "यहां \"परीक्षण\" फ़ोल्डर का नाम है जो रूट निर्देशिका पर स्थित है, या आप \"wp-content/plugins\" जैसे उप " "फ़ोल्डरों के लिए पथ दे सकते हैं। यदि खाली या खाली छोड़ दें तो यह रूट निर्देशिका पर सभी फ़ोल्डरों तक पहुंच जाएगा। " "डिफ़ॉल्ट: रूट निर्देशिका" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "फ़ाइल अनुमतियाँ लिखने तक पहुँच के लिए, ध्यान दें: सही/गलत, डिफ़ॉल्ट: असत्य" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "फ़ाइलों को पढ़ने की अनुमति तक पहुंच के लिए, ध्यान दें: सत्य/गलत, डिफ़ॉल्ट: सत्य" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "यह यहां उल्लिखित छुपाएगा। नोट: अल्पविराम (,) से अलग। डिफ़ॉल्ट: शून्य" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js\" etc. Default: Null" msgstr "" "यह कॉमा में उल्लिखित लॉक हो जाएगा। आप \".php,.css,.js\" आदि की तरह अधिक लॉक कर सकते हैं। डिफ़ॉल्ट: नल" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation name as like, " "allowed_operations=\"upload,download\". Note: seprated by comma(,). Default: *" msgstr "" "* सभी ऑपरेशनों के लिए और कुछ ऑपरेशन की अनुमति देने के लिए आप ऑपरेशन नाम का उल्लेख कर सकते हैं जैसे, " "allow_operations=\"upload,download\"। नोट: अल्पविराम (,) से अलग। चूक जाना: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "फ़ाइल संचालन सूची:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "डायरेक्टरी या फोल्डर बनाएं" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "फ़ाइल बनाओ" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "फ़ाइल या फ़ोल्डर का नाम बदलें" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "किसी फ़ोल्डर या फ़ाइल को डुप्लिकेट या क्लोन करें" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "फ़ाइल या फ़ोल्डर पेस्ट करें" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "प्रतिबंध" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "संग्रह या ज़िप बनाने के लिए" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "संग्रह या ज़िप की गई फ़ाइल निकालें" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "फ़ाइलें या फ़ोल्डर कॉपी करें" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "फ़ाइल या फ़ोल्डर को सरल काटें" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "एक फ़ाइल संपादित करें" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "फ़ाइलें और फ़ोल्डर हटाएं या हटाएं" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "फ़ाइलें डाउनलोड करें" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "फाइल अपलोड करो" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "चीजें खोजें" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "फ़ाइल की जानकारी" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "मदद" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by commas(,). If user is " "Ban then they will not able to access wp file manager on front end." msgstr "" "-> यह विशेष उपयोगकर्ताओं को केवल अल्पविराम (,) द्वारा अलग-अलग आईडी डालकर प्रतिबंधित कर देगा। अगर यूजर बैन " "है तो वे फ्रंट एंड पर wp फाइल मैनेजर को एक्सेस नहीं कर पाएंगे।" #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> फ़ाइल प्रबंधक UI देखें। डिफ़ॉल्ट: ग्रिड" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> फ़ाइल संशोधित या दिनांक स्वरूप बनाएँ। डिफ़ॉल्ट: डी एम, वाई एच: मैं ए" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> फ़ाइल प्रबंधक भाषा। डिफ़ॉल्ट: अंग्रेजी (एन)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> फ़ाइल प्रबंधक थीम। डिफ़ॉल्ट: लाइट" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "फ़ाइल प्रबंधक - सिस्टम गुण" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP संस्करण" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "अधिकतम फ़ाइल अपलोड आकार (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "अधिकतम फ़ाइल अपलोड आकार पोस्ट करें (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "मेमोरी लिमिट (मेमोरी_लिमिट)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "समय समाप्त (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "ब्राउज़र और ओएस (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "यहां थीम बदलें:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "डिफ़ॉल्ट" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "डार्क" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "लाइट" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "ग्रे" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "फ़ाइल प्रबंधक में आपका स्वागत है" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "हम नए दोस्त बनाना पसंद करते हैं! नीचे सदस्यता लें और हम वादा करते हैं\n" " आपको हमारे नवीनतम नए प्लगइन्स, अपडेट के साथ अप-टू-डेट रखें,\n" " शानदार डील और कुछ खास ऑफर्स।" #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "कृपया प्रथम नाम दर्ज करें।" #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "कृपया अंतिम नाम दर्ज करें।" #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "कृपया ईमेल पता दर्ज करें।" #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "सत्यापित करें" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "जी नहीं, धन्यवाद" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "सेवा की शर्तें" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "गोपनीयता नीति" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "सहेजा जा रहा है..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "ठीक है" #~ msgid "Backup not found!" #~ msgstr "बैकअप नहीं मिला!" #~ msgid "Backup removed successfully!" #~ msgstr "बैकअप सफलतापूर्वक निकाला गया!" #~ msgid "Nothing selected for backup" #~ msgstr "बैकअप के लिए कुछ भी नहीं चुना गया" #~ msgid "Security Issue." #~ msgstr "सुरक्षा समस्या." #~ msgid "Database backup done." #~ msgstr "डेटाबेस बैकअप हो गया।" #~ msgid "Unable to create database backup." #~ msgstr "डेटाबेस बैकअप बनाने में असमर्थ।" #~ msgid "Plugins backup done." #~ msgstr "प्लगइन्स का बैकअप हो गया।" #~ msgid "Plugins backup failed." #~ msgstr "प्लगइन्स बैकअप विफल रहा।" #~ msgid "Themes backup done." #~ msgstr "थीम का बैकअप हो गया." #~ msgid "Themes backup failed." #~ msgstr "थीम बैकअप विफल।" #~ msgid "Uploads backup done." #~ msgstr "अपलोड बैकअप हो गया।" #~ msgid "Uploads backup failed." #~ msgstr "अपलोड बैकअप विफल रहा।" #~ msgid "Others backup done." #~ msgstr "अन्य बैकअप किया गया।" #~ msgid "Others backup failed." #~ msgstr "अन्य बैकअप विफल रहा।" #~ msgid "All Done" #~ msgstr "सब हो गया" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" dateformat=\"d M, Y h:i A\" " #~ "allowed_roles=\"editor,author\" access_folder=\"wp-content/plugins\" write = \"true\" read = " #~ "\"false\" hide_files = \"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" dateformat=\"d M, Y h:i A\" " #~ "allowed_roles=\"editor,author\" access_folder=\"wp-content/plugins\" write = \"true\" read = " #~ "\"false\" hide_files = \"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "अपने WP फ़ाइलों को प्रबंधित करें।" #~ msgid "Extensions" #~ msgstr "एक्सटेंशन" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay amount of your " #~ "choice." #~ msgstr "" #~ "प्लगइन को अधिक स्थिर बनाने के लिए कृपया कुछ दान में योगदान करें आप अपनी पसंद की राशि का भुगतान कर सकते हैं" wp-file-manager/languages/wp-file-manager-hr.mo000064400000043402151202472330015406 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&(D)+)G(*4p*;**(*++Bv,>, ,@-<D-:--!--4.)E.%o.)..)./!/ 2/ =/H/Q/i// //3//0 00+0-\06000 0001 1&1-71e1~111112(2 2&2M3^3<4#V4z44445o666rj77t8#9>9F9M9k9T|9?9$:6:S:n::: : :V:^-;);*;;;F;,6<%c<</< < <<= =)=h:=l=>5>(M>+v>1>@>?$?:?O?'_???"??? ??@ @.(@W@`@{@#@'@@@'A,A=A5UAA'A$A'A-B3B"CBfBB B6B(B,B C4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-03 12:32+0530 Last-Translator: admin Language-Team: Language: hr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * za sve operacije i za dopuštanje neke operacije možete spomenuti naziv operacije kao, dozvoljeno_operacije="upload,download". Napomena: odvojeno zarezom (,). Zadano: *-> Zabranit će određenim korisnicima stavljanjem njihovih ID-ova razdvojenih zarezima (,). Ako je korisnik Ban, tada neće moći pristupiti upravitelju datoteka wp s prednje strane.-> Tema Upravitelja datoteka. Zadano: Light-> Izmijenjena datoteka ili Stvori format datuma. Zadano: d M, Y h: i A-> Jezik upravitelja datotekama. Zadano: English(en)-> Prikaz korisničkog sučelja Filemanager-a. Zadano: gridAkcijskiRadnje po odabranim sigurnosnim kopijamaAdministrator može ograničiti radnje bilo kojeg korisnika. Također možete sakriti datoteke i mape i možete postaviti različite putanje mapa za različite korisnike.Administrator može ograničiti radnje bilo koje korisničke uloge. Također možete sakriti datoteke i mape i možete postaviti različite putanje mapa za različite uloge korisnika.Nakon omogućavanja otpada, vaše će datoteke ići u mapu smeća.Nakon što ovo omogućite, sve će datoteke ići u medijateku.Sve GotovoJeste li sigurni da želite ukloniti odabrane sigurnosne kopije?Jeste li sigurni da želite izbrisati ovu sigurnosnu kopiju?Jeste li sigurni da želite vratiti ovu sigurnosnu kopiju?Datum sigurnosne kopijeNapravite sigurnosnu kopiju odmahOpcije sigurnosne kopije:Sigurnosna kopija podataka (kliknite za preuzimanje)Datoteke za sigurnosne kopije bit će podIzrada sigurnosne kopije, pričekajteSigurnosna kopija uspješno je izbrisana.Sigurnosno kopiranje/vraćanjeSigurnosne kopije uspješno su uklonjene!ZabranaPreglednik i OS (HTTP_USER_AGENT)Kupite PROKupite ProOtkazatiPromijenite temu ovdje:Kliknite za kupnju PROPrikaz uređivača kodaPotvrditeKopirajte datoteke ili mapeTrenutno nije pronađena nijedna sigurnosna kopija.OBRIŠI DATOTEKEMračnoSigurnosna kopija baze podatakaIzrada sigurnosne kopije baze podataka na datum Izvršeno sigurnosno kopiranje baze podataka.Sigurnosna kopija baze podataka uspješno je vraćena.ZadanoZadano:IzbrisatiPoništi odabirOdbaci ovu obavijest.darovatiPreuzmite zapisnike datotekaPreuzmi datotekeDuplicirajte ili klonirajte mapu ili datotekuUredi zapisnike datotekaUredite datotekuOmogućiti prijenos datoteka u biblioteku medija?Omogućiti otpad?Pogreška: nije moguće vratiti sigurnosnu kopiju jer je sigurnosna kopija baze podataka velika. Pokušajte povećati maksimalnu dopuštenu veličinu u postavkama Preference.Postojeće sigurnosne kopijeIzdvojite arhivu ili arhiviranu datotekuUpravitelj datoteka - kratki kodUpravitelj datoteka - Svojstva sustavaKorijenski put upravitelja datoteka, možete promijeniti prema vašem izboru.Upravitelj datoteka ima uređivač koda s više tema. Za uređivač koda možete odabrati bilo koju temu. Prikazat će se kad uredite bilo koju datoteku. Također možete dopustiti način cijelog zaslona uređivača koda.Popis operacija datoteka:Datoteka ne postoji za preuzimanje.Sigurnosna kopija datotekaSivaPomoziteOvdje je "test" naziv mape koja se nalazi u korijenskom direktoriju, ili možete dati put za podmape poput "wp-content/plugins". Ako ostavite prazno ili prazno, pristupit će svim mapama u korijenskom direktoriju. Zadano: korijenski direktorijOvdje administrator može dati pristup korisničkim ulogama za korištenje upravitelja datoteka. Administrator može postaviti zadanu mapu za pristup i također kontrolirati veličinu prijenosa upravitelja datoteka.Podaci o datoteciNevažeći sigurnosni kod.Omogućit će svim ulogama pristup upravitelju datoteka na prednjem kraju ili možete jednostavno koristiti za određene korisničke uloge kao što je dopušteno_roles="urednik,autor" (odvojeno zarezom(,))Zaključat će se spomenuto u zarezima. možete zaključati više poput ".php,.css,.js" itd. Zadana postavka: NullNa prednjem kraju će se prikazati upravitelj datoteka. Ali samo mu administrator može pristupiti i kontrolirat će iz postavki upravitelja datoteka.Na prednjem kraju će se prikazati upravitelj datoteka. Možete kontrolirati sve postavke iz postavki upravitelja datoteka. Radit će isto kao backend WP upravitelj datoteka.Posljednja poruka dnevnikaSvjetloTrupciNapravite direktorij ili mapuNapravi datotekuMaksimalna dopuštena veličina u vrijeme vraćanja sigurnosne kopije baze podataka.Maksimalna veličina za prijenos datoteke (upload_max_filesize)Ograničenje memorije (memory_limit)Nedostaje sigurnosna kopija.Nedostaje vrsta parametra.Nedostaju potrebni parametri.Ne hvalaNema poruke dnevnikaNije pronađen nijedan zapisnik!Bilješka:Napomena: Ovo su demo snimke zaslona. Molimo kupite File Manager pro za funkcije Logs.Napomena: Ovo je samo demo snimak zaslona. Da biste dobili postavke, kupite našu pro verziju.Ništa nije odabrano za sigurnosnu kopijuNišta nije odabrano za sigurnosnu kopiju.u reduU reduOstalo (Bilo koji drugi direktorij koji se nalazi unutar wp-sadržaja)Ostale sigurnosne kopije izvršene na datum Ostala sigurnosna kopija napravljena.Others backup failed.Ostale sigurnosne kopije uspješno su vraćene.PHP verzijaParametri:Zalijepite datoteku ili mapuUnesite adresu e-pošte.Unesite ime.Unesite prezime.Molimo pažljivo promijenite ovo, pogrešan put može dovesti do pada dodatka za upravljanje datotekama.Molimo povećajte vrijednost polja ako dobijete poruku o pogrešci u vrijeme vraćanja iz sigurnosne kopije.DodaciIzrada sigurnosne kopije dodataka izvršena na datum Dovršeno sigurnosno kopiranje dodataka.Sigurnosno kopiranje dodataka nije uspjelo.Sigurnosna kopija dodataka uspješno je vraćena.Objavi maksimalnu veličinu za prijenos datoteke (post_max_size)preferencijamaPravila o privatnostiJavni korijenski putVRAĆI DATOTEKEUklonite ili izbrišite datoteke i mapePreimenujte datoteku ili mapuVratitiVraćanje je u tijeku, pričekajteUSPJEHSpremi promjeneSpremanje ...Pretražite stvariSigurnosno pitanje.Odaberi sveOdaberite sigurnosnu(e) kopiju(e) za brisanje!PostavkePostavke - Uređivač kodaPostavke - OpćenitoPostavke - Korisnička ograničenjaPostavke - Ograničenja uloga korisnikaPostavke spremljene.Kratki kod – PROJednostavno izrežite datoteku ili mapuSvojstva sustavaUvjeti pružanja uslugeSigurnosna kopija očito je uspjela i sada je gotova.TemeIzrada sigurnosne kopije tema na datum Izvršeno sigurnosno kopiranje tema.Sigurnosno kopiranje tema nije uspjelo.Sigurnosna kopija tema uspješno je vraćena.Vrijeme je sadaIstek vremena (max_execution_time)Da napravite arhivu ili zipDanasKORISTITI:Nije moguće stvoriti sigurnosnu kopiju baze podataka.Nije moguće ukloniti sigurnosnu kopiju!Nije moguće vratiti sigurnosnu kopiju DB-a.Nije moguće vratiti druge.Nije moguće vratiti dodatke.Nije moguće vratiti teme.Prijenos nije moguće vratiti.Učitaj zapisnike datotekaUčitaj datotekePrijenosiPrenosi sigurnosne kopije izvršene na datum Sigurnosna kopija prijenosa je gotova.Sigurnosna kopija prijenosa nije uspjela.Sigurnosna kopija prijenosa uspješno je vraćena.PotvrditePrikaži zapisnikWP upravitelj datotekaWP upravitelj datoteka - Sigurnosna kopija / VraćanjeDoprinos WP upravitelja datotekaVolimo sklapati nova prijateljstva! Pretplatite se u nastavku i obećavamo biti u toku s našim najnovijim novim dodacima, ažuriranjima, sjajne ponude i nekoliko posebnih ponuda.Dobrodošli u File ManagerNiste unijeli nikakve promjene koje želite spremiti.za dopuštenje za pristup čitanju datoteka, napomena: true/false, default: trueza pristup dopuštenjima za pisanje datoteka, napomena: true/false, default: falsesakriti će ovdje spomenuto. Napomena: odvojeno zarezom (,). Zadano: Nullwp-file-manager/languages/wp-file-manager-hr.po000064400000067114151202472330015417 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 10:25+0530\n" "PO-Revision-Date: 2022-03-03 12:32+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n" "%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Sigurnosna kopija tema uspješno je vraćena." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Nije moguće vratiti teme." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Sigurnosna kopija prijenosa uspješno je vraćena." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Prijenos nije moguće vratiti." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Ostale sigurnosne kopije uspješno su vraćene." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Nije moguće vratiti druge." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Sigurnosna kopija dodataka uspješno je vraćena." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Nije moguće vratiti dodatke." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Sigurnosna kopija baze podataka uspješno je vraćena." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Sve Gotovo" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Nije moguće vratiti sigurnosnu kopiju DB-a." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Sigurnosne kopije uspješno su uklonjene!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Nije moguće ukloniti sigurnosnu kopiju!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Izrada sigurnosne kopije baze podataka na datum " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Izrada sigurnosne kopije dodataka izvršena na datum " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Izrada sigurnosne kopije tema na datum " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Prenosi sigurnosne kopije izvršene na datum " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Ostale sigurnosne kopije izvršene na datum " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Trupci" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nije pronađen nijedan zapisnik!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Ništa nije odabrano za sigurnosnu kopiju" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Sigurnosno pitanje." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Izvršeno sigurnosno kopiranje baze podataka." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Nije moguće stvoriti sigurnosnu kopiju baze podataka." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Dovršeno sigurnosno kopiranje dodataka." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Sigurnosno kopiranje dodataka nije uspjelo." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Izvršeno sigurnosno kopiranje tema." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Sigurnosno kopiranje tema nije uspjelo." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Sigurnosna kopija prijenosa je gotova." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Sigurnosna kopija prijenosa nije uspjela." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Ostala sigurnosna kopija napravljena." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Others backup failed." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP upravitelj datoteka" #: file_folder_manager.php:769 msgid "Settings" msgstr "Postavke" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "preferencijama" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Svojstva sustava" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kratki kod – PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Sigurnosno kopiranje/vraćanje" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Kupite Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "darovati" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Datoteka ne postoji za preuzimanje." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Nevažeći sigurnosni kod." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Nedostaje sigurnosna kopija." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Nedostaje vrsta parametra." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Nedostaju potrebni parametri." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Pogreška: nije moguće vratiti sigurnosnu kopiju jer je sigurnosna kopija " "baze podataka velika. Pokušajte povećati maksimalnu dopuštenu veličinu u " "postavkama Preference." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Odaberite sigurnosnu(e) kopiju(e) za brisanje!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Jeste li sigurni da želite ukloniti odabrane sigurnosne kopije?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Izrada sigurnosne kopije, pričekajte" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Vraćanje je u tijeku, pričekajte" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Ništa nije odabrano za sigurnosnu kopiju." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP upravitelj datoteka - Sigurnosna kopija / Vraćanje" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opcije sigurnosne kopije:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Sigurnosna kopija baze podataka" #: inc/backup.php:64 msgid "Files Backup" msgstr "Sigurnosna kopija datoteka" #: inc/backup.php:68 msgid "Plugins" msgstr "Dodaci" #: inc/backup.php:71 msgid "Themes" msgstr "Teme" #: inc/backup.php:74 msgid "Uploads" msgstr "Prijenosi" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Ostalo (Bilo koji drugi direktorij koji se nalazi unutar wp-sadržaja)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Napravite sigurnosnu kopiju odmah" #: inc/backup.php:89 msgid "Time now" msgstr "Vrijeme je sada" #: inc/backup.php:99 msgid "SUCCESS" msgstr "USPJEH" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Sigurnosna kopija uspješno je izbrisana." #: inc/backup.php:102 msgid "Ok" msgstr "U redu" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "OBRIŠI DATOTEKE" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Jeste li sigurni da želite izbrisati ovu sigurnosnu kopiju?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Otkazati" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Potvrdite" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "VRAĆI DATOTEKE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Jeste li sigurni da želite vratiti ovu sigurnosnu kopiju?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Posljednja poruka dnevnika" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Sigurnosna kopija očito je uspjela i sada je gotova." #: inc/backup.php:171 msgid "No log message" msgstr "Nema poruke dnevnika" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Postojeće sigurnosne kopije" #: inc/backup.php:184 msgid "Backup Date" msgstr "Datum sigurnosne kopije" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Sigurnosna kopija podataka (kliknite za preuzimanje)" #: inc/backup.php:190 msgid "Action" msgstr "Akcijski" #: inc/backup.php:210 msgid "Today" msgstr "Danas" #: inc/backup.php:239 msgid "Restore" msgstr "Vratiti" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Izbrisati" #: inc/backup.php:241 msgid "View Log" msgstr "Prikaži zapisnik" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Trenutno nije pronađena nijedna sigurnosna kopija." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Radnje po odabranim sigurnosnim kopijama" #: inc/backup.php:251 msgid "Select All" msgstr "Odaberi sve" #: inc/backup.php:252 msgid "Deselect" msgstr "Poništi odabir" #: inc/backup.php:254 msgid "Note:" msgstr "Bilješka:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Datoteke za sigurnosne kopije bit će pod" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Doprinos WP upravitelja datoteka" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Napomena: Ovo su demo snimke zaslona. Molimo kupite File Manager pro za " "funkcije Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Kliknite za kupnju PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Kupite PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Uredi zapisnike datoteka" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Preuzmite zapisnike datoteka" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Učitaj zapisnike datoteka" #: inc/root.php:43 msgid "Settings saved." msgstr "Postavke spremljene." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Odbaci ovu obavijest." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Niste unijeli nikakve promjene koje želite spremiti." #: inc/root.php:55 msgid "Public Root Path" msgstr "Javni korijenski put" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Korijenski put upravitelja datoteka, možete promijeniti prema vašem izboru." #: inc/root.php:59 msgid "Default:" msgstr "Zadano:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Molimo pažljivo promijenite ovo, pogrešan put može dovesti do pada dodatka " "za upravljanje datotekama." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Omogućiti otpad?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Nakon omogućavanja otpada, vaše će datoteke ići u mapu smeća." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Omogućiti prijenos datoteka u biblioteku medija?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Nakon što ovo omogućite, sve će datoteke ići u medijateku." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maksimalna dopuštena veličina u vrijeme vraćanja sigurnosne kopije baze " "podataka." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Molimo povećajte vrijednost polja ako dobijete poruku o pogrešci u vrijeme " "vraćanja iz sigurnosne kopije." #: inc/root.php:90 msgid "Save Changes" msgstr "Spremi promjene" #: inc/settings.php:10 msgid "Settings - General" msgstr "Postavke - Općenito" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Napomena: Ovo je samo demo snimak zaslona. Da biste dobili postavke, kupite " "našu pro verziju." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Ovdje administrator može dati pristup korisničkim ulogama za korištenje " "upravitelja datoteka. Administrator može postaviti zadanu mapu za pristup i " "također kontrolirati veličinu prijenosa upravitelja datoteka." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Postavke - Uređivač koda" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Upravitelj datoteka ima uređivač koda s više tema. Za uređivač koda možete " "odabrati bilo koju temu. Prikazat će se kad uredite bilo koju datoteku. " "Također možete dopustiti način cijelog zaslona uređivača koda." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Prikaz uređivača koda" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Postavke - Korisnička ograničenja" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administrator može ograničiti radnje bilo kojeg korisnika. Također možete " "sakriti datoteke i mape i možete postaviti različite putanje mapa za " "različite korisnike." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Postavke - Ograničenja uloga korisnika" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administrator može ograničiti radnje bilo koje korisničke uloge. Također " "možete sakriti datoteke i mape i možete postaviti različite putanje mapa za " "različite uloge korisnika." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Upravitelj datoteka - kratki kod" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "KORISTITI:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Na prednjem kraju će se prikazati upravitelj datoteka. Možete kontrolirati " "sve postavke iz postavki upravitelja datoteka. Radit će isto kao backend WP " "upravitelj datoteka." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Na prednjem kraju će se prikazati upravitelj datoteka. Ali samo mu " "administrator može pristupiti i kontrolirat će iz postavki upravitelja " "datoteka." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametri:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Omogućit će svim ulogama pristup upravitelju datoteka na prednjem kraju ili " "možete jednostavno koristiti za određene korisničke uloge kao što je " "dopušteno_roles=\"urednik,autor\" (odvojeno zarezom(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Ovdje je \"test\" naziv mape koja se nalazi u korijenskom direktoriju, ili " "možete dati put za podmape poput \"wp-content/plugins\". Ako ostavite prazno " "ili prazno, pristupit će svim mapama u korijenskom direktoriju. Zadano: " "korijenski direktorij" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "za pristup dopuštenjima za pisanje datoteka, napomena: true/false, default: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "za dopuštenje za pristup čitanju datoteka, napomena: true/false, default: " "true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "sakriti će ovdje spomenuto. Napomena: odvojeno zarezom (,). Zadano: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Zaključat će se spomenuto u zarezima. možete zaključati više poput \".php,." "css,.js\" itd. Zadana postavka: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* za sve operacije i za dopuštanje neke operacije možete spomenuti naziv " "operacije kao, dozvoljeno_operacije=\"upload,download\". Napomena: odvojeno " "zarezom (,). Zadano: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Popis operacija datoteka:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Napravite direktorij ili mapu" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Napravi datoteku" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Preimenujte datoteku ili mapu" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplicirajte ili klonirajte mapu ili datoteku" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Zalijepite datoteku ili mapu" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Zabrana" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Da napravite arhivu ili zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Izdvojite arhivu ili arhiviranu datoteku" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopirajte datoteke ili mape" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Jednostavno izrežite datoteku ili mapu" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Uredite datoteku" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Uklonite ili izbrišite datoteke i mape" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Preuzmi datoteke" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Učitaj datoteke" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Pretražite stvari" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Podaci o datoteci" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Pomozite" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Zabranit će određenim korisnicima stavljanjem njihovih ID-ova razdvojenih " "zarezima (,). Ako je korisnik Ban, tada neće moći pristupiti upravitelju " "datoteka wp s prednje strane." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Prikaz korisničkog sučelja Filemanager-a. Zadano: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Izmijenjena datoteka ili Stvori format datuma. Zadano: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Jezik upravitelja datotekama. Zadano: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema Upravitelja datoteka. Zadano: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Upravitelj datoteka - Svojstva sustava" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP verzija" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimalna veličina za prijenos datoteke (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Objavi maksimalnu veličinu za prijenos datoteke (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Ograničenje memorije (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Istek vremena (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Preglednik i OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Promijenite temu ovdje:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Zadano" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Mračno" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Svjetlo" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Siva" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Dobrodošli u File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Volimo sklapati nova prijateljstva! Pretplatite se u nastavku i obećavamo\n" " biti u toku s našim najnovijim novim dodacima, ažuriranjima,\n" " sjajne ponude i nekoliko posebnih ponuda." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Unesite ime." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Unesite prezime." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Unesite adresu e-pošte." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Potvrdite" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ne hvala" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Uvjeti pružanja usluge" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Pravila o privatnosti" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Spremanje ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "u redu" #~ msgid "Backup not found!" #~ msgstr "Sigurnosna kopija nije pronađena!" #~ msgid "Backup removed successfully!" #~ msgstr "Sigurnosna kopija uspješno je uklonjena!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Ništa nije odabrano za sigurnosnu " #~ "kopiju" #~ msgid "Security Issue." #~ msgstr "Pitanje sigurnosti." #~ msgid "Database backup done." #~ msgstr "" #~ "Izrađena sigurnosna kopija baze " #~ "podataka." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Nije moguće stvoriti sigurnosnu kopiju " #~ "baze podataka." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Izrađena sigurnosna kopija dodataka." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Izrada sigurnosne kopije dodataka nije " #~ "uspjela." #~ msgid "Themes backup done." #~ msgstr "" #~ "Izrađeno sigurnosno kopiranje tema." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Izrada sigurnosne kopije tema nije " #~ "uspjela." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Prijenosi sigurnosne kopije izvršeni." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Sigurnosna kopija prijenosa nije uspjela." #~ "" #~ msgid "Others backup done." #~ msgstr "" #~ "Ostali sigurnosna kopija gotova." #~ msgid "Others backup failed." #~ msgstr "" #~ "Sigurnosna kopija drugih nije uspjela." #~ msgid "All Done" #~ msgstr "Sve gotovo" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Upravljanje WP datotekama." #~ msgid "Extensions" #~ msgstr "Proširenja" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Priložite neku donaciju kako biste dodatak stabilniji. Možete platiti " #~ "iznos po vašem izboru." wp-file-manager/languages/wp-file-manager-hu_HU.mo000064400000045312151202472330016007 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Q($).)L"*5o*0**3*++A,J1- |-E---?-=.Y.#r./.,.".*/%A/1g//6/// / 0!$0F0 ]0i0*000000%19E11111"1 11 212P2k25222"3(33&4R544q5"5 55 556778u9z9::::%:%:_;=};;$;<#<@<P<d<|<o<~</t=0===A=5'>)]>*>6> > >$?$(?"M?#p?v?k @w@C@3@8@@7A7xA AAAAB$BAB)RB|BBBBBB=B&C 5CVC.sC4CCC%D*DBDE]DD,D+D-E52E hE$tE#EE E8E6F;4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-03 12:35+0530 Last-Translator: admin Language-Team: Language: hu_HU MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * minden művelethez és bizonyos műveletek engedélyezéséhez megadhatja a művelet nevét, mint például, enabled_operations="upload,download". Megjegyzés: vesszővel (,) elválasztva. Alapértelmezett: *-> Megtiltja az egyes felhasználókat azáltal, hogy csak vesszővel elválasztott azonosítót tesz ((). Ha a felhasználó Ban, akkor nem fog tudni hozzáférni a wp fájlkezelőhöz a kezelőfelületen.-> Fájlkezelő téma. Alapértelmezett: Light-> File Modified vagy Create date formátum. Alapértelmezés: d M, Y h: i A-> Fájlkezelő nyelve. Alapértelmezett: English(en)-> Filemanager UI nézet. Alapértelmezett: gridAkcióMűveletek a kiválasztott biztonsági mentésekkelAz adminisztrátor korlátozhatja bármely felhasználó műveleteit. A fájlokat és mappákat is elrejtheti, és különböző - különböző mappák elérési útjait állíthatja be a különböző felhasználók számára.Az adminisztrátor korlátozhatja bármely felhasználói szerepkör műveleteit. A fájlokat és mappákat is elrejtheti, és különböző - különböző mappák elérési útjait állíthatja be a különböző felhasználói szerepkörökhöz.A kuka engedélyezése után a fájlok a kuka mappába kerülnek.Ennek engedélyezése után az összes fájl a média könyvtárba kerül.Minden készBiztosan el akarja távolítani a kijelölt biztonsági másolatokat?Biztosan törli ezt a biztonsági másolatot?Biztosan vissza akarja állítani ezt a biztonsági másolatot?Biztonsági mentés dátumaBiztonsági mentés mostBiztonsági mentési lehetőségek:Biztonsági adatok (kattintson a letöltéshez)A biztonsági mentési fájlok alatt lesznekA biztonsági mentés fut, várjonA biztonsági mentés sikeresen törölve.Biztonsági mentés visszaállításaA biztonsági másolatok sikeresen eltávolítva!TilalomBöngésző és operációs rendszer (HTTP_USER_AGENT)Vásároljon PRO-tVásároljon PRO-tMegszüntetiTéma módosítása itt:Kattintson a PRO vásárlásáhozKódszerkesztő nézetmegerősítFájlok vagy mappák másolásaJelenleg nincsenek biztonsági másolatok.FÁJLOK TÖRLÉSESötétAdatbázis biztonsági mentéseAz adatbázis mentése a dátummal megtörtént Adatbázis biztonsági mentés kész.Az adatbázis biztonsági mentése sikeresen visszaállt.AlapértelmezettAlapértelmezett:TörölTörölje a kijelöléstUtasítsa el ezt az értesítést.AdományozFájlnaplók letöltéseFájlok letöltéseMásoljon vagy klónozzon egy mappát vagy fájltFájlnaplók szerkesztéseFájl szerkesztéseEngedélyezi a fájlok feltöltését a médiatárba?Engedélyezi a kukát?Hiba: Nem lehet visszaállítani a biztonsági másolatot, mert az adatbázis biztonsági mentése nagy méretű. Kérjük, próbálja meg növelni a Maximális megengedett méretet a Beállítások beállításainál.Meglévő biztonsági mentés (ek)Kivonat archív vagy tömörített fájlFájlkezelő - rövid kódFájlkezelő - Rendszer tulajdonságaiA File Manager gyökérútvonalát megváltoztathatja az Ön választása szerint.A File Manager rendelkezik több témájú kódszerkesztővel. Bármely témát kiválaszthat a kódszerkesztő számára. Bármely fájl szerkesztésekor megjelenik. Engedélyezheti a kódszerkesztő teljes képernyős módját is.Fájlműveletek listája:A fájl nem létezik letöltésre.FájlmentésszürkeSegítségItt a "teszt" a gyökérkönyvtárban található mappa neve, vagy megadhatja az almappák elérési útját, például "wp-content/plugins". Ha üresen hagyja vagy üresen hagyja, akkor a gyökérkönyvtár összes mappájához hozzáfér. Alapértelmezés: GyökérkönyvtárItt az adminisztrátor hozzáférést adhat a felhasználói szerepkörökhöz a fájlkezelő használatához. Az adminisztrátor beállíthatja az alapértelmezett hozzáférési mappát, és szabályozhatja a fájlkezelő feltöltési méretét is.A fájl adataiÉrvénytelen biztonsági kód.Lehetővé teszi, hogy minden szerepkör hozzáférjen a fájlkezelőhöz a kezelőfelületen, vagy egyszerűen használható bizonyos felhasználói szerepkörökhöz, mint például a enabled_roles="editor,author" (vesszővel (,) elválasztva)A vesszővel említett zárolás lesz. zárolhat többet, mint például ".php,.css, .js" stb. Alapértelmezés: NullAz előlapon megjelenik a fájlkezelő. De csak a rendszergazda férhet hozzá, és a fájlkezelő beállításaiból irányíthatja.Az előlapon megjelenik a fájlkezelő. Az összes beállítást a fájlkezelő beállításaiból vezérelheti. Ugyanúgy fog működni, mint a háttér WP fájlkezelője.Utolsó naplóüzenetFényNaplókKészítsen könyvtárat vagy mappátKészítsen könyvtárat vagy mappátMaximális megengedett méret az adatbázis biztonsági mentésének visszaállítása idején.A fájl maximális feltöltési mérete (upload_max_filesize)Memória korlát (memory_limit)Hiányzik a biztonsági azonosító.Hiányzó paramétertípus.Hiányzik a szükséges paraméter.Nem köszönömNincs naplóüzenetNem található napló!Jegyzet:Megjegyzés: Ezek bemutató képernyőképek. Kérjük, vásárolja meg a File Manager pro to Logs funkciókat.Megjegyzés: Ez csak egy bemutató képernyőkép. A beállítások megszerzéséhez kérjük, vásárolja meg a pro verziót.Semmi sincs kiválasztva biztonsági mentéshezSemmi sincs kiválasztva biztonsági mentéshez.rendbenRendbenEgyéb (bármely más könyvtár megtalálható a wp-tartalomban)Mások biztonsági mentése a dátummal megtörtént A többi biztonsági mentés elkészült.Mások biztonsági mentése nem sikerült.Mások biztonsági mentése sikeresen visszaállítva.PHP verzióParaméterek:Illesszen be egy fájlt vagy mappátKérjük, adja meg az e-mail címet.Kérjük, adja meg a keresztnevet.Kérjük, adja meg a vezetéknevet.Kérjük, változtassa meg ezt gondosan, a rossz elérési út a fájlkezelő beépülő modul lefutásához vezethet.Kérjük, növelje a mező értékét, ha hibaüzenetet kap a biztonsági mentés visszaállítása során.BővítményekA beépülő modulok biztonsági mentése a dátummal megtörtént A bővítmények biztonsági mentése megtörtént.A beépülő modulok biztonsági mentése nem sikerült.A beépülő modulok biztonsági mentése sikeresen visszaállt.A fájl maximális feltöltési mérete (post_max_size)preferenciákAdatvédelmi irányelvekNyilvános gyökérútFÁJLOK VISSZAÁLLÍTÁSAFájl szerkesztéseNevezzen át egy fájlt vagy mappátvisszaállításA visszaállítás fut, kérjük, várjonSIKERVáltoztatások mentéseMegtakarítás...Keressen dolgokatBiztonsági probléma.Mindet kiválasztVálassza ki a törölni kívánt biztonsági másolat(oka)t!BeállításokBeállítások - KódszerkesztőBeállítások - ÁltalánosBeállítások - Felhasználói korlátozásokBeállítások - Felhasználói szerepkorlátozásokBeállítások elmentve.Rövid kód – PROEgyszerű fájl vagy mappa kivágásaRendszer tulajdonságaiSzolgáltatás feltételeiA biztonsági mentés láthatóan sikerült, és most befejeződött.TémákA témák mentése a dátummal megtörtént A témák biztonsági mentése elkészült.A témák biztonsági mentése nem sikerült.A témák biztonsági mentése sikeresen visszaállt.Itt az időIdőtúllépés (max_execution_time)Archívum vagy zip készítéséhezMaHASZNÁLAT:Nem lehet adatbázis biztonsági másolatot készíteni.Nem sikerült eltávolítani a biztonsági másolatot!Nem sikerült visszaállítani a DB biztonsági másolatot.Nem sikerült visszaállítani a többieket.Nem sikerült visszaállítani a bővítményeket.Nem lehet visszaállítani a témákat.Nem sikerült visszaállítani a feltöltéseket.Fájlnaplók feltöltéseFájlok feltöltéseFeltöltésekA feltöltés dátuma megtörtént A feltöltések biztonsági mentése kész.A biztonsági mentés feltöltése sikertelen.A feltöltések biztonsági mentése sikeresen visszaállt.EllenőrizzeNapló megtekintéseWP fájlkezelőWP fájlkezelő - Biztonsági mentés / VisszaállításWP fájlkezelő hozzájárulásSzeretünk új barátokat szerezni! Iratkozzon fel alább, és megígérjük naprakész legyen a legújabb új beépülő moduljainkkal, fantasztikus ajánlatok és néhány különleges ajánlat.Üdvözöljük a FájlkezelőbenNem végzett változtatásokat mentésre.a fájlok olvasási engedélyéhez: igaz/hamis, alapértelmezett: igaza fájlok írási engedélyeihez, megjegyzés: igaz/hamis, alapértelmezett: hamisitt megemlítve el fog rejtőzni. Megjegyzés: vesszővel (,) elválasztva. Alapértelmezés: Nullwp-file-manager/languages/wp-file-manager-hu_HU.po000064400000070776151202472330016026 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 10:30+0530\n" "PO-Revision-Date: 2022-03-03 12:35+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: hu_HU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "A témák biztonsági mentése sikeresen visszaállt." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Nem lehet visszaállítani a témákat." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "A feltöltések biztonsági mentése sikeresen visszaállt." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Nem sikerült visszaállítani a feltöltéseket." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Mások biztonsági mentése sikeresen visszaállítva." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Nem sikerült visszaállítani a többieket." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "A beépülő modulok biztonsági mentése sikeresen visszaállt." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Nem sikerült visszaállítani a bővítményeket." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Az adatbázis biztonsági mentése sikeresen visszaállt." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Minden kész" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Nem sikerült visszaállítani a DB biztonsági másolatot." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "A biztonsági másolatok sikeresen eltávolítva!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Nem sikerült eltávolítani a biztonsági másolatot!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Az adatbázis mentése a dátummal megtörtént " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "A beépülő modulok biztonsági mentése a dátummal megtörtént " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "A témák mentése a dátummal megtörtént " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "A feltöltés dátuma megtörtént " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Mások biztonsági mentése a dátummal megtörtént " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Naplók" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nem található napló!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Semmi sincs kiválasztva biztonsági mentéshez" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Biztonsági probléma." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Adatbázis biztonsági mentés kész." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Nem lehet adatbázis biztonsági másolatot készíteni." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "A bővítmények biztonsági mentése megtörtént." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "A beépülő modulok biztonsági mentése nem sikerült." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "A témák biztonsági mentése elkészült." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "A témák biztonsági mentése nem sikerült." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "A feltöltések biztonsági mentése kész." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "A biztonsági mentés feltöltése sikertelen." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "A többi biztonsági mentés elkészült." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Mások biztonsági mentése nem sikerült." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP fájlkezelő" #: file_folder_manager.php:769 msgid "Settings" msgstr "Beállítások" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "preferenciák" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Rendszer tulajdonságai" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Rövid kód – PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Biztonsági mentés visszaállítása" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Vásároljon PRO-t" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Adományoz" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "A fájl nem létezik letöltésre." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Érvénytelen biztonsági kód." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Hiányzik a biztonsági azonosító." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Hiányzó paramétertípus." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Hiányzik a szükséges paraméter." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Hiba: Nem lehet visszaállítani a biztonsági másolatot, mert az adatbázis " "biztonsági mentése nagy méretű. Kérjük, próbálja meg növelni a Maximális " "megengedett méretet a Beállítások beállításainál." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Válassza ki a törölni kívánt biztonsági másolat(oka)t!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Biztosan el akarja távolítani a kijelölt biztonsági másolatokat?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "A biztonsági mentés fut, várjon" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "A visszaállítás fut, kérjük, várjon" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Semmi sincs kiválasztva biztonsági mentéshez." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP fájlkezelő - Biztonsági mentés / Visszaállítás" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Biztonsági mentési lehetőségek:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Adatbázis biztonsági mentése" #: inc/backup.php:64 msgid "Files Backup" msgstr "Fájlmentés" #: inc/backup.php:68 msgid "Plugins" msgstr "Bővítmények" #: inc/backup.php:71 msgid "Themes" msgstr "Témák" #: inc/backup.php:74 msgid "Uploads" msgstr "Feltöltések" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Egyéb (bármely más könyvtár megtalálható a wp-tartalomban)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Biztonsági mentés most" #: inc/backup.php:89 msgid "Time now" msgstr "Itt az idő" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SIKER" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "A biztonsági mentés sikeresen törölve." #: inc/backup.php:102 msgid "Ok" msgstr "Rendben" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "FÁJLOK TÖRLÉSE" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Biztosan törli ezt a biztonsági másolatot?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Megszünteti" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "megerősít" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "FÁJLOK VISSZAÁLLÍTÁSA" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Biztosan vissza akarja állítani ezt a biztonsági másolatot?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Utolsó naplóüzenet" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "A biztonsági mentés láthatóan sikerült, és most befejeződött." #: inc/backup.php:171 msgid "No log message" msgstr "Nincs naplóüzenet" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Meglévő biztonsági mentés (ek)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Biztonsági mentés dátuma" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Biztonsági adatok (kattintson a letöltéshez)" #: inc/backup.php:190 msgid "Action" msgstr "Akció" #: inc/backup.php:210 msgid "Today" msgstr "Ma" #: inc/backup.php:239 msgid "Restore" msgstr "visszaállítás" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Töröl" #: inc/backup.php:241 msgid "View Log" msgstr "Napló megtekintése" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Jelenleg nincsenek biztonsági másolatok." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Műveletek a kiválasztott biztonsági mentésekkel" #: inc/backup.php:251 msgid "Select All" msgstr "Mindet kiválaszt" #: inc/backup.php:252 msgid "Deselect" msgstr "Törölje a kijelölést" #: inc/backup.php:254 msgid "Note:" msgstr "Jegyzet:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "A biztonsági mentési fájlok alatt lesznek" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP fájlkezelő hozzájárulás" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Megjegyzés: Ezek bemutató képernyőképek. Kérjük, vásárolja meg a File " "Manager pro to Logs funkciókat." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Kattintson a PRO vásárlásához" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Vásároljon PRO-t" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Fájlnaplók szerkesztése" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Fájlnaplók letöltése" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Fájlnaplók feltöltése" #: inc/root.php:43 msgid "Settings saved." msgstr "Beállítások elmentve." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Utasítsa el ezt az értesítést." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Nem végzett változtatásokat mentésre." #: inc/root.php:55 msgid "Public Root Path" msgstr "Nyilvános gyökérút" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "A File Manager gyökérútvonalát megváltoztathatja az Ön választása szerint." #: inc/root.php:59 msgid "Default:" msgstr "Alapértelmezett:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Kérjük, változtassa meg ezt gondosan, a rossz elérési út a fájlkezelő " "beépülő modul lefutásához vezethet." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Engedélyezi a kukát?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "A kuka engedélyezése után a fájlok a kuka mappába kerülnek." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Engedélyezi a fájlok feltöltését a médiatárba?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Ennek engedélyezése után az összes fájl a média könyvtárba kerül." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maximális megengedett méret az adatbázis biztonsági mentésének " "visszaállítása idején." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Kérjük, növelje a mező értékét, ha hibaüzenetet kap a biztonsági mentés " "visszaállítása során." #: inc/root.php:90 msgid "Save Changes" msgstr "Változtatások mentése" #: inc/settings.php:10 msgid "Settings - General" msgstr "Beállítások - Általános" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Megjegyzés: Ez csak egy bemutató képernyőkép. A beállítások megszerzéséhez " "kérjük, vásárolja meg a pro verziót." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Itt az adminisztrátor hozzáférést adhat a felhasználói szerepkörökhöz a " "fájlkezelő használatához. Az adminisztrátor beállíthatja az alapértelmezett " "hozzáférési mappát, és szabályozhatja a fájlkezelő feltöltési méretét is." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Beállítások - Kódszerkesztő" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "A File Manager rendelkezik több témájú kódszerkesztővel. Bármely témát " "kiválaszthat a kódszerkesztő számára. Bármely fájl szerkesztésekor " "megjelenik. Engedélyezheti a kódszerkesztő teljes képernyős módját is." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kódszerkesztő nézet" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Beállítások - Felhasználói korlátozások" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Az adminisztrátor korlátozhatja bármely felhasználó műveleteit. A fájlokat " "és mappákat is elrejtheti, és különböző - különböző mappák elérési útjait " "állíthatja be a különböző felhasználók számára." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Beállítások - Felhasználói szerepkorlátozások" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Az adminisztrátor korlátozhatja bármely felhasználói szerepkör műveleteit. A " "fájlokat és mappákat is elrejtheti, és különböző - különböző mappák elérési " "útjait állíthatja be a különböző felhasználói szerepkörökhöz." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Fájlkezelő - rövid kód" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "HASZNÁLAT:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Az előlapon megjelenik a fájlkezelő. Az összes beállítást a fájlkezelő " "beállításaiból vezérelheti. Ugyanúgy fog működni, mint a háttér WP " "fájlkezelője." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Az előlapon megjelenik a fájlkezelő. De csak a rendszergazda férhet hozzá, " "és a fájlkezelő beállításaiból irányíthatja." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Paraméterek:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Lehetővé teszi, hogy minden szerepkör hozzáférjen a fájlkezelőhöz a " "kezelőfelületen, vagy egyszerűen használható bizonyos felhasználói " "szerepkörökhöz, mint például a enabled_roles=\"editor,author\" (vesszővel " "(,) elválasztva)" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Itt a \"teszt\" a gyökérkönyvtárban található mappa neve, vagy megadhatja az " "almappák elérési útját, például \"wp-content/plugins\". Ha üresen hagyja " "vagy üresen hagyja, akkor a gyökérkönyvtár összes mappájához hozzáfér. " "Alapértelmezés: Gyökérkönyvtár" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "a fájlok írási engedélyeihez, megjegyzés: igaz/hamis, alapértelmezett: hamis" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "a fájlok olvasási engedélyéhez: igaz/hamis, alapértelmezett: igaz" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "itt megemlítve el fog rejtőzni. Megjegyzés: vesszővel (,) elválasztva. " "Alapértelmezés: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "A vesszővel említett zárolás lesz. zárolhat többet, mint például \".php,." "css, .js\" stb. Alapértelmezés: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* minden művelethez és bizonyos műveletek engedélyezéséhez megadhatja a " "művelet nevét, mint például, enabled_operations=\"upload,download\". " "Megjegyzés: vesszővel (,) elválasztva. Alapértelmezett: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Fájlműveletek listája:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Készítsen könyvtárat vagy mappát" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Készítsen könyvtárat vagy mappát" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Nevezzen át egy fájlt vagy mappát" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Másoljon vagy klónozzon egy mappát vagy fájlt" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Illesszen be egy fájlt vagy mappát" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Tilalom" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Archívum vagy zip készítéséhez" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Kivonat archív vagy tömörített fájl" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Fájlok vagy mappák másolása" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Egyszerű fájl vagy mappa kivágása" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Fájl szerkesztése" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Fájl szerkesztése" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Fájlok letöltése" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Fájlok feltöltése" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Keressen dolgokat" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "A fájl adatai" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Segítség" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Megtiltja az egyes felhasználókat azáltal, hogy csak vesszővel " "elválasztott azonosítót tesz ((). Ha a felhasználó Ban, akkor nem fog tudni " "hozzáférni a wp fájlkezelőhöz a kezelőfelületen." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI nézet. Alapértelmezett: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> File Modified vagy Create date formátum. Alapértelmezés: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Fájlkezelő nyelve. Alapértelmezett: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Fájlkezelő téma. Alapértelmezett: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Fájlkezelő - Rendszer tulajdonságai" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP verzió" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "A fájl maximális feltöltési mérete (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "A fájl maximális feltöltési mérete (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Memória korlát (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Időtúllépés (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Böngésző és operációs rendszer (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Téma módosítása itt:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Alapértelmezett" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Sötét" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Fény" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "szürke" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Üdvözöljük a Fájlkezelőben" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Szeretünk új barátokat szerezni! Iratkozzon fel alább, és megígérjük\n" " naprakész legyen a legújabb új beépülő moduljainkkal,\n" " fantasztikus ajánlatok és néhány különleges ajánlat." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Kérjük, adja meg a keresztnevet." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Kérjük, adja meg a vezetéknevet." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Kérjük, adja meg az e-mail címet." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Ellenőrizze" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nem köszönöm" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Szolgáltatás feltételei" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Adatvédelmi irányelvek" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Megtakarítás..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "rendben" #~ msgid "Backup not found!" #~ msgstr "A biztonsági mentés nem található!" #~ msgid "Backup removed successfully!" #~ msgstr "A biztonsági másolat eltávolítása sikeres volt!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Semmi sem lett kiválasztva biztonsági " #~ "mentésre" #~ msgid "Security Issue." #~ msgstr "Biztonsági probléma." #~ msgid "Database backup done." #~ msgstr "" #~ "Az adatbázis biztonsági mentése kész. " #~ "" #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Nem sikerült létrehozni az adatbázis " #~ "biztonsági mentését." #~ msgid "Plugins backup done." #~ msgstr "" #~ "A beépülő modulok biztonsági mentése " #~ "kész." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "A beépülő modulok biztonsági mentése nem " #~ "sikerült." #~ msgid "Themes backup done." #~ msgstr "A témák mentése kész." #~ msgid "Themes backup failed." #~ msgstr "" #~ "A témák mentése nem sikerült." #~ msgid "Uploads backup done." #~ msgstr "Feltöltés kész." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Nem sikerült feltölteni a biztonsági " #~ "mentést. " #~ msgid "Others backup done." #~ msgstr "Mások mentése kész." #~ msgid "Others backup failed." #~ msgstr "Mások mentése nem sikerült." #~ msgid "All Done" #~ msgstr "Minden kész" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "A WP-fájlok kezelése." #~ msgid "Extensions" #~ msgstr "Extensions" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Kérjük, adj hozzá néhány adományt, hogy stabilabb legyen a plugin. Meg " #~ "tudod fizetni az Ön által választott összeget." wp-file-manager/languages/wp-file-manager-hy.mo000064400000060465151202472330015425 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&^N(])2 +t>+N+:,=,gX,U,.l/n0v0s0a1mj1-1#20*2o[292@3EF333S34*#4N4 ^4k4%|4*4"4495I;555/5W5K06\|66667)7>7BS77O7@8G8Yc8"8J8;+:Hg:3:O:[4;s;==MB=+====T?)BA;lAA-CCDE%SF yFF3FFFLG2G6 H8CH>|H&HBH5%I [IgI JFJGKeKlKsKWL>XLAL_L9MNM+dMIM5M>NONNOYOF4PE{PiPf+Q$Q9Q2Q%$RGJR/RRRR,S1FSxSS&SSDS.T@KT1TVT_U1uU"U2U1UF/VgvVVUV<;W?xWeWX'8X7`X XX`XFYOaYBYBY>7ZJvZBZ[$[Y?[N[K[q4\\%\$\^]&a]v]$^[$__``}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-01 11:04+0530 Last-Translator: admin Language-Team: Language: hy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * բոլոր գործողությունների համար և որոշակի գործողություն թույլատրելու համար կարող եք նշել գործողության անվանումը որպես like, allow_operations="upload,download": Նշում. առանձնացված է ստորակետով (,): Կանխադրված՝ *-> Այն կարգելի որոշակի օգտվողներին `պարզապես տեղադրելով իրենց ID- ները ստորակետերով բաժանված (,): Եթե ​​օգտագործողը արգելում է, ապա նա չի կարողանա մուտք գործել wp ֆայլի կառավարիչ դիմային մասում:-> Ֆայլի կառավարչի թեման: Light-> Ֆայլը փոփոխված է կամ ստեղծեք ամսաթվի ձևաչափ: Լռելյայն. D M, Y h: i A-> Ֆայլերի կառավարչի լեզու: Լռելյայն. English(en)-> Filemanager UI դիտում: Լռելյայն. ՑանցԳործողությունԳործողություններ ընտրված պահուստային (ներ) ի վերաբերյալԱդմինիստրատորը կարող է սահմանափակել ցանկացած օգտվողի գործողությունները: Թաքցրեք նաև ֆայլերն ու պանակները և կարող են սահմանել տարբեր ՝ տարբեր պանակների ուղիներ տարբեր օգտվողների համար:Ադմինիստրատորը կարող է սահմանափակել ցանկացած օգտագործողի գործողության գործողությունները: Թաքցրեք նաև ֆայլերն ու պանակները և կարող են տարբեր ՝ տարբեր պանակների ուղիներ սահմանել տարբեր օգտվողների դերերի համար:Աղբարկղը միացնելուց հետո ձեր ֆայլերը կգնան աղբարկղի պանակ:Սա միացնելուց հետո բոլոր ֆայլերը կուղղվեն մեդիա գրադարանին:Ամեն ինչ արված էՎստա՞հ եք, որ ցանկանում եք հեռացնել ընտրված պահուստային (ներ) ը:Վստա՞հ եք, որ ցանկանում եք ջնջել այս պահուստավորումը:Վստա՞հ եք, որ ցանկանում եք վերականգնել այս պահուստավորումը:Պահուստավորման ամսաթիվըՊահուստավորեք հիմաԿրկնօրինակման ընտրանքներ.Պահուստային տվյալների հավաքում (կտտացրեք ներբեռնելու համար)Պահուստային ֆայլերը տակ կլինենՊահուստավորումն աշխատում է, սպասեքՊահուստավորումը հաջողությամբ ջնջվեց:Կրկնօրինակում/ՎերականգնումՊահուստավորումները հաջողությամբ հեռացվեցին:ԱրգելելBrննարկիչ և ՕՀ (HTTP_USER_AGENT)Գնեք ՊՐՈԳնել ProՉեղարկելՓոխել թեման այստեղ ՝Սեղմեք՝ PRO գնելու համարԿոդ-խմբագրի դիտումՀաստատելՊատճենել ֆայլերը կամ պանակներըՆերկայումս ոչ մի պահուստ (ներ) չի գտնվել:DEնջել ֆայլերըՄութՇտեմարանի պահուստավորումՇտեմարանի պահուստավորումը կատարվել է ամսաթվով Տվյալների բազայի կրկնօրինակումն արված է:Շտեմարանի կրկնօրինակը հաջողությամբ վերականգնվեց:ԼռելյայնԼռելյայն:ՆջելԱպանշելՄերժեք այս ծանուցումը:ՆվիրաբերելՆերբեռնեք Ֆայլերի տեղեկամատյաններըՆերբեռնեք ֆայլերԿրկնօրինակեք կամ կլոնավորեք պանակ կամ ֆայլԽմբագրել ֆայլերի տեղեկամատյաններըԽմբագրել ֆայլըՄիացնե՞լ ֆայլերի վերբեռնումը մեդիա գրադարանում:Միացնե՞լ աղբարկղը:Սխալ. Չհաջողվեց վերականգնել կրկնօրինակը, քանի որ տվյալների բազայի կրկնօրինակը մեծ չափերի է: Փորձեք ավելացնել Առավելագույն թույլատրելի չափը Նախապատվությունների կարգավորումներից:Գոյություն ունեցող պահուստ (ներ)Արդյունահանել արխիվը կամ սեղմված ֆայլըՖայլերի կառավարիչ - կարճ կոդՖայլի կառավարիչ - Համակարգի հատկություններFile Manager Root Path- ը, ըստ ձեր ընտրության, կարող եք փոխել:File Manager- ն ունի բազմաթիվ թեմաներով կոդերի խմբագիր: Կոդի խմբագրի համար կարող եք ընտրել ցանկացած թեմա: Այն կցուցադրվի, երբ ցանկացած ֆայլ խմբագրեք: Կարող եք նաև թույլատրել կոդերի խմբագրիչի լրիվ էկրանի ռեժիմ:Ֆայլի գործառնությունների ցուցակ.Ֆայլը ներբեռնելու համար գոյություն չունի:Ֆայլերի պահուստավորումՄոխրագույնՕգնությունԱյստեղ «թեստը» թղթապանակի անունն է, որը գտնվում է արմատային գրացուցակում, կամ կարող եք ճանապարհ տալ ենթապանակների համար, ինչպես օրինակ «wp-content/plugins»: Եթե ​​թողնեք դատարկ կամ դատարկ, այն հասանելի կլինի բոլոր թղթապանակներին արմատային գրացուցակում: Կանխադրված՝ արմատական ​​գրացուցակԱյստեղ ադմինիստրատորը կարող է մուտք գործել օգտվողի դերեր ՝ Filemanager- ից օգտվելու համար: Ադմինիստրատորը կարող է սահմանել Լռելյայն Մուտքի Թղթապանակ և վերահսկել նաև Filemanager- ի վերբեռնման չափը:Ֆայլի տեղեկատվությունԱնվտանգության անվավեր ծածկագիր:Այն թույլ կտա բոլոր դերերին մուտք գործել ֆայլերի կառավարիչ ճակատային մասում կամ Դուք կարող եք պարզ օգտագործել օգտատերերի որոշակի դերերի համար, ինչպես օրինակ՝ allow_roles = "խմբագիր, հեղինակ" (առանձնացված ստորակետով (,))Այն կկողպվի ստորակետերում նշված: Դուք կարող եք կողպել ավելի շատ, ինչպես օրինակ «.php,.css,.js» և այլն: Կանխադրված՝ NullԱյն ցույց կտա ֆայլերի կառավարիչը ճակատային մասում: Բայց միայն Ադմինիստրատորը կարող է մուտք գործել այն և կվերահսկի ֆայլերի կառավարչի կարգավորումներից:Այն ցույց կտա ֆայլերի կառավարիչը ճակատային մասում: Դուք կարող եք կառավարել բոլոր կարգավորումները ֆայլերի կառավարչի կարգավորումներից: Այն կաշխատի այնպես, ինչպես backend WP File Manager-ը:Վերջին տեղեկամատյանԼույսՏեղեկամատյաններԿատարել գրացուցակ կամ պանակՊատկեր պատրաստելԱռավելագույն թույլատրելի չափը տվյալների բազայի կրկնօրինակի վերականգնման պահին:Վերբեռնման առավելագույն չափը (upload_max_filesize)Հիշողության սահման (memory_limit)Պահուստային ID- ն բացակայում է:Պարամետրի տեսակը բացակայում է:Անհայտ պարամետրերը բացակայում են:Ոչ, շնորհակալությունԱռանց տեղեկամատյան հաղորդագրությանՈչ մի տեղեկամատյան չի գտնվել:Նշում:Նշում. Դրանք ցուցադրական սքրինշոթեր են: Խնդրում ենք գնել File Manager pro- ը Logs գործառույթներից:Նշում. Սա պարզապես ցուցադրական էկրանի նկար է: Կարգավորումներ ստանալու համար խնդրում ենք գնել մեր պրո-տարբերակը:Պահուստավորման համար ոչինչ ընտրված չէՊահուստավորման համար ոչինչ ընտրված չէ:լավԼավՈւրիշներ (wp- բովանդակության ներսում հայտնաբերված ցանկացած այլ գրացուցակներ)Մյուսները պահուստավորումը կատարվել է ամսաթվով Մյուսների կրկնօրինակումն արված է:Մյուսների կրկնօրինակումը ձախողվեց:Մյուսները կրկնօրինակը հաջողությամբ վերականգնվել է:PHP տարբերակՊարամետրեր:Տեղադրեք ֆայլ կամ պանակԽնդրում ենք մուտքագրել էլ. Փոստի հասցեն:Խնդրում ենք մուտքագրել անունԽնդրում ենք մուտքագրել ազգանունը:Խնդրում ենք ուշադիր փոխել սա, սխալ ուղին կարող է հանգեցնել ֆայլերի կառավարչի plugin- ի անկմանը:Խնդրում ենք ավելացնել դաշտի արժեքը, եթե կրկնօրինակի վերականգնման պահին սխալի մասին հաղորդագրություն եք ստանում:ՊլագիններՊլագինների պահուստավորումը կատարվել է ամսաթվով Փլագինների կրկնօրինակումն ավարտված է:Փլագինների պահուստավորումը ձախողվեց:Պլագինների պահուստավորումը հաջողությամբ վերականգնվել է:Տեղադրել ֆայլերի վերբեռնման առավելագույն չափը (post_max_size)ՆախապատվություններԳաղտնիության քաղաքականությունՀասարակական արմատային ուղիՎերականգնել նիշքերըՀեռացնել կամ ջնջել ֆայլերը և պանակներըՎերանվանել ֆայլ կամ պանակՎերականգնելՎերականգնումն աշխատում է, խնդրում ենք սպասելՀԱ SՈESSՈՒԹՅՈՒՆՊահպանել փոփոխություններըԽնայվում է ...Որոնել բաներԱնվտանգության խնդիր.Ընտրել բոլորըԸնտրեք կրկնօրինակ(ներ) ջնջելու համար:ԿարգավորումներԿարգավորումներ - օրենսգրքի խմբագիրԿարգավորումներ - ԸնդհանուրԿարգավորումներ - Օգտագործողի սահմանափակումներԿարգավորումներ - Օգտագործողի դերի սահմանափակումներԿարգավորումները պահվել են:Կարճ ծածկագիր - ՊՐՈՊարզ կտրեք ֆայլը կամ պանակըՀամակարգի հատկություններըԾառայությունների մատուցման պայմաններԱկնհայտորեն պահուստավորումը հաջողվեց և այժմ ավարտված է:ThemesԹեմաների պահուստավորումը կատարվել է ամսաթվով Թեմաների կրկնօրինակումն արված է:Թեմաների կրկնօրինակումը ձախողվեց:Թեմաների պահուստավորումը հաջողությամբ վերականգնվել է:Հիմա ժամանակըԸնդմիջում (max_execution_time)Արխիվ կամ zip պատրաստելու համարԱյսօրՕԳՏԱԳՈՐՈՒՄ:Հնարավոր չէ ստեղծել տվյալների բազայի կրկնօրինակում:Հնարավոր չէ հեռացնել պահուստավորումը:Հնարավոր չէ վերականգնել DB պահուստավորումը:Հնարավոր չէ վերականգնել ուրիշներին:Հնարավոր չէ վերականգնել ներդիրները:Հնարավոր չէ վերականգնել թեմաները:Հնարավոր չէ վերականգնել վերբեռնումները:Վերբեռնել ֆայլերի տեղեկամատյաններըՖայլեր վերբեռնելՎերբեռնումներՎերբեռնման պահուստավորումը կատարվել է ամսաթվով Վերբեռնումների կրկնօրինակումն ավարտված է:Վերբեռնումների կրկնօրինակումը ձախողվեց:Վերբեռնումների պահուստավորումը հաջողությամբ վերականգնվել է:ՀաստատելԴիտել տեղեկամատյանըWP ֆայլերի կառավարիչWP ֆայլերի կառավարիչ - պահուստավորում / վերականգնումWP File Manager- ի ներդրումըՄենք սիրում ենք նոր ընկերներ ձեռք բերել: Բաժանորդագրվեք ստորև, և մենք խոստանում ենք դա անել ձեզ թարմ պահեք մեր վերջին նոր հավելումների, թարմացումների, զարմանալի գործարքներ և մի քանի հատուկ առաջարկներ:Բարի գալուստ File ManagerԴուք փրկելու համար որևէ փոփոխություն չեք կատարել:ֆայլերի ընթերցման թույլտվության համար նշեք՝ ճշմարիտ/կեղծ, լռելյայն՝ ճշմարիտֆայլերի գրելու թույլտվությունների հասանելիության համար նշեք՝ true/false, default՝ falseայն կթաքցվի այստեղ նշված: Նշում. առանձնացված է ստորակետով (,): Կանխադրված՝ զրոյականwp-file-manager/languages/wp-file-manager-hy.po000064400000105272151202472330015424 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 10:34+0530\n" "PO-Revision-Date: 2022-03-01 11:04+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: hy\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Թեմաների պահուստավորումը հաջողությամբ վերականգնվել է:" #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Հնարավոր չէ վերականգնել թեմաները:" #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Վերբեռնումների պահուստավորումը հաջողությամբ վերականգնվել է:" #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Հնարավոր չէ վերականգնել վերբեռնումները:" #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Մյուսները կրկնօրինակը հաջողությամբ վերականգնվել է:" #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Հնարավոր չէ վերականգնել ուրիշներին:" #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Պլագինների պահուստավորումը հաջողությամբ վերականգնվել է:" #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Հնարավոր չէ վերականգնել ներդիրները:" #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Շտեմարանի կրկնօրինակը հաջողությամբ վերականգնվեց:" #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Ամեն ինչ արված է" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Հնարավոր չէ վերականգնել DB պահուստավորումը:" #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Պահուստավորումները հաջողությամբ հեռացվեցին:" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Հնարավոր չէ հեռացնել պահուստավորումը:" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Շտեմարանի պահուստավորումը կատարվել է ամսաթվով " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Պլագինների պահուստավորումը կատարվել է ամսաթվով " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Թեմաների պահուստավորումը կատարվել է ամսաթվով " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Վերբեռնման պահուստավորումը կատարվել է ամսաթվով " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Մյուսները պահուստավորումը կատարվել է ամսաթվով " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Տեղեկամատյաններ" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Ոչ մի տեղեկամատյան չի գտնվել:" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Պահուստավորման համար ոչինչ ընտրված չէ" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Անվտանգության խնդիր." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Տվյալների բազայի կրկնօրինակումն արված է:" #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Հնարավոր չէ ստեղծել տվյալների բազայի կրկնօրինակում:" #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Փլագինների կրկնօրինակումն ավարտված է:" #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Փլագինների պահուստավորումը ձախողվեց:" #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Թեմաների կրկնօրինակումն արված է:" #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Թեմաների կրկնօրինակումը ձախողվեց:" #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Վերբեռնումների կրկնօրինակումն ավարտված է:" #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Վերբեռնումների կրկնօրինակումը ձախողվեց:" #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Մյուսների կրկնօրինակումն արված է:" #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Մյուսների կրկնօրինակումը ձախողվեց:" #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP ֆայլերի կառավարիչ" #: file_folder_manager.php:769 msgid "Settings" msgstr "Կարգավորումներ" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Նախապատվություններ" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Համակարգի հատկությունները" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Կարճ ծածկագիր - ՊՐՈ" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Կրկնօրինակում/Վերականգնում" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Գնել Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Նվիրաբերել" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Ֆայլը ներբեռնելու համար գոյություն չունի:" #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Անվտանգության անվավեր ծածկագիր:" #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Պահուստային ID- ն բացակայում է:" #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Պարամետրի տեսակը բացակայում է:" #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Անհայտ պարամետրերը բացակայում են:" #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Սխալ. Չհաջողվեց վերականգնել կրկնօրինակը, քանի որ տվյալների բազայի " "կրկնօրինակը մեծ չափերի է: Փորձեք ավելացնել Առավելագույն թույլատրելի չափը " "Նախապատվությունների կարգավորումներից:" #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Ընտրեք կրկնօրինակ(ներ) ջնջելու համար:" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Վստա՞հ եք, որ ցանկանում եք հեռացնել ընտրված պահուստային (ներ) ը:" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Պահուստավորումն աշխատում է, սպասեք" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Վերականգնումն աշխատում է, խնդրում ենք սպասել" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Պահուստավորման համար ոչինչ ընտրված չէ:" #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP ֆայլերի կառավարիչ - պահուստավորում / վերականգնում" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Կրկնօրինակման ընտրանքներ." #: inc/backup.php:58 msgid "Database Backup" msgstr "Շտեմարանի պահուստավորում" #: inc/backup.php:64 msgid "Files Backup" msgstr "Ֆայլերի պահուստավորում" #: inc/backup.php:68 msgid "Plugins" msgstr "Պլագիններ" #: inc/backup.php:71 msgid "Themes" msgstr "Themes" #: inc/backup.php:74 msgid "Uploads" msgstr "Վերբեռնումներ" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "" "Ուրիշներ (wp- բովանդակության ներսում հայտնաբերված ցանկացած այլ գրացուցակներ)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Պահուստավորեք հիմա" #: inc/backup.php:89 msgid "Time now" msgstr "Հիմա ժամանակը" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ՀԱ SՈESSՈՒԹՅՈՒՆ" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Պահուստավորումը հաջողությամբ ջնջվեց:" #: inc/backup.php:102 msgid "Ok" msgstr "Լավ" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "DEնջել ֆայլերը" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Վստա՞հ եք, որ ցանկանում եք ջնջել այս պահուստավորումը:" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Չեղարկել" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Հաստատել" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "Վերականգնել նիշքերը" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Վստա՞հ եք, որ ցանկանում եք վերականգնել այս պահուստավորումը:" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Վերջին տեղեկամատյան" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Ակնհայտորեն պահուստավորումը հաջողվեց և այժմ ավարտված է:" #: inc/backup.php:171 msgid "No log message" msgstr "Առանց տեղեկամատյան հաղորդագրության" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Գոյություն ունեցող պահուստ (ներ)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Պահուստավորման ամսաթիվը" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Պահուստային տվյալների հավաքում (կտտացրեք ներբեռնելու համար)" #: inc/backup.php:190 msgid "Action" msgstr "Գործողություն" #: inc/backup.php:210 msgid "Today" msgstr "Այսօր" #: inc/backup.php:239 msgid "Restore" msgstr "Վերականգնել" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Նջել" #: inc/backup.php:241 msgid "View Log" msgstr "Դիտել տեղեկամատյանը" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Ներկայումս ոչ մի պահուստ (ներ) չի գտնվել:" #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Գործողություններ ընտրված պահուստային (ներ) ի վերաբերյալ" #: inc/backup.php:251 msgid "Select All" msgstr "Ընտրել բոլորը" #: inc/backup.php:252 msgid "Deselect" msgstr "Ապանշել" #: inc/backup.php:254 msgid "Note:" msgstr "Նշում:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Պահուստային ֆայլերը տակ կլինեն" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP File Manager- ի ներդրումը" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Նշում. Դրանք ցուցադրական սքրինշոթեր են: Խնդրում ենք գնել File Manager pro- ը " "Logs գործառույթներից:" #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Սեղմեք՝ PRO գնելու համար" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Գնեք ՊՐՈ" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Խմբագրել ֆայլերի տեղեկամատյանները" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Ներբեռնեք Ֆայլերի տեղեկամատյանները" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Վերբեռնել ֆայլերի տեղեկամատյանները" #: inc/root.php:43 msgid "Settings saved." msgstr "Կարգավորումները պահվել են:" #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Մերժեք այս ծանուցումը:" #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Դուք փրկելու համար որևէ փոփոխություն չեք կատարել:" #: inc/root.php:55 msgid "Public Root Path" msgstr "Հասարակական արմատային ուղի" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Root Path- ը, ըստ ձեր ընտրության, կարող եք փոխել:" #: inc/root.php:59 msgid "Default:" msgstr "Լռելյայն:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Խնդրում ենք ուշադիր փոխել սա, սխալ ուղին կարող է հանգեցնել ֆայլերի կառավարչի " "plugin- ի անկմանը:" #: inc/root.php:64 msgid "Enable Trash?" msgstr "Միացնե՞լ աղբարկղը:" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Աղբարկղը միացնելուց հետո ձեր ֆայլերը կգնան աղբարկղի պանակ:" #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Միացնե՞լ ֆայլերի վերբեռնումը մեդիա գրադարանում:" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Սա միացնելուց հետո բոլոր ֆայլերը կուղղվեն մեդիա գրադարանին:" #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Առավելագույն թույլատրելի չափը տվյալների բազայի կրկնօրինակի վերականգնման " "պահին:" #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Խնդրում ենք ավելացնել դաշտի արժեքը, եթե կրկնօրինակի վերականգնման պահին սխալի " "մասին հաղորդագրություն եք ստանում:" #: inc/root.php:90 msgid "Save Changes" msgstr "Պահպանել փոփոխությունները" #: inc/settings.php:10 msgid "Settings - General" msgstr "Կարգավորումներ - Ընդհանուր" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Նշում. Սա պարզապես ցուցադրական էկրանի նկար է: Կարգավորումներ ստանալու համար " "խնդրում ենք գնել մեր պրո-տարբերակը:" #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Այստեղ ադմինիստրատորը կարող է մուտք գործել օգտվողի դերեր ՝ Filemanager- ից " "օգտվելու համար: Ադմինիստրատորը կարող է սահմանել Լռելյայն Մուտքի Թղթապանակ և " "վերահսկել նաև Filemanager- ի վերբեռնման չափը:" #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Կարգավորումներ - օրենսգրքի խմբագիր" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager- ն ունի բազմաթիվ թեմաներով կոդերի խմբագիր: Կոդի խմբագրի համար " "կարող եք ընտրել ցանկացած թեմա: Այն կցուցադրվի, երբ ցանկացած ֆայլ խմբագրեք: " "Կարող եք նաև թույլատրել կոդերի խմբագրիչի լրիվ էկրանի ռեժիմ:" #: inc/settings.php:18 msgid "Code-editor View" msgstr "Կոդ-խմբագրի դիտում" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Կարգավորումներ - Օգտագործողի սահմանափակումներ" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Ադմինիստրատորը կարող է սահմանափակել ցանկացած օգտվողի գործողությունները: " "Թաքցրեք նաև ֆայլերն ու պանակները և կարող են սահմանել տարբեր ՝ տարբեր " "պանակների ուղիներ տարբեր օգտվողների համար:" #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Կարգավորումներ - Օգտագործողի դերի սահմանափակումներ" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Ադմինիստրատորը կարող է սահմանափակել ցանկացած օգտագործողի գործողության " "գործողությունները: Թաքցրեք նաև ֆայլերն ու պանակները և կարող են տարբեր ՝ " "տարբեր պանակների ուղիներ սահմանել տարբեր օգտվողների դերերի համար:" #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Ֆայլերի կառավարիչ - կարճ կոդ" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "ՕԳՏԱԳՈՐՈՒՄ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Այն ցույց կտա ֆայլերի կառավարիչը ճակատային մասում: Դուք կարող եք կառավարել " "բոլոր կարգավորումները ֆայլերի կառավարչի կարգավորումներից: Այն կաշխատի " "այնպես, ինչպես backend WP File Manager-ը:" #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Այն ցույց կտա ֆայլերի կառավարիչը ճակատային մասում: Բայց միայն Ադմինիստրատորը " "կարող է մուտք գործել այն և կվերահսկի ֆայլերի կառավարչի կարգավորումներից:" #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Պարամետրեր:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Այն թույլ կտա բոլոր դերերին մուտք գործել ֆայլերի կառավարիչ ճակատային մասում " "կամ Դուք կարող եք պարզ օգտագործել օգտատերերի որոշակի դերերի համար, ինչպես " "օրինակ՝ allow_roles = \"խմբագիր, հեղինակ\" (առանձնացված ստորակետով (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Այստեղ «թեստը» թղթապանակի անունն է, որը գտնվում է արմատային գրացուցակում, " "կամ կարող եք ճանապարհ տալ ենթապանակների համար, ինչպես օրինակ «wp-content/" "plugins»: Եթե ​​թողնեք դատարկ կամ դատարկ, այն հասանելի կլինի բոլոր " "թղթապանակներին արմատային գրացուցակում: Կանխադրված՝ արմատական ​​գրացուցակ" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "ֆայլերի գրելու թույլտվությունների հասանելիության համար նշեք՝ true/false, " "default՝ false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "ֆայլերի ընթերցման թույլտվության համար նշեք՝ ճշմարիտ/կեղծ, լռելյայն՝ ճշմարիտ" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "այն կթաքցվի այստեղ նշված: Նշում. առանձնացված է ստորակետով (,): Կանխադրված՝ " "զրոյական" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Այն կկողպվի ստորակետերում նշված: Դուք կարող եք կողպել ավելի շատ, ինչպես " "օրինակ «.php,.css,.js» և այլն: Կանխադրված՝ Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* բոլոր գործողությունների համար և որոշակի գործողություն թույլատրելու համար " "կարող եք նշել գործողության անվանումը որպես like, allow_operations=\"upload," "download\": Նշում. առանձնացված է ստորակետով (,): Կանխադրված՝ *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Ֆայլի գործառնությունների ցուցակ." #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Կատարել գրացուցակ կամ պանակ" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Պատկեր պատրաստել" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Վերանվանել ֆայլ կամ պանակ" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Կրկնօրինակեք կամ կլոնավորեք պանակ կամ ֆայլ" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Տեղադրեք ֆայլ կամ պանակ" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Արգելել" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Արխիվ կամ zip պատրաստելու համար" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Արդյունահանել արխիվը կամ սեղմված ֆայլը" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Պատճենել ֆայլերը կամ պանակները" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Պարզ կտրեք ֆայլը կամ պանակը" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Խմբագրել ֆայլը" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Հեռացնել կամ ջնջել ֆայլերը և պանակները" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Ներբեռնեք ֆայլեր" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Ֆայլեր վերբեռնել" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Որոնել բաներ" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Ֆայլի տեղեկատվություն" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Օգնություն" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Այն կարգելի որոշակի օգտվողներին `պարզապես տեղադրելով իրենց ID- ները " "ստորակետերով բաժանված (,): Եթե ​​օգտագործողը արգելում է, ապա նա չի կարողանա " "մուտք գործել wp ֆայլի կառավարիչ դիմային մասում:" #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI դիտում: Լռելյայն. Ցանց" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Ֆայլը փոփոխված է կամ ստեղծեք ամսաթվի ձևաչափ: Լռելյայն. D M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Ֆայլերի կառավարչի լեզու: Լռելյայն. English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Ֆայլի կառավարչի թեման: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Ֆայլի կառավարիչ - Համակարգի հատկություններ" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP տարբերակ" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Վերբեռնման առավելագույն չափը (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Տեղադրել ֆայլերի վերբեռնման առավելագույն չափը (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Հիշողության սահման (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Ընդմիջում (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Brննարկիչ և ՕՀ (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Փոխել թեման այստեղ ՝" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Լռելյայն" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Մութ" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Լույս" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Մոխրագույն" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Բարի գալուստ File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Մենք սիրում ենք նոր ընկերներ ձեռք բերել: Բաժանորդագրվեք ստորև, և մենք " "խոստանում ենք դա անել\n" " ձեզ թարմ պահեք մեր վերջին նոր հավելումների, թարմացումների,\n" " զարմանալի գործարքներ և մի քանի հատուկ առաջարկներ:" #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Խնդրում ենք մուտքագրել անուն" #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Խնդրում ենք մուտքագրել ազգանունը:" #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Խնդրում ենք մուտքագրել էլ. Փոստի հասցեն:" #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Հաստատել" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ոչ, շնորհակալություն" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Ծառայությունների մատուցման պայմաններ" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Գաղտնիության քաղաքականություն" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Խնայվում է ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "լավ" #~ msgid "Backup not found!" #~ msgstr "Կրկնօրինակը չի գտնվել:" #~ msgid "Backup removed successfully!" #~ msgstr "Պահուստավորումը հաջողությամբ հեռացվեց:" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Պահուստավորման համար ոչինչ չի ընտրվել" #~ msgid "Security Issue." #~ msgstr "Անվտանգության խնդիր:" #~ msgid "Database backup done." #~ msgstr "" #~ "Շտեմարանի պահուստավորումն արված է:" #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Հնարավոր չէ ստեղծել տվյալների բազայի " #~ "պահուստավորում:" #~ msgid "Plugins backup done." #~ msgstr "" #~ "Պլագինների պահուստավորումն ավարտված է:" #~ "" #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Պլագինների պահուստավորումը ձախողվեց:" #~ msgid "Themes backup done." #~ msgstr "" #~ "Թեմաների պահուստավորումը կատարված է:" #~ msgid "Themes backup failed." #~ msgstr "" #~ "Թեմաների պահուստավորումը ձախողվեց:" #~ msgid "Uploads backup done." #~ msgstr "" #~ "Վերբեռնումների պահուստավորումն " #~ "ավարտված է:" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Վերբեռնումների պահուստավորումը ձախողվեց:" #~ "" #~ msgid "Others backup done." #~ msgstr "" #~ "Մյուսները պահուստավորումն արված է:" #~ msgid "Others backup failed." #~ msgstr "" #~ "Մյուսների պահուստավորումը ձախողվեց:" #~ msgid "All Done" #~ msgstr "Ամեն ինչ արված է" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Կառավարեք ձեր WP ֆայլերը:" #~ msgid "Extensions" #~ msgstr "Ընդլայնումներ" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Խնդրում ենք նվիրաբերել որոշ նվիրատվություններ, որպեսզի ավելի շատ " #~ "կայունացնեք: Դուք կարող եք վճարել ձեր ընտրության չափը:" wp-file-manager/languages/wp-file-manager-id_ID.mo000064400000042013151202472330015742 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&L( )$)D).5**d**#**c+C,E\, ,8,(,0-C-T-g-$v-"-)--..1.!:.\.e. n.z... ..+. ///.,/[/({/// /// // 0#0 50 C0&Q0x00;1M1i11;11222233 4 444t5"66n7777 7G737-8I8`8${88888Q8cA9%9&999;9+8:d::%: : :::;-;`M;a;<*<B<^<'x<3< <<<= =4= P='^= === == == => > 2>&S>z>>#>>>4>?(#?L?f?%~?? ??? ?(@0@#P@"t@@@ @@ AA%A?AXA&sA A AA$AABB4BC CHdC]C}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-01 11:07+0530 Last-Translator: admin Language-Team: Language: id_ID MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * untuk semua operasi dan untuk mengizinkan beberapa operasi, Anda dapat menyebutkan nama operasi seperti, allow_operations="upload,download". Catatan: dipisahkan dengan koma (,). Bawaan: *-> Ini akan melarang pengguna tertentu dengan hanya menempatkan id mereka dipisahkan dengan koma (,). Jika pengguna Ban maka mereka tidak akan dapat mengakses pengelola file wp di ujung depan.-> Tema Manajer File. default: Light-> File Dimodifikasi atau Buat format tanggal. default: d M, Y h:i A-> Bahasa pengelola file. default: English(en)-> Tampilan UI Manajer File. default: gridTindakanTindakan pada cadangan yang dipilihAdmin dapat membatasi tindakan pengguna mana pun. Juga menyembunyikan file dan folder dan dapat mengatur jalur folder yang berbeda - beda untuk pengguna yang berbeda.Admin dapat membatasi tindakan peran pengguna apa pun. Juga menyembunyikan file dan folder dan dapat mengatur berbeda - jalur folder yang berbeda untuk peran pengguna yang berbeda.Setelah mengaktifkan sampah, file Anda akan masuk ke folder sampah.Setelah mengaktifkan ini semua file akan masuk ke perpustakaan media.Semua selesaiApakah Anda yakin ingin menghapus cadangan yang dipilih?Anda yakin ingin menghapus cadangan ini?Apakah Anda yakin ingin memulihkan cadangan ini?Tanggal CadanganCadangkan SekarangOpsi Cadangan:Cadangan data (klik untuk mengunduh)File cadangan akan berada di bawahPencadangan sedang berjalan, harap tungguCadangan berhasil dihapus.Cadangkan/PulihkanCadangan berhasil dihapus!MelarangPeramban dan OS (HTTP_USER_AGENT)Beli PROBeli ProMembatalkanUbah Tema Di Sini:Klik untuk Membeli PROTampilan editor kodeKonfirmasiSalin file atau folderSaat ini tidak ada cadangan yang ditemukan.HAPUS FILEGelapCadangan Basis DataPencadangan basis data dilakukan pada tanggal Pencadangan basis data selesai.Cadangan basis data berhasil dipulihkan.defaultdefault:MenghapusBatalkan pilihanTutup pemberitahuan ini.MenyumbangkanUnduh File LogUnduh fileGandakan atau klon folder atau fileEdit File LogMengedit fileAktifkan Unggah File ke Pustaka Media?Aktifkan Sampah?Kesalahan: Tidak dapat memulihkan cadangan karena cadangan basis data berukuran besar. Silakan coba untuk meningkatkan Ukuran maksimum yang diizinkan dari pengaturan Preferensi.Cadangan yang AdaEkstrak arsip atau file zipManajer File - Kode PendekManajer File - Properti SistemFile Manager Root Path, bisa anda ubah sesuai pilihan anda.File Manager memiliki editor kode dengan banyak tema. Anda dapat memilih tema apa saja untuk editor kode. Ini akan ditampilkan ketika Anda mengedit file apa pun. Anda juga dapat mengizinkan mode layar penuh editor kode.Daftar Operasi File:File tidak ada untuk diunduh.Pencadangan FileAbu-abuTolongDi sini "test" adalah nama folder yang terletak di direktori root, atau Anda dapat memberikan path untuk sub folder seperti "wp-content/plugins". Jika dibiarkan kosong atau kosong itu akan mengakses semua folder di direktori root. Default: Direktori rootDi sini admin dapat memberikan akses ke peran pengguna untuk menggunakan filemanager. Admin dapat mengatur Default Access Folder dan juga mengontrol ukuran upload filemanager.Info berkasKode keamanan salah.Ini akan memungkinkan semua peran mengakses pengelola file di ujung depan atau Anda dapat menggunakan sederhana untuk peran pengguna tertentu seperti allow_roles="editor,author" (dipisahkan dengan koma (,))Ini akan mengunci disebutkan dalam koma. Anda dapat mengunci lebih banyak seperti ".php,.css,.js" dll. Default: NullIni akan menampilkan pengelola file di ujung depan. Tetapi hanya Administrator yang dapat mengaksesnya dan akan mengontrol dari pengaturan pengelola file.Ini akan menampilkan pengelola file di ujung depan. Anda dapat mengontrol semua pengaturan dari pengaturan pengelola file. Ini akan bekerja sama dengan backend Manajer File WP.Pesan Log TerakhirCahayaLogBuat direktori atau folderBuat fileUkuran maksimum yang diizinkan pada saat pemulihan cadangan basis data.Ukuran unggahan file maksimum (upload_max_filesize)Batas Memori (memory_limit)ID cadangan tidak ada.Jenis parameter tidak ada.Parameter yang diperlukan tidak ada.Tidak, terima kasihTidak ada pesan logTidak ada log yang ditemukan!catatan:Catatan: Ini adalah screenshot demo. Silakan beli File Manager pro ke fungsi Log.Catatan: Ini hanya tangkapan layar demo. Untuk mendapatkan pengaturan, silakan beli versi pro kami.Tidak ada yang dipilih untuk cadanganTidak ada yang dipilih untuk cadangan.baikBaikLainnya (Direktori lain yang ditemukan di dalam wp-content)Pencadangan lainnya dilakukan pada tanggal Pencadangan lainnya selesai.Pencadangan lainnya gagal.Cadangan lainnya berhasil dipulihkan.versi PHPParameter:Tempel file atau folderSilahkan Masukkan Alamat Email.Silahkan Masukkan Nama Depan.Silakan Masukkan Nama Belakang.Harap ubah ini dengan hati-hati, jalur yang salah dapat menyebabkan plugin pengelola file turun.Harap tingkatkan nilai bidang jika Anda mendapatkan pesan kesalahan pada saat pemulihan cadangan.PluginPencadangan plugin dilakukan pada tanggal Pencadangan plugin selesai.Pencadangan plugin gagal.Pencadangan plugin berhasil dipulihkan.Posting ukuran unggah file maksimum (post_max_size)PreferensiKebijakan pribadiJalur Akar PublikKEMBALIKAN FILEHapus atau hapus file dan folderGanti nama file atau folderMengembalikanPemulihan sedang berjalan, harap tungguKEBERHASILANSimpan perubahanPenghematan...Cari hal-halMasalah Keamanan.Pilih SemuaPilih cadangan untuk dihapus!PengaturanPengaturan - Editor kodePengaturan - UmumPengaturan - Pembatasan PenggunaPengaturan - Pembatasan Peran PenggunaPengaturan disimpan.Kode pendek - PROSederhana memotong file atau folderProperti sistemPersyaratan LayananPencadangan tampaknya berhasil dan sekarang selesai.TemaPencadangan tema dilakukan pada tanggal Pencadangan tema selesai.Pencadangan tema gagal.Pencadangan tema berhasil dipulihkan.Waktu sekarangWaktu habis (max_execution_time)Untuk membuat arsip atau zipHari iniMENGGUNAKAN:Tidak dapat membuat cadangan basis data.Tidak dapat menghapus cadangan!Tidak dapat memulihkan cadangan DB.Tidak dapat memulihkan orang lain.Tidak dapat memulihkan plugin.Tidak dapat memulihkan tema.Tidak dapat memulihkan unggahan.Unggah File LogUnggah berkasUnggahUpload backup dilakukan pada tanggal Upload cadangan selesai.Gagal mengunggah cadangan.Unggahan cadangan berhasil dipulihkan.MemeriksaMelihat logManajer File WPManajer File WP - Cadangkan/PulihkanKontribusi Manajer File WPKami senang membuat teman baru! Berlangganan di bawah dan kami berjanji untuk membuat Anda tetap up-to-date dengan plugin terbaru kami, update, penawaran luar biasa dan beberapa penawaran khusus.Selamat datang di Manajer FileAnda belum membuat perubahan apa pun untuk disimpan.untuk akses izin membaca file, catatan: benar/salah, default: benaruntuk akses untuk menulis izin file, catatan: true/false, default: falseitu akan menyembunyikan disebutkan di sini. Catatan: dipisahkan dengan koma (,). Bawaan: Nullwp-file-manager/languages/wp-file-manager-id_ID.po000064400000065116151202472330015756 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 10:38+0530\n" "PO-Revision-Date: 2022-03-01 11:07+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: id_ID\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Pencadangan tema berhasil dipulihkan." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Tidak dapat memulihkan tema." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Unggahan cadangan berhasil dipulihkan." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Tidak dapat memulihkan unggahan." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Cadangan lainnya berhasil dipulihkan." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Tidak dapat memulihkan orang lain." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Pencadangan plugin berhasil dipulihkan." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Tidak dapat memulihkan plugin." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Cadangan basis data berhasil dipulihkan." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Semua selesai" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Tidak dapat memulihkan cadangan DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Cadangan berhasil dihapus!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Tidak dapat menghapus cadangan!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Pencadangan basis data dilakukan pada tanggal " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Pencadangan plugin dilakukan pada tanggal " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Pencadangan tema dilakukan pada tanggal " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Upload backup dilakukan pada tanggal " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Pencadangan lainnya dilakukan pada tanggal " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Log" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Tidak ada log yang ditemukan!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Tidak ada yang dipilih untuk cadangan" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Masalah Keamanan." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Pencadangan basis data selesai." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Tidak dapat membuat cadangan basis data." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Pencadangan plugin selesai." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Pencadangan plugin gagal." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Pencadangan tema selesai." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Pencadangan tema gagal." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Upload cadangan selesai." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Gagal mengunggah cadangan." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Pencadangan lainnya selesai." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Pencadangan lainnya gagal." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Manajer File WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Pengaturan" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferensi" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Properti sistem" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kode pendek - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Cadangkan/Pulihkan" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Beli Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Menyumbangkan" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "File tidak ada untuk diunduh." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Kode keamanan salah." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "ID cadangan tidak ada." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Jenis parameter tidak ada." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Parameter yang diperlukan tidak ada." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Kesalahan: Tidak dapat memulihkan cadangan karena cadangan basis data " "berukuran besar. Silakan coba untuk meningkatkan Ukuran maksimum yang " "diizinkan dari pengaturan Preferensi." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Pilih cadangan untuk dihapus!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Apakah Anda yakin ingin menghapus cadangan yang dipilih?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Pencadangan sedang berjalan, harap tunggu" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Pemulihan sedang berjalan, harap tunggu" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Tidak ada yang dipilih untuk cadangan." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Manajer File WP - Cadangkan/Pulihkan" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opsi Cadangan:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Cadangan Basis Data" #: inc/backup.php:64 msgid "Files Backup" msgstr "Pencadangan File" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugin" #: inc/backup.php:71 msgid "Themes" msgstr "Tema" #: inc/backup.php:74 msgid "Uploads" msgstr "Unggah" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Lainnya (Direktori lain yang ditemukan di dalam wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Cadangkan Sekarang" #: inc/backup.php:89 msgid "Time now" msgstr "Waktu sekarang" #: inc/backup.php:99 msgid "SUCCESS" msgstr "KEBERHASILAN" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Cadangan berhasil dihapus." #: inc/backup.php:102 msgid "Ok" msgstr "Baik" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "HAPUS FILE" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Anda yakin ingin menghapus cadangan ini?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Membatalkan" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Konfirmasi" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "KEMBALIKAN FILE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Apakah Anda yakin ingin memulihkan cadangan ini?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Pesan Log Terakhir" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Pencadangan tampaknya berhasil dan sekarang selesai." #: inc/backup.php:171 msgid "No log message" msgstr "Tidak ada pesan log" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Cadangan yang Ada" #: inc/backup.php:184 msgid "Backup Date" msgstr "Tanggal Cadangan" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Cadangan data (klik untuk mengunduh)" #: inc/backup.php:190 msgid "Action" msgstr "Tindakan" #: inc/backup.php:210 msgid "Today" msgstr "Hari ini" #: inc/backup.php:239 msgid "Restore" msgstr "Mengembalikan" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Menghapus" #: inc/backup.php:241 msgid "View Log" msgstr "Melihat log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Saat ini tidak ada cadangan yang ditemukan." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Tindakan pada cadangan yang dipilih" #: inc/backup.php:251 msgid "Select All" msgstr "Pilih Semua" #: inc/backup.php:252 msgid "Deselect" msgstr "Batalkan pilihan" #: inc/backup.php:254 msgid "Note:" msgstr "catatan:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "File cadangan akan berada di bawah" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Kontribusi Manajer File WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Catatan: Ini adalah screenshot demo. Silakan beli File Manager pro ke fungsi " "Log." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klik untuk Membeli PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Beli PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Edit File Log" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Unduh File Log" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Unggah File Log" #: inc/root.php:43 msgid "Settings saved." msgstr "Pengaturan disimpan." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Tutup pemberitahuan ini." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Anda belum membuat perubahan apa pun untuk disimpan." #: inc/root.php:55 msgid "Public Root Path" msgstr "Jalur Akar Publik" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Root Path, bisa anda ubah sesuai pilihan anda." #: inc/root.php:59 msgid "Default:" msgstr "default:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Harap ubah ini dengan hati-hati, jalur yang salah dapat menyebabkan plugin " "pengelola file turun." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Aktifkan Sampah?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Setelah mengaktifkan sampah, file Anda akan masuk ke folder sampah." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Aktifkan Unggah File ke Pustaka Media?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Setelah mengaktifkan ini semua file akan masuk ke perpustakaan media." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Ukuran maksimum yang diizinkan pada saat pemulihan cadangan basis data." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Harap tingkatkan nilai bidang jika Anda mendapatkan pesan kesalahan pada " "saat pemulihan cadangan." #: inc/root.php:90 msgid "Save Changes" msgstr "Simpan perubahan" #: inc/settings.php:10 msgid "Settings - General" msgstr "Pengaturan - Umum" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Catatan: Ini hanya tangkapan layar demo. Untuk mendapatkan pengaturan, " "silakan beli versi pro kami." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Di sini admin dapat memberikan akses ke peran pengguna untuk menggunakan " "filemanager. Admin dapat mengatur Default Access Folder dan juga mengontrol " "ukuran upload filemanager." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Pengaturan - Editor kode" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager memiliki editor kode dengan banyak tema. Anda dapat memilih " "tema apa saja untuk editor kode. Ini akan ditampilkan ketika Anda mengedit " "file apa pun. Anda juga dapat mengizinkan mode layar penuh editor kode." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Tampilan editor kode" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Pengaturan - Pembatasan Pengguna" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Admin dapat membatasi tindakan pengguna mana pun. Juga menyembunyikan file " "dan folder dan dapat mengatur jalur folder yang berbeda - beda untuk " "pengguna yang berbeda." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Pengaturan - Pembatasan Peran Pengguna" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Admin dapat membatasi tindakan peran pengguna apa pun. Juga menyembunyikan " "file dan folder dan dapat mengatur berbeda - jalur folder yang berbeda untuk " "peran pengguna yang berbeda." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Manajer File - Kode Pendek" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "MENGGUNAKAN:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Ini akan menampilkan pengelola file di ujung depan. Anda dapat mengontrol " "semua pengaturan dari pengaturan pengelola file. Ini akan bekerja sama " "dengan backend Manajer File WP." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Ini akan menampilkan pengelola file di ujung depan. Tetapi hanya " "Administrator yang dapat mengaksesnya dan akan mengontrol dari pengaturan " "pengelola file." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parameter:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Ini akan memungkinkan semua peran mengakses pengelola file di ujung depan " "atau Anda dapat menggunakan sederhana untuk peran pengguna tertentu seperti " "allow_roles=\"editor,author\" (dipisahkan dengan koma (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Di sini \"test\" adalah nama folder yang terletak di direktori root, atau " "Anda dapat memberikan path untuk sub folder seperti \"wp-content/plugins\". " "Jika dibiarkan kosong atau kosong itu akan mengakses semua folder di " "direktori root. Default: Direktori root" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "untuk akses untuk menulis izin file, catatan: true/false, default: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "untuk akses izin membaca file, catatan: benar/salah, default: benar" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "itu akan menyembunyikan disebutkan di sini. Catatan: dipisahkan dengan koma " "(,). Bawaan: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Ini akan mengunci disebutkan dalam koma. Anda dapat mengunci lebih banyak " "seperti \".php,.css,.js\" dll. Default: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* untuk semua operasi dan untuk mengizinkan beberapa operasi, Anda dapat " "menyebutkan nama operasi seperti, allow_operations=\"upload,download\". " "Catatan: dipisahkan dengan koma (,). Bawaan: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Daftar Operasi File:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Buat direktori atau folder" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Buat file" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Ganti nama file atau folder" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Gandakan atau klon folder atau file" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Tempel file atau folder" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Melarang" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Untuk membuat arsip atau zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Ekstrak arsip atau file zip" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Salin file atau folder" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Sederhana memotong file atau folder" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Mengedit file" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Hapus atau hapus file dan folder" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Unduh file" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Unggah berkas" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Cari hal-hal" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Info berkas" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Tolong" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Ini akan melarang pengguna tertentu dengan hanya menempatkan id mereka " "dipisahkan dengan koma (,). Jika pengguna Ban maka mereka tidak akan dapat " "mengakses pengelola file wp di ujung depan." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Tampilan UI Manajer File. default: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> File Dimodifikasi atau Buat format tanggal. default: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Bahasa pengelola file. default: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema Manajer File. default: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Manajer File - Properti Sistem" #: inc/system_properties.php:10 msgid "PHP version" msgstr "versi PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Ukuran unggahan file maksimum (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Posting ukuran unggah file maksimum (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Batas Memori (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Waktu habis (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Peramban dan OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Ubah Tema Di Sini:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "default" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Gelap" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Cahaya" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Abu-abu" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Selamat datang di Manajer File" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Kami senang membuat teman baru! Berlangganan di bawah dan kami berjanji " "untuk\n" " membuat Anda tetap up-to-date dengan plugin terbaru kami, update,\n" " penawaran luar biasa dan beberapa penawaran khusus." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Silahkan Masukkan Nama Depan." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Silakan Masukkan Nama Belakang." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Silahkan Masukkan Alamat Email." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Memeriksa" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Tidak, terima kasih" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Persyaratan Layanan" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Kebijakan pribadi" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Penghematan..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "baik" #~ msgid "Backup not found!" #~ msgstr "Cadangan tidak ditemukan!" #~ msgid "Backup removed successfully!" #~ msgstr "Cadangan berhasil dihapus!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Tidak ada yang dipilih untuk cadangan" #~ msgid "Security Issue." #~ msgstr "Masalah Keamanan." #~ msgid "Database backup done." #~ msgstr "" #~ "Pencadangan database selesai." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Tidak dapat membuat cadangan basis data." #~ "" #~ msgid "Plugins backup done." #~ msgstr "" #~ "Pencadangan plugin selesai." #~ msgid "Plugins backup failed." #~ msgstr "Pencadangan plugin gagal." #~ msgid "Themes backup done." #~ msgstr "Pencadangan tema selesai." #~ msgid "Themes backup failed." #~ msgstr "Pencadangan tema gagal." #~ msgid "Uploads backup done." #~ msgstr "Upload backup selesai." #~ msgid "Uploads backup failed." #~ msgstr "Upload cadangan gagal." #~ msgid "Others backup done." #~ msgstr "" #~ "Pencadangan lainnya selesai." #~ msgid "Others backup failed." #~ msgstr "Pencadangan lainnya gagal." #~ msgid "All Done" #~ msgstr "Semua Selesai" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Kelola file WP Anda." #~ msgid "Extensions" #~ msgstr "Ekstensi" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Tolong sampaikan beberapa donasi, untuk membuat plugin lebih stabil. Anda " #~ "bisa membayar jumlah pilihan Anda." wp-file-manager/languages/wp-file-manager-is_IS.mo000064400000043061151202472330016004 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Q()()N).N*1}**$**+E?,B, ,=,9->L----.-!-(.G.].q..&. . . ... / "/-/'K/ s///.//=/ +0 80F0L0_0{00 0*00 080/1?11/2B2"\2E223&33 444)5566v6n7788888D8969p9999999 :_:ey:!:"; $; 1;9>;)x;;!;; ; <<!2<!T<#v<o<Z = e=*p==#=;=8>P>W>i>>(>> >->?? .?9? O? ]?"h? ??? ?-?@/@A@a@w@4@@ @@AA :AFA$`AAA6A)A%A$B'@B"hB)BB B B.B!C$7C$\C C CC-CCCD5DYEeyEQE}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-01 11:10+0530 Last-Translator: admin Language-Team: Language: is_IS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * fyrir allar aðgerðir og til að leyfa einhverja aðgerð geturðu nefnt aðgerðarheiti eins og, allow_operations="hlaða upp,hlaða niður". Athugið: aðskilin með kommu(,). Sjálfgefið: *-> Það mun banna tiltekna notendur með því að setja auðkenni þeirra aðgreind með kommum (,). Ef notandi er Ban þá munu þeir ekki fá aðgang að wp skráarstjóra í framendanum.-> Skráasafnsþema. Sjálfgefið: Light-> Skrá breytt eða búið til dagsetningarsnið. Sjálfgefið: d M, Y h: i A-> Skráasafnarmál. Sjálfgefið: English(en)-> Útsýni yfir skjástjóra. Sjálfgefið: gridAðgerðAðgerðir við valið öryggisafritStjórnandi getur takmarkað aðgerðir hvers notanda. Fela einnig skrár og möppur og getur stillt mismunandi - mismunandi möppuleiðir fyrir mismunandi notendur.Stjórnandi getur takmarkað aðgerðir hvaða notendastjórn sem er. Einnig fela skrár og möppur og geta stillt mismunandi - mismunandi möppuleiðir fyrir mismunandi hlutverk notenda.Eftir að hafa virkjað ruslið fara skrárnar þínar í ruslakista.Eftir að þetta er virkt fara allar skrár í fjölmiðlasafnið.Allt búiðErtu viss um að þú viljir fjarlægja valið öryggisafrit?Ertu viss um að þú viljir eyða þessu öryggisafriti?Ertu viss um að þú viljir endurheimta þetta öryggisafrit?AfritunardagsetningTaktu öryggisafrit núnaAfritunarvalkostir:Afritunargögn (smelltu til að hlaða niður)Öryggisafritaskrár verða undirAfritun er í gangi, vinsamlegast bídduÖryggisafritun eytt.Afritun/endurheimtaTaka öryggisafrit tókst!BannaVafri og stýrikerfi (HTTP_USER_AGENT)Kauptu PROKauptu ProHætta viðBreyttu þema hér:Smelltu til að kaupa PROKóða-ritstjóri SkoðaStaðfestaAfritaðu skrár eða möppurEins og er fannst ekkert öryggisafrit.Eyða skrámMyrkurÖryggisafrit gagnagrunnsÖryggisafrit gagnagrunns gert á dagsetningu Afrit af gagnagrunni lokið.Varabúnaður gagnagrunns endurheimtur með góðum árangri.SjálfgefiðSjálfgefið:EyðaHætta við valiðHafna þessari tilkynningu.StyrkjaSæktu skrárdagbækurSæktu skrárAfritaðu eða klónaðu möppu eða skráBreyttu skráaskrámBreyttu skráVirkja skrár sem hlaðið er upp í fjölmiðlasafnið?Virkja ruslið?Villa: Ekki tókst að endurheimta öryggisafrit vegna þess að öryggisafrit af gagnagrunni er mikið að stærð. Vinsamlega reyndu að auka hámarks leyfða stærð frá stillingum.Núverandi öryggisafritDragðu úr skjalasafni eða þjöppuðum skráSkráasafn - Stutt kóðaSkráasafn - Eiginleikar kerfisinsFile Manager Root Path, þú getur breytt eftir því sem þú velur.File Manager hefur kóða ritstjóra með mörgum þemum. Þú getur valið hvaða þema sem er fyrir kóða ritstjóra. Það birtist þegar þú breytir hvaða skrá sem er. Einnig er hægt að leyfa fullskjásstillingu kóða ritstjóra.Listi yfir aðgerðaskrár:Skráin er ekki til að hlaða niður.Afrit af skrámGráttHjálpHér er "próf" nafnið á möppunni sem er staðsett á rótarskránni, eða þú getur gefið slóð fyrir undirmöppur eins og "wp-content/plugins". Ef skilið er eftir autt eða tómt mun það fá aðgang að öllum möppum í rótarskránni. Sjálfgefið: RótarskráHér getur stjórnandi veitt aðgang að notendahlutverkum til að nota skjalastjóri. Stjórnandi getur valið sjálfgefna aðgangsmöppu og einnig stjórnað upphæð stærðar skráarstjóra.Upplýsingar um skránaÓgildir öryggiskóðar.Það mun leyfa öllum hlutverkum að fá aðgang að skjalastjóra í framendanum eða þú getur einfalt notað fyrir ákveðin notendahlutverk eins og allow_roles="ritstjóri, höfundur" (aðskilin með kommu (,))Það mun læsast sem nefnt er með kommum. þú getur læst fleiri eins og ".php,.css,.js" osfrv. Sjálfgefið: NúllÞað mun sýna skráarstjóra á framendanum. En aðeins stjórnandi hefur aðgang að því og mun stjórna úr stillingum skráasafns.Það mun sýna skráarstjóra á framendanum. Þú getur stjórnað öllum stillingum úr stillingum skráasafns. Það mun virka eins og stuðningur WP File Manager.Síðasta logskilaboðLjósLogsBúðu til möppu eða möppuBúðu til skráLeyfileg hámarksstærð við endurheimt öryggisafrits gagnagrunns.Hámarks stærð skráarupphleðslu (upload_max_filesize)Minni takmörk (memory_limit)Vantar öryggisauðkenni.Vantar gerð breytu.Vantar nauðsynlegar breytur.Nei takkEngin logskilaboðEngar annálar fundust!Athugið:Athugið: Þetta eru demo skjámyndir. Vinsamlegast keyptu File Manager pro í Logs aðgerðir.Athugið: Þetta er bara demo skjámynd. Til að fá stillingar skaltu kaupa atvinnuútgáfuna okkar.Ekkert valið fyrir öryggisafritEkkert valið fyrir öryggisafrit.Allt í lagiAllt í lagiAðrir (Allar aðrar möppur sem finnast í wp-innihaldi)Aðrir öryggisafrit gert á dagsetningu Önnur öryggisafrit lokið.Önnur öryggisafritun mistókst.Önnur afritun tókst aftur.PHP útgáfaFæribreytur:Límdu skrá eða möppuVinsamlegast sláðu inn netfang.Vinsamlegast sláðu inn fornafn.Vinsamlegast sláðu inn eftirnafn.Vinsamlegast breyttu þessu vandlega, röng leið getur leitt til þess að tappi skráarstjóra fellur niður.Vinsamlega aukið gildi reits ef þú færð villuboð þegar öryggisafrit er endurheimt.ViðbæturVarabúnaður viðbóta gerður þann dag Afrit af viðbótum lokið.Öryggisafrit viðbætur mistókst.Varabúnaður viðbóta endurheimtur með góðum árangri.Birta hámarksstærð skráarupphleðslu (post_max_size)ÓskirFriðhelgisstefnaAlmenningsrótarstígurEndurheimta skrárFjarlægðu eða eyddu skrám og möppumEndurnefna skrá eða möppuEndurheimtaEndurheimt er í gangi, vinsamlegast bíðiðÁRANGURVista breytingarVistar ...Leitaðu að hlutunumÖryggismál.Velja alltVeldu öryggisafrit til að eyða!StillingarStillingar - Kóði ritstjóriStillingar - AlmenntStillingar - Takmarkanir notendaStillingar - Takmarkanir á hlutverki notandaStillingar vistaðar.Stuttkóði - PROEinfalt skera skrá eða möppuEiginleikar kerfisinsSkilmálar þjónustuÖryggisafritið tókst greinilega og er nú lokið.ÞemuAfrit þemu gert á dagsetningu Afrit af þemum lokið.Afritun þema mistókst.Öryggisafrit þemu endurheimt.Tími núnaHlé (max_execution_time)Til að búa til skjalasafn eða zipÍ dagNOTKUN:Ekki tókst að búa til öryggisafrit af gagnagrunni.Ekki tókst að fjarlægja öryggisafrit!Ekki tókst að endurheimta DB afrit.Ekki er hægt að endurheimta aðra.Ekki tókst að endurheimta viðbætur.Ekki tókst að endurheimta þemu.Ekki tókst að endurheimta innsendingar.Hlaða inn skráaskrámSendu skrárUpphleðslaHleður inn öryggisafrit gert á dagsetningu Upphleðsla öryggisafrit lokið.Upphleðsla öryggisafrit mistókst.Upphleðsluforrit endurheimt tókst.StaðfestuSkoða LogWP SkráastjóriWP skráastjóri - öryggisafrit / endurheimtWP Skráastjóri FramlagVið elskum að eignast nýja vini! Gerast áskrifandi hér að neðan og við lofum því haltu þér uppfærð með nýjustu nýju viðbótunum okkar, uppfærslum, ógnvekjandi tilboð og nokkur sértilboð.Verið velkomin í File ManagerÞú hefur ekki gert neinar breytingar til að vista.fyrir aðgang að heimild til að lesa skrár, athugaðu: satt/ósatt, sjálfgefið: satttil að fá aðgang að heimildum til að skrifa skrár, athugaðu: satt/ósatt, sjálfgefið: ósattþað mun fela nefnt hér. Athugið: aðskilin með kommu(,). Sjálfgefið: Núllwp-file-manager/languages/wp-file-manager-is_IS.po000064400000066267151202472330016024 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 10:42+0530\n" "PO-Revision-Date: 2022-03-01 11:10+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: is_IS\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Öryggisafrit þemu endurheimt." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Ekki tókst að endurheimta þemu." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Upphleðsluforrit endurheimt tókst." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Ekki tókst að endurheimta innsendingar." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Önnur afritun tókst aftur." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Ekki er hægt að endurheimta aðra." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Varabúnaður viðbóta endurheimtur með góðum árangri." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Ekki tókst að endurheimta viðbætur." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Varabúnaður gagnagrunns endurheimtur með góðum árangri." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Allt búið" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Ekki tókst að endurheimta DB afrit." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Taka öryggisafrit tókst!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Ekki tókst að fjarlægja öryggisafrit!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Öryggisafrit gagnagrunns gert á dagsetningu " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Varabúnaður viðbóta gerður þann dag " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Afrit þemu gert á dagsetningu " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Hleður inn öryggisafrit gert á dagsetningu " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Aðrir öryggisafrit gert á dagsetningu " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Logs" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Engar annálar fundust!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Ekkert valið fyrir öryggisafrit" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Öryggismál." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Afrit af gagnagrunni lokið." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Ekki tókst að búa til öryggisafrit af gagnagrunni." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Afrit af viðbótum lokið." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Öryggisafrit viðbætur mistókst." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Afrit af þemum lokið." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Afritun þema mistókst." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Upphleðsla öryggisafrit lokið." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Upphleðsla öryggisafrit mistókst." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Önnur öryggisafrit lokið." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Önnur öryggisafritun mistókst." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP Skráastjóri" #: file_folder_manager.php:769 msgid "Settings" msgstr "Stillingar" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Óskir" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Eiginleikar kerfisins" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Stuttkóði - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Afritun/endurheimta" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Kauptu Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Styrkja" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Skráin er ekki til að hlaða niður." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Ógildir öryggiskóðar." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Vantar öryggisauðkenni." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Vantar gerð breytu." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Vantar nauðsynlegar breytur." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Villa: Ekki tókst að endurheimta öryggisafrit vegna þess að öryggisafrit af " "gagnagrunni er mikið að stærð. Vinsamlega reyndu að auka hámarks leyfða " "stærð frá stillingum." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Veldu öryggisafrit til að eyða!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Ertu viss um að þú viljir fjarlægja valið öryggisafrit?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Afritun er í gangi, vinsamlegast bíddu" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Endurheimt er í gangi, vinsamlegast bíðið" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Ekkert valið fyrir öryggisafrit." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP skráastjóri - öryggisafrit / endurheimt" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Afritunarvalkostir:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Öryggisafrit gagnagrunns" #: inc/backup.php:64 msgid "Files Backup" msgstr "Afrit af skrám" #: inc/backup.php:68 msgid "Plugins" msgstr "Viðbætur" #: inc/backup.php:71 msgid "Themes" msgstr "Þemu" #: inc/backup.php:74 msgid "Uploads" msgstr "Upphleðsla" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Aðrir (Allar aðrar möppur sem finnast í wp-innihaldi)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Taktu öryggisafrit núna" #: inc/backup.php:89 msgid "Time now" msgstr "Tími núna" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ÁRANGUR" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Öryggisafritun eytt." #: inc/backup.php:102 msgid "Ok" msgstr "Allt í lagi" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "Eyða skrám" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Ertu viss um að þú viljir eyða þessu öryggisafriti?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Hætta við" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Staðfesta" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "Endurheimta skrár" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Ertu viss um að þú viljir endurheimta þetta öryggisafrit?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Síðasta logskilaboð" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Öryggisafritið tókst greinilega og er nú lokið." #: inc/backup.php:171 msgid "No log message" msgstr "Engin logskilaboð" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Núverandi öryggisafrit" #: inc/backup.php:184 msgid "Backup Date" msgstr "Afritunardagsetning" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Afritunargögn (smelltu til að hlaða niður)" #: inc/backup.php:190 msgid "Action" msgstr "Aðgerð" #: inc/backup.php:210 msgid "Today" msgstr "Í dag" #: inc/backup.php:239 msgid "Restore" msgstr "Endurheimta" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Eyða" #: inc/backup.php:241 msgid "View Log" msgstr "Skoða Log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Eins og er fannst ekkert öryggisafrit." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Aðgerðir við valið öryggisafrit" #: inc/backup.php:251 msgid "Select All" msgstr "Velja allt" #: inc/backup.php:252 msgid "Deselect" msgstr "Hætta við valið" #: inc/backup.php:254 msgid "Note:" msgstr "Athugið:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Öryggisafritaskrár verða undir" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP Skráastjóri Framlag" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Athugið: Þetta eru demo skjámyndir. Vinsamlegast keyptu File Manager pro í " "Logs aðgerðir." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Smelltu til að kaupa PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Kauptu PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Breyttu skráaskrám" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Sæktu skrárdagbækur" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Hlaða inn skráaskrám" #: inc/root.php:43 msgid "Settings saved." msgstr "Stillingar vistaðar." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Hafna þessari tilkynningu." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Þú hefur ekki gert neinar breytingar til að vista." #: inc/root.php:55 msgid "Public Root Path" msgstr "Almenningsrótarstígur" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Root Path, þú getur breytt eftir því sem þú velur." #: inc/root.php:59 msgid "Default:" msgstr "Sjálfgefið:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Vinsamlegast breyttu þessu vandlega, röng leið getur leitt til þess að tappi " "skráarstjóra fellur niður." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Virkja ruslið?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Eftir að hafa virkjað ruslið fara skrárnar þínar í ruslakista." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Virkja skrár sem hlaðið er upp í fjölmiðlasafnið?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Eftir að þetta er virkt fara allar skrár í fjölmiðlasafnið." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "Leyfileg hámarksstærð við endurheimt öryggisafrits gagnagrunns." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Vinsamlega aukið gildi reits ef þú færð villuboð þegar öryggisafrit er " "endurheimt." #: inc/root.php:90 msgid "Save Changes" msgstr "Vista breytingar" #: inc/settings.php:10 msgid "Settings - General" msgstr "Stillingar - Almennt" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Athugið: Þetta er bara demo skjámynd. Til að fá stillingar skaltu kaupa " "atvinnuútgáfuna okkar." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Hér getur stjórnandi veitt aðgang að notendahlutverkum til að nota " "skjalastjóri. Stjórnandi getur valið sjálfgefna aðgangsmöppu og einnig " "stjórnað upphæð stærðar skráarstjóra." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Stillingar - Kóði ritstjóri" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager hefur kóða ritstjóra með mörgum þemum. Þú getur valið hvaða " "þema sem er fyrir kóða ritstjóra. Það birtist þegar þú breytir hvaða skrá " "sem er. Einnig er hægt að leyfa fullskjásstillingu kóða ritstjóra." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kóða-ritstjóri Skoða" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Stillingar - Takmarkanir notenda" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Stjórnandi getur takmarkað aðgerðir hvers notanda. Fela einnig skrár og " "möppur og getur stillt mismunandi - mismunandi möppuleiðir fyrir mismunandi " "notendur." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Stillingar - Takmarkanir á hlutverki notanda" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Stjórnandi getur takmarkað aðgerðir hvaða notendastjórn sem er. Einnig fela " "skrár og möppur og geta stillt mismunandi - mismunandi möppuleiðir fyrir " "mismunandi hlutverk notenda." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Skráasafn - Stutt kóða" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "NOTKUN:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Það mun sýna skráarstjóra á framendanum. Þú getur stjórnað öllum stillingum " "úr stillingum skráasafns. Það mun virka eins og stuðningur WP File Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Það mun sýna skráarstjóra á framendanum. En aðeins stjórnandi hefur aðgang " "að því og mun stjórna úr stillingum skráasafns." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Færibreytur:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Það mun leyfa öllum hlutverkum að fá aðgang að skjalastjóra í framendanum " "eða þú getur einfalt notað fyrir ákveðin notendahlutverk eins og allow_roles=" "\"ritstjóri, höfundur\" (aðskilin með kommu (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Hér er \"próf\" nafnið á möppunni sem er staðsett á rótarskránni, eða þú " "getur gefið slóð fyrir undirmöppur eins og \"wp-content/plugins\". Ef skilið " "er eftir autt eða tómt mun það fá aðgang að öllum möppum í rótarskránni. " "Sjálfgefið: Rótarskrá" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "til að fá aðgang að heimildum til að skrifa skrár, athugaðu: satt/ósatt, " "sjálfgefið: ósatt" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "fyrir aðgang að heimild til að lesa skrár, athugaðu: satt/ósatt, sjálfgefið: " "satt" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "það mun fela nefnt hér. Athugið: aðskilin með kommu(,). Sjálfgefið: Núll" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Það mun læsast sem nefnt er með kommum. þú getur læst fleiri eins og \".php,." "css,.js\" osfrv. Sjálfgefið: Núll" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* fyrir allar aðgerðir og til að leyfa einhverja aðgerð geturðu nefnt " "aðgerðarheiti eins og, allow_operations=\"hlaða upp,hlaða niður\". Athugið: " "aðskilin með kommu(,). Sjálfgefið: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Listi yfir aðgerðaskrár:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Búðu til möppu eða möppu" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Búðu til skrá" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Endurnefna skrá eða möppu" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Afritaðu eða klónaðu möppu eða skrá" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Límdu skrá eða möppu" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Banna" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Til að búa til skjalasafn eða zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Dragðu úr skjalasafni eða þjöppuðum skrá" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Afritaðu skrár eða möppur" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Einfalt skera skrá eða möppu" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Breyttu skrá" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Fjarlægðu eða eyddu skrám og möppum" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Sæktu skrár" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Sendu skrár" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Leitaðu að hlutunum" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Upplýsingar um skrána" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Hjálp" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Það mun banna tiltekna notendur með því að setja auðkenni þeirra aðgreind " "með kommum (,). Ef notandi er Ban þá munu þeir ekki fá aðgang að wp " "skráarstjóra í framendanum." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Útsýni yfir skjástjóra. Sjálfgefið: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Skrá breytt eða búið til dagsetningarsnið. Sjálfgefið: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Skráasafnarmál. Sjálfgefið: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Skráasafnsþema. Sjálfgefið: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Skráasafn - Eiginleikar kerfisins" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP útgáfa" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Hámarks stærð skráarupphleðslu (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Birta hámarksstærð skráarupphleðslu (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Minni takmörk (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Hlé (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Vafri og stýrikerfi (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Breyttu þema hér:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Sjálfgefið" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Myrkur" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Ljós" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Grátt" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Verið velkomin í File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Við elskum að eignast nýja vini! Gerast áskrifandi hér að neðan og við lofum " "því\n" " haltu þér uppfærð með nýjustu nýju viðbótunum okkar, uppfærslum,\n" " ógnvekjandi tilboð og nokkur sértilboð." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Vinsamlegast sláðu inn fornafn." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Vinsamlegast sláðu inn eftirnafn." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Vinsamlegast sláðu inn netfang." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Staðfestu" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nei takk" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Skilmálar þjónustu" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Friðhelgisstefna" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Vistar ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Allt í lagi" #~ msgid "Backup not found!" #~ msgstr "Afrit fannst ekki!" #~ msgid "Backup removed successfully!" #~ msgstr "Afritun tókst!" #~ msgid "Nothing selected for backup" #~ msgstr "Ekkert valið til afritunar" #~ msgid "Security Issue." #~ msgstr "Öryggismál. " #~ msgid "Database backup done." #~ msgstr "" #~ "Öryggisafrit gagnagrunns búið." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Ekki er hægt að búa til öryggisafrit af " #~ "gagnagrunni." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Varabúnaður viðbóta búinn." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Ekki tókst að taka öryggisafrit af " #~ "viðbótum." #~ msgid "Themes backup done." #~ msgstr "Þemu varabúnaður búinn." #~ msgid "Themes backup failed." #~ msgstr "Afrit þemu mistókst." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Upphleðslu varabúnaðar lokið." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Ekki tókst að taka öryggisafrit." #~ msgid "Others backup done." #~ msgstr "Aðrir varabúnaður búinn." #~ msgid "Others backup failed." #~ msgstr "Önnur afrit mistókust." #~ msgid "All Done" #~ msgstr "Allt búið" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Stjórnaðu WP skránum þínum." #~ msgid "Extensions" #~ msgstr "Eftirnafn" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Vinsamlegast gefðu þér smá framlag til að gera viðbótina stöðugri. Þú " #~ "getur greitt upphæð sem þú velur." wp-file-manager/languages/wp-file-manager-it_IT.mo000064400000042672151202472330016015 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Q()/)B)4/*Bd****s+P,Hl, ,3,,,/"-R-a-y-%--.-..6.S.-[. . ..... ./"/ :/H/N/%b//./ / // /00"070&G0n00>000111(1A2Q273 O3p33334555f66s7(8E8L8U8 o8Py8@8 9,9C9_9 9999e9h+: :!:::C:!;@;T;'t; ; ;;(;; <x;<p<%=#,=P=l=,=F= > >(>A>%Q>!w> >)>>>> >?? .? O?\?|?!?+???@$@:@7N@@!@@@+@A"!ADAaAfA*kA A0A#A" B /B'PBxBB B(BB*B>C QC\CoC&C CCD'DNDQEKnE}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-01 11:19+0530 Last-Translator: admin Language-Team: Language: it_IT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * per tutte le operazioni e per consentire alcune operazioni puoi menzionare il nome dell'operazione come, allowed_operations="upload,download". Nota: separato da virgola(). Predefinito: *-> Bandirà determinati utenti semplicemente mettendo i loro ID separati da virgole (,). Se l'utente è Ban, non sarà in grado di accedere al file manager wp sul front-end.-> Tema del gestore di file. Predefinito: Light-> File modificato o Crea formato data. Predefinito: d M, Y h: i A-> Lingua del file manager. Predefinito: English(en)-> Vista dell'interfaccia utente di Filemanager. Predefinito: gridAzioneAzioni sui backup selezionatiL'amministratore può limitare le azioni di qualsiasi utente. Nascondi anche file e cartelle e puoi impostare diversi percorsi di cartelle diversi per utenti diversi.L'amministratore può limitare le azioni di qualsiasi ruolo utente. Nascondere anche file e cartelle e impostare percorsi di cartelle diversi per ruoli utente diversi.Dopo aver abilitato il cestino, i tuoi file andranno nella cartella del cestino.Dopo averlo abilitato, tutti i file andranno alla libreria multimediale.Tutto fattoSei sicuro di voler rimuovere i backup selezionati?Sei sicuro di voler eliminare questo backup?Sei sicuro di voler ripristinare questo backup?Data di backupEsegui il backup adessoOpzioni di backup:Dati di backup (clicca per scaricare)I file di backup saranno sottoIl backup è in esecuzione, per favore aspettaBackup eliminato con successo.Ripristinare il backupBackup rimossi con successo!BandireBrowser e sistema operativo (HTTP_USER_AGENT)Acquista PROAcquista ProAnnullaCambia tema qui:Fare clic per acquistare PROVista dell'editor di codiceconvalidareCopia file o cartelleAttualmente nessun backup trovato.CANCELLA FILEscuroBackup del databaseBackup del database eseguito in data Backup del database eseguito.Backup del database ripristinato con successo.PredefinitaPredefinita:EliminaDeselezionaRimuovi questa notifica.DonareScarica file log LogScaricare filesDuplica o clona una cartella o un fileModifica file logModifica un fileAbilitare il caricamento dei file nella libreria multimediale?Abilita cestino?Errore: impossibile ripristinare il backup perché il backup del database è di grandi dimensioni. Prova ad aumentare la dimensione massima consentita dalle impostazioni delle Preferenze.Backup esistentiEstrai archivio o file zippatoFile Manager - ShortcodeGestore di file - Proprietà del sistemaGestore di file Root Path, puoi cambiare in base alla tua scelta.File Manager ha un editor di codice con più temi. Puoi selezionare qualsiasi tema per l'editor di codice. Verrà visualizzato quando modifichi un file. Inoltre puoi consentire la modalità a schermo intero dell'editor di codice.Elenco operazioni file:Il file non esiste da scaricare.Backup dei fileGrigioAiutoQui "test" è il nome della cartella che si trova nella directory principale, oppure puoi fornire il percorso per le sottocartelle come "wp-content/plugins". Se lasciato vuoto o vuoto accederà a tutte le cartelle nella directory principale. Predefinito: directory principaleQui l'amministratore può concedere l'accesso ai ruoli utente per utilizzare filemanager. L'amministratore può impostare la cartella di accesso predefinita e anche controllare la dimensione di caricamento del gestore di file.Informazioni sul fileCodice di sicurezza non valido.Consentirà a tutti i ruoli di accedere al file manager sul front-end oppure è possibile utilizzarlo semplicemente per ruoli utente particolari, come allow_roles="editor,author" (separato da virgola (,))Si bloccherà menzionato tra virgole. puoi bloccarne altri come ".php,.css,.js" ecc. Predefinito: NullMostrerà il file manager sul front-end. Ma solo l'amministratore può accedervi e controllerà dalle impostazioni del file manager.Mostrerà il file manager sul front-end. Puoi controllare tutte le impostazioni dalle impostazioni del file manager. Funzionerà allo stesso modo di Gestore di file WP di back-end.Ultimo messaggio di registrochiaroRegistriCrea directory o cartellaCrea fileDimensione massima consentita al momento del ripristino del backup del database.Dimensione massima di caricamento del file (upload_max_filesize)Limite di memoria (memory_limit)ID di backup mancante.Tipo di parametro mancante.Parametri obbligatori mancanti.No grazieNessun messaggio di registroNessun registro trovato!Nota:Nota: questi sono screenshot demo. Si prega di acquistare Gestore di file pro per le funzioni di log.Nota: questo è solo uno screenshot demo. Per ottenere le impostazioni, acquista la nostra versione pro.Niente selezionato per il backupNiente selezionato per il backup.okOkAltri (qualsiasi altra directory trovata all'interno di wp-content)Altri backup eseguiti in data Altri backup fatto.Altri backup non sono riusciti.Altri backup ripristinati con successo.Versione PHPParametri:Incolla un file o una cartellaSi prega di inserire l'indirizzo e-mail.Si prega di inserire il nome.Si prega di inserire il cognome.Si prega di cambiarlo con attenzione, il percorso sbagliato può portare al fallimento del plug-in di gestione dei file.Aumentare il valore del campo se viene visualizzato un messaggio di errore al momento del ripristino del backup.PluginBackup dei plugin eseguito in data Backup dei plugin eseguito.Backup dei plugin non riuscito.Backup dei plugin ripristinato con successo.Pubblica la dimensione massima di caricamento del file (post_max_size)Preferencespolitica sulla riservatezzaPercorso radice pubblicoRIPRISTINA FILERimuovere o eliminare file e cartelleRinominare un file o una cartellaRistabilireIl ripristino è in esecuzione, attendereSUCCESSOSalvare le modificheSalvataggio...Cerca coseProblema di sicurezza.Seleziona tuttoSeleziona i backup da eliminare!impostazioniImpostazioni - Editor di codiceImpostazioni - GeneraliImpostazioni - Restrizioni utenteImpostazioni - Restrizioni del ruolo utenteImpostazioni salvate.Shortcode - PROSimple cut a file or folderProprietà di sistemaTermini di servizioIl backup apparentemente è riuscito e ora è completo.TemiBackup dei temi eseguito in data Backup dei temi eseguito.Backup dei temi non riuscito.Backup dei temi ripristinato correttamente.Momento attualeTempo scaduto (max_execution_time)Per creare un archivio o zipOggiUSO:Impossibile creare il backup del database.Impossibile rimuovere il backup!Impossibile ripristinare il backup del database.Impossibile ripristinare gli altri.Impossibile ripristinare i plugin.Impossibile ripristinare i temi.Impossibile ripristinare i caricamenti.Carica file logCaricare filesCaricamentiBackup dei caricamenti eseguito in data Carica il backup eseguito.Il backup dei caricamenti non è riuscito.Il backup dei caricamenti è stato ripristinato correttamente.VerificareVista del registroGestore di file WPGestore di file WP - Backup/RipristinoContributo di Gestore di file WPCi piace fare nuove amicizie! Iscriviti qui sotto e promettiamo di tenerti aggiornato con i nostri ultimi nuovi plugin, aggiornamenti, offerte fantastiche e alcune offerte speciali.Benvenuto in Gestore di fileNon hai apportato modifiche da salvare.per l'accesso ai permessi di lettura dei file, nota: true/false, default: trueper l'accesso ai permessi di scrittura dei file, nota: true/false, default: falsenasconderà menzionato qui. Nota: separato da virgola(). Predefinito: nullowp-file-manager/languages/wp-file-manager-it_IT.po000064400000066120151202472330016012 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-01 11:11+0530\n" "PO-Revision-Date: 2022-03-01 11:19+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: it_IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Backup dei temi ripristinato correttamente." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Impossibile ripristinare i temi." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Il backup dei caricamenti è stato ripristinato correttamente." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Impossibile ripristinare i caricamenti." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Altri backup ripristinati con successo." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Impossibile ripristinare gli altri." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Backup dei plugin ripristinato con successo." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Impossibile ripristinare i plugin." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Backup del database ripristinato con successo." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Tutto fatto" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Impossibile ripristinare il backup del database." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Backup rimossi con successo!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Impossibile rimuovere il backup!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Backup del database eseguito in data " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Backup dei plugin eseguito in data " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Backup dei temi eseguito in data " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Backup dei caricamenti eseguito in data " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Altri backup eseguiti in data " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Registri" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nessun registro trovato!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Niente selezionato per il backup" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Problema di sicurezza." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Backup del database eseguito." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Impossibile creare il backup del database." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Backup dei plugin eseguito." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Backup dei plugin non riuscito." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Backup dei temi eseguito." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Backup dei temi non riuscito." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Carica il backup eseguito." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Il backup dei caricamenti non è riuscito." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Altri backup fatto." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Altri backup non sono riusciti." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Gestore di file WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "impostazioni" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferences" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Proprietà di sistema" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Ripristinare il backup" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Acquista Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Donare" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Il file non esiste da scaricare." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Codice di sicurezza non valido." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "ID di backup mancante." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Tipo di parametro mancante." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Parametri obbligatori mancanti." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Errore: impossibile ripristinare il backup perché il backup del database è " "di grandi dimensioni. Prova ad aumentare la dimensione massima consentita " "dalle impostazioni delle Preferenze." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Seleziona i backup da eliminare!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Sei sicuro di voler rimuovere i backup selezionati?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Il backup è in esecuzione, per favore aspetta" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Il ripristino è in esecuzione, attendere" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Niente selezionato per il backup." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Gestore di file WP - Backup/Ripristino" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opzioni di backup:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Backup del database" #: inc/backup.php:64 msgid "Files Backup" msgstr "Backup dei file" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugin" #: inc/backup.php:71 msgid "Themes" msgstr "Temi" #: inc/backup.php:74 msgid "Uploads" msgstr "Caricamenti" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Altri (qualsiasi altra directory trovata all'interno di wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Esegui il backup adesso" #: inc/backup.php:89 msgid "Time now" msgstr "Momento attuale" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUCCESSO" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Backup eliminato con successo." #: inc/backup.php:102 msgid "Ok" msgstr "Ok" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "CANCELLA FILE" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Sei sicuro di voler eliminare questo backup?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Annulla" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "convalidare" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RIPRISTINA FILE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Sei sicuro di voler ripristinare questo backup?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Ultimo messaggio di registro" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Il backup apparentemente è riuscito e ora è completo." #: inc/backup.php:171 msgid "No log message" msgstr "Nessun messaggio di registro" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Backup esistenti" #: inc/backup.php:184 msgid "Backup Date" msgstr "Data di backup" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Dati di backup (clicca per scaricare)" #: inc/backup.php:190 msgid "Action" msgstr "Azione" #: inc/backup.php:210 msgid "Today" msgstr "Oggi" #: inc/backup.php:239 msgid "Restore" msgstr "Ristabilire" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Elimina" #: inc/backup.php:241 msgid "View Log" msgstr "Vista del registro" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Attualmente nessun backup trovato." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Azioni sui backup selezionati" #: inc/backup.php:251 msgid "Select All" msgstr "Seleziona tutto" #: inc/backup.php:252 msgid "Deselect" msgstr "Deseleziona" #: inc/backup.php:254 msgid "Note:" msgstr "Nota:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "I file di backup saranno sotto" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Contributo di Gestore di file WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Nota: questi sono screenshot demo. Si prega di acquistare Gestore di file " "pro per le funzioni di log." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Fare clic per acquistare PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Acquista PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Modifica file log" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Scarica file log Log" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Carica file log" #: inc/root.php:43 msgid "Settings saved." msgstr "Impostazioni salvate." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Rimuovi questa notifica." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Non hai apportato modifiche da salvare." #: inc/root.php:55 msgid "Public Root Path" msgstr "Percorso radice pubblico" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Gestore di file Root Path, puoi cambiare in base alla tua scelta." #: inc/root.php:59 msgid "Default:" msgstr "Predefinita:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Si prega di cambiarlo con attenzione, il percorso sbagliato può portare al " "fallimento del plug-in di gestione dei file." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Abilita cestino?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Dopo aver abilitato il cestino, i tuoi file andranno nella cartella del " "cestino." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Abilitare il caricamento dei file nella libreria multimediale?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Dopo averlo abilitato, tutti i file andranno alla libreria multimediale." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Dimensione massima consentita al momento del ripristino del backup del " "database." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Aumentare il valore del campo se viene visualizzato un messaggio di errore " "al momento del ripristino del backup." #: inc/root.php:90 msgid "Save Changes" msgstr "Salvare le modifiche" #: inc/settings.php:10 msgid "Settings - General" msgstr "Impostazioni - Generali" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Nota: questo è solo uno screenshot demo. Per ottenere le impostazioni, " "acquista la nostra versione pro." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Qui l'amministratore può concedere l'accesso ai ruoli utente per utilizzare " "filemanager. L'amministratore può impostare la cartella di accesso " "predefinita e anche controllare la dimensione di caricamento del gestore di " "file." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Impostazioni - Editor di codice" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager ha un editor di codice con più temi. Puoi selezionare qualsiasi " "tema per l'editor di codice. Verrà visualizzato quando modifichi un file. " "Inoltre puoi consentire la modalità a schermo intero dell'editor di codice." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Vista dell'editor di codice" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Impostazioni - Restrizioni utente" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "L'amministratore può limitare le azioni di qualsiasi utente. Nascondi anche " "file e cartelle e puoi impostare diversi percorsi di cartelle diversi per " "utenti diversi." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Impostazioni - Restrizioni del ruolo utente" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "L'amministratore può limitare le azioni di qualsiasi ruolo utente. " "Nascondere anche file e cartelle e impostare percorsi di cartelle diversi " "per ruoli utente diversi." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "File Manager - Shortcode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "USO:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Mostrerà il file manager sul front-end. Puoi controllare tutte le " "impostazioni dalle impostazioni del file manager. Funzionerà allo stesso " "modo di Gestore di file WP di back-end." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Mostrerà il file manager sul front-end. Ma solo l'amministratore può " "accedervi e controllerà dalle impostazioni del file manager." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametri:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Consentirà a tutti i ruoli di accedere al file manager sul front-end oppure " "è possibile utilizzarlo semplicemente per ruoli utente particolari, come " "allow_roles=\"editor,author\" (separato da virgola (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Qui \"test\" è il nome della cartella che si trova nella directory " "principale, oppure puoi fornire il percorso per le sottocartelle come \"wp-" "content/plugins\". Se lasciato vuoto o vuoto accederà a tutte le cartelle " "nella directory principale. Predefinito: directory principale" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "per l'accesso ai permessi di scrittura dei file, nota: true/false, default: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "per l'accesso ai permessi di lettura dei file, nota: true/false, default: " "true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "nasconderà menzionato qui. Nota: separato da virgola(). Predefinito: nullo" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Si bloccherà menzionato tra virgole. puoi bloccarne altri come \".php,.css,." "js\" ecc. Predefinito: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* per tutte le operazioni e per consentire alcune operazioni puoi menzionare " "il nome dell'operazione come, allowed_operations=\"upload,download\". Nota: " "separato da virgola(). Predefinito: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Elenco operazioni file:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Crea directory o cartella" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Crea file" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Rinominare un file o una cartella" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplica o clona una cartella o un file" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Incolla un file o una cartella" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Bandire" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Per creare un archivio o zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Estrai archivio o file zippato" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Copia file o cartelle" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Simple cut a file or folder" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Modifica un file" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Rimuovere o eliminare file e cartelle" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Scaricare files" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Caricare files" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Cerca cose" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informazioni sul file" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Aiuto" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Bandirà determinati utenti semplicemente mettendo i loro ID separati da " "virgole (,). Se l'utente è Ban, non sarà in grado di accedere al file " "manager wp sul front-end." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Vista dell'interfaccia utente di Filemanager. Predefinito: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> File modificato o Crea formato data. Predefinito: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Lingua del file manager. Predefinito: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema del gestore di file. Predefinito: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Gestore di file - Proprietà del sistema" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Versione PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Dimensione massima di caricamento del file (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Pubblica la dimensione massima di caricamento del file (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Limite di memoria (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Tempo scaduto (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Browser e sistema operativo (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Cambia tema qui:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Predefinita" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "scuro" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "chiaro" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Grigio" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Benvenuto in Gestore di file" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Ci piace fare nuove amicizie! Iscriviti qui sotto e promettiamo di\n" " tenerti aggiornato con i nostri ultimi nuovi plugin, aggiornamenti,\n" " offerte fantastiche e alcune offerte speciali." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Si prega di inserire il nome." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Si prega di inserire il cognome." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Si prega di inserire l'indirizzo e-mail." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verificare" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "No grazie" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Termini di servizio" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "politica sulla riservatezza" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Salvataggio..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "ok" #~ msgid "Backup not found!" #~ msgstr "Backup non trovato!" #~ msgid "Backup removed successfully!" #~ msgstr "Backup rimosso con successo!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Niente selezionato per il backup" #~ msgid "Security Issue." #~ msgstr "Problema di sicurezza." #~ msgid "Database backup done." #~ msgstr "" #~ "Backup del database eseguito." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Impossibile creare il backup del " #~ "database." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Backup dei plug-in eseguito." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Backup dei plug-in non riuscito." #~ msgid "Themes backup done." #~ msgstr "Backup dei temi eseguito." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Backup dei temi non riuscito." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Backup dei caricamenti eseguito." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Backup dei caricamenti non riuscito." #~ msgid "Others backup done." #~ msgstr "Altri backup eseguiti." #~ msgid "Others backup failed." #~ msgstr "Altri backup non riusciti." #~ msgid "All Done" #~ msgstr "Tutto fatto" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Gestisci i tuoi file WP." #~ msgid "Extensions" #~ msgstr "estensioni" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Contribuisci a contribuire con qualche donazione per rendere il plugin " #~ "più stabile. Puoi pagare la quantità di tua scelta." wp-file-manager/languages/wp-file-manager-ko_KR.mo000064400000044114151202472330016003 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&u&(((,)Q)2+*.^**!**q+K:,\, ,-,'-'G- o- }--.--@-0. L.0Z..$. . ..../)/0/)L/ v/ //+/3/C0L0S0 [0 e0s0000)00 1M1&`11 2(.2 W2#x2`224'4 >4L4S4 Z4{5 6!66788{999$99I93!:U:t:-:-::;";B;nK;r;2-</`<<<A<%<'=$.=7S= = =!='== >z$>Q> >%>-$?*R?=}?7? ?@@ +@&9@%`@@@@@@ @ @ A A'(APAWAqAA A AA-AB0BJABBB'B$B7C8C!IC'kCC C8C%C(D,0D+]D%D(DDD E"E*4E'_E:EE EE#EF*F1F('GMPGNG^G}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: Theme Editor PO-Revision-Date: 2022-02-28 10:54+0530 Last-Translator: Language-Team: Language: ko_KR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: . * 모든 작업에 대해 일부 작업을 허용하려면 작업 이름을 allowed_operations="upload,download"와 같이 언급할 수 있습니다. 참고: 쉼표(,)로 구분합니다. 기본: *-> 특정 사용자의 ID를 쉼표(,)로 구분하여 입력하면 차단됩니다. 사용자가 Ban인 경우 프런트 엔드에서 wp 파일 관리자에 액세스할 수 없습니다.-> 파일 관리자 테마. 기본값: Light-> 수정된 파일 또는 날짜 형식을 만듭니다. 기본값: d M, Y h:i A-> 파일 관리자 언어. 기본값: English(en)-> 파일 관리자 UI 보기. 기본값: grid동작선택한 백업에 대한 작업관리자는 모든 사용자의 작업을 제한할 수 있습니다. 또한 파일과 폴더를 숨기고 다른 사용자에 대해 다른 폴더 경로를 설정할 수 있습니다.관리자는 모든 사용자 역할의 작업을 제한할 수 있습니다. 또한 파일과 폴더를 숨기고 다른 사용자 역할에 대해 다른 폴더 경로를 설정할 수 있습니다.휴지통을 활성화하면 파일이 휴지통 폴더로 이동합니다.이 기능을 활성화하면 모든 파일이 미디어 라이브러리로 이동합니다.모두 완료선택한 백업을 제거하시겠습니까?이 백업을 삭제하시겠습니까?이 백업을 복원하시겠습니까?백업 날짜백업 지금백업 옵션:백업 데이터(다운로드하려면 클릭)백업 파일은백업이 실행 중입니다. 잠시만 기다려 주십시오.백업이 성공적으로 삭제되었습니다.백업/복원백업이 성공적으로 제거되었습니다!반브라우저 및 OS(HTTP_USER_AGENT)프로 구매프로 구매취소여기에서 테마 변경:클릭하여 PRO 구매하기코드 편집기 보기확인파일 또는 폴더 복사현재 백업을 찾을 수 없습니다.파일 삭제어두운데이터베이스 백업날짜에 데이터베이스 백업 완료 데이터베이스 백업이 완료되었습니다.데이터베이스 백업이 성공적으로 복원되었습니다.기본기본:지우다선택 해제이 알림을 닫습니다.기부파일 로그 다운로드파일 다운로드폴더 또는 파일 복제 또는 복제파일 로그 편집파일 편집미디어 라이브러리에 파일 업로드를 활성화하시겠습니까?휴지통을 사용하시겠습니까?오류: 데이터베이스 백업의 크기가 커서 백업을 복원할 수 없습니다. 기본 설정에서 최대 허용 크기를 늘리십시오.기존 백업아카이브 또는 압축 파일 추출파일 관리자 - 단축 코드파일 관리자 - 시스템 속성파일 관리자 루트 경로, 당신은 당신의 선택에 따라 변경할 수 있습니다.파일 관리자에는 여러 테마가 있는 코드 편집기가 있습니다. 코드 편집기의 테마를 선택할 수 있습니다. 파일을 편집할 때 표시됩니다. 또한 코드 편집기의 전체 화면 모드를 허용할 수 있습니다.파일 작업 목록:다운로드할 파일이 없습니다.파일 백업회색도움여기서 "test"는 루트 디렉터리에 있는 폴더의 이름이거나 "wp-content/plugins"와 같이 하위 폴더에 대한 경로를 지정할 수 있습니다. 비워두거나 비워두면 루트 디렉토리의 모든 폴더에 액세스합니다. 기본값: 루트 디렉터리여기에서 관리자는 파일 관리자를 사용하기 위한 사용자 역할에 대한 액세스 권한을 부여할 수 있습니다. 관리자는 기본 액세스 폴더를 설정하고 파일 관리자의 업로드 크기를 제어할 수 있습니다.파일 정보잘못된 보안 코드입니다.모든 역할이 프론트 엔드의 파일 관리자에 액세스할 수 있도록 허용하거나 allowed_roles="editor,author"(쉼표(,)로 구분)와 같이 특정 사용자 역할에 대해 간단하게 사용할 수 있습니다.쉼표로 표시된 잠금이 해제됩니다. ".php,.css,.js" 등과 같이 더 많이 잠글 수 있습니다. 기본값: Null프런트 엔드에 파일 관리자가 표시됩니다. 그러나 관리자만 액세스할 수 있으며 파일 관리자 설정에서 제어합니다.프런트 엔드에 파일 관리자가 표시됩니다. 파일 관리자 설정에서 모든 설정을 제어할 수 있습니다. 백엔드 WP 파일 관리자와 동일하게 작동합니다.마지막 로그 메시지빛로그디렉토리 또는 폴더 만들기파일 만들기데이터베이스 백업 복원 시 허용되는 최대 크기입니다.최대 파일 업로드 크기(upload_max_filesize)메모리 제한(memory_limit)백업 ID가 없습니다.매개변수 유형이 누락되었습니다.필수 매개변수가 누락되었습니다.고맙지 만 사양 할게로그 메시지 없음로그를 찾을 수 없습니다!노트 :참고: 데모 스크린샷입니다. 로그 기능을 사용하려면 File Manager pro를 구입하십시오.참고: 이것은 데모 스크린샷일 뿐입니다. 설정을 얻으려면 프로 버전을 구입하십시오.백업을 위해 선택한 항목이 없습니다.백업을 위해 선택된 것이 없습니다.확인확인기타(wp-content 내에서 발견된 기타 모든 디렉토리)기타 백업이 날짜에 완료됨 기타 백업이 완료되었습니다.기타 백업에 실패했습니다.기타 백업이 성공적으로 복원되었습니다.PHP 버전매개변수:파일 또는 폴더 붙여넣기이메일 주소를 입력하십시오.이름을 입력하세요.성을 입력하십시오.경로를 잘못 지정하면 파일 관리자 플러그인이 다운될 수 있으므로 신중하게 변경하십시오.백업 복원 시 오류 메시지가 나타나면 필드 값을 늘리십시오.플러그인날짜에 플러그인 백업 완료 플러그인 백업이 완료되었습니다.플러그인 백업에 실패했습니다.플러그인 백업이 성공적으로 복원되었습니다.게시물 최대 파일 업로드 크기(post_max_size)기본 설정개인 정보 정책공개 루트 경로파일 복원파일 및 폴더 제거 또는 삭제파일 또는 폴더 이름 바꾸기복원복원이 실행 중입니다. 잠시만 기다려 주십시오.성공변경 사항을 저장하다절약...물건 검색보안 문제.모두 선택삭제할 백업을 선택하십시오!설정설정 - 코드 편집기설정 - 일반설정 - 사용자 제한설정 - 사용자 역할 제한설정이 저장되었습니다.단축 코드 - PRO파일이나 폴더를 간단하게 자르기시스템 속성서비스 약관백업이 성공적으로 완료되었으며 이제 완료되었습니다.테마날짜에 테마 백업 완료 테마 백업이 완료되었습니다.테마 백업에 실패했습니다.테마 백업이 성공적으로 복원되었습니다.지금이 시간시간 초과(max_execution_time)아카이브 또는 zip을 만들려면오늘사용하다:데이터베이스 백업을 생성할 수 없습니다.백업을 제거할 수 없습니다!DB 백업을 복원할 수 없습니다.다른 사람을 복원할 수 없습니다.플러그인을 복원할 수 없습니다.테마를 복원할 수 없습니다.업로드를 복원할 수 없습니다.파일 로그 업로드파일 업로드하다업로드날짜에 업로드 백업 완료 업로드 백업이 완료되었습니다.업로드 백업에 실패했습니다.업로드 백업이 성공적으로 복원되었습니다.검증로그 보기WP 파일 관리자WP 파일 관리자 - 백업/복원WP 파일 관리자 투고우리는 새로운 친구를 사귀는 것을 좋아합니다! 아래를 구독하고 우리는 약속합니다 최신 새 플러그인, 업데이트, 멋진 거래와 몇 가지 특별 제안.파일 관리자에 오신 것을 환영합니다저장할 변경 사항이 없습니다.파일 읽기 권한에 대한 액세스, 참고: true/false, 기본값: true파일 쓰기 권한에 대한 액세스, 참고: true/false, 기본값: false여기에 언급 된 숨길 것입니다. 참고: 쉼표(,)로 구분합니다. 기본값: 널wp-file-manager/languages/wp-file-manager-ko_KR.po000064400000242707151202472330016016 0ustar00msgid "" msgstr "" "Project-Id-Version: Theme Editor\n" "POT-Creation-Date: 2022-02-28 10:50+0530\n" "PO-Revision-Date: 2022-02-28 10:54+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "테마 백업이 성공적으로 복원되었습니다." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "테마를 복원할 수 없습니다." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "업로드 백업이 성공적으로 복원되었습니다." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "업로드를 복원할 수 없습니다." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "기타 백업이 성공적으로 복원되었습니다." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "다른 사람을 복원할 수 없습니다." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "플러그인 백업이 성공적으로 복원되었습니다." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "플러그인을 복원할 수 없습니다." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "데이터베이스 백업이 성공적으로 복원되었습니다." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "모두 완료" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "DB 백업을 복원할 수 없습니다." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "백업이 성공적으로 제거되었습니다!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "백업을 제거할 수 없습니다!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "날짜에 데이터베이스 백업 완료 " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "날짜에 플러그인 백업 완료 " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "날짜에 테마 백업 완료 " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "날짜에 업로드 백업 완료 " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "기타 백업이 날짜에 완료됨 " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "로그" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "로그를 찾을 수 없습니다!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "백업을 위해 선택한 항목이 없습니다." #: file_folder_manager.php:516 msgid "Security Issue." msgstr "보안 문제." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "데이터베이스 백업이 완료되었습니다." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "데이터베이스 백업을 생성할 수 없습니다." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "플러그인 백업이 완료되었습니다." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "플러그인 백업에 실패했습니다." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "테마 백업이 완료되었습니다." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "테마 백업에 실패했습니다." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "업로드 백업이 완료되었습니다." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "업로드 백업에 실패했습니다." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "기타 백업이 완료되었습니다." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "기타 백업에 실패했습니다." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP 파일 관리자" #: file_folder_manager.php:769 msgid "Settings" msgstr "설정" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "기본 설정" #: file_folder_manager.php:773 msgid "System Properties" msgstr "시스템 속성" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "단축 코드 - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "백업/복원" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "프로 구매" #: file_folder_manager.php:1034 msgid "Donate" msgstr "기부" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "다운로드할 파일이 없습니다." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "잘못된 보안 코드입니다." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "백업 ID가 없습니다." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "매개변수 유형이 누락되었습니다." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "필수 매개변수가 누락되었습니다." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "오류: 데이터베이스 백업의 크기가 커서 백업을 복원할 수 없습니다. 기본 설정에" "서 최대 허용 크기를 늘리십시오." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "삭제할 백업을 선택하십시오!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "선택한 백업을 제거하시겠습니까?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "백업이 실행 중입니다. 잠시만 기다려 주십시오." #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "복원이 실행 중입니다. 잠시만 기다려 주십시오." #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "백업을 위해 선택된 것이 없습니다." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP 파일 관리자 - 백업/복원" #: inc/backup.php:51 msgid "Backup Options:" msgstr "백업 옵션:" #: inc/backup.php:58 msgid "Database Backup" msgstr "데이터베이스 백업" #: inc/backup.php:64 msgid "Files Backup" msgstr "파일 백업" #: inc/backup.php:68 msgid "Plugins" msgstr "플러그인" #: inc/backup.php:71 msgid "Themes" msgstr "테마" #: inc/backup.php:74 msgid "Uploads" msgstr "업로드" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "기타(wp-content 내에서 발견된 기타 모든 디렉토리)" #: inc/backup.php:81 msgid "Backup Now" msgstr "백업 지금" #: inc/backup.php:89 msgid "Time now" msgstr "지금이 시간" #: inc/backup.php:99 msgid "SUCCESS" msgstr "성공" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "백업이 성공적으로 삭제되었습니다." #: inc/backup.php:102 msgid "Ok" msgstr "확인" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "파일 삭제" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "이 백업을 삭제하시겠습니까?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "취소" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "확인" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "파일 복원" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "이 백업을 복원하시겠습니까?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "마지막 로그 메시지" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "백업이 성공적으로 완료되었으며 이제 완료되었습니다." #: inc/backup.php:171 msgid "No log message" msgstr "로그 메시지 없음" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "기존 백업" #: inc/backup.php:184 msgid "Backup Date" msgstr "백업 날짜" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "백업 데이터(다운로드하려면 클릭)" #: inc/backup.php:190 msgid "Action" msgstr "동작" #: inc/backup.php:210 msgid "Today" msgstr "오늘" #: inc/backup.php:239 msgid "Restore" msgstr "복원" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "지우다" #: inc/backup.php:241 msgid "View Log" msgstr "로그 보기" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "현재 백업을 찾을 수 없습니다." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "선택한 백업에 대한 작업" #: inc/backup.php:251 msgid "Select All" msgstr "모두 선택" #: inc/backup.php:252 msgid "Deselect" msgstr "선택 해제" #: inc/backup.php:254 msgid "Note:" msgstr "노트 :" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "백업 파일은" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP 파일 관리자 투고" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "참고: 데모 스크린샷입니다. 로그 기능을 사용하려면 File Manager pro를 구입하십" "시오." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "클릭하여 PRO 구매하기" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "프로 구매" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "파일 로그 편집" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "파일 로그 다운로드" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "파일 로그 업로드" #: inc/root.php:43 msgid "Settings saved." msgstr "설정이 저장되었습니다." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "이 알림을 닫습니다." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "저장할 변경 사항이 없습니다." #: inc/root.php:55 msgid "Public Root Path" msgstr "공개 루트 경로" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "파일 관리자 루트 경로, 당신은 당신의 선택에 따라 변경할 수 있습니다." #: inc/root.php:59 msgid "Default:" msgstr "기본:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "경로를 잘못 지정하면 파일 관리자 플러그인이 다운될 수 있으므로 신중하게 변경" "하십시오." #: inc/root.php:64 msgid "Enable Trash?" msgstr "휴지통을 사용하시겠습니까?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "휴지통을 활성화하면 파일이 휴지통 폴더로 이동합니다." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "미디어 라이브러리에 파일 업로드를 활성화하시겠습니까?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "이 기능을 활성화하면 모든 파일이 미디어 라이브러리로 이동합니다." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "데이터베이스 백업 복원 시 허용되는 최대 크기입니다." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "백업 복원 시 오류 메시지가 나타나면 필드 값을 늘리십시오." #: inc/root.php:90 msgid "Save Changes" msgstr "변경 사항을 저장하다" #: inc/settings.php:10 msgid "Settings - General" msgstr "설정 - 일반" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "참고: 이것은 데모 스크린샷일 뿐입니다. 설정을 얻으려면 프로 버전을 구입하십시" "오." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "여기에서 관리자는 파일 관리자를 사용하기 위한 사용자 역할에 대한 액세스 권한" "을 부여할 수 있습니다. 관리자는 기본 액세스 폴더를 설정하고 파일 관리자의 업" "로드 크기를 제어할 수 있습니다." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "설정 - 코드 편집기" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "파일 관리자에는 여러 테마가 있는 코드 편집기가 있습니다. 코드 편집기의 테마" "를 선택할 수 있습니다. 파일을 편집할 때 표시됩니다. 또한 코드 편집기의 전체 " "화면 모드를 허용할 수 있습니다." #: inc/settings.php:18 msgid "Code-editor View" msgstr "코드 편집기 보기" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "설정 - 사용자 제한" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "관리자는 모든 사용자의 작업을 제한할 수 있습니다. 또한 파일과 폴더를 숨기고 " "다른 사용자에 대해 다른 폴더 경로를 설정할 수 있습니다." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "설정 - 사용자 역할 제한" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "관리자는 모든 사용자 역할의 작업을 제한할 수 있습니다. 또한 파일과 폴더를 숨" "기고 다른 사용자 역할에 대해 다른 폴더 경로를 설정할 수 있습니다." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "파일 관리자 - 단축 코드" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "사용하다:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "프런트 엔드에 파일 관리자가 표시됩니다. 파일 관리자 설정에서 모든 설정을 제어" "할 수 있습니다. 백엔드 WP 파일 관리자와 동일하게 작동합니다." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "프런트 엔드에 파일 관리자가 표시됩니다. 그러나 관리자만 액세스할 수 있으며 파" "일 관리자 설정에서 제어합니다." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "매개변수:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "모든 역할이 프론트 엔드의 파일 관리자에 액세스할 수 있도록 허용하거나 " "allowed_roles=\"editor,author\"(쉼표(,)로 구분)와 같이 특정 사용자 역할에 대" "해 간단하게 사용할 수 있습니다." #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "여기서 \"test\"는 루트 디렉터리에 있는 폴더의 이름이거나 \"wp-content/plugins" "\"와 같이 하위 폴더에 대한 경로를 지정할 수 있습니다. 비워두거나 비워두면 루" "트 디렉토리의 모든 폴더에 액세스합니다. 기본값: 루트 디렉터리" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "파일 쓰기 권한에 대한 액세스, 참고: true/false, 기본값: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "파일 읽기 권한에 대한 액세스, 참고: true/false, 기본값: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "여기에 언급 된 숨길 것입니다. 참고: 쉼표(,)로 구분합니다. 기본값: 널" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "쉼표로 표시된 잠금이 해제됩니다. \".php,.css,.js\" 등과 같이 더 많이 잠글 수 " "있습니다. 기본값: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* 모든 작업에 대해 일부 작업을 허용하려면 작업 이름을 allowed_operations=" "\"upload,download\"와 같이 언급할 수 있습니다. 참고: 쉼표(,)로 구분합니다. 기" "본: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "파일 작업 목록:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "디렉토리 또는 폴더 만들기" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "파일 만들기" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "파일 또는 폴더 이름 바꾸기" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "폴더 또는 파일 복제 또는 복제" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "파일 또는 폴더 붙여넣기" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "반" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "아카이브 또는 zip을 만들려면" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "아카이브 또는 압축 파일 추출" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "파일 또는 폴더 복사" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "파일이나 폴더를 간단하게 자르기" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "파일 편집" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "파일 및 폴더 제거 또는 삭제" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "파일 다운로드" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "파일 업로드하다" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "물건 검색" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "파일 정보" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "도움" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> 특정 사용자의 ID를 쉼표(,)로 구분하여 입력하면 차단됩니다. 사용자가 Ban인 " "경우 프런트 엔드에서 wp 파일 관리자에 액세스할 수 없습니다." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> 파일 관리자 UI 보기. 기본값: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> 수정된 파일 또는 날짜 형식을 만듭니다. 기본값: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> 파일 관리자 언어. 기본값: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> 파일 관리자 테마. 기본값: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "파일 관리자 - 시스템 속성" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP 버전" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "최대 파일 업로드 크기(upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "게시물 최대 파일 업로드 크기(post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "메모리 제한(memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "시간 초과(max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "브라우저 및 OS(HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "여기에서 테마 변경:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "기본" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "어두운" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "빛" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "회색" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "파일 관리자에 오신 것을 환영합니다" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "우리는 새로운 친구를 사귀는 것을 좋아합니다! 아래를 구독하고 우리는 약속합니" "다\n" " 최신 새 플러그인, 업데이트,\n" " 멋진 거래와 몇 가지 특별 제안." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "이름을 입력하세요." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "성을 입력하십시오." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "이메일 주소를 입력하십시오." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "검증" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "고맙지 만 사양 할게" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "서비스 약관" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "개인 정보 정책" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "절약..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "확인" #~ msgid "Backup not found!" #~ msgstr "백업을 찾을 수 없습니다!" #~ msgid "Backup removed successfully!" #~ msgstr "백업이 성공적으로 제거되었습니다!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "백업을 위해 선택한 항목이 없습니다." #~ msgid "Security Issue." #~ msgstr "보안 문제." #~ msgid "Database backup done." #~ msgstr "" #~ "데이터베이스 백업이 완료되었습니다." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "데이터베이스 백업을 생성할 수 없습니다." #~ msgid "Plugins backup done." #~ msgstr "" #~ "플러그인 백업이 완료되었습니다." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "플러그인 백업에 실패했습니다." #~ msgid "Themes backup done." #~ msgstr "" #~ "테마 백업이 완료되었습니다." #~ msgid "Themes backup failed." #~ msgstr "테마 백업에 실패했습니다." #~ msgid "Uploads backup done." #~ msgstr "업로드 백업 완료" #~ msgid "Uploads backup failed." #~ msgstr "업로드 백업에 실패했습니다." #~ msgid "Others backup done." #~ msgstr "" #~ "기타 백업이 완료되었습니다." #~ msgid "Others backup failed." #~ msgstr "다른 백업에 실패했습니다." #~ msgid "All Done" #~ msgstr "완료" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "영상" #~ msgid "of" #~ msgstr "의" #~ msgid "Close" #~ msgstr "닫기" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "이 기능에는 인라인 프레임이 필요합니다. iframe을 사용 중지했거나 브라우저" #~ "에서 지원하지 않습니다." #~ msgid "Theme Editor" #~ msgstr "테마 편집기" #~ msgid "Plugin Editor" #~ msgstr "플러그인 편집기" #~ msgid "Access Control" #~ msgstr "액세스 제어" #~ msgid "Notify Me" #~ msgstr "나를 통지" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr " 언어가 성공적으로 다운로드되었습니다." #~ msgid "Language folder failed to downlaod." #~ msgstr "언어 폴더를 다운로드하지 못했습니다." #~ msgid "Security token expired!" #~ msgstr "보안 토큰이 만료되었습니다!" #~ msgid " language has been downloaded successfully." #~ msgstr " 언어가 성공적으로 다운로드되었습니다." #~ msgid "Currently language " #~ msgstr "현재 언어 " #~ msgid " not available. Please click on the request language link." #~ msgstr " 사용할 수 없습니다. 요청 언어 링크를 클릭하십시오." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "이 사이트의 플러그인을 편집 할 수있는 권한이 없습니다." #~ msgid "There are no plugins installed on this site." #~ msgstr "이 사이트에 설치된 플러그인이 없습니다." #~ msgid "There are no themes installed on this site." #~ msgstr "이 사이트에 설치된 테마가 없습니다." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        폴더 이름을 입력하십시오!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        파일 이름을 입력하십시오!

        " #~ msgid "Open" #~ msgstr "열다" #~ msgid "Preview" #~ msgstr "시사" #~ msgid "Edit" #~ msgstr "편집하다" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "파일 업로드를 중단 하시겠습니까?" #~ msgid "File renamed successfully." #~ msgstr "파일 이름이 성공적으로 변경되었습니다." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "폴더를 삭제 하시겠습니까?" #~ msgid "Folder deleted successfully." #~ msgstr "폴더가 성공적으로 삭제되었습니다." #~ msgid "File deleted successfully." #~ msgstr "파일이 성공적으로 삭제되었습니다." #~ msgid "Folder renamed successfully." #~ msgstr "폴더 이름이 성공적으로 변경되었습니다." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        30자를 초과 할 수 없습니다.

        " #~ msgid "Invalid request!" #~ msgstr "잘못된 요청!" #~ msgid "No change in file!" #~ msgstr "파일 변경 없음!" #~ msgid "File saved successfully!" #~ msgstr "파일이 성공적으로 저장되었습니다!" #~ msgid "File not saved!" #~ msgstr "파일이 저장되지 않았습니다!" #~ msgid "Unable to verify security token!" #~ msgstr "보안 토큰을 확인할 수 없습니다!" #~ msgid "Folder created successfully!" #~ msgstr "폴더가 성공적으로 생성되었습니다!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "이 폴더 형식은 워드 프레스로 업로드 할 수 없습니다!" #~ msgid "Folder already exists!" #~ msgstr "폴더가 이미 있습니다!" #~ msgid "File created successfully!" #~ msgstr "파일이 성공적으로 생성되었습니다!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "이 파일 확장자는 만들 수 없습니다!" #~ msgid "File already exists!" #~ msgstr "존재하는 파일입니다!" #~ msgid "Please enter a valid file extension!" #~ msgstr "유효한 파일 확장자를 입력하십시오!" #~ msgid "Folder does not exists!" #~ msgstr "폴더가 없습니다!" #~ msgid "Folder deleted successfully!" #~ msgstr "폴더가 성공적으로 삭제되었습니다!" #~ msgid "File deleted successfully!" #~ msgstr "파일이 성공적으로 삭제되었습니다!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "이 파일 확장자는 워드 프레스로 업로드 할 수 없습니다!" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "성공적으로 업로드 된 파일 : 업로드 된 파일 경로 : " #~ msgid "No file selected" #~ msgstr "파일이 선택되지 않았습니다" #~ msgid "Unable to rename file! Try again." #~ msgstr "파일 이름을 바꿀 수 없습니다! 다시 시도하십시오." #~ msgid "Folder renamed successfully!" #~ msgstr "폴더 이름이 성공적으로 변경되었습니다!" #~ msgid "Please enter correct folder name" #~ msgstr "올바른 폴더 이름을 입력하십시오" #~ msgid "How can we help?" #~ msgstr "어떻게 도와 드릴까요?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "학습 리소스, 전문 지원 및 전문가 도움." #~ msgid "Documentation" #~ msgstr "선적 서류 비치" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "포괄적 인 문서에서 신속하게 답변을 찾으십시오." #~ msgid "Learn More" #~ msgstr "더 알아보기" #~ msgid "Contact Us" #~ msgstr "문의하기" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "질문에 대한 답변은 지원 티켓을 제출하십시오." #~ msgid "Request a Feature" #~ msgstr "기능 요청" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "원하는 것을 알려 주시면 로드맵에 추가 할 것입니다." #~ msgid "Tell us what you think!" #~ msgstr "당신의 생각을 알려주세요!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "평가하고 Wordpress에 대한 리뷰를 남겨주세요!" #~ msgid "Leave a Review" #~ msgstr "리뷰를 남겨주세요" #~ msgid "Update" #~ msgstr "최신 정보" #~ msgid "Installed" #~ msgstr "설치됨" #~ msgid "Theme Editor Pro Language:" #~ msgstr "Theme Editor Pro 언어 :" #~ msgid " language" #~ msgstr " 언어" #~ msgid "Click here to install/update " #~ msgstr "설치 / 업데이트하려면 여기를 클릭하십시오. " #~ msgid " language translation for Theme Editor Pro." #~ msgstr " Theme Editor Pro의 언어 번역." #~ msgid "Available languages" #~ msgstr "사용 가능한 언어" #~ msgid "Click here to download all available languages." #~ msgstr "사용 가능한 모든 언어를 다운로드하려면 여기를 클릭하십시오." #~ msgid "Request a language" #~ msgstr "언어 요청" #~ msgid "Tell us which language you want to add." #~ msgstr "추가 할 언어를 알려주십시오." #~ msgid "Contact us" #~ msgstr "문의하기" #~ msgid "Notifications" #~ msgstr "알림" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ " 참고 : 이것은 스크린 샷일뿐입니다. 이 기능에 대한 PRO 버전을 구입" #~ "하세요." #~ msgid "Permissions" #~ msgstr "권한" #~ msgid "Edit Plugin" #~ msgstr "플러그인 수정" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ "이 플러그인은 현재 활성화되어 있습니다! 경고 : 활성 플러" #~ "그인을 변경하지 않는 것이 좋습니다. 변경으로 인해 치명적인 오류가 발생하" #~ "면 플러그인이 자동으로 비활성화됩니다." #~ msgid "Editing " #~ msgstr "편집 " #~ msgid " (active)" #~ msgstr " (활성)" #~ msgid "Browsing " #~ msgstr "브라우징 " #~ msgid " (inactive)" #~ msgstr " (비활성)" #~ msgid "Update File" #~ msgstr "파일 업데이트" #~ msgid "Download Plugin" #~ msgstr "플러그인 다운로드" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "변경 사항을 저장하기 전에이 파일을 쓰기 가능하게 만들어야합니다. 자세한 내" #~ "용은 Codex 를 참조하세요." #~ msgid "Select plugin to edit:" #~ msgstr "편집 할 플러그인 선택 :" #~ msgid "Create Folder and File" #~ msgstr "폴더 및 파일 생성" #~ msgid "Create" #~ msgstr "창조하다" #~ msgid "Remove Folder and File" #~ msgstr "폴더 및 파일 제거" #~ msgid "Remove " #~ msgstr "없애다" #~ msgid "To" #~ msgstr "에" #~ msgid "Optional: Sub-Directory" #~ msgstr "선택 사항 : 하위 디렉터리" #~ msgid "Choose File " #~ msgstr "파일을 선택" #~ msgid "No file Chosen " #~ msgstr "선택된 파일 없음 " #~ msgid "Create a New Folder: " #~ msgstr "새 폴더 만들기 :" #~ msgid "New folder will be created in: " #~ msgstr "다음 위치에 새 폴더가 생성됩니다." #~ msgid "New Folder Name: " #~ msgstr "새 폴더 이름 :" #~ msgid "Create New Folder" #~ msgstr "새 폴더 생성" #~ msgid "Create a New File: " #~ msgstr "새 파일 만들기 :" #~ msgid "New File will be created in: " #~ msgstr "새 파일은 다음 위치에 생성됩니다." #~ msgid "New File Name: " #~ msgstr "새 파일 이름 :" #~ msgid "Create New File" #~ msgstr "새 파일 생성" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "경고 : 폴더 나 파일을 제거하기 전에주의하십시오." #~ msgid "Current Theme Path: " #~ msgstr "현재 테마 경로 :" #~ msgid "Remove Folder: " #~ msgstr "폴더 제거 :" #~ msgid "Folder Path which you want to remove: " #~ msgstr "제거 할 폴더 경로 : " #~ msgid "Remove Folder" #~ msgstr "폴더 제거 " #~ msgid "Remove File: " #~ msgstr "파일을 지우다:" #~ msgid "File Path which you want to remove: " #~ msgstr "제거 할 폴더 경로 :" #~ msgid "Remove File" #~ msgstr "파일을 지우다" #~ msgid "Please Enter Valid Email Address." #~ msgstr "유효한 이메일 주소를 입력하십시오." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "경고 : 폴더 또는 파일의 이름을 변경하기 전에주의하십시오." #~ msgid "File/Folder will be rename in: " #~ msgstr "파일 / 폴더의 이름이 다음에서 변경됩니다." #~ msgid "File/Folder Rename: " #~ msgstr "파일 / 폴더 이름 변경 :" #~ msgid "Follow us" #~ msgstr "우리를 따르라" #~ msgid "Theme Editor Facebook" #~ msgstr "테마 편집기 Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "테마 편집기 Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "테마 편집기 Twitter" #~ msgid "Theme Editor Linkedin" #~ msgstr "테마 편집기 Linkedin" #~ msgid "Theme Editor Youtube" #~ msgstr "테마 편집기 Youtube" #~ msgid "Logo" #~ msgstr "심벌 마크" #~ msgid "Go to ThemeEditor site" #~ msgstr "ThemeEditor 사이트로 이동" #~ msgid "Theme Editor Links" #~ msgstr "테마 편집기 링크" #~ msgid "Child Theme" #~ msgstr "아동 테마" #~ msgid "Child Theme Permissions" #~ msgstr "하위 테마 권한" #~ msgid " is not available. Please click " #~ msgstr " 사용할 수 없습니다. 클릭하세요" #~ msgid "here" #~ msgstr "여기" #~ msgid "to request language." #~ msgstr "언어를 요청합니다." #~ msgid "Click" #~ msgstr "딸깍 하는 소리" #~ msgid "to install " #~ msgstr "설치하기 위해서 " #~ msgid " language translation for Theme Editor Pro" #~ msgstr " Theme Editor Pro 용 언어 번역을 설치하려면" #~ msgid "Success: Settings Saved!" #~ msgstr "성공 : 설정이 저장되었습니다!" #~ msgid "No changes have been made to save." #~ msgstr "저장하기 위해 변경된 사항이 없습니다." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "테마에 대한 테마 편집기 활성화" #~ msgid "Yes" #~ msgstr "예" #~ msgid "No" #~ msgstr "아니" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "테마 편집기를 활성화 / 비활성화합니다.
        기본" #~ "값 : 예" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "기본 WordPress 테마 편집기를 비활성화 하시겠습니까?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "기본 테마 편집기를 활성화 / 비활성화합니다.
        " #~ "기본값 : 예" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "플러그인 용 플러그인 편집기 활성화" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "플러그인 편집기를 활성화 / 비활성화합니다.
        기" #~ "본값 : 예" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "기본 WordPress 플러그인 편집기를 비활성화 하시겠습니까?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "기본 플러그인 편집기를 활성화 / 비활성화합니다.
        기본값 : 예" #~ msgid "Code Editor" #~ msgstr "코드 편집기" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "테마 편집 기용 테마를 선택할 수 있습니다.
        기본" #~ "값 : Cobalt" #~ msgid "Edit Themes" #~ msgstr "테마 편집" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ "이 테마는 현재 활성화되어 있습니다! 경고 : 활성 테마는 " #~ "변경하지 않는 것이 좋습니다." #~ msgid "Editing" #~ msgstr "편집" #~ msgid "Browsing" #~ msgstr "브라우징" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "파일 업데이트 및 재 활성화 시도" #~ msgid "Download Theme" #~ msgstr "테마 다운로드" #~ msgid "Select theme to edit:" #~ msgstr "편집 할 테마 선택 :" #~ msgid "Theme Files" #~ msgstr "테마 파일" #~ msgid "Choose File" #~ msgstr "파일을 선택" #~ msgid "No File Chosen" #~ msgstr "선택된 파일 없음" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "경고 : 폴더 나 파일을 제거하기 전에주의하십시오." #~ msgid "Child Theme Permission" #~ msgstr "아동 테마 권한" #~ msgid "Translations" #~ msgstr "번역" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "새 하위 테마를 만들 수있는 권한이 없습니다." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "기존 하위 테마 구성을 변경할 권한이 없습니다." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "하위 테마를 복제 할 권한이 없습니다." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "쿼리 / 선택기 메뉴에 액세스 할 수있는 권한이 없습니다." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "웹 글꼴 및 CSS 메뉴에 액세스 할 수있는 권한이 없습니다." #~ msgid "You do not have the permission to copy files." #~ msgstr "파일을 복사 할 권한이 없습니다." #~ msgid "You do not have the permission to delete child files." #~ msgstr "하위 파일을 삭제할 권한이 없습니다." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "새 스크린 샷을 업로드 할 권한이 없습니다." #~ msgid "You do not have the permission to upload new images." #~ msgstr "새 이미지를 업로드 할 권한이 없습니다." #~ msgid "You do not have the permission to delete images." #~ msgstr "이미지를 삭제할 권한이 없습니다." #~ msgid "You do not have the permission to download file." #~ msgstr "파일을 다운로드 할 권한이 없습니다." #~ msgid "You do not have the permission to create new directory." #~ msgstr "새 디렉토리를 만들 수있는 권한이 없습니다." #~ msgid "You do not have the permission to create new file." #~ msgstr "새 파일을 만들 수있는 권한이 없습니다." #~ msgid "You don't have permission to update file!" #~ msgstr "파일을 업데이트 할 권한이 없습니다!" #~ msgid "You don't have permission to create folder!" #~ msgstr "폴더를 만들 수있는 권한이 없습니다!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "폴더를 삭제할 권한이 없습니다!" #~ msgid "You don't have permission to delete file!" #~ msgstr "파일을 삭제할 권한이 없습니다!" #~ msgid "You don't have permission to upload file!" #~ msgstr "파일을 업로드 할 권한이 없습니다!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "하위 테마 권한이 성공적으로 저장되었습니다." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "저장할 하위 테마 권한에는 변경 사항이 없습니다." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "하위 테마 권한 메시지가 성공적으로 저장되었습니다." #~ msgid "Users" #~ msgstr "사용자" #~ msgid "Create New Child Theme" #~ msgstr "새 자식 테마 만들기" #~ msgid "Configure an Existing Child Themes" #~ msgstr "기존 자식 테마 구성" #~ msgid "Duplicate Child Themes" #~ msgstr "중복 된 하위 테마" #~ msgid "Query/ Selector" #~ msgstr "쿼리 / 선택기" #~ msgid "Web/font" #~ msgstr "웹 / 글꼴" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "파일 상위 테마를 하위 테마로 복사" #~ msgid "Deleted Child Files" #~ msgstr "삭제 된 하위 파일" #~ msgid "Upload New Screenshoot" #~ msgstr "새 스크린 샷 업로드" #~ msgid "Upload New Images" #~ msgstr "새 이미지 업로드" #~ msgid "Deleted Images " #~ msgstr "삭제 된 이미지" #~ msgid "Download Images" #~ msgstr "이미지 다운로드" #~ msgid "Create New Directory" #~ msgstr "새 디렉토리 생성" #~ msgid "Create New Files" #~ msgstr "새 파일 생성" #~ msgid "Export Theme" #~ msgstr "테마 내보내기" #~ msgid "User Roles" #~ msgstr "사용자 역할" #~ msgid "Query/ Seletor" #~ msgstr "쿼리 / 셀 레터" #~ msgid "Deleted Images" #~ msgstr "삭제 된 이미지" #~ msgid "Child Theme Permission Message" #~ msgstr "아동 테마 허가 메시지" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "새 하위 테마를 만들 수있는 권한이 없습니다." #~ msgid "Query/Selector" #~ msgstr "쿼리 / 선택기" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "쿼리 / 선택 메뉴에 액세스 할 수있는 권한이 없습니다." #~ msgid " Web/font" #~ msgstr "웹 / 글꼴" #~ msgid " Export Theme" #~ msgstr "테마 내보내기" #~ msgid "Save Child Theme Message" #~ msgstr "아동 테마 허가 메시지" #~ msgid "Please select atleast one image." #~ msgstr "이미지를 하나 이상 선택하십시오." #~ msgid "You don't have the permission to delete images." #~ msgstr "이미지를 삭제할 권한이 없습니다." #~ msgid "You don't have the permission to upload new images." #~ msgstr "새 이미지를 업로드 할 권한이 없습니다." #~ msgid "You don't have the permission to download." #~ msgstr "다운로드 할 권한이 없습니다." #~ msgid "You don't have the permission to create new directory." #~ msgstr "새 디렉토리를 만들 수있는 권한이 없습니다." #~ msgid "Please choose file type." #~ msgstr "파일 형식을 선택하세요." #~ msgid "Please enter file name." #~ msgstr "파일 이름을 입력하십시오." #~ msgid "You don't have the permission to create new file." #~ msgstr "새 파일을 만들 수있는 권한이 없습니다." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "상위 파일을 하위 테마로 복사 하시겠습니까?" #~ msgid "Please select file(s)." #~ msgstr "파일을 선택하십시오." #~ msgid "You don't have the permission to copy files." #~ msgstr "파일을 복사 할 수있는 권한이 없습니다." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "선택한 파일을 삭제 하시겠습니까?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "하위 파일을 삭제할 권한이 없습니다." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "새 스크린 샷을 업로드 할 권한이 없습니다." #~ msgid "You don't have the permission to export theme." #~ msgstr "테마를 내보낼 수있는 권한이 없습니다." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "쿼리 / 선택기 메뉴에 액세스 할 수있는 권한이 없습니다." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "웹 글꼴 및 CSS 메뉴에 액세스 할 수있는 권한이 없습니다." #~ msgid "Current Analysis Theme:" #~ msgstr "현재 분석 주제 :" #~ msgid "Preview Theme" #~ msgstr "테마 미리보기" #~ msgid "Parent Themes" #~ msgstr "부모 테마" #~ msgid "Child Themes" #~ msgstr "어린이 테마" #~ msgid "Error: Settings Not Saved!" #~ msgstr "오류 : 설정이 저장되지 않았습니다!" #~ msgid "Email List" #~ msgstr "이메일 목록" #~ msgid "Email Address" #~ msgstr "이메일 주소" #~ msgid "Enter Email" #~ msgstr "이메일 입력" #~ msgid "Add More" #~ msgstr "더 추가" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "이 주소는 테마 / 플러그인 알림과 같은 알림 목적으로 사용됩니다." #~ msgid "Theme Notification" #~ msgstr "테마 알림" #~ msgid "Notify on file update" #~ msgstr "파일 업데이트 알림" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "테마 파일 수정 또는 업데이트 알림.
        기본값 : 예" #~ msgid "Notify on files download" #~ msgstr "파일 다운로드시 알림" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "테마 파일 수정 다운로드 알림.
        기본값 : 예" #~ msgid "Notify on theme download" #~ msgstr "테마 다운로드시 알림" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "테마 다운로드 알림.
        기본값 : 예" #~ msgid "Notify on files upload" #~ msgstr "파일 업로드시 알림" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "테마의 파일 업로드 알림.
        기본값 : 예" #~ msgid "Notify on create new file/folder" #~ msgstr "새 파일 / 폴더 생성시 알림" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "테마에서 새 파일 / 폴더 생성에 대한 알림.
        기본값 : 예" #~ msgid "Notify on delete" #~ msgstr "삭제시 알림" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "테마의 모든 파일 및 폴더 삭제시 알림.
        기본값 : " #~ "예" #~ msgid "Notify on create New Child theme" #~ msgstr "새 자식 테마를 만들 때 알림" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "새 하위 테마 만들기에 대해 알립니다.
        기본값 : 예" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "기존 하위 테마 구성시 알림" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "기존 하위 테마 구성시 알림.
        기본값 : 예" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "중복 된 하위 테마 알림" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "기존 하위 테마 구성에 대한 알림.
        기본값 : 예" #~ msgid "Plugin Notification" #~ msgstr "플러그인 알림" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "테마 파일 수정 또는 업데이트 알림.
        기본값 : 예" #~ msgid "Notify on Plugin download" #~ msgstr "플러그인 다운로드시 알림" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "플러그인 다운로드 알림.
        기본값 : 예" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "테마의 파일 업로드 알림.
        기본값 : 예" #~ msgid "Permission saved successfully." #~ msgstr "권한이 성공적으로 저장되었습니다." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "이런! 변경하지 않았으므로 권한을 저장할 수 없습니다." #~ msgid "Allowed User Roles" #~ msgstr "허용 된 사용자 역할" #~ msgid "Update theme files" #~ msgstr "테마 파일 업데이트" #~ msgid "Create new theme files and folders" #~ msgstr "새 테마 파일 및 폴더 만들기" #~ msgid "Upload new theme files and folders" #~ msgstr "새 테마 파일 및 폴더 업로드" #~ msgid "Download theme files" #~ msgstr "테마 파일 다운로드" #~ msgid "Download theme" #~ msgstr "테마 다운로드" #~ msgid "Update plugin files" #~ msgstr "플러그인 파일 업데이트" #~ msgid "Create new plugin files and folders" #~ msgstr "새 플러그인 파일 및 폴더 생성" #~ msgid "Upload new plugin files and folders" #~ msgstr "새 플러그인 파일 및 폴더 업로드" #~ msgid "Delete plugin files and folders" #~ msgstr "플러그인 파일 및 폴더 삭제" #~ msgid "Download plugin files" #~ msgstr "플러그인 파일 다운로드" #~ msgid "Download plugin" #~ msgstr "플러그인 다운로드" #~ msgid "Rename File" #~ msgstr "파일명 변경" #~ msgid "Facebook" #~ msgstr "페이스 북" #~ msgid "Twitter" #~ msgstr "트위터" #~ msgid "Youtube" #~ msgstr "유튜브" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Theme Editor PRO-아래에 주문 세부 정보를 추가하십시오. 그렇지 않다면 지금 구입 " #~ msgid "ORDER ID (#) *" #~ msgstr "주문 아이디 (#) *" #~ msgid "Enter Order ID" #~ msgstr "주문 ID 입력" #~ msgid "Please Check Your email for order ID." #~ msgstr "주문 ID는 이메일을 확인하십시오." #~ msgid "LICENCE KEY *" #~ msgstr "라이센스 키 *" #~ msgid "Enter License Key" #~ msgstr "라이센스 키 입력" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "이메일에서 라이센스 키를 확인하십시오." #~ msgid "Click To Verify" #~ msgstr "확인하려면 클릭" #~ msgid "URL/None" #~ msgstr "URL / 없음" #~ msgid "Origin" #~ msgstr "유래" #~ msgid "Color 1" #~ msgstr "색상 1" #~ msgid "Color 2" #~ msgstr "색상 2" #~ msgid "Width/None" #~ msgstr "너비 / 없음" #~ msgid "Style" #~ msgstr "스타일" #~ msgid "Color" #~ msgstr "색상" #~ msgid "Configure Child Theme" #~ msgstr "자식 테마 구성" #~ msgid "Duplicate Child theme" #~ msgstr "중복 된 하위 테마" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "분석 후이 테마는 잘 작동합니다. 이것을 자녀 테마로 사용할 수 있습니다." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "이 자식 테마를 분석 한 후 제대로 작동하는 것으로 보입니다." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "이 테마는 style.css 파일 뒤에 추가 스타일 시트를로드합니" #~ "다." #~ msgid "The theme" #~ msgstr "테마 이름" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "미리보기가 올바르게 렌더링되지 않았기 때문에 분석 할 수 없습니다." #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "이 플러그인에 대해이 하위 테마가 구성되지 않았습니다." #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "Configurator는 스타일 시트 변경 및 추가 PHP 기능을 포함하여 자식 테마를 크" #~ "게 수정합니다. DUPLICATE 하위 테마 옵션 (위의 1 단계 참조)을 사용하고 원본" #~ "을 백업으로 유지하는 것이 좋습니다." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "모든 웹 폰트 / css 정보가 성공적으로 저장되었습니다." #~ msgid "Please enter value for webfonts/css." #~ msgstr "webfonts / css에 대한 값을 입력하십시오." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "webfonts / css를 업데이트 할 권한이 없습니다." #~ msgid "All information saved successfully." #~ msgstr "모든 정보가 성공적으로 저장되었습니다." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "재설정 하시겠습니까? 이렇게하면 Configurator에서 수행 한 모든 작업이 삭제" #~ "됩니다." #~ msgid "Selectors" #~ msgstr "선택자" #~ msgid "Edit Selector" #~ msgstr "선택기 편집" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "스타일 시트를 표시 할 수 없습니다." #~ msgid "(Child Only)" #~ msgstr "(어린이 전용)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "유효한 하위 테마를 입력하십시오." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "유효한 하위 테마 이름을 입력하십시오." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "%s 존재합니다. 다른 어린이 테마를 입력하십시오" #~ msgid "The page could not be loaded correctly." #~ msgstr "페이지를 올바르게로드 할 수 없습니다." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "충돌하거나 오래된 jQuery 라이브러리가 다른 플러그인에 의해로드되었습니다." #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "플러그인을 비활성화하거나 교체하면이 문제를 해결할 수 있습니다." #~ msgid "No result found for the selection." #~ msgstr "선택에 대한 결과가 없습니다." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%s이 표시되는 이유는 무엇입니까? %s" #~ msgid "Parent / Child" #~ msgstr "부모 / 자녀" #~ msgid "Select an action:" #~ msgstr "조치를 선택하십시오." #~ msgid "Create a new Child Theme" #~ msgstr "새 자식 테마 만들기" #~ msgid "Configure an existing Child Theme" #~ msgstr "기존 자식 테마 구성" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "기존 하위 테마 복제" #~ msgid "Select a Parent Theme:" #~ msgstr "상위 테마 선택 :" #~ msgid "Analyze Parent Theme" #~ msgstr "상위 테마 분석" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "스타일 시트 종속성 및 기타 잠재적 인 문제를 확인하려면 \"분석\"을 클릭하십" #~ "시오." #~ msgid "Analyze" #~ msgstr "분석" #~ msgid "Select a Child Theme:" #~ msgstr "하위 테마 선택 :" #~ msgid "Analyze Child Theme" #~ msgstr "하위 테마 분석" #~ msgid "Name the new theme directory:" #~ msgstr "새 테마 디렉토리의 이름을 지정하십시오." #~ msgid "Directory Name" #~ msgstr "디렉토리 이름" #~ msgid "NOTE:" #~ msgstr "노트:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "이것은 Child Theme의 이름이 아닙니다. 아래 7 단계에서 이름, 설명 등을 사용" #~ "자 지정할 수 있습니다." #~ msgid "Verify Child Theme directory:" #~ msgstr "하위 테마 디렉토리 확인 :" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "확인 전용입니다 (기존 하위 테마의 디렉토리는 수정할 수 없음)." #~ msgid "Select where to save new styles:" #~ msgstr "새 스타일을 저장할 위치를 선택하십시오." #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "기본 스타일 시트 (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "새 사용자 정의 스타일을 하위 테마 기본 스타일 시트에 직접 저장하여 기존 값" #~ "을 바꿉니다. 기본 스타일 시트는 테마에 설정된 순서대로로드됩니다." #~ msgid "Separate Stylesheet" #~ msgstr "별도의 스타일 시트" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "새 사용자 정의 스타일을 별도의 스타일 시트에 저장하고 기존 하위 테마 스타" #~ "일을 상위 항목과 결합하여 기준선을 형성합니다. 기존 자식 테마 스타일을 덮" #~ "어 쓰지 않고 유지하려면이 옵션을 선택합니다. 이 옵션을 사용하면 기본 스타" #~ "일 시트 이후에로드되는 스타일 시트를 사용자 정의 할 수도 있습니다." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "상위 테마 스타일 시트 처리를 선택하십시오." #~ msgid "Use the WordPress style queue." #~ msgstr "WordPress 스타일 대기열을 사용합니다." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "구성자가 적절한 작업 및 종속성을 결정하고 함수 파일을 자동으로 업데이트하" #~ "도록합니다." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "하위 테마 스타일 시트에서 @import 를 사용합니다." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "WordPress 스타일 대기열을 사용하여 상위 스타일 시트를로드 할 수없는 경우에" #~ "만이 옵션을 사용하십시오. @import 사용은 권장되지 않습니다." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "상위 스타일 시트 처리를 추가하지 마십시오." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "이 테마가 이미 상위 테마 스타일 시트를 처리하거나 상위 테마의 " #~ "style.css 파일이 모양에 사용되지 않는 경우이 옵션을 선택하십시오." #~ msgid "Advanced handling options" #~ msgstr "고급 처리 옵션" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "상위 테마 스타일 시트를 무시하십시오." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "이 테마가 이미 상위 테마 스타일 시트를 처리하거나 상위 테마의 style.css 파" #~ "일이 모양에 사용되지 않는 경우이 옵션을 선택하십시오." #~ msgid "Repair the header template in the child theme." #~ msgstr "하위 테마에서 헤더 템플릿을 복구합니다." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "구성 관리자가 위에 나열된 스타일 시트 문제를 해결하도록하십시오. 이것은 전" #~ "부는 아니지만 많은 일반적인 문제를 해결할 수 있습니다." #~ msgid "Remove stylesheet dependencies" #~ msgstr "스타일 시트 종속성 제거" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "기본적으로 기본 스타일 시트 이전에로드되는 스타일 시트의 순서는 종속성으" #~ "로 처리하여 유지됩니다. 일부 경우 사이트 전체에서 사용되지 않는 스타일 시" #~ "트가 미리보기에서 감지됩니다. 필요한 경우 아래의 특정 스타일 시트에 대한 " #~ "종속성을 제거 할 수 있습니다." #~ msgid "Child Theme Name" #~ msgstr "하위 테마 이름" #~ msgid "Theme Name" #~ msgstr "테마 이름" #~ msgid "Theme Website" #~ msgstr "테마 웹 사이트" #~ msgid "Author" #~ msgstr "저자" #~ msgid "Author Website" #~ msgstr "저자 웹 사이트" #~ msgid "Theme Description" #~ msgstr "테마 설명" #~ msgid "Description" #~ msgstr "기술" #~ msgid "Tags" #~ msgstr "태그" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "메뉴, 위젯 및 기타 사용자 정의 설정을 상위 테마에서 하위 테마로 복사 :" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "이 옵션은 하위 테마의 기존 메뉴, 위젯 및 기타 사용자 정의 설정을 상위 테마" #~ "의 설정으로 대체합니다. 이 옵션은 자식 테마를 처음 구성 할 때만 사용해야합" #~ "니다." #~ msgid "Click to run the Configurator:" #~ msgstr "구성자를 실행하려면 클릭하십시오." #~ msgid "Query / Selector" #~ msgstr "쿼리 / 선택기" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "@media 쿼리 블록 내에서 특정 선택기를 찾으려면 먼저 쿼리를 선택한 다음 선" #~ "택기를 선택합니다. 다른 모든 선택기를 편집하려면 \"기본\"쿼리를 사용하십시" #~ "오." #~ msgid "@media Query" #~ msgstr "@ 미디어 쿼리" #~ msgid "( or \"base\" )" #~ msgstr "(또는 \"base\")" #~ msgid "Selector" #~ msgstr "선택자" #~ msgid "Query/Selector Action" #~ msgstr "쿼리 / 선택기 작업" #~ msgid "Save Child Values" #~ msgstr "자식 값 저장" #~ msgid "Delete Child Values" #~ msgstr "자식 값 삭제" #~ msgid "Property" #~ msgstr "특성" #~ msgid "Baseline Value" #~ msgstr "기준 값" #~ msgid "Child Value" #~ msgstr "아동 가치" #~ msgid "error" #~ msgstr "오류" #~ msgid "You do not have permission to configure child themes." #~ msgstr "하위 테마를 구성 할 권한이 없습니다." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s 이 (가) 없습니다. 유효한 상위 테마를 선택하십시오." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Functions 파일은 필수이며 삭제할 수 없습니다." #~ msgid "Please select a valid Parent Theme." #~ msgstr "유효한 상위 테마를 선택하십시오." #~ msgid "Please select a valid Child Theme." #~ msgstr "유효한 하위 테마를 선택하십시오." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "유효한 하위 테마 디렉토리 이름을 입력하십시오." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%s 존재합니다. 다른 하위 테마 템플릿 이름을 입력하십시오." #~ msgid "Your theme directories are not writable." #~ msgstr "테마 디렉토리에 쓸 수 없습니다." #~ msgid "Could not upgrade child theme" #~ msgstr "하위 테마를 업그레이드 할 수 없습니다." #~ msgid "Your stylesheet is not writable." #~ msgstr "스타일 시트에 쓸 수 없습니다." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "하위 테마 함수 파일에서 닫는 PHP 태그가 감지되어 \"상위 스타일 시트 처리" #~ "\"옵션이 구성되지 않았습니다. 파일 끝에서 PHP를 닫으면 HTTP 헤더가 너무 일" #~ "찍 발생할 수 있으므로 권장하지 않습니다. functions.php 를 편" #~ "집하여 마지막 ?> 태그를 제거하고 \"Generate / Rebuild " #~ "Child Theme Files\"를 다시 클릭하십시오." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "파일을 복사 할 수 없습니다 : %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "%s 파일을 삭제할 수 없습니다." #, php-format #~ msgid "could not copy %s" #~ msgstr "%s 을 (를) 복사 할 수 없습니다." #, php-format #~ msgid "invalid dir: %s" #~ msgstr "잘못된 디렉토리 : %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "권한을 재설정하는 중에 오류가 발생했습니다." #~ msgid "Could not upload file." #~ msgstr "파일을 업로드 할 수 없습니다." #~ msgid "Invalid theme root directory." #~ msgstr "테마 루트 디렉터리가 잘못되었습니다." #~ msgid "No writable temp directory." #~ msgstr "쓰기 가능한 임시 디렉토리가 없습니다." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "압축 해제 실패 -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "포장 실패 -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "최대 스타일 수를 초과했습니다." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "파일 이동 오류 : %s" #~ msgid "Could not set write permissions." #~ msgstr "쓰기 권한을 설정할 수 없습니다." #~ msgid "Error:" #~ msgstr "오류:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "현재 분석 하위 테마 %s이 (가) 재설정되었습니다." #~ msgid "Update Key saved successfully." #~ msgstr "업데이트 키가 성공적으로 저장되었습니다." #~ msgid "Child Theme files modified successfully." #~ msgstr "하위 테마 파일이 성공적으로 수정되었습니다." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "하위 테마 %s이 (가) 성공적으로 생성되었습니다." #~ msgid "Web Fonts & CSS" #~ msgstr "웹 글꼴 및 CSS" #~ msgid "Parent Styles" #~ msgstr "부모 스타일" #~ msgid "Child Styles" #~ msgstr "아동 스타일" #~ msgid "View Child Images" #~ msgstr "어린이 이미지보기" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "추가 스타일 시트를 연결하려면@import url ([path]);을 사용하세" #~ "요. 이 플러그인은 @import 키워드를 사용하여이를 식별하고 " #~ "<link> 태그로 변환합니다. 예 : " #~ msgid "Save" #~ msgstr "저장" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "같은 이름의 이미지를 업로드하면 기존 이미지로 대체됩니다." #~ msgid "Upload New Child Theme Image" #~ msgstr "새 하위 테마 이미지 업로드" #~ msgid "Delete Selected Images" #~ msgstr "선택한 이미지 삭제" #~ msgid "Create a New Directory" #~ msgstr "새 디렉토리 생성" #~ msgid "New Directory will be created in" #~ msgstr "새 디렉토리가 생성됩니다." #~ msgid "New Directory Name" #~ msgstr "새 디렉토리 이름" #~ msgid "Create a New File" #~ msgstr "새 파일 생성" #~ msgid "New File will be created in" #~ msgstr "새 파일이 생성됩니다." #~ msgid "New File Name" #~ msgstr "새 파일 이름" #~ msgid "File Type Extension" #~ msgstr "파일 유형 확장자" #~ msgid "Choose File Type" #~ msgstr "파일 유형 선택" #~ msgid "PHP File" #~ msgstr "PHP 파일" #~ msgid "CSS File" #~ msgstr "CSS 파일" #~ msgid "JS File" #~ msgstr "JS 파일" #~ msgid "Text File" #~ msgstr "텍스트 파일" #~ msgid "PHP File Type" #~ msgstr "PHP 파일 유형" #~ msgid "Simple PHP File" #~ msgstr "간단한 PHP 파일" #~ msgid "Wordpress Template File" #~ msgstr "Wordpress 템플릿 파일" #~ msgid "Template Name" #~ msgstr "템플릿 이름" #~ msgid "Parent Templates" #~ msgstr "부모 템플릿" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "여기에서 선택하여 상위 테마에서 PHP 템플릿을 복사합니다. Configurator는 템" #~ "플릿을 PHP 함수 나 클래스가없는 테마 PHP 파일로 정의합니다. 다른 PHP 파일" #~ "은 자식 테마로 안전하게 재정의 할 수 없습니다." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "주의 : 하위 테마가 활성화 된 경우 파일이 복사 된 직후에 상위 파일 대신 하" #~ "위 테마 버전이 사용됩니다." #~ msgid "The " #~ msgstr "그만큼" #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "파일은 별도로 생성되며 여기에 복사 할 수 없습니다." #~ msgid "Copy Selected to Child Theme" #~ msgstr "선택한 항목을 하위 테마로 복사" #~ msgid " Child Theme Files " #~ msgstr "하위 테마 파일" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "테마 편집기를 사용하여 파일을 편집하려면 클릭하십시오." #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "여기에서 선택하여 하위 테마 템플릿을 삭제합니다." #~ msgid "Delete Selected" #~ msgstr "선택된 것을 지워 라" #~ msgid "Child Theme Screenshot" #~ msgstr "어린이 테마 스크린 샷" #~ msgid "Upload New Screenshot" #~ msgstr "새 스크린 샷 업로드" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "테마 스크린 샷은 4 : 3 비율 (예 : 880px x 660px) JPG, PNG 또는 GIF 여야합" #~ "니다. 이름이 변경됩니다" #~ msgid "Screenshot" #~ msgstr "스크린 샷" #~ msgid "Upload New Child Theme Image " #~ msgstr "새 하위 테마 이미지 업로드" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "테마 이미지는 자식 테마의 images 디렉토리에 있으며 스타일 시트 전용입니" #~ "다. 콘텐츠 이미지 용 미디어 라이브러리를 사용합니다." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "현재 하위 테마 미리보기 (현재 분석)" #~ msgid "Preview Current Child Theme" #~ msgstr "현재 하위 테마 미리보기" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Zip 아카이브로 하위 테마 내보내기" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "현재로드 된 하위 테마의 백업을 저장하려면 \"내보내기 Zip\"을 클릭하십시" #~ "오. 상위 / 하위 탭에서 테마를 내보낼 수 있습니다." #~ msgid "Export Child Theme" #~ msgstr "하위 테마 내보내기" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "하위 테마 파일이 성공적으로 복사되었습니다!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "상위 템플릿에서 복사하려는 파일이 존재하지 않습니다." #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "부모 템플릿에서 복사하려는 파일이 이미 자식 테마 파일에 있습니다." #~ msgid "Child " #~ msgstr "아이" #~ msgid " and Parent " #~ msgstr "및 부모" #~ msgid " directories doesn't exist!" #~ msgstr "디렉토리가 존재하지 않습니다!" #~ msgid " directory doesn't exist!" #~ msgstr "디렉토리가 없습니다!" #~ msgid "Parent " #~ msgstr "부모의" #~ msgid "Unknown error! " #~ msgstr "알수없는 오류!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "파일을 복사 할 권한이 없습니다!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "선택한 모든 파일이 성공적으로 삭제되었습니다!" #~ msgid " does not exists!" #~ msgstr "존재하지 않습니다!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "이 파일 확장자는 업로드 할 수 없습니다!" #~ msgid "Image uploaded successfully!" #~ msgstr "이미지가 성공적으로 업로드되었습니다!" #~ msgid "There is some issue in uploading image!" #~ msgstr "이미지 업로드에 문제가 있습니다!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "이 파일 확장자는 워드 프레스로 스크린 샷으로 업로드 할 수 없습니다!" #~ msgid "File uploaded successfully!" #~ msgstr "파일이 성공적으로 업로드되었습니다!" #~ msgid "Child Theme files can't be modified." #~ msgstr "하위 테마 파일은 수정할 수 없습니다." #~ msgid "File(s) deleted successfully!" #~ msgstr "파일이 성공적으로 삭제되었습니다!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "파일을 삭제할 권한이 없습니다!" #~ msgid "Entered directory name already exists" #~ msgstr "입력 한 디렉토리 이름이 이미 있습니다." #~ msgid "You don't have permission to create directory!" #~ msgstr "디렉토리를 만들 수있는 권한이 없습니다!" #~ msgid "Wordpress template file created" #~ msgstr "생성 된 Wordpress 템플릿 파일" #~ msgid "Wordpress template file not created" #~ msgstr "Wordpress 템플릿 파일이 생성되지 않았습니다." #~ msgid "PHP created file successfully" #~ msgstr "PHP가 파일을 성공적으로 생성했습니다." #~ msgid "PHP file not created" #~ msgstr "PHP 파일이 생성되지 않았습니다." #~ msgid " file not created" #~ msgstr "파일이 생성되지 않았습니다." #~ msgid "Already exists" #~ msgstr "이미 존재 함" #~ msgid "You don't have permission to create file!" #~ msgstr "파일을 만들 수있는 권한이 없습니다!" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "테마 파일 및 폴더 생성, 편집, 업로드, 다운로드, 삭제" #~ msgid "Language folder has been downlaoded." #~ msgstr "언어 폴더가 다운로드되었습니다." #~ msgid "Add single or multiple languages." #~ msgstr "단일 또는 여러 언어를 추가합니다." #~ msgid "Add single language file" #~ msgstr "단일 언어 파일 추가" #~ msgid "Please click on language button." #~ msgstr "언어 버튼을 클릭하세요." #~ msgid "Add all languages zip folder" #~ msgstr "모든 언어 zip 폴더 추가" #~ msgid "Zip Download" #~ msgstr "Zip 다운로드" wp-file-manager/languages/wp-file-manager-ms_MY.mo000064400000041566151202472330016032 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&u&(((#)@)+ *&9*`*"i**/+C+E, b,6p,/,/,--*-'<-"d-%-----'.+.4.=.C.W.k.~..!. ..... /+8/d/j/q/ w/////#// /-0/0?0001-1DJ11v2$2 22 223 444s556?7R7Y7_7 z7J72788/8$F8k8888Q8Y8)U9*999@9)9:;:&U: |: :::::d:X^;;';;<$<3>< r< |<<<$<<<&<=(= 9= G=S= d= p====="==>$"> G>T>,h>>'>>>!> ? ???\?e?,n?"?#?"?@%@!B@d@w@ @)@@@&@A A*A&;AbA}AAB,aBCBIBYC}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: Theme Editor PO-Revision-Date: 2022-03-01 11:21+0530 Last-Translator: Language-Team: Language: ms_MY MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: . * untuk semua operasi dan untuk membenarkan beberapa operasi anda boleh menyebut nama operasi seperti, allowed_operations="upload,download". Nota: dipisahkan dengan koma(,). Lalai: *-> Ini akan melarang pengguna tertentu dengan hanya meletakkan ID mereka dengan tanda koma (,). Sekiranya pengguna adalah Ban maka mereka tidak akan dapat mengakses pengurus fail wp di bahagian depan.-> Tema Pengurus Fail. Lalai: Light-> Fail diubah suai atau Buat format tarikh. Lalai: d M, Y h:i A-> Bahasa pengurus fail. Lalai: English(en)-> Paparan UI Filemanager. Lalai: gridTindakanTindakan apabila sandaran terpilihPentadbir boleh menyekat tindakan mana-mana pengguna. Sembunyikan juga fail dan folder dan boleh menetapkan jalur folder yang berbeza untuk pengguna yang berbeza.Pentadbir boleh menyekat tindakan mana-mana pengguna. Sembunyikan juga fail dan folder dan boleh tetapkan jalur folder yang berbeza untuk peranan pengguna yang berbeza.Setelah mengaktifkan sampah, fail anda akan masuk ke folder sampah.Setelah mengaktifkan ini semua fail akan masuk ke perpustakaan media.Semua SelesaiAdakah anda pasti mahu membuang sandaran yang dipilih?Adakah anda pasti mahu memadamkan sandaran ini?Adakah anda pasti mahu memulihkan sandaran ini?Tarikh SandaranSandarkan SekarangPilihan Sandaran:Data sandaran (klik untuk memuat turun)Fail sandaran akan berada di bawahSandaran sedang berjalan, sila tungguSandaran berjaya dipadamkan.Sandaran/PulihkanSandaran berjaya dikeluarkan!LaranganPenyemak Imbas dan OS (HTTP_USER_AGENT)Beli PROBeli ProBatalTukar Tema Di Sini:Klik untuk Beli PROPaparan editor kodSahkanSalin fail atau folderBuat masa ini tidak ada sandaran.HAPUS FILESGelapSandaran Pangkalan DataSandaran pangkalan data dilakukan pada tarikh Sandaran pangkalan data selesai.Sandaran pangkalan data berjaya dipulihkan.LalaiLalai:PadamNyahpilihKetepikan notis ini.SumbangMuat turun Log FailMuat turun failGandakan atau klon folder atau failSunting Fail LogEdit failDayakan Muat Naik Fail ke Perpustakaan Media?Dayakan Sampah?Ralat: Tidak dapat memulihkan sandaran kerana sandaran pangkalan data bersaiz berat. Sila cuba tingkatkan saiz Maksimum yang dibenarkan daripada tetapan Keutamaan.Sandaran Sedia AdaEkstrak fail arkib atau zipPengurus Fail - Kod PendekPengurus Fail - Sifat SistemLaluan Akar Pengurus Fail, anda boleh menukar mengikut pilihan anda.Pengurus Fail mempunyai penyunting kod dengan pelbagai tema. Anda boleh memilih mana-mana tema untuk penyunting kod. Ia akan dipaparkan semasa anda mengedit fail apa pun. Anda juga boleh membenarkan mod skrin penuh penyunting kod.Senarai Operasi Fail:Fail tidak wujud untuk dimuat turun.Sandaran FailKelabuTolonglahDi sini "ujian" ialah nama folder yang terletak pada direktori akar, atau anda boleh memberikan laluan untuk sub folder seperti "wp-content/plugins". Jika dibiarkan kosong atau kosong ia akan mengakses semua folder pada direktori akar. Lalai: Direktori akarDi sini admin dapat memberi akses kepada peranan pengguna untuk menggunakan filemanager. Admin boleh menetapkan Folder Akses Lalai dan juga mengawal ukuran muat naik filemanager.Maklumat failKod Keselamatan Tidak Sah.Ia akan membenarkan semua peranan untuk mengakses pengurus fail di bahagian hadapan atau Anda boleh menggunakan mudah untuk peranan pengguna tertentu seperti dibenarkan_roles="editor,author" (dipisahkan dengan koma(,))Ia akan mengunci yang disebut dalam koma. anda boleh mengunci lebih banyak seperti ".php,.css,.js" dsb. Lalai: NullIa akan menunjukkan pengurus fail di bahagian hadapan. Tetapi hanya Pentadbir boleh mengaksesnya dan akan mengawal dari tetapan pengurus fail.Ia akan menunjukkan pengurus fail di bahagian hadapan. Anda boleh mengawal semua tetapan daripada tetapan pengurus fail. Ia akan berfungsi sama seperti Pengurus Fail WP belakang.Mesej Log TerakhirCahayabalakBuat direktori atau folderBuat failSaiz maksimum yang dibenarkan pada masa pemulihan sandaran pangkalan data.Saiz muat naik fail maksimum (upload_max_filesize)Had Memori (memory_limit)Id sandaran tiada.Jenis parameter tiada.Parameter yang diperlukan tidak ada.Tidak, Terima kasihTiada mesej logLog tidak dijumpai!Nota:Nota: Ini adalah tangkapan skrin demo. Sila beli fungsi Pengurus Fail pro ke Log.Nota: Ini hanya tangkapan skrin demo. Untuk mendapatkan tetapan sila beli versi pro kami.Tiada apa-apa yang dipilih untuk sandaranTiada apa-apa yang dipilih untuk sandaran.okeyOkeyLain-lain (Sebarang direktori lain terdapat di dalam wp-content)Sandaran yang lain dilakukan pada tarikh Sandaran yang lain selesai.Sandaran yang lain gagal.Sandaran yang lain berjaya dipulihkan.Versi PHPParameter:Tampal fail atau folderSila Masukkan Alamat E-mel.Sila Masukkan Nama Depan.Sila Masukkan Nama Akhir.Tolong ubah ini dengan berhati-hati, jalan yang salah boleh menyebabkan pemalam pengurus fail turun.Sila tingkatkan nilai medan jika anda mendapat mesej ralat pada masa pemulihan sandaran.PemalamSandaran pemalam dilakukan pada tarikh Sandaran pemalam selesai.Sandaran pemalam gagal.Sandaran pemalam berjaya dipulihkan.Hantar saiz muat naik fail maksimum (post_max_size)KeutamaanDasar PrivasiLaluan Akar AwamKEMBALIKAN FILKeluarkan atau hapus fail dan folderNamakan semula fail atau folderPulihkanPemulihan sedang berjalan, sila tungguKEJAYAANSimpan PerubahanMenyimpan ...Cari barangIsu Keselamatan.Pilih semuaPilih sandaran untuk dipadamkan!TetapanTetapan - Penyunting kodTetapan - UmumTetapan - Sekatan PenggunaTetapan - Sekatan Peranan PenggunaTetapan disimpan.Kod pendek - PROPotong fail atau folder dengan mudahSifat SistemSyarat PerkhidmatanSandaran nampaknya berjaya dan kini lengkap.TemaPencadangan tema dilakukan pada tarikh Sandaran tema selesai.Sandaran tema gagal.Sandaran tema berjaya dipulihkan.Masa sekarangWaktu tamat (max_execution_time)Untuk membuat arkib atau zipHari iniGUNAKAN:Tidak dapat membuat sandaran pangkalan data.Tidak dapat mengeluarkan sandaran!Tidak dapat memulihkan sandaran DB.Tidak dapat memulihkan orang lain.Tidak dapat memulihkan pemalam.Tidak dapat memulihkan tema.Tidak dapat memulihkan muat naik.Muat Naik Log FailMemuat naik failMuat naikMuat naik sandaran dilakukan pada tarikh Muat naik sandaran selesai.Sandaran muat naik gagal.Sandaran muat naik berjaya dipulihkan.SahkanLihat LogPengurus Fail WPPengurus Fail WP - Sandaran / PulihkanSumbangan Pengurus Fail WPKami gemar membuat rakan baru! Langgan di bawah dan kami berjanji untuk membuat anda terkini dengan plugin, kemas kini baru kami yang terkini, tawaran hebat dan beberapa tawaran istimewa.Selamat datang ke Pengurus FailAnda belum membuat perubahan untuk disimpan.untuk kebenaran akses membaca fail, nota: benar/salah, lalai: benaruntuk akses untuk menulis kebenaran fail, nota: benar/salah, lalai: palsuia akan menyembunyikan yang disebut di sini. Nota: dipisahkan dengan koma(,). Lalai: Nullwp-file-manager/languages/wp-file-manager-ms_MY.po000064400000233045151202472330016030 0ustar00msgid "" msgstr "" "Project-Id-Version: Theme Editor\n" "POT-Creation-Date: 2022-02-28 10:54+0530\n" "PO-Revision-Date: 2022-03-01 11:21+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: ms_MY\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Sandaran tema berjaya dipulihkan." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Tidak dapat memulihkan tema." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Sandaran muat naik berjaya dipulihkan." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Tidak dapat memulihkan muat naik." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Sandaran yang lain berjaya dipulihkan." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Tidak dapat memulihkan orang lain." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Sandaran pemalam berjaya dipulihkan." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Tidak dapat memulihkan pemalam." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Sandaran pangkalan data berjaya dipulihkan." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Semua Selesai" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Tidak dapat memulihkan sandaran DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Sandaran berjaya dikeluarkan!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Tidak dapat mengeluarkan sandaran!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Sandaran pangkalan data dilakukan pada tarikh " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Sandaran pemalam dilakukan pada tarikh " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Pencadangan tema dilakukan pada tarikh " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Muat naik sandaran dilakukan pada tarikh " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Sandaran yang lain dilakukan pada tarikh " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "balak" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Log tidak dijumpai!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Tiada apa-apa yang dipilih untuk sandaran" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Isu Keselamatan." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Sandaran pangkalan data selesai." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Tidak dapat membuat sandaran pangkalan data." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Sandaran pemalam selesai." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Sandaran pemalam gagal." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Sandaran tema selesai." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Sandaran tema gagal." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Muat naik sandaran selesai." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Sandaran muat naik gagal." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Sandaran yang lain selesai." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Sandaran yang lain gagal." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Pengurus Fail WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Tetapan" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Keutamaan" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Sifat Sistem" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kod pendek - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Sandaran/Pulihkan" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Beli Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Sumbang" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Fail tidak wujud untuk dimuat turun." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Kod Keselamatan Tidak Sah." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Id sandaran tiada." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Jenis parameter tiada." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Parameter yang diperlukan tidak ada." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Ralat: Tidak dapat memulihkan sandaran kerana sandaran pangkalan data " "bersaiz berat. Sila cuba tingkatkan saiz Maksimum yang dibenarkan daripada " "tetapan Keutamaan." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Pilih sandaran untuk dipadamkan!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Adakah anda pasti mahu membuang sandaran yang dipilih?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Sandaran sedang berjalan, sila tunggu" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Pemulihan sedang berjalan, sila tunggu" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Tiada apa-apa yang dipilih untuk sandaran." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Pengurus Fail WP - Sandaran / Pulihkan" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Pilihan Sandaran:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Sandaran Pangkalan Data" #: inc/backup.php:64 msgid "Files Backup" msgstr "Sandaran Fail" #: inc/backup.php:68 msgid "Plugins" msgstr "Pemalam" #: inc/backup.php:71 msgid "Themes" msgstr "Tema" #: inc/backup.php:74 msgid "Uploads" msgstr "Muat naik" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Lain-lain (Sebarang direktori lain terdapat di dalam wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Sandarkan Sekarang" #: inc/backup.php:89 msgid "Time now" msgstr "Masa sekarang" #: inc/backup.php:99 msgid "SUCCESS" msgstr "KEJAYAAN" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Sandaran berjaya dipadamkan." #: inc/backup.php:102 msgid "Ok" msgstr "Okey" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "HAPUS FILES" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Adakah anda pasti mahu memadamkan sandaran ini?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Batal" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Sahkan" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "KEMBALIKAN FIL" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Adakah anda pasti mahu memulihkan sandaran ini?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Mesej Log Terakhir" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Sandaran nampaknya berjaya dan kini lengkap." #: inc/backup.php:171 msgid "No log message" msgstr "Tiada mesej log" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Sandaran Sedia Ada" #: inc/backup.php:184 msgid "Backup Date" msgstr "Tarikh Sandaran" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Data sandaran (klik untuk memuat turun)" #: inc/backup.php:190 msgid "Action" msgstr "Tindakan" #: inc/backup.php:210 msgid "Today" msgstr "Hari ini" #: inc/backup.php:239 msgid "Restore" msgstr "Pulihkan" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Padam" #: inc/backup.php:241 msgid "View Log" msgstr "Lihat Log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Buat masa ini tidak ada sandaran." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Tindakan apabila sandaran terpilih" #: inc/backup.php:251 msgid "Select All" msgstr "Pilih semua" #: inc/backup.php:252 msgid "Deselect" msgstr "Nyahpilih" #: inc/backup.php:254 msgid "Note:" msgstr "Nota:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Fail sandaran akan berada di bawah" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Sumbangan Pengurus Fail WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Nota: Ini adalah tangkapan skrin demo. Sila beli fungsi Pengurus Fail pro ke " "Log." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klik untuk Beli PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Beli PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Sunting Fail Log" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Muat turun Log Fail" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Muat Naik Log Fail" #: inc/root.php:43 msgid "Settings saved." msgstr "Tetapan disimpan." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Ketepikan notis ini." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Anda belum membuat perubahan untuk disimpan." #: inc/root.php:55 msgid "Public Root Path" msgstr "Laluan Akar Awam" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Laluan Akar Pengurus Fail, anda boleh menukar mengikut pilihan anda." #: inc/root.php:59 msgid "Default:" msgstr "Lalai:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Tolong ubah ini dengan berhati-hati, jalan yang salah boleh menyebabkan " "pemalam pengurus fail turun." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Dayakan Sampah?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Setelah mengaktifkan sampah, fail anda akan masuk ke folder sampah." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Dayakan Muat Naik Fail ke Perpustakaan Media?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Setelah mengaktifkan ini semua fail akan masuk ke perpustakaan media." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Saiz maksimum yang dibenarkan pada masa pemulihan sandaran pangkalan data." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Sila tingkatkan nilai medan jika anda mendapat mesej ralat pada masa " "pemulihan sandaran." #: inc/root.php:90 msgid "Save Changes" msgstr "Simpan Perubahan" #: inc/settings.php:10 msgid "Settings - General" msgstr "Tetapan - Umum" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Nota: Ini hanya tangkapan skrin demo. Untuk mendapatkan tetapan sila beli " "versi pro kami." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Di sini admin dapat memberi akses kepada peranan pengguna untuk menggunakan " "filemanager. Admin boleh menetapkan Folder Akses Lalai dan juga mengawal " "ukuran muat naik filemanager." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Tetapan - Penyunting kod" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Pengurus Fail mempunyai penyunting kod dengan pelbagai tema. Anda boleh " "memilih mana-mana tema untuk penyunting kod. Ia akan dipaparkan semasa anda " "mengedit fail apa pun. Anda juga boleh membenarkan mod skrin penuh " "penyunting kod." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Paparan editor kod" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Tetapan - Sekatan Pengguna" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Pentadbir boleh menyekat tindakan mana-mana pengguna. Sembunyikan juga fail " "dan folder dan boleh menetapkan jalur folder yang berbeza untuk pengguna " "yang berbeza." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Tetapan - Sekatan Peranan Pengguna" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Pentadbir boleh menyekat tindakan mana-mana pengguna. Sembunyikan juga fail " "dan folder dan boleh tetapkan jalur folder yang berbeza untuk peranan " "pengguna yang berbeza." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Pengurus Fail - Kod Pendek" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "GUNAKAN:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Ia akan menunjukkan pengurus fail di bahagian hadapan. Anda boleh mengawal " "semua tetapan daripada tetapan pengurus fail. Ia akan berfungsi sama seperti " "Pengurus Fail WP belakang." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Ia akan menunjukkan pengurus fail di bahagian hadapan. Tetapi hanya " "Pentadbir boleh mengaksesnya dan akan mengawal dari tetapan pengurus fail." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parameter:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Ia akan membenarkan semua peranan untuk mengakses pengurus fail di bahagian " "hadapan atau Anda boleh menggunakan mudah untuk peranan pengguna tertentu " "seperti dibenarkan_roles=\"editor,author\" (dipisahkan dengan koma(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Di sini \"ujian\" ialah nama folder yang terletak pada direktori akar, atau " "anda boleh memberikan laluan untuk sub folder seperti \"wp-content/plugins" "\". Jika dibiarkan kosong atau kosong ia akan mengakses semua folder pada " "direktori akar. Lalai: Direktori akar" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "untuk akses untuk menulis kebenaran fail, nota: benar/salah, lalai: palsu" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "untuk kebenaran akses membaca fail, nota: benar/salah, lalai: benar" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "ia akan menyembunyikan yang disebut di sini. Nota: dipisahkan dengan " "koma(,). Lalai: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Ia akan mengunci yang disebut dalam koma. anda boleh mengunci lebih banyak " "seperti \".php,.css,.js\" dsb. Lalai: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* untuk semua operasi dan untuk membenarkan beberapa operasi anda boleh " "menyebut nama operasi seperti, allowed_operations=\"upload,download\". Nota: " "dipisahkan dengan koma(,). Lalai: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Senarai Operasi Fail:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Buat direktori atau folder" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Buat fail" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Namakan semula fail atau folder" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Gandakan atau klon folder atau fail" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Tampal fail atau folder" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Larangan" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Untuk membuat arkib atau zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Ekstrak fail arkib atau zip" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Salin fail atau folder" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Potong fail atau folder dengan mudah" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Edit fail" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Keluarkan atau hapus fail dan folder" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Muat turun fail" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Memuat naik fail" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Cari barang" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Maklumat fail" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Tolonglah" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Ini akan melarang pengguna tertentu dengan hanya meletakkan ID mereka " "dengan tanda koma (,). Sekiranya pengguna adalah Ban maka mereka tidak akan " "dapat mengakses pengurus fail wp di bahagian depan." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Paparan UI Filemanager. Lalai: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Fail diubah suai atau Buat format tarikh. Lalai: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Bahasa pengurus fail. Lalai: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema Pengurus Fail. Lalai: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Pengurus Fail - Sifat Sistem" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Versi PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Saiz muat naik fail maksimum (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Hantar saiz muat naik fail maksimum (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Had Memori (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Waktu tamat (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Penyemak Imbas dan OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Tukar Tema Di Sini:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Lalai" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Gelap" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Cahaya" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Kelabu" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Selamat datang ke Pengurus Fail" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Kami gemar membuat rakan baru! Langgan di bawah dan kami berjanji untuk\n" " membuat anda terkini dengan plugin, kemas kini baru kami yang terkini,\n" " tawaran hebat dan beberapa tawaran istimewa." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Sila Masukkan Nama Depan." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Sila Masukkan Nama Akhir." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Sila Masukkan Alamat E-mel." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Sahkan" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Tidak, Terima kasih" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Syarat Perkhidmatan" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Dasar Privasi" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Menyimpan ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "okey" #~ msgid "Backup not found!" #~ msgstr "Sandaran tidak dijumpai!" #~ msgid "Backup removed successfully!" #~ msgstr "Sandaran berjaya dikeluarkan!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Tidak ada yang dipilih untuk sandaran" #~ msgid "Security Issue." #~ msgstr "Isu Keselamatan. " #~ msgid "Database backup done." #~ msgstr "" #~ "Penyimpanan pangkalan data selesai." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Tidak dapat membuat sandaran pangkalan " #~ "data. " #~ msgid "Plugins backup done." #~ msgstr "Sandaran pemalam selesai" #~ msgid "Plugins backup failed." #~ msgstr "Sandaran pemalam gagal. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Penyelesaian tema selesai. " #~ msgid "Themes backup failed." #~ msgstr "Sandaran tema gagal. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Muat naik sandaran selesai. " #~ msgid "Uploads backup failed." #~ msgstr "Gagal memuat naik gagal. " #~ msgid "Others backup done." #~ msgstr "" #~ "Sandaran yang lain selesai. " #~ msgid "Others backup failed." #~ msgstr "Sandaran yang lain gagal. " #~ msgid "All Done" #~ msgstr "Semua Selesai " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Imej" #~ msgid "of" #~ msgstr "daripada" #~ msgid "Close" #~ msgstr "Tutup" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Ciri ini memerlukan bingkai sebaris. Anda mempunyai iframe yang " #~ "dilumpuhkan atau penyemak imbas anda tidak menyokongnya." #~ msgid "Theme Editor" #~ msgstr "Penyunting Tema" #~ msgid "Plugin Editor" #~ msgstr "Penyunting Pemalam" #~ msgid "Access Control" #~ msgstr "Kawalan Akses" #~ msgid "Notify Me" #~ msgstr "Beritahu saya" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "bahasa telah berjaya dimuat turun." #~ msgid "Language folder failed to downlaod." #~ msgstr "Folder bahasa gagal diturunkan." #~ msgid "Security token expired!" #~ msgstr "Token keselamatan tamat!" #~ msgid " language has been downloaded successfully." #~ msgstr "bahasa telah berjaya dimuat turun." #~ msgid "Currently language " #~ msgstr "Bahasa sekarang " #~ msgid " not available. Please click on the request language link." #~ msgstr " tidak ada. Sila klik pada pautan bahasa permintaan." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "" #~ "Anda tidak mempunyai kebenaran yang mencukupi untuk mengedit pemalam " #~ "untuk laman web ini." #~ msgid "There are no plugins installed on this site." #~ msgstr "Tidak ada plugin yang dipasang di laman web ini." #~ msgid "There are no themes installed on this site." #~ msgstr "Tidak ada tema yang dipasang di laman web ini." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Masukkan nama folder!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Masukkan nama fail!

        " #~ msgid "Open" #~ msgstr "Buka" #~ msgid "Preview" #~ msgstr "Pratonton" #~ msgid "Edit" #~ msgstr "Edit" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Adakah anda pasti mahu membatalkan muat naik fail?" #~ msgid "File renamed successfully." #~ msgstr "Fail berjaya dinamakan semula." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Adakah anda pasti mahu memadam folder?" #~ msgid "Folder deleted successfully." #~ msgstr "Folder berjaya dipadamkan." #~ msgid "File deleted successfully." #~ msgstr "Fail berjaya dipadamkan." #~ msgid "Folder renamed successfully." #~ msgstr "Folder dinamakan semula dengan jayanya." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Tidak dibenarkan melebihi 30 aksara.

        " #~ msgid "Invalid request!" #~ msgstr "Permintaan tidak sah!" #~ msgid "No change in file!" #~ msgstr "Tiada perubahan fail!" #~ msgid "File saved successfully!" #~ msgstr "Fail berjaya disimpan!" #~ msgid "File not saved!" #~ msgstr "Fail tidak disimpan!" #~ msgid "Unable to verify security token!" #~ msgstr "Tidak dapat mengesahkan token keselamatan!" #~ msgid "Folder created successfully!" #~ msgstr "Folder berjaya dibuat!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Format folder ini tidak dibenarkan memuat naik dengan wordpress!" #~ msgid "Folder already exists!" #~ msgstr "Folder sudah ada!" #~ msgid "File created successfully!" #~ msgstr "Fail berjaya dibuat!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Sambungan fail ini tidak dibenarkan dibuat!" #~ msgid "File already exists!" #~ msgstr "Fail sudah ada!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Sila masukkan pelanjutan fail yang sah!" #~ msgid "Folder does not exists!" #~ msgstr "Folder tidak wujud!" #~ msgid "Folder deleted successfully!" #~ msgstr "Folder berjaya dipadamkan!" #~ msgid "File deleted successfully!" #~ msgstr "Fail berjaya dipadamkan!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "Sambungan fail ini tidak dibenarkan dimuat naik dengan wordpress!" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Fail berjaya dimuat naik: Laluan fail yang dimuat naik ialah" #~ msgid "No file selected" #~ msgstr "Tiada fail yang dipilih" #~ msgid "Unable to rename file! Try again." #~ msgstr "Tidak dapat menamakan semula fail! Cuba lagi." #~ msgid "Folder renamed successfully!" #~ msgstr "Folder dinamakan semula dengan jayanya!" #~ msgid "Please enter correct folder name" #~ msgstr "Sila masukkan nama folder yang betul" #~ msgid "How can we help?" #~ msgstr "Bagaimana kita boleh menolong?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "Sumber pembelajaran, sokongan profesional dan bantuan pakar." #~ msgid "Documentation" #~ msgstr "Dokumentasi" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Dapatkan jawapan dengan cepat dari dokumentasi lengkap kami." #~ msgid "Learn More" #~ msgstr "Ketahui Lebih Lanjut" #~ msgid "Contact Us" #~ msgstr "Hubungi Kami" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "" #~ "Hantarkan tiket sokongan untuk jawapan pada pertanyaan yang mungkin anda " #~ "ada." #~ msgid "Request a Feature" #~ msgstr "Minta Ciri" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "" #~ "Beritahu kami apa yang anda mahukan dan tambahkan pada peta jalan kami." #~ msgid "Tell us what you think!" #~ msgstr "Beritahu kami apa yang anda fikirkan!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Nilai dan beri kami ulasan mengenai Wordpress!" #~ msgid "Leave a Review" #~ msgstr "Leave a Review" #~ msgid "Update" #~ msgstr "Kemas kini" #~ msgid "Installed" #~ msgstr "Dipasang" #~ msgid "Theme Editor Pro Language:" #~ msgstr "Bahasa Pro Editor Tema:" #~ msgid " language" #~ msgstr " bahasa" #~ msgid "Click here to install/update " #~ msgstr "Klik di sini untuk memasang / mengemas kini " #~ msgid " language translation for Theme Editor Pro." #~ msgstr " terjemahan bahasa untuk Theme Editor Pro." #~ msgid "Available languages" #~ msgstr "Bahasa yang ada" #~ msgid "Click here to download all available languages." #~ msgstr "Klik di sini untuk memuat turun semua bahasa yang ada." #~ msgid "Request a language" #~ msgstr "Minta bahasa" #~ msgid "Tell us which language you want to add." #~ msgstr "Beritahu kami bahasa mana yang ingin anda tambahkan." #~ msgid "Contact us" #~ msgstr "Hubungi Kami" #~ msgid "Notifications" #~ msgstr "Pemberitahuan" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ " Catatan: Ini hanya tangkapan skrin. Beli Versi PRO untuk ciri " #~ "ini. " #~ msgid "Permissions" #~ msgstr "Kebenaran" #~ msgid "Edit Plugin" #~ msgstr "Edit Pemalam" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Pemalam ini sedang diaktifkan! Peringatan: Tidak " #~ "melakukan perubahan pada pemalam aktif. Sekiranya perubahan anda " #~ "menyebabkan ralat maut, pemalam akan dinyahaktifkan secara automatik." #~ msgid "Editing " #~ msgstr "Penyuntingan " #~ msgid " (active)" #~ msgstr " (aktif)" #~ msgid "Browsing " #~ msgstr "Melayari " #~ msgid " (inactive)" #~ msgstr " (tidak aktif)" #~ msgid "Update File" #~ msgstr "Kemas kini Fail" #~ msgid "Download Plugin" #~ msgstr "Muat turun Pemalam" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "Anda perlu membuat fail ini dapat ditulis sebelum dapat menyimpan " #~ "perubahan. Lihat Codex untuk maklumat lebih " #~ "lanjut." #~ msgid "Select plugin to edit:" #~ msgstr "Pilih pemalam untuk diedit:" #~ msgid "Create Folder and File" #~ msgstr "Buat Folder dan Fail" #~ msgid "Create" #~ msgstr "Buat" #~ msgid "Remove Folder and File" #~ msgstr "Keluarkan Folder dan Fail" #~ msgid "Remove " #~ msgstr "Keluarkan" #~ msgid "To" #~ msgstr "Ke" #~ msgid "Optional: Sub-Directory" #~ msgstr "Pilihan: Sub-Direktori" #~ msgid "Choose File " #~ msgstr "Pilih fail" #~ msgid "No file Chosen " #~ msgstr "Tiada fail dipilih " #~ msgid "Create a New Folder: " #~ msgstr "Buat Folder Baru:" #~ msgid "New folder will be created in: " #~ msgstr "Folder baru akan dibuat di:" #~ msgid "New Folder Name: " #~ msgstr "Nama Folder Baru:" #~ msgid "Create New Folder" #~ msgstr "Buat Folder Baru" #~ msgid "Create a New File: " #~ msgstr "Buat Fail Baru:" #~ msgid "New File will be created in: " #~ msgstr "Fail Baru akan dibuat dalam:" #~ msgid "New File Name: " #~ msgstr "Nama Fail Baru:" #~ msgid "Create New File" #~ msgstr "Buat Fail Baru" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "" #~ "Amaran: sila berhati-hati sebelum membuang folder atau fail apa pun." #~ msgid "Current Theme Path: " #~ msgstr "Laluan Tema Semasa:" #~ msgid "Remove Folder: " #~ msgstr "Keluarkan Folder:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Laluan Folder yang ingin anda alih keluar: " #~ msgid "Remove Folder" #~ msgstr "Keluarkan Folder" #~ msgid "Remove File: " #~ msgstr "Alih keluar Fail:" #~ msgid "File Path which you want to remove: " #~ msgstr "Laluan Fail yang ingin anda alih keluar: " #~ msgid "Remove File" #~ msgstr "Alih keluar Fail" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Sila Masukkan Alamat E-mel yang Sah." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "" #~ "Amaran: Harap berhati-hati sebelum menamakan semula folder atau fail apa " #~ "pun." #~ msgid "File/Folder will be rename in: " #~ msgstr "Fail / Folder akan dinamakan semula dalam:" #~ msgid "File/Folder Rename: " #~ msgstr "Namakan Fail / Folder:" #~ msgid "Follow us" #~ msgstr "Ikut kami" #~ msgid "Theme Editor Facebook" #~ msgstr "Penyunting Tema Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "Editor Tema Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "Editor Tema Twitter" #~ msgid "Theme Editor Linkedin" #~ msgstr "Editor Tema Linkedin" #~ msgid "Theme Editor Youtube" #~ msgstr "Youtube Editor Tema" #~ msgid "Go to ThemeEditor site" #~ msgstr "Pergi ke laman ThemeEditor" #~ msgid "Theme Editor Links" #~ msgstr "Pergi ke laman ThemeEditor" #~ msgid "Child Theme" #~ msgstr "Tema Kanak-kanak" #~ msgid "Child Theme Permissions" #~ msgstr "Kebenaran Tema Kanak-kanak" #~ msgid " is not available. Please click " #~ msgstr " tidak boleh didapati. Sila klik " #~ msgid "here" #~ msgstr "di sini" #~ msgid "to request language." #~ msgstr "untuk meminta bahasa." #~ msgid "Click" #~ msgstr "Klik" #~ msgid "to install " #~ msgstr "memasang" #~ msgid " language translation for Theme Editor Pro" #~ msgstr " terjemahan bahasa untuk Theme Editor Pro" #~ msgid "Success: Settings Saved!" #~ msgstr "Kejayaan: Tetapan Disimpan!" #~ msgid "No changes have been made to save." #~ msgstr "Tidak ada perubahan yang dibuat untuk disimpan." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Dayakan Editor Tema Untuk Tema" #~ msgid "Yes" #~ msgstr "Ya" #~ msgid "No" #~ msgstr "Tidak" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "Ini akan Mengaktifkan / Menyahaktifkan penyunting tema.
        Lalai: Ya" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Lumpuhkan Editor Tema WordPress Lalai?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "Ini akan Mengaktifkan / Menyahaktifkan editor tema Lalai.
        Lalai: Ya" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Dayakan Editor Plugin Untuk Pemalam" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "Ini akan Mengaktifkan / Melumpuhkan editor pemalam.
        Lalai: Ya" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Lumpuhkan Editor Plugin WordPress Lalai?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "Ini akan Mengaktifkan / Melumpuhkan editor pemalam Lalai.
        Lalai: Ya" #~ msgid "Code Editor" #~ msgstr "Penyunting Kod" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Membolehkan anda memilih tema untuk penyunting tema.
        Lalai: Kobalt" #~ msgid "Edit Themes" #~ msgstr "Edit Tema" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ " Tema ini sedang diaktifkan! Peringatan: Tidak membuat " #~ "perubahan pada tema aktif tidak digalakkan." #~ msgid "Editing" #~ msgstr "Penyuntingan" #~ msgid "Browsing" #~ msgstr "Melayari" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Kemas kini Fail dan Cuba Aktifkan Semula" #~ msgid "Download Theme" #~ msgstr "Muat turun Tema" #~ msgid "Select theme to edit:" #~ msgstr "Pilih tema untuk diedit:" #~ msgid "Theme Files" #~ msgstr "Fail Tema" #~ msgid "Choose File" #~ msgstr "Pilih fail" #~ msgid "No File Chosen" #~ msgstr "Tiada fail dipilih" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "" #~ "Amaran: Harap berhati-hati sebelum mengeluarkan folder atau fail apa pun." #~ msgid "Child Theme Permission" #~ msgstr "Kebenaran Tema Kanak-kanak" #~ msgid "Translations" #~ msgstr "Terjemahan" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat tema kanak-kanak baru." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "" #~ "Anda tidak mempunyai kebenaran untuk mengubah konfigurasi tema kanak-" #~ "kanak yang ada." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "Anda tidak mempunyai kebenaran untuk mendua tema kanak-kanak." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "" #~ "Anda tidak mempunyai kebenaran untuk mengakses menu pertanyaan / pemilih." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "Anda tidak mempunyai kebenaran untuk mengakses fon web & menu CSS." #~ msgid "You do not have the permission to copy files." #~ msgstr "Anda tidak mempunyai kebenaran untuk menyalin fail." #~ msgid "You do not have the permission to delete child files." #~ msgstr "Anda tidak mempunyai kebenaran untuk menghapus fail kanak-kanak." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "" #~ "Anda tidak mempunyai kebenaran untuk memuat naik tangkapan skrin baru." #~ msgid "You do not have the permission to upload new images." #~ msgstr "Anda tidak mempunyai kebenaran untuk memuat naik gambar baru." #~ msgid "You do not have the permission to delete images." #~ msgstr "Anda tidak mempunyai kebenaran untuk menghapus gambar." #~ msgid "You do not have the permission to download file." #~ msgstr "Anda tidak mempunyai kebenaran untuk memuat turun fail." #~ msgid "You do not have the permission to create new directory." #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat direktori baru." #~ msgid "You do not have the permission to create new file." #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat fail baru." #~ msgid "You don't have permission to update file!" #~ msgstr "Anda tidak mempunyai kebenaran untuk mengemas kini fail!" #~ msgid "You don't have permission to create folder!" #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat folder!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "Anda tidak mempunyai kebenaran untuk menghapus folder!" #~ msgid "You don't have permission to delete file!" #~ msgstr "Anda tidak mempunyai kebenaran untuk memadam fail!" #~ msgid "You don't have permission to upload file!" #~ msgstr "Anda tidak mempunyai kebenaran untuk memuat naik fail!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Kebenaran Tema Kanak-kanak berjaya disimpan." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "" #~ "Tidak ada perubahan yang dibuat dalam kebenaran tema anak untuk disimpan." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Mesej kebenaran Tema Kanak-kanak berjaya disimpan." #~ msgid "Users" #~ msgstr "Pengguna" #~ msgid "Create New Child Theme" #~ msgstr "Buat Tema Kanak-kanak Baru" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Konfigurasikan Tema Kanak-kanak Sedia Ada" #~ msgid "Duplicate Child Themes" #~ msgstr "Gandakan Tema Kanak-kanak" #~ msgid "Query/ Selector" #~ msgstr "Pertanyaan / Pemilih" #~ msgid "Web/font" #~ msgstr "Web / fon" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Salin Tema Ibu Bapa Fail Ke Tema Anak" #~ msgid "Deleted Child Files" #~ msgstr "Fail Kanak-kanak yang Dihapuskan" #~ msgid "Upload New Screenshoot" #~ msgstr "Muat naik Tangkapan Skrin Baru" #~ msgid "Upload New Images" #~ msgstr "Muat Naik Gambar Baru" #~ msgid "Deleted Images " #~ msgstr "Gambar yang Dihapuskan" #~ msgid "Download Images" #~ msgstr "Muat turun Imej" #~ msgid "Create New Directory" #~ msgstr "Buat Direktori Baru" #~ msgid "Create New Files" #~ msgstr "Buat Fail Baru" #~ msgid "Export Theme" #~ msgstr "Tema Eksport" #~ msgid "User Roles" #~ msgstr "Peranan Pengguna" #~ msgid "Query/ Seletor" #~ msgstr "Pertanyaan / Seletor" #~ msgid "Deleted Images" #~ msgstr "Gambar yang Dihapuskan" #~ msgid "Child Theme Permission Message" #~ msgstr "Mesej Kebenaran Tema Kanak-kanak" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat Tema Kanak-kanak baru." #~ msgid "Query/Selector" #~ msgstr "Pertanyaan / Pemilih" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "" #~ "Anda tidak mempunyai kebenaran untuk mengakses menu pertanyaan / pemilih." #~ msgid " Web/font" #~ msgstr "Web / fon" #~ msgid " Export Theme" #~ msgstr "Tema Eksport" #~ msgid "Save Child Theme Message" #~ msgstr "Mesej Kebenaran Tema Kanak-kanak" #~ msgid "Please select atleast one image." #~ msgstr "Pilih sekurang-kurangnya satu gambar." #~ msgid "You don't have the permission to delete images." #~ msgstr "Anda tidak mempunyai kebenaran untuk menghapus gambar." #~ msgid "You don't have the permission to upload new images." #~ msgstr "Anda tidak mempunyai kebenaran untuk memuat naik gambar baru." #~ msgid "You don't have the permission to download." #~ msgstr "Anda tidak mempunyai kebenaran untuk memuat turun." #~ msgid "You don't have the permission to create new directory." #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat direktori baru." #~ msgid "Please choose file type." #~ msgstr "Sila pilih jenis fail." #~ msgid "Please enter file name." #~ msgstr "Sila masukkan nama fail." #~ msgid "You don't have the permission to create new file." #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat fail baru." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "Adakah anda pasti menyalin fail induk ke tema anak?" #~ msgid "Please select file(s)." #~ msgstr "Sila pilih fail." #~ msgid "You don't have the permission to copy files." #~ msgstr "Anda tidak mempunyai kebenaran untuk menyalin fail." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Adakah anda pasti mahu menghapus fail yang dipilih?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "Anda tidak mempunyai kebenaran untuk menghapus fail anak." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "" #~ "Anda tidak mempunyai kebenaran untuk memuat naik tangkapan skrin baru." #~ msgid "You don't have the permission to export theme." #~ msgstr "Anda tidak mempunyai kebenaran untuk mengeksport tema." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "" #~ "Anda tidak mempunyai kebenaran untuk mengakses menu Pertanyaan / Pemilih." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "Anda tidak mempunyai kebenaran untuk mengakses menu Web Font & CSS." #~ msgid "Current Analysis Theme:" #~ msgstr "Tema Analisis Semasa:" #~ msgid "Preview Theme" #~ msgstr "Tema Pratonton" #~ msgid "Parent Themes" #~ msgstr "Tema Ibu Bapa" #~ msgid "Child Themes" #~ msgstr "Tema Kanak-kanak" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Ralat: Tetapan Tidak Disimpan!" #~ msgid "Email List" #~ msgstr "Senarai E-mel" #~ msgid "Email Address" #~ msgstr "Alamat emel" #~ msgid "Enter Email" #~ msgstr "Masukkan email" #~ msgid "Add More" #~ msgstr "Tambah Lagi" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Alamat ini digunakan untuk tujuan pemberitahuan, seperti pemberitahuan " #~ "tema / pemalam." #~ msgid "Theme Notification" #~ msgstr "Pemberitahuan Tema" #~ msgid "Notify on file update" #~ msgstr "Maklumkan pada kemas kini fail" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Pemberitahuan mengenai pengeditan atau kemas kini fail tema.
        " #~ " Lalai: Ya" #~ msgid "Notify on files download" #~ msgstr "Beritahu pada muat turun fail" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Pemberitahuan mengenai muat turun edit fail tema.
        Lalai: Ya" #~ msgid "Notify on theme download" #~ msgstr "Maklumkan semasa memuat turun tema" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "" #~ "Pemberitahuan mengenai muat turun tema.
        Lalai: Ya" #~ msgid "Notify on files upload" #~ msgstr "Maklumkan pada muat naik fail" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Pemberitahuan mengenai fail yang dimuat naik dalam tema.
        " #~ "Lalai: Ya" #~ msgid "Notify on create new file/folder" #~ msgstr "Maklumkan pada buat fail / folder baru" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Pemberitahuan tentang membuat fail / folder baru dalam tema.
        " #~ " Lalai: Ya" #~ msgid "Notify on delete" #~ msgstr "Maklumkan semasa hapus" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Beritahu untuk menghapus fail dan folder dalam tema.
        " #~ "Lalai: Ya" #~ msgid "Notify on create New Child theme" #~ msgstr "Maklumkan mengenai membuat tema Anak Baru" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Maklumkan mengenai tema Buat Anak Baru.
        Lalai: Ya" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Maklumkan untuk mengkonfigurasi tema Anak Sedia Ada" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Beritahu untuk mengkonfigurasi tema Anak Sedia Ada.
        Lalai: " #~ " Ya" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Beritahu mengenai tema Pendua Anak" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Beritahu mengenai Konfigurasikan tema Anak yang Ada.
        " #~ "Lalai: Ya" #~ msgid "Plugin Notification" #~ msgstr "Pemberitahuan Pemalam" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Pemberitahuan mengenai pengeditan atau kemas kini fail tema.
        " #~ " Lalai: ya" #~ msgid "Notify on Plugin download" #~ msgstr "Maklumkan pada muat turun Plugin" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "" #~ "Pemberitahuan mengenai muat turun Plugin.
        Lalai: " #~ "Ya" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Pemberitahuan mengenai muat naik fail dalam tema.
        Lalai: Ya" #~ msgid "Permission saved successfully." #~ msgstr "Kebenaran berjaya disimpan." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "" #~ "Alamak! Kebenaran tidak dapat disimpan kerana anda belum membuat " #~ "perubahan." #~ msgid "Allowed User Roles" #~ msgstr "Peranan Pengguna yang Dibolehkan" #~ msgid "Update theme files" #~ msgstr "Kemas kini fail tema" #~ msgid "Create new theme files and folders" #~ msgstr "Buat fail dan folder tema baru" #~ msgid "Upload new theme files and folders" #~ msgstr "Muat naik fail tema dan folder baru" #~ msgid "Download theme files" #~ msgstr "Muat turun fail tema" #~ msgid "Download theme" #~ msgstr "Muat turun tema" #~ msgid "Update plugin files" #~ msgstr "Kemas kini fail pemalam" #~ msgid "Create new plugin files and folders" #~ msgstr "Buat fail dan folder pemalam baru" #~ msgid "Upload new plugin files and folders" #~ msgstr "Muat naik fail dan folder pemalam baru" #~ msgid "Delete plugin files and folders" #~ msgstr "Padamkan fail dan folder pemalam" #~ msgid "Download plugin files" #~ msgstr "Muat turun fail pemalam" #~ msgid "Download plugin" #~ msgstr "Muat turun pemalam" #~ msgid "Rename File" #~ msgstr "Namakan semula Fail" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Tema Editor PRO - Sila masukkan butiran pesanan anda di bawah. Jika tidak " #~ "Beli Sekarang " #~ msgid "ORDER ID (#) *" #~ msgstr "ID PESANAN (#) *" #~ msgid "Enter Order ID" #~ msgstr "Masukkan ID Pesanan" #~ msgid "Please Check Your email for order ID." #~ msgstr "Sila Periksa e-mel anda untuk mendapatkan ID pesanan." #~ msgid "LICENCE KEY *" #~ msgstr "KUNCI LESEN *" #~ msgid "Enter License Key" #~ msgstr "Masukkan Kunci Lesen" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Sila Periksa E-mel Anda untuk Kunci Lesen." #~ msgid "Click To Verify" #~ msgstr "Klik Untuk mengesahkan" #~ msgid "URL/None" #~ msgstr "URL / Tiada" #~ msgid "Origin" #~ msgstr "Asal" #~ msgid "Color 1" #~ msgstr "Warna 1" #~ msgid "Color 2" #~ msgstr "Warna 2" #~ msgid "Width/None" #~ msgstr "Lebar / Tiada" #~ msgid "Style" #~ msgstr "Gaya" #~ msgid "Color" #~ msgstr "Warna" #~ msgid "Configure Child Theme" #~ msgstr "Konfigurasikan Tema Kanak-kanak" #~ msgid "Duplicate Child theme" #~ msgstr "Gandakan Tema Kanak-kanak" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "Setelah menganalisis, tema ini berfungsi dengan baik. Anda boleh " #~ "menggunakannya sebagai Tema Anak anda." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "" #~ "Setelah menganalisis tema kanak-kanak ini nampaknya berfungsi dengan " #~ "betul." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Tema ini memuatkan lembaran gaya tambahan selepas fail style.css :" #~ msgid "The theme" #~ msgstr "Nama Tema" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "tidak dapat dianalisis kerana pratonton tidak dibuat dengan betul" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Tema Kanak-kanak ini belum dikonfigurasikan untuk pemalam ini" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "Configurator membuat pengubahsuaian yang signifikan pada tema anak, " #~ "termasuk perubahan helaian gaya dan fungsi php tambahan. Pertimbangkan " #~ "untuk menggunakan pilihan tema anak DUPLICATE (lihat langkah 1, di atas) " #~ "dan simpan yang asli sebagai sandaran." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "Semua maklumat webfonts / css berjaya disimpan." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Sila masukkan nilai untuk webfonts / css." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "Anda tidak mempunyai kebenaran untuk mengemas kini fon web / css." #~ msgid "All information saved successfully." #~ msgstr "Semua maklumat berjaya disimpan." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "Adakah anda pasti mahu MENGESAN semula? Ini akan menghancurkan setiap " #~ "kerja yang telah anda lakukan di Configurator." #~ msgid "Selectors" #~ msgstr "Pemilih" #~ msgid "Edit Selector" #~ msgstr "Edit Pemilih" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "Lembaran gaya tidak dapat dipaparkan." #~ msgid "(Child Only)" #~ msgstr "(Kanak-kanak Sahaja)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Sila masukkan Tema Kanak-kanak yang sah." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Sila masukkan nama Tema Kanak-kanak yang sah." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "%s ada. Sila masukkan Tema Kanak-kanak yang lain" #~ msgid "The page could not be loaded correctly." #~ msgstr "Halaman tidak dapat dimuat dengan betul." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "Perpustakaan jQuery yang bertentangan atau ketinggalan zaman dimuat oleh " #~ "pemalam lain:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "" #~ "Menyahaktifkan atau mengganti pemalam boleh menyelesaikan masalah ini." #~ msgid "No result found for the selection." #~ msgstr "Hasil tidak dijumpai untuk pemilihan." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%sMengapa saya melihat ini?%s" #~ msgid "Parent / Child" #~ msgstr "Ibu bapa / Anak" #~ msgid "Select an action:" #~ msgstr "Pilih tindakan:" #~ msgid "Create a new Child Theme" #~ msgstr "Buat Tema Kanak-kanak baru" #~ msgid "Configure an existing Child Theme" #~ msgstr "Konfigurasikan Tema Kanak-kanak yang ada" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Gandakan Tema Kanak-kanak yang ada" #~ msgid "Select a Parent Theme:" #~ msgstr "Pilih Tema Ibu Bapa:" #~ msgid "Analyze Parent Theme" #~ msgstr "Menganalisis Tema Ibu Bapa" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "Klik \"Analisis\" untuk menentukan kebergantungan helaian gaya dan " #~ "kemungkinan masalah lain." #~ msgid "Analyze" #~ msgstr "Menganalisis" #~ msgid "Select a Child Theme:" #~ msgstr "Pilih Tema Kanak-kanak:" #~ msgid "Analyze Child Theme" #~ msgstr "Menganalisis Tema Kanak-kanak" #~ msgid "Name the new theme directory:" #~ msgstr "Namakan direktori tema baru:" #~ msgid "Directory Name" #~ msgstr "Nama Direktori" #~ msgid "NOTE:" #~ msgstr "NOTA:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "Ini BUKAN nama Tema Kanak-kanak. Anda boleh menyesuaikan nama, " #~ "keterangan, dll di langkah 7, di bawah." #~ msgid "Verify Child Theme directory:" #~ msgstr "Sahkan direktori Tema Kanak-kanak:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "" #~ "Untuk pengesahan sahaja (anda tidak dapat mengubah direktori Tema Kanak-" #~ "kanak yang ada)." #~ msgid "Select where to save new styles:" #~ msgstr "Pilih tempat menyimpan gaya baru:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Lembaran Gaya Utama (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Simpan gaya tersuai baru terus ke lembaran gaya utama Tema Kanak-kanak, " #~ "menggantikan nilai yang ada. Lembaran gaya utama akan dimuat mengikut " #~ "urutan yang ditetapkan oleh tema." #~ msgid "Separate Stylesheet" #~ msgstr "Lembaran Gaya yang berasingan" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "Simpan gaya tersuai baru ke helaian gaya yang terpisah dan gabungkan gaya " #~ "tema anak yang ada dengan ibu bapa untuk membentuk garis dasar. Pilih " #~ "pilihan ini jika anda ingin mengekalkan gaya tema kanak-kanak yang ada " #~ "dan bukannya menimpanya. Pilihan ini juga membolehkan anda menyesuaikan " #~ "helaian gaya yang dimuat setelah lembaran gaya utama." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Pilih pengendalian lembaran gaya Tema Ibu Bapa:" #~ msgid "Use the WordPress style queue." #~ msgstr "Gunakan barisan gaya WordPress." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "Biarkan Configurator menentukan tindakan dan kebergantungan yang sesuai " #~ "dan mengemas kini fail fungsi secara automatik." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "Gunakan @import di helaian gaya tema anak." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "Hanya gunakan pilihan ini jika helaian gaya induk tidak dapat dimuat " #~ "menggunakan barisan gaya WordPress. Tidak digalakkan menggunakan " #~ "@import ." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Jangan tambah pengendalian helaian gaya ibu bapa." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "Pilih pilihan ini jika tema ini sudah menangani lembaran gaya tema induk " #~ "atau jika fail style.css tema induk tidak digunakan untuk " #~ "penampilannya." #~ msgid "Advanced handling options" #~ msgstr "Pilihan pengendalian lanjutan" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Abaikan helaian gaya tema ibu bapa." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Pilih pilihan ini jika tema ini sudah menangani helaian gaya tema induk " #~ "atau jika fail gaya.css tema induk tidak digunakan untuk penampilannya." #~ msgid "Repair the header template in the child theme." #~ msgstr "Perbaiki templat tajuk dalam tema anak." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "Biarkan Configurator (cuba) menyelesaikan masalah helaian gaya yang " #~ "disenaraikan di atas. Ini dapat menyelesaikan banyak, tetapi tidak semua, " #~ "masalah biasa." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Keluarkan kebergantungan helaian gaya" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Secara lalai, susunan helaian gaya yang dimuat sebelum lembaran gaya " #~ "utama dipelihara dengan memperlakukannya sebagai dependensi. Dalam " #~ "beberapa kes, helaian gaya dikesan dalam pratonton yang tidak digunakan " #~ "di seluruh laman web. Sekiranya perlu, kebergantungan dapat dikeluarkan " #~ "untuk helaian gaya tertentu di bawah." #~ msgid "Child Theme Name" #~ msgstr "Nama Tema Kanak-kanak" #~ msgid "Theme Name" #~ msgstr "Nama Tema" #~ msgid "Theme Website" #~ msgstr "Laman Web Tema" #~ msgid "Author" #~ msgstr "Pengarang" #~ msgid "Author Website" #~ msgstr "Laman Web Pengarang" #~ msgid "Theme Description" #~ msgstr "Huraian Tema" #~ msgid "Description" #~ msgstr "Penerangan" #~ msgid "Tags" #~ msgstr "Teg" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "Salin Menu, Widget dan Tetapan Penyesuai lain dari Tema Ibu Bapa ke Tema " #~ "Anak:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Pilihan ini menggantikan Menu, Widget dan Tetapan Penyesuai Tema Anak " #~ "yang ada dengan Tema Orang Tua. Anda hanya perlu menggunakan pilihan ini " #~ "pada kali pertama anda mengkonfigurasi Tema Kanak-kanak." #~ msgid "Click to run the Configurator:" #~ msgstr "Klik untuk menjalankan Configurator:" #~ msgid "Query / Selector" #~ msgstr "Pertanyaan / Pemilih" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "Untuk mencari pemilih tertentu dalam blok pertanyaan @media, pertama " #~ "pilih pertanyaan, kemudian pemilih. Gunakan pertanyaan \"asas\" untuk " #~ "mengedit semua pemilih lain." #~ msgid "@media Query" #~ msgstr "Pertanyaan @media" #~ msgid "( or \"base\" )" #~ msgstr "(atau \"asas\")" #~ msgid "Selector" #~ msgstr "Pemilih" #~ msgid "Query/Selector Action" #~ msgstr "Pertanyaan / Tindakan Pemilih" #~ msgid "Save Child Values" #~ msgstr "Simpan Nilai Anak" #~ msgid "Delete Child Values" #~ msgstr "Padamkan Nilai Anak" #~ msgid "Property" #~ msgstr "Harta tanah" #~ msgid "Baseline Value" #~ msgstr "Nilai Asas" #~ msgid "Child Value" #~ msgstr "Nilai Anak" #~ msgid "error" #~ msgstr "kesilapan" #~ msgid "You do not have permission to configure child themes." #~ msgstr "" #~ "Anda tidak mempunyai kebenaran untuk mengkonfigurasi tema kanak-kanak." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s tidak wujud. Sila pilih Tema Ibu Bapa yang sah." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Fail Fungsi diperlukan dan tidak dapat dihapuskan." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Sila pilih Tema Ibu Bapa yang sah." #~ msgid "Please select a valid Child Theme." #~ msgstr "Sila pilih Tema Kanak-kanak yang sah." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Sila masukkan nama direktori Tema Kanak-kanak yang sah." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%s ada. Sila masukkan nama templat Tema Kanak-kanak yang " #~ "lain." #~ msgid "Your theme directories are not writable." #~ msgstr "Direktori tema anda tidak boleh ditulis." #~ msgid "Could not upgrade child theme" #~ msgstr "Tidak dapat menaik taraf tema kanak-kanak" #~ msgid "Your stylesheet is not writable." #~ msgstr "Lembaran gaya anda tidak boleh ditulis." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "Tag PHP penutup dikesan dalam fail fungsi tema Anak sehingga pilihan " #~ "\"Pengendalian Lembar Gaya Orang Tua\" tidak dikonfigurasi. Menutup PHP " #~ "di akhir fail tidak digalakkan kerana boleh menyebabkan tajuk HTTP " #~ "pramatang. Sila edit functions.php untuk membuang tag " #~ "?> akhir dan klik \"Jana / Bangun semula Filem Tema Kanak-" #~ "kanak\" sekali lagi." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Tidak dapat menyalin fail: %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Tidak dapat menghapus fail %s." #, php-format #~ msgid "could not copy %s" #~ msgstr "tidak dapat menyalin %s" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "dir tidak sah: %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "Terdapat ralat semasa menetapkan semula kebenaran." #~ msgid "Could not upload file." #~ msgstr "Tidak dapat memuat naik fail." #~ msgid "Invalid theme root directory." #~ msgstr "Direktori root tema tidak sah." #~ msgid "No writable temp directory." #~ msgstr "Tiada direktori temp yang boleh ditulis." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Membongkar gagal -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Pek gagal -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Melebihi bilangan gaya maksimum." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Ralat semasa memindahkan fail: %s" #~ msgid "Could not set write permissions." #~ msgstr "Tidak dapat menetapkan kebenaran menulis." #~ msgid "Error:" #~ msgstr "Ralat:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "" #~ "Tema Anak Analisis Semasa %s telah ditetapkan semula." #~ msgid "Update Key saved successfully." #~ msgstr "Kunci Kemas kini berjaya disimpan." #~ msgid "Child Theme files modified successfully." #~ msgstr "Fail Tema Kanak-kanak berjaya diubah suai." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "Tema Kanak-kanak %s telah berjaya dihasilkan." #~ msgid "Web Fonts & CSS" #~ msgstr "Fon Web & CSS" #~ msgid "Parent Styles" #~ msgstr "Gaya Ibu Bapa" #~ msgid "Child Styles" #~ msgstr "Gaya Kanak-kanak" #~ msgid "View Child Images" #~ msgstr "Lihat Imej Kanak-kanak" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Gunakan @import url ([path]); untuk memautkan helaian gaya " #~ "tambahan. Plugin ini menggunakan kata kunci @import untuk " #~ "mengenal pasti dan menukarnya menjadi tag <link>. " #~ " Contoh: " #~ msgid "Save" #~ msgstr "Jimat" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "" #~ "Memuat naik gambar dengan nama yang sama akan diganti dengan gambar yang " #~ "ada." #~ msgid "Upload New Child Theme Image" #~ msgstr "Muat Naik Gambar Tema Kanak-kanak Baru" #~ msgid "Delete Selected Images" #~ msgstr "Padamkan Gambar Terpilih" #~ msgid "Create a New Directory" #~ msgstr "Buat Direktori Baru" #~ msgid "New Directory will be created in" #~ msgstr "Direktori Baru akan dibuat di" #~ msgid "New Directory Name" #~ msgstr "Nama Direktori Baru" #~ msgid "Create a New File" #~ msgstr "Buat Fail Baru" #~ msgid "New File will be created in" #~ msgstr "Fail Baru akan dibuat di" #~ msgid "New File Name" #~ msgstr "Nama Fail Baru" #~ msgid "File Type Extension" #~ msgstr "Sambungan Jenis Fail" #~ msgid "Choose File Type" #~ msgstr "Pilih Jenis Fail" #~ msgid "PHP File" #~ msgstr "Fail PHP" #~ msgid "CSS File" #~ msgstr "Fail CSS" #~ msgid "JS File" #~ msgstr "Fail JS" #~ msgid "Text File" #~ msgstr "Fail Teks" #~ msgid "PHP File Type" #~ msgstr "Jenis Fail PHP" #~ msgid "Simple PHP File" #~ msgstr "Fail PHP ringkas" #~ msgid "Wordpress Template File" #~ msgstr "Fail Templat Wordpress" #~ msgid "Template Name" #~ msgstr "Nama Templat" #~ msgid "Parent Templates" #~ msgstr "Templat Ibu Bapa" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "Salin templat PHP dari tema induk dengan memilihnya di sini. Configurator " #~ "mendefinisikan templat sebagai fail PHP Tema yang tidak mempunyai fungsi " #~ "atau kelas PHP. Fail PHP yang lain tidak dapat diganti dengan selamat " #~ "oleh tema anak." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "PERHATIAN: Sekiranya tema anak anda aktif, versi tema kanak-kanak fail " #~ "akan digunakan dan bukannya ibu bapa sebaik sahaja disalin." #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "fail dihasilkan secara berasingan dan tidak dapat disalin di sini." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Salin Dipilih ke Tema Kanak-kanak" #~ msgid " Child Theme Files " #~ msgstr "Fail Tema Kanak-kanak" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Klik untuk mengedit fail menggunakan Tema Editor" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Padamkan templat tema kanak-kanak dengan memilihnya di sini." #~ msgid "Delete Selected" #~ msgstr "Padam Terpilih" #~ msgid "Child Theme Screenshot" #~ msgstr "Tangkapan Skrin Tema Kanak-kanak" #~ msgid "Upload New Screenshot" #~ msgstr "Muat Naik Tangkapan Skrin Baru" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "Tangkapan skrin tema mestilah nisbah 4: 3 (mis., 880 piksel x 660 piksel) " #~ "JPG, PNG atau GIF. Ia akan dinamakan semula" #~ msgid "Screenshot" #~ msgstr "Tangkapan Skrin" #~ msgid "Upload New Child Theme Image " #~ msgstr "Muat Naik Gambar Tema Kanak-kanak Baru" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "Gambar tema berada di bawah direktori gambar dalam tema anak anda dan " #~ "dimaksudkan untuk penggunaan gaya gaya sahaja. Gunakan Perpustakaan Media " #~ "untuk gambar kandungan." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Pratonton Tema Kanak-kanak Semasa (Analisis semasa)" #~ msgid "Preview Current Child Theme" #~ msgstr "Pratonton Tema Kanak-kanak Semasa" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Eksport Tema Kanak-kanak sebagai Arkib Zip" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Klik \"Export Zip\" untuk menyimpan sandaran tema kanak-kanak yang sedang " #~ "dimuat. Anda boleh mengeksport tema anda dari tab Ibu Bapa / Anak." #~ msgid "Export Child Theme" #~ msgstr "Eksport Tema Kanak-kanak" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Fail Tema Kanak-kanak berjaya disalin!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "Fail yang anda cuba salin dari Parent Templates tidak ada" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "Fail yang anda cuba salin dari Parent Templates sudah ada dalam fail Tema " #~ "Kanak-kanak." #~ msgid "Child " #~ msgstr "Anak" #~ msgid " and Parent " #~ msgstr "dan Ibu Bapa" #~ msgid " directories doesn't exist!" #~ msgstr "direktori tidak wujud!" #~ msgid " directory doesn't exist!" #~ msgstr "direktori tidak wujud!" #~ msgid "Parent " #~ msgstr "Ibu bapa" #~ msgid "Unknown error! " #~ msgstr "Ralat tidak diketahui!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "Anda tidak mempunyai kebenaran untuk menyalin fail!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Semua fail yang dipilih berjaya dihapuskan!" #~ msgid " does not exists!" #~ msgstr "tidak wujud!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Sambungan fail ini tidak dibenarkan dimuat naik!" #~ msgid "Image uploaded successfully!" #~ msgstr "Gambar berjaya dimuat naik!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Terdapat beberapa masalah dalam memuat naik gambar!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "" #~ "Sambungan fail ini tidak dibenarkan memuat naik sebagai tangkapan skrin " #~ "oleh wordpress!" #~ msgid "File uploaded successfully!" #~ msgstr "Fail berjaya dimuat naik!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Fail Tema Kanak-kanak tidak dapat diubah suai." #~ msgid "File(s) deleted successfully!" #~ msgstr "Fail berjaya dipadam!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "Anda tidak mempunyai kebenaran untuk menghapus fail!" #~ msgid "Entered directory name already exists" #~ msgstr "Nama direktori yang dimasukkan sudah ada" #~ msgid "You don't have permission to create directory!" #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat direktori!" #~ msgid "Wordpress template file created" #~ msgstr "Fail templat Wordpress dibuat" #~ msgid "Wordpress template file not created" #~ msgstr "Fail templat Wordpress tidak dibuat" #~ msgid "PHP created file successfully" #~ msgstr "PHP berjaya membuat fail" #~ msgid "PHP file not created" #~ msgstr "Fail PHP tidak dibuat" #~ msgid " file not created" #~ msgstr "fail tidak dibuat" #~ msgid "Already exists" #~ msgstr "Sudah wujud" #~ msgid "You don't have permission to create file!" #~ msgstr "Anda tidak mempunyai kebenaran untuk membuat fail!" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "buat, edit, muat naik, muat turun, hapus Fail Tema dan folder" #~ msgid "Language folder has been downlaoded." #~ msgstr "Folder bahasa telah diturunkan." #~ msgid "Add single or multiple languages." #~ msgstr "Tambahkan bahasa tunggal atau berbilang." #~ msgid "Add single language file" #~ msgstr "Tambahkan fail bahasa tunggal" #~ msgid "Please click on language button." #~ msgstr "Sila tekan butang bahasa." #~ msgid "Add all languages zip folder" #~ msgstr "Tambahkan folder zip semua bahasa" #~ msgid "Zip Download" #~ msgstr "Muat turun Zip" wp-file-manager/languages/wp-file-manager-nl_NL.mo000064400000042151151202472330015777 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&|&/((()C).*.H*w*#}**J+N,LO,,@,1,0- O- \-i-'x--,--.. 5..?.n.w. .... ..#././5/!F/h/#/ / / / ////0'#0K0f05{000]1*r11%1?123&$3K3[3a3h3U45&5C5f6k6777 77 7P74>8s888 8889 $9T/9_99 :%:(:3+: _:#::#: : ::;(;@;dZ;d;$<%-<S< p<(<5< < < ==.-='\= =4=== = == >'> E>R>m>$>+>>>$>$?:?1M??$???#?@@.@G@O@X@x@@@@@A+AHAYA aAAA#A AAA&B.BGBC4-CWbCYCTD}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: Theme Editor PO-Revision-Date: 2022-02-28 11:05+0530 Last-Translator: Language-Team: Language: nl_NL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: . * voor alle bewerkingen en om sommige bewerkingen mogelijk te maken, kunt u de naam van de bewerking vermelden als, allow_operations="upload,download". Opmerking: gescheiden door komma(,). Standaard: *-> Het verbiedt bepaalde gebruikers door hun id's gescheiden door komma's (,) te plaatsen. Als de gebruiker Ban is, hebben ze geen toegang tot wp-bestandsbeheer aan de voorkant.-> Bestandsbeheerthema. Standaard: Light-> Bestand gewijzigd of datumformaat maken. Standaard: d M, Y h:i A-> Bestandsbeheer Taal. Standaard: English(en)-> Bestandsbeheer UI-weergave. Standaard: gridActieActies bij geselecteerde back-up(s)Beheerder kan acties van elke gebruiker beperken. Verberg ook bestanden en mappen en kan verschillende - verschillende mappaden instellen voor verschillende gebruikers.Beheerder kan acties van elke gebruikersrol beperken. Verberg ook bestanden en mappen en kan verschillende - verschillende mappenpaden instellen voor verschillende gebruikersrollen.Nadat u de prullenbak hebt ingeschakeld, gaan uw bestanden naar de prullenbak.Nadat u dit hebt ingeschakeld, gaan alle bestanden naar de mediabibliotheek.Helemaal klaarWeet u zeker dat u de geselecteerde back-up(s) wilt verwijderen?Weet u zeker dat u deze back-up wilt verwijderen?Weet u zeker dat u deze back-up wilt herstellen?Back-updatumNu backuppenBack-upopties:Back-upgegevens (klik om te downloaden)Back-upbestanden zijn onderBack-up wordt uitgevoerd, even geduld a.u.b.Back-up succesvol verwijderd.Backup herstelBack-ups succesvol verwijderd!verbiedenBrowser en besturingssysteem (HTTP_USER_AGENT)Koop PROKoop ProannulerenVerander hier het thema:Klik om PRO te kopenCode-editor weergaveBevestigenBestanden of mappen kopiërenMomenteel geen back-up(s) gevonden.VERWIJDER BESTANDENDonkerDatabase back-upDatabase back-up gedaan op datum Databaseback-up gedaan.Databaseback-up succesvol hersteld.StandaardStandaard:VerwijderenDeselecterenNegeer deze melding.DonerenBestanden downloaden LogboekenBestanden downloadenEen map of bestand dupliceren of klonenBestandslogboeken bewerkenEen bestand bewerkenBestanden uploaden naar mediabibliotheek inschakelen?Prullenbak inschakelen?Fout: kan back-up niet herstellen omdat databaseback-up zwaar is. Probeer de maximaal toegestane grootte te vergroten via de voorkeursinstellingen.Bestaande back-up(s)Archief of gecomprimeerd bestand uitpakkenBestandsbeheer - ShortcodeBestandsbeheer - SysteemeigenschappenBestandsbeheer Root Path, u kunt dit naar eigen keuze wijzigen.Bestandsbeheer heeft een code-editor met meerdere thema's. U kunt elk thema voor de code-editor selecteren. Het wordt weergegeven wanneer u een bestand bewerkt. U kunt ook de modus voor volledig scherm van de code-editor toestaan.Lijst met bestandsbewerkingen:Bestand bestaat niet om te downloaden.Bestandsback-upGrijsHelpenHier is "test" de naam van de map die zich in de hoofdmap bevindt, of u kunt een pad opgeven voor submappen zoals "wp-content/plugins". Als u dit blanco of leeg laat, heeft het toegang tot alle mappen in de hoofdmap. Standaard: HoofdmapHier kan de beheerder toegang geven tot gebruikersrollen om bestandsbeheer te gebruiken. De beheerder kan de standaardtoegangsmap instellen en ook de uploadgrootte van bestandsbeheer beheren.Info van bestandOngeldige beveiligings code.Het geeft alle rollen toegang tot bestandsbeheer aan de front-end of u kunt het eenvoudig gebruiken voor bepaalde gebruikersrollen, zoals allow_roles="editor,author" (gescheiden door komma(,))Het wordt tussen komma's vermeld. je kunt meer vergrendelen zoals ".php,.css,.js" etc. Standaard: NullHet toont bestandsbeheer aan de voorkant. Maar alleen de beheerder heeft er toegang toe en beheert de instellingen vanuit de bestandsbeheerinstellingen.Het toont bestandsbeheer aan de voorkant. U kunt alle instellingen beheren vanuit de instellingen van bestandsbeheer. Het werkt hetzelfde als backend WP File Manager.Laatste logberichtLichtLogboekenMap of map makenBestand makenMaximaal toegestane grootte op het moment dat de databaseback-up wordt hersteld.Maximale bestandsuploadgrootte (upload_max_filesize)Geheugenlimiet (memory_limit)Ontbrekende back-up-ID.Ontbrekend parametertype.Ontbrekende vereiste parameters.Nee, dank u welGeen logberichtAnderen back-up gedaan op datumOpmerking:Opmerking: dit zijn demo-screenshots. Koop a.u.b. File Manager pro to Logs-functies.Opmerking: dit is slechts een demo-screenshot. Koop onze pro-versie om instellingen te krijgen.Niets geselecteerd voor back-upNiets geselecteerd voor back-up.OKOKAnderen (alle andere mappen gevonden in wp-content)Anderen back-up gedaan op datum Anderen hebben een back-up gemaakt.Anderen back-up mislukt.Anderen back-up succesvol hersteld.PHP-versieParameters:Een bestand of map plakkenVoer e-mailadres in.Vul a.u.b. voornaam in.Vul a.u.b. achternaam in.Wijzig dit zorgvuldig, een verkeerd pad kan ertoe leiden dat de plug-in voor bestandsbeheer uitvalt.Verhoog de veldwaarde als u een foutmelding krijgt op het moment van het terugzetten van de back-up.Plug-insBack-up van plug-ins gedaan op datum Back-up van plug-ins gedaan.Back-up van plug-ins is mislukt.Back-up van plug-ins succesvol hersteld.Maximale bestandsuploadgrootte posten (post_max_size)VoorkeurenPrivacybeleidOpenbaar hoofdpadHERSTEL BESTANDENBestanden en mappen verwijderen of verwijderenDe naam van een bestand of map wijzigenHerstellenHet terugzetten wordt uitgevoerd, even geduld a.u.b.SUCCESWijzigingen opslaanBesparen...Zoek dingenBeveiligingsprobleem.Selecteer allesSelecteer back-up(s) om te verwijderen!InstellingenInstellingen - Code-editorInstellingen - AlgemeenInstellingen - GebruikersbeperkingenInstellingen - Beperkingen gebruikersrollenInstellingen opgeslagen.Shortcode - PROEenvoudig een bestand of map knippenSysteem eigenschappenServicevoorwaardenDe back-up is blijkbaar gelukt en is nu voltooid.Thema'sBack-up van thema's gedaan op datum Thema's back-up gedaan.Back-up van thema's is mislukt.Thema's back-up succesvol hersteld.Tijd nuTime-out (max_execution_time)Een archief of zip makenVandaagGEBRUIK:Kan geen databaseback-up maken.Kan back-up niet verwijderen!Kan DB-back-up niet herstellen.Kan anderen niet herstellen.Kan plug-ins niet herstellen.Kan thema's niet herstellen.Kan uploads niet herstellen.Bestanden uploaden LogboekenUpload bestandenUploadsUploads back-up gedaan op datum Uploads back-up gedaan.Uploaden back-up mislukt.Uploadt back-up succesvol hersteld.VerifiërenLogboek bekijkenWP BestandsbeheerWP Bestandsbeheer - Back-up/HerstellenBijdrage WP File ManagerWe maken graag nieuwe vrienden! Schrijf je hieronder in en we beloven je u op de hoogte houden van onze laatste nieuwe plug-ins, updates, geweldige aanbiedingen en een paar speciale aanbiedingen.Welkom bij BestandsbeheerU heeft geen wijzigingen aangebracht om op te slaan.voor toegang om bestanden te lezen toestemming, opmerking: waar/onwaar, standaard: waarvoor toegang tot schrijfrechten voor bestanden, opmerking: waar/onwaar, standaard: onwaarhet zal hier genoemd verbergen. Opmerking: gescheiden door komma(,). Standaard: Nullwp-file-manager/languages/wp-file-manager-nl_NL.po000064400000234426151202472330016012 0ustar00msgid "" msgstr "" "Project-Id-Version: Theme Editor\n" "POT-Creation-Date: 2022-02-28 10:59+0530\n" "PO-Revision-Date: 2022-02-28 11:05+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Thema's back-up succesvol hersteld." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Kan thema's niet herstellen." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Uploadt back-up succesvol hersteld." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Kan uploads niet herstellen." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Anderen back-up succesvol hersteld." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Kan anderen niet herstellen." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Back-up van plug-ins succesvol hersteld." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Kan plug-ins niet herstellen." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Databaseback-up succesvol hersteld." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Helemaal klaar" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Kan DB-back-up niet herstellen." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Back-ups succesvol verwijderd!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Kan back-up niet verwijderen!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Database back-up gedaan op datum " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Back-up van plug-ins gedaan op datum " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Back-up van thema's gedaan op datum " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Uploads back-up gedaan op datum " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Anderen back-up gedaan op datum " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Logboeken" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Anderen back-up gedaan op datum" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Niets geselecteerd voor back-up" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Beveiligingsprobleem." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Databaseback-up gedaan." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Kan geen databaseback-up maken." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Back-up van plug-ins gedaan." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Back-up van plug-ins is mislukt." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Thema's back-up gedaan." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Back-up van thema's is mislukt." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Uploads back-up gedaan." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Uploaden back-up mislukt." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Anderen hebben een back-up gemaakt." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Anderen back-up mislukt." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP Bestandsbeheer" #: file_folder_manager.php:769 msgid "Settings" msgstr "Instellingen" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Voorkeuren" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Systeem eigenschappen" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Backup herstel" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Koop Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Doneren" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Bestand bestaat niet om te downloaden." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Ongeldige beveiligings code." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Ontbrekende back-up-ID." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Ontbrekend parametertype." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Ontbrekende vereiste parameters." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Fout: kan back-up niet herstellen omdat databaseback-up zwaar is. Probeer de " "maximaal toegestane grootte te vergroten via de voorkeursinstellingen." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Selecteer back-up(s) om te verwijderen!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Weet u zeker dat u de geselecteerde back-up(s) wilt verwijderen?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Back-up wordt uitgevoerd, even geduld a.u.b." #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Het terugzetten wordt uitgevoerd, even geduld a.u.b." #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Niets geselecteerd voor back-up." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP Bestandsbeheer - Back-up/Herstellen" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Back-upopties:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Database back-up" #: inc/backup.php:64 msgid "Files Backup" msgstr "Bestandsback-up" #: inc/backup.php:68 msgid "Plugins" msgstr "Plug-ins" #: inc/backup.php:71 msgid "Themes" msgstr "Thema's" #: inc/backup.php:74 msgid "Uploads" msgstr "Uploads" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Anderen (alle andere mappen gevonden in wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Nu backuppen" #: inc/backup.php:89 msgid "Time now" msgstr "Tijd nu" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUCCES" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Back-up succesvol verwijderd." #: inc/backup.php:102 msgid "Ok" msgstr "OK" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "VERWIJDER BESTANDEN" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Weet u zeker dat u deze back-up wilt verwijderen?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "annuleren" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Bevestigen" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "HERSTEL BESTANDEN" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Weet u zeker dat u deze back-up wilt herstellen?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Laatste logbericht" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "De back-up is blijkbaar gelukt en is nu voltooid." #: inc/backup.php:171 msgid "No log message" msgstr "Geen logbericht" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Bestaande back-up(s)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Back-updatum" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Back-upgegevens (klik om te downloaden)" #: inc/backup.php:190 msgid "Action" msgstr "Actie" #: inc/backup.php:210 msgid "Today" msgstr "Vandaag" #: inc/backup.php:239 msgid "Restore" msgstr "Herstellen" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Verwijderen" #: inc/backup.php:241 msgid "View Log" msgstr "Logboek bekijken" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Momenteel geen back-up(s) gevonden." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Acties bij geselecteerde back-up(s)" #: inc/backup.php:251 msgid "Select All" msgstr "Selecteer alles" #: inc/backup.php:252 msgid "Deselect" msgstr "Deselecteren" #: inc/backup.php:254 msgid "Note:" msgstr "Opmerking:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Back-upbestanden zijn onder" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Bijdrage WP File Manager" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Opmerking: dit zijn demo-screenshots. Koop a.u.b. File Manager pro to Logs-" "functies." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klik om PRO te kopen" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Koop PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Bestandslogboeken bewerken" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Bestanden downloaden Logboeken" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Bestanden uploaden Logboeken" #: inc/root.php:43 msgid "Settings saved." msgstr "Instellingen opgeslagen." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Negeer deze melding." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "U heeft geen wijzigingen aangebracht om op te slaan." #: inc/root.php:55 msgid "Public Root Path" msgstr "Openbaar hoofdpad" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Bestandsbeheer Root Path, u kunt dit naar eigen keuze wijzigen." #: inc/root.php:59 msgid "Default:" msgstr "Standaard:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Wijzig dit zorgvuldig, een verkeerd pad kan ertoe leiden dat de plug-in voor " "bestandsbeheer uitvalt." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Prullenbak inschakelen?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Nadat u de prullenbak hebt ingeschakeld, gaan uw bestanden naar de prullenbak." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Bestanden uploaden naar mediabibliotheek inschakelen?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Nadat u dit hebt ingeschakeld, gaan alle bestanden naar de mediabibliotheek." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maximaal toegestane grootte op het moment dat de databaseback-up wordt " "hersteld." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Verhoog de veldwaarde als u een foutmelding krijgt op het moment van het " "terugzetten van de back-up." #: inc/root.php:90 msgid "Save Changes" msgstr "Wijzigingen opslaan" #: inc/settings.php:10 msgid "Settings - General" msgstr "Instellingen - Algemeen" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Opmerking: dit is slechts een demo-screenshot. Koop onze pro-versie om " "instellingen te krijgen." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Hier kan de beheerder toegang geven tot gebruikersrollen om bestandsbeheer te " "gebruiken. De beheerder kan de standaardtoegangsmap instellen en ook de " "uploadgrootte van bestandsbeheer beheren." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Instellingen - Code-editor" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any theme " "for code editor. It will display when you edit any file. Also you can allow " "fullscreen mode of code editor." msgstr "" "Bestandsbeheer heeft een code-editor met meerdere thema's. U kunt elk thema " "voor de code-editor selecteren. Het wordt weergegeven wanneer u een bestand " "bewerkt. U kunt ook de modus voor volledig scherm van de code-editor toestaan." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Code-editor weergave" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Instellingen - Gebruikersbeperkingen" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Beheerder kan acties van elke gebruiker beperken. Verberg ook bestanden en " "mappen en kan verschillende - verschillende mappaden instellen voor " "verschillende gebruikers." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Instellingen - Beperkingen gebruikersrollen" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Beheerder kan acties van elke gebruikersrol beperken. Verberg ook bestanden en " "mappen en kan verschillende - verschillende mappenpaden instellen voor " "verschillende gebruikersrollen." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Bestandsbeheer - Shortcode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 inc/shortcode_docs.php:19 msgid "USE:" msgstr "GEBRUIK:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from file " "manager settings. It will work same as backend WP File Manager." msgstr "" "Het toont bestandsbeheer aan de voorkant. U kunt alle instellingen beheren " "vanuit de instellingen van bestandsbeheer. Het werkt hetzelfde als backend WP " "File Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Het toont bestandsbeheer aan de voorkant. Maar alleen de beheerder heeft er " "toegang toe en beheert de instellingen vanuit de bestandsbeheerinstellingen." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parameters:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can simple " "use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Het geeft alle rollen toegang tot bestandsbeheer aan de front-end of u kunt " "het eenvoudig gebruiken voor bepaalde gebruikersrollen, zoals allow_roles=" "\"editor,author\" (gescheiden door komma(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or you " "can give path for sub folders as like \"wp-content/plugins\". If leave blank " "or empty it will access all folders on root directory. Default: Root directory" msgstr "" "Hier is \"test\" de naam van de map die zich in de hoofdmap bevindt, of u kunt " "een pad opgeven voor submappen zoals \"wp-content/plugins\". Als u dit blanco " "of leeg laat, heeft het toegang tot alle mappen in de hoofdmap. Standaard: " "Hoofdmap" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "voor toegang tot schrijfrechten voor bestanden, opmerking: waar/onwaar, " "standaard: onwaar" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "voor toegang om bestanden te lezen toestemming, opmerking: waar/onwaar, " "standaard: waar" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "het zal hier genoemd verbergen. Opmerking: gescheiden door komma(,). " "Standaard: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js\" " "etc. Default: Null" msgstr "" "Het wordt tussen komma's vermeld. je kunt meer vergrendelen zoals \".php,.css,." "js\" etc. Standaard: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* voor alle bewerkingen en om sommige bewerkingen mogelijk te maken, kunt u de " "naam van de bewerking vermelden als, allow_operations=\"upload,download\". " "Opmerking: gescheiden door komma(,). Standaard: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lijst met bestandsbewerkingen:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Map of map maken" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Bestand maken" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "De naam van een bestand of map wijzigen" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Een map of bestand dupliceren of klonen" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Een bestand of map plakken" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "verbieden" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Een archief of zip maken" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Archief of gecomprimeerd bestand uitpakken" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Bestanden of mappen kopiëren" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Eenvoudig een bestand of map knippen" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Een bestand bewerken" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Bestanden en mappen verwijderen of verwijderen" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Bestanden downloaden" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Upload bestanden" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Zoek dingen" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Info van bestand" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Helpen" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager on " "front end." msgstr "" "-> Het verbiedt bepaalde gebruikers door hun id's gescheiden door komma's (,) " "te plaatsen. Als de gebruiker Ban is, hebben ze geen toegang tot wp-" "bestandsbeheer aan de voorkant." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Bestandsbeheer UI-weergave. Standaard: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Bestand gewijzigd of datumformaat maken. Standaard: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Bestandsbeheer Taal. Standaard: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Bestandsbeheerthema. Standaard: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Bestandsbeheer - Systeemeigenschappen" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP-versie" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maximale bestandsuploadgrootte (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Maximale bestandsuploadgrootte posten (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Geheugenlimiet (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Time-out (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Browser en besturingssysteem (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Verander hier het thema:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Standaard" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Donker" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Licht" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Grijs" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Welkom bij Bestandsbeheer" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "We maken graag nieuwe vrienden! Schrijf je hieronder in en we beloven je\n" " u op de hoogte houden van onze laatste nieuwe plug-ins, updates,\n" " geweldige aanbiedingen en een paar speciale aanbiedingen." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Vul a.u.b. voornaam in." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Vul a.u.b. achternaam in." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Voer e-mailadres in." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verifiëren" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nee, dank u wel" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Servicevoorwaarden" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Privacybeleid" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Besparen..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Backup not found!" #~ msgstr "Back-up niet gevonden!" #~ msgid "Backup removed successfully!" #~ msgstr "Back-up succesvol verwijderd!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Niets geselecteerd voor back-up" #~ msgid "Security Issue." #~ msgstr "Beveiligingsprobleem." #~ msgid "Database backup done." #~ msgstr "Databaseback-up klaar." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Kan geen databaseback-up maken." #~ msgid "Plugins backup done." #~ msgstr "Back-up van plug-ins klaar." #~ msgid "Plugins backup failed." #~ msgstr "Back-up van plug-ins mislukt." #~ msgid "Themes backup done." #~ msgstr "" #~ "Back-up van thema's voltooid." #~ msgid "Themes backup failed." #~ msgstr "Back-up van thema's mislukt." #~ msgid "Uploads backup done." #~ msgstr "Uploads back-up gedaan." #~ msgid "Uploads backup failed." #~ msgstr "Uploaden van back-up mislukt." #~ msgid "Others backup done." #~ msgstr "Andere back-up gedaan." #~ msgid "Others backup failed." #~ msgstr "Andere back-up mislukt." #~ msgid "All Done" #~ msgstr "Alles klaar" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" dateformat=" #~ "\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=\"wp-content/" #~ "plugins\" write = \"true\" read = \"false\" hide_files = \"kumar,abc.php\" " #~ "lock_extensions=\".php,.css\" allowed_operations=\"upload,download\" " #~ "ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" dateformat=" #~ "\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=\"wp-content/" #~ "plugins\" write = \"true\" read = \"false\" hide_files = \"kumar,abc.php\" " #~ "lock_extensions=\".php,.css\" allowed_operations=\"upload,download\" " #~ "ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Beeld" #~ msgid "of" #~ msgstr "van" #~ msgid "Close" #~ msgstr "Dichtbij" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Deze functie vereist inline frames. Je hebt iframes uitgeschakeld of je " #~ "browser ondersteunt ze niet." #~ msgid "Theme Editor" #~ msgstr "Thema-editor" #~ msgid "Plugin Editor" #~ msgstr "Plug-in-editor" #~ msgid "Access Control" #~ msgstr "Toegangscontrole" #~ msgid "Notify Me" #~ msgstr "Breng me op de hoogte" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "taal is succesvol gedownload." #~ msgid "Language folder failed to downlaod." #~ msgstr "Taalmap kan niet worden gedownload." #~ msgid "Security token expired!" #~ msgstr "Beveiligingstoken is verlopen!" #~ msgid " language has been downloaded successfully." #~ msgstr "taal is succesvol gedownload." #~ msgid "Currently language " #~ msgstr "Momenteel taal " #~ msgid " not available. Please click on the request language link." #~ msgstr " niet beschikbaar. Klik op de link voor het aanvragen van taal." #~ msgid "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "" #~ "U heeft niet voldoende rechten om plug-ins voor deze site te bewerken." #~ msgid "There are no plugins installed on this site." #~ msgstr "Er zijn geen plug-ins geïnstalleerd op deze site." #~ msgid "There are no themes installed on this site." #~ msgstr "Er zijn geen thema's op deze site geïnstalleerd." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Voer de mapnaam in!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Voer de bestandsnaam in!

        " #~ msgid "Preview" #~ msgstr "Voorbeeld" #~ msgid "Edit" #~ msgstr "Bewerk" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Weet u zeker dat u het uploaden van het bestand wilt afbreken?" #~ msgid "File renamed successfully." #~ msgstr "Bestand hernoemd met succes." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Weet u zeker dat u de map wilt verwijderen?" #~ msgid "Folder deleted successfully." #~ msgstr "Map succesvol verwijderd." #~ msgid "File deleted successfully." #~ msgstr "Bestand succesvol verwijderd." #~ msgid "Folder renamed successfully." #~ msgstr "Map succesvol hernoemd." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Niet meer dan 30 tekens toegestaan.

        " #~ msgid "Invalid request!" #~ msgstr "Ongeldig verzoek!" #~ msgid "No change in file!" #~ msgstr "Geen wijziging in bestand!" #~ msgid "File saved successfully!" #~ msgstr "Bestand succesvol opgeslagen!" #~ msgid "File not saved!" #~ msgstr "Bestand niet opgeslagen!" #~ msgid "Unable to verify security token!" #~ msgstr "Kan beveiligingstoken niet verifiëren!" #~ msgid "Folder created successfully!" #~ msgstr "Map succesvol aangemaakt!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Dit mapformaat mag niet worden geüpload door wordpress!" #~ msgid "Folder already exists!" #~ msgstr "Map bestaat al!" #~ msgid "File created successfully!" #~ msgstr "Bestand succesvol aangemaakt!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Deze bestandsextensie mag niet worden aangemaakt!" #~ msgid "File already exists!" #~ msgstr "Bestand bestaat al!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Voer een geldige bestandsextensie in!" #~ msgid "Folder does not exists!" #~ msgstr "Map bestaat niet!" #~ msgid "Folder deleted successfully!" #~ msgstr "Map succesvol verwijderd!" #~ msgid "File deleted successfully!" #~ msgstr "Bestand succesvol verwijderd!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "" #~ "Deze bestandsextensie is niet toegestaan ​​om te uploaden via wordpress!" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Bestand succesvol geüpload: Pad naar geüpload bestand is " #~ msgid "No file selected" #~ msgstr "Geen bestand geselecteerd" #~ msgid "Unable to rename file! Try again." #~ msgstr "Kan bestand niet hernoemen! Probeer het opnieuw." #~ msgid "Folder renamed successfully!" #~ msgstr "Map succesvol hernoemd!" #~ msgid "Please enter correct folder name" #~ msgstr "Voer de juiste mapnaam in" #~ msgid "How can we help?" #~ msgstr "Hoe kunnen we helpen?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "Leermiddelen, professionele ondersteuning en deskundige hulp." #~ msgid "Documentation" #~ msgstr "Documentatie" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Vind snel antwoorden in onze uitgebreide documentatie." #~ msgid "Learn More" #~ msgstr "Kom meer te weten" #~ msgid "Contact Us" #~ msgstr "Neem contact op" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "Dien een supportticket in voor antwoorden op eventuele vragen." #~ msgid "Request a Feature" #~ msgstr "Vraag een functie aan" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "Vertel ons wat je wilt en voeg het toe aan onze roadmap." #~ msgid "Tell us what you think!" #~ msgstr "Vertel ons wat je denkt!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Beoordeel en geef ons een recensie over Wordpress!" #~ msgid "Leave a Review" #~ msgstr "Laat een beoordeling achter" #~ msgid "Update" #~ msgstr "Bijwerken" #~ msgid "Installed" #~ msgstr "Geïnstalleerd" #~ msgid "Theme Editor Pro Language:" #~ msgstr "Theme Editor Pro Taal:" #~ msgid " language" #~ msgstr " taal" #~ msgid "Click here to install/update " #~ msgstr "Klik hier om te installeren / updaten" #~ msgid " language translation for Theme Editor Pro." #~ msgstr " taalvertaling voor Theme Editor Pro." #~ msgid "Available languages" #~ msgstr "Beschikbare talen" #~ msgid "Click here to download all available languages." #~ msgstr "Klik hier om alle beschikbare talen te downloaden." #~ msgid "Request a language" #~ msgstr "Een taal aanvragen" #~ msgid "Tell us which language you want to add." #~ msgstr "Vertel ons welke taal u wilt toevoegen." #~ msgid "Contact us" #~ msgstr "Neem contact op" #~ msgid "Notifications" #~ msgstr "Meldingen" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ msgstr "" #~ "Opmerking: dit is slechts een screenshot. Koop een PRO-versie voor " #~ "deze functie." #~ msgid "Permissions" #~ msgstr "Rechten" #~ msgid "Edit Plugin" #~ msgstr "Bewerk plug-in" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Deze plug-in is momenteel geactiveerd! Waarschuwing: het " #~ "wordt niet aanbevolen om wijzigingen aan te brengen in actieve plug-ins. " #~ "Als uw wijzigingen een fatale fout veroorzaken, wordt de plug-in " #~ "automatisch gedeactiveerd." #~ msgid "Editing " #~ msgstr "Bewerken " #~ msgid " (active)" #~ msgstr " (actief)" #~ msgid "Browsing " #~ msgstr "Browsen " #~ msgid " (inactive)" #~ msgstr " (inactief)" #~ msgid "Update File" #~ msgstr "Update bestand" #~ msgid "Download Plugin" #~ msgstr "Plug-in downloaden" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "U moet dit bestand beschrijfbaar maken voordat u uw wijzigingen kunt " #~ "opslaan. Zie de Codex voor meer informatie." #~ msgid "Select plugin to edit:" #~ msgstr "Selecteer plug-in om te bewerken:" #~ msgid "Create Folder and File" #~ msgstr "Maak een map en bestand" #~ msgid "Create" #~ msgstr "Creëer" #~ msgid "Remove Folder and File" #~ msgstr "Verwijder map en bestand" #~ msgid "Remove " #~ msgstr "Verwijderen" #~ msgid "To" #~ msgstr "Naar" #~ msgid "Optional: Sub-Directory" #~ msgstr "Optioneel: subdirectory" #~ msgid "Choose File " #~ msgstr "Kies bestand" #~ msgid "No file Chosen " #~ msgstr "Geen bestand gekozen" #~ msgid "Create a New Folder: " #~ msgstr "Maak een nieuwe folder:" #~ msgid "New folder will be created in: " #~ msgstr "Er wordt een nieuwe map gemaakt in:" #~ msgid "New Folder Name: " #~ msgstr "Nieuwe mapnaam:" #~ msgid "Create New Folder" #~ msgstr "Nieuwe map maken" #~ msgid "Create a New File: " #~ msgstr "Maak een nieuw bestand:" #~ msgid "New File will be created in: " #~ msgstr "Nieuw bestand wordt aangemaakt in:" #~ msgid "New File Name: " #~ msgstr "Nieuwe bestandsnaam:" #~ msgid "Create New File" #~ msgstr "Maak een nieuw bestand" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "" #~ "Waarschuwing: wees voorzichtig voordat u een map of bestand verwijdert." #~ msgid "Current Theme Path: " #~ msgstr "Huidig themapad:" #~ msgid "Remove Folder: " #~ msgstr "Map verwijderen:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Mappad dat u wilt verwijderen: " #~ msgid "Remove Folder" #~ msgstr "Map verwijderen" #~ msgid "Remove File: " #~ msgstr "Bestand verwijderen:" #~ msgid "File Path which you want to remove: " #~ msgstr "Bestandspad dat u wilt verwijderen: " #~ msgid "Remove File" #~ msgstr "Bestand verwijderen" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Vul alstublieft een geldig e-mailadres in." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "Waarschuwing: wees voorzichtig voordat u een map of bestand hernoemt." #~ msgid "File/Folder will be rename in: " #~ msgstr "Bestand / map wordt hernoemd in:" #~ msgid "File/Folder Rename: " #~ msgstr "Bestand / map hernoemen:" #~ msgid "Follow us" #~ msgstr "Volg ons" #~ msgid "Theme Editor Facebook" #~ msgstr "Thema-editor Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "Thema-editor Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "Thema-editor Twitter" #~ msgid "Theme Editor Linkedin" #~ msgstr "Thema-editor Linkedin" #~ msgid "Theme Editor Youtube" #~ msgstr "Thema-editor YouTube" #~ msgid "Go to ThemeEditor site" #~ msgstr "Ga naar de ThemeEditor-site" #~ msgid "Theme Editor Links" #~ msgstr "Theme Editor Links" #~ msgid "Child Theme" #~ msgstr "Thema van het kind" #~ msgid "Child Theme Permissions" #~ msgstr "Toestemmingen voor kindthema" #~ msgid " is not available. Please click " #~ msgstr " is niet beschikbaar. Klik alstublieft " #~ msgid "here" #~ msgstr "hier" #~ msgid "to request language." #~ msgstr "om taal te vragen." #~ msgid "Click" #~ msgstr "Klik" #~ msgid "to install " #~ msgstr "to install " #~ msgid " language translation for Theme Editor Pro" #~ msgstr " taalvertaling voor Theme Editor Pro" #~ msgid "Success: Settings Saved!" #~ msgstr "Succes: instellingen opgeslagen!" #~ msgid "No changes have been made to save." #~ msgstr "Er zijn geen wijzigingen aangebracht om op te slaan." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Thema-editor inschakelen voor thema's" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nee" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "Hiermee wordt de thema-editor in-/uitgeschakeld.
        Standaard: Ja" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Standaard WordPress Theme Editor uitschakelen?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "Hiermee wordt de standaard thema-editor in-/uitgeschakeld.
        Standaard: Ja" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Plugin-editor inschakelen voor plug-in" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "Hiermee wordt de plug-in-editor in-/uitgeschakeld.
        Standaard: Ja" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Standaard WordPress Plugin Editor uitschakelen?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "Hiermee wordt de standaard plug-in-editor in-/uitgeschakeld.
        Standaard: Ja" #~ msgid "Code Editor" #~ msgstr "Code-editor" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Hiermee kunt u een thema selecteren voor de thema-editor.
        Standaard: Kobalt" #~ msgid "Edit Themes" #~ msgstr "Thema's bewerken" #~ msgid "" #~ "This theme is currently activated! Warning: Making changes " #~ "to active themes is not recommended." #~ msgstr "" #~ " Dit thema is momenteel geactiveerd! Waarschuwing: het " #~ "wordt niet aanbevolen wijzigingen aan te brengen in actieve thema's." #~ msgid "Editing" #~ msgstr "Bewerken" #~ msgid "Browsing" #~ msgstr "Browsen" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Update bestand en probeer opnieuw te activeren" #~ msgid "Download Theme" #~ msgstr "Thema downloaden" #~ msgid "Select theme to edit:" #~ msgstr "Selecteer een thema om te bewerken:" #~ msgid "Theme Files" #~ msgstr "Themabestanden" #~ msgid "Choose File" #~ msgstr "Kies bestand" #~ msgid "No File Chosen" #~ msgstr "Geen bestand gekozen" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "" #~ "Waarschuwing: wees voorzichtig voordat u een map of bestand verwijdert." #~ msgid "Child Theme Permission" #~ msgstr "Toestemming voor kinderthema" #~ msgid "Translations" #~ msgstr "Vertalingen" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "U bent niet gemachtigd om een ​​nieuw child-thema te maken." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "" #~ "U bent niet gemachtigd om het configureren van een bestaand child-thema te " #~ "wijzigen." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "U bent niet gemachtigd om kinderbestanden te verwijderen." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "U heeft geen toestemming om het vraag- / selectiemenu te openen." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "U heeft geen toestemming om het webfonts & CSS-menu te openen." #~ msgid "You do not have the permission to copy files." #~ msgstr "U heeft geen toestemming om bestanden te kopiëren." #~ msgid "You do not have the permission to delete child files." #~ msgstr "U heeft geen toestemming om kinderbestanden te verwijderen." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "U heeft geen toestemming om een ​​nieuwe screenshot te uploaden." #~ msgid "You do not have the permission to upload new images." #~ msgstr "U heeft geen toestemming om nieuwe afbeeldingen te uploaden." #~ msgid "You do not have the permission to delete images." #~ msgstr "U heeft geen toestemming om afbeeldingen te verwijderen." #~ msgid "You do not have the permission to download file." #~ msgstr "U heeft geen toestemming om het bestand te downloaden." #~ msgid "You do not have the permission to create new directory." #~ msgstr "U heeft geen toestemming om een ​​nieuwe directory te maken." #~ msgid "You do not have the permission to create new file." #~ msgstr "U bent niet gemachtigd om een ​​nieuw bestand aan te maken." #~ msgid "You don't have permission to update file!" #~ msgstr "U bent niet gemachtigd om het bestand bij te werken!" #~ msgid "You don't have permission to create folder!" #~ msgstr "U bent niet gemachtigd om een ​​map te maken!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "U bent niet gemachtigd om een ​​map te verwijderen!" #~ msgid "You don't have permission to delete file!" #~ msgstr "U bent niet gemachtigd om een ​​bestand te verwijderen!" #~ msgid "You don't have permission to upload file!" #~ msgstr "U bent niet gemachtigd om een ​​bestand te uploaden!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Toestemmingen voor kindthema zijn succesvol opgeslagen." #~ msgid "There are no changes made in the child theme permissions to be saved." #~ msgstr "" #~ "Er zijn geen wijzigingen aangebracht in de machtigingen voor het " #~ "onderliggende thema om te worden opgeslagen." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Toestemmingsbericht voor kindthema succesvol opgeslagen." #~ msgid "Users" #~ msgstr "Gebruikers" #~ msgid "Create New Child Theme" #~ msgstr "Maak een nieuw kindthema" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Configureer bestaande onderliggende thema's" #~ msgid "Duplicate Child Themes" #~ msgstr "Dubbele onderliggende thema's" #~ msgid "Query/ Selector" #~ msgstr "Query / Selector" #~ msgid "Web/font" #~ msgstr "Web / lettertype" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Kopieer bestand ouderthema naar kindthema" #~ msgid "Deleted Child Files" #~ msgstr "Verwijderde onderliggende bestanden" #~ msgid "Upload New Screenshoot" #~ msgstr "Upload nieuwe screenshoot" #~ msgid "Upload New Images" #~ msgstr "Upload nieuwe afbeeldingen" #~ msgid "Deleted Images " #~ msgstr "Verwijderde afbeeldingen" #~ msgid "Download Images" #~ msgstr "Download afbeeldingen" #~ msgid "Create New Directory" #~ msgstr "Maak een nieuwe directory" #~ msgid "Create New Files" #~ msgstr "Maak nieuwe bestanden" #~ msgid "Export Theme" #~ msgstr "Thema exporteren" #~ msgid "User Roles" #~ msgstr "Gebruikersrollen" #~ msgid "Query/ Seletor" #~ msgstr "Query / Seletor" #~ msgid "Deleted Images" #~ msgstr "Verwijderde afbeeldingen" #~ msgid "Child Theme Permission Message" #~ msgstr "Toestemmingsbericht voor kindthema" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "U heeft geen toestemming om een ​​nieuw kindthema te maken." #~ msgid "Query/Selector" #~ msgstr "Query / Selector" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "U heeft geen toestemming om het query-/selectormenu te openen." #~ msgid " Web/font" #~ msgstr "Web / lettertype" #~ msgid " Export Theme" #~ msgstr "Thema exporteren" #~ msgid "Save Child Theme Message" #~ msgstr "Toestemmingsbericht voor kindthema" #~ msgid "Please select atleast one image." #~ msgstr "Selecteer ten minste één afbeelding." #~ msgid "You don't have the permission to delete images." #~ msgstr "U heeft geen toestemming om afbeeldingen te verwijderen." #~ msgid "You don't have the permission to upload new images." #~ msgstr "U heeft geen toestemming om nieuwe afbeeldingen te uploaden." #~ msgid "You don't have the permission to download." #~ msgstr "U heeft geen toestemming om te downloaden." #~ msgid "You don't have the permission to create new directory." #~ msgstr "U bent niet gemachtigd om een ​​nieuwe map te maken." #~ msgid "Please choose file type." #~ msgstr "Kies een bestandstype." #~ msgid "Please enter file name." #~ msgstr "Voer de bestandsnaam in." #~ msgid "You don't have the permission to create new file." #~ msgstr "U bent niet gemachtigd om een ​​nieuw bestand te maken." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "" #~ "Weet u zeker dat u bovenliggende bestanden naar het onderliggende thema " #~ "kopieert?" #~ msgid "Please select file(s)." #~ msgstr "Selecteer bestand (en)." #~ msgid "You don't have the permission to copy files." #~ msgstr "U heeft geen toestemming om bestanden te kopiëren." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Weet u zeker dat u de geselecteerde bestanden wilt verwijderen?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "U bent niet gemachtigd om kinderbestanden te verwijderen." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "Je hebt geen toestemming om een ​​nieuwe screenshot te uploaden." #~ msgid "You don't have the permission to export theme." #~ msgstr "U bent niet gemachtigd om een ​​thema te exporteren." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "U bent niet gemachtigd om het Query / Selector-menu te openen." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "U bent niet gemachtigd om het menu Web Fonts & CSS te openen." #~ msgid "Current Analysis Theme:" #~ msgstr "Huidig analysethema:" #~ msgid "Preview Theme" #~ msgstr "Voorbeeldthema" #~ msgid "Parent Themes" #~ msgstr "Bovenliggende thema's" #~ msgid "Child Themes" #~ msgstr "Kinderthema's" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Fout: instellingen niet opgeslagen!" #~ msgid "Email List" #~ msgstr "E-maillijst" #~ msgid "Email Address" #~ msgstr "E-mailadres" #~ msgid "Enter Email" #~ msgstr "Voer email in" #~ msgid "Add More" #~ msgstr "Voeg meer toe" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Dit adres wordt gebruikt voor meldingsdoeleinden, zoals thema- / plugin-" #~ "melding." #~ msgid "Theme Notification" #~ msgstr "Thema-melding" #~ msgid "Notify on file update" #~ msgstr "Melden bij bestandsupdate" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Melding bij het bewerken of bijwerken van themabestanden.
        Standaard: Ja" #~ msgid "Notify on files download" #~ msgstr "Melden bij het downloaden van bestanden" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Melding bij downloaden van themabestand bewerken.
        Standaard: Ja" #~ msgid "Notify on theme download" #~ msgstr "Melden bij thema-download" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "Melding bij downloaden van thema.
        Standaard: Ja" #~ msgid "Notify on files upload" #~ msgstr "Melden bij het uploaden van bestanden" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Melding bij het uploaden van bestanden in thema.
        Standaard: Ja" #~ msgid "Notify on create new file/folder" #~ msgstr "Melden bij het aanmaken van een nieuw bestand / map" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Melding bij het maken van een nieuw bestand / map in thema.
        Standaard: Ja" #~ msgid "Notify on delete" #~ msgstr "Melden bij verwijderen" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Melden bij het verwijderen van bestanden en mappen in thema's.
        Standaard: Ja" #~ msgid "Notify on create New Child theme" #~ msgstr "Melden bij het maken van een nieuw kindthema" #~ msgid "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Melden bij het maken van nieuwe kindthema's.
        Standaard: Ja" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Melden bij het configureren van een bestaand kindthema" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Melden bij het configureren van bestaande onderliggende thema's.
        Standaard: Ja" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Melding geven over dubbele onderliggende thema's" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Melden bij het configureren van bestaande onderliggende thema's.
        Standaard: Ja" #~ msgid "Plugin Notification" #~ msgstr "Plugin-melding" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Melding bij het bewerken of bijwerken van themabestanden.
        Standaard: ja" #~ msgid "Notify on Plugin download" #~ msgstr "Melden bij download van plug-in" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "" #~ "Melding bij het downloaden van de plug-in.
        Standaard: Ja" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Melding bij het uploaden van bestanden in thema.
        Standaard: Ja" #~ msgid "Permission saved successfully." #~ msgstr "Toestemming succesvol opgeslagen." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "" #~ "Oeps! Toestemming kan niet worden opgeslagen omdat u geen wijzigingen heeft " #~ "aangebracht." #~ msgid "Allowed User Roles" #~ msgstr "Toegestane gebruikersrollen" #~ msgid "Update theme files" #~ msgstr "Update themabestanden" #~ msgid "Create new theme files and folders" #~ msgstr "Maak nieuwe themabestanden en mappen" #~ msgid "Upload new theme files and folders" #~ msgstr "Upload nieuwe themabestanden en mappen" #~ msgid "Download theme files" #~ msgstr "Download themabestanden" #~ msgid "Download theme" #~ msgstr "Thema downloaden" #~ msgid "Update plugin files" #~ msgstr "Update plug-inbestanden" #~ msgid "Create new plugin files and folders" #~ msgstr "Maak nieuwe plug-inbestanden en -mappen" #~ msgid "Upload new plugin files and folders" #~ msgstr "Upload nieuwe plug-inbestanden en -mappen" #~ msgid "Delete plugin files and folders" #~ msgstr "Verwijder plug-inbestanden en -mappen" #~ msgid "Download plugin files" #~ msgstr "Download plugin-bestanden" #~ msgid "Download plugin" #~ msgstr "Plug-in downloaden" #~ msgid "Rename File" #~ msgstr "Hernoem bestand" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Theme Editor PRO - Voeg hieronder uw bestelgegevens toe. Als niet Koop nu " #~ msgid "ORDER ID (#) *" #~ msgstr "ORDER ID (#) *" #~ msgid "Enter Order ID" #~ msgstr "Voer bestellings-ID in" #~ msgid "Please Check Your email for order ID." #~ msgstr "Controleer uw e-mail voor de bestellings-ID." #~ msgid "LICENCE KEY *" #~ msgstr "LICENTIESLEUTEL *" #~ msgid "Enter License Key" #~ msgstr "Voer de licentiecode in" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Controleer uw e-mail voor de licentiecode." #~ msgid "Click To Verify" #~ msgstr "Klik om te verifiëren" #~ msgid "URL/None" #~ msgstr "URL / Geen" #~ msgid "Origin" #~ msgstr "Oorsprong" #~ msgid "Color 1" #~ msgstr "Kleur 1" #~ msgid "Color 2" #~ msgstr "Kleur 2" #~ msgid "Width/None" #~ msgstr "Breedte / geen" #~ msgid "Style" #~ msgstr "Stijl" #~ msgid "Color" #~ msgstr "Kleur" #~ msgid "Configure Child Theme" #~ msgstr "Configureer het kindthema" #~ msgid "Duplicate Child theme" #~ msgstr "Dubbele onderliggende thema's" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your Child " #~ "Theme." #~ msgstr "" #~ "Na analyse werkt dit thema prima. U kunt dit gebruiken als uw kindthema." #~ msgid "After analyzing this child theme appears to be functioning correctly." #~ msgstr "Na analyse blijkt dit child theme correct te functioneren." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Dit thema laadt extra stylesheets na het bestand style.css:" #~ msgid "The theme" #~ msgstr "Thema naam" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "" #~ "kon niet worden geanalyseerd omdat het voorbeeld niet correct werd " #~ "weergegeven" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Dit onderliggende thema is niet geconfigureerd voor deze plug-in" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please consider " #~ "using the DUPLICATE child theme option (see step 1, above) and keeping the " #~ "original as a backup." #~ msgstr "" #~ "De configurator brengt belangrijke wijzigingen aan in het child-thema, " #~ "inclusief stylesheet-wijzigingen en extra php-functies. Overweeg om de " #~ "optie DUPLICATE child-thema te gebruiken (zie stap 1, hierboven) en het " #~ "origineel als back-up te bewaren." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "Alle webfonts / css-informatie is succesvol opgeslagen." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Voer een waarde in voor webfonts / css." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "U heeft geen toestemming om webfonts / css bij te werken." #~ msgid "All information saved successfully." #~ msgstr "Alle informatie is succesvol opgeslagen." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done in " #~ "the Configurator." #~ msgstr "" #~ "Weet u zeker dat u wilt RESETTEN? Dit vernietigt al het werk dat u in de " #~ "Configurator heeft gedaan." #~ msgid "Selectors" #~ msgstr "Selectoren" #~ msgid "Edit Selector" #~ msgstr "Bewerken Selector" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "De stylesheet kan niet worden weergegeven." #~ msgid "(Child Only)" #~ msgstr "(Alleen kind)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Voer een geldig kindthema in." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Voer een geldige kindthema-naam in." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "%s bestaat. Voer een ander kindthema in" #~ msgid "The page could not be loaded correctly." #~ msgstr "De pagina kan niet correct worden geladen." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "Conflicterende of verouderde jQuery-bibliotheken zijn geladen door een " #~ "andere plug-in:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "" #~ "Dit probleem kan mogelijk worden opgelost door plug-ins te deactiveren of " #~ "te vervangen." #~ msgid "No result found for the selection." #~ msgstr "Geen resultaat gevonden voor de selectie." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "% sWaarom zie ik dit?%s" #~ msgid "Parent / Child" #~ msgstr "Ouder / kind" #~ msgid "Select an action:" #~ msgstr "Selecteer een actie:" #~ msgid "Create a new Child Theme" #~ msgstr "Maak een nieuw kindthema" #~ msgid "Configure an existing Child Theme" #~ msgstr "Een bestaand onderliggend thema configureren" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Dupliceer een bestaand kindthema" #~ msgid "Select a Parent Theme:" #~ msgstr "Selecteer een ouderthema:" #~ msgid "Analyze Parent Theme" #~ msgstr "Analyseer het ouderthema" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other potential " #~ "issues." #~ msgstr "" #~ "Klik op \"Analyseren\" om de stijlbladafhankelijkheden en andere mogelijke " #~ "problemen te bepalen." #~ msgid "Analyze" #~ msgstr "Analyseren" #~ msgid "Select a Child Theme:" #~ msgstr "Selecteer een kindthema:" #~ msgid "Analyze Child Theme" #~ msgstr "Analyseer het kindthema" #~ msgid "Name the new theme directory:" #~ msgstr "Geef de nieuwe themamap een naam:" #~ msgid "Directory Name" #~ msgstr "Directory Naam" #~ msgid "NOTE:" #~ msgstr "OPMERKING:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "Dit is NIET de naam van het kindthema. U kunt de naam, beschrijving enz. " #~ "Aanpassen in stap 7 hieronder." #~ msgid "Verify Child Theme directory:" #~ msgstr "Controleer de map met onderliggende thema's:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing Child " #~ "Theme)." #~ msgstr "" #~ "Alleen ter verificatie (u kunt de map van een bestaand kindthema niet " #~ "wijzigen)." #~ msgid "Select where to save new styles:" #~ msgstr "Selecteer waar u nieuwe stijlen wilt opslaan:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Primaire stylesheet (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Sla nieuwe aangepaste stijlen rechtstreeks op het primaire stijlblad van " #~ "het onderliggende thema op en vervang de bestaande waarden. De primaire " #~ "stylesheet wordt geladen in de volgorde die is ingesteld door het thema." #~ msgid "Separate Stylesheet" #~ msgstr "Afzonderlijk stylesheet" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option if " #~ "you want to preserve the existing child theme styles instead of overwriting " #~ "them. This option also allows you to customize stylesheets that load after " #~ "the primary stylesheet." #~ msgstr "" #~ "Sla nieuwe aangepaste stijlen op een apart stylesheet op en combineer " #~ "bestaande child-themastijlen met de bovenliggende stijl om een ​​basislijn te " #~ "vormen. Selecteer deze optie als u de bestaande child-themastijlen wilt " #~ "behouden in plaats van ze te overschrijven. Met deze optie kunt u ook " #~ "stylesheets aanpassen die na de primaire stylesheet worden geladen." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Selecteer Behandeling van stylesheet voor ouderthema:" #~ msgid "Use the WordPress style queue." #~ msgstr "Gebruik de wachtrij in WordPress-stijl." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies and " #~ "update the functions file automatically." #~ msgstr "" #~ "Laat de configurator de juiste acties en afhankelijkheden bepalen en het " #~ "functiebestand automatisch bijwerken." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "Gebruik @import in het onderliggende thema-stylesheet." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "Gebruik deze optie alleen als het bovenliggende stylesheet niet kan worden " #~ "geladen met de WordPress-stijlwachtrij. Het gebruik van @import wordt niet aanbevolen." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Voeg geen afhandeling van bovenliggende stylesheets toe." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used " #~ "for its appearance." #~ msgstr "" #~ "Selecteer deze optie als dit thema het stijlblad van het bovenliggende " #~ "thema al afhandelt of als het bestand style.css van het " #~ "bovenliggende thema niet wordt gebruikt voor de weergave ervan." #~ msgid "Advanced handling options" #~ msgstr "Geavanceerde afhandelingsopties" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Negeer stijlbladen voor hoofdthema's." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Selecteer deze optie als dit thema al het stijlblad van het bovenliggende " #~ "thema afhandelt of als het style.css-bestand van het bovenliggende thema " #~ "niet wordt gebruikt voor de weergave ervan." #~ msgid "Repair the header template in the child theme." #~ msgstr "Herstel de koptekstsjabloon in het child-thema." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "Laat de configurator eventuele bovenstaande problemen met stylesheet " #~ "(proberen) op te lossen. Dit kan veel, maar niet alle, veelvoorkomende " #~ "problemen oplossen." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Verwijder stijlbladafhankelijkheden" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Standaard wordt de volgorde van stylesheets die voorafgaand aan het " #~ "primaire stylesheet worden geladen, behouden door ze als afhankelijkheden " #~ "te beschouwen. In sommige gevallen worden stylesheets gedetecteerd in de " #~ "preview die niet op de hele site worden gebruikt. Indien nodig kan de " #~ "afhankelijkheid voor specifieke stylesheets hieronder worden verwijderd." #~ msgid "Child Theme Name" #~ msgstr "Naam van kindthema" #~ msgid "Theme Name" #~ msgstr "Thema naam" #~ msgid "Theme Website" #~ msgstr "Thema website" #~ msgid "Author" #~ msgstr "Schrijver" #~ msgid "Author Website" #~ msgstr "Website van de auteur" #~ msgid "Theme Description" #~ msgstr "Thema Beschrijving" #~ msgid "Description" #~ msgstr "Omschrijving" #~ msgid "Tags" #~ msgstr "Tags" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme to " #~ "the Child Theme:" #~ msgstr "" #~ "Kopieer menu's, widgets en andere Customizer-instellingen van het " #~ "ouderthema naar het child-thema:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only need " #~ "to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Deze optie vervangt de bestaande menu's, widgets en andere " #~ "aanpassingsinstellingen van het kindthema door die van het ouderthema. U " #~ "hoeft deze optie alleen te gebruiken als u voor het eerst een kindthema " #~ "configureert." #~ msgid "Click to run the Configurator:" #~ msgstr "Klik om de Configurator te starten:" #~ msgid "Query / Selector" #~ msgstr "Query / Selector" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "Om specifieke selectors binnen @media-queryblokken te vinden, kiest u eerst " #~ "de query en vervolgens de selector. Gebruik de \"basis\" -query om alle " #~ "andere selectors te bewerken." #~ msgid "@media Query" #~ msgstr "@media Query" #~ msgid "( or \"base\" )" #~ msgstr "(of \"basis\")" #~ msgid "Selector" #~ msgstr "Selector" #~ msgid "Query/Selector Action" #~ msgstr "Query / Selector-actie" #~ msgid "Save Child Values" #~ msgstr "Bewaar onderliggende waarden" #~ msgid "Delete Child Values" #~ msgstr "Verwijder onderliggende waarden" #~ msgid "Property" #~ msgstr "Eigendom" #~ msgid "Baseline Value" #~ msgstr "Basiswaarde" #~ msgid "Child Value" #~ msgstr "Kindwaarde" #~ msgid "error" #~ msgstr "fout" #~ msgid "You do not have permission to configure child themes." #~ msgstr "U heeft geen toestemming om onderliggende thema's te configureren." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s bestaat niet. Selecteer een geldig ouderthema." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Het functiebestand is vereist en kan niet worden verwijderd." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Selecteer een geldig ouderthema." #~ msgid "Please select a valid Child Theme." #~ msgstr "Selecteer een geldig kindthema." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Voer een geldige mapnaam voor het kindthema in." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%s bestaat. Voer een andere sjabloonnaam voor het " #~ "kindthema in." #~ msgid "Your theme directories are not writable." #~ msgstr "Uw themamappen zijn niet beschrijfbaar." #~ msgid "Could not upgrade child theme" #~ msgstr "Kan child-thema niet upgraden" #~ msgid "Your stylesheet is not writable." #~ msgstr "Je stylesheet is niet beschrijfbaar." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end of " #~ "the file is discouraged as it can cause premature HTTP headers. Please edit " #~ "functions.php to remove the final ?> tag and " #~ "click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "Er is een afsluitende PHP-tag gedetecteerd in het bestand met themafuncties " #~ "van het kind, dus de optie \"Parent Stylesheet Handling\" was niet " #~ "geconfigureerd. Het sluiten van PHP aan het einde van het bestand wordt " #~ "afgeraden omdat dit voortijdige HTTP-headers kan veroorzaken. Bewerk " #~ "functions.php om de laatste ? > -tag te " #~ "verwijderen en klik nogmaals op \"Generate / Rebuild Child Theme Files\"." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Kan bestand %s niet kopiëren" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Kan %s-bestand niet verwijderen." #, php-format #~ msgid "could not copy %s" #~ msgstr "kan niet kopiëren %s" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "ongeldige map: %s" #, php-format #~ msgid "deleted: %s != %s files" #~ msgstr "verwijderd: %s != %s files" #~ msgid "There were errors while resetting permissions." #~ msgstr "Er zijn fouten opgetreden bij het opnieuw instellen van machtigingen." #~ msgid "Could not upload file." #~ msgstr "Kan bestand niet uploaden." #~ msgid "Invalid theme root directory." #~ msgstr "Ongeldige hoofddirectory van het thema." #~ msgid "No writable temp directory." #~ msgstr "Geen beschrijfbare tijdelijke directory." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Uitpakken mislukt -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Inpakken mislukt -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Maximaal aantal stijlen overschreden." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Fout bij verplaatsen van bestand: %s" #~ msgid "Could not set write permissions." #~ msgstr "Kan geen schrijfrechten instellen." #~ msgid "Error:" #~ msgstr "Fout:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "Huidige analyse kindthema %s is gereset." #~ msgid "Update Key saved successfully." #~ msgstr "Updatesleutel succesvol opgeslagen." #~ msgid "Child Theme files modified successfully." #~ msgstr "Onderliggende themabestanden zijn gewijzigd." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "Thema van het kind %sis succesvol gegenereerd." #~ msgid "Web Fonts & CSS" #~ msgstr "Weblettertypen en CSS" #~ msgid "Parent Styles" #~ msgstr "Ouderstijlen" #~ msgid "Child Styles" #~ msgstr "Kindstijlen" #~ msgid "View Child Images" #~ msgstr "Bekijk kinderafbeeldingen" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Gebruik @import url ([pad]); om extra stylesheets te " #~ "koppelen. Deze plug-in gebruikt het sleutelwoord @import om " #~ "ze te identificeren en om te zetten naar < link > -" #~ "tags.Voorbeeld: " #~ msgid "Save" #~ msgstr "Sparen" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "" #~ "Als u een afbeelding met dezelfde naam uploadt, wordt deze vervangen door " #~ "een bestaande afbeelding." #~ msgid "Upload New Child Theme Image" #~ msgstr "Upload een nieuwe afbeelding van een kindthema" #~ msgid "Delete Selected Images" #~ msgstr "Verwijder geselecteerde afbeeldingen" #~ msgid "Create a New Directory" #~ msgstr "Maak een nieuwe directory" #~ msgid "New Directory will be created in" #~ msgstr "Er wordt een nieuwe directory aangemaakt in" #~ msgid "New Directory Name" #~ msgstr "Nieuwe directorynaam" #~ msgid "Create a New File" #~ msgstr "Maak een nieuw bestand" #~ msgid "New File will be created in" #~ msgstr "Er wordt een nieuw bestand gemaakt in" #~ msgid "New File Name" #~ msgstr "Nieuwe bestandsnaam" #~ msgid "File Type Extension" #~ msgstr "Bestandstype-extensie" #~ msgid "Choose File Type" #~ msgstr "Kies Bestandstype" #~ msgid "PHP File" #~ msgstr "PHP-bestand" #~ msgid "CSS File" #~ msgstr "CSS-bestand" #~ msgid "JS File" #~ msgstr "JS-bestand" #~ msgid "Text File" #~ msgstr "Tekstbestand" #~ msgid "PHP File Type" #~ msgstr "PHP-bestandstype" #~ msgid "Simple PHP File" #~ msgstr "Eenvoudig PHP-bestand" #~ msgid "Wordpress Template File" #~ msgstr "Wordpress-sjabloonbestand" #~ msgid "Template Name" #~ msgstr "Sjabloonnaam" #~ msgid "Parent Templates" #~ msgstr "Ouder-sjablonen" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP functions " #~ "or classes. Other PHP files cannot be safely overridden by a child theme." #~ msgstr "" #~ "Kopieer PHP-sjablonen van het hoofdthema door ze hier te selecteren. De " #~ "configurator definieert een sjabloon als een PHP-themabestand zonder PHP-" #~ "functies of klassen. Andere PHP-bestanden kunnen niet veilig worden " #~ "overschreven door een child-thema." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the file " #~ "will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "LET OP: Als uw child-thema actief is, wordt de child-themaversie van het " #~ "bestand gebruikt in plaats van de parent onmiddellijk nadat het is " #~ "gekopieerd." #~ msgid "The " #~ msgstr "De" #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "" #~ "bestand wordt afzonderlijk gegenereerd en kan hier niet worden gekopieerd." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Kopieer geselecteerd naar onderliggend thema" #~ msgid " Child Theme Files " #~ msgstr "Onderliggende themabestanden" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Klik om bestanden te bewerken met de thema-editor" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Verwijder child-themasjablonen door ze hier te selecteren." #~ msgid "Delete Selected" #~ msgstr "Verwijder geselecteerde" #~ msgid "Child Theme Screenshot" #~ msgstr "Screenshot van het kindthema" #~ msgid "Upload New Screenshot" #~ msgstr "Upload een nieuwe screenshot" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "Het screenshot van het thema moet een 4: 3-verhouding hebben (bijvoorbeeld " #~ "880px x 660px) JPG, PNG of GIF. Het wordt hernoemd" #~ msgid "Screenshot" #~ msgstr "Screenshot" #~ msgid "Upload New Child Theme Image " #~ msgstr "Upload een nieuwe afbeelding van een kindthema" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and are " #~ "meant for stylesheet use only. Use the Media Library for content images." #~ msgstr "" #~ "Thema-afbeeldingen bevinden zich in de afbeeldingenmap in uw child-thema en " #~ "zijn alleen bedoeld voor gebruik in stylesheets. Gebruik de " #~ "mediabibliotheek voor inhoudsafbeeldingen." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Voorbeeld van huidig kindthema (huidige analyse)" #~ msgid "Preview Current Child Theme" #~ msgstr "Voorbeeld van huidig kindthema" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Exporteer kindthema als zip-archief" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child theme. " #~ "You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Klik op \"Zip exporteren\" om een ​​back-up van het momenteel geladen child-" #~ "thema op te slaan. U kunt al uw thema's exporteren vanaf het tabblad " #~ "Ouder / kind." #~ msgid "Export Child Theme" #~ msgstr "Kindthema exporteren" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Child Theme file (s) succesvol gekopieerd!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "" #~ "Het bestand dat u probeert te kopiëren van bovenliggende sjablonen, bestaat " #~ "niet" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "Het bestand dat u probeert te kopiëren van bovenliggende sjablonen, is al " #~ "aanwezig in de onderliggende themabestanden." #~ msgid "Child " #~ msgstr "Kind" #~ msgid " and Parent " #~ msgstr "en ouder" #~ msgid " directories doesn't exist!" #~ msgstr "mappen bestaan niet!" #~ msgid " directory doesn't exist!" #~ msgstr "directory bestaat niet!" #~ msgid "Parent " #~ msgstr "Ouder" #~ msgid "Unknown error! " #~ msgstr "Onbekende fout!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "U heeft geen toestemming om de bestanden te kopiëren!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Alle geselecteerde bestanden zijn succesvol verwijderd!" #~ msgid " does not exists!" #~ msgstr "bestaat niet!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Deze bestandsextensie mag niet worden geüpload!" #~ msgid "Image uploaded successfully!" #~ msgstr "Afbeelding succesvol geüpload!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Er is een probleem bij het uploaden van afbeeldingen!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "" #~ "Deze bestandsextensie mag niet worden geüpload als screenshot door " #~ "wordpress!" #~ msgid "File uploaded successfully!" #~ msgstr "Bestand succesvol geüpload!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Onderliggende themabestanden kunnen niet worden gewijzigd." #~ msgid "File(s) deleted successfully!" #~ msgstr "Bestand (en) succesvol verwijderd!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "U heeft geen toestemming om bestand (en) te verwijderen!" #~ msgid "Entered directory name already exists" #~ msgstr "De ingevoerde directorynaam bestaat al" #~ msgid "You don't have permission to create directory!" #~ msgstr "U bent niet gemachtigd om een ​​directory te maken!" #~ msgid "Wordpress template file created" #~ msgstr "Wordpress-sjabloonbestand gemaakt" #~ msgid "Wordpress template file not created" #~ msgstr "Wordpress-sjabloonbestand niet gemaakt" #~ msgid "PHP created file successfully" #~ msgstr "PHP heeft het bestand succesvol gemaakt" #~ msgid "PHP file not created" #~ msgstr "PHP-bestand is niet gemaakt" #~ msgid " file not created" #~ msgstr "bestand niet gemaakt" #~ msgid "Already exists" #~ msgstr "Bestaat al" #~ msgid "You don't have permission to create file!" #~ msgstr "U bent niet gemachtigd om een bestand te maken!" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "maak, bewerk, upload, download, verwijder themabestanden en mappen" #~ msgid "Language folder has been downlaoded." #~ msgstr "Taalmap is gedownload." wp-file-manager/languages/wp-file-manager-nn_NO.mo000064400000042151151202472330016004 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&3((&)A).)&$*K*,T**+G+F,Z,@a,9,?,-+-%@-$f-#-!---...-4. b. l.v.}.....). // /-5/(c/./ / ////0 00&,0S0e03t000 u111 1=1+22%3'373<3B3$4 444W566^7p7t777]77898U8p888888W8d79*9+999/9)):#S:$w:): : ::":;9;LX;N;;;'<)C<.m<*< <<<<!=#)= M=&X=== = == =&= =>>#7>-[>>>>>>;>,?-3?&a?(?0?? ? @&@,@.2@!a@(@@@@#A*A=A LA.YA&A,A3ABB!B72BjBB4C3OCMCNCH D}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: Theme Editor Pro PO-Revision-Date: 2022-03-01 18:05+0530 Last-Translator: Language-Team: Language: nn_NO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: . * for alle operasjoner og for å tillate noen operasjoner kan du nevne operasjonsnavn som like, allow_operations="last opp, last ned". Merk: atskilt med komma(,). Standard: *-> Det vil forby bestemte brukere ved å bare sette ID-ene deres adskilt med komma (,). Hvis brukeren er Ban, vil de ikke få tilgang til wp-filbehandling på frontend.-> Filbehandlingstema. Standard: Light-> Filmodifisert eller Opprett datoformat. Standard: d M, Y h:i A-> Filbehandling språk. Standard: English(en)-> Filemanager UI View. Standard: gridHandlingHandlinger ved valgt (e) sikkerhetskopi (er)Administrator kan begrense alle brukeres handlinger. Skjul også filer og mapper og kan angi forskjellige - forskjellige mappestier for forskjellige brukere.Administrator kan begrense handlingene til enhver brukerroll. Skjul også filer og mapper og kan angi forskjellige - forskjellige mappestier for forskjellige brukerroller.Etter at du har aktivert papirkurven, går filene dine til papirkurven.Etter at du har aktivert dette, går alle filene til mediebiblioteket.FerdigEr du sikker på at du vil fjerne valgt (e) sikkerhetskopi (er)?Er du sikker på at du vil slette denne sikkerhetskopien?Er du sikker på at du vil gjenopprette denne sikkerhetskopien?SikkerhetsdatoSikkerhetskopier nåAlternativer for sikkerhetskopiering:Backup data (klikk for å laste ned)Sikkerhetskopifiler vil være underSikkerhetskopiering kjører, ventSikkerhetskopien ble slettet.Gjenopprette fra sikkerhetskopiSikkerhetskopieringer fjernet!forbyNettleser og operativsystem (HTTP_USER_AGENT)Kjøp PROKjøp ProAvbrytEndre tema her:Klikk for å kjøpe PROKode-editor VisBekrefteKopier filer eller mapperForeløpig ingen sikkerhetskopier funnet.SLETT FILERMørkSikkerhetskopiering av databasenDatabasesikkerhetskopiering utført på dato Sikkerhetskopiering av database utført.Databasesikkerhetskopiering ble gjenopprettet.MisligholdeMisligholde:SlettFjern markeringenAvvis denne meldingen.DonereLast ned filloggerLast ned filerDupliser eller klon en mappe eller filRediger filloggerRediger en filAktivere filer som lastes opp til mediebiblioteket?Vil du aktivere papirkurven?Feil: Kan ikke gjenopprette sikkerhetskopien fordi databasesikkerhetskopieringen er stor. Vennligst prøv å øke Maksimal tillatt størrelse fra Innstillinger-innstillingene.Eksisterende sikkerhetskopi (er)Pakk ut arkiv eller zip-filFilbehandling - Kort kodeFilbehandling - SystemegenskaperFile Manager Root Path, du kan endre i henhold til ditt valg.File Manager har en kodeditor med flere temaer. Du kan velge hvilket som helst tema for kodeditor. Den vises når du redigerer en fil. Du kan også tillate fullskjermmodus for kodeditor.Liste over filoperasjoner:Filen eksisterer ikke for nedlasting.Backup av filerGråHjelpHer er "test" navnet på mappen som ligger i rotkatalogen, eller du kan gi bane for undermapper som "wp-content/plugins". Hvis la stå tomt eller tomt, vil det få tilgang til alle mappene i rotkatalogen. Standard: RotkatalogHer kan admin gi tilgang til brukerroller for å bruke filmanager. Administrator kan angi standard tilgangsmappe og også kontrollere opplastingsstørrelsen på filadministratoren.Info om filenUgyldig sikkerhetskode.Det vil tillate alle roller å få tilgang til filbehandler på grensesnittet, eller du kan enkelt bruke for bestemte brukerroller som for eksempel allow_roles="editor,author" (atskilt med komma(,))Den vil låse nevnt i komma. du kan låse flere som ".php,.css,.js" osv. Standard: NullDet vil vise filbehandler på grensesnittet. Men bare administrator har tilgang til den og vil kontrollere fra filbehandlingsinnstillingene.Det vil vise filbehandler på grensesnittet. Du kan kontrollere alle innstillinger fra filbehandlingsinnstillingene. Det vil fungere på samme måte som backend WP filbehandling.Siste loggmeldingLysTømmerstokkerLag katalog eller mappeLag filMaksimal tillatt størrelse på tidspunktet for gjenoppretting av sikkerhetskopi av database.Maksimal filopplastingsstørrelse (upload_max_filesize)Memory Limit (memory_limit)Mangler sikkerhetskopi-ID.Manglende parametertype.Mangler nødvendige parametere.Nei takkIngen loggmeldingIngen logger funnet!Merk:Merk: Dette er demo-skjermbilder. Vennligst kjøp File Manager pro til Logs-funksjoner.Merk: Dette er bare et demo-skjermbilde. For å få innstillinger, vennligst kjøp vår pro-versjon.Ingenting er valgt for sikkerhetskopieringIngenting er valgt for sikkerhetskopiering.OKOkAndre (andre kataloger som finnes i wp-innhold)Andre sikkerhetskopier er gjort på dato Andre sikkerhetskopiering er gjort.Andre sikkerhetskopiering mislyktes.Andre sikkerhetskopier ble gjenopprettet.PHP-versjonParametere:Lim inn en fil eller mappeVennligst skriv inn e-postadresse.Vennligst skriv inn fornavn.Vennligst skriv inn etternavn.Endre dette nøye, feil bane kan føre til at filbehandling plugin går ned.Øk feltverdien hvis du får feilmelding ved gjenoppretting av sikkerhetskopi.PluginsPlugins backup gjort på dato Sikkerhetskopiering av plugins utført.Sikkerhetskopiering av plugins mislyktes.Plugins-sikkerhetskopiering ble gjenopprettet.Legg ut maks filstørrelse (post_max_size)PreferanserPersonvernreglerOffentlig rotstiGJENBESTILL FILERFjern eller slett filer og mapperGi nytt navn til en fil eller mappeRestaurereGjenoppretting kjører, vennligst ventSUKSESSLagre endringerLagrer ...Søk på tingSikkerhetsproblem.Velg alleVelg sikkerhetskopi(er) for å slette!InnstillingerInnstillinger - Kode-editorInnstillinger - GenereltInnstillinger - BrukerbegrensningerInnstillinger - Begrensninger for brukerrolleInstillinger lagret.Kortkode - PROEnkelt kutte en fil eller mappeSystem egenskaperVilkår for brukSikkerhetskopien lyktes tilsynelatende og er nå fullført.TemaerSikkerhetskopiering av temaer gjort på dato Sikkerhetskopiering av temaer utført.Sikkerhetskopiering av temaer mislyktes.Sikkerhetskopiering av temaer ble gjenopprettet.Tid nåTidsavbrudd (max_execution_time)Å lage et arkiv eller zipI dagBRUK:Kan ikke opprette databasesikkerhetskopiering.Kan ikke fjerne sikkerhetskopien!Kan ikke gjenopprette DB-sikkerhetskopi.Kan ikke gjenopprette andre.Kan ikke gjenopprette plugins.Kan ikke gjenopprette temaer.Kan ikke gjenopprette opplastinger.Last opp filloggerLast opp filerOpplastingerLaster opp sikkerhetskopiering gjort på dato Laster opp sikkerhetskopiering ferdig.Opplasting av sikkerhetskopiering mislyktes.Opplastingen av sikkerhetskopien ble gjenopprettet.BekrefteSe LoggWP filbehandlingWP filbehandling - Sikkerhetskopiering / gjenopprettingWP filbehandling-bidragVi elsker å få nye venner! Abonner nedenfor, og vi lover å holde deg oppdatert med de nyeste nye plugins, oppdateringer, fantastiske tilbud og noen få spesialtilbud.Velkommen til File ManagerDu har ikke gjort noen endringer for å bli lagret.for tilgang til tillatelse til å lese filer, merk: true/false, default: truefor tilgang til å skrive filer tillatelser, merk: true/false, standard: usantdet vil gjemme seg nevnt her. Merk: atskilt med komma(,). Standard: Nullwp-file-manager/languages/wp-file-manager-nn_NO.po000064400000231312151202472330016006 0ustar00msgid "" msgstr "" "Project-Id-Version: Theme Editor Pro\n" "POT-Creation-Date: 2022-02-28 11:05+0530\n" "PO-Revision-Date: 2022-03-01 18:05+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: nn_NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Sikkerhetskopiering av temaer ble gjenopprettet." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Kan ikke gjenopprette temaer." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Opplastingen av sikkerhetskopien ble gjenopprettet." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Kan ikke gjenopprette opplastinger." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Andre sikkerhetskopier ble gjenopprettet." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Kan ikke gjenopprette andre." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Plugins-sikkerhetskopiering ble gjenopprettet." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Kan ikke gjenopprette plugins." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Databasesikkerhetskopiering ble gjenopprettet." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Ferdig" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Kan ikke gjenopprette DB-sikkerhetskopi." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Sikkerhetskopieringer fjernet!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Kan ikke fjerne sikkerhetskopien!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Databasesikkerhetskopiering utført på dato " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Plugins backup gjort på dato " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Sikkerhetskopiering av temaer gjort på dato " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Laster opp sikkerhetskopiering gjort på dato " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Andre sikkerhetskopier er gjort på dato " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Tømmerstokker" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Ingen logger funnet!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Ingenting er valgt for sikkerhetskopiering" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Sikkerhetsproblem." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Sikkerhetskopiering av database utført." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Kan ikke opprette databasesikkerhetskopiering." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Sikkerhetskopiering av plugins utført." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Sikkerhetskopiering av plugins mislyktes." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Sikkerhetskopiering av temaer utført." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Sikkerhetskopiering av temaer mislyktes." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Laster opp sikkerhetskopiering ferdig." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Opplasting av sikkerhetskopiering mislyktes." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Andre sikkerhetskopiering er gjort." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Andre sikkerhetskopiering mislyktes." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP filbehandling" #: file_folder_manager.php:769 msgid "Settings" msgstr "Innstillinger" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferanser" #: file_folder_manager.php:773 msgid "System Properties" msgstr "System egenskaper" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kortkode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Gjenopprette fra sikkerhetskopi" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Kjøp Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Donere" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Filen eksisterer ikke for nedlasting." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Ugyldig sikkerhetskode." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Mangler sikkerhetskopi-ID." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Manglende parametertype." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Mangler nødvendige parametere." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Feil: Kan ikke gjenopprette sikkerhetskopien fordi " "databasesikkerhetskopieringen er stor. Vennligst prøv å øke Maksimal tillatt " "størrelse fra Innstillinger-innstillingene." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Velg sikkerhetskopi(er) for å slette!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Er du sikker på at du vil fjerne valgt (e) sikkerhetskopi (er)?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Sikkerhetskopiering kjører, vent" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Gjenoppretting kjører, vennligst vent" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Ingenting er valgt for sikkerhetskopiering." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP filbehandling - Sikkerhetskopiering / gjenoppretting" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Alternativer for sikkerhetskopiering:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Sikkerhetskopiering av databasen" #: inc/backup.php:64 msgid "Files Backup" msgstr "Backup av filer" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugins" #: inc/backup.php:71 msgid "Themes" msgstr "Temaer" #: inc/backup.php:74 msgid "Uploads" msgstr "Opplastinger" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Andre (andre kataloger som finnes i wp-innhold)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Sikkerhetskopier nå" #: inc/backup.php:89 msgid "Time now" msgstr "Tid nå" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUKSESS" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Sikkerhetskopien ble slettet." #: inc/backup.php:102 msgid "Ok" msgstr "Ok" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "SLETT FILER" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Er du sikker på at du vil slette denne sikkerhetskopien?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Avbryt" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Bekrefte" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "GJENBESTILL FILER" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Er du sikker på at du vil gjenopprette denne sikkerhetskopien?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Siste loggmelding" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Sikkerhetskopien lyktes tilsynelatende og er nå fullført." #: inc/backup.php:171 msgid "No log message" msgstr "Ingen loggmelding" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Eksisterende sikkerhetskopi (er)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Sikkerhetsdato" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Backup data (klikk for å laste ned)" #: inc/backup.php:190 msgid "Action" msgstr "Handling" #: inc/backup.php:210 msgid "Today" msgstr "I dag" #: inc/backup.php:239 msgid "Restore" msgstr "Restaurere" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Slett" #: inc/backup.php:241 msgid "View Log" msgstr "Se Logg" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Foreløpig ingen sikkerhetskopier funnet." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Handlinger ved valgt (e) sikkerhetskopi (er)" #: inc/backup.php:251 msgid "Select All" msgstr "Velg alle" #: inc/backup.php:252 msgid "Deselect" msgstr "Fjern markeringen" #: inc/backup.php:254 msgid "Note:" msgstr "Merk:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Sikkerhetskopifiler vil være under" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP filbehandling-bidrag" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Merk: Dette er demo-skjermbilder. Vennligst kjøp File Manager pro til Logs-" "funksjoner." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klikk for å kjøpe PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Kjøp PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Rediger fillogger" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Last ned fillogger" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Last opp fillogger" #: inc/root.php:43 msgid "Settings saved." msgstr "Instillinger lagret." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Avvis denne meldingen." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Du har ikke gjort noen endringer for å bli lagret." #: inc/root.php:55 msgid "Public Root Path" msgstr "Offentlig rotsti" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Root Path, du kan endre i henhold til ditt valg." #: inc/root.php:59 msgid "Default:" msgstr "Misligholde:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Endre dette nøye, feil bane kan føre til at filbehandling plugin går ned." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Vil du aktivere papirkurven?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Etter at du har aktivert papirkurven, går filene dine til papirkurven." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Aktivere filer som lastes opp til mediebiblioteket?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Etter at du har aktivert dette, går alle filene til mediebiblioteket." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maksimal tillatt størrelse på tidspunktet for gjenoppretting av " "sikkerhetskopi av database." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Øk feltverdien hvis du får feilmelding ved gjenoppretting av sikkerhetskopi." #: inc/root.php:90 msgid "Save Changes" msgstr "Lagre endringer" #: inc/settings.php:10 msgid "Settings - General" msgstr "Innstillinger - Generelt" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Merk: Dette er bare et demo-skjermbilde. For å få innstillinger, vennligst " "kjøp vår pro-versjon." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Her kan admin gi tilgang til brukerroller for å bruke filmanager. " "Administrator kan angi standard tilgangsmappe og også kontrollere " "opplastingsstørrelsen på filadministratoren." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Innstillinger - Kode-editor" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager har en kodeditor med flere temaer. Du kan velge hvilket som " "helst tema for kodeditor. Den vises når du redigerer en fil. Du kan også " "tillate fullskjermmodus for kodeditor." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kode-editor Vis" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Innstillinger - Brukerbegrensninger" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administrator kan begrense alle brukeres handlinger. Skjul også filer og " "mapper og kan angi forskjellige - forskjellige mappestier for forskjellige " "brukere." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Innstillinger - Begrensninger for brukerrolle" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administrator kan begrense handlingene til enhver brukerroll. Skjul også " "filer og mapper og kan angi forskjellige - forskjellige mappestier for " "forskjellige brukerroller." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Filbehandling - Kort kode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "BRUK:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Det vil vise filbehandler på grensesnittet. Du kan kontrollere alle " "innstillinger fra filbehandlingsinnstillingene. Det vil fungere på samme " "måte som backend WP filbehandling." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Det vil vise filbehandler på grensesnittet. Men bare administrator har " "tilgang til den og vil kontrollere fra filbehandlingsinnstillingene." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametere:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Det vil tillate alle roller å få tilgang til filbehandler på grensesnittet, " "eller du kan enkelt bruke for bestemte brukerroller som for eksempel " "allow_roles=\"editor,author\" (atskilt med komma(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Her er \"test\" navnet på mappen som ligger i rotkatalogen, eller du kan gi " "bane for undermapper som \"wp-content/plugins\". Hvis la stå tomt eller " "tomt, vil det få tilgang til alle mappene i rotkatalogen. Standard: " "Rotkatalog" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "for tilgang til å skrive filer tillatelser, merk: true/false, standard: usant" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "for tilgang til tillatelse til å lese filer, merk: true/false, default: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "det vil gjemme seg nevnt her. Merk: atskilt med komma(,). Standard: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Den vil låse nevnt i komma. du kan låse flere som \".php,.css,.js\" osv. " "Standard: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* for alle operasjoner og for å tillate noen operasjoner kan du nevne " "operasjonsnavn som like, allow_operations=\"last opp, last ned\". Merk: " "atskilt med komma(,). Standard: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Liste over filoperasjoner:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Lag katalog eller mappe" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Lag fil" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Gi nytt navn til en fil eller mappe" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Dupliser eller klon en mappe eller fil" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Lim inn en fil eller mappe" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "forby" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Å lage et arkiv eller zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Pakk ut arkiv eller zip-fil" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopier filer eller mapper" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Enkelt kutte en fil eller mappe" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Rediger en fil" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Fjern eller slett filer og mapper" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Last ned filer" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Last opp filer" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Søk på ting" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Info om filen" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Hjelp" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Det vil forby bestemte brukere ved å bare sette ID-ene deres adskilt med " "komma (,). Hvis brukeren er Ban, vil de ikke få tilgang til wp-filbehandling " "på frontend." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI View. Standard: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Filmodifisert eller Opprett datoformat. Standard: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Filbehandling språk. Standard: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Filbehandlingstema. Standard: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Filbehandling - Systemegenskaper" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP-versjon" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimal filopplastingsstørrelse (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Legg ut maks filstørrelse (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Memory Limit (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Tidsavbrudd (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Nettleser og operativsystem (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Endre tema her:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Misligholde" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Mørk" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Lys" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Grå" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Velkommen til File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Vi elsker å få nye venner! Abonner nedenfor, og vi lover å\n" " holde deg oppdatert med de nyeste nye plugins, oppdateringer,\n" " fantastiske tilbud og noen få spesialtilbud." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Vennligst skriv inn fornavn." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Vennligst skriv inn etternavn." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Vennligst skriv inn e-postadresse." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Bekrefte" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nei takk" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Vilkår for bruk" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Personvernregler" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Lagrer ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Backup not found!" #~ msgstr "Backup ble ikke funnet!" #~ msgid "Backup removed successfully!" #~ msgstr "Sikkerhetskopieringen ble fjernet!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Ingenting valgt for sikkerhetskopiering" #~ msgid "Security Issue." #~ msgstr "Sikkerhetsproblem. " #~ msgid "Database backup done." #~ msgstr "" #~ "Sikkerhetskopiering av databasen er " #~ "utført. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Kan ikke opprette " #~ "databasesikkerhetskopi. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Sikkerhetskopiering av programtillegg " #~ "utført. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Sikkerhetskopiering av programtillegg " #~ "mislyktes. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Sikkerhetskopiering av temaer gjort. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Sikkerhetskopiering av temaer mislyktes. " #~ "" #~ msgid "Uploads backup done." #~ msgstr "Opplastingen er gjort. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Sikkerhetskopiering mislyktes. " #~ msgid "Others backup done." #~ msgstr "" #~ "Andre sikkerhetskopieringer er gjort. " #~ "" #~ msgid "Others backup failed." #~ msgstr "" #~ "Andre sikkerhetskopieringer mislyktes. " #~ msgid "All Done" #~ msgstr "Alt gjort " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Bilde" #~ msgid "of" #~ msgstr "av" #~ msgid "Close" #~ msgstr "Lukk" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Denne funksjonen krever innebygde rammer. Du har iframes deaktivert, " #~ "eller nettleseren din støtter dem ikke." #~ msgid "Theme Editor" #~ msgstr "Tema Editor" #~ msgid "Plugin Editor" #~ msgstr "Plugin Editor" #~ msgid "Access Control" #~ msgstr "Adgangskontroll" #~ msgid "Notify Me" #~ msgstr "Varsle meg" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "språket er lastet ned." #~ msgid "Language folder failed to downlaod." #~ msgstr "Språkmappen mislyktes." #~ msgid "Security token expired!" #~ msgstr "Sikkerhetstoken utløpt!" #~ msgid " language has been downloaded successfully." #~ msgstr "språket er lastet ned." #~ msgid "Currently language " #~ msgstr "Foreløpig språk " #~ msgid " not available. Please click on the request language link." #~ msgstr " ikke tilgjengelig. Klikk på forespørselsspråklinken." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "" #~ "Du har ikke tilstrekkelige tillatelser til å redigere programtillegg for " #~ "dette nettstedet." #~ msgid "There are no plugins installed on this site." #~ msgstr "Det er ingen plugins installert på dette nettstedet." #~ msgid "There are no themes installed on this site." #~ msgstr "Det er ingen temaer installert på dette nettstedet." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Vennligst skriv inn navn på mappen!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Vennligst skriv inn filnavnet!

        " #~ msgid "Open" #~ msgstr "Åpen" #~ msgid "Preview" #~ msgstr "Forhåndsvisning" #~ msgid "Edit" #~ msgstr "Redigere" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Er du sikker på at du vil avbryte opplastingen av filen?" #~ msgid "File renamed successfully." #~ msgstr "Filnavnet vellykket!" #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Er du sikker på at du vil slette mappen?" #~ msgid "Folder deleted successfully." #~ msgstr "Mappen ble slettet." #~ msgid "File deleted successfully." #~ msgstr "Filen ble slettet." #~ msgid "Folder renamed successfully." #~ msgstr "Mappen ble omdøpt." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Ikke tillatt mer enn 30 tegn.

        " #~ msgid "Invalid request!" #~ msgstr "Ugyldig forespørsel!" #~ msgid "No change in file!" #~ msgstr "Ingen endring i filen!" #~ msgid "File saved successfully!" #~ msgstr "Filen ble lagret!" #~ msgid "File not saved!" #~ msgstr "Filen er ikke lagret!" #~ msgid "Unable to verify security token!" #~ msgstr "Kan ikke bekrefte sikkerhetstoken!" #~ msgid "Folder created successfully!" #~ msgstr "Mappen ble opprettet!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Dette mappeformatet kan ikke lastes opp med wordpress!" #~ msgid "Folder already exists!" #~ msgstr "Mappen eksisterer allerede!" #~ msgid "File created successfully!" #~ msgstr "Filen ble opprettet!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Denne filtypen kan ikke opprettes!" #~ msgid "File already exists!" #~ msgstr "Filen finnes allerede!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Vennligst skriv inn en gyldig filutvidelse!" #~ msgid "Folder does not exists!" #~ msgstr "Mappen eksisterer ikke!" #~ msgid "Folder deleted successfully!" #~ msgstr "Mappen ble slettet!" #~ msgid "File deleted successfully!" #~ msgstr "Filen ble slettet!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "Denne filtypen kan ikke lastes opp med wordpress!" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Filen ble lastet opp: Opplastet filbane er " #~ msgid "No file selected" #~ msgstr "Ingen fil valgt" #~ msgid "Unable to rename file! Try again." #~ msgstr "Kan ikke gi nytt navn til filen! Prøv igjen." #~ msgid "Folder renamed successfully!" #~ msgstr "Mappen ble omdøpt vellykket!" #~ msgid "Please enter correct folder name" #~ msgstr "Vennligst skriv inn riktig mappenavn" #~ msgid "How can we help?" #~ msgstr "Hvordan kan vi hjelpe?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "Læringsressurser, profesjonell støtte og eksperthjelp." #~ msgid "Documentation" #~ msgstr "Dokumentasjon" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Finn svar raskt fra vår omfattende dokumentasjon." #~ msgid "Learn More" #~ msgstr "Lære mer" #~ msgid "Contact Us" #~ msgstr "Kontakt oss" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "Send inn en supportbillett for svar på spørsmål du måtte ha." #~ msgid "Request a Feature" #~ msgstr "Be om en funksjon" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "Fortell oss hva du vil, og vil legge det til i veikartet vårt." #~ msgid "Tell us what you think!" #~ msgstr "Fortell oss hva du tenker!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Vurder og gi oss en anmeldelse på Wordpress!" #~ msgid "Leave a Review" #~ msgstr "Legg igjen en anmeldelse" #~ msgid "Update" #~ msgstr "Oppdater" #~ msgid "Installed" #~ msgstr "Installert" #~ msgid "Theme Editor Pro Language:" #~ msgstr "Theme Editor Pro Språk:" #~ msgid " language" #~ msgstr " Språk" #~ msgid "Click here to install/update " #~ msgstr "Klikk her for å installere / oppdatere " #~ msgid " language translation for Theme Editor Pro." #~ msgstr " språkoversettelse for Theme Editor Pro." #~ msgid "Available languages" #~ msgstr "Tilgjengelige språk" #~ msgid "Click here to download all available languages." #~ msgstr "Klikk her for å laste ned alle tilgjengelige språk." #~ msgid "Request a language" #~ msgstr "Be om språk" #~ msgid "Tell us which language you want to add." #~ msgstr "Fortell oss hvilket språk du vil legge til." #~ msgid "Contact us" #~ msgstr "Kontakt oss" #~ msgid "Notifications" #~ msgstr "Varsler" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ " Merk: Dette er bare et skjermbilde. Kjøp PRO-versjon for denne " #~ "funksjonen. " #~ msgid "Permissions" #~ msgstr "Tillatelser" #~ msgid "Edit Plugin" #~ msgstr "Rediger plugin" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Dette pluginet er for øyeblikket aktivert! Advarsel: " #~ "Det anbefales ikke å gjøre endringer i aktive plugins. Hvis endringene " #~ "dine medfører en alvorlig feil, deaktiveres programtillegget automatisk." #~ msgid "Editing " #~ msgstr "Redigering " #~ msgid " (active)" #~ msgstr " (aktiv)" #~ msgid "Browsing " #~ msgstr "Bla gjennom " #~ msgid " (inactive)" #~ msgstr " (inaktiv)" #~ msgid "Update File" #~ msgstr "Oppdater fil" #~ msgid "Download Plugin" #~ msgstr "Last ned plugin" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "Du må gjøre denne filen skrivbar før du kan lagre endringene. Se Codex for mer informasjon." #~ msgid "Select plugin to edit:" #~ msgstr "Velg plugin for å redigere:" #~ msgid "Create Folder and File" #~ msgstr "Lag mappe og fil" #~ msgid "Create" #~ msgstr "Skape" #~ msgid "Remove Folder and File" #~ msgstr "Fjern mappe og fil" #~ msgid "Remove " #~ msgstr "Fjerne" #~ msgid "To" #~ msgstr "Til" #~ msgid "Optional: Sub-Directory" #~ msgstr "Valgfritt: Underkatalog" #~ msgid "Choose File " #~ msgstr "Velg Fil" #~ msgid "No file Chosen " #~ msgstr "Ingen fil valgt " #~ msgid "Create a New Folder: " #~ msgstr "Lag en ny mappe:" #~ msgid "New folder will be created in: " #~ msgstr "Ny mappe blir opprettet i:" #~ msgid "New Folder Name: " #~ msgstr "Nytt mappenavn:" #~ msgid "Create New Folder" #~ msgstr "Opprett ny mappe" #~ msgid "Create a New File: " #~ msgstr "Opprett en ny fil:" #~ msgid "New File will be created in: " #~ msgstr "Ny fil blir opprettet i:" #~ msgid "New File Name: " #~ msgstr "Ny fil blir opprettet i:" #~ msgid "Create New File" #~ msgstr "Opprett ny fil" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "Advarsel: Vær forsiktig før du fjerner en mappe eller fil." #~ msgid "Current Theme Path: " #~ msgstr "Nåværende temabane:" #~ msgid "Remove Folder: " #~ msgstr "Fjern mappe:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Mappesti som du vil fjerne: " #~ msgid "Remove Folder" #~ msgstr "Fjern mappe" #~ msgid "Remove File: " #~ msgstr "Fjern fil:" #~ msgid "File Path which you want to remove: " #~ msgstr "Filbane som du vil fjerne: " #~ msgid "Remove File" #~ msgstr "Fjern fil" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Vennligst skriv inn gyldig e-postadresse." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "" #~ "Advarsel: Vær forsiktig før du gir nytt navn til en mappe eller fil." #~ msgid "File/Folder will be rename in: " #~ msgstr "Fil / mappe blir omdøpt i:" #~ msgid "File/Folder Rename: " #~ msgstr "File / Folder Rename:" #~ msgid "Follow us" #~ msgstr "Følg oss" #~ msgid "Theme Editor Facebook" #~ msgstr "Tema Editor Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "Theme Editor Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "Tema Editor Twitter" #~ msgid "Theme Editor Linkedin" #~ msgstr "Theme Editor Linkedin" #~ msgid "Theme Editor Youtube" #~ msgstr "Theme Editor Youtube" #~ msgid "Go to ThemeEditor site" #~ msgstr "Gå til ThemeEditor-siden" #~ msgid "Theme Editor Links" #~ msgstr "Tema Editor-lenker" #~ msgid "Child Theme" #~ msgstr "Barnetema" #~ msgid "Child Theme Permissions" #~ msgstr "Tillatelser til barnetema" #~ msgid " is not available. Please click " #~ msgstr " er ikke tilgjengelig. Vennligst klikk " #~ msgid "here" #~ msgstr "her" #~ msgid "to request language." #~ msgstr "å be om språk." #~ msgid "Click" #~ msgstr "Klikk" #~ msgid "to install " #~ msgstr "å installere " #~ msgid " language translation for Theme Editor Pro" #~ msgstr " språkoversettelse for Theme Editor Pro" #~ msgid "Success: Settings Saved!" #~ msgstr "Suksess: Innstillinger lagret!" #~ msgid "No changes have been made to save." #~ msgstr "Ingen endringer er gjort for å lagre." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Aktiver temaredigerer for temaer" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nei" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "Dette vil aktivere / deaktivere temaredigereren.
        Standard: Ja" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Deaktiver standard WordPress Theme Editor?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "Dette vil aktivere / deaktivere standard temaredigerer.
        Standard: Ja" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Aktiver Plugin Editor for Plugin" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "Dette vil aktivere / deaktivere programvareeditoren.
        Standard: Ja" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Deaktiver standard WordPress Plugin Editor?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "Dette vil aktivere / deaktivere standard plugin-editor.
        Standard: Ja" #~ msgid "Code Editor" #~ msgstr "Kodeditor" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Lar deg velge tema for temaredigerer.
        Standard: Kobolt" #~ msgid "Edit Themes" #~ msgstr "Rediger temaer" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ " Dette temaet er for øyeblikket aktivert! Advarsel: Det " #~ "anbefales ikke å gjøre endringer i aktive temaer." #~ msgid "Editing" #~ msgstr "Redigering" #~ msgid "Browsing" #~ msgstr "Bla gjennom" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Oppdater fil og forsøk på å aktivere" #~ msgid "Download Theme" #~ msgstr "Last ned tema" #~ msgid "Select theme to edit:" #~ msgstr "Velg tema du vil redigere:" #~ msgid "Theme Files" #~ msgstr "Temafiler" #~ msgid "Choose File" #~ msgstr "Velg Fil" #~ msgid "No File Chosen" #~ msgstr "Ingen fil valgt" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "Advarsel: Vær forsiktig før du fjerner en mappe eller fil." #~ msgid "Child Theme Permission" #~ msgstr "Tillatelse til barnetema" #~ msgid "Translations" #~ msgstr "Oversettelser" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "Du har ikke tillatelse til å lage et nytt barnetema." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "" #~ "Du har ikke tillatelse til å endre konfigurere eksisterende barnetema." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "Du har ikke tillatelse til å duplisere barnetemaet." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "" #~ "Du har ikke tillatelse til å få tilgang til spørrings- / velgermenyen." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "" #~ "Du har ikke tillatelse til å få tilgang til nettfonter og CSS-menyen." #~ msgid "You do not have the permission to copy files." #~ msgstr "Du har ikke tillatelse til å kopiere filer." #~ msgid "You do not have the permission to delete child files." #~ msgstr "Du har ikke tillatelse til å slette underordnede filer." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "Du har ikke tillatelse til å laste opp nytt skjermbilde." #~ msgid "You do not have the permission to upload new images." #~ msgstr "Du har ikke tillatelse til å laste opp nye bilder." #~ msgid "You do not have the permission to delete images." #~ msgstr "Du har ikke tillatelse til å slette bilder." #~ msgid "You do not have the permission to download file." #~ msgstr "Du har ikke tillatelse til å laste ned fil." #~ msgid "You do not have the permission to create new directory." #~ msgstr "Du har ikke tillatelse til å opprette ny katalog." #~ msgid "You do not have the permission to create new file." #~ msgstr "Du har ikke tillatelse til å opprette ny fil." #~ msgid "You don't have permission to update file!" #~ msgstr "Du har ikke tillatelse til å oppdatere filen!" #~ msgid "You don't have permission to create folder!" #~ msgstr "Du har ikke tillatelse til å opprette mappe!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "Du har ikke tillatelse til å slette mappen!" #~ msgid "You don't have permission to delete file!" #~ msgstr "Du har ikke tillatelse til å slette filen!" #~ msgid "You don't have permission to upload file!" #~ msgstr "Du har ikke tillatelse til å laste opp fil!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Tillatelser for barnetema er lagret." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "" #~ "Det er ikke gjort noen endringer i barnetema-tillatelsene som skal lagres." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Tillatelsesmelding for barnetema er lagret." #~ msgid "Users" #~ msgstr "Brukere" #~ msgid "Create New Child Theme" #~ msgstr "Lag nytt barn-tema" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Konfigurer et eksisterende barnetema" #~ msgid "Duplicate Child Themes" #~ msgstr "Dupliserte barnetemaer" #~ msgid "Query/ Selector" #~ msgstr "Spørring / velger" #~ msgid "Web/font" #~ msgstr "Web / font" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Kopier fil foreldretema til barnetema" #~ msgid "Deleted Child Files" #~ msgstr "Slettede barnefiler" #~ msgid "Upload New Screenshoot" #~ msgstr "Last opp nytt skjermbilde" #~ msgid "Upload New Images" #~ msgstr "Last opp nye bilder" #~ msgid "Deleted Images " #~ msgstr "Slettede bilder" #~ msgid "Download Images" #~ msgstr "Last ned bilder" #~ msgid "Create New Directory" #~ msgstr "Opprett ny katalog" #~ msgid "Create New Files" #~ msgstr "Lag nye filer" #~ msgid "Export Theme" #~ msgstr "Eksporter tema" #~ msgid "User Roles" #~ msgstr "Brukerroller" #~ msgid "Query/ Seletor" #~ msgstr "Spørring / Seletor" #~ msgid "Deleted Images" #~ msgstr "Slettede bilder" #~ msgid "Child Theme Permission Message" #~ msgstr "Melding om tillatelse til barnetema" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "Du har ikke tillatelse til å opprette nytt barnetema." #~ msgid "Query/Selector" #~ msgstr "Spørring / velger" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "" #~ "Du har ikke tillatelse til å få tilgang til spørrings- / velgermenyen." #~ msgid " Web/font" #~ msgstr "Web / font" #~ msgid " Export Theme" #~ msgstr "Eksporter tema" #~ msgid "Save Child Theme Message" #~ msgstr "Melding om tillatelse til barnetema" #~ msgid "Please select atleast one image." #~ msgstr "Velg minst ett bilde." #~ msgid "You don't have the permission to delete images." #~ msgstr "Du har ikke tillatelse til å slette bilder." #~ msgid "You don't have the permission to upload new images." #~ msgstr "Du har ikke tillatelse til å laste opp nye bilder." #~ msgid "You don't have the permission to download." #~ msgstr "Du har ikke tillatelse til å laste ned." #~ msgid "You don't have the permission to create new directory." #~ msgstr "Du har ikke tillatelse til å opprette ny katalog." #~ msgid "Please choose file type." #~ msgstr "Velg filtype." #~ msgid "Please enter file name." #~ msgstr "Vennligst skriv inn filnavnet." #~ msgid "You don't have the permission to create new file." #~ msgstr "Du har ikke tillatelse til å opprette ny fil." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "Er du sikker på å kopiere foreldrefiler til barnetema?" #~ msgid "Please select file(s)." #~ msgstr "Velg fil (er)." #~ msgid "You don't have the permission to copy files." #~ msgstr "Du har ikke tillatelse til å kopiere filer." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Er du sikker på at du vil slette valgte fil (er)?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "Du har ikke tillatelse til å slette underordnede filer." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "Du har ikke tillatelse til å laste opp nytt skjermbilde." #~ msgid "You don't have the permission to export theme." #~ msgstr "Du har ikke tillatelse til å eksportere tema." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "" #~ "Du har ikke tillatelse til å få tilgang til menyen Spørring / velger." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "Du har ikke tillatelse til å få tilgang til Web Fonts & CSS-menyen." #~ msgid "Current Analysis Theme:" #~ msgstr "Nåværende analysetema:" #~ msgid "Preview Theme" #~ msgstr "Forhåndsvisningstema" #~ msgid "Parent Themes" #~ msgstr "Overordnede temaer" #~ msgid "Child Themes" #~ msgstr "Barnetemaer" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Feil: Innstillinger ikke lagret!" #~ msgid "Email List" #~ msgstr "E-postliste" #~ msgid "Email Address" #~ msgstr "Epostadresse" #~ msgid "Enter Email" #~ msgstr "Skriv inn e-post" #~ msgid "Add More" #~ msgstr "Legg til mer" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Denne adressen brukes til varslingsformål, som tema / plugin-varsling." #~ msgid "Theme Notification" #~ msgstr "Temavarsling" #~ msgid "Notify on file update" #~ msgstr "Varsle om filoppdatering" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Melding om redigering eller oppdatering av temafiler.
        " #~ "Standard: Ja" #~ msgid "Notify on files download" #~ msgstr "Varsle ved nedlasting av filer" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Varsling om nedlastning av temafiler.
        Standard: " #~ "Ja" #~ msgid "Notify on theme download" #~ msgstr "Varsle om nedlasting av tema" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "" #~ "Melding om nedlasting av tema.
        Standard: Ja" #~ msgid "Notify on files upload" #~ msgstr "Varsle om filer som lastes opp" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Varsling om filer som lastes opp i tema.
        Standard: Ja" #~ msgid "Notify on create new file/folder" #~ msgstr "Varsle om opprett ny fil / mappe" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Melding om å opprette ny fil / mappe i tema.
        Standard: Ja" #~ msgid "Notify on delete" #~ msgstr "Varsle ved sletting" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Varsle når du sletter en fil og mappe i temaer.
        Standard: " #~ " Ja" #~ msgid "Notify on create New Child theme" #~ msgstr "Varsle om opprett tema for nytt barn" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Varsle om Lag nye barn-temaer.
        Standard: Ja" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Varsle når du konfigurerer et eksisterende barn-tema" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Varsle om konfigurer et eksisterende barn-tema.
        Standard: " #~ " Ja" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Varsle om dupliserte barnetemaer" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Varsle om Konfigurer temaer for eksisterende barn.
        " #~ "Standard: Ja" #~ msgid "Plugin Notification" #~ msgstr "Plugin-varsel" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Melding om redigering eller oppdatering av temafiler.
        " #~ "Standard: ja" #~ msgid "Notify on Plugin download" #~ msgstr "Varsle om nedlasting av plugin" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "" #~ "Melding om nedlasting av plugin.
        Standard: Ja" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Melding om filopplasting i tema.
        Standard: Ja" #~ msgid "Permission saved successfully." #~ msgstr "Tillatelsen ble lagret." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "" #~ "Beklager! Tillatelsen kan ikke lagres fordi du ikke har gjort noen " #~ "endringer." #~ msgid "Allowed User Roles" #~ msgstr "Tillatte brukerroller" #~ msgid "Update theme files" #~ msgstr "Oppdater temafiler" #~ msgid "Create new theme files and folders" #~ msgstr "Lag nye temafiler og mapper" #~ msgid "Upload new theme files and folders" #~ msgstr "Last opp nye temafiler og mapper" #~ msgid "Download theme files" #~ msgstr "Last ned temafiler" #~ msgid "Download theme" #~ msgstr "Last ned tema" #~ msgid "Update plugin files" #~ msgstr "Oppdater plugin-filer" #~ msgid "Create new plugin files and folders" #~ msgstr "Opprett nye plugin-filer og mapper" #~ msgid "Upload new plugin files and folders" #~ msgstr "Last opp nye pluginfiler og mapper" #~ msgid "Delete plugin files and folders" #~ msgstr "Slett pluginfiler og mapper" #~ msgid "Download plugin files" #~ msgstr "Last ned plugin-filer" #~ msgid "Download plugin" #~ msgstr "Last ned plugin" #~ msgid "Rename File" #~ msgstr "Endre navn på fil" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Theme Editor PRO - Legg til bestillingsdetaljene nedenfor. Hvis ikkeKjøp nå " #~ msgid "ORDER ID (#) *" #~ msgstr "BESTILLINGS ID (#) *" #~ msgid "Enter Order ID" #~ msgstr "Skriv inn ordre-ID" #~ msgid "Please Check Your email for order ID." #~ msgstr "Vennligst sjekk e-postadressen din for bestillings-ID." #~ msgid "LICENCE KEY *" #~ msgstr "LISENSNØKKEL *" #~ msgid "Enter License Key" #~ msgstr "Angi lisensnøkkel" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Vennligst sjekk e-posten din for lisensnøkkel." #~ msgid "Click To Verify" #~ msgstr "Klikk for å bekrefte" #~ msgid "URL/None" #~ msgstr "URL / Ingen" #~ msgid "Origin" #~ msgstr "Opprinnelse" #~ msgid "Color 1" #~ msgstr "Farge 1" #~ msgid "Color 2" #~ msgstr "Farge 2" #~ msgid "Width/None" #~ msgstr "Bredde / Ingen" #~ msgid "Style" #~ msgstr "Stil" #~ msgid "Color" #~ msgstr "Farge" #~ msgid "Configure Child Theme" #~ msgstr "Konfigurer barnetema" #~ msgid "Duplicate Child theme" #~ msgstr "Dupliserte barnetemaer" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "Etter å ha analysert fungerer dette temaet bra. Du kan bruke dette som " #~ "barnetema." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "" #~ "Etter å ha analysert ser det ut til at barnetemaet fungerer som det skal." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Dette temaet laster inn flere stilark etter filen style.css :" #~ msgid "The theme" #~ msgstr "Temanavn" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "kunne ikke analyseres fordi forhåndsvisningen ikke gjengis riktig" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Dette barnetemaet er ikke konfigurert for dette pluginet" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "Configuratoren gjør viktige endringer i underordnet tema, inkludert " #~ "endringer i stilark og flere php-funksjoner. Vennligst vurder å bruke " #~ "DUPLICATE-temaet for barnetema (se trinn 1 ovenfor) og beholde originalen " #~ "som en sikkerhetskopi." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "All webfonts / css-informasjon lagret." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Vennligst skriv inn verdien for webfonts / css." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "Du har ikke tillatelse til å oppdatere webfonts / css." #~ msgid "All information saved successfully." #~ msgstr "All informasjon lagret." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "Er du sikker på at du vil nullstille? Dette vil ødelegge alt arbeidet du " #~ "har gjort i Configurator." #~ msgid "Selectors" #~ msgstr "Velger" #~ msgid "Edit Selector" #~ msgstr "Rediger velgeren" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "Stilarket kan ikke vises." #~ msgid "(Child Only)" #~ msgstr "(Bare barn)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Vennligst skriv inn et gyldig barnetema." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Vennligst skriv inn et gyldig navn på barnetema." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "" #~ "%s eksisterer. Vennligst skriv inn et annet barnetema" #~ msgid "The page could not be loaded correctly." #~ msgstr "Siden kunne ikke lastes inn riktig." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "Motstridende eller utdaterte jQuery-biblioteker ble lastet inn av et " #~ "annet plugin:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "Deaktivering eller erstatning av plugins kan løse dette problemet." #~ msgid "No result found for the selection." #~ msgstr "Ingen resultater funnet for utvalget." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%sHvorfor ser jeg dette?%s" #~ msgid "Parent / Child" #~ msgstr "Foreldre / barn" #~ msgid "Select an action:" #~ msgstr "Velg en handling:" #~ msgid "Create a new Child Theme" #~ msgstr "Lag et nytt barnetema" #~ msgid "Configure an existing Child Theme" #~ msgstr "Konfigurer et eksisterende barnetema" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Dupliser et eksisterende barnetema" #~ msgid "Select a Parent Theme:" #~ msgstr "Velg et overordnet tema:" #~ msgid "Analyze Parent Theme" #~ msgstr "Analyser foreldretema" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "Klikk på \"Analyser\" for å fastslå avhengighet av stilark og andre " #~ "potensielle problemer." #~ msgid "Analyze" #~ msgstr "Analysere" #~ msgid "Select a Child Theme:" #~ msgstr "Velg et barnetema:" #~ msgid "Analyze Child Theme" #~ msgstr "Analyser barnetema" #~ msgid "Name the new theme directory:" #~ msgstr "Navngi den nye temakatalogen:" #~ msgid "Directory Name" #~ msgstr "Katalognavn" #~ msgid "NOTE:" #~ msgstr "MERK:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "Dette er IKKE navnet på barnetemaet. Du kan tilpasse navnet, beskrivelsen " #~ "osv. I trinn 7 nedenfor." #~ msgid "Verify Child Theme directory:" #~ msgstr "Bekreft underordnet temakatalog:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "" #~ "Kun for bekreftelse (du kan ikke endre katalogen til et eksisterende " #~ "Barnetema)." #~ msgid "Select where to save new styles:" #~ msgstr "Velg hvor du vil lagre nye stiler:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Primær stilark (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Lagre nye egendefinerte stiler direkte til det primære stilarket for " #~ "underordnet tema, og erstatt de eksisterende verdiene. Det primære " #~ "stilarket lastes inn i rekkefølgen som er angitt av temaet." #~ msgid "Separate Stylesheet" #~ msgstr "Separat stilark" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "Lagre nye tilpassede stiler i et eget stilark, og kombiner eventuelle " #~ "eksisterende underordnede temastiler med overordnede for å danne " #~ "grunnlinjen. Velg dette alternativet hvis du vil bevare eksisterende " #~ "underordnede temastiler i stedet for å overskrive dem. Dette alternativet " #~ "lar deg også tilpasse stilark som lastes inn etter det primære stilarket." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Velg håndtering av foreldretema:" #~ msgid "Use the WordPress style queue." #~ msgstr "Bruk WordPress-stilkøen." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "La Configurator bestemme passende handlinger og avhengigheter, og " #~ "oppdater funksjonsfilen automatisk." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "Bruk @import i underordnet temaark." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "Bruk bare dette alternativet hvis det overordnede stilarket ikke kan " #~ "lastes inn ved hjelp av WordPress-stilkøen. Bruk av @import anbefales ikke." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Ikke legg til noen overordnet stilarkhåndtering." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "Velg dette alternativet hvis dette temaet allerede håndterer stilarket " #~ "for foreldretemaet, eller hvis foreldretemas style.css -" #~ "fil ikke brukes til utseendet." #~ msgid "Advanced handling options" #~ msgstr "Avanserte håndteringsalternativer" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Ignorer overordnede temaark." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Velg dette alternativet hvis dette temaet allerede håndterer stilarket " #~ "for overordnet tema, eller hvis overordnet temaets style.css-fil ikke " #~ "brukes for utseendet." #~ msgid "Repair the header template in the child theme." #~ msgstr "Reparer overskriftsmalen i barnetemaet." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "La Configurator (prøve å) løse eventuelle stilarkproblemer som er oppført " #~ "ovenfor. Dette kan løse mange, men ikke alle, vanlige problemer." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Fjern stilarkavhengigheter" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Som standard bevares rekkefølgen på stilark som lastes inn før det " #~ "primære stilarket, ved å behandle dem som avhengigheter. I noen tilfeller " #~ "oppdages stilark i forhåndsvisningen som ikke brukes hele nettstedet. Om " #~ "nødvendig kan avhengighet fjernes for spesifikke stilark nedenfor." #~ msgid "Child Theme Name" #~ msgstr "Navn på barnetema" #~ msgid "Theme Name" #~ msgstr "Temanavn" #~ msgid "Theme Website" #~ msgstr "Temanettsted" #~ msgid "Author" #~ msgstr "Forfatter" #~ msgid "Author Website" #~ msgstr "Forfatterens nettsted" #~ msgid "Theme Description" #~ msgstr "Tema beskrivelse" #~ msgid "Description" #~ msgstr "Beskrivelse" #~ msgid "Tags" #~ msgstr "Merker" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "Kopier menyer, moduler og andre tilpasningsinnstillinger fra " #~ "foreldretemaet til barnetemaet:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Dette alternativet erstatter Barnetemaets eksisterende menyer, småprogram " #~ "og andre tilpasningsinnstillinger med de fra overordnet temaet. Du " #~ "trenger bare å bruke dette alternativet første gang du konfigurerer et " #~ "barnetema." #~ msgid "Click to run the Configurator:" #~ msgstr "Klikk for å kjøre Configurator:" #~ msgid "Query / Selector" #~ msgstr "Spørring / velger" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "For å finne spesifikke velgere i @media-spørringsblokker, velg først " #~ "spørringen og deretter velgeren. Bruk \"base\" -spørringen for å redigere " #~ "alle andre velgere." #~ msgid "@media Query" #~ msgstr "@media Query" #~ msgid "( or \"base\" )" #~ msgstr "(eller \"base\")" #~ msgid "Selector" #~ msgstr "Velger" #~ msgid "Query/Selector Action" #~ msgstr "Spørring / velgervalg" #~ msgid "Save Child Values" #~ msgstr "Lagre barnverdier" #~ msgid "Delete Child Values" #~ msgstr "Slett underordnede verdier" #~ msgid "Property" #~ msgstr "Eiendom" #~ msgid "Baseline Value" #~ msgstr "Basisverdi" #~ msgid "Child Value" #~ msgstr "Barneverdi" #~ msgid "error" #~ msgstr "feil" #~ msgid "You do not have permission to configure child themes." #~ msgstr "Du har ikke tillatelse til å konfigurere underordnede temaer." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s eksisterer ikke. Velg et gyldig overordnet tema." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Funksjoner-filen er obligatorisk og kan ikke slettes." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Velg et gyldig overordnet tema." #~ msgid "Please select a valid Child Theme." #~ msgstr "Velg et gyldig tema for barn." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Vennligst skriv inn et gyldig katalogtema for barnetema." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%s eksisterer. Vennligst skriv inn et annet navn på " #~ "barnetema." #~ msgid "Your theme directories are not writable." #~ msgstr "Temakatalogene dine er ikke skrivbare." #~ msgid "Could not upgrade child theme" #~ msgstr "Kunne ikke oppgradere barnetema" #~ msgid "Your stylesheet is not writable." #~ msgstr "Stilarket ditt er ikke skrivbart." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "En avsluttende PHP-tag ble oppdaget i underordnede temafunksjoner-fil, " #~ "slik at alternativet \"Parent Stylesheet Handling\" ikke ble konfigurert. " #~ "Lukking av PHP på slutten av filen frarådes, da det kan føre til for " #~ "tidlige HTTP-overskrifter. Vennligst rediger functions.php " #~ "for å fjerne den endelige ?> -taggen og klikk på " #~ "\"Generate / Rebuild Child Theme Files\" igjen." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Kunne ikke kopiere filen: %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Kunne ikke slette %s fil." #, php-format #~ msgid "could not copy %s" #~ msgstr "kunne ikke kopiere %s" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "ugyldig dir: %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "Det oppstod feil under tilbakestilling av tillatelser." #~ msgid "Could not upload file." #~ msgstr "Kunne ikke laste opp filen." #~ msgid "Invalid theme root directory." #~ msgstr "Ugyldig rotkatalog for tema." #~ msgid "No writable temp directory." #~ msgstr "Ingen skrivbar temp-katalog." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Utpakking mislyktes -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Pakken mislyktes -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Maksimalt antall stiler overskredet." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Feil ved flytting av fil: %s" #~ msgid "Could not set write permissions." #~ msgstr "Kunne ikke angi skrivetillatelser." #~ msgid "Error:" #~ msgstr "Feil:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "Gjeldende analyse Barnetema %s er tilbakestilt." #~ msgid "Update Key saved successfully." #~ msgstr "Oppdateringsnøkkelen ble lagret." #~ msgid "Child Theme files modified successfully." #~ msgstr "Underordnede temafiler er endret." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "Barnetema %s er generert." #~ msgid "Web Fonts & CSS" #~ msgstr "Nettfonter og CSS" #~ msgid "Parent Styles" #~ msgstr "Foreldre stiler" #~ msgid "Child Styles" #~ msgstr "Barnestiler" #~ msgid "View Child Images" #~ msgstr "Se barnebilder" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Bruk @import url ([path]); for å koble til flere stilark. " #~ "Denne pluginen bruker nøkkelordet @import for å " #~ "identifisere dem og konvertere dem til <link> -koder. " #~ " Eksempel: " #~ msgid "Save" #~ msgstr "Lagre" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "" #~ "Opplasting av bilde med samme navn erstattes med eksisterende bilde." #~ msgid "Upload New Child Theme Image" #~ msgstr "Last opp nytt tema for barnetema" #~ msgid "Delete Selected Images" #~ msgstr "Slett valgte bilder" #~ msgid "Create a New Directory" #~ msgstr "Opprett en ny katalog" #~ msgid "New Directory will be created in" #~ msgstr "Ny katalog blir opprettet i" #~ msgid "New Directory Name" #~ msgstr "Nytt katalognavn" #~ msgid "Create a New File" #~ msgstr "Opprett en ny fil" #~ msgid "New File will be created in" #~ msgstr "Ny fil blir opprettet i" #~ msgid "New File Name" #~ msgstr "Nytt filnavn" #~ msgid "File Type Extension" #~ msgstr "Filtype utvidelse" #~ msgid "Choose File Type" #~ msgstr "Velg Filtype" #~ msgid "PHP File" #~ msgstr "PHP-fil" #~ msgid "CSS File" #~ msgstr "CSS-fil" #~ msgid "JS File" #~ msgstr "JS-fil" #~ msgid "Text File" #~ msgstr "Tekstfil" #~ msgid "PHP File Type" #~ msgstr "PHP-filtype" #~ msgid "Simple PHP File" #~ msgstr "Enkel PHP-fil" #~ msgid "Wordpress Template File" #~ msgstr "Wordpress malfil" #~ msgid "Template Name" #~ msgstr "Malnavn" #~ msgid "Parent Templates" #~ msgstr "Overordnede maler" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "Kopier PHP-maler fra overordnet tema ved å velge dem her. Configurator " #~ "definerer en mal som en Theme PHP-fil uten PHP-funksjoner eller klasser. " #~ "Andre PHP-filer kan ikke trygt overstyres av et underordnet tema." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "FORSIKTIG: Hvis barnetemaet ditt er aktivt, vil barnets temaversjon av " #~ "filen brukes i stedet for foreldrene umiddelbart etter at den er kopiert." #~ msgid "The " #~ msgstr "De" #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "filen genereres separat og kan ikke kopieres her." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Kopi Selected to Child Theme" #~ msgid " Child Theme Files " #~ msgstr "Barnefiler" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Klikk for å redigere filer ved hjelp av Theme Editor" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Slett mal for underordnede temaer ved å velge dem her." #~ msgid "Delete Selected" #~ msgstr "Slett valgte" #~ msgid "Child Theme Screenshot" #~ msgstr "Skjermbilde for barnetema" #~ msgid "Upload New Screenshot" #~ msgstr "Last opp nytt skjermbilde" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "Temaskjermbildet skal være i forholdet 4: 3 (f.eks. 880px x 660px) JPG, " #~ "PNG eller GIF. Det vil bli omdøpt" #~ msgid "Screenshot" #~ msgstr "Skjermbilde" #~ msgid "Upload New Child Theme Image " #~ msgstr "Last opp nytt tema for barnetema" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "Temabilder ligger under bildekatalogen i barnetemaet ditt og er kun ment " #~ "for stilarkbruk. Bruk mediebiblioteket til innholdsbilder." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Forhåndsvisning av det aktuelle barnetemaet (aktuell analyse)" #~ msgid "Preview Current Child Theme" #~ msgstr "Forhåndsvisning av det aktuelle barnetemaet" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Eksporter barnetema som zip-arkiv" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Klikk på \"Eksporter zip\" for å lagre en sikkerhetskopi av det for " #~ "øyeblikket lastede barnetemaet. Du kan eksportere hvilket som helst av " #~ "temaene dine fra kategorien Foreldre / barn." #~ msgid "Export Child Theme" #~ msgstr "Eksporter barnetema" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Barn (e) temafil (er) er kopiert!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "Filen du prøver å kopiere fra overordnede maler eksisterer ikke" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "Filen du prøver å kopiere fra overordnede maler, er allerede til stede i " #~ "underordnede temafiler." #~ msgid "Child " #~ msgstr "Barn" #~ msgid " and Parent " #~ msgstr "og Forelder" #~ msgid " directories doesn't exist!" #~ msgstr "kataloger eksisterer ikke!" #~ msgid " directory doesn't exist!" #~ msgstr "katalogen eksisterer ikke!" #~ msgid "Parent " #~ msgstr "Forelder" #~ msgid "Unknown error! " #~ msgstr "Ukjent feil!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "Du har ikke tillatelse til å kopiere filene!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Alle valgte filene er slettet!" #~ msgid " does not exists!" #~ msgstr "eksisterer ikke!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Denne filtypen kan ikke lastes opp!" #~ msgid "Image uploaded successfully!" #~ msgstr "Bildet ble lastet opp!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Det er noe problem med å laste opp bilde!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "Denne filtypen kan ikke lastes opp som screenshot av wordpress!" #~ msgid "File uploaded successfully!" #~ msgstr "Filen ble lastet opp!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Underordnede temafiler kan ikke endres." #~ msgid "File(s) deleted successfully!" #~ msgstr "Fil (er) ble slettet!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "Du har ikke tillatelse til å slette fil (er)!" #~ msgid "Entered directory name already exists" #~ msgstr "Det oppgitte katalognavnet eksisterer allerede" #~ msgid "You don't have permission to create directory!" #~ msgstr "Du har ikke tillatelse til å opprette katalog!" #~ msgid "Wordpress template file created" #~ msgstr "Wordpress malfil opprettet" #~ msgid "Wordpress template file not created" #~ msgstr "Wordpress malfil ble ikke opprettet" #~ msgid "PHP created file successfully" #~ msgstr "PHP opprettet fil med hell" #~ msgid "PHP file not created" #~ msgstr "PHP-fil ble ikke opprettet" #~ msgid " file not created" #~ msgstr "filen ble ikke opprettet" #~ msgid "Already exists" #~ msgstr "Eksisterer allerede" #~ msgid "You don't have permission to create file!" #~ msgstr "Du har ikke tillatelse til å opprette fil!" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "" #~ "opprette, redigere, laste opp, laste ned, slette temafiler og mapper" #~ msgid "Language folder has been downlaoded." #~ msgstr "Språkmappen er blitt nedlagt." #~ msgid "Add single or multiple languages." #~ msgstr "Legg til enkelt eller flere språk." #~ msgid "Add single language file" #~ msgstr "Legg til enkelt språkfil" #~ msgid "Please click on language button." #~ msgstr "Klikk på språkknappen." #~ msgid "Add all languages zip folder" #~ msgstr "Legg til alle språk zip-mappen" #~ msgid "Zip Download" #~ msgstr "Zip Last ned" wp-file-manager/languages/wp-file-manager.pot000064400000001471151202472330015166 0ustar00#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-06 09:29+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: \n" "Language: \n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Loco https://localise.biz/" #. Name of the plugin msgid "WP File Manager" msgstr "" #. Description of the plugin msgid "Manage your WP files." msgstr "" #. URI of the plugin msgid "https://wordpress.org/plugins/wp-file-manager" msgstr "" #. Author of the plugin msgid "mndpsingh287" msgstr "" #. Author URI of the plugin msgid "https://profiles.wordpress.org/mndpsingh287" msgstr "" wp-file-manager/languages/wp-file-manager-pt_PT.mo000064400000043317151202472330016030 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&h&((2)E):&*Aa**(**+KY,N, ,@,+@--l----$-!-/.G.e.}. .1. . ... /#!/E/N/0h////'//00C0K0T0 \0i0000'0004 1 @1M12% 2#F21j2V2 2 3$4D4W4]4c4`5@6 X6y6nV77c899V9 Z9e9 9R9:9!:=:S:#o:::: :g:}H;;;<<F<N<m<<'< < <<<"=3=oG=i=!>!)>K>d>*>@> >>?-?$@?e? ?,??? ??? @!@ =@#J@n@*@6@@A#A4ALA?_AAAAA'A B!(BJBgBlB4rBB0BB)C4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: PO-Revision-Date: 2022-02-28 11:13+0530 Last-Translator: Language-Team: Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr;esc_html X-Poedit-SearchPath-0: . * para todas as operações e para permitir alguma operação, você pode mencionar o nome da operação como, allowed_operations="upload,download". Nota: separados por vírgula(,). Predefinição: *-> Ele irá banir usuários específicos apenas colocando seus ids separados por vírgulas (,). Se o usuário for Ban, então ele não será capaz de acessar o gerenciador de arquivos wp no front end.-> Tema do gerenciador de arquivos. Padrão: Light-> Arquivo modificado ou Criar formato de data. Padrão: d M, Y h:i A-> Idioma do gerenciador de arquivos. Padrão: English(en)-> Visualização da IU do gerenciador de arquivos. Padrão: gridAçaoAções após backup (s) selecionado (s)O administrador pode restringir as ações de qualquer usuário. Também oculta arquivos e pastas e pode definir diferentes - caminhos de pastas diferentes para usuários diferentes.O administrador pode restringir as ações de qualquer função de usuário. Também oculta arquivos e pastas e pode definir diferentes - caminhos de pastas diferentes para funções de usuários diferentes.Depois de habilitar a lixeira, seus arquivos irão para a pasta da lixeira.Depois de habilitar isso, todos os arquivos irão para a biblioteca de mídia.Tudo feitoTem certeza que deseja remover o (s) backup (s) selecionado (s)?Tem certeza que deseja excluir este backup?Tem certeza que deseja restaurar este backup?Data de BackupFaça backup agoraOpções de backup:Dados de backup (clique para baixar)Os arquivos de backup estarão emO backup está em execução, por favor aguardeBackup excluído com sucesso.Restauração de backupBackups removidos com sucesso!banimentoNavegador e sistema operacional (HTTP_USER_AGENT)Compre PROCompre ProCancelarMude o tema aqui:Clique para comprar PROVisualização do editor de códigoconfirmeCopiar arquivos ou pastasAtualmente nenhum (s) backup (s) encontrado (s).DELETAR ARQUIVOSEscuraBackup de banco de dadosBackup de banco de dados feito na data Backup de banco de dados feito.Backup do banco de dados restaurado com sucesso.PadrãoPadrão:ExcluirDeselecionarDescartar essa notificação.DoarBaixar registros de arquivosBaixar arquivosDuplicar ou clonar uma pasta ou arquivoEditar Arquivos de LogsEditar um arquivoAtivar upload de arquivos para biblioteca de mídia?Ativar Lixo?Erro: não é possível restaurar o backup porque o backup do banco de dados é muito grande. Por favor, tente aumentar o tamanho máximo permitido nas configurações de Preferências.Backup (s) existente (s)Extrair arquivo ou arquivo compactadoGerenciador de Arquivos - ShortcodeGerenciador de arquivos - Propriedades do sistemaCaminho raiz do gerenciador de arquivos, você pode alterar de acordo com sua escolha.O Gerenciador de arquivos possui um editor de código com vários temas. Você pode selecionar qualquer tema para o editor de código. Ele será exibido quando você editar qualquer arquivo. Além disso, você pode permitir o modo de tela cheia do editor de código.Lista de operações de arquivo:O arquivo não existe para download.Backup de arquivoscinzaAjudaAqui "teste" é o nome da pasta que está localizada no diretório raiz, ou você pode fornecer o caminho para subpastas como "wp-content/plugins". Se deixar em branco ou vazio, ele acessará todas as pastas no diretório raiz. Padrão: diretório raizAqui, o administrador pode dar acesso às funções do usuário para usar o gerenciador de arquivos. O administrador pode definir a pasta de acesso padrão e também controlar o tamanho de upload do gerenciador de arquivos.Informação do arquivoCódigo de segurança inválido.Ele permitirá que todas as funções acessem o gerenciador de arquivos no front-end ou você pode usar simplesmente para funções de usuário específicas, como allowed_roles="editor,author" (separado por vírgula (,))Ele irá bloquear mencionado entre vírgulas. você pode bloquear mais como ".php,.css,.js" etc. Padrão: NullEle mostrará o gerenciador de arquivos no front-end. Mas apenas o Administrador pode acessá-lo e controlará as configurações do gerenciador de arquivos.Ele mostrará o gerenciador de arquivos no front-end. Você pode controlar todas as configurações nas configurações do gerenciador de arquivos. Ele funcionará da mesma forma que o WP File Manager de back-end.Última mensagem de registroLuzHistóricaCriar diretório ou pastaCriar arquivoTamanho máximo permitido no momento da restauração do backup do banco de dados.Tamanho máximo de upload de arquivo (upload_max_filesize)Limite de memória (memory_limit)ID de backup ausente.Tipo de parâmetro ausente.Parâmetros obrigatórios ausentes.Não, obrigadoSem mensagem de logNenhum registro encontrado!Observação:Nota: Estas são capturas de tela de demonstração. Adquira o File Manager pro para funções de Logs.Nota: esta é apenas uma captura de tela de demonstração. Para obter as configurações, compre nossa versão profissional.Nada selecionado para backupNada selecionado para backup.OKOKOutros (quaisquer outros diretórios encontrados dentro de wp-content)Outros backups feitos na data Outros backup feito.Outros backup falhou.Outros backups restaurados com sucesso.Versão PHPParâmetros:Cole um arquivo ou pastaDigite o endereço de e-mail.Por favor, insira o primeiro nome.Digite o sobrenome.Por favor, mude isso com cuidado, o caminho errado pode fazer com que o plugin do gerenciador de arquivos caia.Aumente o valor do campo se estiver recebendo uma mensagem de erro no momento da restauração do backup.PluginsBackup de plug-ins feito na data Backup de plugins feito.Falha no backup de plug-ins.Backup de plug-ins restaurado com sucesso.Tamanho máximo de upload de arquivo da postagem (post_max_size)PreferênciasPolítica de PrivacidadeCaminho de raiz públicaRESTAURAR ARQUIVOSRemover ou excluir arquivos e pastasRenomear um arquivo ou pastaRestaurarA restauração está em execução, aguardeSUCESSOSalvar alteraçõesSalvando ...Pesquisar coisasProblema de segurança.Selecionar tudoSelecione backup(s) para excluir!DefiniçõesConfigurações - editor de códigoConfigurações - GeralConfigurações - Restrições do usuárioConfigurações - Restrições de função do usuárioConfigurações salvas.Shortcode - PROSimples recorte um arquivo ou pastaPropriedades do sistemaTermos de serviçoO backup aparentemente foi bem-sucedido e agora está completo.TemasBackup de temas feito na data Backup de temas feito.Falha no backup de temas.Backup de temas restaurado com sucesso.Hora agoraTempo limite (max_execution_time)Para fazer um arquivo ou zipHojeUSAR:Não foi possível criar o backup do banco de dados.Incapaz de remover o backup!Incapaz de restaurar o backup do banco de dados.Incapaz de restaurar outros.Não foi possível restaurar os plug-ins.Incapaz de restaurar temas.Incapaz de restaurar uploads.Fazer upload de registros de arquivosFazer upload de arquivosUploadsBackup de uploads feito na data Backup de uploads concluído.Falha no backup de uploads.Backup de uploads restaurado com sucesso.VerificarVer LogWP File ManagerWP File Manager - Backup / RestauraçãoContribuição do gerenciador de arquivos WPAdoramos fazer novos amigos! Inscreva-se abaixo e nós prometemos mantê-lo atualizado com nossos novos plug-ins, atualizações, promoções incríveis e algumas ofertas especiais.Bem-vindo ao gerenciador de arquivosVocê não fez nenhuma alteração para ser salvo.para acesso à permissão de leitura de arquivos, observe: true/false, padrão: truepara acesso a permissões de gravação de arquivos, observe: true/false, padrão: falseele vai esconder mencionado aqui. Nota: separados por vírgula(,). Padrão: Nulowp-file-manager/languages/wp-file-manager-pt_PT.po000064400000236301151202472330016030 0ustar00msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2022-02-28 11:09+0530\n" "PO-Revision-Date: 2022-02-28 11:13+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr;esc_html\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Backup de temas restaurado com sucesso." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Incapaz de restaurar temas." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Backup de uploads restaurado com sucesso." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Incapaz de restaurar uploads." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Outros backups restaurados com sucesso." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Incapaz de restaurar outros." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Backup de plug-ins restaurado com sucesso." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Não foi possível restaurar os plug-ins." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Backup do banco de dados restaurado com sucesso." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Tudo feito" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Incapaz de restaurar o backup do banco de dados." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Backups removidos com sucesso!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Incapaz de remover o backup!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Backup de banco de dados feito na data " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Backup de plug-ins feito na data " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Backup de temas feito na data " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Backup de uploads feito na data " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Outros backups feitos na data " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Histórica" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nenhum registro encontrado!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Nada selecionado para backup" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Problema de segurança." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Backup de banco de dados feito." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Não foi possível criar o backup do banco de dados." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Backup de plugins feito." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Falha no backup de plug-ins." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Backup de temas feito." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Falha no backup de temas." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Backup de uploads concluído." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Falha no backup de uploads." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Outros backup feito." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Outros backup falhou." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP File Manager" #: file_folder_manager.php:769 msgid "Settings" msgstr "Definições" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferências" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Propriedades do sistema" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Restauração de backup" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Compre Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Doar" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "O arquivo não existe para download." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Código de segurança inválido." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "ID de backup ausente." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Tipo de parâmetro ausente." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Parâmetros obrigatórios ausentes." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Erro: não é possível restaurar o backup porque o backup do banco de dados é " "muito grande. Por favor, tente aumentar o tamanho máximo permitido nas " "configurações de Preferências." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Selecione backup(s) para excluir!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Tem certeza que deseja remover o (s) backup (s) selecionado (s)?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "O backup está em execução, por favor aguarde" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "A restauração está em execução, aguarde" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Nada selecionado para backup." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP File Manager - Backup / Restauração" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opções de backup:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Backup de banco de dados" #: inc/backup.php:64 msgid "Files Backup" msgstr "Backup de arquivos" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugins" #: inc/backup.php:71 msgid "Themes" msgstr "Temas" #: inc/backup.php:74 msgid "Uploads" msgstr "Uploads" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Outros (quaisquer outros diretórios encontrados dentro de wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Faça backup agora" #: inc/backup.php:89 msgid "Time now" msgstr "Hora agora" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUCESSO" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Backup excluído com sucesso." #: inc/backup.php:102 msgid "Ok" msgstr "OK" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "DELETAR ARQUIVOS" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Tem certeza que deseja excluir este backup?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Cancelar" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "confirme" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RESTAURAR ARQUIVOS" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Tem certeza que deseja restaurar este backup?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Última mensagem de registro" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "O backup aparentemente foi bem-sucedido e agora está completo." #: inc/backup.php:171 msgid "No log message" msgstr "Sem mensagem de log" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Backup (s) existente (s)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Data de Backup" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Dados de backup (clique para baixar)" #: inc/backup.php:190 msgid "Action" msgstr "Açao" #: inc/backup.php:210 msgid "Today" msgstr "Hoje" #: inc/backup.php:239 msgid "Restore" msgstr "Restaurar" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Excluir" #: inc/backup.php:241 msgid "View Log" msgstr "Ver Log" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Atualmente nenhum (s) backup (s) encontrado (s)." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Ações após backup (s) selecionado (s)" #: inc/backup.php:251 msgid "Select All" msgstr "Selecionar tudo" #: inc/backup.php:252 msgid "Deselect" msgstr "Deselecionar" #: inc/backup.php:254 msgid "Note:" msgstr "Observação:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Os arquivos de backup estarão em" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Contribuição do gerenciador de arquivos WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Nota: Estas são capturas de tela de demonstração. Adquira o File Manager pro " "para funções de Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Clique para comprar PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Compre PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Editar Arquivos de Logs" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Baixar registros de arquivos" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Fazer upload de registros de arquivos" #: inc/root.php:43 msgid "Settings saved." msgstr "Configurações salvas." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Descartar essa notificação." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Você não fez nenhuma alteração para ser salvo." #: inc/root.php:55 msgid "Public Root Path" msgstr "Caminho de raiz pública" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Caminho raiz do gerenciador de arquivos, você pode alterar de acordo com sua " "escolha." #: inc/root.php:59 msgid "Default:" msgstr "Padrão:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Por favor, mude isso com cuidado, o caminho errado pode fazer com que o " "plugin do gerenciador de arquivos caia." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Ativar Lixo?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Depois de habilitar a lixeira, seus arquivos irão para a pasta da lixeira." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Ativar upload de arquivos para biblioteca de mídia?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Depois de habilitar isso, todos os arquivos irão para a biblioteca de mídia." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Tamanho máximo permitido no momento da restauração do backup do banco de " "dados." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Aumente o valor do campo se estiver recebendo uma mensagem de erro no " "momento da restauração do backup." #: inc/root.php:90 msgid "Save Changes" msgstr "Salvar alterações" #: inc/settings.php:10 msgid "Settings - General" msgstr "Configurações - Geral" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Nota: esta é apenas uma captura de tela de demonstração. Para obter as " "configurações, compre nossa versão profissional." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Aqui, o administrador pode dar acesso às funções do usuário para usar o " "gerenciador de arquivos. O administrador pode definir a pasta de acesso " "padrão e também controlar o tamanho de upload do gerenciador de arquivos." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Configurações - editor de código" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "O Gerenciador de arquivos possui um editor de código com vários temas. Você " "pode selecionar qualquer tema para o editor de código. Ele será exibido " "quando você editar qualquer arquivo. Além disso, você pode permitir o modo " "de tela cheia do editor de código." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Visualização do editor de código" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Configurações - Restrições do usuário" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "O administrador pode restringir as ações de qualquer usuário. Também oculta " "arquivos e pastas e pode definir diferentes - caminhos de pastas diferentes " "para usuários diferentes." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Configurações - Restrições de função do usuário" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "O administrador pode restringir as ações de qualquer função de usuário. " "Também oculta arquivos e pastas e pode definir diferentes - caminhos de " "pastas diferentes para funções de usuários diferentes." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Gerenciador de Arquivos - Shortcode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "USAR:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Ele mostrará o gerenciador de arquivos no front-end. Você pode controlar " "todas as configurações nas configurações do gerenciador de arquivos. Ele " "funcionará da mesma forma que o WP File Manager de back-end." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Ele mostrará o gerenciador de arquivos no front-end. Mas apenas o " "Administrador pode acessá-lo e controlará as configurações do gerenciador de " "arquivos." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parâmetros:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Ele permitirá que todas as funções acessem o gerenciador de arquivos no " "front-end ou você pode usar simplesmente para funções de usuário " "específicas, como allowed_roles=\"editor,author\" (separado por vírgula (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Aqui \"teste\" é o nome da pasta que está localizada no diretório raiz, ou " "você pode fornecer o caminho para subpastas como \"wp-content/plugins\". Se " "deixar em branco ou vazio, ele acessará todas as pastas no diretório raiz. " "Padrão: diretório raiz" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "para acesso a permissões de gravação de arquivos, observe: true/false, " "padrão: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "para acesso à permissão de leitura de arquivos, observe: true/false, padrão: " "true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "ele vai esconder mencionado aqui. Nota: separados por vírgula(,). Padrão: " "Nulo" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Ele irá bloquear mencionado entre vírgulas. você pode bloquear mais como \"." "php,.css,.js\" etc. Padrão: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* para todas as operações e para permitir alguma operação, você pode " "mencionar o nome da operação como, allowed_operations=\"upload,download\". " "Nota: separados por vírgula(,). Predefinição: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lista de operações de arquivo:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Criar diretório ou pasta" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Criar arquivo" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Renomear um arquivo ou pasta" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplicar ou clonar uma pasta ou arquivo" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Cole um arquivo ou pasta" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "banimento" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Para fazer um arquivo ou zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extrair arquivo ou arquivo compactado" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Copiar arquivos ou pastas" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Simples recorte um arquivo ou pasta" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Editar um arquivo" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Remover ou excluir arquivos e pastas" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Baixar arquivos" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Fazer upload de arquivos" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Pesquisar coisas" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informação do arquivo" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Ajuda" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Ele irá banir usuários específicos apenas colocando seus ids separados " "por vírgulas (,). Se o usuário for Ban, então ele não será capaz de acessar " "o gerenciador de arquivos wp no front end." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Visualização da IU do gerenciador de arquivos. Padrão: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Arquivo modificado ou Criar formato de data. Padrão: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Idioma do gerenciador de arquivos. Padrão: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema do gerenciador de arquivos. Padrão: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Gerenciador de arquivos - Propriedades do sistema" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Versão PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Tamanho máximo de upload de arquivo (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Tamanho máximo de upload de arquivo da postagem (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Limite de memória (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Tempo limite (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Navegador e sistema operacional (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Mude o tema aqui:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Padrão" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Escura" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Luz" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "cinza" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Bem-vindo ao gerenciador de arquivos" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Adoramos fazer novos amigos! Inscreva-se abaixo e nós prometemos\n" " mantê-lo atualizado com nossos novos plug-ins, atualizações,\n" " promoções incríveis e algumas ofertas especiais." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Por favor, insira o primeiro nome." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Digite o sobrenome." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Digite o endereço de e-mail." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verificar" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Não, obrigado" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Termos de serviço" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Política de Privacidade" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Salvando ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Backup not found!" #~ msgstr "Backup não encontrado!" #~ msgid "Backup removed successfully!" #~ msgstr "Backup removido com sucesso!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Nada selecionado para backup" #~ msgid "Security Issue." #~ msgstr "Problema de segurança. " #~ msgid "Database backup done." #~ msgstr "" #~ "Backup de banco de dados feito. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Não foi possível criar o backup do banco " #~ "de dados. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Backup de plug-ins feito. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Falha no backup dos plug-ins. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Backup de temas concluído. " #~ msgid "Themes backup failed." #~ msgstr "Falha no backup dos temas. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Backup de uploads concluído. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Falha no backup dos uploads. " #~ msgid "Others backup done." #~ msgstr "Outros backups feitos. " #~ msgid "Others backup failed." #~ msgstr "Outros backups falhou. " #~ msgid "All Done" #~ msgstr "Tudo Concluído " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Imagem" #~ msgid "of" #~ msgstr "de" #~ msgid "Close" #~ msgstr "Perto" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Este recurso requer frames embutidos. Você desativou os iframes ou seu " #~ "navegador não os suporta." #~ msgid "Theme Editor" #~ msgstr "Editor de Tema" #~ msgid "Plugin Editor" #~ msgstr "Editor de Plugin" #~ msgid "Access Control" #~ msgstr "Controle de acesso" #~ msgid "Notify Me" #~ msgstr "Me avise" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "o idioma foi baixado com sucesso." #~ msgid "Language folder failed to downlaod." #~ msgstr "ਭਾਸ਼ਾ ਫੋਲਡਰ ਡਾlaਨਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ." #~ msgid "Security token expired!" #~ msgstr "Token de segurança expirado!" #~ msgid " language has been downloaded successfully." #~ msgstr "o idioma foi baixado com sucesso." #~ msgid "Currently language " #~ msgstr "Idioma atual " #~ msgid " not available. Please click on the request language link." #~ msgstr " não disponível. Clique no link do idioma de solicitação." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "" #~ "Você não tem permissões suficientes para editar plug-ins para este site." #~ msgid "There are no plugins installed on this site." #~ msgstr "Não há plug-ins instalados neste site." #~ msgid "There are no themes installed on this site." #~ msgstr "Não há temas instalados neste site." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Digite o nome da pasta!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Digite o nome do arquivo!

        " #~ msgid "Open" #~ msgstr "Abrir" #~ msgid "Preview" #~ msgstr "Antevisão" #~ msgid "Edit" #~ msgstr "Editar" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Tem certeza de que deseja abortar o envio do arquivo?" #~ msgid "File renamed successfully." #~ msgstr "Arquivo renomeado com sucesso." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Tem certeza que deseja excluir a pasta?" #~ msgid "Folder deleted successfully." #~ msgstr "Pasta excluída com sucesso." #~ msgid "File deleted successfully." #~ msgstr "Arquivo excluído com sucesso." #~ msgid "Folder renamed successfully." #~ msgstr "Pasta renomeada com sucesso." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Não permitido mais de 30 caracteres.

        " #~ msgid "Invalid request!" #~ msgstr "Pedido inválido!" #~ msgid "No change in file!" #~ msgstr "Nenhuma mudança no arquivo!" #~ msgid "File saved successfully!" #~ msgstr "Arquivo salvo com sucesso!" #~ msgid "File not saved!" #~ msgstr "Arquivo não salvo!" #~ msgid "Unable to verify security token!" #~ msgstr "Não foi possível verificar o token de segurança!" #~ msgid "Folder created successfully!" #~ msgstr "Pasta criada com sucesso!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Este formato de pasta não pode ser carregado por wordpress!" #~ msgid "Folder already exists!" #~ msgstr "A pasta já existe!" #~ msgid "File created successfully!" #~ msgstr "Arquivo criado com sucesso!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Esta extensão de arquivo não tem permissão para criar!" #~ msgid "File already exists!" #~ msgstr "O arquivo já existe!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Por favor, insira uma extensão de arquivo válida!" #~ msgid "Folder does not exists!" #~ msgstr "A pasta não existe!" #~ msgid "Folder deleted successfully!" #~ msgstr "Pasta excluída com sucesso!" #~ msgid "File deleted successfully!" #~ msgstr "Arquivo excluído com sucesso!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "Esta extensão de arquivo não é permitida para upload por wordpress!" #~ msgid " already exists" #~ msgstr " Já existe" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Arquivo carregado com sucesso: o caminho do arquivo carregado é " #~ msgid "No file selected" #~ msgstr "Nenhum arquivo selecionado" #~ msgid "Unable to rename file! Try again." #~ msgstr "Incapaz de renomear o arquivo! Tente novamente." #~ msgid "Folder renamed successfully!" #~ msgstr "Pasta renomeada com sucesso!" #~ msgid "Please enter correct folder name" #~ msgstr "Por favor, insira o nome correto da pasta" #~ msgid "How can we help?" #~ msgstr "Como podemos ajudar?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "" #~ "Recursos de aprendizagem, suporte profissional e ajuda especializada." #~ msgid "Documentation" #~ msgstr "Documentação" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Encontre respostas rapidamente em nossa documentação abrangente." #~ msgid "Learn More" #~ msgstr "Saber mais" #~ msgid "Contact Us" #~ msgstr "Contate-Nos" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "" #~ "Envie um tíquete de suporte para obter respostas sobre suas dúvidas." #~ msgid "Request a Feature" #~ msgstr "Solicite um recurso" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "iga-nos o que deseja e irá adicioná-lo ao nosso roteiro." #~ msgid "Tell us what you think!" #~ msgstr "Nos diga o que você acha!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Avalie e dê-nos uma revisão no Wordpress!" #~ msgid "Leave a Review" #~ msgstr "Deixe um comentário" #~ msgid "Update" #~ msgstr "Atualizar" #~ msgid "Click here to install/update " #~ msgstr "Clique aqui para instalar / atualizar " #~ msgid " language translation for Theme Editor." #~ msgstr " tradução de idioma para o Theme Editor." #~ msgid "Installed" #~ msgstr "Instalado" #~ msgid "English is the default language of Theme Editor. " #~ msgstr "Inglês é o idioma padrão do Theme Editor. " #~ msgid "Request " #~ msgstr "Solicitação" #~ msgid "Click here to request" #~ msgstr "Clique aqui para solicitar" #~ msgid "language translation for Theme Editor" #~ msgstr "tradução de linguagem para Theme Editor" #~ msgid "Theme Editor Language:" #~ msgstr "Linguagem do editor de temas:" #~ msgid " language" #~ msgstr " língua" #~ msgid "Available languages" #~ msgstr "Idiomas disponíveis" #~ msgid "Click here to download all available languages." #~ msgstr "Clique aqui para baixar todos os idiomas disponíveis." #~ msgid "Request a language" #~ msgstr "Solicite um idioma" #~ msgid "Tell us which language you want to add." #~ msgstr "Diga-nos qual idioma você deseja adicionar." #~ msgid "Contact us" #~ msgstr "Contate-Nos" #~ msgid "Notifications" #~ msgstr "Notificações" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ " Observação: esta é apenas uma captura de tela. Compre a versão " #~ "PRO para este recurso. " #~ msgid "Permissions" #~ msgstr "Permissões" #~ msgid "Edit Plugin" #~ msgstr "Editar Plugin" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Este plug-in está ativado no momento! Aviso: Não é " #~ "recomendado fazer alterações nos plug-ins ativos. Se suas alterações " #~ "causarem um erro fatal, o plugin será automaticamente desativado." #~ msgid "Editing " #~ msgstr "Editando " #~ msgid " (active)" #~ msgstr " (ativo)" #~ msgid "Browsing " #~ msgstr "Navegando " #~ msgid " (inactive)" #~ msgstr " (inativo)" #~ msgid "Update File" #~ msgstr "Atualizar arquivo" #~ msgid "Download Plugin" #~ msgstr "Baixe o plugin" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "Você precisa tornar este arquivo gravável antes de salvar suas " #~ "alterações. Consulte o Codex para obter " #~ "mais informações." #~ msgid "Select plugin to edit:" #~ msgstr "Selecione o plugin para editar:" #~ msgid "Create Folder and File" #~ msgstr "Criar pasta e arquivo" #~ msgid "Create" #~ msgstr "Crio" #~ msgid "Remove Folder and File" #~ msgstr "Remover pasta e arquivo" #~ msgid "Remove " #~ msgstr "Remover" #~ msgid "To" #~ msgstr "Para" #~ msgid "Optional: Sub-Directory" #~ msgstr "Opcional: subdiretório" #~ msgid "Choose File " #~ msgstr "Escolher arquivo" #~ msgid "No file Chosen " #~ msgstr "Nenhum arquivo selecionado " #~ msgid "Create a New Folder: " #~ msgstr "Criar uma nova pasta:" #~ msgid "New folder will be created in: " #~ msgstr "A nova pasta será criada em:" #~ msgid "New Folder Name: " #~ msgstr "Novo nome da pasta:" #~ msgid "Create New Folder" #~ msgstr "Criar nova pasta" #~ msgid "Create a New File: " #~ msgstr "Crie um novo arquivo:" #~ msgid "New File will be created in: " #~ msgstr "O novo arquivo será criado em:" #~ msgid "New File Name: " #~ msgstr "Novo nome de arquivo:" #~ msgid "Create New File" #~ msgstr "Criar novo arquivo" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "Aviso: tenha cuidado antes de remover qualquer pasta ou arquivo." #~ msgid "Current Theme Path: " #~ msgstr "Caminho do tema atual:" #~ msgid "Remove Folder: " #~ msgstr "Remover pasta:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Caminho da pasta que você deseja remover: " #~ msgid "Remove Folder" #~ msgstr "Remover pasta" #~ msgid "Remove File: " #~ msgstr "Remover arquivo:" #~ msgid "File Path which you want to remove: " #~ msgstr "Caminho do arquivo que você deseja remover: " #~ msgid "Remove File" #~ msgstr "Remover arquivo" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Por favor insira o endereço de e-mail válido." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "Aviso: tenha cuidado antes de renomear qualquer pasta ou arquivo." #~ msgid "File/Folder will be rename in: " #~ msgstr "O arquivo / pasta será renomeado em:" #~ msgid "File/Folder Rename: " #~ msgstr "Renomear arquivo / pasta:" #~ msgid "Rename File" #~ msgstr "Renomear arquivo" #~ msgid "Follow us" #~ msgstr "Siga-nos" #~ msgid "Theme Editor Facebook" #~ msgstr "Editor de temas do Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "Theme Editor Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "Editor de temas no Twitter" #~ msgid "Theme Editor Linkedin" #~ msgstr "Editor de Tema Linkedin" #~ msgid "Theme Editor Youtube" #~ msgstr "Theme Editor Youtube" #~ msgid "Go to ThemeEditor site" #~ msgstr "Vá para o site ThemeEditor" #~ msgid "Theme Editor Links" #~ msgstr "Links do Editor de Tema" #~ msgid "Child Theme" #~ msgstr "Tema Infantil" #~ msgid "Child Theme Permissions" #~ msgstr "Permissões de tema filho" #~ msgid " is not available. Please click " #~ msgstr " não está disponível. Por favor clique " #~ msgid "here" #~ msgstr "aqui" #~ msgid "to request language." #~ msgstr "para solicitar o idioma." #~ msgid "Click" #~ msgstr "Clique" #~ msgid "to install " #~ msgstr "para instalar" #~ msgid " language translation for Theme Editor." #~ msgstr " tradução de idioma para o Theme Editor." #~ msgid "Success: Settings Saved!" #~ msgstr "Sucesso: configurações salvas!" #~ msgid "No changes have been made to save." #~ msgstr "Nenhuma alteração foi feita para salvar." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Habilitar Editor de Tema para Temas" #~ msgid "Yes" #~ msgstr "sim" #~ msgid "No" #~ msgstr "Não" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "Isso irá ativar / desativar o editor de tema.
        Padrão: Sim" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Desativar Editor de temas padrão do WordPress?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "Isso irá ativar / desativar o editor de tema padrão.
        Padrão: Sim" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Habilitar Editor de Plug-in para Plug-in" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "Isso irá ativar / desativar o editor de plugins.
        Padrão: Sim" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Desativar Editor de Plug-in do WordPress padrão?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "Isso irá ativar / desativar o editor de plugin padrão.
        Padrão: Sim" #~ msgid "Code Editor" #~ msgstr "Editor de Código" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Permite que você selecione um tema para o editor de temas.
        Padrão: Cobalto" #~ msgid "Edit Themes" #~ msgstr "Editar Temas" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ " Este tema está ativado no momento! Aviso: Não é " #~ "recomendável fazer alterações nos temas ativos." #~ msgid "Editing" #~ msgstr "Editando" #~ msgid "Browsing" #~ msgstr "Navegando" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Atualizar arquivo e tentar reativar" #~ msgid "Download Theme" #~ msgstr "Baixar tema" #~ msgid "Select theme to edit:" #~ msgstr "Selecione o tema para editar:" #~ msgid "Theme Files" #~ msgstr "Arquivos de tema" #~ msgid "Choose File" #~ msgstr "Escolher arquivo" #~ msgid "No File Chosen" #~ msgstr "Nenhum arquivo selecionado" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "Aviso: tenha cuidado antes de remover qualquer pasta ou arquivo." #~ msgid "Child Theme Permission" #~ msgstr "Permissão de tema infantil" #~ msgid "Translations" #~ msgstr "Traduções" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "" #~ "criar, editar, fazer upload, baixar, excluir arquivos e pastas de temas" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "Você não tem permissão para criar um novo tema filho." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "" #~ "Você não tem permissão para alterar a configuração do tema filho " #~ "existente." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "Você não tem permissão para duplicar o tema filho." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "Você não tem permissão para acessar o menu de consulta / seletor." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "Você não tem permissão para acessar as fontes da web e o menu CSS." #~ msgid "You do not have the permission to copy files." #~ msgstr "Você não tem permissão para copiar arquivos." #~ msgid "You do not have the permission to delete child files." #~ msgstr "Você não tem permissão para excluir arquivos secundários." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "" #~ "Você não tem permissão para fazer upload de uma nova captura de tela." #~ msgid "You do not have the permission to upload new images." #~ msgstr "Você não tem permissão para fazer upload de novas imagens." #~ msgid "You do not have the permission to delete images." #~ msgstr "Você não tem permissão para excluir imagens." #~ msgid "You do not have the permission to download file." #~ msgstr "Você não tem permissão para baixar o arquivo." #~ msgid "You do not have the permission to create new directory." #~ msgstr "Você não tem permissão para criar um novo diretório." #~ msgid "You do not have the permission to create new file." #~ msgstr "Você não tem permissão para criar um novo arquivo." #~ msgid "You don't have permission to update file!" #~ msgstr "Você não tem permissão para atualizar o arquivo!" #~ msgid "You don't have permission to create folder!" #~ msgstr "Você não tem permissão para criar pasta!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "Você não tem permissão para excluir a pasta!" #~ msgid "You don't have permission to delete file!" #~ msgstr "Você não tem permissão para excluir o arquivo!" #~ msgid "You don't have permission to upload file!" #~ msgstr "Você não tem permissão para enviar o arquivo!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Permissões de tema infantil salvas com sucesso." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "" #~ "Não há alterações feitas nas permissões do tema filho a serem salvas." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Mensagem de permissão do tema infantil salva com sucesso." #~ msgid "Users" #~ msgstr "Comercial" #~ msgid "Create New Child Theme" #~ msgstr "Criar Novo Tema Infantil" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Configurar Temas Filhos Existentes" #~ msgid "Duplicate Child Themes" #~ msgstr "Duplicar temas filho" #~ msgid "Query/ Selector" #~ msgstr "Consulta / Seletor" #~ msgid "Web/font" #~ msgstr "Web / fonte" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Copiar arquivo tema pai para tema filho" #~ msgid "Deleted Child Files" #~ msgstr "Arquivos Filhos Deletados" #~ msgid "Upload New Screenshoot" #~ msgstr "Carregar nova sessão de tela" #~ msgid "Upload New Images" #~ msgstr "Carregar novas imagens" #~ msgid "Deleted Images " #~ msgstr "Imagens excluídas" #~ msgid "Download Images" #~ msgstr "Baixar imagens" #~ msgid "Create New Directory" #~ msgstr "Criar novo diretório" #~ msgid "Create New Files" #~ msgstr "Criar novos arquivos" #~ msgid "Export Theme" #~ msgstr "Exportar tema" #~ msgid "User Roles" #~ msgstr "Funções do usuário" #~ msgid "Query/ Seletor" #~ msgstr "Consulta / Seletor" #~ msgid "Deleted Images" #~ msgstr "Imagens excluídas" #~ msgid "Child Theme Permission Message" #~ msgstr "Mensagem de permissão do tema infantil" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "Você não tem permissão para criar um novo tema filho." #~ msgid "Query/Selector" #~ msgstr "Consulta / Seletor" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "Você não tem permissão para acessar o menu de consulta / seletor." #~ msgid " Web/font" #~ msgstr "Web / fonte" #~ msgid " Export Theme" #~ msgstr "Exportar tema" #~ msgid "Save Child Theme Message" #~ msgstr "Mensagem de permissão do tema infantil" #~ msgid "Please select atleast one image." #~ msgstr "Selecione pelo menos uma imagem." #~ msgid "You don't have the permission to delete images." #~ msgstr "Você não tem permissão para excluir imagens." #~ msgid "You don't have the permission to upload new images." #~ msgstr "Você não tem permissão para fazer upload de novas imagens." #~ msgid "You don't have the permission to download." #~ msgstr "Você não tem permissão para fazer download." #~ msgid "You don't have the permission to create new directory." #~ msgstr "Você não tem permissão para criar um novo diretório." #~ msgid "Please choose file type." #~ msgstr "Escolha o tipo de arquivo." #~ msgid "Please enter file name." #~ msgstr "Por favor, insira o nome do arquivo." #~ msgid "You don't have the permission to create new file." #~ msgstr "Você não tem permissão para criar um novo arquivo." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "" #~ "Tem certeza de que deseja copiar os arquivos principais para o tema " #~ "secundário?" #~ msgid "Please select file(s)." #~ msgstr "Selecione o (s) arquivo (s)." #~ msgid "You don't have the permission to copy files." #~ msgstr "Você não tem permissão para copiar arquivos." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Tem certeza que deseja excluir o (s) arquivo (s) selecionado (s)?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "Você não tem permissão para excluir arquivos secundários." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "" #~ "Você não tem permissão para fazer upload de uma nova captura de tela." #~ msgid "You don't have the permission to export theme." #~ msgstr "Você não tem permissão para exportar o tema." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "Você não tem permissão para acessar o menu Consulta / Seletor." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "Você não tem permissão para acessar o menu Web Fonts e CSS." #~ msgid "Current Analysis Theme:" #~ msgstr "Tema de análise atual:" #~ msgid "Preview Theme" #~ msgstr "Pré-visualizar Tema" #~ msgid "Parent Themes" #~ msgstr "Temas Pais" #~ msgid "Child Themes" #~ msgstr "Temas Infantis" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Erro: configurações não salvas!" #~ msgid "Email List" #~ msgstr "Lista de Emails" #~ msgid "Email Address" #~ msgstr "Endereço de e-mail" #~ msgid "Enter Email" #~ msgstr "Digite o e-mail" #~ msgid "Add More" #~ msgstr "Adicione mais" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Este endereço é usado para fins de notificação, como notificação de " #~ "tema / plugin." #~ msgid "Theme Notification" #~ msgstr "Notificação de tema" #~ msgid "Notify on file update" #~ msgstr "Notificar sobre atualização de arquivo" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Notificação sobre a edição ou atualização do arquivo de tema.
        " #~ " Padrão: Sim" #~ msgid "Notify on files download" #~ msgstr "Notificar sobre download de arquivos" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Notificação sobre download de edição de arquivo de tema.
        " #~ "Padrão: Sim" #~ msgid "Notify on theme download" #~ msgstr "Notificar sobre o download do tema" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "" #~ "Notificação sobre o download do tema.
        Padrão: Sim" #~ msgid "Notify on files upload" #~ msgstr "Notificar sobre upload de arquivos" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Notificação sobre upload de arquivos no tema.
        Padrão: Sim" #~ msgid "Notify on create new file/folder" #~ msgstr "Notificar ao criar novo arquivo / pasta" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Notificação sobre a criação de um novo arquivo / pasta no tema.
        Padrão: Sim" #~ msgid "Notify on delete" #~ msgstr "Notificar na exclusão" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Notificar ao excluir qualquer arquivo e pasta nos temas.
        " #~ "Padrão: Sim" #~ msgid "Notify on create New Child theme" #~ msgstr "Notificar ao criar um novo tema filho" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Notifique sobre os temas Criar Novos Filhos.
        Padrão: Sim" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Notificar sobre a configuração de temas filhos existentes" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Notificar sobre a configuração de temas Filhos Existentes.
        " #~ "Padrão: Sim" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Notificar sobre temas-filho duplicados" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Notificar ao configurar temas filho existentes.
        Padrão: Sim" #~ msgid "Plugin Notification" #~ msgstr "Notificação de plug-in" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Notificação sobre a edição ou atualização do arquivo de tema.
        Padrão: sim" #~ msgid "Notify on Plugin download" #~ msgstr "Notificar no download do plug-in" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "" #~ "Notificação no download do plug-in.
        Padrão: Sim" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Notificação sobre upload de arquivo no tema.
        Padrão: Sim" #~ msgid "Permission saved successfully." #~ msgstr "Permissão salva com sucesso." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "" #~ "Ops! A permissão não pode ser salva porque você não fez nenhuma alteração." #~ msgid "Allowed User Roles" #~ msgstr "Funções de usuário permitidas" #~ msgid "Update theme files" #~ msgstr "Atualizar arquivos de tema" #~ msgid "Create new theme files and folders" #~ msgstr "Crie novos arquivos e pastas de tema" #~ msgid "Upload new theme files and folders" #~ msgstr "Faça upload de novos arquivos e pastas de tema" #~ msgid "Download theme files" #~ msgstr "Baixar arquivos de tema" #~ msgid "Download theme" #~ msgstr "Baixar tema" #~ msgid "Update plugin files" #~ msgstr "Atualizar arquivos de plug-in" #~ msgid "Create new plugin files and folders" #~ msgstr "Crie novos arquivos e pastas de plug-in" #~ msgid "Upload new plugin files and folders" #~ msgstr "Faça upload de novos arquivos e pastas de plug-in" #~ msgid "Delete plugin files and folders" #~ msgstr "Excluir arquivos e pastas de plug-ins" #~ msgid "Download plugin files" #~ msgstr "Baixar arquivos de plugin" #~ msgid "Download plugin" #~ msgstr "Baixar plugin" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Theme Editor PRO - Por favor, adicione os detalhes do seu pedido abaixo. " #~ "Se não Compre agora " #~ msgid "ORDER ID (#) *" #~ msgstr "ID DO PEDIDO (#) *" #~ msgid "Enter Order ID" #~ msgstr "Insira o ID do pedido" #~ msgid "Please Check Your email for order ID." #~ msgstr "Verifique seu e-mail para obter o ID do pedido." #~ msgid "LICENCE KEY *" #~ msgstr "CHAVE DE LICENÇA *" #~ msgid "Enter License Key" #~ msgstr "Insira chave da licença" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Verifique seu e-mail para obter a chave de licença." #~ msgid "Click To Verify" #~ msgstr "Clique para verificar" #~ msgid "URL/None" #~ msgstr "URL / nenhum" #~ msgid "Origin" #~ msgstr "Origem" #~ msgid "Color 1" #~ msgstr "Cor 1" #~ msgid "Color 2" #~ msgstr "Cor 2" #~ msgid "Width/None" #~ msgstr "Largura / Nenhum" #~ msgid "Style" #~ msgstr "Estilo" #~ msgid "Color" #~ msgstr "Cor" #~ msgid "Configure Child Theme" #~ msgstr "Configurar Tema Infantil" #~ msgid "Duplicate Child theme" #~ msgstr "Duplicar temas filho" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "Depois de analisar, este tema está funcionando bem. Você pode usar isso " #~ "como seu tema infantil." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "" #~ "Depois de analisar, este tema filho parece estar funcionando corretamente." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Este tema carrega folhas de estilo adicionais após o arquivo style." #~ "css :" #~ msgid "The theme" #~ msgstr "Nome do Tema" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "" #~ "não pôde ser analisado porque a visualização não foi renderizada " #~ "corretamente" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Este tema infantil não foi configurado para este plugin" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "O Configurador faz modificações significativas no tema filho, incluindo " #~ "alterações na folha de estilo e funções adicionais de php. Considere usar " #~ "a opção de tema filho DUPLICAR (consulte a etapa 1, acima) e manter o " #~ "original como backup." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "Todas as informações de webfonts / css foram salvas com sucesso." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Insira o valor para webfonts / css." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "Você não tem permissão para atualizar webfonts / css." #~ msgid "All information saved successfully." #~ msgstr "Todas as informações foram salvas com sucesso." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "Tem certeza que deseja RESET? Isso irá destruir qualquer trabalho que " #~ "você tenha feito no Configurador." #~ msgid "Selectors" #~ msgstr "Seletores" #~ msgid "Edit Selector" #~ msgstr "Editar Seletor" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "A folha de estilo não pode ser exibida." #~ msgid "(Child Only)" #~ msgstr "(Apenas para crianças)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Insira um tema infantil válido." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Insira um nome válido para o tema infantil." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "%s existe. Insira um tema infantil diferente" #~ msgid "The page could not be loaded correctly." #~ msgstr "A página não pôde ser carregada corretamente." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "Bibliotecas jQuery conflitantes ou desatualizadas foram carregadas por " #~ "outro plug-in:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "Desativar ou substituir plug-ins pode resolver esse problema." #~ msgid "No result found for the selection." #~ msgstr "Nenhum resultado encontrado para a seleção." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%sPor que estou vendo isso?%s" #~ msgid "Parent / Child" #~ msgstr "Pai / Filho" #~ msgid "Select an action:" #~ msgstr "Selecione uma ação:" #~ msgid "Create a new Child Theme" #~ msgstr "Crie um novo tema infantil" #~ msgid "Configure an existing Child Theme" #~ msgstr "Crie um novo Tema Infantil; configure um Tema Infantil existente" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Duplicar um tema filho existente" #~ msgid "Select a Parent Theme:" #~ msgstr "Selecione um tema pai:" #~ msgid "Analyze Parent Theme" #~ msgstr "Analisar o tema pai" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "Clique em \"Analisar\" para determinar as dependências da folha de estilo " #~ "e outros problemas potenciais." #~ msgid "Analyze" #~ msgstr "Analisar" #~ msgid "Select a Child Theme:" #~ msgstr "Selecione um tema infantil:" #~ msgid "Analyze Child Theme" #~ msgstr "Analisar o tema infantil" #~ msgid "Name the new theme directory:" #~ msgstr "Nomeie o novo diretório de tema:" #~ msgid "Directory Name" #~ msgstr "Nome do diretório" #~ msgid "NOTE:" #~ msgstr "NOTA:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "Este NÃO é o nome do tema filho. Você pode personalizar o nome, a " #~ "descrição, etc. na etapa 7 abaixo." #~ msgid "Verify Child Theme directory:" #~ msgstr "Verifique o diretório do tema filho:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "" #~ "Apenas para verificação (você não pode modificar o diretório de um Tema " #~ "filho existente)." #~ msgid "Select where to save new styles:" #~ msgstr "Selecione onde salvar os novos estilos:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Folha de estilo primária (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Salve novos estilos personalizados diretamente na folha de estilo " #~ "principal do Tema filho, substituindo os valores existentes. A folha de " #~ "estilo principal será carregada na ordem definida pelo tema." #~ msgid "Separate Stylesheet" #~ msgstr "Folha de estilo separada" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "Salve novos estilos personalizados em uma folha de estilo separada e " #~ "combine quaisquer estilos de tema filho existentes com o pai para formar " #~ "a linha de base. Selecione esta opção se desejar preservar os estilos de " #~ "tema filho existentes em vez de substituí-los. Esta opção também permite " #~ "que você personalize as folhas de estilo que carregam após a folha de " #~ "estilo principal." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Selecione o manuseio da folha de estilo do tema pai:" #~ msgid "Use the WordPress style queue." #~ msgstr "Use a fila de estilo do WordPress." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "Deixe o Configurador determinar as ações e dependências apropriadas e " #~ "atualize o arquivo de funções automaticamente." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "Use @import na folha de estilo do tema filho." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "Use esta opção apenas se a folha de estilo pai não puder ser carregada " #~ "usando a fila de estilo do WordPress. Usar @import não é " #~ "recomendado." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Não adicione nenhuma manipulação de folha de estilo pai." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "Selecione esta opção se este tema já manipular a folha de estilo do tema " #~ "pai ou se o arquivo style.css do tema pai não for usado " #~ "para sua aparência." #~ msgid "Advanced handling options" #~ msgstr "Opções avançadas de manuseio" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Ignore as folhas de estilo do tema pai." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Selecione esta opção se este tema já manipular a folha de estilo do tema " #~ "pai ou se o arquivo style.css do tema pai não for usado para sua " #~ "aparência." #~ msgid "Repair the header template in the child theme." #~ msgstr "Repare o modelo de cabeçalho no tema filho." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "Deixe o Configurador (tente) resolver quaisquer problemas de folha de " #~ "estilo listados acima. Isso pode resolver muitos problemas comuns, mas " #~ "não todos." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Remover dependências da folha de estilo" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Por padrão, a ordem das folhas de estilo carregadas antes da folha de " #~ "estilo principal é preservada tratando-as como dependências. Em alguns " #~ "casos, as folhas de estilo são detectadas na visualização e não são " #~ "usadas em todo o site. Se necessário, a dependência pode ser removida " #~ "para folhas de estilo específicas abaixo." #~ msgid "Child Theme Name" #~ msgstr "Nome do tema infantil" #~ msgid "Theme Name" #~ msgstr "Nome do Tema" #~ msgid "Theme Website" #~ msgstr "Site do tema" #~ msgid "Author" #~ msgstr "Autor" #~ msgid "Author Website" #~ msgstr "Site do autor" #~ msgid "Theme Description" #~ msgstr "Descrição do tema" #~ msgid "Description" #~ msgstr "Descrição" #~ msgid "Tags" #~ msgstr "Tag" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "Copie menus, widgets e outras configurações do personalizador do tema pai " #~ "para o tema filho:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Esta opção substitui os menus, widgets e outras configurações do " #~ "Customizer existentes do tema filho pelos do tema pai. Você só deve " #~ "precisar usar esta opção na primeira vez que configurar um Tema filho." #~ msgid "Click to run the Configurator:" #~ msgstr "Clique para executar o Configurador:" #~ msgid "Query / Selector" #~ msgstr "Consulta / Seletor" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "Para encontrar seletores específicos nos blocos de consulta @media, " #~ "primeiro escolha a consulta e, em seguida, o seletor. Use a consulta " #~ "\"base\" para editar todos os outros seletores." #~ msgid "@media Query" #~ msgstr "@media Query" #~ msgid "( or \"base\" )" #~ msgstr "(ou \"base\")" #~ msgid "Selector" #~ msgstr "Seletor" #~ msgid "Query/Selector Action" #~ msgstr "Consulta / Ação do Seletor" #~ msgid "Save Child Values" #~ msgstr "Salvar valores infantis" #~ msgid "Delete Child Values" #~ msgstr "Excluir valores filho" #~ msgid "Property" #~ msgstr "Propriedade" #~ msgid "Baseline Value" #~ msgstr "Valor de linha de base" #~ msgid "Child Value" #~ msgstr "Valor infantil" #~ msgid "error" #~ msgstr "erro" #~ msgid "You do not have permission to configure child themes." #~ msgstr "Você não tem permissão para configurar temas filho." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s não existe. Selecione um tema pai válido." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "O arquivo de funções é necessário e não pode ser excluído." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Selecione um tema pai válido." #~ msgid "Please select a valid Child Theme." #~ msgstr "Selecione um tema infantil válido." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Insira um nome de diretório de tema infantil válido." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%sexiste. Insira um nome de modelo de tema infantil " #~ "diferente." #~ msgid "Your theme directories are not writable." #~ msgstr "Seus diretórios de tema não são graváveis." #~ msgid "Could not upgrade child theme" #~ msgstr "Não foi possível atualizar o tema filho" #~ msgid "Your stylesheet is not writable." #~ msgstr "Sua folha de estilo não é gravável." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "Uma tag PHP de fechamento foi detectada no arquivo de funções do tema " #~ "filho, portanto a opção \"Manipulação da folha de estilo pai\" não foi " #~ "configurada. Fechar o PHP no final do arquivo é desencorajado, pois pode " #~ "causar cabeçalhos HTTP prematuros. Edite functions.php " #~ "para remover a tag final ?> e clique em \"Gerar / " #~ "reconstruir arquivos de tema filho\" novamente." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Não foi possível copiar o arquivo: %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Não foi possível excluir o arquivo %s." #, php-format #~ msgid "could not copy %s" #~ msgstr "não foi possível copiar %s" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "dir inválido: %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "Ocorreram erros ao redefinir as permissões." #~ msgid "Could not upload file." #~ msgstr "Não foi possível fazer upload do arquivo." #~ msgid "Invalid theme root directory." #~ msgstr "Diretório raiz de tema inválido." #~ msgid "No writable temp directory." #~ msgstr "Nenhum diretório temporário gravável." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Descompactar falhou -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Pacote falhou -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Número máximo de estilos excedido." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Erro ao mover o arquivo: %s" #~ msgid "Could not set write permissions." #~ msgstr "Não foi possível definir permissões de gravação." #~ msgid "Error:" #~ msgstr "Erro:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "O tema filho da análise atual %s foi redefinido." #~ msgid "Update Key saved successfully." #~ msgstr "Chave de atualização salva com sucesso." #~ msgid "Child Theme files modified successfully." #~ msgstr "Arquivos de tema infantil modificados com sucesso." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "O tema filho %s foi gerado com sucesso." #~ msgid "Web Fonts & CSS" #~ msgstr "Fontes da web e CSS" #~ msgid "Parent Styles" #~ msgstr "Estilos Pais" #~ msgid "Child Styles" #~ msgstr "Estilos Infantis" #~ msgid "View Child Images" #~ msgstr "Ver imagens de crianças" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Use @import url ([path]); para vincular folhas de estilo " #~ "adicionais. Este plug-in usa a palavra-chave @import para " #~ "identificá-los e convertê-los em tags <link> tag. " #~ " Exemplo: " #~ msgid "Save" #~ msgstr "Salve" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "Carregar imagem com o mesmo nome irá substituir a imagem existente." #~ msgid "Upload New Child Theme Image" #~ msgstr "Carregar nova imagem de tema infantil" #~ msgid "Delete Selected Images" #~ msgstr "Excluir imagens selecionadas" #~ msgid "Create a New Directory" #~ msgstr "Crie um novo diretório" #~ msgid "New Directory will be created in" #~ msgstr "Novo diretório será criado em" #~ msgid "New Directory Name" #~ msgstr "Novo nome de diretório" #~ msgid "Create a New File" #~ msgstr "Criar um novo arquivo" #~ msgid "New File will be created in" #~ msgstr "Novo arquivo será criado em" #~ msgid "New File Name" #~ msgstr "Novo nome de arquivo" #~ msgid "File Type Extension" #~ msgstr "Extensão de tipo de arquivo" #~ msgid "Choose File Type" #~ msgstr "Escolha o tipo de arquivo" #~ msgid "PHP File" #~ msgstr "Arquivo PHP" #~ msgid "CSS File" #~ msgstr "Arquivo CSS" #~ msgid "JS File" #~ msgstr "Arquivo JS" #~ msgid "Text File" #~ msgstr "Arquivo de texto" #~ msgid "PHP File Type" #~ msgstr "Tipo de arquivo PHP" #~ msgid "Simple PHP File" #~ msgstr "Arquivo PHP Simples" #~ msgid "Wordpress Template File" #~ msgstr "Arquivo de modelo do Wordpress" #~ msgid "Template Name" #~ msgstr "Nome do modelo" #~ msgid "Parent Templates" #~ msgstr "Modelos pai" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "Copie os modelos PHP do tema pai selecionando-os aqui. O Configurator " #~ "define um template como um arquivo Theme PHP sem funções ou classes PHP. " #~ "Outros arquivos PHP não podem ser substituídos com segurança por um tema " #~ "filho." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "CUIDADO: Se o seu tema filho estiver ativo, a versão do tema filho do " #~ "arquivo será usada no lugar do pai imediatamente após a cópia." #~ msgid "The " #~ msgstr "O" #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "o arquivo é gerado separadamente e não pode ser copiado aqui." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Copiar selecionado para tema filho" #~ msgid " Child Theme Files " #~ msgstr "Arquivos de tema infantil" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Clique para editar os arquivos usando o Theme Editor" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Exclua os modelos de tema filho selecionando-os aqui." #~ msgid "Delete Selected" #~ msgstr "Apagar Selecionado" #~ msgid "Child Theme Screenshot" #~ msgstr "Captura de tela do tema infantil" #~ msgid "Upload New Screenshot" #~ msgstr "Carregar nova captura de tela" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "A captura de tela do tema deve ter uma proporção de 4: 3 (por exemplo, " #~ "880px x 660px) JPG, PNG ou GIF. Será renomeado" #~ msgid "Screenshot" #~ msgstr "Captura de tela" #~ msgid "Upload New Child Theme Image " #~ msgstr "Carregar nova imagem de tema infantil" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "As imagens do tema residem no diretório de imagens do seu tema filho e " #~ "são destinadas apenas ao uso da folha de estilo. Use a Biblioteca de " #~ "mídia para imagens de conteúdo." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Pré-visualizar o tema filho atual (análise atual)" #~ msgid "Preview Current Child Theme" #~ msgstr "Pré-visualizar o tema infantil atual" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Exportar tema filho como arquivo zip" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Clique em \"Exportar Zip\" para salvar um backup do tema filho carregado " #~ "no momento. Você pode exportar qualquer um dos seus temas na guia Pai / " #~ "Filho." #~ msgid "Export Child Theme" #~ msgstr "Exportar tema filho" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Arquivo (s) de tema infantil copiado (s) com sucesso!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "O arquivo que você está tentando copiar dos modelos pais não existe" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "O arquivo que você está tentando copiar dos modelos principais já está " #~ "presente nos arquivos do tema filho." #~ msgid "Child " #~ msgstr "Filho" #~ msgid " and Parent " #~ msgstr "e pai" #~ msgid " directories doesn't exist!" #~ msgstr "diretórios não existe!" #~ msgid " directory doesn't exist!" #~ msgstr "diretório não existe!" #~ msgid "Parent " #~ msgstr "Parent " #~ msgid "Unknown error! " #~ msgstr "Erro desconhecido!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "Você não tem permissão para copiar os arquivos!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Todos os arquivos selecionados foram excluídos com sucesso!" #~ msgid " does not exists!" #~ msgstr "não existe!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Esta extensão de arquivo não pode ser carregada!" #~ msgid "Image uploaded successfully!" #~ msgstr "Imagem enviada com sucesso!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Há algum problema no upload da imagem!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "" #~ "Esta extensão de arquivo não pode ser carregada como imagem do wordpress!" #~ msgid "File uploaded successfully!" #~ msgstr "Arquivo carregado com sucesso!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Os arquivos do tema filho não podem ser modificados." #~ msgid "File(s) deleted successfully!" #~ msgstr "Arquivo (s) excluído (s) com sucesso!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "Você não tem permissão para excluir arquivo (s)!" #~ msgid "Entered directory name already exists" #~ msgstr "O nome do diretório inserido já existe" #~ msgid "You don't have permission to create directory!" #~ msgstr "Você não tem permissão para criar diretório!" #~ msgid "Wordpress template file created" #~ msgstr "Arquivo de modelo Wordpress criado" #~ msgid "Wordpress template file not created" #~ msgstr "Arquivo de modelo Wordpress não criado" #~ msgid "PHP created file successfully" #~ msgstr "PHP criado arquivo com sucesso" #~ msgid "PHP file not created" #~ msgstr "Arquivo PHP não criado" #~ msgid " file not created" #~ msgstr "arquivo não criado" #~ msgid "You don't have permission to create file!" #~ msgstr "Você não tem permissão para criar o arquivo!" #~ msgid "Language folder has been downlaoded." #~ msgstr "A pasta de idiomas foi baixada." wp-file-manager/languages/wp-file-manager-ro_RO.mo000064400000044143151202472330016020 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&M()))G)7:*&r**)**+XX,@,,;-8>-9w----2-!.0?.#p..&. . ..// /"6/Y/ s/~/-/ / /!/>0'C03k0 0 00 0 00"01021c1161112#22'2E$3j3!N4(p444445667f7E8899999Z9F<: :::: :;;-;n4;;#-<$Q<v<z<5~<*<-< =$(= M= [= f=-=&=.= >z> ?9?5M? ?2?I? !@-@L@f@.y@!@ @!@@@A$A6ANA)^AAAA#A0AB&B(6B_BxB6BB!B0BC-7C eCqCCC C5C'C#D@D$`DD'D"DD E)E$:E&_E5EEEE,E#F@F#G3$G_XGZGOH}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: Wp File Manager PO-Revision-Date: 2022-03-01 18:10+0530 Last-Translator: Language-Team: Language: ro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && n%100<=19) ? 1 : 2); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e X-Poedit-SearchPath-0: . * pentru toate operațiunile și pentru a permite o anumită operațiune, puteți menționa numele operațiunii ca, allow_operations="upload,download". Notă: separate prin virgulă (,). Mod implicit: *-> Va interzice anumiți utilizatori doar punând ID-urile lor separate de virgule (,). Dacă utilizatorul este Ban, nu va putea accesa managerul de fișiere wp din front-end.-> Tema Manager fișiere. Implicit: Light-> Fișier modificat sau Creați formatul datei. Implicit: d M, Y h:i A-> Limba managerului de fișiere. Implicit: English(en)-> Filemanager UI View. Implicit: gridAcțiuneAcțiuni la copiile de rezervă selectateAdministratorul poate restricționa acțiunile oricărui utilizator. Ascundeți, de asemenea, fișiere și foldere și puteți seta diferite căi de foldere pentru utilizatori diferiți.Administratorul poate restricționa acțiunile oricărui rol de utilizator. Ascundeți, de asemenea, fișiere și foldere și puteți seta căi de foldere diferite - pentru diferite roluri ale utilizatorilor.După activarea coșului de gunoi, fișierele dvs. vor merge în folderul coș de gunoi.După activare, toate fișierele vor merge în biblioteca media.Totul este gataSigur doriți să eliminați copiile de rezervă selectate?Sigur doriți să ștergeți această copie de rezervă?Sigur doriți să restaurați această copie de rezervă?Data de rezervăFaceți backup acumOpțiuni de backup:Date de rezervă (faceți clic pentru a descărca)Fișierele de rezervă vor fi subBackupul se execută, vă rugăm să așteptațiCopia de rezervă a fost ștearsă.Backup/RestaurareCopiile de rezervă au fost eliminate!InterziceBrowser și SO (HTTP_USER_AGENT)Cumpărați PROCumpărați ProAnulareSchimbați tema aici:Faceți clic pentru a cumpăra PROVizualizare editor de codA confirmaCopiați fișiere sau foldereÎn prezent nu s-au găsit copii de rezervă.DELETE FILESÎntunericCopie de rezervă a bazei de dateCopierea de rezervă a bazei de date a fost făcută la dată Backup-ul bazei de date este finalizat.Backup-ul bazei de date a fost restaurat cu succes.Mod implicitMod implicit:ȘtergeDeselectațiRespingeți această notificare.DoneazăDescărcați jurnalele de fișiereDescărcați fișiereDuplicați sau clonați un folder sau un fișierEditați jurnalele de fișiereEditați un fișierActivați fișierele încărcate în biblioteca media?Activați Coșul de gunoi?Eroare: nu se poate restabili backupul deoarece backupul bazei de date are o dimensiune mare. Vă rugăm să încercați să măriți dimensiunea maximă permisă din setările Preferințe.Backup-uri existenteExtrageți arhiva sau fișierul zipManager fișiere - ShortcodeManager fișiere - Proprietăți sistemFile Manager Root Path, puteți schimba în funcție de alegerea dvs.Managerul de fișiere are un editor de cod cu mai multe teme. Puteți selecta orice temă pentru editorul de cod. Se va afișa când editați orice fișier. De asemenea, puteți permite modul ecran complet al editorului de cod.Lista operațiunilor de fișiere:Fișierul nu există pentru descărcare.Backup de fișieregriAjutorAici „test” este numele folderului care se află în directorul rădăcină, sau puteți da calea pentru sub foldere, cum ar fi „wp-content/plugins”. Dacă lăsați necompletat sau gol, va accesa toate folderele din directorul rădăcină. Implicit: director rădăcinăAici administratorul poate da acces la rolurile utilizatorilor pentru a utiliza fișierul de gestionare a fișierelor. Administratorul poate seta folderul de acces implicit și, de asemenea, poate controla dimensiunea de încărcare a managerului de fișiere.Informații despre fișierCod de securitate invalid.Acesta va permite tuturor rolurilor să acceseze managerul de fișiere pe front-end sau puteți utiliza simplu pentru anumite roluri de utilizator, cum ar fi allow_roles="editor,author" (separat prin virgulă (,))Se va bloca menționat în virgule. puteți bloca mai multe ca „.php,.css,.js” etc. Implicit: NullVa afișa managerul de fișiere pe front-end. Dar numai Administratorul îl poate accesa și va controla din setările managerului de fișiere.Va afișa managerul de fișiere pe front-end. Puteți controla toate setările din setările managerului de fișiere. Va funcționa la fel ca și Managerul de fișiere WP de backend.Ultimul mesaj de jurnalUșoarăJurnaleCreați director sau folderCreați fișierDimensiunea maximă permisă în momentul restaurării copiei de rezervă a bazei de date.Dimensiunea maximă de încărcare a fișierului (upload_max_filesize)Limita de memorie (memory_limit)ID-ul de rezervă lipsește.Tip parametru lipsă.Lipsesc parametrii necesari.Nu multumescFără mesaj jurnalNu s-au găsit jurnale!Notă:Notă: Acestea sunt capturi de ecran demo. Vă rugăm să cumpărați File Manager pro pentru funcțiile Logs.Notă: Aceasta este doar o captură de ecran demonstrativă. Pentru a obține setări, vă rugăm să cumpărați versiunea noastră pro.Nu s-a selectat nimic pentru backupNu s-a selectat nimic pentru backup.O.KO.KAltele (Orice alte directoare găsite în wp-content)Alți copii de rezervă efectuate la data Copilul de rezervă al altora este finalizat.Backup-ul altora a eșuat.Altele au fost restaurate cu succes.Versiunea PHPParametri:Lipiți un fișier sau un folderVă rugăm să introduceți adresa de e-mail.Vă rugăm să introduceți prenumele.Vă rugăm să introduceți numele de familie.Vă rugăm să schimbați cu atenție această cale, o cale greșită poate duce la coborârea pluginului managerului de fișiere.Vă rugăm să măriți valoarea câmpului dacă primiți un mesaj de eroare în momentul restaurării copiei de rezervă.PluginuriBackup-ul pluginurilor a fost făcut la data respectivă Copierea de rezervă a pluginurilor este finalizată.Backup-ul pluginurilor a eșuat.Backup-ul pluginurilor a fost restaurat cu succes.Postați dimensiunea maximă de încărcare a fișierului (post_max_size)PreferințePolitica de ConfidențialitateCalea rădăcinii publiceRESTAURĂ FIȘIEREEliminați sau ștergeți fișiere și foldereRedenumiți un fișier sau folderRestabiliRestaurarea rulează, așteptațiSUCCESSalvează modificărileEconomisire...Căutați lucruriProblema de securitate.Selectează totSelectați copiile de rezervă de șters!SetăriSetări - Editor de codSetări - GeneralitățiSetări - Restricții de utilizatorSetări - Restricții ale rolului utilizatoruluiSetari Salvate.Shortcode - PROSimplu tăiați un fișier sau un folderProprietatile sistemuluiTermenii serviciuluiSe pare că backup-ul a reușit și acum este complet.TemeTeme de backup realizate la data Copierea de rezervă a temelor este finalizată.Backupul temelor a eșuat.Backup-ul temelor a fost restaurat cu succes.Timpul acumExpirare (max_execution_time)Pentru a face o arhivă sau zipAziUTILIZARE:Nu se poate crea o copie de rezervă a bazei de date.Nu s-a putut elimina copia de rezervă!Imposibil de restaurat backupul DB.Imposibil de restabilit altele.Nu s-au putut restabili pluginurile.Nu s-au putut restabili temele.Imposibil de restabilit încărcările.Încărcați jurnalele de fișiereÎncărca fișiereÎncărcăriÎncărcări de backup efectuate la data Încărcări de rezervă finalizate.Backupul încărcărilor nu a reușit.Backupurile încărcate au fost restaurate cu succes.VerificaVizualizare jurnalManager de fișiere WPManager de fișiere WP - Backup / RestaurareContribuția Manager de fișiere WPNe place să ne facem noi prieteni! Abonați-vă mai jos și promitem să vă ține la curent cu cele mai noi pluginuri noi, actualizări, oferte minunate și câteva oferte speciale.Bine ați venit la Manager fișiereNu ați făcut nicio modificare pentru a fi salvat.pentru acces la permisiunea de citire a fișierelor, notă: adevărat/fals, implicit: adevăratpentru acces la permisiuni de scriere a fișierelor, notă: adevărat/fals, implicit: falsse va ascunde menționat aici. Notă: separate prin virgulă (,). Implicit: nulwp-file-manager/languages/wp-file-manager-ro_RO.po000064400000066712151202472330016031 0ustar00msgid "" msgstr "" "Project-Id-Version: Wp File Manager\n" "POT-Creation-Date: 2022-02-28 11:13+0530\n" "PO-Revision-Date: 2022-03-01 18:10+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && n" "%100<=19) ? 1 : 2);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Backup-ul temelor a fost restaurat cu succes." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Nu s-au putut restabili temele." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Backupurile încărcate au fost restaurate cu succes." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Imposibil de restabilit încărcările." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Altele au fost restaurate cu succes." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Imposibil de restabilit altele." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Backup-ul pluginurilor a fost restaurat cu succes." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Nu s-au putut restabili pluginurile." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Backup-ul bazei de date a fost restaurat cu succes." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Totul este gata" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Imposibil de restaurat backupul DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Copiile de rezervă au fost eliminate!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Nu s-a putut elimina copia de rezervă!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Copierea de rezervă a bazei de date a fost făcută la dată " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Backup-ul pluginurilor a fost făcut la data respectivă " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Teme de backup realizate la data " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Încărcări de backup efectuate la data " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Alți copii de rezervă efectuate la data " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Jurnale" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nu s-au găsit jurnale!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Nu s-a selectat nimic pentru backup" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Problema de securitate." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Backup-ul bazei de date este finalizat." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Nu se poate crea o copie de rezervă a bazei de date." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Copierea de rezervă a pluginurilor este finalizată." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Backup-ul pluginurilor a eșuat." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Copierea de rezervă a temelor este finalizată." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Backupul temelor a eșuat." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Încărcări de rezervă finalizate." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Backupul încărcărilor nu a reușit." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Copilul de rezervă al altora este finalizat." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Backup-ul altora a eșuat." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Manager de fișiere WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Setări" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferințe" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Proprietatile sistemului" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Shortcode - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Backup/Restaurare" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Cumpărați Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Donează" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Fișierul nu există pentru descărcare." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Cod de securitate invalid." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "ID-ul de rezervă lipsește." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Tip parametru lipsă." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Lipsesc parametrii necesari." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Eroare: nu se poate restabili backupul deoarece backupul bazei de date are o " "dimensiune mare. Vă rugăm să încercați să măriți dimensiunea maximă permisă " "din setările Preferințe." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Selectați copiile de rezervă de șters!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Sigur doriți să eliminați copiile de rezervă selectate?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Backupul se execută, vă rugăm să așteptați" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Restaurarea rulează, așteptați" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Nu s-a selectat nimic pentru backup." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Manager de fișiere WP - Backup / Restaurare" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opțiuni de backup:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Copie de rezervă a bazei de date" #: inc/backup.php:64 msgid "Files Backup" msgstr "Backup de fișiere" #: inc/backup.php:68 msgid "Plugins" msgstr "Pluginuri" #: inc/backup.php:71 msgid "Themes" msgstr "Teme" #: inc/backup.php:74 msgid "Uploads" msgstr "Încărcări" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Altele (Orice alte directoare găsite în wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Faceți backup acum" #: inc/backup.php:89 msgid "Time now" msgstr "Timpul acum" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUCCES" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Copia de rezervă a fost ștearsă." #: inc/backup.php:102 msgid "Ok" msgstr "O.K" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "DELETE FILES" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Sigur doriți să ștergeți această copie de rezervă?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Anulare" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "A confirma" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RESTAURĂ FIȘIERE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Sigur doriți să restaurați această copie de rezervă?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Ultimul mesaj de jurnal" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Se pare că backup-ul a reușit și acum este complet." #: inc/backup.php:171 msgid "No log message" msgstr "Fără mesaj jurnal" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Backup-uri existente" #: inc/backup.php:184 msgid "Backup Date" msgstr "Data de rezervă" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Date de rezervă (faceți clic pentru a descărca)" #: inc/backup.php:190 msgid "Action" msgstr "Acțiune" #: inc/backup.php:210 msgid "Today" msgstr "Azi" #: inc/backup.php:239 msgid "Restore" msgstr "Restabili" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Șterge" #: inc/backup.php:241 msgid "View Log" msgstr "Vizualizare jurnal" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "În prezent nu s-au găsit copii de rezervă." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Acțiuni la copiile de rezervă selectate" #: inc/backup.php:251 msgid "Select All" msgstr "Selectează tot" #: inc/backup.php:252 msgid "Deselect" msgstr "Deselectați" #: inc/backup.php:254 msgid "Note:" msgstr "Notă:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Fișierele de rezervă vor fi sub" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Contribuția Manager de fișiere WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Notă: Acestea sunt capturi de ecran demo. Vă rugăm să cumpărați File Manager " "pro pentru funcțiile Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Faceți clic pentru a cumpăra PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Cumpărați PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Editați jurnalele de fișiere" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Descărcați jurnalele de fișiere" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Încărcați jurnalele de fișiere" #: inc/root.php:43 msgid "Settings saved." msgstr "Setari Salvate." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Respingeți această notificare." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Nu ați făcut nicio modificare pentru a fi salvat." #: inc/root.php:55 msgid "Public Root Path" msgstr "Calea rădăcinii publice" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Root Path, puteți schimba în funcție de alegerea dvs." #: inc/root.php:59 msgid "Default:" msgstr "Mod implicit:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Vă rugăm să schimbați cu atenție această cale, o cale greșită poate duce la " "coborârea pluginului managerului de fișiere." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Activați Coșul de gunoi?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "După activarea coșului de gunoi, fișierele dvs. vor merge în folderul coș de " "gunoi." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Activați fișierele încărcate în biblioteca media?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "După activare, toate fișierele vor merge în biblioteca media." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Dimensiunea maximă permisă în momentul restaurării copiei de rezervă a bazei " "de date." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Vă rugăm să măriți valoarea câmpului dacă primiți un mesaj de eroare în " "momentul restaurării copiei de rezervă." #: inc/root.php:90 msgid "Save Changes" msgstr "Salvează modificările" #: inc/settings.php:10 msgid "Settings - General" msgstr "Setări - Generalități" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Notă: Aceasta este doar o captură de ecran demonstrativă. Pentru a obține " "setări, vă rugăm să cumpărați versiunea noastră pro." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Aici administratorul poate da acces la rolurile utilizatorilor pentru a " "utiliza fișierul de gestionare a fișierelor. Administratorul poate seta " "folderul de acces implicit și, de asemenea, poate controla dimensiunea de " "încărcare a managerului de fișiere." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Setări - Editor de cod" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Managerul de fișiere are un editor de cod cu mai multe teme. Puteți selecta " "orice temă pentru editorul de cod. Se va afișa când editați orice fișier. De " "asemenea, puteți permite modul ecran complet al editorului de cod." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Vizualizare editor de cod" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Setări - Restricții de utilizator" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administratorul poate restricționa acțiunile oricărui utilizator. Ascundeți, " "de asemenea, fișiere și foldere și puteți seta diferite căi de foldere " "pentru utilizatori diferiți." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Setări - Restricții ale rolului utilizatorului" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administratorul poate restricționa acțiunile oricărui rol de utilizator. " "Ascundeți, de asemenea, fișiere și foldere și puteți seta căi de foldere " "diferite - pentru diferite roluri ale utilizatorilor." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Manager fișiere - Shortcode" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "UTILIZARE:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Va afișa managerul de fișiere pe front-end. Puteți controla toate setările " "din setările managerului de fișiere. Va funcționa la fel ca și Managerul de " "fișiere WP de backend." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Va afișa managerul de fișiere pe front-end. Dar numai Administratorul îl " "poate accesa și va controla din setările managerului de fișiere." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametri:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Acesta va permite tuturor rolurilor să acceseze managerul de fișiere pe " "front-end sau puteți utiliza simplu pentru anumite roluri de utilizator, cum " "ar fi allow_roles=\"editor,author\" (separat prin virgulă (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Aici „test” este numele folderului care se află în directorul rădăcină, sau " "puteți da calea pentru sub foldere, cum ar fi „wp-content/plugins”. Dacă " "lăsați necompletat sau gol, va accesa toate folderele din directorul " "rădăcină. Implicit: director rădăcină" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "pentru acces la permisiuni de scriere a fișierelor, notă: adevărat/fals, " "implicit: fals" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "pentru acces la permisiunea de citire a fișierelor, notă: adevărat/fals, " "implicit: adevărat" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "se va ascunde menționat aici. Notă: separate prin virgulă (,). Implicit: nul" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Se va bloca menționat în virgule. puteți bloca mai multe ca „.php,.css,.js” " "etc. Implicit: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* pentru toate operațiunile și pentru a permite o anumită operațiune, puteți " "menționa numele operațiunii ca, allow_operations=\"upload,download\". Notă: " "separate prin virgulă (,). Mod implicit: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lista operațiunilor de fișiere:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Creați director sau folder" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Creați fișier" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Redenumiți un fișier sau folder" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplicați sau clonați un folder sau un fișier" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Lipiți un fișier sau un folder" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Interzice" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Pentru a face o arhivă sau zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extrageți arhiva sau fișierul zip" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Copiați fișiere sau foldere" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Simplu tăiați un fișier sau un folder" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Editați un fișier" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Eliminați sau ștergeți fișiere și foldere" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Descărcați fișiere" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Încărca fișiere" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Căutați lucruri" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informații despre fișier" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Ajutor" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Va interzice anumiți utilizatori doar punând ID-urile lor separate de " "virgule (,). Dacă utilizatorul este Ban, nu va putea accesa managerul de " "fișiere wp din front-end." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI View. Implicit: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Fișier modificat sau Creați formatul datei. Implicit: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Limba managerului de fișiere. Implicit: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema Manager fișiere. Implicit: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Manager fișiere - Proprietăți sistem" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Versiunea PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Dimensiunea maximă de încărcare a fișierului (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Postați dimensiunea maximă de încărcare a fișierului (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Limita de memorie (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Expirare (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Browser și SO (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Schimbați tema aici:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Mod implicit" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Întuneric" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Ușoară" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "gri" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Bine ați venit la Manager fișiere" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Ne place să ne facem noi prieteni! Abonați-vă mai jos și promitem să\n" " vă ține la curent cu cele mai noi pluginuri noi, actualizări,\n" " oferte minunate și câteva oferte speciale." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Vă rugăm să introduceți prenumele." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Vă rugăm să introduceți numele de familie." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Vă rugăm să introduceți adresa de e-mail." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verifica" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nu multumesc" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Termenii serviciului" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Politica de Confidențialitate" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Economisire..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "O.K" #~ msgid "Backup not found!" #~ msgstr "Copia de rezervă nu a fost găsită!" #~ msgid "Backup removed successfully!" #~ msgstr "Copia de rezervă a fost eliminată cu succes!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Nimic selectat pentru backup" #~ msgid "Security Issue." #~ msgstr "Problemă de securitate." #~ msgid "Database backup done." #~ msgstr "" #~ "S-a făcut backupul bazei de date." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Imposibil de creat backupul bazei de " #~ "date. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "S-a făcut backup pentru pluginuri." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Backup-ul pluginurilor a eșuat." #~ msgid "Themes backup done." #~ msgstr "" #~ "S-a făcut backupul temelor." #~ msgid "Themes backup failed." #~ msgstr "Backup-ul temelor a eșuat." #~ msgid "Uploads backup done." #~ msgstr "S-a efectuat încărcarea." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Backupul la încărcare a eșuat." #~ msgid "Others backup done." #~ msgstr "" #~ "S-au făcut alte copii de rezervă." #~ msgid "Others backup failed." #~ msgstr "" #~ "Copiile de rezervă ale altora nu au " #~ "reușit. " #~ msgid "All Done" #~ msgstr "Tot gata" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" wp-file-manager/languages/wp-file-manager-ru_RU.mo000064400000057725151202472330016046 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&&c()Q+pd+W+v-,,L,-6.sV/s/>0mT0]0g 14191?1h7262T2<,3/i3<33(34#4 44%A4+g4,4414S 5_5 y5?5a5(6^F66666-7/7*H7s7O767#8G88 8[869J4:2:C::;/&=;V=6= = ==?"PA1sA|A"CCC E4PFFF/FFF_G&GP H1ZHCHH(H%I6ILIJSJTPKKKcKNLFbLBL[LHMYM+mMRM,M4NNNOO\P)_PFPYPY*QQ5Q4Q#R=,R5jRR9R R%R$S=S*SS~SGSS,STM4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager PO-Revision-Date: 2022-03-01 18:25+0530 Last-Translator: Language-Team: Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * для всех операций и для разрешения какой-либо операции вы можете указать имя операции, например, allow_operations="upload,download". Примечание: через запятую (,). По умолчанию: *-> Он заблокирует определенных пользователей, просто поместив их идентификаторы через запятую (,). Если пользователь заблокирован, он не сможет получить доступ к файловому менеджеру wp через интерфейс пользователя.-> Тема файлового менеджера. По умолчанию: Light-> Файл изменен или формат даты создания. По умолчанию: d M, Y h: i A-> Язык файлового менеджера. По умолчанию: English(en)-> Просмотр пользовательского интерфейса Filemanager. По умолчанию: gridДействиеДействия с выбранными резервными копиямиАдминистратор может ограничить действия любого пользователя. Также можно скрыть файлы и папки и установить разные пути к папкам для разных пользователей.Администратор может ограничить действия любой пользовательской роли. Также можно скрыть файлы и папки и установить разные пути к папкам для разных ролей пользователей.После включения корзины ваши файлы будут отправлены в корзину.После включения все файлы будут отправлены в медиа-библиотеку.Все сделаноВы действительно хотите удалить выбранные резервные копии?Вы уверены, что хотите удалить эту резервную копию?Вы уверены, что хотите восстановить эту резервную копию?Дата резервного копированияСделать резервную копию сейчасПараметры резервного копирования:Данные резервного копирования (нажмите, чтобы загрузить)Файлы резервных копий будут вРезервное копирование выполняется, подождитеРезервная копия успешно удалена.Резервное восстановлениеРезервные копии успешно удалены!ЗапретитьБраузер и ОС (HTTP_USER_AGENT)Купить PROКупить ProОтменаИзменить тему здесь:Нажмите, чтобы купить PROПросмотр редактора кодаПодтверждатьКопировать файлы или папкиВ настоящее время резервных копий не найдено.УДАЛИТЬ ФАЙЛЫТемныйРезервное копирование базы данныхРезервное копирование базы данных выполнено на дату Бэкап БД сделан.Резервная копия базы данных успешно восстановлена.По умолчаниюПо умолчанию:УдалитьОтменить выборЗакрыть это уведомление.ПожертвоватьСкачать файлы журналовСкачать файлыДублировать или клонировать папку или файлРедактировать журналы файловРедактировать файлРазрешить загрузку файлов в медиатеку?Включить корзину?Ошибка: Невозможно восстановить резервную копию, так как резервная копия базы данных имеет большой размер. Попробуйте увеличить Максимально допустимый размер в настройках «Предпочтения».Существующие резервные копииИзвлечь архив или заархивированный файлФайловый менеджер - шорткодФайловый менеджер - Свойства системыКорневой путь файлового менеджера, вы можете изменить по своему усмотрению.В файловом менеджере есть редактор кода с несколькими темами. Вы можете выбрать любую тему для редактора кода. Он будет отображаться при редактировании любого файла. Также вы можете разрешить полноэкранный режим редактора кода.Список файловых операций:Файл не существует для загрузки.Резервное копирование файловсерыйПомощьЗдесь «тест» — это имя папки, расположенной в корневом каталоге, или вы можете указать путь для подпапок, например «wp-content/plugins». Если оставить пустым или пустым, он будет иметь доступ ко всем папкам в корневом каталоге. По умолчанию: корневой каталогЗдесь администратор может предоставить доступ к ролям пользователей для использования файлового менеджера. Администратор может установить папку доступа по умолчанию, а также контролировать размер загрузки файлового менеджера.Информация о файлеНеверный код безопасности.Это позволит всем ролям получить доступ к файловому менеджеру на внешнем интерфейсе, или вы можете просто использовать для определенных ролей пользователей, например, allow_roles="editor,author" (разделенные запятой (,))Это заблокирует указанное через запятую. вы можете заблокировать больше, например ".php,.css,.js" и т. д. По умолчанию: NullОн покажет файловый менеджер на переднем конце. Но только администратор может получить к нему доступ и будет управлять настройками файлового менеджера.Он покажет файловый менеджер на переднем конце. Вы можете контролировать все настройки из настроек файлового менеджера. Он будет работать так же, как бэкэнд Диспетчер файлов WP.Последнее сообщение журналаСветЖурналыСделать каталог или папкуСделать файлМаксимально допустимый размер на момент восстановления резервной копии базы данных.Максимальный размер загружаемого файла (upload_max_filesize)Лимит памяти (memory_limit)Отсутствует идентификатор резервной копии.Отсутствует тип параметра.Отсутствуют обязательные параметры.Нет, спасибоНет сообщения журналаЖурналов не найдено!Примечание:Примечание. Это демонстрационные снимки экрана. Пожалуйста, купите File Manager Pro для работы с журналами.Примечание. Это всего лишь демонстрационный снимок экрана. Чтобы получить настройки, пожалуйста, купите нашу профессиональную версию.Ничего не выбрано для резервного копированияНичего не выбрано для резервного копирования.ОКОКДругое (любые другие каталоги, найденные внутри wp-content)Остальные резервные копии сделаны на дату Сделано резервное копирование других.Сбой резервного копирования других.Остальные резервные копии успешно восстановлены.Версия PHPПараметры:Вставить файл или папкуПожалуйста, введите адрес электронной почты.Пожалуйста, введите имя.Пожалуйста, введите фамилию.Пожалуйста, измените это внимательно, неправильный путь может привести к отказу плагина файлового менеджера.Пожалуйста, увеличьте значение поля, если вы получаете сообщение об ошибке во время восстановления из резервной копии.ПлагиныРезервное копирование плагинов выполнено на дату Бэкап плагинов сделан.Сбой резервного копирования плагинов.Резервная копия плагинов успешно восстановлена.Максимальный размер загружаемого файла (post_max_size)ПредпочтенияПолитика конфиденциальностиОбщедоступный корневой путьВОССТАНОВИТЬ ФАЙЛЫУдалить или удалить файлы и папкиПереименовать файл или папкуВосстановитьИдет восстановление, подождитеУСПЕХСохранить измененияСохранение ...Искать вещиПроблема безопасности.Выбрать всеВыберите резервные копии для удаления!НастройкиНастройки - Код-редакторНастройки - ОбщиеНастройки - Ограничения для пользователейНастройки - Ограничения ролей пользователейНастройки сохранены.Шорткод - PROПросто вырезать файл или папкуСвойства системыУсловия использованияРезервное копирование, по-видимому, выполнено успешно.ТемыРезервное копирование тем выполнено на дату Бэкап темы сделан.Не удалось выполнить резервное копирование тем.Резервная копия тем успешно восстановлена.Сделать резервную копию сейчасВремя вышло (max_execution_time)Сделать архив или zipСегодняИСПОЛЬЗОВАТЬ:Невозможно создать резервную копию базы данных.Невозможно удалить резервную копию!Невозможно восстановить резервную копию БД.Невозможно восстановить другие.Невозможно восстановить плагины.Невозможно восстановить темы.Невозможно восстановить загрузки.Загрузить файлы журналовЗагрузить файлыЗагрузкиЗагружает резервную копию, сделанную на дату Загружается резервная копия.Не удалось загрузить резервную копию.Резервная копия загружена успешно.ПроверятьПосмотреть журналДиспетчер файлов WPДиспетчер файлов WP - Резервное копирование / восстановлениеВклад диспетчера файлов WPМы любим заводить новых друзей! Подпишитесь ниже, и мы обещаем держать вас в курсе наших последних новых плагинов, обновлений, отличные предложения и несколько специальных предложений.Добро пожаловать в файловый менеджерВы не вносили никаких изменений, которые нужно сохранить.для доступа к разрешению на чтение файлов, примечание: true/false, по умолчанию: trueдля доступа к разрешениям на запись файлов, примечание: true/false, по умолчанию: falseэто скроет упомянутое здесь. Примечание: через запятую (,). По умолчанию: нольwp-file-manager/languages/wp-file-manager-ru_RU.po000064400000104776151202472330016050 0ustar00# Translation of WP File Manager in Russian # This file is distributed under the same license as the WP File Manager package. msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "POT-Creation-Date: 2022-02-28 11:21+0530\n" "PO-Revision-Date: 2022-03-01 18:25+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Резервная копия тем успешно восстановлена." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Невозможно восстановить темы." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Резервная копия загружена успешно." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Невозможно восстановить загрузки." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Остальные резервные копии успешно восстановлены." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Невозможно восстановить другие." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Резервная копия плагинов успешно восстановлена." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Невозможно восстановить плагины." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Резервная копия базы данных успешно восстановлена." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Все сделано" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Невозможно восстановить резервную копию БД." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Резервные копии успешно удалены!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Невозможно удалить резервную копию!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Резервное копирование базы данных выполнено на дату " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Резервное копирование плагинов выполнено на дату " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Резервное копирование тем выполнено на дату " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Загружает резервную копию, сделанную на дату " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Остальные резервные копии сделаны на дату " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Журналы" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Журналов не найдено!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Ничего не выбрано для резервного копирования" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Проблема безопасности." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Бэкап БД сделан." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Невозможно создать резервную копию базы данных." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Бэкап плагинов сделан." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Сбой резервного копирования плагинов." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Бэкап темы сделан." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Не удалось выполнить резервное копирование тем." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Загружается резервная копия." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Не удалось загрузить резервную копию." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Сделано резервное копирование других." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Сбой резервного копирования других." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Диспетчер файлов WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Настройки" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Предпочтения" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Свойства системы" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Шорткод - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Резервное восстановление" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Купить Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Пожертвовать" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Файл не существует для загрузки." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Неверный код безопасности." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Отсутствует идентификатор резервной копии." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Отсутствует тип параметра." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Отсутствуют обязательные параметры." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Ошибка: Невозможно восстановить резервную копию, так как резервная копия " "базы данных имеет большой размер. Попробуйте увеличить Максимально " "допустимый размер в настройках «Предпочтения»." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Выберите резервные копии для удаления!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Вы действительно хотите удалить выбранные резервные копии?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Резервное копирование выполняется, подождите" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Идет восстановление, подождите" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Ничего не выбрано для резервного копирования." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Диспетчер файлов WP - Резервное копирование / восстановление" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Параметры резервного копирования:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Резервное копирование базы данных" #: inc/backup.php:64 msgid "Files Backup" msgstr "Резервное копирование файлов" #: inc/backup.php:68 msgid "Plugins" msgstr "Плагины" #: inc/backup.php:71 msgid "Themes" msgstr "Темы" #: inc/backup.php:74 msgid "Uploads" msgstr "Загрузки" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Другое (любые другие каталоги, найденные внутри wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Сделать резервную копию сейчас" #: inc/backup.php:89 msgid "Time now" msgstr "Сделать резервную копию сейчас" #: inc/backup.php:99 msgid "SUCCESS" msgstr "УСПЕХ" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Резервная копия успешно удалена." #: inc/backup.php:102 msgid "Ok" msgstr "ОК" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "УДАЛИТЬ ФАЙЛЫ" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Вы уверены, что хотите удалить эту резервную копию?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Отмена" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Подтверждать" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ВОССТАНОВИТЬ ФАЙЛЫ" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Вы уверены, что хотите восстановить эту резервную копию?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Последнее сообщение журнала" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Резервное копирование, по-видимому, выполнено успешно." #: inc/backup.php:171 msgid "No log message" msgstr "Нет сообщения журнала" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Существующие резервные копии" #: inc/backup.php:184 msgid "Backup Date" msgstr "Дата резервного копирования" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Данные резервного копирования (нажмите, чтобы загрузить)" #: inc/backup.php:190 msgid "Action" msgstr "Действие" #: inc/backup.php:210 msgid "Today" msgstr "Сегодня" #: inc/backup.php:239 msgid "Restore" msgstr "Восстановить" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Удалить" #: inc/backup.php:241 msgid "View Log" msgstr "Посмотреть журнал" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "В настоящее время резервных копий не найдено." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Действия с выбранными резервными копиями" #: inc/backup.php:251 msgid "Select All" msgstr "Выбрать все" #: inc/backup.php:252 msgid "Deselect" msgstr "Отменить выбор" #: inc/backup.php:254 msgid "Note:" msgstr "Примечание:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Файлы резервных копий будут в" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Вклад диспетчера файлов WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Примечание. Это демонстрационные снимки экрана. Пожалуйста, купите File " "Manager Pro для работы с журналами." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Нажмите, чтобы купить PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Купить PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Редактировать журналы файлов" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Скачать файлы журналов" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Загрузить файлы журналов" #: inc/root.php:43 msgid "Settings saved." msgstr "Настройки сохранены." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Закрыть это уведомление." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Вы не вносили никаких изменений, которые нужно сохранить." #: inc/root.php:55 msgid "Public Root Path" msgstr "Общедоступный корневой путь" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Корневой путь файлового менеджера, вы можете изменить по своему усмотрению." #: inc/root.php:59 msgid "Default:" msgstr "По умолчанию:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Пожалуйста, измените это внимательно, неправильный путь может привести к " "отказу плагина файлового менеджера." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Включить корзину?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "После включения корзины ваши файлы будут отправлены в корзину." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Разрешить загрузку файлов в медиатеку?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "После включения все файлы будут отправлены в медиа-библиотеку." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Максимально допустимый размер на момент восстановления резервной копии базы " "данных." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Пожалуйста, увеличьте значение поля, если вы получаете сообщение об ошибке " "во время восстановления из резервной копии." #: inc/root.php:90 msgid "Save Changes" msgstr "Сохранить изменения" #: inc/settings.php:10 msgid "Settings - General" msgstr "Настройки - Общие" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Примечание. Это всего лишь демонстрационный снимок экрана. Чтобы получить " "настройки, пожалуйста, купите нашу профессиональную версию." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Здесь администратор может предоставить доступ к ролям пользователей для " "использования файлового менеджера. Администратор может установить папку " "доступа по умолчанию, а также контролировать размер загрузки файлового " "менеджера." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Настройки - Код-редактор" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "В файловом менеджере есть редактор кода с несколькими темами. Вы можете " "выбрать любую тему для редактора кода. Он будет отображаться при " "редактировании любого файла. Также вы можете разрешить полноэкранный режим " "редактора кода." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Просмотр редактора кода" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Настройки - Ограничения для пользователей" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Администратор может ограничить действия любого пользователя. Также можно " "скрыть файлы и папки и установить разные пути к папкам для разных " "пользователей." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Настройки - Ограничения ролей пользователей" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Администратор может ограничить действия любой пользовательской роли. Также " "можно скрыть файлы и папки и установить разные пути к папкам для разных " "ролей пользователей." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Файловый менеджер - шорткод" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "ИСПОЛЬЗОВАТЬ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Он покажет файловый менеджер на переднем конце. Вы можете контролировать все " "настройки из настроек файлового менеджера. Он будет работать так же, как " "бэкэнд Диспетчер файлов WP." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Он покажет файловый менеджер на переднем конце. Но только администратор " "может получить к нему доступ и будет управлять настройками файлового " "менеджера." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Параметры:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Это позволит всем ролям получить доступ к файловому менеджеру на внешнем " "интерфейсе, или вы можете просто использовать для определенных ролей " "пользователей, например, allow_roles=\"editor,author\" (разделенные запятой " "(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Здесь «тест» — это имя папки, расположенной в корневом каталоге, или вы " "можете указать путь для подпапок, например «wp-content/plugins». Если " "оставить пустым или пустым, он будет иметь доступ ко всем папкам в корневом " "каталоге. По умолчанию: корневой каталог" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "для доступа к разрешениям на запись файлов, примечание: true/false, по " "умолчанию: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "для доступа к разрешению на чтение файлов, примечание: true/false, по " "умолчанию: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "это скроет упомянутое здесь. Примечание: через запятую (,). По умолчанию: " "ноль" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Это заблокирует указанное через запятую. вы можете заблокировать больше, " "например \".php,.css,.js\" и т. д. По умолчанию: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* для всех операций и для разрешения какой-либо операции вы можете указать " "имя операции, например, allow_operations=\"upload,download\". Примечание: " "через запятую (,). По умолчанию: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Список файловых операций:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Сделать каталог или папку" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Сделать файл" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Переименовать файл или папку" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Дублировать или клонировать папку или файл" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Вставить файл или папку" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Запретить" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Сделать архив или zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Извлечь архив или заархивированный файл" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Копировать файлы или папки" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Просто вырезать файл или папку" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Редактировать файл" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Удалить или удалить файлы и папки" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Скачать файлы" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Загрузить файлы" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Искать вещи" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Информация о файле" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Помощь" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Он заблокирует определенных пользователей, просто поместив их " "идентификаторы через запятую (,). Если пользователь заблокирован, он не " "сможет получить доступ к файловому менеджеру wp через интерфейс пользователя." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "" "-> Просмотр пользовательского интерфейса Filemanager. По умолчанию: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Файл изменен или формат даты создания. По умолчанию: d M, Y h: i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Язык файлового менеджера. По умолчанию: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Тема файлового менеджера. По умолчанию: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Файловый менеджер - Свойства системы" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Версия PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Максимальный размер загружаемого файла (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Максимальный размер загружаемого файла (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Лимит памяти (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Время вышло (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Браузер и ОС (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Изменить тему здесь:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "По умолчанию" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Темный" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Свет" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "серый" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Добро пожаловать в файловый менеджер" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Мы любим заводить новых друзей! Подпишитесь ниже, и мы обещаем\n" " держать вас в курсе наших последних новых плагинов, обновлений,\n" " отличные предложения и несколько специальных предложений." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Пожалуйста, введите имя." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Пожалуйста, введите фамилию." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Пожалуйста, введите адрес электронной почты." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Проверять" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Нет, спасибо" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Условия использования" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Политика конфиденциальности" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Сохранение ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "ОК" #~ msgid "Backup not found!" #~ msgstr "Резервная копия не найдена!" #~ msgid "Backup removed successfully!" #~ msgstr "Резервная копия успешно удалена!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Ничего не выбрано для резервного " #~ "копирования" #~ msgid "Security Issue." #~ msgstr "Проблема безопасности. " #~ msgid "Database backup done." #~ msgstr "" #~ "Резервное копирование базы данных " #~ "выполнено." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Невозможно создать резервную копию базы " #~ "данных." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Ничего не выбрано для резервного " #~ "копирования" #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Не удалось выполнить резервное " #~ "копирование плагинов." #~ msgid "Themes backup done." #~ msgstr "" #~ "Резервное копирование тем выполнено." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Не удалось выполнить резервное " #~ "копирование тем." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Резервное копирование загружено." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Не удалось загрузить резервную копию." #~ msgid "Others backup done." #~ msgstr "" #~ "Остальные резервные копии сделаны." #~ msgid "Others backup failed." #~ msgstr "" #~ "Остальные резервные копии не удались." #~ msgid "All Done" #~ msgstr "Все готово" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Пожалуйста, внесите пожертвование, чтобы сделать плагин более стабильным. " #~ "Вы можете внести сумму на ваш выбор." #~ msgid "Manage your WP files." #~ msgstr "Управление файлами в WP." #~ msgid "Extensions" #~ msgstr "Расширения" wp-file-manager/languages/wp-file-manager-sk_SK.mo000064400000043325151202472330016013 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&L( ).)M*<P*R***++A|,N, -+-(I-%r----,--+.$F.k.$..". . ...// 5/#?/(c////+//+0 /0;0 P0\0l0 00010013"1V1f1 2- 2 N2'o2?223 33 4440566<6w778888"89@9@Y9999!9 ::-: L:eW:v:$4;%Y;;;E;*;;<,/< \< g< r<<<<U<Q.==/=!==*=E$> j>!u>>>2>">? !?B?J?Y?h?w??+? ???& @+2@^@y@.@@@A@#A/)AYAwA/A A#AAB B+$B"PB*sB#BBB(C)CGC WC-cC%C!C0C DD$D/9DiDDlE8E_EZ#FV~F}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: Theme Editor Pro PO-Revision-Date: 2022-02-28 11:28+0530 Last-Translator: Language-Team: Language: sk_SK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: . * pre všetky operácie a na umožnenie niektorých operácií môžete uviesť názov operácie ako like, allow_operations="upload,download". Poznámka: oddelené čiarkou (,). Predvolené: *-> Zakáže konkrétnym používateľom iba vloženie ich identifikátorov oddelených čiarkami (,). Ak je používateľ Ban, nebude mať prístup k správcovi súborov wp na klientskom rozhraní.-> Téma Správca súborov. Predvolené: Light-> Súbor zmenený alebo Vytvoriť formát dátumu. Predvolené: d M, Y h:i A-> Jazyk správcu súborov. Predvolená hodnota: English(en)-> Zobrazenie používateľského rozhrania Filemanager. Predvolená hodnota: gridAkciaAkcie pri vybratých záloháchSprávca môže obmedziť akcie ľubovoľného používateľa. Skryte tiež súbory a priečinky a môžete nastaviť rôzne cesty rôznych priečinkov pre rôznych používateľov.Správca môže obmedziť akcie ľubovoľnej užívateľskej domény. Skryte tiež súbory a priečinky a môžete nastaviť rôzne cesty rôznych priečinkov pre rôzne roly používateľov.Po povolení koša sa vaše súbory dostanú do priečinka koša.Po povolení tejto možnosti sa všetky súbory dostanú do knižnice médií.Všetko hotovéNaozaj chcete odstrániť vybraté zálohy?Naozaj chcete odstrániť túto zálohu?Naozaj chcete obnoviť túto zálohu?Dátum zálohyZálohujte terazMožnosti zálohovania:Záložné údaje (kliknutím ich stiahnete)Záložné súbory budú podZálohovanie je spustené, čakajte prosímZáloha bola úspešne odstránená.Zálohovanie/obnovenieZálohy boli úspešne odstránené!BanPrehliadač a OS (HTTP_USER_AGENT)Kúpte si PROKúpte si ProZrušiťTu zmeniť tému:Kliknutím kúpite PROZobrazenie editora kóduPotvrdiťKopírujte súbory alebo priečinkyMomentálne sa nenašli žiadne zálohy.VYMAZAŤ SÚBORYTmaZálohovanie databázyZálohovanie databázy vykonané k dátumu Záloha databázy dokončená.Záloha databázy bola úspešne obnovená.PredvolenéPredvolená hodnota:OdstrániťZrušiť výberZamietnuť toto oznámenie.PrispieťStiahnite si protokoly súborovStiahnutie súborovDuplikujte alebo klonujte priečinok alebo súborUpravte protokoly súborovUpravte súborPovoliť nahrávanie súborov do knižnice médií?Povoliť kôš?Chyba: Zálohu nie je možné obnoviť, pretože záloha databázy má veľkú veľkosť. Skúste zvýšiť maximálnu povolenú veľkosť v nastaveniach predvolieb.Existujúce zálohyExtrahujte archív alebo komprimovaný súborSprávca súborov - krátky kódSprávca súborov - vlastnosti systémuRoot Path File Manager môžete zmeniť podľa vášho výberu.Správca súborov má editor kódov s viacerými témami. Pre editor kódu môžete zvoliť ľubovoľnú tému. Zobrazí sa pri úprave ľubovoľného súboru. Môžete tiež povoliť režim celej obrazovky editora kódu.Zoznam operácií so súbormi:Súbor neexistuje na stiahnutie.Zálohovanie súborovŠedáPomocTu je "test" názov priečinka, ktorý sa nachádza v koreňovom adresári, alebo môžete zadať cestu pre podpriečinky ako "wp-content/plugins". Ak necháte prázdne alebo prázdne, pristúpi sa ku všetkým priečinkom v koreňovom adresári. Predvolené: Koreňový adresárTu môže správca poskytnúť prístup k rolám používateľov na použitie správcu súborov. Správca môže nastaviť predvolený priečinok prístupu a tiež ovládať veľkosť nahrávania správcu súborov.Informácie o súboreNeplatný bezpečnostný kód.Umožní všetkým rolám prístup k správcovi súborov na frontende alebo môžete jednoducho použiť pre konkrétne používateľské roly, ako napríklad allow_roles="editor,author" (oddelené čiarkou(,))Zamkne sa uvedené v čiarkach. môžete uzamknúť viac ako napríklad ".php,.css,.js" atď. Predvolená hodnota: NullNa frontende sa zobrazí správca súborov. Prístup k nemu má však iba správca a bude ho ovládať z nastavení správcu súborov.Na frontende sa zobrazí správca súborov. Všetky nastavenia môžete ovládať z nastavení správcu súborov. Bude to fungovať rovnako ako backend WP File Manager.Posledná správa z protokoluSvetloZáznamyVytvorte adresár alebo priečinokVytvorte súborMaximálna povolená veľkosť v čase obnovy zálohy databázy.Maximálna veľkosť nahrávaného súboru (upload_max_filesize)Limit pamäte (memory_limit)Chýba záložné ID.Chýba typ parametra.Chýbajú požadované parametre.Nie ďakujemŽiadna správa z denníkaNenašli sa žiadne protokoly!Poznámka:Poznámka: Toto sú ukážkové snímky obrazovky. Zakúpte si funkcie File Manager pro do denníkov.Poznámka: Toto je iba ukážkový screenshot. Ak chcete získať nastavenia, zakúpte si našu profesionálnu verziu.Na zálohovanie nebolo vybraté ničNa zálohovanie nebolo vybraté nič.OkOkOstatné (Akékoľvek iné adresáre nájdené vo vnútri wp-content)Ostatné zálohovanie vykonané k dátumu Ostatné zálohovanie hotovo.Iné zálohovanie zlyhalo.Záloha ostatných bola úspešne obnovená.Verzia PHPParametre:Prilepte súbor alebo priečinokZadajte e-mailovú adresu.Zadajte krstné meno.Zadajte priezvisko.Zmeňte to opatrne, nesprávna cesta môže viesť doplnok správcu súborov k pádu.Ak sa počas obnovy zálohy zobrazuje chybové hlásenie, zvýšte hodnotu poľa.PluginyZálohovanie doplnkov bolo vykonané k dátumu Zálohovanie pluginov je hotové.Zálohovanie doplnkov zlyhalo.Záloha doplnkov bola úspešne obnovená.Zverejniť maximálnu veľkosť nahrávaného súboru (post_max_size)PredvoľbyZásady ochrany osobných údajovVerejná koreňová cestaOBNOVIŤ SÚBORYOdstráňte alebo odstráňte súbory a priečinkyPremenujte súbor alebo priečinokObnoviťObnovenie je spustené, čakajteÚSPECHUložiť zmenyUkladá sa ...Hľadajte veciBezpečnostný problém.Vybrať všetkoVyberte zálohy, ktoré chcete odstrániť!nastavenieNastavenia - editor kódovNastavenia - VšeobecnéNastavenia - obmedzenia používateľaNastavenia - obmedzenia roly používateľaNastavenia boli uložené.Krátky kód - PROJednoduché vyrezanie súboru alebo priečinkaVlastnosti systémuPodmienky službyZdá sa, že zálohovanie bolo úspešné a teraz je dokončené.TémyZálohovanie motívov bolo vykonané k dátumu Zálohovanie tém je hotové.Zálohovanie motívov zlyhalo.Zálohovanie motívov bolo úspešne obnovené.Teraz časČasový limit (max_execution_time)Vytvorenie archívu alebo zipuDnesPOUŽITIE:Nie je možné vytvoriť zálohu databázy.Zálohu sa nepodarilo odstrániť!Nie je možné obnoviť zálohu databázy.Nie je možné obnoviť ostatných.Nepodarilo sa obnoviť doplnky.Témy sa nepodarilo obnoviť.Nepodarilo sa obnoviť nahrané súbory.Odovzdajte protokoly súborovNahrať súboryNačítaniaZálohy nahrávania boli vykonané k dátumu Záloha nahrávania bola dokončená.Zálohovanie nahrávania zlyhalo.Zálohovanie nahrávok bolo úspešne obnovené.OveriťPrezrieť záznamSprávca súborov WPSprávca súborov WP - zálohovanie / obnoveniePríspevok správcu súborov WPRadi nadväzujeme nové priateľstvá! Prihláste sa na odber nižšie a sľubujeme budeme vás informovať o našich najnovších nových doplnkoch, aktualizáciách, úžasné ponuky a niekoľko špeciálnych ponúk.Vitajte v Správcovi súborovNeurobili ste žiadne zmeny, ktoré by sa dali uložiť.pre povolenie prístupu na čítanie súborov, poznámka: true/false, predvolená hodnota: truepre prístup k oprávneniam na zapisovanie súborov, poznámka: true/false, default: falseskryje sa tu spomínané. Poznámka: oddelené čiarkou (,). Predvolená hodnota: Nullwp-file-manager/languages/wp-file-manager-sk_SK.po000064400000237766151202472330016034 0ustar00msgid "" msgstr "" "Project-Id-Version: Theme Editor Pro\n" "POT-Creation-Date: 2022-02-28 11:25+0530\n" "PO-Revision-Date: 2022-02-28 11:28+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: sk_SK\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Zálohovanie motívov bolo úspešne obnovené." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Témy sa nepodarilo obnoviť." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Zálohovanie nahrávok bolo úspešne obnovené." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Nepodarilo sa obnoviť nahrané súbory." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Záloha ostatných bola úspešne obnovená." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Nie je možné obnoviť ostatných." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Záloha doplnkov bola úspešne obnovená." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Nepodarilo sa obnoviť doplnky." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Záloha databázy bola úspešne obnovená." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Všetko hotové" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Nie je možné obnoviť zálohu databázy." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Zálohy boli úspešne odstránené!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Zálohu sa nepodarilo odstrániť!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Zálohovanie databázy vykonané k dátumu " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Zálohovanie doplnkov bolo vykonané k dátumu " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Zálohovanie motívov bolo vykonané k dátumu " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Zálohy nahrávania boli vykonané k dátumu " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Ostatné zálohovanie vykonané k dátumu " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Záznamy" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nenašli sa žiadne protokoly!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Na zálohovanie nebolo vybraté nič" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Bezpečnostný problém." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Záloha databázy dokončená." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Nie je možné vytvoriť zálohu databázy." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Zálohovanie pluginov je hotové." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Zálohovanie doplnkov zlyhalo." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Zálohovanie tém je hotové." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Zálohovanie motívov zlyhalo." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Záloha nahrávania bola dokončená." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Zálohovanie nahrávania zlyhalo." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Ostatné zálohovanie hotovo." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Iné zálohovanie zlyhalo." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Správca súborov WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "nastavenie" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Predvoľby" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Vlastnosti systému" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Krátky kód - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Zálohovanie/obnovenie" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Kúpte si Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Prispieť" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Súbor neexistuje na stiahnutie." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Neplatný bezpečnostný kód." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Chýba záložné ID." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Chýba typ parametra." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Chýbajú požadované parametre." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Chyba: Zálohu nie je možné obnoviť, pretože záloha databázy má veľkú " "veľkosť. Skúste zvýšiť maximálnu povolenú veľkosť v nastaveniach predvolieb." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Vyberte zálohy, ktoré chcete odstrániť!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Naozaj chcete odstrániť vybraté zálohy?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Zálohovanie je spustené, čakajte prosím" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Obnovenie je spustené, čakajte" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Na zálohovanie nebolo vybraté nič." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Správca súborov WP - zálohovanie / obnovenie" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Možnosti zálohovania:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Zálohovanie databázy" #: inc/backup.php:64 msgid "Files Backup" msgstr "Zálohovanie súborov" #: inc/backup.php:68 msgid "Plugins" msgstr "Pluginy" #: inc/backup.php:71 msgid "Themes" msgstr "Témy" #: inc/backup.php:74 msgid "Uploads" msgstr "Načítania" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Ostatné (Akékoľvek iné adresáre nájdené vo vnútri wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Zálohujte teraz" #: inc/backup.php:89 msgid "Time now" msgstr "Teraz čas" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ÚSPECH" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Záloha bola úspešne odstránená." #: inc/backup.php:102 msgid "Ok" msgstr "Ok" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "VYMAZAŤ SÚBORY" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Naozaj chcete odstrániť túto zálohu?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Zrušiť" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Potvrdiť" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "OBNOVIŤ SÚBORY" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Naozaj chcete obnoviť túto zálohu?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Posledná správa z protokolu" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Zdá sa, že zálohovanie bolo úspešné a teraz je dokončené." #: inc/backup.php:171 msgid "No log message" msgstr "Žiadna správa z denníka" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Existujúce zálohy" #: inc/backup.php:184 msgid "Backup Date" msgstr "Dátum zálohy" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Záložné údaje (kliknutím ich stiahnete)" #: inc/backup.php:190 msgid "Action" msgstr "Akcia" #: inc/backup.php:210 msgid "Today" msgstr "Dnes" #: inc/backup.php:239 msgid "Restore" msgstr "Obnoviť" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Odstrániť" #: inc/backup.php:241 msgid "View Log" msgstr "Prezrieť záznam" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Momentálne sa nenašli žiadne zálohy." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Akcie pri vybratých zálohách" #: inc/backup.php:251 msgid "Select All" msgstr "Vybrať všetko" #: inc/backup.php:252 msgid "Deselect" msgstr "Zrušiť výber" #: inc/backup.php:254 msgid "Note:" msgstr "Poznámka:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Záložné súbory budú pod" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Príspevok správcu súborov WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Poznámka: Toto sú ukážkové snímky obrazovky. Zakúpte si funkcie File Manager " "pro do denníkov." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Kliknutím kúpite PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Kúpte si PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Upravte protokoly súborov" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Stiahnite si protokoly súborov" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Odovzdajte protokoly súborov" #: inc/root.php:43 msgid "Settings saved." msgstr "Nastavenia boli uložené." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Zamietnuť toto oznámenie." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Neurobili ste žiadne zmeny, ktoré by sa dali uložiť." #: inc/root.php:55 msgid "Public Root Path" msgstr "Verejná koreňová cesta" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Root Path File Manager môžete zmeniť podľa vášho výberu." #: inc/root.php:59 msgid "Default:" msgstr "Predvolená hodnota:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Zmeňte to opatrne, nesprávna cesta môže viesť doplnok správcu súborov k pádu." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Povoliť kôš?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Po povolení koša sa vaše súbory dostanú do priečinka koša." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Povoliť nahrávanie súborov do knižnice médií?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Po povolení tejto možnosti sa všetky súbory dostanú do knižnice médií." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "Maximálna povolená veľkosť v čase obnovy zálohy databázy." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Ak sa počas obnovy zálohy zobrazuje chybové hlásenie, zvýšte hodnotu poľa." #: inc/root.php:90 msgid "Save Changes" msgstr "Uložiť zmeny" #: inc/settings.php:10 msgid "Settings - General" msgstr "Nastavenia - Všeobecné" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Poznámka: Toto je iba ukážkový screenshot. Ak chcete získať nastavenia, " "zakúpte si našu profesionálnu verziu." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Tu môže správca poskytnúť prístup k rolám používateľov na použitie správcu " "súborov. Správca môže nastaviť predvolený priečinok prístupu a tiež ovládať " "veľkosť nahrávania správcu súborov." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Nastavenia - editor kódov" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Správca súborov má editor kódov s viacerými témami. Pre editor kódu môžete " "zvoliť ľubovoľnú tému. Zobrazí sa pri úprave ľubovoľného súboru. Môžete tiež " "povoliť režim celej obrazovky editora kódu." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Zobrazenie editora kódu" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Nastavenia - obmedzenia používateľa" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Správca môže obmedziť akcie ľubovoľného používateľa. Skryte tiež súbory a " "priečinky a môžete nastaviť rôzne cesty rôznych priečinkov pre rôznych " "používateľov." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Nastavenia - obmedzenia roly používateľa" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Správca môže obmedziť akcie ľubovoľnej užívateľskej domény. Skryte tiež " "súbory a priečinky a môžete nastaviť rôzne cesty rôznych priečinkov pre " "rôzne roly používateľov." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Správca súborov - krátky kód" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "POUŽITIE:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Na frontende sa zobrazí správca súborov. Všetky nastavenia môžete ovládať z " "nastavení správcu súborov. Bude to fungovať rovnako ako backend WP File " "Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Na frontende sa zobrazí správca súborov. Prístup k nemu má však iba správca " "a bude ho ovládať z nastavení správcu súborov." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametre:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Umožní všetkým rolám prístup k správcovi súborov na frontende alebo môžete " "jednoducho použiť pre konkrétne používateľské roly, ako napríklad " "allow_roles=\"editor,author\" (oddelené čiarkou(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Tu je \"test\" názov priečinka, ktorý sa nachádza v koreňovom adresári, " "alebo môžete zadať cestu pre podpriečinky ako \"wp-content/plugins\". Ak " "necháte prázdne alebo prázdne, pristúpi sa ku všetkým priečinkom v koreňovom " "adresári. Predvolené: Koreňový adresár" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "pre prístup k oprávneniam na zapisovanie súborov, poznámka: true/false, " "default: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "pre povolenie prístupu na čítanie súborov, poznámka: true/false, predvolená " "hodnota: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "skryje sa tu spomínané. Poznámka: oddelené čiarkou (,). Predvolená hodnota: " "Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Zamkne sa uvedené v čiarkach. môžete uzamknúť viac ako napríklad \".php,." "css,.js\" atď. Predvolená hodnota: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* pre všetky operácie a na umožnenie niektorých operácií môžete uviesť názov " "operácie ako like, allow_operations=\"upload,download\". Poznámka: oddelené " "čiarkou (,). Predvolené: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Zoznam operácií so súbormi:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Vytvorte adresár alebo priečinok" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Vytvorte súbor" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Premenujte súbor alebo priečinok" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplikujte alebo klonujte priečinok alebo súbor" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Prilepte súbor alebo priečinok" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Ban" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Vytvorenie archívu alebo zipu" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extrahujte archív alebo komprimovaný súbor" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopírujte súbory alebo priečinky" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Jednoduché vyrezanie súboru alebo priečinka" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Upravte súbor" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Odstráňte alebo odstráňte súbory a priečinky" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Stiahnutie súborov" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Nahrať súbory" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Hľadajte veci" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informácie o súbore" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Pomoc" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Zakáže konkrétnym používateľom iba vloženie ich identifikátorov " "oddelených čiarkami (,). Ak je používateľ Ban, nebude mať prístup k " "správcovi súborov wp na klientskom rozhraní." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "" "-> Zobrazenie používateľského rozhrania Filemanager. Predvolená hodnota: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Súbor zmenený alebo Vytvoriť formát dátumu. Predvolené: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Jazyk správcu súborov. Predvolená hodnota: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Téma Správca súborov. Predvolené: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Správca súborov - vlastnosti systému" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Verzia PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maximálna veľkosť nahrávaného súboru (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Zverejniť maximálnu veľkosť nahrávaného súboru (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Limit pamäte (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Časový limit (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Prehliadač a OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Tu zmeniť tému:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Predvolené" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Tma" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Svetlo" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Šedá" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Vitajte v Správcovi súborov" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Radi nadväzujeme nové priateľstvá! Prihláste sa na odber nižšie a sľubujeme\n" " budeme vás informovať o našich najnovších nových doplnkoch, " "aktualizáciách,\n" " úžasné ponuky a niekoľko špeciálnych ponúk." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Zadajte krstné meno." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Zadajte priezvisko." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Zadajte e-mailovú adresu." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Overiť" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nie ďakujem" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Podmienky služby" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Zásady ochrany osobných údajov" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Ukladá sa ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Ok" #~ msgid "Backup not found!" #~ msgstr "Záloha sa nenašla!" #~ msgid "Backup removed successfully!" #~ msgstr "Záloha bola úspešne odstránená!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Nie je vybraté nič na zálohovanie" #~ msgid "Security Issue." #~ msgstr "Problém so zabezpečením. " #~ msgid "Database backup done." #~ msgstr "" #~ "Zálohovanie databázy je hotové. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Nie je možné vytvoriť zálohu databázy. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Zálohovanie doplnkov je hotové. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Zálohovanie doplnkov zlyhalo. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Zálohovanie motívov je hotové. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Zálohovanie motívov zlyhalo. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Nahrávanie zálohy je hotové. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Zálohovanie nahrávok zlyhalo. " #~ msgid "Others backup done." #~ msgstr "" #~ "Ostatné zálohovanie hotové. " #~ msgid "Others backup failed." #~ msgstr "" #~ "Zálohovanie ostatných zlyhalo. " #~ msgid "All Done" #~ msgstr "Hotovo " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Obrázok" #~ msgid "of" #~ msgstr "z" #~ msgid "Close" #~ msgstr "Zavrieť" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Táto funkcia vyžaduje vložené rámy. Máte zakázané prvky iframe alebo ich " #~ "prehliadač nepodporuje." #~ msgid "Theme Editor" #~ msgstr "Editor tém" #~ msgid "Plugin Editor" #~ msgstr "Editor doplnkov" #~ msgid "Access Control" #~ msgstr "Riadenie prístupu" #~ msgid "Notify Me" #~ msgstr "Upozorni ma" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "jazyk bol úspešne stiahnutý." #~ msgid "Language folder failed to downlaod." #~ msgstr "Priečinok jazyka sa nepodarilo stiahnuť." #~ msgid "Security token expired!" #~ msgstr "Platnosť bezpečnostného tokenu uplynula!" #~ msgid " language has been downloaded successfully." #~ msgstr "jazyk bol úspešne stiahnutý." #~ msgid "Currently language " #~ msgstr "Momentálne jazyk " #~ msgid " not available. Please click on the request language link." #~ msgstr " nie je k dispozícií. Kliknite na odkaz na požadovaný jazyk." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "Na úpravu doplnkov pre tento web nemáte dostatočné povolenie." #~ msgid "There are no plugins installed on this site." #~ msgstr "Na tomto webe nie sú nainštalované žiadne doplnky." #~ msgid "There are no themes installed on this site." #~ msgstr "Na tomto webe nie sú nainštalované žiadne motívy." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Zadajte názov priečinka!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Zadajte názov súboru!

        " #~ msgid "Open" #~ msgstr "Otvorené" #~ msgid "Preview" #~ msgstr "Náhľad" #~ msgid "Edit" #~ msgstr "Úpravy" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Naozaj chcete prerušiť nahrávanie súborov?" #~ msgid "File renamed successfully." #~ msgstr "Súbor bol úspešne premenovaný." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Naozaj chcete odstrániť priečinok?" #~ msgid "Folder deleted successfully." #~ msgstr "Priečinok bol úspešne odstránený." #~ msgid "File deleted successfully." #~ msgstr "Súbor bol úspešne odstránený." #~ msgid "Folder renamed successfully." #~ msgstr "Priečinok bol úspešne premenovaný." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Nie je povolených viac ako 30 znakov.

        " #~ msgid "Invalid request!" #~ msgstr "Neplatná požiadavka!" #~ msgid "No change in file!" #~ msgstr "Žiadna zmena v súbore!" #~ msgid "File saved successfully!" #~ msgstr "Súbor bol úspešne uložený!" #~ msgid "File not saved!" #~ msgstr "Súbor nebol uložený!" #~ msgid "Unable to verify security token!" #~ msgstr "Bezpečnostný token sa nepodarilo overiť!" #~ msgid "Folder created successfully!" #~ msgstr "Priečinok bol úspešne vytvorený!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Tento formát priečinka nie je povolené nahrávať pomocou wordpressu!" #~ msgid "Folder already exists!" #~ msgstr "Priečinok už existuje!" #~ msgid "File created successfully!" #~ msgstr "Súbor bol úspešne vytvorený!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Vytváranie tejto prípony súboru nie je povolené!" #~ msgid "File already exists!" #~ msgstr "Súbor už existuje!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Zadajte platnú príponu súboru!" #~ msgid "Folder does not exists!" #~ msgstr "Priečinok neexistuje!" #~ msgid "Folder deleted successfully!" #~ msgstr "Priečinok bol úspešne odstránený!" #~ msgid "File deleted successfully!" #~ msgstr "Súbor bol úspešne odstránený!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "Nahrávanie tejto prípony súboru nie je povolené wordpressom!" #~ msgid " already exists" #~ msgstr " Už existuje" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Súbor bol úspešne nahraný: Cesta k nahranému súboru je " #~ msgid "No file selected" #~ msgstr "Nie je vybraný žiadny súbor" #~ msgid "Unable to rename file! Try again." #~ msgstr "Súbor sa nedá premenovať! Skúste to znova." #~ msgid "Folder renamed successfully!" #~ msgstr "Priečinok bol úspešne premenovaný!" #~ msgid "Please enter correct folder name" #~ msgstr "Zadajte správny názov priečinka" #~ msgid "How can we help?" #~ msgstr "Ako môžeme pomôcť?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "Učebné zdroje, odborná podpora a pomoc odborníkov." #~ msgid "Documentation" #~ msgstr "Dokumentácia" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Odpovede rýchlo nájdete v našej komplexnej dokumentácii." #~ msgid "Learn More" #~ msgstr "Uč sa viac" #~ msgid "Contact Us" #~ msgstr "Kontaktuj nás" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "Odošlite lístok s podporou pre odpovede na vaše otázky." #~ msgid "Request a Feature" #~ msgstr "Vyžiadajte si funkciu" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "Povedzte nám, čo chcete, a pridá to do nášho plánu." #~ msgid "Tell us what you think!" #~ msgstr "Povedz nám čo si myslíš!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Ohodnoťte a dajte nám recenziu na Wordpresse!" #~ msgid "Leave a Review" #~ msgstr "Zanechajte recenziu" #~ msgid "Update" #~ msgstr "Aktualizácia" #~ msgid "Click here to install/update " #~ msgstr "Kliknite tu pre inštaláciu / aktualizáciu" #~ msgid " language translation for Theme Editor." #~ msgstr " jazykový preklad pre editor tém." #~ msgid "Installed" #~ msgstr "Nainštalované" #~ msgid "English is the default language of Theme Editor. " #~ msgstr "Predvoleným jazykom editora tém je angličtina. " #~ msgid "Request " #~ msgstr "Žiadosť " #~ msgid "Click here to request" #~ msgstr "Kliknutím tu požiadate" #~ msgid "language translation for Theme Editor" #~ msgstr "jazykový preklad pre editor tém" #~ msgid "Theme Editor Language:" #~ msgstr "Jazyk editora témy:" #~ msgid " language" #~ msgstr " Jazyk" #~ msgid "Available languages" #~ msgstr "Dostupné jazyky" #~ msgid "Click here to download all available languages." #~ msgstr "Kliknutím sem stiahnete všetky dostupné jazyky." #~ msgid "Request a language" #~ msgstr "Vyžiadajte si jazyk" #~ msgid "Tell us which language you want to add." #~ msgstr "Povedzte nám, ktorý jazyk chcete pridať." #~ msgid "Contact us" #~ msgstr "Kontaktuj nás" #~ msgid "Notifications" #~ msgstr "Oznámenia" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ " Poznámka: Toto je iba snímka obrazovky. Kúpte si pre túto " #~ "funkciu verziu PRO. " #~ msgid "Permissions" #~ msgstr "Povolenia" #~ msgid "Edit Plugin" #~ msgstr "Upraviť doplnok" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Tento doplnok je momentálne aktivovaný! Upozornenie: " #~ "Vykonávanie zmien v aktívnych doplnkoch sa neodporúča. Ak vaše zmeny " #~ "spôsobia závažnú chybu, doplnok sa automaticky deaktivuje." #~ msgid "Editing " #~ msgstr "Úpravy " #~ msgid " (active)" #~ msgstr " (aktívne)" #~ msgid "Browsing " #~ msgstr "Prehliadanie " #~ msgid " (inactive)" #~ msgstr " (neaktívne)" #~ msgid "Update File" #~ msgstr "Aktualizovať súbor" #~ msgid "Download Plugin" #~ msgstr "Stiahnite si doplnok" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "Pred uložením zmien musíte do tohto súboru urobiť zápis. Ďalšie " #~ "informácie nájdete v kódexe ." #~ msgid "Select plugin to edit:" #~ msgstr "Vyberte doplnok, ktorý chcete upraviť:" #~ msgid "Create Folder and File" #~ msgstr "Vytvorte priečinok a súbor" #~ msgid "Create" #~ msgstr "Vytvoriť" #~ msgid "Remove Folder and File" #~ msgstr "Odstrániť priečinok a súbor" #~ msgid "Remove " #~ msgstr "Odstrániť" #~ msgid "To" #~ msgstr "To" #~ msgid "Optional: Sub-Directory" #~ msgstr "Voliteľné: podadresár" #~ msgid "Choose File " #~ msgstr "Vyberte súbor" #~ msgid "No file Chosen " #~ msgstr "Žiaden súbor nie je vybraný " #~ msgid "Create a New Folder: " #~ msgstr "Vytvorte nový priečinok:" #~ msgid "New folder will be created in: " #~ msgstr "Nový priečinok sa vytvorí v:" #~ msgid "New Folder Name: " #~ msgstr "Nový názov priečinka:" #~ msgid "Create New Folder" #~ msgstr "Vytvorte nový priečinok" #~ msgid "Create a New File: " #~ msgstr "Vytvoriť nový súbor:" #~ msgid "New File will be created in: " #~ msgstr "Nový súbor bude vytvorený v:" #~ msgid "New File Name: " #~ msgstr "Nový názov súboru:" #~ msgid "Create New File" #~ msgstr "Vytvoriť nový súbor" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "" #~ "Varovanie: Pred odstránením ľubovoľného priečinka alebo súboru buďte " #~ "opatrní." #~ msgid "Current Theme Path: " #~ msgstr "Aktuálna cesta témy:" #~ msgid "Remove Folder: " #~ msgstr "Odstrániť priečinok:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Cesta k priečinku, ktorý chcete odstrániť: " #~ msgid "Remove Folder" #~ msgstr "Odstrániť priečinok" #~ msgid "Remove File: " #~ msgstr "Odstrániť súbor:" #~ msgid "File Path which you want to remove: " #~ msgstr "Cesta k súboru, ktorú chcete odstrániť: " #~ msgid "Remove File" #~ msgstr "Odstrániť súbor" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Zadajte e-mailovú adresu." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "" #~ "Varovanie: Pred premenovaním ľubovoľného priečinka alebo súboru buďte " #~ "opatrní." #~ msgid "File/Folder will be rename in: " #~ msgstr "Súbor / priečinok bude premenovaný v:" #~ msgid "File/Folder Rename: " #~ msgstr "Premenovanie súboru / priečinka:" #~ msgid "Rename File" #~ msgstr "Premenovať súbor" #~ msgid "Follow us" #~ msgstr "Nasleduj nás" #~ msgid "Theme Editor Facebook" #~ msgstr "Editor tém Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "Editor tém Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "Editor tém na Twitteri" #~ msgid "Theme Editor Linkedin" #~ msgstr "Editor tém prepojený" #~ msgid "Theme Editor Youtube" #~ msgstr "Editor tém Youtube" #~ msgid "Go to ThemeEditor site" #~ msgstr "Prejdite na stránku ThemeEditor" #~ msgid "Theme Editor Links" #~ msgstr "Odkazy na editor tém" #~ msgid "Child Theme" #~ msgstr "Detská téma" #~ msgid "Child Theme Permissions" #~ msgstr "Povolenia témy dieťaťa" #~ msgid " is not available. Please click " #~ msgstr "nie je k dispozícii. Prosím kliknite" #~ msgid "here" #~ msgstr "tu" #~ msgid "to request language." #~ msgstr "požiadať o jazyk." #~ msgid "Click" #~ msgstr "Kliknite" #~ msgid "to install " #~ msgstr "inštalovať " #~ msgid " language translation for Theme Editor." #~ msgstr " jazykový preklad pre editor tém." #~ msgid "Success: Settings Saved!" #~ msgstr "Úspech: Nastavenia boli uložené!" #~ msgid "No changes have been made to save." #~ msgstr "Na uloženie neboli urobené žiadne zmeny." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Povoliť editor tém pre témy" #~ msgid "Yes" #~ msgstr "Áno" #~ msgid "No" #~ msgstr "Nie" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "Týmto povolíte / zakážete editor tém.
        Predvolené nastavenie: Áno" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Zakázať predvolený editor tém WordPress?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "Týmto povolíte / zakážete predvolený editor tém.
        Predvolené: Áno" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Povoliť editor doplnkov pre doplnky" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "Týmto povolíte / zakážete editor doplnkov.
        Predvolené nastavenie: Áno" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Zakázať predvolený editor doplnkov WordPress?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "Týmto povolíte alebo zakážete predvolený editor doplnkov.
        Predvolené: Áno" #~ msgid "Code Editor" #~ msgstr "Editor kódu" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Umožňuje vám zvoliť tému pre editor tém.
        Predvolené: Kobalt" #~ msgid "Edit Themes" #~ msgstr "Upraviť témy" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ " Tento motív je momentálne aktivovaný! Varovanie: " #~ "Neodporúča sa vykonávať zmeny v aktívnych motívoch." #~ msgid "Editing" #~ msgstr "Úpravy" #~ msgid "Browsing" #~ msgstr "Prehliadanie" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Aktualizujte súbor a pokúste sa znova aktivovať" #~ msgid "Download Theme" #~ msgstr "Stiahnuť tému" #~ msgid "Select theme to edit:" #~ msgstr "Vyberte motív, ktorý chcete upraviť:" #~ msgid "Theme Files" #~ msgstr "Súbory tém" #~ msgid "Choose File" #~ msgstr "Vyberte súbor" #~ msgid "No File Chosen" #~ msgstr "Žiaden súbor nie je vybraný" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "" #~ "Varovanie: Pred odstránením ľubovoľného priečinka alebo súboru buďte " #~ "opatrní." #~ msgid "Child Theme Permission" #~ msgstr "Povolenie témy dieťaťa" #~ msgid "Translations" #~ msgstr "Preklady" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "" #~ "vytvárať, upravovať, nahrávať, sťahovať, mazať súbory a priečinky tém" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "Nemáte povolenie na vytvorenie novej podradenej témy." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "Nemáte povolenie na zmenu konfigurácie existujúcej podradenej témy." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "Nemáte povolenie na duplikovanie podradenej témy." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "Nemáte povolenie na prístup k ponuke dopytu / selektora." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "Nemáte povolenie na prístup k webovým fontom a ponuke CSS." #~ msgid "You do not have the permission to copy files." #~ msgstr "Na kopírovanie súborov nemáte povolenie." #~ msgid "You do not have the permission to delete child files." #~ msgstr "Nemáte povolenie na odstránenie podradených súborov." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "Nemáte povolenie na nahrávanie nových snímok obrazovky." #~ msgid "You do not have the permission to upload new images." #~ msgstr "Nemáte povolenie na nahrávanie nových obrázkov." #~ msgid "You do not have the permission to delete images." #~ msgstr "Nemáte povolenie na mazanie obrázkov." #~ msgid "You do not have the permission to download file." #~ msgstr "Na stiahnutie súboru nemáte povolenie." #~ msgid "You do not have the permission to create new directory." #~ msgstr "Nemáte povolenie na vytvorenie nového adresára." #~ msgid "You do not have the permission to create new file." #~ msgstr "Nemáte povolenie na vytvorenie nového súboru." #~ msgid "You don't have permission to update file!" #~ msgstr "Nemáte povolenie na aktualizáciu súboru!" #~ msgid "You don't have permission to create folder!" #~ msgstr "Nemáte povolenie na vytvorenie priečinka!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "Nemáte povolenie na odstránenie priečinka!" #~ msgid "You don't have permission to delete file!" #~ msgstr "Nemáte povolenie na odstránenie súboru!" #~ msgid "You don't have permission to upload file!" #~ msgstr "Nemáte povolenie na nahrávanie súboru!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Povolenia podradenej témy boli úspešne uložené." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "" #~ "V povoleniach podradenej témy, ktoré sa majú uložiť, nie sú vykonané " #~ "žiadne zmeny." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Správa o povolení témy dieťaťa sa úspešne uložila." #~ msgid "Users" #~ msgstr "Používatelia" #~ msgid "Create New Child Theme" #~ msgstr "Vytvorte tému nového dieťaťa" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Konfigurujte existujúce motívy dieťaťa" #~ msgid "Duplicate Child Themes" #~ msgstr "Duplicitné podradené motívy" #~ msgid "Query/ Selector" #~ msgstr "Dopyt / selektor" #~ msgid "Web/font" #~ msgstr "Web / písmo" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Skopírujte nadradenú tému súboru na detskú tému" #~ msgid "Deleted Child Files" #~ msgstr "Odstránené podradené súbory" #~ msgid "Upload New Screenshoot" #~ msgstr "Odovzdajte nové snímanie obrazovky" #~ msgid "Upload New Images" #~ msgstr "Odovzdajte nové obrázky" #~ msgid "Deleted Images " #~ msgstr "Odstránené obrázky" #~ msgid "Download Images" #~ msgstr "Stiahnutie obrázkov" #~ msgid "Create New Directory" #~ msgstr "Vytvorte nový adresár" #~ msgid "Create New Files" #~ msgstr "Vytvorte nové súbory" #~ msgid "Export Theme" #~ msgstr "Exportovať tému" #~ msgid "User Roles" #~ msgstr "Roly používateľov" #~ msgid "Query/ Seletor" #~ msgstr "Dopyt / Seletor" #~ msgid "Deleted Images" #~ msgstr "Odstránené obrázky" #~ msgid "Child Theme Permission Message" #~ msgstr "Správa o povolení témy dieťaťa" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "Nemáte povolenie na vytvorenie novej podradenej témy." #~ msgid "Query/Selector" #~ msgstr "Dopyt / selektor" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "Nemáte povolenie na prístup k ponuke dopytu / selektora." #~ msgid " Web/font" #~ msgstr "Web / písmo" #~ msgid " Export Theme" #~ msgstr "Exportovať tému" #~ msgid "Save Child Theme Message" #~ msgstr "Správa o povolení témy dieťaťa" #~ msgid "Please select atleast one image." #~ msgstr "Vyberte aspoň jeden obrázok." #~ msgid "You don't have the permission to delete images." #~ msgstr "Nemáte povolenie na mazanie obrázkov." #~ msgid "You don't have the permission to upload new images." #~ msgstr "Nemáte povolenie na nahrávanie nových obrázkov." #~ msgid "You don't have the permission to download." #~ msgstr "Na stiahnutie nemáte povolenie." #~ msgid "You don't have the permission to create new directory." #~ msgstr "Nemáte povolenie na vytvorenie nového adresára." #~ msgid "Please choose file type." #~ msgstr "Vyberte typ súboru." #~ msgid "Please enter file name." #~ msgstr "Zadajte názov súboru." #~ msgid "You don't have the permission to create new file." #~ msgstr "Nemáte povolenie na vytvorenie nového súboru." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "Naozaj chcete skopírovať nadradené súbory do podradenej témy?" #~ msgid "Please select file(s)." #~ msgstr "Vyberte súbory." #~ msgid "You don't have the permission to copy files." #~ msgstr "Nemáte povolenie na kopírovanie súborov." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Naozaj chcete odstrániť vybraté súbory?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "Nemáte povolenie na odstránenie podradených súborov." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "Nemáte povolenie na nahrávanie nových snímok obrazovky." #~ msgid "You don't have the permission to export theme." #~ msgstr "Nemáte povolenie na exportovanie témy." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "Nemáte povolenie na prístup do ponuky Dotaz / Selektor." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "Nemáte povolenie na prístup do ponuky Web Fonts & CSS." #~ msgid "Current Analysis Theme:" #~ msgstr "Aktuálna téma analýzy:" #~ msgid "Preview Theme" #~ msgstr "Ukážka témy" #~ msgid "Parent Themes" #~ msgstr "Nadradené témy" #~ msgid "Child Themes" #~ msgstr "Detské témy" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Chyba: Nastavenia sa neuložili!" #~ msgid "Email List" #~ msgstr "Zoznam e-mailov" #~ msgid "Email Address" #~ msgstr "Emailová adresa" #~ msgid "Enter Email" #~ msgstr "Zadajte e-mail" #~ msgid "Add More" #~ msgstr "Pridať VIAC" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Táto adresa sa používa na účely upozornenia, ako je napríklad upozornenie " #~ "na tému alebo doplnok." #~ msgid "Theme Notification" #~ msgstr "Oznámenie témy" #~ msgid "Notify on file update" #~ msgstr "Upozorniť na aktualizáciu súboru" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Oznámenie o úprave alebo aktualizácii súboru motívu.
        " #~ "Predvolené nastavenie: Áno" #~ msgid "Notify on files download" #~ msgstr "Upozorniť na stiahnutie súborov" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Oznámenie o stiahnutí úprav súboru témy.
        Predvolené " #~ "nastavenie: Áno" #~ msgid "Notify on theme download" #~ msgstr "Upozorniť na stiahnutie motívu" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "" #~ "Oznámenie o stiahnutí motívu.
        Predvolené nastavenie: Áno" #~ msgid "Notify on files upload" #~ msgstr "Upozorniť na nahranie súborov" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Oznámenie o nahrávaní súborov v motíve.
        Predvolené " #~ "nastavenie: Áno" #~ msgid "Notify on create new file/folder" #~ msgstr "Upozorniť na vytvorenie nového súboru / priečinka" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Oznámenie o vytvorení nového súboru alebo priečinka v motíve.
        " #~ " Predvolené nastavenie: Áno" #~ msgid "Notify on delete" #~ msgstr "Upozorniť na odstránenie" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Upozorniť na odstránenie ľubovoľného súboru a priečinka v motívoch.
        " #~ " Predvolené nastavenie: Áno" #~ msgid "Notify on create New Child theme" #~ msgstr "Upozorniť na vytvorenie motívu Nové dieťa" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Upozorniť pri vytváraní nových motívov dieťaťa.
        " #~ "Predvolené: Áno" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Upozorniť na konfiguráciu tém existujúceho dieťaťa" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Upozorniť na konfiguráciu existujúcich motívov dieťaťa.
        " #~ "Predvolené nastavenie: Áno" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Upozorniť na duplikované podradené témy" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Upozorniť pri konfigurácii motívov existujúceho dieťaťa.
        " #~ "Predvolené nastavenie: Áno" #~ msgid "Plugin Notification" #~ msgstr "Oznámenie o doplnku" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Oznámenie o úprave alebo aktualizácii súboru motívu.
        " #~ "Predvolené nastavenie: áno" #~ msgid "Notify on Plugin download" #~ msgstr "Upozorniť na stiahnutie doplnku" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "" #~ "Oznámenie o stiahnutí doplnku.
        Predvolené nastavenie: Áno" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Oznámenie o nahraní súboru v motíve.
        Predvolené " #~ "nastavenie: Áno" #~ msgid "Permission saved successfully." #~ msgstr "Povolenie bolo úspešne uložené." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "" #~ "Ojoj! Povolenie nie je možné uložiť, pretože ste neurobili žiadne zmeny." #~ msgid "Allowed User Roles" #~ msgstr "Povolené roly používateľa" #~ msgid "Update theme files" #~ msgstr "Aktualizujte súbory motívov" #~ msgid "Create new theme files and folders" #~ msgstr "Vytvorte nové súbory a priečinky tém" #~ msgid "Upload new theme files and folders" #~ msgstr "Načítajte nové súbory a priečinky tém" #~ msgid "Download theme files" #~ msgstr "Stiahnite si súbory tém" #~ msgid "Download theme" #~ msgstr "Stiahnuť tému" #~ msgid "Update plugin files" #~ msgstr "Aktualizujte súbory doplnkov" #~ msgid "Create new plugin files and folders" #~ msgstr "Vytvorte nové súbory a priečinky doplnkov" #~ msgid "Upload new plugin files and folders" #~ msgstr "Nahrajte nové súbory a priečinky doplnkov" #~ msgid "Delete plugin files and folders" #~ msgstr "Odstráňte súbory a priečinky doplnkov" #~ msgid "Download plugin files" #~ msgstr "Stiahnite si súbory doplnkov" #~ msgid "Download plugin" #~ msgstr "Stiahnite si doplnok" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Editor tém PRO - nižšie uveďte podrobnosti objednávky. Ak nie Kúpiť teraz " #~ msgid "ORDER ID (#) *" #~ msgstr "ČÍSLO OBJEDNÁVKY (#) *" #~ msgid "Enter Order ID" #~ msgstr "Zadajte ID objednávky" #~ msgid "Please Check Your email for order ID." #~ msgstr "Skontrolujte ID svojho e-mailu." #~ msgid "LICENCE KEY *" #~ msgstr "LICENČNÝ KLÍČ *" #~ msgid "Enter License Key" #~ msgstr "Zadajte licenčný kľúč" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Skontrolujte prosím svoj e-mail, či neobsahuje licenčný kľúč." #~ msgid "Click To Verify" #~ msgstr "Kliknite na položku Overiť" #~ msgid "URL/None" #~ msgstr "URL / Žiadne" #~ msgid "Origin" #~ msgstr "Pôvod" #~ msgid "Color 1" #~ msgstr "Farba 1" #~ msgid "Color 2" #~ msgstr "Farba 2" #~ msgid "Width/None" #~ msgstr "Šírka / žiadna" #~ msgid "Style" #~ msgstr "Štýl" #~ msgid "Color" #~ msgstr "Farba" #~ msgid "Configure Child Theme" #~ msgstr "Konfigurácia témy dieťaťa" #~ msgid "Duplicate Child theme" #~ msgstr "Duplicitné podradené motívy" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "Po analýze táto téma funguje dobre. Môžete to použiť ako svoju detskú " #~ "tému." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "Po analýze sa zdá, že táto podradená téma funguje správne." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Táto téma načítava ďalšie tabuľky štýlov po súbore style.css :" #~ msgid "The theme" #~ msgstr "Názov témy" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "nebolo možné analyzovať, pretože ukážka sa nevykreslila správne" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Táto podradená téma nebola nakonfigurovaná pre tento doplnok" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "Konfigurátor významne upravuje podradenú tému, vrátane zmien štýlov a " #~ "ďalších funkcií php. Zvážte použitie možnosti DUPLIKOVAŤ podradenú tému " #~ "(pozri krok 1 vyššie) a originál si ponechať ako zálohu." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "Všetky informácie webfonts / css sa úspešne uložili." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Zadajte hodnotu pre webfonts / css." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "Nemáte povolenie na aktualizáciu webfonts / css." #~ msgid "All information saved successfully." #~ msgstr "Všetky informácie sa úspešne uložili." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "Naozaj chcete vynulovať? Zničí sa tým všetka práca, ktorú ste vykonali v " #~ "konfigurátore." #~ msgid "Selectors" #~ msgstr "Selektory" #~ msgid "Edit Selector" #~ msgstr "Upraviť výber" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "Šablónu so štýlmi nie je možné zobraziť." #~ msgid "(Child Only)" #~ msgstr "(Iba dieťa)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Zadajte platnú tému dieťaťa." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Zadajte platný názov témy dieťaťa." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "%s existuje. Zadajte inú tému dieťaťa" #~ msgid "The page could not be loaded correctly." #~ msgstr "Stránku sa nepodarilo načítať správne." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "Konfliktné alebo zastarané knižnice jQuery boli načítané iným doplnkom:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "Tento problém môže vyriešiť deaktivácia alebo výmena doplnkov." #~ msgid "No result found for the selection." #~ msgstr "Pre výber sa nenašiel žiadny výsledok." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%sPrečo to vidím?%s" #~ msgid "Parent / Child" #~ msgstr "Rodič / dieťa" #~ msgid "Select an action:" #~ msgstr "Vyberte akciu:" #~ msgid "Create a new Child Theme" #~ msgstr "Vytvorte novú tému dieťaťa" #~ msgid "Configure an existing Child Theme" #~ msgstr "Nakonfigurujte existujúcu podradenú tému" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Duplikujte existujúcu podradenú tému" #~ msgid "Select a Parent Theme:" #~ msgstr "Vyberte nadradenú tému:" #~ msgid "Analyze Parent Theme" #~ msgstr "Analyzujte nadradenú tému" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "Kliknutím na tlačidlo „Analyzovať“ určíte závislosti štýlov a ďalšie " #~ "potenciálne problémy." #~ msgid "Analyze" #~ msgstr "Analyzovať" #~ msgid "Select a Child Theme:" #~ msgstr "Vyberte tému dieťaťa:" #~ msgid "Analyze Child Theme" #~ msgstr "Analyzujte tému dieťaťa" #~ msgid "Name the new theme directory:" #~ msgstr "Pomenujte nový adresár tém:" #~ msgid "Directory Name" #~ msgstr "Názov adresára" #~ msgid "NOTE:" #~ msgstr "POZNÁMKA:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "Toto NIE je názov témy dieťaťa. Názov, popis atď. Môžete prispôsobiť v " #~ "kroku 7 nižšie." #~ msgid "Verify Child Theme directory:" #~ msgstr "Adresár témy Overiť dieťa:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "" #~ "Iba na overenie (nemôžete zmeniť adresár existujúcej podradenej témy)." #~ msgid "Select where to save new styles:" #~ msgstr "Vyberte, kam chcete uložiť nové štýly:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Primárna šablóna so štýlmi (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Uložiť nové vlastné štýly priamo do primárnej šablóny štýlov podradenej " #~ "témy a nahradiť tak existujúce hodnoty. Primárna šablóna so štýlmi sa " #~ "načíta v poradí stanovenom témou." #~ msgid "Separate Stylesheet" #~ msgstr "Samostatná šablóna so štýlmi" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "Uložte nové vlastné štýly do samostatnej šablóny so štýlmi a skombinujte " #~ "všetky existujúce podradené štýly motívov s rodičmi do základnej čiary. " #~ "Túto možnosť vyberte, ak chcete zachovať existujúce štýly podradených " #~ "motívov namiesto ich prepisovania. Táto možnosť vám tiež umožňuje " #~ "prispôsobiť šablóny štýlov, ktoré sa načítajú po primárnej šablóne so " #~ "štýlmi." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Vyberte prácu so šablónou štýlov nadradenej témy:" #~ msgid "Use the WordPress style queue." #~ msgstr "Použite rad štýlov WordPress." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "Nechajte konfigurátor, aby určil príslušné akcie a závislosti a " #~ "automaticky aktualizoval súbor funkcií." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "" #~ "V šablóne so štýlmi podradených motívov použite @import ." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "Túto možnosť použite, iba ak nie je možné načítať nadradenú šablónu so " #~ "štýlmi pomocou frontu štýlov WordPress. Používanie @import " #~ "sa neodporúča." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Nepridávajte žiadne nadradené spracovanie štýlov." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "Túto možnosť vyberte, ak táto téma už spracováva šablónu štýlov " #~ "nadradenej témy alebo ak sa na jej vzhľad nepoužíva súbor style." #~ "css nadradenej témy." #~ msgid "Advanced handling options" #~ msgstr "Pokročilé možnosti manipulácie" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Ignorujte šablóny štýlov nadradených tém." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Túto možnosť vyberte, ak táto téma už spracováva šablónu štýlov " #~ "nadradenej témy alebo ak sa na jej vzhľad nepoužíva súbor style.css " #~ "nadradenej témy." #~ msgid "Repair the header template in the child theme." #~ msgstr "Opravte šablónu hlavičky v podradenej téme." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "Nechajte konfigurátora (pokúsiť sa) vyriešiť všetky problémy so štýlmi " #~ "uvedené vyššie. Týmto sa dá vyriešiť veľa, ale nie všetky bežné problémy." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Odstráňte závislosti šablón štýlov" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Poradie štýlov, ktoré sa načítajú pred primárnou šablónou štýlov, sa " #~ "predvolene zachováva tak, že sa s nimi zaobchádza ako so závislosťami. V " #~ "niektorých prípadoch sa v ukážke zistia šablóny štýlov, ktoré sa " #~ "nepoužívajú na celom webe. V prípade potreby je možné odstrániť závislosť " #~ "pre konkrétne tabuľky štýlov uvedené nižšie." #~ msgid "Child Theme Name" #~ msgstr "Názov témy dieťaťa" #~ msgid "Theme Name" #~ msgstr "Názov témy" #~ msgid "Theme Website" #~ msgstr "Tematický web" #~ msgid "Author" #~ msgstr "Autor" #~ msgid "Author Website" #~ msgstr "Autorský web" #~ msgid "Theme Description" #~ msgstr "Popis témy" #~ msgid "Description" #~ msgstr "Popis" #~ msgid "Tags" #~ msgstr "Značky" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "Ponuky, widgety a ďalšie nastavenia prispôsobenia od nadradenej témy po " #~ "tému dieťaťa:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Táto možnosť nahradí existujúce ponuky, widgety a ďalšie nastavenia " #~ "prispôsobovacieho nástroja podradenej témy témami z nadradenej témy. Túto " #~ "možnosť by ste mali použiť iba pri prvej konfigurácii podradenej témy." #~ msgid "Click to run the Configurator:" #~ msgstr "Kliknutím spustíte konfigurátor:" #~ msgid "Query / Selector" #~ msgstr "Dopyt / selektor" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "Ak chcete nájsť konkrétne selektory v rámci blokov dotazov @media, " #~ "najskôr vyberte dotaz a potom selektor. Pomocou základného dotazu môžete " #~ "upraviť všetky ostatné selektory." #~ msgid "@media Query" #~ msgstr "@media Dotaz" #~ msgid "( or \"base\" )" #~ msgstr "(alebo „základňa“)" #~ msgid "Selector" #~ msgstr "Selektor" #~ msgid "Query/Selector Action" #~ msgstr "Akcia Dotaz / Selektor" #~ msgid "Save Child Values" #~ msgstr "Uložiť hodnoty dieťaťa" #~ msgid "Delete Child Values" #~ msgstr "Odstrániť hodnoty dieťaťa" #~ msgid "Property" #~ msgstr "Nehnuteľnosť" #~ msgid "Baseline Value" #~ msgstr "Východisková hodnota" #~ msgid "Child Value" #~ msgstr "Hodnota dieťaťa" #~ msgid "error" #~ msgstr "chyba" #~ msgid "You do not have permission to configure child themes." #~ msgstr "Nemáte povolenie na konfiguráciu podradených tém." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s neexistuje. Vyberte platnú nadradenú tému." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Súbor Functions je povinný a nemožno ho vymazať." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Vyberte platnú nadradenú tému." #~ msgid "Please select a valid Child Theme." #~ msgstr "Vyberte platnú tému dieťaťa." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Zadajte platný názov adresára témy dieťaťa." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%s existuje. Zadajte iný názov šablóny detskej témy." #~ msgid "Your theme directories are not writable." #~ msgstr "Do vašich adresárov tém nie je možné zapisovať." #~ msgid "Could not upgrade child theme" #~ msgstr "Podradenú tému sa nepodarilo inovovať" #~ msgid "Your stylesheet is not writable." #~ msgstr "Na vašu šablónu štýlov sa nedá zapisovať." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "V súbore funkcií detských tém bola zistená uzatváracia značka PHP, takže " #~ "nebola nakonfigurovaná možnosť „Rodičovská úprava štýlov“. Uzatváranie " #~ "PHP na konci súboru sa neodporúča, pretože by to mohlo spôsobiť predčasné " #~ "hlavičky HTTP. Upravte súbor functions.php , aby ste " #~ "odstránili výslednú značku ?>, a kliknite znova na " #~ "možnosť „Generovať / znova vytvoriť súbory podradených tém“." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Súbor sa nepodarilo skopírovať: %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Súbor %s sa nepodarilo odstrániť." #, php-format #~ msgid "could not copy %s" #~ msgstr "%s sa nepodarilo skopírovať" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "neplatný adresár: %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "Pri resetovaní povolení sa vyskytli chyby." #~ msgid "Could not upload file." #~ msgstr "Súbor sa nepodarilo nahrať." #~ msgid "Invalid theme root directory." #~ msgstr "Neplatný koreňový adresár témy." #~ msgid "No writable temp directory." #~ msgstr "Žiadny dočasný adresár, do ktorého je možné zapísať." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Rozbalenie zlyhalo -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Balenie zlyhalo -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Bol prekročený maximálny počet štýlov." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Chyba pri presúvaní súboru: %s" #~ msgid "Could not set write permissions." #~ msgstr "Nepodarilo sa nastaviť oprávnenie na zápis." #~ msgid "Error:" #~ msgstr "Chyba:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "" #~ "Aktuálna podradená téma dieťaťa %s bola resetovaná." #~ msgid "Update Key saved successfully." #~ msgstr "Aktualizačný kľúč bol úspešne uložený." #~ msgid "Child Theme files modified successfully." #~ msgstr "Súbory podradenej témy boli úspešne zmenené." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "Podradená téma %s bola vygenerovaná úspešne." #~ msgid "Web Fonts & CSS" #~ msgstr "Webové písma a CSS" #~ msgid "Parent Styles" #~ msgstr "Rodičovské štýly" #~ msgid "Child Styles" #~ msgstr "Štýly dieťaťa" #~ msgid "View Child Images" #~ msgstr "Zobraziť obrázky dieťaťa" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Na prepojenie ďalších šablón štýlov použite @import url ([path]); " #~ ". Tento doplnok používa kľúčové slovo @import na " #~ "ich identifikáciu a ich prevod na značky <link>. " #~ " Príklad: " #~ msgid "Save" #~ msgstr "Uložiť" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "Nahraním obrázka s rovnakým názvom sa nahradí existujúci obrázok." #~ msgid "Upload New Child Theme Image" #~ msgstr "Nahrajte obrázok nového dieťaťa" #~ msgid "Delete Selected Images" #~ msgstr "Odstrániť vybrané obrázky" #~ msgid "Create a New Directory" #~ msgstr "Vytvorte nový adresár" #~ msgid "New Directory will be created in" #~ msgstr "Nový adresár bude vytvorený v" #~ msgid "New Directory Name" #~ msgstr "Nový názov adresára" #~ msgid "Create a New File" #~ msgstr "Vytvorte nový súbor" #~ msgid "New File will be created in" #~ msgstr "Nový súbor bude vytvorený v" #~ msgid "New File Name" #~ msgstr "Nový názov súboru" #~ msgid "File Type Extension" #~ msgstr "Prípona typu súboru" #~ msgid "Choose File Type" #~ msgstr "Vyberte typ súboru" #~ msgid "PHP File" #~ msgstr "Súbor PHP" #~ msgid "CSS File" #~ msgstr "Súbor CSS*" #~ msgid "JS File" #~ msgstr "Súbor JS" #~ msgid "Text File" #~ msgstr "Textový súbor" #~ msgid "PHP File Type" #~ msgstr "Typ súboru PHP" #~ msgid "Simple PHP File" #~ msgstr "Jednoduchý súbor PHP" #~ msgid "Wordpress Template File" #~ msgstr "Súbor šablóny Wordpress" #~ msgid "Template Name" #~ msgstr "Názov šablóny" #~ msgid "Parent Templates" #~ msgstr "Rodičovské šablóny" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "Skopírujte šablóny PHP z nadradenej témy tak, že ich tu vyberiete. " #~ "Konfigurátor definuje šablónu ako súbor Theme Theme bez akýchkoľvek " #~ "funkcií alebo tried PHP. Ostatné súbory PHP nemôžu byť bezpečne prepísané " #~ "podradenou témou." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "UPOZORNENIE: Ak je váš podradený motív aktívny, okamžite po skopírovaní " #~ "sa namiesto rodiča použije verzia podradeného motívu." #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "súbor sa generuje osobitne a nemožno ho sem skopírovať." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Kopírovať vybraté do detských tém" #~ msgid " Child Theme Files " #~ msgstr "Súbory detských tém" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Kliknutím upravíte súbory pomocou editora tém" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Tu môžete odstrániť šablóny podradených motívov." #~ msgid "Delete Selected" #~ msgstr "Zmaž označené" #~ msgid "Child Theme Screenshot" #~ msgstr "Screenshot témy dieťaťa" #~ msgid "Upload New Screenshot" #~ msgstr "Nahrajte novú snímku obrazovky" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "Screenshot témy by mal mať pomer 4: 3 (napr. 880px x 660px) JPG, PNG " #~ "alebo GIF. Bude premenovaná" #~ msgid "Screenshot" #~ msgstr "Screenshot" #~ msgid "Upload New Child Theme Image " #~ msgstr "Nahrajte obrázok nového dieťaťa" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "Obrázky témy sa nachádzajú v adresári obrázkov v podradenej téme a sú " #~ "určené iba na použitie šablóny so štýlmi. Pre obrázky obsahu použite " #~ "knižnicu médií." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Ukážka aktuálnej témy dieťaťa (aktuálna analýza)" #~ msgid "Preview Current Child Theme" #~ msgstr "Ukážka aktuálnej témy dieťaťa" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Exportovať detskú tému ako archív Zip" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Kliknutím na tlačidlo „Exportovať súbor Zip“ uložte zálohu aktuálne " #~ "načítanej podradenej témy. Ktorékoľvek zo svojich tém môžete exportovať z " #~ "karty Rodič / Dieťa." #~ msgid "Export Child Theme" #~ msgstr "Exportovať detskú tému" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Súbory podradenej témy boli úspešne skopírované!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "" #~ "Súbor, ktorý sa pokúšate skopírovať z nadradených šablón, neexistuje" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "Súbor, ktorý sa pokúšate skopírovať z nadradených šablón, sa už nachádza " #~ "v súboroch podradenej témy." #~ msgid "Child " #~ msgstr "Dieťa" #~ msgid " and Parent " #~ msgstr "a rodič" #~ msgid " directories doesn't exist!" #~ msgstr "adresáre neexistujú!" #~ msgid " directory doesn't exist!" #~ msgstr "adresár neexistuje!" #~ msgid "Parent " #~ msgstr "Rodič" #~ msgid "Unknown error! " #~ msgstr "Neznáma chyba!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "Nemáte povolenie na kopírovanie súborov!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Všetky vybrané súbory boli úspešne odstránené!" #~ msgid " does not exists!" #~ msgstr "neexistuje!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Nahrávanie tejto prípony súboru nie je povolené!" #~ msgid "Image uploaded successfully!" #~ msgstr "Obrázok bol úspešne nahraný!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Pri nahrávaní obrázka sa vyskytol problém!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "" #~ "Túto príponu súboru nie je možné nahrávať ako snímku obrazovky pomocou " #~ "wordpressu!" #~ msgid "File uploaded successfully!" #~ msgstr "Súbor bol úspešne nahraný!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Súbory podradenej témy nemožno upraviť." #~ msgid "File(s) deleted successfully!" #~ msgstr "Súbory boli úspešne odstránené!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "Nemáte povolenie na mazanie súborov!" #~ msgid "Entered directory name already exists" #~ msgstr "Zadaný názov adresára už existuje" #~ msgid "You don't have permission to create directory!" #~ msgstr "Nemáte povolenie na vytvorenie adresára!" #~ msgid "Wordpress template file created" #~ msgstr "Bol vytvorený súbor šablóny Wordpress" #~ msgid "Wordpress template file not created" #~ msgstr "Súbor šablóny Wordpress nebol vytvorený" #~ msgid "PHP created file successfully" #~ msgstr "PHP vytvoril súbor úspešne" #~ msgid "PHP file not created" #~ msgstr "Súbor PHP nebol vytvorený" #~ msgid " file not created" #~ msgstr "súbor nebol vytvorený" #~ msgid "You don't have permission to create file!" #~ msgstr "Nemáte povolenie na vytvorenie súboru!" #~ msgid "Language folder has been downlaoded." #~ msgstr "Priečinok jazyka bol zmenšený." #~ msgid "Add single or multiple languages." #~ msgstr "Pridajte jeden alebo viac jazykov." #~ msgid "Add single language file" #~ msgstr "Pridajte súbor v jednom jazyku" #~ msgid "Please click on language button." #~ msgstr "Kliknite na tlačidlo jazyka." #~ msgid "Add all languages zip folder" #~ msgstr "Pridajte priečinok zip všetkých jazykov" #~ msgid "Zip Download" #~ msgstr "Na stiahnutie" wp-file-manager/languages/wp-file-manager-sl_SI.mo000064400000043115151202472330016007 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&g(),)I)3G*={**#**+?',Ag,,D,>,=6-t-- -1-%-)./G.w....!. . . / /"/8/P/Y/2u///#/6/-0>I00 0000000*1,1G13X111P2&l2 2(2D2"33444P4U4\4?55606T6Q7788888N8>+9"j99999 9 9:W:o`:&:':;&;5-;,c;&;#;3;< <)<E< _<l<j}<]< F=1P=-=)=6=?> Q>\>p>>*>>>>???)?9? L?,W? ???"?&? @%@%7@]@o@:@@2@&@"A/>A nA&xA"AAA4A'B(.BWBsBB'BBBC.C'7C(_C7C CCC7C 'DHD! E;-EMiENEFF}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: Theme Editor Pro PO-Revision-Date: 2022-02-28 11:33+0530 Last-Translator: Language-Team: Language: sl_SI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n%100<=4 ? 2 : 3); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: . * za vse operacije in za dovolitev nekaterih operacij lahko navedete ime operacije, kot je npr. allowed_operations="upload,download". Opomba: ločeno z vejico (,). Privzeto: *-> Prepovedala bo določene uporabnike, tako da bo njihove ID-je ločila z vejicami (,). Če je uporabnik Ban, potem na sprednjem delu ne bo mogel dostopati do upravitelja datotek wp.-> Tema upravitelja datotek. Privzeto: Light-> Datoteka spremenjena ali Ustvari obliko datuma. Privzeto: d M, Y h:i A-> Jezik upravitelja datotek. Privzeto: English(en)-> Pogled uporabniškega vmesnika Filemanager. Privzeto: gridAkcijaDejanja ob izbrani varnostni kopijiSkrbnik lahko omeji dejanja katerega koli uporabnika. Datoteke in mape lahko tudi skrijete in lahko nastavite različne poti map do različnih uporabnikov.Skrbnik lahko omeji dejanja katere koli uporabniške vloge. Datoteke in mape lahko tudi skrijete in lahko nastavite različne poti map do različnih vlog uporabnikov.Po omogočitvi smeti bodo vaše datoteke šle v mapo smetnjaka.Po omogočitvi tega bodo vse datoteke šle v medijsko knjižnico.KončanoAli ste prepričani, da želite odstraniti izbrane varnostne kopije?Ali ste prepričani, da želite izbrisati to varnostno kopijo?Ali ste prepričani, da želite obnoviti to varnostno kopijo?Datum varnostne kopijeVarnostno kopirajte zdajMožnosti varnostnega kopiranja:Varnostno kopiranje podatkov (kliknite za prenos)Datoteke za varnostne kopije bodo podVarnostno kopiranje se izvaja, počakajteVarnostno kopiranje je bilo uspešno izbrisano.Varnostno kopiranje/obnovitevVarnostne kopije so bile uspešno odstranjene!PrepovedBrskalnik in OS (HTTP_USER_AGENT)Nakup PRONakup ProPrekličiSpremeni temo tukaj:Kliknite za nakup PROPogled urejevalnika kodPotrditeKopirajte datoteke ali mapeTrenutno ni mogoče najti nobene varnostne kopije.IZBRIŠI DATOTEKETemnoVarnostno kopiranje zbirke podatkovVarnostno kopiranje zbirke podatkov izvedeno na datum Varnostno kopiranje baze podatkov opravljeno.Varnostno kopiranje baze podatkov je bilo uspešno obnovljeno.PrivzetoPrivzeto:IzbrišiPrekliči izbiroZavrni to obvestilo.PodaritePrenesite dnevnike datotekPrenesite datotekePodvojite ali klonirajte mapo ali datotekoUrejanje dnevnikov datotekUredite datotekoOmogočiti nalaganje datotek v medijsko knjižnico?Želite omogočiti smetnjak?Napaka: varnostne kopije ni mogoče obnoviti, ker je varnostna kopija baze podatkov velika. Poskusite povečati največjo dovoljeno velikost v nastavitvah Nastavitve.Obstoječe varnostne kopijeIzvlecite arhiv ali stisnjeno datotekoUpravitelj datotek - kratka kodaUpravitelj datotek - sistemske lastnostiKoreninsko pot upravitelja datotek lahko spremenite po svoji izbiri.Upravitelj datotek ima urejevalnik kod z več temami. Za urejevalnik kode lahko izberete katero koli temo. Prikaže se, ko uredite katero koli datoteko. Prav tako lahko dovolite celozaslonski način urejevalnika kode.Seznam operacij datotek:Datoteka ne obstaja za prenos.Varnostno kopiranje datoteksivaPomočTukaj je "test" ime mape, ki se nahaja v korenskem imeniku, ali pa lahko podate pot za podmape, kot je "wp-content/plugins". Če pustite prazno ali prazno, bo dostopal do vseh map v korenskem imeniku. Privzeto: korenski imenikTu lahko skrbnik omogoči dostop do uporabniških vlog za uporabo upravitelja datotek. Skrbnik lahko nastavi privzeto mapo za dostop in nadzoruje tudi velikost nalaganja upravitelja datotek.Informacije o datotekiNeveljavna varnostna koda.Vsem vlogam bo omogočil dostop do upravitelja datotek na sprednji strani ali pa ga lahko preprosto uporabite za določene uporabniške vloge, kot je dovoljeno_roles="urednik,avtor" (ločeno z vejico(,))Omenjeno bo z vejicami. lahko zaklenete več kot ".php,.css,.js" itd. Privzeto: ničNa sprednjem delu bo prikazal upravitelja datotek. Toda samo skrbnik lahko dostopa do njega in bo upravljal iz nastavitev upravitelja datotek.Na sprednjem delu bo prikazal upravitelja datotek. Vse nastavitve lahko nadzirate v nastavitvah upravitelja datotek. Deloval bo enako kot backend WP File Manager.Zadnje dnevniško sporočiloSvetlobaDnevnikiNaredite imenik ali mapoUstvari datotekoNajvečja dovoljena velikost v času obnovitve varnostne kopije baze podatkov.Največja velikost datoteke za nalaganje (upload_max_filesize)Omejitev pomnilnika (memory_limit)Manjka varnostna kopija ID.Manjka vrsta parametra.Manjkajo zahtevani parametri.Ne hvalaNi dnevnikaNi zapisov!Opomba:Opomba: To so demo posnetki zaslona. Prosimo, kupite File Manager pro za funkcije Logs.Opomba: To je samo predstavitveni posnetek zaslona. Če želite dobiti nastavitve, kupite našo različico pro.Nič ni izbrano za varnostno kopiranjeNič ni izbrano za varnostno kopiranje.v reduV reduDrugo (Vsi drugi imeniki, najdeni znotraj wp-content)Drugi varnostno kopiranje narejeno na datum Varnostno kopiranje drugih opravljeno.Druge varnostne kopije niso uspele.Druga varnostna kopija je bila uspešno obnovljena.Različica PHPParametri:Prilepite datoteko ali mapoVnesite e-poštni naslov.Vnesite ime.Vnesite priimek.Prosimo, natančno spremenite to, napačna pot lahko povzroči, da se vtičnik upravitelja datotek spusti.Povečajte vrednost polja, če se ob obnovitvi varnostne kopije prikaže sporočilo o napaki.VtičnikiVarnostno kopiranje vtičnikov narejeno na datum Varnostno kopiranje vtičnikov je opravljeno.Varnostno kopiranje vtičnikov ni uspelo.Varnostno kopiranje vtičnikov je uspešno obnovljeno.Objavi največjo velikost datoteke za nalaganje (post_max_size)PreferencePolitika zasebnostiJavna korenska potOBNOVITE DATOTEKEOdstranite ali izbrišite datoteke in mapePreimenujte datoteko ali mapoObnoviObnovitev teče, počakajteUSPEHShrani spremembeShranjevanje ...Iščite stvariVarnostna težava.Izberi vseIzberite varnostno(e) kopijo(e) za brisanje!NastavitveNastavitve - Urejevalnik kodNastavitve - SplošnoNastavitve - Uporabniške omejitveNastavitve - Omejitve vloge uporabnikaNastavitve so shranjene.Kratka koda - PROPreprosto izrežite datoteko ali mapoLastnosti sistemaPogoji storitveVarnostno kopiranje je očitno uspelo in je zdaj končano.ThemesVarnostno kopiranje tem je bilo izvedeno na datum Varnostno kopiranje tem je opravljeno.Varnostno kopiranje tem ni uspelo.Varnostno kopiranje tem je uspešno obnovljeno.Čas zdajČasovna omejitev (max_execution_time)Če želite narediti arhiv ali zipDanesUPORABA:Varnostne kopije baze podatkov ni mogoče ustvariti.Varnostne kopije ni mogoče odstraniti!Varnostne kopije DB ni mogoče obnoviti.Drugih ni mogoče obnoviti.Vtičnikov ni mogoče obnoviti.Tem ni mogoče obnoviti.Naloženih datotek ni mogoče obnoviti.Naloži dnevnike datotekNaložite datotekePrenosiNaloži varnostno kopijo, opravljeno na datum Varnostna kopija nalaganja je končana.Varnostno kopiranje nalaganja ni uspelo.Naložene varnostne kopije so bile uspešno obnovljene.PreveriteOgled dnevnikaUpravitelj datotek WPUpravitelj datotek WP - Varnostno kopiranje / obnovitevPrispevek upravitelja datotek WPRadi ustvarjamo nove prijatelje! Naročite se spodaj in obljubljamo vam boste na tekočem z našimi najnovejšimi novimi vtičniki, posodobitvami, super ponudbe in nekaj posebnih ponudb.Dobrodošli v upravitelju datotekNiste naredili nobenih sprememb, ki bi jih morali shraniti.za dostop do dovoljenja za branje datotek, opomba: true/false, privzeto: trueza dostop do dovoljenj za pisanje datotek, opomba: true/false, privzeto: falsebo skrilo omenjeno tukaj. Opomba: ločeno z vejico (,). Privzeto: ničwp-file-manager/languages/wp-file-manager-sl_SI.po000064400000234611151202472330016015 0ustar00msgid "" msgstr "" "Project-Id-Version: Theme Editor Pro\n" "POT-Creation-Date: 2022-02-28 11:28+0530\n" "PO-Revision-Date: 2022-02-28 11:33+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n" "%100<=4 ? 2 : 3);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Varnostno kopiranje tem je uspešno obnovljeno." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Tem ni mogoče obnoviti." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Naložene varnostne kopije so bile uspešno obnovljene." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Naloženih datotek ni mogoče obnoviti." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Druga varnostna kopija je bila uspešno obnovljena." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Drugih ni mogoče obnoviti." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Varnostno kopiranje vtičnikov je uspešno obnovljeno." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Vtičnikov ni mogoče obnoviti." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Varnostno kopiranje baze podatkov je bilo uspešno obnovljeno." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Končano" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Varnostne kopije DB ni mogoče obnoviti." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Varnostne kopije so bile uspešno odstranjene!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Varnostne kopije ni mogoče odstraniti!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Varnostno kopiranje zbirke podatkov izvedeno na datum " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Varnostno kopiranje vtičnikov narejeno na datum " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Varnostno kopiranje tem je bilo izvedeno na datum " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Naloži varnostno kopijo, opravljeno na datum " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Drugi varnostno kopiranje narejeno na datum " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Dnevniki" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Ni zapisov!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Nič ni izbrano za varnostno kopiranje" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Varnostna težava." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Varnostno kopiranje baze podatkov opravljeno." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Varnostne kopije baze podatkov ni mogoče ustvariti." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Varnostno kopiranje vtičnikov je opravljeno." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Varnostno kopiranje vtičnikov ni uspelo." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Varnostno kopiranje tem je opravljeno." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Varnostno kopiranje tem ni uspelo." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Varnostna kopija nalaganja je končana." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Varnostno kopiranje nalaganja ni uspelo." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Varnostno kopiranje drugih opravljeno." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Druge varnostne kopije niso uspele." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Upravitelj datotek WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Nastavitve" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preference" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Lastnosti sistema" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kratka koda - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Varnostno kopiranje/obnovitev" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Nakup Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Podarite" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Datoteka ne obstaja za prenos." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Neveljavna varnostna koda." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Manjka varnostna kopija ID." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Manjka vrsta parametra." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Manjkajo zahtevani parametri." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Napaka: varnostne kopije ni mogoče obnoviti, ker je varnostna kopija baze " "podatkov velika. Poskusite povečati največjo dovoljeno velikost v " "nastavitvah Nastavitve." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Izberite varnostno(e) kopijo(e) za brisanje!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Ali ste prepričani, da želite odstraniti izbrane varnostne kopije?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Varnostno kopiranje se izvaja, počakajte" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Obnovitev teče, počakajte" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Nič ni izbrano za varnostno kopiranje." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Upravitelj datotek WP - Varnostno kopiranje / obnovitev" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Možnosti varnostnega kopiranja:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Varnostno kopiranje zbirke podatkov" #: inc/backup.php:64 msgid "Files Backup" msgstr "Varnostno kopiranje datotek" #: inc/backup.php:68 msgid "Plugins" msgstr "Vtičniki" #: inc/backup.php:71 msgid "Themes" msgstr "Themes" #: inc/backup.php:74 msgid "Uploads" msgstr "Prenosi" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Drugo (Vsi drugi imeniki, najdeni znotraj wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Varnostno kopirajte zdaj" #: inc/backup.php:89 msgid "Time now" msgstr "Čas zdaj" #: inc/backup.php:99 msgid "SUCCESS" msgstr "USPEH" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Varnostno kopiranje je bilo uspešno izbrisano." #: inc/backup.php:102 msgid "Ok" msgstr "V redu" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "IZBRIŠI DATOTEKE" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Ali ste prepričani, da želite izbrisati to varnostno kopijo?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Prekliči" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Potrdite" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "OBNOVITE DATOTEKE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Ali ste prepričani, da želite obnoviti to varnostno kopijo?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Zadnje dnevniško sporočilo" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Varnostno kopiranje je očitno uspelo in je zdaj končano." #: inc/backup.php:171 msgid "No log message" msgstr "Ni dnevnika" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Obstoječe varnostne kopije" #: inc/backup.php:184 msgid "Backup Date" msgstr "Datum varnostne kopije" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Varnostno kopiranje podatkov (kliknite za prenos)" #: inc/backup.php:190 msgid "Action" msgstr "Akcija" #: inc/backup.php:210 msgid "Today" msgstr "Danes" #: inc/backup.php:239 msgid "Restore" msgstr "Obnovi" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Izbriši" #: inc/backup.php:241 msgid "View Log" msgstr "Ogled dnevnika" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Trenutno ni mogoče najti nobene varnostne kopije." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Dejanja ob izbrani varnostni kopiji" #: inc/backup.php:251 msgid "Select All" msgstr "Izberi vse" #: inc/backup.php:252 msgid "Deselect" msgstr "Prekliči izbiro" #: inc/backup.php:254 msgid "Note:" msgstr "Opomba:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Datoteke za varnostne kopije bodo pod" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Prispevek upravitelja datotek WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Opomba: To so demo posnetki zaslona. Prosimo, kupite File Manager pro za " "funkcije Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Kliknite za nakup PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Nakup PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Urejanje dnevnikov datotek" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Prenesite dnevnike datotek" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Naloži dnevnike datotek" #: inc/root.php:43 msgid "Settings saved." msgstr "Nastavitve so shranjene." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Zavrni to obvestilo." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Niste naredili nobenih sprememb, ki bi jih morali shraniti." #: inc/root.php:55 msgid "Public Root Path" msgstr "Javna korenska pot" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Koreninsko pot upravitelja datotek lahko spremenite po svoji izbiri." #: inc/root.php:59 msgid "Default:" msgstr "Privzeto:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Prosimo, natančno spremenite to, napačna pot lahko povzroči, da se vtičnik " "upravitelja datotek spusti." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Želite omogočiti smetnjak?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Po omogočitvi smeti bodo vaše datoteke šle v mapo smetnjaka." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Omogočiti nalaganje datotek v medijsko knjižnico?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Po omogočitvi tega bodo vse datoteke šle v medijsko knjižnico." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Največja dovoljena velikost v času obnovitve varnostne kopije baze podatkov." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Povečajte vrednost polja, če se ob obnovitvi varnostne kopije prikaže " "sporočilo o napaki." #: inc/root.php:90 msgid "Save Changes" msgstr "Shrani spremembe" #: inc/settings.php:10 msgid "Settings - General" msgstr "Nastavitve - Splošno" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Opomba: To je samo predstavitveni posnetek zaslona. Če želite dobiti " "nastavitve, kupite našo različico pro." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Tu lahko skrbnik omogoči dostop do uporabniških vlog za uporabo upravitelja " "datotek. Skrbnik lahko nastavi privzeto mapo za dostop in nadzoruje tudi " "velikost nalaganja upravitelja datotek." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Nastavitve - Urejevalnik kod" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Upravitelj datotek ima urejevalnik kod z več temami. Za urejevalnik kode " "lahko izberete katero koli temo. Prikaže se, ko uredite katero koli " "datoteko. Prav tako lahko dovolite celozaslonski način urejevalnika kode." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Pogled urejevalnika kod" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Nastavitve - Uporabniške omejitve" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Skrbnik lahko omeji dejanja katerega koli uporabnika. Datoteke in mape lahko " "tudi skrijete in lahko nastavite različne poti map do različnih uporabnikov." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Nastavitve - Omejitve vloge uporabnika" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Skrbnik lahko omeji dejanja katere koli uporabniške vloge. Datoteke in mape " "lahko tudi skrijete in lahko nastavite različne poti map do različnih vlog " "uporabnikov." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Upravitelj datotek - kratka koda" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "UPORABA:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Na sprednjem delu bo prikazal upravitelja datotek. Vse nastavitve lahko " "nadzirate v nastavitvah upravitelja datotek. Deloval bo enako kot backend WP " "File Manager." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Na sprednjem delu bo prikazal upravitelja datotek. Toda samo skrbnik lahko " "dostopa do njega in bo upravljal iz nastavitev upravitelja datotek." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametri:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Vsem vlogam bo omogočil dostop do upravitelja datotek na sprednji strani ali " "pa ga lahko preprosto uporabite za določene uporabniške vloge, kot je " "dovoljeno_roles=\"urednik,avtor\" (ločeno z vejico(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Tukaj je \"test\" ime mape, ki se nahaja v korenskem imeniku, ali pa lahko " "podate pot za podmape, kot je \"wp-content/plugins\". Če pustite prazno ali " "prazno, bo dostopal do vseh map v korenskem imeniku. Privzeto: korenski " "imenik" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "za dostop do dovoljenj za pisanje datotek, opomba: true/false, privzeto: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "za dostop do dovoljenja za branje datotek, opomba: true/false, privzeto: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "bo skrilo omenjeno tukaj. Opomba: ločeno z vejico (,). Privzeto: nič" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Omenjeno bo z vejicami. lahko zaklenete več kot \".php,.css,.js\" itd. " "Privzeto: nič" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* za vse operacije in za dovolitev nekaterih operacij lahko navedete ime " "operacije, kot je npr. allowed_operations=\"upload,download\". Opomba: " "ločeno z vejico (,). Privzeto: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Seznam operacij datotek:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Naredite imenik ali mapo" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Ustvari datoteko" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Preimenujte datoteko ali mapo" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Podvojite ali klonirajte mapo ali datoteko" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Prilepite datoteko ali mapo" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Prepoved" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Če želite narediti arhiv ali zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Izvlecite arhiv ali stisnjeno datoteko" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopirajte datoteke ali mape" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Preprosto izrežite datoteko ali mapo" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Uredite datoteko" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Odstranite ali izbrišite datoteke in mape" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Prenesite datoteke" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Naložite datoteke" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Iščite stvari" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informacije o datoteki" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Pomoč" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Prepovedala bo določene uporabnike, tako da bo njihove ID-je ločila z " "vejicami (,). Če je uporabnik Ban, potem na sprednjem delu ne bo mogel " "dostopati do upravitelja datotek wp." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Pogled uporabniškega vmesnika Filemanager. Privzeto: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Datoteka spremenjena ali Ustvari obliko datuma. Privzeto: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Jezik upravitelja datotek. Privzeto: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema upravitelja datotek. Privzeto: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Upravitelj datotek - sistemske lastnosti" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Različica PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Največja velikost datoteke za nalaganje (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Objavi največjo velikost datoteke za nalaganje (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Omejitev pomnilnika (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Časovna omejitev (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Brskalnik in OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Spremeni temo tukaj:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Privzeto" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Temno" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Svetloba" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "siva" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Dobrodošli v upravitelju datotek" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Radi ustvarjamo nove prijatelje! Naročite se spodaj in obljubljamo vam\n" " boste na tekočem z našimi najnovejšimi novimi vtičniki, posodobitvami,\n" " super ponudbe in nekaj posebnih ponudb." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Vnesite ime." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Vnesite priimek." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Vnesite e-poštni naslov." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Preverite" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ne hvala" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Pogoji storitve" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Politika zasebnosti" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Shranjevanje ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "v redu" #~ msgid "Backup not found!" #~ msgstr "Varnostne kopije ni mogoče najti!" #~ msgid "Backup removed successfully!" #~ msgstr "Varnostna kopija je bila uspešno odstranjena!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Za varnostno kopiranje ni izbrano nič" #~ msgid "Security Issue." #~ msgstr "Varnostna težava. " #~ msgid "Database backup done." #~ msgstr "" #~ "Končano varnostno kopiranje zbirke " #~ "podatkov. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Varnostne kopije baze podatkov ni mogoče " #~ "ustvariti. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Končano varnostno kopiranje vtičnikov. " #~ "" #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Varnostno kopiranje vtičnikov ni uspelo. " #~ "" #~ msgid "Themes backup done." #~ msgstr "" #~ "Končano varnostno kopiranje tem. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Varnostno kopiranje tem ni uspelo. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Nalaganje varnostnih kopij je končano. " #~ "" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Varnostna kopija naloženih datotek ni " #~ "uspela. " #~ msgid "Others backup done." #~ msgstr "" #~ "Drugi varnostno kopiranje narejeno. " #~ msgid "Others backup failed." #~ msgstr "" #~ "Varnostno kopiranje drugih ni uspelo. " #~ msgid "All Done" #~ msgstr "Vse končano " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Slika" #~ msgid "of" #~ msgstr "od" #~ msgid "Close" #~ msgstr "Zapri" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Ta funkcija zahteva vstavljene okvirje. Imate onemogočene vgradne okvire " #~ "ali jih brskalnik ne podpira." #~ msgid "Theme Editor" #~ msgstr "Urejevalnik tem" #~ msgid "Plugin Editor" #~ msgstr "Urejevalnik vtičnikov" #~ msgid "Access Control" #~ msgstr "Nadzor dostopa" #~ msgid "Notify Me" #~ msgstr "Obvesti me" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "jezik je bil uspešno prenesen." #~ msgid "Language folder failed to downlaod." #~ msgstr "Mape jezikov ni bilo mogoče prenesti." #~ msgid "Security token expired!" #~ msgstr "Varnostni žeton je potekel!" #~ msgid " language has been downloaded successfully." #~ msgstr "jezik je bil uspešno prenesen." #~ msgid "Currently language " #~ msgstr "Trenutno jezik " #~ msgid " not available. Please click on the request language link." #~ msgstr " ni na voljo. Prosimo, kliknite na jezikovno povezavo zahteve." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "Nimate dovolj dovoljenj za urejanje vtičnikov za to spletno mesto." #~ msgid "There are no plugins installed on this site." #~ msgstr "Na tej strani ni nameščenih vtičnikov." #~ msgid "There are no themes installed on this site." #~ msgstr "Na tej spletni strani ni nameščenih nobenih tem." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Vnesite ime mape!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Vnesite ime datoteke!

        " #~ msgid "Open" #~ msgstr "Odprto" #~ msgid "Preview" #~ msgstr "Predogled" #~ msgid "Edit" #~ msgstr "Uredi" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Ali ste prepričani, da želite prekiniti nalaganje datotek?" #~ msgid "File renamed successfully." #~ msgstr "Datoteka je bila uspešno preimenovana." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Ali ste prepričani, da želite izbrisati mapo?" #~ msgid "Folder deleted successfully." #~ msgstr "Mapa je bila uspešno izbrisana." #~ msgid "File deleted successfully." #~ msgstr "Datoteka je bila uspešno izbrisana." #~ msgid "Folder renamed successfully." #~ msgstr "Mapa je bila uspešno preimenovana." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Ni dovoljeno več kot 30 znakov.

        " #~ msgid "Invalid request!" #~ msgstr "Neveljavna Zahteva!" #~ msgid "No change in file!" #~ msgstr "V datoteki ni sprememb!" #~ msgid "File saved successfully!" #~ msgstr "Datoteka je bila uspešno shranjena!" #~ msgid "File not saved!" #~ msgstr "Datoteka ni shranjena!" #~ msgid "Unable to verify security token!" #~ msgstr "Varnostnega žetona ni mogoče preveriti!" #~ msgid "Folder created successfully!" #~ msgstr "Mapa je bila uspešno ustvarjena!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Wordpress te oblike mape ne sme naložiti!" #~ msgid "Folder already exists!" #~ msgstr "Mapa že obstaja!" #~ msgid "File created successfully!" #~ msgstr "Datoteka je bila uspešno ustvarjena!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Te končnice datoteke ni dovoljeno ustvarjati!" #~ msgid "File already exists!" #~ msgstr "Datoteka že obstaja!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Vnesite veljavno pripono datoteke!" #~ msgid "Folder does not exists!" #~ msgstr "Mapa ne obstaja!" #~ msgid "Folder deleted successfully!" #~ msgstr "Mapa je bila uspešno izbrisana!" #~ msgid "File deleted successfully!" #~ msgstr "Datoteka je bila uspešno izbrisana!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "Te razširitve datoteke ni dovoljeno naložiti s strani wordpress!" #~ msgid " already exists" #~ msgstr " Že obstaja" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Datoteka je bila uspešno naložena: pot naložene datoteke je " #~ msgid "No file selected" #~ msgstr "Izbrana ni nobena datoteka" #~ msgid "Unable to rename file! Try again." #~ msgstr "Datoteke ni mogoče preimenovati! Poskusi ponovno." #~ msgid "Folder renamed successfully!" #~ msgstr "Mapa je bila uspešno preimenovana!" #~ msgid "Please enter correct folder name" #~ msgstr "Vnesite pravilno ime mape" #~ msgid "How can we help?" #~ msgstr "Kako lahko pomagamo?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "Učni viri, strokovna podpora in strokovna pomoč." #~ msgid "Documentation" #~ msgstr "Dokumentacija" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Hitro poiščite odgovore v naši obsežni dokumentaciji." #~ msgid "Learn More" #~ msgstr "Learn More" #~ msgid "Contact Us" #~ msgstr "Kontaktiraj nas" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "Predložite vstopnico za odgovore na vprašanja, ki jih imate." #~ msgid "Request a Feature" #~ msgstr "Zahtevajte funkcijo" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "Povejte nam, kaj želite, in to bomo dodali našemu načrtu." #~ msgid "Tell us what you think!" #~ msgstr "Povej nam kaj misliš!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Ocenite in nam dajte oceno na Wordpressu!" #~ msgid "Leave a Review" #~ msgstr "Pustite oceno" #~ msgid "Update" #~ msgstr "Nadgradnja" #~ msgid "Click here to install/update " #~ msgstr "Kliknite tukaj za namestitev / posodobitev " #~ msgid " language translation for Theme Editor." #~ msgstr " jezikovni prevod za urejevalnik tem." #~ msgid "Installed" #~ msgstr "Nameščeno" #~ msgid "English is the default language of Theme Editor. " #~ msgstr "Angleščina je privzeti jezik urejevalnika tem. " #~ msgid "Request " #~ msgstr "Prošnja " #~ msgid "Click here to request" #~ msgstr "Za zahtevo kliknite tukaj" #~ msgid "language translation for Theme Editor" #~ msgstr "jezikovni prevod za urejevalnik tem" #~ msgid "Theme Editor Language:" #~ msgstr "Jezik urejevalnika tem:" #~ msgid " language" #~ msgstr " jezik" #~ msgid "Available languages" #~ msgstr "Razpoložljivi jeziki" #~ msgid "Click here to download all available languages." #~ msgstr "Kliknite tukaj za prenos vseh razpoložljivih jezikov." #~ msgid "Request a language" #~ msgstr "Zahtevajte jezik" #~ msgid "Tell us which language you want to add." #~ msgstr "Povejte nam, kateri jezik želite dodati." #~ msgid "Contact us" #~ msgstr "Kontaktiraj nas" #~ msgid "Notifications" #~ msgstr "Obvestila" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ " Opomba: To je samo posnetek zaslona. Za to funkcijo kupite " #~ "različico PRO. " #~ msgid "Permissions" #~ msgstr "Dovoljenja" #~ msgid "Edit Plugin" #~ msgstr "Uredi vtičnik" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Ta vtičnik je trenutno aktiviran! Opozorilo: " #~ "Spreminjanje aktivnih vtičnikov ni priporočljivo. Če vaše spremembe " #~ "povzročijo usodno napako, se vtičnik samodejno deaktivira." #~ msgid "Editing " #~ msgstr "Urejanje " #~ msgid " (active)" #~ msgstr " (aktivno)" #~ msgid "Browsing " #~ msgstr "Brskanje " #~ msgid " (inactive)" #~ msgstr " (neaktivno)" #~ msgid "Update File" #~ msgstr "Posodobi datoteko" #~ msgid "Download Plugin" #~ msgstr "Prenesite vtičnik" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "Preden lahko shranite spremembe, morate to datoteko zapisati. Za več " #~ "informacij glejte Codex ." #~ msgid "Select plugin to edit:" #~ msgstr "Izberite vtičnik za urejanje:" #~ msgid "Create Folder and File" #~ msgstr "Ustvari mapo in datoteko" #~ msgid "Create" #~ msgstr "Ustvari" #~ msgid "Remove Folder and File" #~ msgstr "Odstranite mapo in datoteko" #~ msgid "Remove " #~ msgstr "Odstrani" #~ msgid "To" #~ msgstr "Za" #~ msgid "Optional: Sub-Directory" #~ msgstr "Izbirno: podimenik" #~ msgid "Choose File " #~ msgstr "Izberite datoteko" #~ msgid "No file Chosen " #~ msgstr "Nobena datoteka ni izbrana " #~ msgid "Create a New Folder: " #~ msgstr "Ustvari novo mapo:" #~ msgid "New folder will be created in: " #~ msgstr "Nova mapa bo ustvarjena v:" #~ msgid "New Folder Name: " #~ msgstr "Ime nove mape:" #~ msgid "Create New Folder" #~ msgstr "Ustvari novo mapo" #~ msgid "Create a New File: " #~ msgstr "Ustvari novo datoteko:" #~ msgid "New File will be created in: " #~ msgstr "Nova datoteka bo ustvarjena v:" #~ msgid "New File Name: " #~ msgstr "Novo ime datoteke:" #~ msgid "Create New File" #~ msgstr "Ustvari novo datoteko" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "" #~ "Opozorilo: bodite previdni, preden odstranite katero koli mapo ali " #~ "datoteko." #~ msgid "Current Theme Path: " #~ msgstr "Trenutna tematska pot:" #~ msgid "Remove Folder: " #~ msgstr "Odstrani mapo:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Pot mape, ki jo želite odstraniti: " #~ msgid "Remove Folder" #~ msgstr "Odstrani mapo" #~ msgid "Remove File: " #~ msgstr "Odstrani datoteko:" #~ msgid "File Path which you want to remove: " #~ msgstr "Pot do datoteke, ki jo želite odstraniti: " #~ msgid "Remove File" #~ msgstr "Odstrani datoteko" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Vnesite veljaven e-poštni naslov." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "" #~ "Opozorilo: Pred preimenovanjem katere koli mape ali datoteke bodite " #~ "previdni." #~ msgid "File/Folder will be rename in: " #~ msgstr "Datoteka / mapa bo preimenovana v:" #~ msgid "File/Folder Rename: " #~ msgstr "Preimenovanje datoteke / mape:" #~ msgid "Rename File" #~ msgstr "Preimenuj datoteko" #~ msgid "Follow us" #~ msgstr "Sledi nam" #~ msgid "Theme Editor Facebook" #~ msgstr "Urejevalnik tem Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "Urejevalnik tem Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "Urejevalnik teme Twitter" #~ msgid "Theme Editor Linkedin" #~ msgstr "Urejevalnik tem Linkedin" #~ msgid "Theme Editor Youtube" #~ msgstr "Urejevalnik tem Youtube" #~ msgid "Go to ThemeEditor site" #~ msgstr "Pojdite na spletno mesto ThemeEditor" #~ msgid "Theme Editor Links" #~ msgstr "Povezave do urejevalnika tem" #~ msgid "Child Theme" #~ msgstr "Otroška tema" #~ msgid "Child Theme Permissions" #~ msgstr "Dovoljenja za otroško temo" #~ msgid " is not available. Please click " #~ msgstr " ni na voljo. Prosim kliknite " #~ msgid "here" #~ msgstr "tukaj" #~ msgid "to request language." #~ msgstr "zahtevati jezik." #~ msgid "Click" #~ msgstr "Kliknite" #~ msgid "to install " #~ msgstr "namestiti" #~ msgid " language translation for Theme Editor." #~ msgstr " jezikovni prevod za urejevalnik tem." #~ msgid "Success: Settings Saved!" #~ msgstr "Uspeh: nastavitve shranjene!" #~ msgid "No changes have been made to save." #~ msgstr "Spremenjene niso bile nobene spremembe." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Omogoči urejevalnik tem za teme" #~ msgid "Yes" #~ msgstr "Da" #~ msgid "No" #~ msgstr "Ne" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "To bo omogočilo / onemogočilo urejevalnik tem.
        Privzeto: Da" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Želite onemogočiti privzeti urejevalnik tem WordPress?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "S tem boste omogočili / onemogočili privzeti urejevalnik tem.
        Privzeto: Da" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Omogoči urejevalnik vtičnikov za vtičnik" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "To bo omogočilo / onemogočilo urejevalnik vtičnikov.
        Privzeto: Da" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Želite onemogočiti privzeti urejevalnik vtičnikov WordPress?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "S tem boste omogočili / onemogočili privzeti urejevalnik vtičnikov.
        Privzeto: Da" #~ msgid "Code Editor" #~ msgstr "Urejevalnik kod" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Omogoča izbiro teme za urejevalnik tem.
        Privzeto: Cobalt" #~ msgid "Edit Themes" #~ msgstr "Urejanje tem" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ " Ta tema je trenutno aktivirana! Opozorilo: " #~ "Spreminjanje aktivnih tem ni priporočljivo." #~ msgid "Editing" #~ msgstr "Urejanje" #~ msgid "Browsing" #~ msgstr "Brskanje" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Posodobite datoteko in poskusite znova aktivirati" #~ msgid "Download Theme" #~ msgstr "Prenesite temo" #~ msgid "Select theme to edit:" #~ msgstr "Izberite temo za urejanje:" #~ msgid "Theme Files" #~ msgstr "Tematske datoteke" #~ msgid "Choose File" #~ msgstr "Izberite datoteko" #~ msgid "No File Chosen" #~ msgstr "Datoteka ni izbrana" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "" #~ "Opozorilo: Prosimo, bodite previdni, preden odstranite katero koli mapo " #~ "ali datoteko." #~ msgid "Child Theme Permission" #~ msgstr "Dovoljenje za otroško temo" #~ msgid "Translations" #~ msgstr "Prevodi" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "" #~ "ustvarjati, urejati, nalagati, prenašati, brisati tematske datoteke in " #~ "mape" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "Nimate dovoljenja za ustvarjanje nove podrejene teme." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "" #~ "Nimate dovoljenja za spreminjanje konfiguracije obstoječe podrejene teme." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "Nimate dovoljenja za podvajanje podrejene teme." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "Nimate dovoljenja za dostop do menija poizvedbe / izbirnika." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "Nimate dovoljenja za dostop do spletnih pisav in menija CSS." #~ msgid "You do not have the permission to copy files." #~ msgstr "Nimate dovoljenja za kopiranje datotek." #~ msgid "You do not have the permission to delete child files." #~ msgstr "Nimate dovoljenja za brisanje podrejenih datotek." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "Nimate dovoljenja za nalaganje novega posnetka zaslona." #~ msgid "You do not have the permission to upload new images." #~ msgstr "Nimate dovoljenja za nalaganje novih slik." #~ msgid "You do not have the permission to delete images." #~ msgstr "Nimate dovoljenja za brisanje slik." #~ msgid "You do not have the permission to download file." #~ msgstr "Nimate dovoljenja za prenos datoteke." #~ msgid "You do not have the permission to create new directory." #~ msgstr "Nimate dovoljenja za ustvarjanje novega imenika." #~ msgid "You do not have the permission to create new file." #~ msgstr "Nimate dovoljenja za ustvarjanje nove datoteke." #~ msgid "You don't have permission to update file!" #~ msgstr "Nimate dovoljenja za posodobitev datoteke!" #~ msgid "You don't have permission to create folder!" #~ msgstr "Nimate dovoljenja za ustvarjanje mape!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "Nimate dovoljenja za brisanje mape!" #~ msgid "You don't have permission to delete file!" #~ msgstr "Nimate dovoljenja za brisanje datoteke!" #~ msgid "You don't have permission to upload file!" #~ msgstr "Nimate dovoljenja za nalaganje datoteke!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Dovoljenja za podrejeno temo so bila uspešno shranjena." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "" #~ "V dovoljenjih za podrejeno temo, ki jih je treba shraniti, ni sprememb." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Sporočilo o dovoljenju za podrejeno temo je uspešno shranjeno." #~ msgid "Users" #~ msgstr "Uporabniki" #~ msgid "Create New Child Theme" #~ msgstr "Ustvari novo otroško temo" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Konfigurirajte obstoječe podrejene teme" #~ msgid "Duplicate Child Themes" #~ msgstr "Podvojene otroške teme" #~ msgid "Query/ Selector" #~ msgstr "Poizvedba / izbirnik" #~ msgid "Web/font" #~ msgstr "Splet / pisava" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Kopiraj starševsko temo datoteke v podrejeno temo" #~ msgid "Deleted Child Files" #~ msgstr "Izbrisane podrejene datoteke" #~ msgid "Upload New Screenshoot" #~ msgstr "Naložite nov posnetek zaslona" #~ msgid "Upload New Images" #~ msgstr "Naložite nove slike" #~ msgid "Deleted Images " #~ msgstr "Izbrisane slike" #~ msgid "Download Images" #~ msgstr "Prenesite slike" #~ msgid "Create New Directory" #~ msgstr "Ustvari nov imenik" #~ msgid "Create New Files" #~ msgstr "Ustvari nove datoteke" #~ msgid "Export Theme" #~ msgstr "Izvozi temo" #~ msgid "User Roles" #~ msgstr "Uporabniške vloge" #~ msgid "Query/ Seletor" #~ msgstr "Poizvedba / Seletor" #~ msgid "Deleted Images" #~ msgstr "Izbrisane slike" #~ msgid "Child Theme Permission Message" #~ msgstr "Sporočilo o dovoljenju za podrejeno temo" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "Nimate dovoljenja za ustvarjanje nove otroške teme." #~ msgid "Query/Selector" #~ msgstr "Poizvedba / izbirnik" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "Nimate dovoljenja za dostop do menija poizvedbe / izbirnika." #~ msgid " Web/font" #~ msgstr "Splet / pisava" #~ msgid " Export Theme" #~ msgstr "Izvozi temo" #~ msgid "Save Child Theme Message" #~ msgstr "Sporočilo o dovoljenju za podrejeno temo" #~ msgid "Please select atleast one image." #~ msgstr "Izberite vsaj eno sliko." #~ msgid "You don't have the permission to delete images." #~ msgstr "Nimate dovoljenja za brisanje slik." #~ msgid "You don't have the permission to upload new images." #~ msgstr "Nimate dovoljenja za nalaganje novih slik." #~ msgid "You don't have the permission to download." #~ msgstr "Nimate dovoljenja za prenos." #~ msgid "You don't have the permission to create new directory." #~ msgstr "Nimate dovoljenja za ustvarjanje novega imenika." #~ msgid "Please choose file type." #~ msgstr "Izberite vrsto datoteke." #~ msgid "Please enter file name." #~ msgstr "Vnesite ime datoteke." #~ msgid "You don't have the permission to create new file." #~ msgstr "Nimate dovoljenja za ustvarjanje nove datoteke." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "" #~ "Ali ste prepričani, da nadrejene datoteke kopirate v podrejeno temo?" #~ msgid "Please select file(s)." #~ msgstr "Izberite datoteke." #~ msgid "You don't have the permission to copy files." #~ msgstr "Nimate dovoljenja za kopiranje datotek." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Ali ste prepričani, da želite izbrisati izbrane datoteke?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "Nimate dovoljenja za brisanje podrejenih datotek." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "Nimate dovoljenja za nalaganje novega posnetka zaslona." #~ msgid "You don't have the permission to export theme." #~ msgstr "Nimate dovoljenja za izvoz teme." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "Nimate dovoljenja za dostop do menija Query / Selector." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "Nimate dovoljenja za dostop do menija Spletne pisave in CSS." #~ msgid "Current Analysis Theme:" #~ msgstr "Trenutna tema analize:" #~ msgid "Preview Theme" #~ msgstr "Predogled teme" #~ msgid "Parent Themes" #~ msgstr "Teme staršev" #~ msgid "Child Themes" #~ msgstr "Otroške teme" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Napaka: nastavitve niso shranjene!" #~ msgid "Email List" #~ msgstr "E-poštni seznam" #~ msgid "Email Address" #~ msgstr "Email naslov" #~ msgid "Enter Email" #~ msgstr "Vnesite e-pošto" #~ msgid "Add More" #~ msgstr "Dodaj Več" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Ta naslov se uporablja za namene obveščanja, kot je obvestilo o temi / " #~ "vtičniku." #~ msgid "Theme Notification" #~ msgstr "Obvestilo o temi" #~ msgid "Notify on file update" #~ msgstr "Obvesti o posodobitvi datoteke" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Obvestilo o urejanju ali posodobitvi datoteke teme.
        " #~ "Privzeto: Da" #~ msgid "Notify on files download" #~ msgstr "Obvesti o prenosu datotek" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Obvestilo o prenosu datoteke teme.
        Privzeto: Da" #~ msgid "Notify on theme download" #~ msgstr "Obvesti o prenosu teme" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "Obvestilo o prenosu teme.
        Privzeto: Da" #~ msgid "Notify on files upload" #~ msgstr "Obvesti o prenosu datotek" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Obvestilo o nalaganju datotek v temi.
        Privzeto: " #~ "Da" #~ msgid "Notify on create new file/folder" #~ msgstr "Obvesti o ustvarjanju nove datoteke / mape" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Obvestilo o ustvarjanju nove datoteke / mape v temi.
        " #~ "Privzeto: Da" #~ msgid "Notify on delete" #~ msgstr "Obvesti o brisanju" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Obvesti o izbrisu katere koli datoteke in mape v temah.
        " #~ "Privzeto: Da" #~ msgid "Notify on create New Child theme" #~ msgstr "Obvesti o ustvarjanju teme New Child" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Obvesti o temah Ustvari novega otroka.
        Privzeto: " #~ "Da" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Obvestite o konfiguriranju obstoječih podrejenih tem" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Obvesti me o konfiguriranju obstoječih podrejenih tem.
        " #~ "Privzeto: Da" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Obvestila o podvojenih otroških temah" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Obvestilo o konfiguriranju obstoječih podrejenih tem.
        " #~ "Privzeto: Da" #~ msgid "Plugin Notification" #~ msgstr "Obvestilo o vtičnikih" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Obvestilo o urejanju ali posodobitvi datoteke teme.
        " #~ "Privzeto: da" #~ msgid "Notify on Plugin download" #~ msgstr "Obvesti o prenosu vtičnika" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "Obvestilo o prenosu vtičnika.
        Privzeto: Da" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Obvestilo o nalaganju datoteke v temi.
        Privzeto: " #~ "Da" #~ msgid "Permission saved successfully." #~ msgstr "Dovoljenje je uspešno shranjeno." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "" #~ "Ups! Dovoljenja ni mogoče shraniti, ker niste naredili nobenih sprememb." #~ msgid "Allowed User Roles" #~ msgstr "Dovoljene uporabniške vloge" #~ msgid "Update theme files" #~ msgstr "Posodobite teme" #~ msgid "Create new theme files and folders" #~ msgstr "Ustvarite nove datoteke in mape tem" #~ msgid "Upload new theme files and folders" #~ msgstr "Naložite nove datoteke in mape tem" #~ msgid "Download theme files" #~ msgstr "Prenesite datoteke s temami" #~ msgid "Download theme" #~ msgstr "Prenesite temo" #~ msgid "Update plugin files" #~ msgstr "Posodobite datoteke vtičnikov" #~ msgid "Create new plugin files and folders" #~ msgstr "Ustvarite nove datoteke in mape vtičnikov" #~ msgid "Upload new plugin files and folders" #~ msgstr "Naložite nove datoteke in mape vtičnikov" #~ msgid "Delete plugin files and folders" #~ msgstr "Izbrišite datoteke in mape vtičnikov" #~ msgid "Download plugin files" #~ msgstr "Prenesite datoteke vtičnikov" #~ msgid "Download plugin" #~ msgstr "Prenesite vtičnik" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Urejevalnik tem PRO - spodaj dodajte podrobnosti o naročilu. Če ne Kupite zdaj " #~ msgid "ORDER ID (#) *" #~ msgstr "ŠTEVILKA NAROČILA (#) *" #~ msgid "Enter Order ID" #~ msgstr "Vnesite ID naročila" #~ msgid "Please Check Your email for order ID." #~ msgstr "Prosimo, preverite svoj e-poštni naslov za ID naročila." #~ msgid "LICENCE KEY *" #~ msgstr "KLJUČ LICENCE *" #~ msgid "Enter License Key" #~ msgstr "Vnesite licenčni ključ" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Prosimo, preverite svoj e-poštni naslov za licenčni ključ." #~ msgid "Click To Verify" #~ msgstr "Kliknite za preverjanje" #~ msgid "URL/None" #~ msgstr "URL / Noben" #~ msgid "Origin" #~ msgstr "Izvor" #~ msgid "Color 1" #~ msgstr "1. barva" #~ msgid "Color 2" #~ msgstr "2. barva" #~ msgid "Width/None" #~ msgstr "Širina / Brez" #~ msgid "Style" #~ msgstr "Slog" #~ msgid "Color" #~ msgstr "Barva" #~ msgid "Configure Child Theme" #~ msgstr "Konfigurirajte otroško temo" #~ msgid "Duplicate Child theme" #~ msgstr "Podvojene otroške teme" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "Po analizi ta tema deluje v redu. To lahko uporabite kot svojo otroško " #~ "temo." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "Po analizi te podrejene teme se zdi, da deluje pravilno." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Ta tema naloži dodatne slogovne datoteke po datoteki style.css :" #~ msgid "The theme" #~ msgstr "Ime teme" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "ni bilo mogoče analizirati, ker se predogled ni upodobil pravilno" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Ta podrejena tema ni konfigurirana za ta vtičnik" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "Konfigurator naredi bistvene spremembe podrejene teme, vključno s " #~ "spremembami v slogovnem listu in dodatnimi funkcijami php. Prosimo, " #~ "razmislite o uporabi možnosti DUPLICATE podrejene teme (glejte 1. korak " #~ "zgoraj) in ohranite izvirnik kot varnostno kopijo." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "Vse informacije o spletnih pisavah / CSS so bile uspešno shranjene." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Vnesite vrednost za spletne pisave / css." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "Nimate dovoljenja za posodobitev spletnih pisav / css." #~ msgid "All information saved successfully." #~ msgstr "Vse informacije so bile uspešno shranjene." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "Ali ste prepričani, da želite PONOVITI? S tem boste uničili vsa dela, ki " #~ "ste jih opravili v konfiguratorju." #~ msgid "Selectors" #~ msgstr "Selektorji" #~ msgid "Edit Selector" #~ msgstr "Uredi izbirnik" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "Preglednice ni mogoče prikazati." #~ msgid "(Child Only)" #~ msgstr "(Samo za otroke)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Vnesite veljavno otroško temo." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Vnesite veljavno ime otroške teme." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "%s obstaja. Vnesite drugo otroško temo" #~ msgid "The page could not be loaded correctly." #~ msgstr "Strani ni bilo mogoče pravilno naložiti." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "Nasprotujoče si ali zastarele knjižnice jQuery je naložil drug vtičnik:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "Z deaktivacijo ali zamenjavo vtičnikov lahko to težavo odpravite." #~ msgid "No result found for the selection." #~ msgstr "Za izbor ni bilo mogoče najti nobenega rezultata." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%sZakaj to vidim?%s" #~ msgid "Parent / Child" #~ msgstr "Starš / otrok" #~ msgid "Select an action:" #~ msgstr "Izberite dejanje:" #~ msgid "Create a new Child Theme" #~ msgstr "Ustvari novo otroško temo" #~ msgid "Configure an existing Child Theme" #~ msgstr "Konfigurirajte obstoječo otroško temo" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Podvojite obstoječo otroško temo" #~ msgid "Select a Parent Theme:" #~ msgstr "Izberite starševsko temo:" #~ msgid "Analyze Parent Theme" #~ msgstr "Analizirajte starševsko temo" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "Kliknite \"Analiziraj\", da določite odvisnosti slogovnega lista in druge " #~ "morebitne težave." #~ msgid "Analyze" #~ msgstr "Analizirajte" #~ msgid "Select a Child Theme:" #~ msgstr "Izberite otroško temo:" #~ msgid "Analyze Child Theme" #~ msgstr "Analizirajte otroško temo" #~ msgid "Name the new theme directory:" #~ msgstr "Poimenujte novi imenik tem:" #~ msgid "Directory Name" #~ msgstr "Ime imenika" #~ msgid "NOTE:" #~ msgstr "OPOMBA:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "To NI ime Otroška tema. Ime, opis itd. Lahko prilagodite v 7. koraku " #~ "spodaj." #~ msgid "Verify Child Theme directory:" #~ msgstr "Preverite imenik podrejenih tem:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "" #~ "Samo za preverjanje (ne morete spremeniti imenika obstoječe podrejene " #~ "teme)." #~ msgid "Select where to save new styles:" #~ msgstr "Izberite, kam želite shraniti nove sloge:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Primarni slogi (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Nove sloge po meri shranite neposredno v primarni seznam slogov podrejene " #~ "teme in nadomestite obstoječe vrednosti. Primarni slog se naloži v " #~ "vrstnem redu, ki ga določi tema." #~ msgid "Separate Stylesheet" #~ msgstr "Ločen tabelo s slogi" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "Shranite nove sloge po meri v ločen slog in združite vse obstoječe sloge " #~ "podrejene teme s staršem, da oblikujete osnovno črto. Izberite to " #~ "možnost, če želite ohraniti obstoječe podrejene sloge tem, namesto da bi " #~ "jih prepisali. Ta možnost omogoča tudi prilagajanje slogovnih listov, ki " #~ "se naložijo po primarnem slogovnem listu." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Izberite obdelavo slogov za nadrejene teme:" #~ msgid "Use the WordPress style queue." #~ msgstr "Uporabite čakalno vrsto WordPress." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "Konfigurator naj določi ustrezna dejanja in odvisnosti ter samodejno " #~ "posodobi datoteko funkcij." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "V tabeli slogi podrejene teme uporabite @import ." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "To možnost uporabite samo, če nadrejenega sloga ni mogoče naložiti s " #~ "pomočjo čakalne vrste slogov WordPress. Uporaba @import ni " #~ "priporočljiva." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Ne dodajajte nobenega obvladovanja nadrejenega sloga." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "Izberite to možnost, če ta tema že obravnava tabelo s slogi nadrejene " #~ "teme ali če datoteka style.css nadrejene teme ni " #~ "uporabljena za njen videz." #~ msgid "Advanced handling options" #~ msgstr "Napredne možnosti upravljanja" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Prezri preglednice slogov nadrejene teme." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Izberite to možnost, če ta tema že obdeluje tabelo s slogi nadrejene teme " #~ "ali če datoteka style.css nadrejene teme ni uporabljena za njen videz." #~ msgid "Repair the header template in the child theme." #~ msgstr "Popravite predlogo glave v podrejeni temi." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "Naj Configurator (poskusi) razreši vse zgoraj navedene težave s tabelo s " #~ "slogi. To lahko odpravi številne, vendar ne vseh pogostih težav." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Odstranite odvisnosti slogovnega lista" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Privzeto se vrstni red tabel slogov, ki se naložijo pred primarnim " #~ "slogom, ohrani tako, da se obravnavajo kot odvisnosti. V nekaterih " #~ "primerih v predogledu zaznajo slogovne liste, ki se ne uporabljajo po " #~ "celotnem spletnem mestu. Če je potrebno, lahko za določene spodnje tabele " #~ "slogov odstranite odvisnost." #~ msgid "Child Theme Name" #~ msgstr "Ime otroške teme" #~ msgid "Theme Name" #~ msgstr "Ime teme" #~ msgid "Theme Website" #~ msgstr "Tematsko spletno mesto" #~ msgid "Author" #~ msgstr "Avtor" #~ msgid "Author Website" #~ msgstr "Spletno mesto avtorja" #~ msgid "Theme Description" #~ msgstr "Opis teme" #~ msgid "Description" #~ msgstr "Description" #~ msgid "Tags" #~ msgstr "Oznake" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "Kopirajte menije, pripomočke in druge nastavitve po meri iz nadrejene " #~ "teme v podrejeno temo:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Ta možnost nadomešča obstoječe menije, pripomočke in druge nastavitve po " #~ "meri otroške teme z nadrejenimi temami. To možnost bi morali uporabiti " #~ "šele, ko prvič konfigurirate podrejeno temo." #~ msgid "Click to run the Configurator:" #~ msgstr "Kliknite, da zaženete konfigurator:" #~ msgid "Query / Selector" #~ msgstr "Poizvedba / izbirnik" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "Če želite poiskati določene izbirnike znotraj poizvedbenih blokov @media, " #~ "najprej izberite poizvedbo, nato izbirnik. Uporabite poizvedbo \"base\" " #~ "za urejanje vseh drugih izbirnikov." #~ msgid "@media Query" #~ msgstr "@media Query" #~ msgid "( or \"base\" )" #~ msgstr "(ali \"osnova\")" #~ msgid "Selector" #~ msgstr "Izbirnik" #~ msgid "Query/Selector Action" #~ msgstr "Dejanje poizvedbe / izbirnika" #~ msgid "Save Child Values" #~ msgstr "Shrani otroške vrednote" #~ msgid "Delete Child Values" #~ msgstr "Izbriši podrejene vrednosti" #~ msgid "Property" #~ msgstr "Nepremičnina" #~ msgid "Baseline Value" #~ msgstr "Izhodiščna vrednost" #~ msgid "Child Value" #~ msgstr "Podrejena vrednost" #~ msgid "error" #~ msgstr "napaka" #~ msgid "You do not have permission to configure child themes." #~ msgstr "Nimate dovoljenja za konfiguriranje podrejenih tem." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s ne obstaja. Izberite veljavno starševsko temo." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Datoteka s funkcijami je potrebna in je ni mogoče izbrisati." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Izberite veljavno starševsko temo." #~ msgid "Please select a valid Child Theme." #~ msgstr "Izberite veljavno otroško temo." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Vnesite veljavno ime imenika podrejene teme." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%s obstaja. Vnesite drugo ime predloge za podrejeno temo." #~ msgid "Your theme directories are not writable." #~ msgstr "V vaše imenike tem ni mogoče pisati." #~ msgid "Could not upgrade child theme" #~ msgstr "Podrejene teme ni bilo mogoče nadgraditi" #~ msgid "Your stylesheet is not writable." #~ msgstr "V tabelo slogi ni mogoče pisati." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "Zaključna oznaka PHP je bila zaznana v datoteki funkcij podrejene teme, " #~ "zato možnost »Nadzor nadrejenega sloga« ni bila konfigurirana. Zapiranja " #~ "PHP na koncu datoteke ne priporočamo, saj lahko povzroči prezgodnje glave " #~ "HTTP. Uredite functions.php , da odstranite končno oznako " #~ "?>, in znova kliknite »Ustvari / obnovi datoteke " #~ "podrejenih tem«." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Datoteke ni bilo mogoče kopirati: %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Datoteke %s ni bilo mogoče izbrisati." #, php-format #~ msgid "could not copy %s" #~ msgstr "ni bilo mogoče kopirati %s" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "neveljaven direktorij: %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "Pri ponastavitvi dovoljenj je prišlo do napak." #~ msgid "Could not upload file." #~ msgstr "Datoteke ni bilo mogoče naložiti." #~ msgid "Invalid theme root directory." #~ msgstr "Neveljaven korenski imenik teme." #~ msgid "No writable temp directory." #~ msgstr "Brez začasnega začasnega imenika." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Razpakiranje ni uspelo -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Paket ni uspel -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Preseženo je največje število slogov." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Napaka pri premikanju datoteke: %s" #~ msgid "Could not set write permissions." #~ msgstr "Dovoljenj za pisanje ni bilo mogoče nastaviti." #~ msgid "Error:" #~ msgstr "Napaka:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "" #~ "Trenutna analiza podrejene teme %s je ponastavljena." #~ msgid "Update Key saved successfully." #~ msgstr "Ključ za posodobitev je bil uspešno shranjen." #~ msgid "Child Theme files modified successfully." #~ msgstr "Datoteke podrejenih tem so bile uspešno spremenjene." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "Otroška tema %s je bila uspešno ustvarjena." #~ msgid "Web Fonts & CSS" #~ msgstr "Spletne pisave in CSS" #~ msgid "Parent Styles" #~ msgstr "Nadrejeni slogi" #~ msgid "Child Styles" #~ msgstr "Otroški slogi" #~ msgid "View Child Images" #~ msgstr "Oglejte si otrokove slike" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Uporabite @import url ([path]); za povezavo dodatnih " #~ "slogov. Ta vtičnik uporablja ključno besedo @import , da " #~ "jih prepozna in pretvori v oznake <link>. " #~ "Primer: " #~ msgid "Save" #~ msgstr "Shrani" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "Nalaganje slike z istim imenom bo nadomestilo z obstoječo sliko." #~ msgid "Upload New Child Theme Image" #~ msgstr "Naložite novo sliko otroške teme" #~ msgid "Delete Selected Images" #~ msgstr "Izbriši izbrane slike" #~ msgid "Create a New Directory" #~ msgstr "Ustvarite nov imenik" #~ msgid "New Directory will be created in" #~ msgstr "Nov imenik bo ustvarjen v" #~ msgid "New Directory Name" #~ msgstr "Novo ime imenika" #~ msgid "Create a New File" #~ msgstr "Ustvari novo datoteko" #~ msgid "New File will be created in" #~ msgstr "Nova datoteka bo ustvarjena v" #~ msgid "New File Name" #~ msgstr "Novo ime datoteke" #~ msgid "File Type Extension" #~ msgstr "Razširitev vrste datoteke" #~ msgid "Choose File Type" #~ msgstr "Izberite vrsto datoteke" #~ msgid "PHP File" #~ msgstr "Datoteka PHP" #~ msgid "CSS File" #~ msgstr "Datoteka CSS" #~ msgid "JS File" #~ msgstr "Datoteka JS" #~ msgid "Text File" #~ msgstr "Besedilna datoteka" #~ msgid "PHP File Type" #~ msgstr "Vrsta datoteke PHP" #~ msgid "Simple PHP File" #~ msgstr "Preprosta datoteka PHP" #~ msgid "Wordpress Template File" #~ msgstr "Datoteka predloge Wordpress" #~ msgid "Template Name" #~ msgstr "Ime predloge" #~ msgid "Parent Templates" #~ msgstr "Nadrejene predloge" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "Kopirajte predloge PHP iz nadrejene teme, tako da jih izberete tukaj. " #~ "Konfigurator definira predlogo kot tematsko datoteko PHP, ki nima funkcij " #~ "ali razredov PHP. Druge datoteke PHP ne more varno preglasiti podrejena " #~ "tema." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "POZOR: Če je vaša podrejena tema aktivna, se namesto nadrejene takoj po " #~ "kopiranju uporabi nadrejena različica datoteke." #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "datoteka se ustvari ločeno in je tukaj ni mogoče kopirati." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Kopiraj izbrano v otroško temo" #~ msgid " Child Theme Files " #~ msgstr "Otroške tematske datoteke" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Kliknite za urejanje datotek z urejevalnikom tem" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Izbrišite predloge podrejenih tem, tako da jih izberete tukaj." #~ msgid "Delete Selected" #~ msgstr "Izbriši izbrano" #~ msgid "Child Theme Screenshot" #~ msgstr "Posnetek zaslona otroške teme" #~ msgid "Upload New Screenshot" #~ msgstr "Naložite nov posnetek zaslona" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "Posnetek zaslona teme mora biti v razmerju 4: 3 (npr. 880px x 660px) JPG, " #~ "PNG ali GIF. Preimenovan bo" #~ msgid "Screenshot" #~ msgstr "Posnetek zaslona" #~ msgid "Upload New Child Theme Image " #~ msgstr "Naložite novo sliko otroške teme" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "Tematske slike se nahajajo v imeniku slik v vaši podrejeni temi in so " #~ "namenjene samo uporabi stilskih listov. Za vsebinske slike uporabite " #~ "Media Library." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Predogled trenutne otroške teme (trenutna analiza)" #~ msgid "Preview Current Child Theme" #~ msgstr "Predogled trenutne otroške teme" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Izvozi podrejeno temo v arhiv Zip" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Kliknite »Izvozi zip«, da shranite varnostno kopijo trenutno naložene " #~ "podrejene teme. Na zavihek Starš / otrok lahko izvozite katero koli temo." #~ msgid "Export Child Theme" #~ msgstr "Izvozi otroško temo" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Datoteke podrejene teme so bile uspešno kopirane!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "" #~ "Datoteka, ki jo poskušate kopirati iz Nadrejenih predlog, ne obstaja" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "Datoteka, ki jo poskušate kopirati iz starševskih predlog, je že prisotna " #~ "v datotekah podrejene teme." #~ msgid "Child " #~ msgstr "Otrok" #~ msgid " and Parent " #~ msgstr "in Starš" #~ msgid " directories doesn't exist!" #~ msgstr "imeniki ne obstajajo!" #~ msgid " directory doesn't exist!" #~ msgstr "imenik ne obstaja!" #~ msgid "Parent " #~ msgstr "Starš" #~ msgid "Unknown error! " #~ msgstr "Neznana napaka!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "Nimate dovoljenja za kopiranje datotek!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Vse izbrane datoteke so bile uspešno izbrisane!" #~ msgid " does not exists!" #~ msgstr "ne obstaja!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Te končnice datoteke ni dovoljeno naložiti!" #~ msgid "Image uploaded successfully!" #~ msgstr "Slika je bila uspešno naložena!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Pri nalaganju slike je nekaj težav!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "" #~ "Te končnice datoteke WordPress ne sme naložiti kot posnetek zaslona!" #~ msgid "File uploaded successfully!" #~ msgstr "Datoteka je bila uspešno naložena!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Datotek podrejenih tem ni mogoče spreminjati." #~ msgid "File(s) deleted successfully!" #~ msgstr "Datoteke so bile uspešno izbrisane!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "Nimate dovoljenja za brisanje datotek!" #~ msgid "Entered directory name already exists" #~ msgstr "Vneseno ime imenika že obstaja" #~ msgid "You don't have permission to create directory!" #~ msgstr "Nimate dovoljenja za ustvarjanje imenika!" #~ msgid "Wordpress template file created" #~ msgstr "Datoteka predloge Wordpress je ustvarjena" #~ msgid "Wordpress template file not created" #~ msgstr "Datoteka predloge Wordpress ni ustvarjena" #~ msgid "PHP created file successfully" #~ msgstr "PHP je uspešno ustvaril datoteko" #~ msgid "PHP file not created" #~ msgstr "Datoteka PHP ni ustvarjena" #~ msgid " file not created" #~ msgstr "datoteka ni ustvarjena" #~ msgid "You don't have permission to create file!" #~ msgstr "Nimate dovoljenja za ustvarjanje datoteke!" #~ msgid "Language folder has been downlaoded." #~ msgstr "Mapa za jezik je bila preobremenjena." #~ msgid "Add single or multiple languages." #~ msgstr "Dodajte en ali več jezikov." #~ msgid "Add single language file" #~ msgstr "Dodajte enojezično datoteko" #~ msgid "Please click on language button." #~ msgstr "Kliknite na jezikovni gumb." #~ msgid "Add all languages zip folder" #~ msgstr "Dodaj zip mapo vseh jezikov" #~ msgid "Zip Download" #~ msgstr "Zip prenos" wp-file-manager/languages/wp-file-manager-sq.mo000064400000044214151202472330015422 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&m& ((3)K*?S*%**$**+Sw,`,,-<=-4z-3---./.$K.)p.....#. / /)///G/c///*///#/= 02J0:}0 0 00 001! 1/1)B1l11A111223$3>A33!n4'4444456 7*7o7L88!999::`):B:!:: ; $;E;U;m;;];|;/o<0< < <G<+.= Z="{=*= = ==2=1>#K>ko>h>D?/L?|??,?F? .@:@S@m@%}@!@@*@@@ AA,ACA*WA AAA%A/A"B9B$PBuBB<BB#B C'C)DC nC(xC"CC CDCD(8D/aD DD!DD E E)(ERE qE-EEEE2E&'FNF(G4EGhzGSGT7H}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: PO-Revision-Date: 2022-03-01 18:15+0530 Last-Translator: Language-Team: Language: sq MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: . * për të gjitha operacionet dhe për të lejuar disa operacione, mund të përmendni emrin e operacionit si like, allow_operations="upload, download". Shënim: ndahet me presje (,). Parazgjedhja: *-> Do të ndalojë përdorues të veçantë duke vendosur id-të e tyre të ndara me presje (,). Nëse përdoruesi është Ban, atëherë ata nuk do të kenë mundësi të hyjnë në menaxherin e skedarëve wp në pjesën e përparme.-> Tema e Menaxherit të Skedarëve. Default: Light-> Skedari Modifikohet ose Krijoni formatin e datës. Default: d M, Y h:i A-> Gjuha e menaxherit të skedarëve. Parazgjedhur: English(en)-> Pamja UI e Skedarit. Default: gridVeprimiVeprimet pas rezervimit të zgjedhurAdmin mund të kufizojë veprimet e çdo përdoruesi. Gjithashtu fshehni skedarët dhe dosjet dhe mund të vendosni shtigje të ndryshme - të ndryshme të dosjeve për përdorues të ndryshëm.Admin mund të kufizojë veprimet e çdo përdoruesi. Gjithashtu fshehni skedarët dhe dosjet dhe mund të vendosni shtigje të ndryshme - të ndryshme të dosjeve për role të përdoruesve të ndryshëm.Pas aktivizimit të plehrave, skedarët tuaj do të shkojnë në dosjen e plehrave.Pasi ta keni mundësuar këtë, të gjitha skedarët do të shkojnë në bibliotekën e mediave.Gjithçka u kryeJeni i sigurt që dëshironi të hiqni rezervat e zgjedhura?Je i sigurt që dëshiron ta fshish këtë rezervë?Jeni i sigurt që doni ta riktheni këtë rezervë?Data e rezervimitRezervimi TaniOpsionet e rezervimit:Të dhënat rezervë (kliko për të shkarkuar)Skedarët rezervë do të jenë nënRezervimi po ekzekutohet, ju lutem prisniRezervimi u fshi me sukses.Rezervimi/RivendosjaRezervimet u hoqën me sukses!ndalimShfletuesi dhe OS (HTTP_USER_AGENT)Bleni PROBleni ProAnuloNdryshoni Temën Këtu:Klikoni për të blerë PROPamja e redaktuesit të koditKonfirmoKopjoni skedarë ose dosjeAktualisht nuk u gjet asnjë rezervë (t).Fshi skedarëtE errëtRezervimi i bazës së të dhënaveRezervimi i bazës së të dhënave është bërë në datë Rezervimi i bazës së të dhënave është kryer.Rezervimi i bazës së të dhënave u rikuperua me sukses.ParazgjedhurParazgjedhur:FshijHiq zgjedhjenHidhe poshtë këtë njoftim.DhuroniShkarkoni Regjistrat e SkedarëveShkarkoni skedarëKopjoni ose klononi një dosje ose skedarRedakto Regjistrat e SkedarëveRedakto një skedarTë aktivizohet ngarkimi i skedarëve në Bibliotekën e mediave?Të aktivizohet Plehra?Gabim: Rezervimi nuk mund të rivendoset sepse rezervimi i bazës së të dhënave është i madh në madhësi. Ju lutemi, përpiquni të rritni madhësinë maksimale të lejuar nga cilësimet e Preferencave.Rezervimet ekzistueseNxjerr arkivin ose skedarin zipSkedari - Kodi i ShkurtërSkedari - Karakteristikat e sistemitSkeda Root Rrugor, ju mund të ndryshoni sipas zgjedhjes suaj.Skedari ka një redaktues kodi me shumë tema. Mund të zgjidhni çdo temë për redaktuesin e kodit. Do të shfaqet kur të ndryshoni ndonjë skedar. Gjithashtu mund të lejoni modalitetin në ekran të plotë të redaktuesit të kodit.Lista e Operacioneve të Dosjeve:Skedari nuk ekziston për ta shkarkuar.Rezervimi i skedarëveGriNdihmoniKëtu "test" është emri i dosjes që ndodhet në direktoriumin rrënjë, ose mund të jepni rrugën për nën-dosjet si "wp-content/plugins". Nëse lihet bosh ose bosh, do të ketë akses në të gjitha dosjet në direktorinë rrënjë. Parazgjedhja: Drejtoria rrënjësoreKëtu administratori mund të japë qasje në rolet e përdoruesit për të përdorur menaxherin e skedarëve. Admin mund të vendosë Dosjen e Hyrjes së Paracaktuar dhe gjithashtu të kontrollojë madhësinë e ngarkimit të administratorit të skedarëve.Informacioni i skedaritKod i pavlefshëm i sigurisë.Ai do t'i lejojë të gjitha rolet të kenë qasje në menaxherin e skedarëve në pjesën e përparme ose mund ta përdorni thjesht për role të veçanta përdoruesi, si p.sh.Do të kyçet e përmendur në presje. ju mund të kyçni më shumë si ".php,.css,.js" etj. Parazgjedhja: NullDo të tregojë menaxherin e skedarëve në pjesën e përparme. Por vetëm Administratori mund ta qaset atë dhe do ta kontrollojë nga cilësimet e menaxherit të skedarëve.Do të tregojë menaxherin e skedarëve në pjesën e përparme. Mund të kontrolloni të gjitha cilësimet nga cilësimet e menaxherit të skedarëve. Do të funksionojë njësoj si Menaxheri i skedarëve WP.Mesazhi i Regjistrimit të FunditDritaShkrimetBëni direktori ose dosjeBëni skedarinMadhësia maksimale e lejuar në kohën e rivendosjes së rezervës së bazës së të dhënave.Madhësia maksimale e ngarkimit të skedarit (upload_max_filesize)Kufiri i kujtesës (memory_limit)ID-ja e rezervës mungon.Lloji i parametrit mungon.Mungojnë parametrat e kërkuar.Jo faleminderitAsnjë mesazh regjistriNuk u gjet asnjë regjistër!Shënim:Shënim: Këto janë pamje ekrani demo. Ju lutemi blini File Manager pro tek funksionet Logs.Shënim: Kjo është vetëm një pamje ekrani demonstruese. Për të marrë cilësimet, ju lutemi blini versionin tonë pro.Asgjë nuk është zgjedhur për kopje rezervëAsgjë nuk është zgjedhur për kopje rezervë.Ne rregullNe rregullTë tjerët (Çdo direktori tjetër që gjendet brenda përmbajtjes wp)Të tjerët rezervimin e bërë në datën Rezervimi i të tjerëve u krye.Rezervimi i të tjerëve dështoi.Rezervimet e tjera u rikuperuan me sukses.Versioni PHPParametrat:Ngjit një skedar ose dosjeJu lutemi shkruani adresën e postës elektronike.Ju lutemi shkruani emrin.Ju lutemi shkruani emrin e modelit.Ju lutemi ndryshojeni këtë me kujdes, rruga e gabuar mund të çojë shtojcën e menaxherit të skedarit.Ju lutemi rrisni vlerën e fushës nëse po merrni mesazh gabimi në kohën e rivendosjes së rezervës.ShtojcaRezervimi i shtojcave është bërë në datë Rezervimi i shtojcave u krye.Rezervimi i shtojcave dështoi.Rezervimi i shtojcave u rikuperua me sukses.Posto madhësinë maksimale të ngarkimit të skedarit (post_max_size)PreferencatPolitika e privatësisëRruga e Rrënjës PublikeRISHIKON DOSJATHiqni ose fshini skedarët dhe dosjetRiemërtoni një skedar ose dosjeRiktheRivendosja po funksionon, ju lutemi prisniSUKSESRuaj ndryshimetPo kursen ...Kërkoni gjëraÇështja e sigurisë.Selektoj të gjithaZgjidhni kopjet rezervë për t'i fshirë!CilësimetCilësimet - Redaktuesi i koditCilësimet - Të përgjithshmeCilësimet - Kufizimet e PërdoruesitCilësimet - Kufizimet e rolit të përdoruesitCilësimet u ruajtën.Kodi i shkurtër - PROThjesht prerë një skedar ose dosjeKarakteristikat e sistemitKushtet e shërbimitRezervimi me sa duket pati sukses dhe tani është i plotë.TematRezervimi i temave u bë në datë Rezervimi i temave u krye.Rezervimi i temave dështoi.Rezervimi i temave u rikuperua me sukses.Koha taniKoha e ndërprerjes (max_execution_time)Për të bërë një arkiv ose zipSotP USRDORIMI:Nuk mund të krijohet një kopje rezervë e bazës së të dhënave.Rezervimi nuk mund të hiqet!Nuk mund të rikuperohet rezervimi i DB.Në pamundësi për të rivendosur të tjerët.Nuk mund të rikthehet shtojcat.Nuk mund të rikthehen temat.Nuk mund të rikthehen ngarkimet.Ngarko Dosjet e SkedarëveNgarko skedarëtNgarkimetRezervimet e ngarkimeve bëhen në datë Rezervimi i ngarkimeve u krye.Rezervimi i ngarkimeve dështoi.Rezervimi i ngarkimeve u restaurua me sukses.VerifikoShiko RegjistrinMenaxheri i skedarëve WPMenaxheri i skedarëve WP - Rezervimi / RikuperimiKontributi i Menaxheri i skedarëve WPNa pëlqen të krijojmë miq të rinj! Abonohuni më poshtë dhe ne premtojmë të ju mbajmë të azhurnuar me shtojcat, azhurnimet tona më të fundit, marrëveshje të mrekullueshme dhe disa oferta speciale.Mirësevini në File ManagerJu nuk keni bërë asnjë ndryshim për t'u ruajtur.për akses në lejen e leximit të skedarëve, vini re: e vërtetë/e gabuar, e paracaktuar: e vërtetëpër qasje në lejet e shkrimit të skedarëve, vini re: true/false, default: falsedo të fshihet i përmendur këtu. Shënim: ndahet me presje (,). Parazgjedhja: Nullwp-file-manager/languages/wp-file-manager-sq.po000064400000243547151202472330015437 0ustar00msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2022-02-28 11:33+0530\n" "PO-Revision-Date: 2022-03-01 18:15+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: sq\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Rezervimi i temave u rikuperua me sukses." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Nuk mund të rikthehen temat." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Rezervimi i ngarkimeve u restaurua me sukses." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Nuk mund të rikthehen ngarkimet." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Rezervimet e tjera u rikuperuan me sukses." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Në pamundësi për të rivendosur të tjerët." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Rezervimi i shtojcave u rikuperua me sukses." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Nuk mund të rikthehet shtojcat." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Rezervimi i bazës së të dhënave u rikuperua me sukses." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Gjithçka u krye" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Nuk mund të rikuperohet rezervimi i DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Rezervimet u hoqën me sukses!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Rezervimi nuk mund të hiqet!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Rezervimi i bazës së të dhënave është bërë në datë " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Rezervimi i shtojcave është bërë në datë " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Rezervimi i temave u bë në datë " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Rezervimet e ngarkimeve bëhen në datë " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Të tjerët rezervimin e bërë në datën " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Shkrimet" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Nuk u gjet asnjë regjistër!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Asgjë nuk është zgjedhur për kopje rezervë" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Çështja e sigurisë." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Rezervimi i bazës së të dhënave është kryer." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Nuk mund të krijohet një kopje rezervë e bazës së të dhënave." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Rezervimi i shtojcave u krye." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Rezervimi i shtojcave dështoi." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Rezervimi i temave u krye." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Rezervimi i temave dështoi." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Rezervimi i ngarkimeve u krye." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Rezervimi i ngarkimeve dështoi." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Rezervimi i të tjerëve u krye." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Rezervimi i të tjerëve dështoi." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Menaxheri i skedarëve WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Cilësimet" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Preferencat" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Karakteristikat e sistemit" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kodi i shkurtër - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Rezervimi/Rivendosja" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Bleni Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Dhuroni" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Skedari nuk ekziston për ta shkarkuar." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Kod i pavlefshëm i sigurisë." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "ID-ja e rezervës mungon." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Lloji i parametrit mungon." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Mungojnë parametrat e kërkuar." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Gabim: Rezervimi nuk mund të rivendoset sepse rezervimi i bazës së të " "dhënave është i madh në madhësi. Ju lutemi, përpiquni të rritni madhësinë " "maksimale të lejuar nga cilësimet e Preferencave." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Zgjidhni kopjet rezervë për t'i fshirë!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Jeni i sigurt që dëshironi të hiqni rezervat e zgjedhura?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Rezervimi po ekzekutohet, ju lutem prisni" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Rivendosja po funksionon, ju lutemi prisni" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Asgjë nuk është zgjedhur për kopje rezervë." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Menaxheri i skedarëve WP - Rezervimi / Rikuperimi" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Opsionet e rezervimit:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Rezervimi i bazës së të dhënave" #: inc/backup.php:64 msgid "Files Backup" msgstr "Rezervimi i skedarëve" #: inc/backup.php:68 msgid "Plugins" msgstr "Shtojca" #: inc/backup.php:71 msgid "Themes" msgstr "Temat" #: inc/backup.php:74 msgid "Uploads" msgstr "Ngarkimet" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Të tjerët (Çdo direktori tjetër që gjendet brenda përmbajtjes wp)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Rezervimi Tani" #: inc/backup.php:89 msgid "Time now" msgstr "Koha tani" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SUKSES" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Rezervimi u fshi me sukses." #: inc/backup.php:102 msgid "Ok" msgstr "Ne rregull" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "Fshi skedarët" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Je i sigurt që dëshiron ta fshish këtë rezervë?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Anulo" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Konfirmo" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "RISHIKON DOSJAT" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Jeni i sigurt që doni ta riktheni këtë rezervë?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Mesazhi i Regjistrimit të Fundit" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Rezervimi me sa duket pati sukses dhe tani është i plotë." #: inc/backup.php:171 msgid "No log message" msgstr "Asnjë mesazh regjistri" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Rezervimet ekzistuese" #: inc/backup.php:184 msgid "Backup Date" msgstr "Data e rezervimit" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Të dhënat rezervë (kliko për të shkarkuar)" #: inc/backup.php:190 msgid "Action" msgstr "Veprimi" #: inc/backup.php:210 msgid "Today" msgstr "Sot" #: inc/backup.php:239 msgid "Restore" msgstr "Rikthe" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Fshij" #: inc/backup.php:241 msgid "View Log" msgstr "Shiko Regjistrin" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Aktualisht nuk u gjet asnjë rezervë (t)." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Veprimet pas rezervimit të zgjedhur" #: inc/backup.php:251 msgid "Select All" msgstr "Selektoj të gjitha" #: inc/backup.php:252 msgid "Deselect" msgstr "Hiq zgjedhjen" #: inc/backup.php:254 msgid "Note:" msgstr "Shënim:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Skedarët rezervë do të jenë nën" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Kontributi i Menaxheri i skedarëve WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Shënim: Këto janë pamje ekrani demo. Ju lutemi blini File Manager pro tek " "funksionet Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klikoni për të blerë PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Bleni PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Redakto Regjistrat e Skedarëve" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Shkarkoni Regjistrat e Skedarëve" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Ngarko Dosjet e Skedarëve" #: inc/root.php:43 msgid "Settings saved." msgstr "Cilësimet u ruajtën." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Hidhe poshtë këtë njoftim." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Ju nuk keni bërë asnjë ndryshim për t'u ruajtur." #: inc/root.php:55 msgid "Public Root Path" msgstr "Rruga e Rrënjës Publike" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Skeda Root Rrugor, ju mund të ndryshoni sipas zgjedhjes suaj." #: inc/root.php:59 msgid "Default:" msgstr "Parazgjedhur:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Ju lutemi ndryshojeni këtë me kujdes, rruga e gabuar mund të çojë shtojcën e " "menaxherit të skedarit." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Të aktivizohet Plehra?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Pas aktivizimit të plehrave, skedarët tuaj do të shkojnë në dosjen e " "plehrave." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Të aktivizohet ngarkimi i skedarëve në Bibliotekën e mediave?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Pasi ta keni mundësuar këtë, të gjitha skedarët do të shkojnë në bibliotekën " "e mediave." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Madhësia maksimale e lejuar në kohën e rivendosjes së rezervës së bazës së " "të dhënave." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Ju lutemi rrisni vlerën e fushës nëse po merrni mesazh gabimi në kohën e " "rivendosjes së rezervës." #: inc/root.php:90 msgid "Save Changes" msgstr "Ruaj ndryshimet" #: inc/settings.php:10 msgid "Settings - General" msgstr "Cilësimet - Të përgjithshme" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Shënim: Kjo është vetëm një pamje ekrani demonstruese. Për të marrë " "cilësimet, ju lutemi blini versionin tonë pro." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Këtu administratori mund të japë qasje në rolet e përdoruesit për të " "përdorur menaxherin e skedarëve. Admin mund të vendosë Dosjen e Hyrjes së " "Paracaktuar dhe gjithashtu të kontrollojë madhësinë e ngarkimit të " "administratorit të skedarëve." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Cilësimet - Redaktuesi i kodit" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Skedari ka një redaktues kodi me shumë tema. Mund të zgjidhni çdo temë për " "redaktuesin e kodit. Do të shfaqet kur të ndryshoni ndonjë skedar. " "Gjithashtu mund të lejoni modalitetin në ekran të plotë të redaktuesit të " "kodit." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Pamja e redaktuesit të kodit" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Cilësimet - Kufizimet e Përdoruesit" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Admin mund të kufizojë veprimet e çdo përdoruesi. Gjithashtu fshehni " "skedarët dhe dosjet dhe mund të vendosni shtigje të ndryshme - të ndryshme " "të dosjeve për përdorues të ndryshëm." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Cilësimet - Kufizimet e rolit të përdoruesit" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Admin mund të kufizojë veprimet e çdo përdoruesi. Gjithashtu fshehni " "skedarët dhe dosjet dhe mund të vendosni shtigje të ndryshme - të ndryshme " "të dosjeve për role të përdoruesve të ndryshëm." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Skedari - Kodi i Shkurtër" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "P USRDORIMI:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Do të tregojë menaxherin e skedarëve në pjesën e përparme. Mund të " "kontrolloni të gjitha cilësimet nga cilësimet e menaxherit të skedarëve. Do " "të funksionojë njësoj si Menaxheri i skedarëve WP." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Do të tregojë menaxherin e skedarëve në pjesën e përparme. Por vetëm " "Administratori mund ta qaset atë dhe do ta kontrollojë nga cilësimet e " "menaxherit të skedarëve." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametrat:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Ai do t'i lejojë të gjitha rolet të kenë qasje në menaxherin e skedarëve në " "pjesën e përparme ose mund ta përdorni thjesht për role të veçanta " "përdoruesi, si p.sh." #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Këtu \"test\" është emri i dosjes që ndodhet në direktoriumin rrënjë, ose " "mund të jepni rrugën për nën-dosjet si \"wp-content/plugins\". Nëse lihet " "bosh ose bosh, do të ketë akses në të gjitha dosjet në direktorinë rrënjë. " "Parazgjedhja: Drejtoria rrënjësore" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "për qasje në lejet e shkrimit të skedarëve, vini re: true/false, default: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "për akses në lejen e leximit të skedarëve, vini re: e vërtetë/e gabuar, e " "paracaktuar: e vërtetë" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "do të fshihet i përmendur këtu. Shënim: ndahet me presje (,). Parazgjedhja: " "Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Do të kyçet e përmendur në presje. ju mund të kyçni më shumë si \".php,.css,." "js\" etj. Parazgjedhja: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* për të gjitha operacionet dhe për të lejuar disa operacione, mund të " "përmendni emrin e operacionit si like, allow_operations=\"upload, download" "\". Shënim: ndahet me presje (,). Parazgjedhja: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lista e Operacioneve të Dosjeve:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Bëni direktori ose dosje" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Bëni skedarin" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Riemërtoni një skedar ose dosje" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Kopjoni ose klononi një dosje ose skedar" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Ngjit një skedar ose dosje" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "ndalim" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Për të bërë një arkiv ose zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Nxjerr arkivin ose skedarin zip" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopjoni skedarë ose dosje" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Thjesht prerë një skedar ose dosje" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Redakto një skedar" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Hiqni ose fshini skedarët dhe dosjet" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Shkarkoni skedarë" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Ngarko skedarët" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Kërkoni gjëra" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Informacioni i skedarit" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Ndihmoni" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Do të ndalojë përdorues të veçantë duke vendosur id-të e tyre të ndara me " "presje (,). Nëse përdoruesi është Ban, atëherë ata nuk do të kenë mundësi të " "hyjnë në menaxherin e skedarëve wp në pjesën e përparme." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Pamja UI e Skedarit. Default: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Skedari Modifikohet ose Krijoni formatin e datës. Default: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Gjuha e menaxherit të skedarëve. Parazgjedhur: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Tema e Menaxherit të Skedarëve. Default: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Skedari - Karakteristikat e sistemit" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Versioni PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Madhësia maksimale e ngarkimit të skedarit (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Posto madhësinë maksimale të ngarkimit të skedarit (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Kufiri i kujtesës (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Koha e ndërprerjes (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Shfletuesi dhe OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Ndryshoni Temën Këtu:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Parazgjedhur" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "E errët" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Drita" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Gri" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Mirësevini në File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Na pëlqen të krijojmë miq të rinj! Abonohuni më poshtë dhe ne premtojmë të\n" " ju mbajmë të azhurnuar me shtojcat, azhurnimet tona më të fundit,\n" " marrëveshje të mrekullueshme dhe disa oferta speciale." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Ju lutemi shkruani emrin." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Ju lutemi shkruani emrin e modelit." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Ju lutemi shkruani adresën e postës elektronike." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Verifiko" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Jo faleminderit" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Kushtet e shërbimit" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Politika e privatësisë" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Po kursen ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "Ne rregull" #~ msgid "Backup not found!" #~ msgstr "Rezervimi nuk u gjet!" #~ msgid "Backup removed successfully!" #~ msgstr "Rezervimi u hoq me sukses!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Asgjë nuk është zgjedhur për rezervë" #~ msgid "Security Issue." #~ msgstr "Çështja e Sigurisë. " #~ msgid "Database backup done." #~ msgstr "" #~ "Rezervimi i bazës së të dhënave u " #~ "krye. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Nuk mund të krijohet një kopje rezervë e " #~ "bazës së të dhënave. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Rezervimi i shtojcave u krye. " #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Rezervimi i shtojcave dështoi. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Rezervimi i temave u krye. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Rezervimi i temave dështoi. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Rezervimi i ngarkimeve u krye. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Rezervimi i ngarkimeve dështoi. " #~ msgid "Others backup done." #~ msgstr "" #~ "Rezervimi i të tjerëve u bë. " #~ msgid "Others backup failed." #~ msgstr "" #~ "Rezervimi i të tjerëve dështoi. " #~ msgid "All Done" #~ msgstr "Të gjitha të bëra " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Imazh" #~ msgid "of" #~ msgstr "e" #~ msgid "Close" #~ msgstr "Mbylle" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Kjo karakteristikë kërkon korniza inline. Ju keni iframe të çaktivizuara " #~ "ose shfletuesi juaj nuk i mbështet ato." #~ msgid "Theme Editor" #~ msgstr "Redaktuesi i temës" #~ msgid "Plugin Editor" #~ msgstr "Redaktuesi i shtojcave" #~ msgid "Access Control" #~ msgstr "Kontrolli i Hyrjes" #~ msgid "Notify Me" #~ msgstr "Me njofto" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "gjuha është shkarkuar me sukses." #~ msgid "Language folder failed to downlaod." #~ msgstr "Dosja e gjuhës dështoi të zvogëlohej." #~ msgid "Security token expired!" #~ msgstr "Shenja e sigurisë ka skaduar!" #~ msgid " language has been downloaded successfully." #~ msgstr "gjuha është shkarkuar me sukses." #~ msgid "Currently language " #~ msgstr "Gjuha aktualisht " #~ msgid " not available. Please click on the request language link." #~ msgstr "" #~ " i padisponueshem. Ju lutemi klikoni në lidhjen e gjuhës së kërkesës." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "" #~ "Ju nuk keni leje të mjaftueshme për të redaktuar shtojcat për këtë sit." #~ msgid "There are no plugins installed on this site." #~ msgstr "Nuk ka asnjë shtojcë të instaluar në këtë sit." #~ msgid "There are no themes installed on this site." #~ msgstr "Nuk ka tema të instaluara në këtë sit." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Ju lutemi shkruani emrin e dosjes!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Ju lutemi shkruani emrin e skedarit!

        " #~ msgid "Open" #~ msgstr "E hapur" #~ msgid "Preview" #~ msgstr "Paraqitje" #~ msgid "Edit" #~ msgstr "Redakto" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Jeni i sigurt që doni të abortoni ngarkimin e skedarit?" #~ msgid "File renamed successfully." #~ msgstr "Skedari u riemërua me sukses." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Jeni i sigurt që dëshironi të fshini dosjen?" #~ msgid "Folder deleted successfully." #~ msgstr "Dosja u fshi me sukses." #~ msgid "File deleted successfully." #~ msgstr "Skedari u fshi me sukses." #~ msgid "Folder renamed successfully." #~ msgstr "Dosja u riemërua me sukses." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Nuk lejohen më shumë se 30 karaktere.

        " #~ msgid "Invalid request!" #~ msgstr "Kërkesë e pavlefshme!" #~ msgid "No change in file!" #~ msgstr "Asnjë ndryshim në dosje!" #~ msgid "File saved successfully!" #~ msgstr "Skedari u ruajt me sukses!" #~ msgid "File not saved!" #~ msgstr "Skedari nuk u ruajt!" #~ msgid "Unable to verify security token!" #~ msgstr "Nuk mund të verifikohet shenja e sigurisë!" #~ msgid "Folder created successfully!" #~ msgstr "Dosja u krijua me sukses!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Ky format i dosjes nuk lejohet të ngarkohet nga wordpress!" #~ msgid "Folder already exists!" #~ msgstr "Dosja tashmë ekziston!" #~ msgid "File created successfully!" #~ msgstr "Skedari u krijua me sukses!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Kjo shtesë skedari nuk lejohet të krijohet!" #~ msgid "File already exists!" #~ msgstr "Skedari ekziston tashmë!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Ju lutemi shkruani një shtesë të vlefshme skedari!" #~ msgid "Folder does not exists!" #~ msgstr "Dosja nuk ekziston!" #~ msgid "Folder deleted successfully!" #~ msgstr "Dosja u fshi me sukses!" #~ msgid "File deleted successfully!" #~ msgstr "Skedari u fshi me sukses!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "Kjo shtesë skedari nuk lejohet të ngarkohet nga wordpress!" #~ msgid " already exists" #~ msgstr " Tashmë ekziston" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Skedari u ngarkua me sukses: Rruga e skedarit të ngarkuar është " #~ msgid "No file selected" #~ msgstr "Asnjë skedar i zgjedhur" #~ msgid "Unable to rename file! Try again." #~ msgstr "Nuk mund të riemërtohet skedari! Provo përsëri." #~ msgid "Folder renamed successfully!" #~ msgstr "Dosja u riemërua me sukses!" #~ msgid "Please enter correct folder name" #~ msgstr "Ju lutemi shkruani emrin e saktë të dosjes" #~ msgid "How can we help?" #~ msgstr "Si mund të ndihmojmë?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "" #~ "Burimet e të mësuarit, mbështetja profesionale dhe ndihma e ekspertëve." #~ msgid "Documentation" #~ msgstr "Dokumentacioni" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Gjeni përgjigje shpejt nga dokumentacioni ynë gjithëpërfshirës." #~ msgid "Learn More" #~ msgstr "Mëso më shumë" #~ msgid "Contact Us" #~ msgstr "Na kontaktoni" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "" #~ "Dorëzoni një biletë ndihme për përgjigje në pyetjet që mund të keni." #~ msgid "Request a Feature" #~ msgstr "Kërkoni një veçori" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "Na tregoni se çfarë dëshironi dhe do ta shtoni në hartën tonë." #~ msgid "Tell us what you think!" #~ msgstr "Na tregoni se çfarë mendoni!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Vlerësoni dhe na jepni një përmbledhje në Wordpress!" #~ msgid "Leave a Review" #~ msgstr "Lini një përmbledhje" #~ msgid "Update" #~ msgstr "Përditëso" #~ msgid "Click here to install/update " #~ msgstr "Klikoni këtu për të instaluar / azhurnuar " #~ msgid " language translation for Theme Editor." #~ msgstr " jezikovni prevod za urejevalnik tem." #~ msgid "Installed" #~ msgstr "I instaluar" #~ msgid "English is the default language of Theme Editor. " #~ msgstr "Anglishtja është gjuha e paracaktuar e Editor Editor. " #~ msgid "Request " #~ msgstr "Kërkesë " #~ msgid "Click here to request" #~ msgstr "Klikoni këtu për të kërkuar" #~ msgid "language translation for Theme Editor" #~ msgstr "përkthimi i gjuhës për Editor Editor" #~ msgid "Theme Editor Language:" #~ msgstr "Gjuha e redaktuesit të temës:" #~ msgid " language" #~ msgstr " gjuhe" #~ msgid "Available languages" #~ msgstr "Razpoložljivi jeziki" #~ msgid "Click here to download all available languages." #~ msgstr "Kliknite tukaj za prenos vseh razpoložljivih jezikov." #~ msgid "Request a language" #~ msgstr "Zahtevajte jezik" #~ msgid "Tell us which language you want to add." #~ msgstr "Na trego cilën gjuhë dëshiron të shtosh." #~ msgid "Contact us" #~ msgstr "Na kontaktoni" #~ msgid "Notifications" #~ msgstr "Njoftimet" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ " Shënim: Kjo është vetëm një pamje në ekran. Bleni Versionin PRO " #~ "për këtë veçori. " #~ msgid "Permissions" #~ msgstr "Permissions" #~ msgid "Edit Plugin" #~ msgstr "Redakto shtojcën" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Kjo shtojcë është aktualisht e aktivizuar! " #~ "Paralajmërim: Bërja e ndryshimeve në shtojcat aktive nuk rekomandohet. " #~ "Nëse ndryshimet tuaja shkaktojnë një gabim fatal, shtojca do të " #~ "çaktivizohet automatikisht." #~ msgid "Editing " #~ msgstr "Redaktimi " #~ msgid " (active)" #~ msgstr " (aktiv)" #~ msgid "Browsing " #~ msgstr "Shfletimi " #~ msgid " (inactive)" #~ msgstr " (joaktiv)" #~ msgid "Update File" #~ msgstr "Dosja e azhurnimit" #~ msgid "Download Plugin" #~ msgstr "Shkarkoni shtojcën" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "Ju duhet ta bëni këtë skedar të shkruara para se të ruani ndryshimet " #~ "tuaja. Shikoni Codex për më shumë " #~ "informacion." #~ msgid "Select plugin to edit:" #~ msgstr "Zgjidhni shtojcën për të ndryshuar:" #~ msgid "Create Folder and File" #~ msgstr "Krijoni Dosje dhe Skedar" #~ msgid "Create" #~ msgstr "Krijoni" #~ msgid "Remove Folder and File" #~ msgstr "Hiq Dosjen dhe Skedarin" #~ msgid "Remove " #~ msgstr "Hiq" #~ msgid "To" #~ msgstr "Për të" #~ msgid "Optional: Sub-Directory" #~ msgstr "Opsionale: Nën-Drejtoria" #~ msgid "Choose File " #~ msgstr "Zgjidhni Skedarin" #~ msgid "No file Chosen " #~ msgstr "Asnjë skedar i zgjedhur " #~ msgid "Create a New Folder: " #~ msgstr "Krijoni një dosje të re:" #~ msgid "New folder will be created in: " #~ msgstr "Dosje e re do të krijohet në:" #~ msgid "New Folder Name: " #~ msgstr "Emri i Dosjes së Re:" #~ msgid "Create New Folder" #~ msgstr "Krijo një dosje të re" #~ msgid "Create a New File: " #~ msgstr "Krijoni një Skedar të Ri:" #~ msgid "New File will be created in: " #~ msgstr "Skedari i ri do të krijohet në:" #~ msgid "New File Name: " #~ msgstr "Emri i ri i skedarit:" #~ msgid "Create New File" #~ msgstr "Krijoni Skedar të Ri" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "" #~ "Paralajmërim: ju lutemi kini kujdes para se të hiqni ndonjë dosje ose " #~ "skedar." #~ msgid "Current Theme Path: " #~ msgstr "Rruga aktuale e temës:" #~ msgid "Remove Folder: " #~ msgstr "Hiq dosjen:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Rruga e Dosjes që dëshironi të hiqni: " #~ msgid "Remove Folder" #~ msgstr "Hiq dosjen" #~ msgid "Remove File: " #~ msgstr "Hiq skedarin:" #~ msgid "File Path which you want to remove: " #~ msgstr "Skeda e Rrugës të cilën dëshironi të hiqni: " #~ msgid "Remove File" #~ msgstr "Hiq skedarin" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Ju lutemi shkruani adresën e vlefshme të postës elektronike." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "" #~ "Paralajmërim: Ju lutemi kini kujdes para se të riemërtoni ndonjë dosje " #~ "ose skedar." #~ msgid "File/Folder will be rename in: " #~ msgstr "Skedari / Dosja do të riemërtohet në:" #~ msgid "File/Folder Rename: " #~ msgstr "Riemërtoni skedarin / dosjen:" #~ msgid "Rename File" #~ msgstr "Riemërtoni Skedarin" #~ msgid "Follow us" #~ msgstr "Na ndiq" #~ msgid "Theme Editor Facebook" #~ msgstr "Redaktues Temash Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "Redaktues Temash Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "Redaktuesi i temës Twitter" #~ msgid "Theme Editor Linkedin" #~ msgstr "Redaktuesi i temës Linkedin" #~ msgid "Theme Editor Youtube" #~ msgstr "Redaktuesi i temës Youtube" #~ msgid "Logo" #~ msgstr "Logoja" #~ msgid "Go to ThemeEditor site" #~ msgstr "Shko tek faqja ThemeEditor" #~ msgid "Theme Editor Links" #~ msgstr "Lidhjet e Redaktorit të Temave" #~ msgid "Child Theme" #~ msgstr "Tema e Fëmijëve" #~ msgid "Child Theme Permissions" #~ msgstr "Lejet e Temës së Fëmijëve" #~ msgid " is not available. Please click " #~ msgstr " nuk është në dispozicion. Ju lutemi klikoni " #~ msgid "here" #~ msgstr "ketu" #~ msgid "to request language." #~ msgstr "për të kërkuar gjuhë." #~ msgid "Click" #~ msgstr "Klikoni" #~ msgid "to install " #~ msgstr "për të instaluar" #~ msgid " language translation for Theme Editor." #~ msgstr " përkthimi i gjuhës për Editor Editor." #~ msgid "Success: Settings Saved!" #~ msgstr "Suksesi: Cilësimet u ruajtën!" #~ msgid "No changes have been made to save." #~ msgstr "Asnjë ndryshim nuk është bërë për të ruajtur." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Aktivizo Redaktuesin e Temave për Temat" #~ msgid "Yes" #~ msgstr "po" #~ msgid "No" #~ msgstr "Jo" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "Kjo do të Aktivizojë / Çaktivizojë redaktuesin e temës.
        Parazgjedhja: Po" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Të çaktivizohet Redaktori i Parazgjedhur i Themeit WordPress?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "Kjo do të Aktivizojë / Çaktivizojë redaktuesin e temës Default.
        Parazgjedhur: Po" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Aktivizo Redaktuesin e Shtojcave për Shtojcën" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "Kjo do të Aktivizojë / Çaktivizojë redaktuesin e shtojcave.
        Parazgjedhja: Po" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Të çaktivizohet Redaktori i Parazgjedhur i Shtojcave WordPress?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "Kjo do të Aktivizojë / Çaktivizojë Redaktuesin e Shtojcës Default.
        Parazgjedhur: Po" #~ msgid "Code Editor" #~ msgstr "Redaktuesi i kodit" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Ju lejon të zgjidhni temën për redaktuesin e temës.
        Default: Kobalt" #~ msgid "Edit Themes" #~ msgstr "Redaktoni Temat" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ " Kjo temë është aktivizuar aktualisht! Paralajmërim: " #~ "Bërja e ndryshimeve në temat aktive nuk rekomandohet." #~ msgid "Editing" #~ msgstr "Redaktimi" #~ msgid "Browsing" #~ msgstr "Shfletimi" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Azhurnoni skedarin dhe përpiquni të riaktivizoni" #~ msgid "Download Theme" #~ msgstr "Shkarko Temen" #~ msgid "Select theme to edit:" #~ msgstr "Zgjidhni temën për të redaktuar:" #~ msgid "Theme Files" #~ msgstr "Skedarët e temave" #~ msgid "Choose File" #~ msgstr "Zgjidhni Skedarin" #~ msgid "No File Chosen" #~ msgstr "Asnjë Skedar i Zgjedhur" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "" #~ "Paralajmërim: Ju lutemi kini kujdes para se të hiqni ndonjë dosje ose " #~ "skedar." #~ msgid "Child Theme Permission" #~ msgstr "Leja e Temës së Fëmijëve" #~ msgid "Translations" #~ msgstr "Përkthime" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "" #~ "krijoni, modifikoni, ngarkoni, shkarkoni, fshini Skedarët e Temave dhe " #~ "dosjet" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "Ju nuk keni leje për të krijuar temë të re për fëmijë." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "" #~ "Ju nuk keni lejen për të ndryshuar konfigurimin e temës ekzistuese të " #~ "fëmijës." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "Ju nuk keni leje për të kopjuar temën e fëmijës." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "Ju nuk keni leje për të hyrë në menunë e pyetësit / përzgjedhësit." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "Ju nuk keni leje për të hyrë në gërmat e internetit dhe menunë CSS." #~ msgid "You do not have the permission to copy files." #~ msgstr "Ju nuk keni leje për të kopjuar skedarë." #~ msgid "You do not have the permission to delete child files." #~ msgstr "Ju nuk keni leje për të fshirë skedarët e fëmijëve." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "Ju nuk keni leje për të ngarkuar pamje të re të ekranit." #~ msgid "You do not have the permission to upload new images." #~ msgstr "Ju nuk keni leje për të ngarkuar imazhe të reja." #~ msgid "You do not have the permission to delete images." #~ msgstr "Ju nuk keni leje për të fshirë imazhe." #~ msgid "You do not have the permission to download file." #~ msgstr "Ju nuk keni leje për të shkarkuar skedarin." #~ msgid "You do not have the permission to create new directory." #~ msgstr "Ju nuk keni lejen për të krijuar një direktori të re." #~ msgid "You do not have the permission to create new file." #~ msgstr "Ju nuk keni leje për të krijuar skedar të ri." #~ msgid "You don't have permission to update file!" #~ msgstr "Ju nuk keni leje për të azhurnuar skedarin!" #~ msgid "You don't have permission to create folder!" #~ msgstr "Ju nuk keni leje për të krijuar dosje!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "Ju nuk keni leje për të fshirë dosjen!" #~ msgid "You don't have permission to delete file!" #~ msgstr "Ju nuk keni leje për të fshirë skedarin!" #~ msgid "You don't have permission to upload file!" #~ msgstr "Ju nuk keni leje për të ngarkuar skedarin!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Lejet e temës për fëmijë u ruajtën me sukses." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "" #~ "Nuk ka ndryshime të bëra në lejet e temës së fëmijëve për t'u ruajtur." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Mesazhi i lejes së temës së fëmijës u ruajt me sukses." #~ msgid "Users" #~ msgstr "Përdoruesit" #~ msgid "Create New Child Theme" #~ msgstr "Krijoni një temë të re për fëmijë" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Konfiguroni temat ekzistuese të fëmijëve" #~ msgid "Duplicate Child Themes" #~ msgstr "Dublikoni Temat e Fëmijëve" #~ msgid "Query/ Selector" #~ msgstr "Kërkuesi / Përzgjedhësi" #~ msgid "Web/font" #~ msgstr "Ueb / shkronjë" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Kopjoni Skedarin Prind Theme tek Fëmija Theme" #~ msgid "Deleted Child Files" #~ msgstr "Skedarët e Fshirë të Fëmijëve" #~ msgid "Upload New Screenshoot" #~ msgstr "Ngarko Skenarin e Ri" #~ msgid "Upload New Images" #~ msgstr "Ngarko imazhe të reja" #~ msgid "Deleted Images " #~ msgstr "Imazhe të fshira" #~ msgid "Download Images" #~ msgstr "Shkarkoni imazhe" #~ msgid "Create New Directory" #~ msgstr "Krijoni Drejtori të Re" #~ msgid "Create New Files" #~ msgstr "Krijoni skedarë të rinj" #~ msgid "Export Theme" #~ msgstr "Eksporto Temën" #~ msgid "User Roles" #~ msgstr "Rolet e përdoruesit" #~ msgid "Query/ Seletor" #~ msgstr "Kërkues / Seletor" #~ msgid "Deleted Images" #~ msgstr "Imazhe të fshira" #~ msgid "Child Theme Permission Message" #~ msgstr "Mesazh për Lejen e Temës së Fëmijëve" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "Ju nuk keni lejen për të krijuar një temë të re për fëmijë." #~ msgid "Query/Selector" #~ msgstr "Kërkuesi / Përzgjedhësi" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "Ju nuk keni leje për të hyrë në menunë e pyetësit / zgjedhësit." #~ msgid " Web/font" #~ msgstr "Ueb / shkronjë" #~ msgid " Export Theme" #~ msgstr "Eksporto Temën" #~ msgid "Save Child Theme Message" #~ msgstr "Mesazh për Lejen e Temës së Fëmijëve" #~ msgid "Please select atleast one image." #~ msgstr "Ju lutemi zgjidhni së paku një imazh." #~ msgid "You don't have the permission to delete images." #~ msgstr "Ju nuk keni leje për të fshirë imazhe." #~ msgid "You don't have the permission to upload new images." #~ msgstr "Ju nuk keni leje për të ngarkuar imazhe të reja." #~ msgid "You don't have the permission to download." #~ msgstr "Ju nuk keni leje për të shkarkuar." #~ msgid "You don't have the permission to create new directory." #~ msgstr "Ju nuk keni leje për të krijuar një direktori të re." #~ msgid "Please choose file type." #~ msgstr "Ju lutemi zgjidhni llojin e skedarit." #~ msgid "Please enter file name." #~ msgstr "Ju lutemi shkruani emrin e skedarit." #~ msgid "You don't have the permission to create new file." #~ msgstr "Ju nuk keni leje për të krijuar skedar të ri." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "" #~ "A jeni i sigurt për të kopjuar skedarët prindër në temën e fëmijëve?" #~ msgid "Please select file(s)." #~ msgstr "Ju lutemi zgjidhni skedarin (et)." #~ msgid "You don't have the permission to copy files." #~ msgstr "Ju nuk keni leje për të kopjuar skedarë." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Jeni i sigurt që dëshironi të fshini skedarët (et) e zgjedhur?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "Ju nuk keni lejen për të fshirë skedarët fëmijë." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "Ju nuk keni leje për të ngarkuar pamje të re të ekranit." #~ msgid "You don't have the permission to export theme." #~ msgstr "Ju nuk keni lejen për të eksportuar temën." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "Ju nuk keni leje për të hyrë në menunë Kërkesë / Përzgjedhësi." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "Ju nuk keni leje për të hyrë në menunë e Fonts në Web dhe CSS." #~ msgid "Current Analysis Theme:" #~ msgstr "Tema e analizës aktuale:" #~ msgid "Preview Theme" #~ msgstr "Tema e pamjes paraprake" #~ msgid "Parent Themes" #~ msgstr "Temat e Prindërve" #~ msgid "Child Themes" #~ msgstr "Temat e fëmijëve" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Gabim: Cilësimet nuk janë ruajtur!" #~ msgid "Email List" #~ msgstr "Lista e emailit" #~ msgid "Email Address" #~ msgstr "Adresa e emailit" #~ msgid "Enter Email" #~ msgstr "Vendosni Emailin" #~ msgid "Add More" #~ msgstr "Shto Më shumë" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Kjo adresë përdoret për qëllime njoftimi, si njoftimi i temës / shtojcës." #~ msgid "Theme Notification" #~ msgstr "Njoftimi i temës" #~ msgid "Notify on file update" #~ msgstr "Njofto për azhurnimin e skedarit" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Njoftimi për modifikimin ose azhurnimin e skedarit të temës.
        " #~ " Parazgjedhur: Po" #~ msgid "Notify on files download" #~ msgstr "Njofto për shkarkimin e skedarëve" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Njoftimi për shkarkimin e redaktimit të skedarit temë.
        " #~ "Parazgjedhur: Po" #~ msgid "Notify on theme download" #~ msgstr "Njofto për shkarkimin e temës" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "" #~ "Njoftimi për shkarkimin e temës.
        Parazgjedhur: Po" #~ msgid "Notify on files upload" #~ msgstr "Njofto për ngarkimin e skedarëve" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Njoftimi për skedarët e ngarkuar në temë.
        Parazgjedhur: Po" #~ msgid "Notify on create new file/folder" #~ msgstr "Njofto për krijimin e skedarit / dosjes së re" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Njoftimi për krijimin e një skedari / dosjeje të re në temë.
        " #~ " Parazgjedhur: Po" #~ msgid "Notify on delete" #~ msgstr "Njofto mbi fshirjen" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Njofto për fshirjen e ndonjë skedari dhe dosjeje në tema.
        " #~ "Parazgjedhja: Po" #~ msgid "Notify on create New Child theme" #~ msgstr "Njofto për krijimin e temës Fëmija i Ri" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Njoftoni në Krijoni tema të reja për fëmijë.
        Parazgjedhja: " #~ " Po" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Njofto për konfigurimin e temave të Fëmijëve Ekzistues" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Njofto për konfigurimin e temave të Fëmijëve Ekzistues.
        " #~ "Parazgjedhja: Po" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Njoftoj në Duplicate temat e fëmijëve" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Njofto për konfigurimin e temave ekzistuese të fëmijëve.
        " #~ "Parazgjedhja: Po" #~ msgid "Plugin Notification" #~ msgstr "Njoftimi i shtojcës" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Njoftimi për modifikimin ose azhurnimin e skedarit të temës.
        " #~ " Parazgjedhur: po" #~ msgid "Notify on Plugin download" #~ msgstr "Njofto për shkarkimin e Shtojcës" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "" #~ "Njoftimi për shkarkimin e Shtojcës.
        Parazgjedhur: Po" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Njoftimi për ngarkimin e skedarit në temë.
        Parazgjedhur: Po" #~ msgid "Permission saved successfully." #~ msgstr "Leja u ruajt me sukses." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "Oops! Leja nuk mund të ruhet sepse nuk keni bërë asnjë ndryshim." #~ msgid "Allowed User Roles" #~ msgstr "Rolet e lejuara të përdoruesit" #~ msgid "Update theme files" #~ msgstr "Azhurnoni skedarët e temave" #~ msgid "Create new theme files and folders" #~ msgstr "Krijoni skedarë dhe dosje të reja me tema" #~ msgid "Upload new theme files and folders" #~ msgstr "Ngarko skedarë dhe dosje të reja të temave" #~ msgid "Download theme files" #~ msgstr "Shkarkoni skedarët e temave" #~ msgid "Download theme" #~ msgstr "Shkarko temë" #~ msgid "Update plugin files" #~ msgstr "Azhurnoni skedarët e shtojcave" #~ msgid "Create new plugin files and folders" #~ msgstr "Krijoni skedarë dhe dosje të reja shtojcash" #~ msgid "Upload new plugin files and folders" #~ msgstr "Ngarko skedarë dhe dosje të reja shtojcash" #~ msgid "Delete plugin files and folders" #~ msgstr "Fshini skedarët dhe dosjet e shtojcave" #~ msgid "Download plugin files" #~ msgstr "Shkarkoni skedarë shtojcash" #~ msgid "Download plugin" #~ msgstr "Shkarkoni shtojcën" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Editor Editor PRO - Ju lutemi shtoni detajet e porosisë tuaj më poshtë. " #~ "Nese jo Bleni Tani " #~ msgid "ORDER ID (#) *" #~ msgstr "ID e RENDIT (#) *" #~ msgid "Enter Order ID" #~ msgstr "Futni ID-në e Rendit" #~ msgid "Please Check Your email for order ID." #~ msgstr "Ju lutemi kontrolloni emailin tuaj për ID të porosisë." #~ msgid "LICENCE KEY *" #~ msgstr "ÇELEYSI I LICENCS *" #~ msgid "Enter License Key" #~ msgstr "Fut çelësin e licencës" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Ju lutemi kontrolloni postën elektronike për çelësin e licencës." #~ msgid "Click To Verify" #~ msgstr "Klikoni për të verifikuar" #~ msgid "URL/None" #~ msgstr "URL / Asnjë" #~ msgid "Origin" #~ msgstr "Origjina" #~ msgid "Color 1" #~ msgstr "Ngjyra 1" #~ msgid "Color 2" #~ msgstr "Ngjyra 2" #~ msgid "Width/None" #~ msgstr "Gjerësia / Asnjë" #~ msgid "Style" #~ msgstr "Stili" #~ msgid "Color" #~ msgstr "Ngjyrë" #~ msgid "Configure Child Theme" #~ msgstr "Konfiguro temën e fëmijës" #~ msgid "Duplicate Child theme" #~ msgstr "Dublikoni Temat e Fëmijëve" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "Pas analizimit, kjo temë po funksionon mirë. Ju mund ta përdorni këtë si " #~ "temën tuaj të fëmijës." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "" #~ "Pas analizimit, kjo temë për fëmijë duket se po funksionon si duhet." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Kjo temë ngarkon fletë stilesh shtesë pas skedarit style.css :" #~ msgid "The theme" #~ msgstr "Emri i temës" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "nuk mund të analizohej sepse pamja paraprake nuk u dha si duhet" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Kjo temë për fëmijë nuk është konfiguruar për këtë shtojcë" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "Konfiguruesi bën modifikime të rëndësishme në temën e fëmijës, duke " #~ "përfshirë ndryshimet e fletëve të stileve dhe funksione shtesë të php. Ju " #~ "lutemi merrni parasysh përdorimin e opsionit DUPLICATE temë për fëmijë " #~ "(shih hapin 1, më lart) dhe mbajtjen e origjinalit si një kopje rezervë." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "Të gjitha informacionet në internet / css u ruajtën me sukses." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Ju lutemi shkruani vlerën për webfonts / css." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "Ju nuk keni leje për të azhurnuar webfonts / css." #~ msgid "All information saved successfully." #~ msgstr "Të gjitha informacionet u ruajtën me sukses." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "Jeni i sigurt që dëshironi të RISHIKONI? Kjo do të shkatërrojë çdo punë " #~ "që keni bërë në Konfiguruesin." #~ msgid "Selectors" #~ msgstr "Përzgjedhësit" #~ msgid "Edit Selector" #~ msgstr "Ndrysho zgjedhësin" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "Stilet e stileve nuk mund të shfaqen." #~ msgid "(Child Only)" #~ msgstr "(Vetëm për fëmijë)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Ju lutemi shkruani një Temë të vlefshme për Fëmijën." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Ju lutemi shkruani një emër të vlefshëm të Temës së Fëmijëve." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "" #~ "%s ekziston Ju lutemi shkruani një temë tjetër për fëmijë" #~ msgid "The page could not be loaded correctly." #~ msgstr "Faqja nuk mund të ngarkohej si duhet." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "Bibliotekat jQuery konfliktuale ose të vjetruara u ngarkuan nga një " #~ "shtesë tjetër:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "" #~ "Çaktivizimi ose zëvendësimi i shtojcave mund ta zgjidhë këtë çështje." #~ msgid "No result found for the selection." #~ msgstr "Nuk u gjet asnjë rezultat për zgjedhjen." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%sPse po e shoh këtë?%s" #~ msgid "Parent / Child" #~ msgstr "Prindi / Fëmija" #~ msgid "Select an action:" #~ msgstr "Zgjidhni një veprim:" #~ msgid "Create a new Child Theme" #~ msgstr "Krijoni një Temë të re për Fëmijën" #~ msgid "Configure an existing Child Theme" #~ msgstr "Konfiguroni një Temë ekzistuese të Fëmijëve" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Dublikoni një Temë ekzistuese të Fëmijëve" #~ msgid "Select a Parent Theme:" #~ msgstr "Zgjidhni një temë prindërore:" #~ msgid "Analyze Parent Theme" #~ msgstr "Analizoni Temën e Prindit" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "Klikoni \"Analizo\" për të përcaktuar varësitë e fletëve të stileve dhe " #~ "çështje të tjera të mundshme." #~ msgid "Analyze" #~ msgstr "Analizoni" #~ msgid "Select a Child Theme:" #~ msgstr "Zgjidhni një temë për fëmijë:" #~ msgid "Analyze Child Theme" #~ msgstr "Analizoni temën e fëmijës" #~ msgid "Name the new theme directory:" #~ msgstr "Emërtoni direktorinë e temës së re:" #~ msgid "Directory Name" #~ msgstr "Emri i Drejtorisë" #~ msgid "NOTE:" #~ msgstr "SHËNIM:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "Ky NUK është emri i Temës së Fëmijës. Ju mund ta personalizoni emrin, " #~ "përshkrimin, etj. Në hapin 7, më poshtë." #~ msgid "Verify Child Theme directory:" #~ msgstr "Verifikoni drejtorinë e temës së fëmijëve:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "" #~ "Vetëm për verifikim (nuk mund të modifikoni drejtorinë e një teme " #~ "ekzistuese për fëmijë)." #~ msgid "Select where to save new styles:" #~ msgstr "Zgjidhni ku të ruani stilet e reja:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Fleta kryesore e stilit (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Ruani stilet e reja të personalizuara drejtpërdrejt në fletën kryesore të " #~ "stileve të Fëmijëve, duke zëvendësuar vlerat ekzistuese. Fleta kryesore e " #~ "stileve do të ngarkohet sipas renditjes së caktuar nga tema." #~ msgid "Separate Stylesheet" #~ msgstr "Fletë stilesh të ndara" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "Ruani stilet e reja të personalizuara në një fletë stilesh të veçanta dhe " #~ "kombinoni të gjitha stilet ekzistuese të temave për fëmijë me prindin për " #~ "të formuar bazën fillestare. Zgjidhni këtë opsion nëse doni të ruani " #~ "stilet ekzistuese të temës së fëmijëve në vend që t'i mbishkruani ato. Ky " #~ "opsion ju lejon gjithashtu të personalizoni fletët e stileve që ngarkohen " #~ "pas fletës kryesore të stileve." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Zgjidhni trajtimin e fletëve të stileve të temës prindërore:" #~ msgid "Use the WordPress style queue." #~ msgstr "Përdorni radhën e stilit WordPress." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "Lëreni Konfiguruesin të përcaktojë veprimet dhe varësitë e duhura dhe " #~ "azhurnoni automatikisht skedarin e funksioneve." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "" #~ "Përdorni @import në fletën e stileve të temës për fëmijë." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "Përdorni këtë mundësi vetëm nëse stili i prindit nuk mund të ngarkohet " #~ "duke përdorur radhën e stilit WordPress. Përdorimi i @import nuk rekomandohet." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Mos shtoni asnjë trajtim të fletëve të stileve prindërore." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "Zgjidhni këtë opsion nëse kjo temë trajton tashmë fletën e stileve të " #~ "temës prindërore ose nëse skedari style.css i temës mëmë " #~ "nuk përdoret për paraqitjen e saj." #~ msgid "Advanced handling options" #~ msgstr "Opsione të përparuara të trajtimit" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Injoroni fletët e stileve të temës prindërore." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Zgjidhni këtë opsion nëse kjo temë tashmë trajton fletën e stileve të " #~ "temës prindërore ose nëse skedari style.css i temës prindërore nuk " #~ "përdoret për paraqitjen e saj." #~ msgid "Repair the header template in the child theme." #~ msgstr "Riparoni modelin e titullit në temën fëmijë." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "Lëreni Konfiguruesin (të përpiqet të) zgjidhë çështjet e fletëve të " #~ "stileve të renditura më sipër. Kjo mund të rregullojë shumë, por jo të " #~ "gjitha, problemet e zakonshme." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Hiqni varësitë e fletëve të stileve" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Si parazgjedhje, rendi i fletëve të stileve që ngarkohen para fletës " #~ "kryesore të stileve ruhet duke i trajtuar ato si varësi. Në disa raste, " #~ "fletët e stileve zbulohen në pamje paraprake që nuk përdoren në të gjithë " #~ "sitin. Nëse është e nevojshme, varësia mund të hiqet për fletët e stileve " #~ "specifike më poshtë." #~ msgid "Child Theme Name" #~ msgstr "Emri i temës së fëmijës" #~ msgid "Theme Name" #~ msgstr "Emri i temës" #~ msgid "Theme Website" #~ msgstr "Uebfaqja e temës" #~ msgid "Author" #~ msgstr "Autor" #~ msgid "Author Website" #~ msgstr "Uebfaqja e autorit" #~ msgid "Theme Description" #~ msgstr "Përshkrimi i temës" #~ msgid "Description" #~ msgstr "Përshkrim" #~ msgid "Tags" #~ msgstr "Etiketat" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "Kopjoni Menutë, Veglat dhe Cilësimet e tjera të Përshtatësit nga Tema e " #~ "Prindit tek Tema e Fëmijëve:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Ky opsion zëvendëson Menutë ekzistuese të Temës së Fëmijëve, Veglat dhe " #~ "Cilësimet e tjera të Përshtatësit me ato nga Tema e Prindit. Këtë opsion " #~ "duhet ta përdorni vetëm herën e parë që konfiguroni një Temë për Fëmijët." #~ msgid "Click to run the Configurator:" #~ msgstr "Klikoni për të ekzekutuar Konfiguruesin:" #~ msgid "Query / Selector" #~ msgstr "Kërkuesi / Përzgjedhësi" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "Për të gjetur përzgjedhës specifik brenda blloqeve të pyetjes @media, së " #~ "pari zgjidhni pyetjen, pastaj zgjedhësin. Përdorni pyetjen \"bazë\" për " #~ "të redaktuar të gjithë përzgjedhësit e tjerë." #~ msgid "@media Query" #~ msgstr "@ Pyetja mediatike" #~ msgid "( or \"base\" )" #~ msgstr "(ose \"baza\")" #~ msgid "Selector" #~ msgstr "Përzgjedhësi" #~ msgid "Query/Selector Action" #~ msgstr "Veprimi i pyetësit / përzgjedhësit" #~ msgid "Save Child Values" #~ msgstr "Ruaj vlerat e fëmijëve" #~ msgid "Delete Child Values" #~ msgstr "Fshi vlerat e fëmijëve" #~ msgid "Property" #~ msgstr "Prona" #~ msgid "Baseline Value" #~ msgstr "Vlera bazë" #~ msgid "Child Value" #~ msgstr "Vlera e Fëmijës" #~ msgid "error" #~ msgstr "gabim" #~ msgid "You do not have permission to configure child themes." #~ msgstr "Ju nuk keni leje për të konfiguruar temat e fëmijëve." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "" #~ "%s nuk ekziston. Ju lutemi zgjidhni një Temë të vlefshme Prindërore." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Skedari Funksionet kërkohet dhe nuk mund të fshihet." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Ju lutemi zgjidhni një Temë të vlefshme Prindërore." #~ msgid "Please select a valid Child Theme." #~ msgstr "Ju lutemi zgjidhni një Temë të vlefshme për Fëmijën." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Ju lutemi shkruani një emër të vlefshëm të drejtorisë së Fëmijëve." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%s ekziston Ju lutemi shkruani një emër tjetër modeli të " #~ "Temës së Fëmijëve." #~ msgid "Your theme directories are not writable." #~ msgstr "Drejtoritë tuaja të temave nuk mund të shkruhen." #~ msgid "Could not upgrade child theme" #~ msgstr "Nuk mund të azhurnohet tema e fëmijës" #~ msgid "Your stylesheet is not writable." #~ msgstr "Stili juaj nuk mund të shkruhet." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "Një etiketë mbyllëse PHP u zbulua në skedarin e funksioneve të temës " #~ "Child kështu që opsioni \"Trajtimi i fletëve të stilit prindëror\" nuk " #~ "ishte konfiguruar. Mbyllja e PHP në fund të skedarit dekurajohet pasi " #~ "mund të shkaktojë header të parakohshëm HTTP. Ju lutemi ndryshoni " #~ "Funksionet.php për të hequr etiketën përfundimtare ?> dhe klikoni përsëri \"Gjeneroni / Rindërtoni Skedarët e Temave të " #~ "Fëmijëve\" përsëri." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Skedari nuk mund të kopjohet: %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Skedari %s nuk mund të fshihet." #, php-format #~ msgid "could not copy %s" #~ msgstr "nuk mund të kopjonte %s" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "dir e pavlefshme: %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "Kishte gabime gjatë rivendosjes së lejeve." #~ msgid "Could not upload file." #~ msgstr "Skedari nuk mund të ngarkohej." #~ msgid "Invalid theme root directory." #~ msgstr "Drejtoria rrënjësore e temës së pavlefshme." #~ msgid "No writable temp directory." #~ msgstr "Asnjë direktori e shkruajtshme temp." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Shkyçja dështoi -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Pakoja dështoi -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Numri maksimal i stileve është tejkaluar." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Gabim në lëvizjen e skedarit: %s" #~ msgid "Could not set write permissions." #~ msgstr "Nuk mund të vendosen lejet e shkrimit." #~ msgid "Error:" #~ msgstr "Gabim:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "" #~ "Analiza aktuale Tema e fëmijëve %s është rivendosur." #~ msgid "Update Key saved successfully." #~ msgstr "Çelësi i azhurnimit u ruajt me sukses." #~ msgid "Child Theme files modified successfully." #~ msgstr "Skedarët e Temës së Fëmijëve u modifikuan me sukses." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "Tema e fëmijëve %s është gjeneruar me sukses." #~ msgid "Web Fonts & CSS" #~ msgstr "Fonte uebi dhe CSS" #~ msgid "Parent Styles" #~ msgstr "Stilet e prindërve" #~ msgid "Child Styles" #~ msgstr "Stilet e fëmijëve" #~ msgid "View Child Images" #~ msgstr "Shikoni imazhet e fëmijëve" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Përdorni @import url ([shtegu]); për të lidhur fletët " #~ "shtesë të stileve. Kjo Shtojcë përdor fjalën kyçe @import " #~ "për t'i identifikuar dhe kthyer ato në etiketat <link>. Shembull: " #~ msgid "Save" #~ msgstr "Ruaj" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "" #~ "Ngarkimi i imazhit me të njëjtin emër do të zëvendësohet me imazhin " #~ "ekzistues." #~ msgid "Upload New Child Theme Image" #~ msgstr "Ngarko imazhin e ri të temës së fëmijës" #~ msgid "Delete Selected Images" #~ msgstr "Fshi imazhet e zgjedhura" #~ msgid "Create a New Directory" #~ msgstr "Krijoni një Drejtori të Re" #~ msgid "New Directory will be created in" #~ msgstr "Drejtoria e Re do të krijohet në" #~ msgid "New Directory Name" #~ msgstr "Emri i Re i Drejtorisë" #~ msgid "Create a New File" #~ msgstr "Krijoni një Skedar të Ri" #~ msgid "New File will be created in" #~ msgstr "Skedari i ri do të krijohet në" #~ msgid "New File Name" #~ msgstr "Emri i ri i skedarit" #~ msgid "File Type Extension" #~ msgstr "Zgjerimi i Llojit të Skedarit" #~ msgid "Choose File Type" #~ msgstr "Zgjidhni Llojin e Skedarit" #~ msgid "PHP File" #~ msgstr "Skedari PHP" #~ msgid "CSS File" #~ msgstr "Skedari CSS" #~ msgid "JS File" #~ msgstr "Dosja JS" #~ msgid "Text File" #~ msgstr "Skedari i tekstit" #~ msgid "PHP File Type" #~ msgstr "Lloji i skedarit PHP" #~ msgid "Simple PHP File" #~ msgstr "Skedar i thjeshtë PHP" #~ msgid "Wordpress Template File" #~ msgstr "Skedari i Modelit Wordpress" #~ msgid "Template Name" #~ msgstr "Emri i shabllonit" #~ msgid "Parent Templates" #~ msgstr "Modelet e prindërve" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "Kopjoni modelet PHP nga tema mëmë duke i zgjedhur këtu. Konfiguruesi " #~ "përcakton një model si një skedar PHP i Temës që nuk ka funksione ose " #~ "klasa PHP. Skedarët e tjerë PHP nuk mund të mbivlerësohen në mënyrë të " #~ "sigurt nga një temë për fëmijë." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "KUJDES: Nëse tema e fëmijës suaj është aktive, versioni i temës fëmijë të " #~ "skedarit do të përdoret në vend të prindit menjëherë pasi të kopjohet." #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "skedari gjenerohet veçmas dhe nuk mund të kopjohet këtu." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Kopjimi i zgjedhur në temën e fëmijës" #~ msgid " Child Theme Files " #~ msgstr "Skedarët e temave për fëmijë" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Klikoni për të redaktuar skedarët duke përdorur Editor Editor" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Fshini modelet e temave për fëmijë duke i zgjedhur këtu." #~ msgid "Delete Selected" #~ msgstr "Fshij të zgjedhur" #~ msgid "Child Theme Screenshot" #~ msgstr "Foto nga tema e fëmijëve" #~ msgid "Upload New Screenshot" #~ msgstr "Ngarko pamjen e re të ekranit" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "Pamja e ekranit të temës duhet të jetë një raport 4: 3 (p.sh., 880px x " #~ "660px) JPG, PNG ose GIF. Do të riemërtohet" #~ msgid "Screenshot" #~ msgstr "Pamja e ekranit" #~ msgid "Upload New Child Theme Image " #~ msgstr "Ngarko imazhin e ri të temës së fëmijës" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "Imazhet e temave gjenden nën drejtorinë e imazheve në temën e fëmijës " #~ "tuaj dhe janë të destinuara vetëm për përdorimin e fletëve të stileve. " #~ "Përdorni Bibliotekën e Mediave për imazhe me përmbajtje." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Shikoni temën aktuale të fëmijës (analiza aktuale)" #~ msgid "Preview Current Child Theme" #~ msgstr "Shikoni temën aktuale të fëmijës" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Eksporto temën e fëmijës si arkiv zip" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Klikoni \"Eksporto Zip\" për të ruajtur një kopje rezervë të temës së " #~ "ngarkuar aktualisht të fëmijëve. Mund të eksportoni ndonjë nga temat " #~ "tuaja nga skeda Prind / Fëmijë." #~ msgid "Export Child Theme" #~ msgstr "Eksporto temën e fëmijës" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Skedarët (temat) e Fëmijëve u kopjuan me sukses!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "" #~ "Skedari që jeni duke u munduar të kopjoni nga Modelet Prindërore nuk " #~ "ekziston" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "Skedari të cilin po përpiqeni të kopjoni nga Modelet e Prindërve është " #~ "tashmë i pranishëm në skedarët e Temës së Fëmijëve." #~ msgid "Child " #~ msgstr "Fëmijë" #~ msgid " and Parent " #~ msgstr "dhe Prindi" #~ msgid " directories doesn't exist!" #~ msgstr "drejtoritë nuk ekzistojnë!" #~ msgid " directory doesn't exist!" #~ msgstr "direktoria nuk ekziston!" #~ msgid "Parent " #~ msgstr "Prindi" #~ msgid "Unknown error! " #~ msgstr "Gabim i panjohur!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "Ju nuk keni leje për të kopjuar skedarët!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Të gjitha skedarët (et) e zgjedhur janë fshirë me sukses!" #~ msgid " does not exists!" #~ msgstr "nuk ekziston!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Kjo shtesë e skedarit nuk lejohet të ngarkohet!" #~ msgid "Image uploaded successfully!" #~ msgstr "Imazhi u ngarkua me sukses!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Ka ndonjë problem në ngarkimin e imazhit!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "" #~ "Kjo shtesë skedari nuk lejohet të ngarkohet si pamje nga ekrani nga " #~ "wordpress!" #~ msgid "File uploaded successfully!" #~ msgstr "Skedari u ngarkua me sukses!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Skedarët e Temës së Fëmijëve nuk mund të modifikohen." #~ msgid "File(s) deleted successfully!" #~ msgstr "Skedari (et) u fshinë me sukses!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "Ju nuk keni leje për të fshirë skedarët!" #~ msgid "Entered directory name already exists" #~ msgstr "Emri i regjistrit të futur ekziston tashmë" #~ msgid "You don't have permission to create directory!" #~ msgstr "Ju nuk keni leje për të krijuar direktori!" #~ msgid "Wordpress template file created" #~ msgstr "Skedari i shabllonit Wordpress u krijua" #~ msgid "Wordpress template file not created" #~ msgstr "Skedari i shabllonit Wordpress nuk u krijua" #~ msgid "PHP created file successfully" #~ msgstr "PHP krijoi skedarin me sukses" #~ msgid "PHP file not created" #~ msgstr "Skedari PHP nuk u krijua" #~ msgid " file not created" #~ msgstr "skedari nuk u krijua" #~ msgid "You don't have permission to create file!" #~ msgstr "Ju nuk keni leje për të krijuar skedar!" #~ msgid "Language folder has been downlaoded." #~ msgstr "Dosja e gjuhës është dobësuar." #~ msgid "Add single or multiple languages." #~ msgstr "Shtoni gjuhë të vetme ose të shumëfishta." #~ msgid "Add single language file" #~ msgstr "Shto skedar me një gjuhë" #~ msgid "Please click on language button." #~ msgstr "Ju lutemi klikoni në butonin e gjuhës." #~ msgid "Add all languages zip folder" #~ msgstr "Shtoni të gjitha gjuhët dosje zip" #~ msgid "Zip Download" #~ msgstr "Shkarkim Zip" wp-file-manager/languages/wp-file-manager-sr_RS.mo000064400000057016151202472330016033 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&:(C)P +pZ+X+w$,,J,(,B!.}d/v/Y0kj0o0kF1(1;12[62L2>2E3d3C33.344$&4%K44q4(44;4Z5u5 575j5IE6_6677)7)C7m7877S70-8!^8\88!80:LO:7:A:z;w;/ =?9=.y== ==?*.A-YA`ABC-D.EE FKFcFF_G3rG)G-G7G6H&FH:mHHHSIGIHFJ J JJJ*K=uK?KNKBLXL9lL*LLLMM dNNqNCNEORJOfOP(P">PaPO}P?P Q3Q LQWQuQ!Q"QQMQ.R0CR!tR>RIR+SKSNhS#SSeSaTHjT8T=TJ*UuU<U2U UVaVEuVOV0 W64X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: PO-Revision-Date: 2022-03-01 18:29+0530 Last-Translator: Language-Team: Language: sr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: languages X-Poedit-SearchPath-1: . * за све операције и да бисте дозволили неке операције можете навести назив операције као, дозвољено_операције="уплоад,довнлоад". Напомена: одвојено зарезом (,). Уобичајено: *-> Забранит ће одређеним корисницима само стављајући њихове ИД-ове раздвојене зарезима (,). Ако је корисник Бан, тада неће моћи да приступи вп менаџеру датотека на предњој страни.-> Тема Менаџера датотека. Подразумевано: Light-> Филе Модифиед или Цреате дате формат. Подразумевано: d M, Y h:i A-> Језик менаџера датотека. Подразумевано: English(en)-> Приказ корисничког интерфејса Филеманагер-а. Подразумевано: gridпоступакРадње по изабраним сигурносним копијамаАдминистратор може ограничити радње било ког корисника. Такође сакријте датотеке и фасцикле и можете поставити различите путање фолдера за различите кориснике.Администратор може ограничити радње било које корисничке улоге. Такође сакријте датотеке и фасцикле и можете поставити различите путање фолдера за различите улоге корисника.Након омогућавања отпада, датотеке ће ићи у директоријум за отпатке.Након што ово омогућите, све датотеке ће ићи у библиотеку медија.ЗавршеноДа ли стварно желите да уклоните изабране резервне копије?Да ли сте сигурни да желите да избришете ову резервну копију?Да ли сте сигурни да желите да вратите ову резервну копију?Датум резервне копијеНаправите резервну копију одмахРезервне опције:Резервне копије података (кликните за преузимање)Датотеке за резервне копије ће бити исподИзрада резервне копије, сачекајтеРезервна копија је успешно избрисана.Бацкуп/РестореРезервне копије су успешно уклоњене!забранитиПрегледник и ОС (HTTP_USER_AGENT)Купи ПРОКупи ПроПоништити, отказатиПромените тему овде:Кликните да бисте купили ПРОПриказ уређивача кодаПотврдиКопирајте датотеке или фасциклеТренутно није пронађена ниједна резервна копија.БРИСАЊЕ ДАТОТЕКАМрачноРезервна копија базе податакаПрављење резервне копије базе података извршено на датум Извршена резервна копија базе података.Сигурносна копија базе података је успешно враћена.УобичајеноУобичајено:ИзбришиПоништи изборОдбаци ово обавештење.ДонирајтеПреузмите евиденције датотекаПреузми датотекеДупликат или клонирање фасцикле или датотекеУреди евиденције датотекаИзмените датотекуОмогућити отпремање датотека у библиотеку медија?Омогућити отпад?Грешка: Није могуће вратити резервну копију јер је резервна копија базе података велика. Покушајте да повећате максималну дозвољену величину у подешавањима.Постојеће резервне копијеИздвојите архиву или архивирану датотекуМенаџер датотека – кратки кодМенаџер датотека - Својства системаКорен пут управитеља датотека, можете променити према свом избору.Менаџер датотека има уређивач кода са више тема. За уређивач кода можете одабрати било коју тему. Приказаће се када уредите било коју датотеку. Такође можете да дозволите режим целог екрана уређивача кода.Листа операција датотека:Датотека не постоји за преузимање.Резервне копије датотекаГреиПомоћОвде "тест" је име фасцикле која се налази у основном директоријуму, или можете дати путању за поддиректоријуме као што је "вп-цонтент/плугинс". Ако оставите празно или празно, приступиће свим фасциклама у основном директоријуму. Подразумевано: Основни директоријумОвде администратор може дати приступ корисничким улогама за коришћење управитеља датотека. Администратор може поставити подразумевану приступну мапу и такође контролисати величину отпремања управитеља датотека.Информације о датотециНеважећи сигурносни код.Омогућиће свим улогама приступ менаџеру датотека на предњем крају или можете једноставно користити за одређене корисничке улоге као што је дозвољено_ролес="едитор,аутхор" (одвојено зарезом(,))Закључаће се поменуто у зарезима. можете закључати више као ".пхп,.цсс,.јс" итд. Подразумевано: НуллНа предњем крају ће се приказати менаџер датотека. Али само администратор може да му приступи и контролише из подешавања менаџера датотека.На предњем крају ће се приказати менаџер датотека. Можете да контролишете сва подешавања из подешавања менаџера датотека. Радиће исто као и бацкенд ВП Филе Манагер.Последња порука дневникаСветлостТрупциНаправите директоријум или директоријумНаправи датотекуМаксимална дозвољена величина у време враћања резервне копије базе података.Максимална величина отпремања датотеке (upload_max_filesize)Ограничење меморије(memory_limit)Недостаје резервни ИД.Недостаје тип параметра.Недостају потребни параметри.Не хвалаНема поруке дневникаНије пронађен ниједан записник!Белешка:Напомена: Ово су демо снимци екрана. Молимо купите Филе Манагер про за функције Логс.Напомена: Ово је само демо снимак екрана. Да бисте добили подешавања, купите нашу про верзију.Ништа није изабрано за резервну копијуНишта није изабрано за резервну копију.У редуУ редуОстало (Било који други директоријум који се налази унутар вп-садржаја)Остале резервне копије урађене на датум Друге резервне копије су урађене.Друге резервне копије нису успеле.Остале резервне копије су успешно враћене.ПХП верзијаПараметри:Налепите датотеку или фасциклуУнесите адресу е-поште.Унесите име.Унесите презиме.Молимо вас пажљиво промените ово, погрешна путања може довести до пада додатка за управљање датотекама.Повећајте вредност поља ако добијате поруку о грешци у време враћања резервне копије.ДодациРезервна копија додатака урађена на датум Резервна копија додатака је урађена.Резервна копија додатака није успела.Резервна копија додатака је успешно враћена.Објави максималну величину отпремања датотеке (post_max_size)ПоставкеПравила о приватностиЈавни коренски путВРАЋИ ДАТОТЕКЕУклоните или избришите датотеке и фасциклеПреименујте датотеку или фасциклуВратиВраћање је у току, сачекајтеУСПЕХСачувај променеУштеда...Претражите ствариБезбедност питање.Изабери свеИзаберите резервну(е) копију(е) за брисање!ПодешавањаПодешавања - Уређивач кодаПодешавања - ОпштеПодешавања - Ограничења корисникаПодешавања - Ограничења улога корисникаПодешавања су сачувана.Кратки код - ПРОЈедноставно исеците датотеку или фасциклуСистемска својстваУслови коришћењаРезервна копија је очигледно успела и сада је завршена.ТемеПрављење резервне копије тема на датум Извршена резервна копија тема.Резервна копија тема није успела.Резервна копија тема је успешно враћена.ТренутноВременско ограничење (max_execution_time)Да направите архиву или зипДанасУПОТРЕБА:Није могуће направити резервну копију базе података.Уклањање резервне копије није успело!Није могуће вратити сигурносну копију ДБ-а.Није могуће вратити друге.Враћање додатака није успело.Није могуће вратити теме.Отпремања није могуће вратити.Отпреми евиденције датотекаДодај фајловеОтпремањаОтпрема резервне копије извршене на датум Резервна копија отпремања је завршена.Резервна копија отпремања није успела.Резервна копија отпремања је успешно враћена.ПроверитиПогледај Дневник догађајаВП Филе МанагерВП Филе Манагер - Израда резервних копија / враћањеДопринос ВП менаџера датотекаВолимо да склапамо нове пријатеље! Претплатите се испод и ми то обећавамо будите у току са нашим најновијим новим додацима, исправкама, сјајне понуде и неколико специјалних понуда.Добродошли у Филе МанагерНисте унели никакве промене да бисте их сачували.за дозволу за приступ читању датотека, напомену: тачно/нетачно, подразумевано: тачноза приступ дозволама за писање датотека, напомена: тачно/нетачно, подразумевано: нетачносакриће се овде поменуто. Напомена: одвојено зарезом (,). Подразумевано: Нуллwp-file-manager/languages/wp-file-manager-sr_RS.po000064400000307666151202472330016047 0ustar00msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2022-02-28 11:39+0530\n" "PO-Revision-Date: 2022-03-01 18:29+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: languages\n" "X-Poedit-SearchPath-1: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Резервна копија тема је успешно враћена." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Није могуће вратити теме." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Резервна копија отпремања је успешно враћена." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Отпремања није могуће вратити." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Остале резервне копије су успешно враћене." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Није могуће вратити друге." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Резервна копија додатака је успешно враћена." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Враћање додатака није успело." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Сигурносна копија базе података је успешно враћена." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Завршено" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Није могуће вратити сигурносну копију ДБ-а." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Резервне копије су успешно уклоњене!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Уклањање резервне копије није успело!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Прављење резервне копије базе података извршено на датум " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Резервна копија додатака урађена на датум " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Прављење резервне копије тема на датум " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Отпрема резервне копије извршене на датум " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Остале резервне копије урађене на датум " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Трупци" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Није пронађен ниједан записник!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Ништа није изабрано за резервну копију" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Безбедност питање." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Извршена резервна копија базе података." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Није могуће направити резервну копију базе података." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Резервна копија додатака је урађена." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Резервна копија додатака није успела." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Извршена резервна копија тема." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Резервна копија тема није успела." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Резервна копија отпремања је завршена." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Резервна копија отпремања није успела." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Друге резервне копије су урађене." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Друге резервне копије нису успеле." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "ВП Филе Манагер" #: file_folder_manager.php:769 msgid "Settings" msgstr "Подешавања" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Поставке" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Системска својства" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Кратки код - ПРО" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Бацкуп/Ресторе" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Купи Про" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Донирајте" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Датотека не постоји за преузимање." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Неважећи сигурносни код." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Недостаје резервни ИД." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Недостаје тип параметра." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Недостају потребни параметри." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Грешка: Није могуће вратити резервну копију јер је резервна копија базе " "података велика. Покушајте да повећате максималну дозвољену величину у " "подешавањима." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Изаберите резервну(е) копију(е) за брисање!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Да ли стварно желите да уклоните изабране резервне копије?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Израда резервне копије, сачекајте" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Враћање је у току, сачекајте" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Ништа није изабрано за резервну копију." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "ВП Филе Манагер - Израда резервних копија / враћање" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Резервне опције:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Резервна копија базе података" #: inc/backup.php:64 msgid "Files Backup" msgstr "Резервне копије датотека" #: inc/backup.php:68 msgid "Plugins" msgstr "Додаци" #: inc/backup.php:71 msgid "Themes" msgstr "Теме" #: inc/backup.php:74 msgid "Uploads" msgstr "Отпремања" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "" "Остало (Било који други директоријум који се налази унутар вп-садржаја)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Направите резервну копију одмах" #: inc/backup.php:89 msgid "Time now" msgstr "Тренутно" #: inc/backup.php:99 msgid "SUCCESS" msgstr "УСПЕХ" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Резервна копија је успешно избрисана." #: inc/backup.php:102 msgid "Ok" msgstr "У реду" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "БРИСАЊЕ ДАТОТЕКА" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Да ли сте сигурни да желите да избришете ову резервну копију?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Поништити, отказати" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Потврди" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ВРАЋИ ДАТОТЕКЕ" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Да ли сте сигурни да желите да вратите ову резервну копију?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Последња порука дневника" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Резервна копија је очигледно успела и сада је завршена." #: inc/backup.php:171 msgid "No log message" msgstr "Нема поруке дневника" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Постојеће резервне копије" #: inc/backup.php:184 msgid "Backup Date" msgstr "Датум резервне копије" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Резервне копије података (кликните за преузимање)" #: inc/backup.php:190 msgid "Action" msgstr "поступак" #: inc/backup.php:210 msgid "Today" msgstr "Данас" #: inc/backup.php:239 msgid "Restore" msgstr "Врати" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Избриши" #: inc/backup.php:241 msgid "View Log" msgstr "Погледај Дневник догађаја" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Тренутно није пронађена ниједна резервна копија." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Радње по изабраним сигурносним копијама" #: inc/backup.php:251 msgid "Select All" msgstr "Изабери све" #: inc/backup.php:252 msgid "Deselect" msgstr "Поништи избор" #: inc/backup.php:254 msgid "Note:" msgstr "Белешка:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Датотеке за резервне копије ће бити испод" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Допринос ВП менаџера датотека" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Напомена: Ово су демо снимци екрана. Молимо купите Филе Манагер про за " "функције Логс." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Кликните да бисте купили ПРО" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Купи ПРО" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Уреди евиденције датотека" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Преузмите евиденције датотека" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Отпреми евиденције датотека" #: inc/root.php:43 msgid "Settings saved." msgstr "Подешавања су сачувана." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Одбаци ово обавештење." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Нисте унели никакве промене да бисте их сачували." #: inc/root.php:55 msgid "Public Root Path" msgstr "Јавни коренски пут" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Корен пут управитеља датотека, можете променити према свом избору." #: inc/root.php:59 msgid "Default:" msgstr "Уобичајено:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Молимо вас пажљиво промените ово, погрешна путања може довести до пада " "додатка за управљање датотекама." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Омогућити отпад?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Након омогућавања отпада, датотеке ће ићи у директоријум за отпатке." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Омогућити отпремање датотека у библиотеку медија?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Након што ово омогућите, све датотеке ће ићи у библиотеку медија." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Максимална дозвољена величина у време враћања резервне копије базе података." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Повећајте вредност поља ако добијате поруку о грешци у време враћања " "резервне копије." #: inc/root.php:90 msgid "Save Changes" msgstr "Сачувај промене" #: inc/settings.php:10 msgid "Settings - General" msgstr "Подешавања - Опште" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Напомена: Ово је само демо снимак екрана. Да бисте добили подешавања, купите " "нашу про верзију." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Овде администратор може дати приступ корисничким улогама за коришћење " "управитеља датотека. Администратор може поставити подразумевану приступну " "мапу и такође контролисати величину отпремања управитеља датотека." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Подешавања - Уређивач кода" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Менаџер датотека има уређивач кода са више тема. За уређивач кода можете " "одабрати било коју тему. Приказаће се када уредите било коју датотеку. " "Такође можете да дозволите режим целог екрана уређивача кода." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Приказ уређивача кода" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Подешавања - Ограничења корисника" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Администратор може ограничити радње било ког корисника. Такође сакријте " "датотеке и фасцикле и можете поставити различите путање фолдера за различите " "кориснике." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Подешавања - Ограничења улога корисника" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Администратор може ограничити радње било које корисничке улоге. Такође " "сакријте датотеке и фасцикле и можете поставити различите путање фолдера за " "различите улоге корисника." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Менаџер датотека – кратки код" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "УПОТРЕБА:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "На предњем крају ће се приказати менаџер датотека. Можете да контролишете " "сва подешавања из подешавања менаџера датотека. Радиће исто као и бацкенд ВП " "Филе Манагер." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "На предњем крају ће се приказати менаџер датотека. Али само администратор " "може да му приступи и контролише из подешавања менаџера датотека." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Параметри:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Омогућиће свим улогама приступ менаџеру датотека на предњем крају или можете " "једноставно користити за одређене корисничке улоге као што је " "дозвољено_ролес=\"едитор,аутхор\" (одвојено зарезом(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Овде \"тест\" је име фасцикле која се налази у основном директоријуму, или " "можете дати путању за поддиректоријуме као што је \"вп-цонтент/плугинс\". " "Ако оставите празно или празно, приступиће свим фасциклама у основном " "директоријуму. Подразумевано: Основни директоријум" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "за приступ дозволама за писање датотека, напомена: тачно/нетачно, " "подразумевано: нетачно" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "за дозволу за приступ читању датотека, напомену: тачно/нетачно, " "подразумевано: тачно" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "сакриће се овде поменуто. Напомена: одвојено зарезом (,). Подразумевано: Нулл" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Закључаће се поменуто у зарезима. можете закључати више као \".пхп,.цсс,.јс" "\" итд. Подразумевано: Нулл" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* за све операције и да бисте дозволили неке операције можете навести назив " "операције као, дозвољено_операције=\"уплоад,довнлоад\". Напомена: одвојено " "зарезом (,). Уобичајено: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Листа операција датотека:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Направите директоријум или директоријум" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Направи датотеку" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Преименујте датотеку или фасциклу" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Дупликат или клонирање фасцикле или датотеке" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Налепите датотеку или фасциклу" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "забранити" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Да направите архиву или зип" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Издвојите архиву или архивирану датотеку" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Копирајте датотеке или фасцикле" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Једноставно исеците датотеку или фасциклу" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Измените датотеку" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Уклоните или избришите датотеке и фасцикле" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Преузми датотеке" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Додај фајлове" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Претражите ствари" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Информације о датотеци" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Помоћ" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Забранит ће одређеним корисницима само стављајући њихове ИД-ове " "раздвојене зарезима (,). Ако је корисник Бан, тада неће моћи да приступи вп " "менаџеру датотека на предњој страни." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Приказ корисничког интерфејса Филеманагер-а. Подразумевано: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Филе Модифиед или Цреате дате формат. Подразумевано: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Језик менаџера датотека. Подразумевано: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Тема Менаџера датотека. Подразумевано: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Менаџер датотека - Својства система" #: inc/system_properties.php:10 msgid "PHP version" msgstr "ПХП верзија" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Максимална величина отпремања датотеке (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Објави максималну величину отпремања датотеке (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Ограничење меморије(memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Временско ограничење (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Прегледник и ОС (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Промените тему овде:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Уобичајено" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Мрачно" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Светлост" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Греи" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Добродошли у Филе Манагер" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Волимо да склапамо нове пријатеље! Претплатите се испод и ми то обећавамо\n" " будите у току са нашим најновијим новим додацима, исправкама,\n" " сјајне понуде и неколико специјалних понуда." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Унесите име." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Унесите презиме." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Унесите адресу е-поште." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Проверити" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Не хвала" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Услови коришћења" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Правила о приватности" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Уштеда..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "У реду" #~ msgid "Backup not found!" #~ msgstr "Резервна копија није пронађена!" #~ msgid "Backup removed successfully!" #~ msgstr "Резервна копија је успешно уклоњена!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Ништа није изабрано за резервну копију" #~ msgid "Security Issue." #~ msgstr "Безбедносно питање." #~ msgid "Database backup done." #~ msgstr "" #~ "Израђена је сигурносна копија базе " #~ "података." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Није могуће направити сигурносну копију " #~ "базе података." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Израђена је резервна копија додатака." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Резервна копија додатака није успела." #~ msgid "Themes backup done." #~ msgstr "" #~ "Израђена је сигурносна копија тема." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Резервна копија тема није успела." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Отпремање резервне копије је завршено." #~ "" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Резервна копија отпремања није успела." #~ msgid "Others backup done." #~ msgstr "" #~ "За остале је направљена резервна " #~ "копија." #~ msgid "Others backup failed." #~ msgstr "" #~ "Резервна копија није успела." #~ msgid "All Done" #~ msgstr "Завршено" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Слика" #~ msgid "of" #~ msgstr "од" #~ msgid "Close" #~ msgstr "Близу" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Ова функција захтева уграђене оквире. Имате онемогућене ифраме-ове или их " #~ "прегледач не подржава." #~ msgid "Theme Editor" #~ msgstr "Уређивач тема" #~ msgid "Plugin Editor" #~ msgstr "Уређивач додатака" #~ msgid "Access Control" #~ msgstr "Контрола приступа" #~ msgid "Notify Me" #~ msgstr "Обавести ме" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "језик је успешно преузет." #~ msgid "Language folder failed to downlaod." #~ msgstr "Пребацивање језичке фасцикле није успело." #~ msgid "Security token expired!" #~ msgstr "Сигурносни токен је истекао!" #~ msgid " language has been downloaded successfully." #~ msgstr "језик је успешно преузет." #~ msgid "Currently language " #~ msgstr "Тренутно језик " #~ msgid " not available. Please click on the request language link." #~ msgstr " није доступно. Кликните на везу за језик захтева." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "Немате довољно дозвола за уређивање додатака за ову веб локацију." #~ msgid "There are no plugins installed on this site." #~ msgstr "На овој веб локацији нису инсталирани додаци." #~ msgid "There are no themes installed on this site." #~ msgstr "На овој веб локацији нису инсталиране теме." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Унесите име директоријума! !

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Унесите име датотеке!

        " #~ msgid "Open" #~ msgstr "Отвори" #~ msgid "Preview" #~ msgstr "Преглед" #~ msgid "Edit" #~ msgstr "Уредити" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Да ли сте сигурни да желите да прекинете отпремање датотеке?" #~ msgid "File renamed successfully." #~ msgstr "Датотека је успешно преименована." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Да ли сте сигурни да желите да избришете фасциклу?" #~ msgid "Folder deleted successfully." #~ msgstr "Мапа је успешно избрисана." #~ msgid "File deleted successfully." #~ msgstr "Датотека је успешно избрисана." #~ msgid "Folder renamed successfully." #~ msgstr "Мапа је успешно преименована." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Није дозвољено више од 30 знакова.

        " #~ msgid "Invalid request!" #~ msgstr "Неважећи Упит!" #~ msgid "No change in file!" #~ msgstr "Нема промене у датотеци!" #~ msgid "File saved successfully!" #~ msgstr "Датотека је успешно сачувана!" #~ msgid "File not saved!" #~ msgstr "Датотека није сачувана!" #~ msgid "Unable to verify security token!" #~ msgstr "Није могуће верификовати сигурносни токен!" #~ msgid "Folder created successfully!" #~ msgstr "Мапа је успешно креирана!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Вордпресс не сме да отпрема овај формат фасцикле!" #~ msgid "Folder already exists!" #~ msgstr "Мапа већ постоји!" #~ msgid "File created successfully!" #~ msgstr "Датотека је успешно креирана!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Ову екстензију датотеке није дозвољено креирати!" #~ msgid "File already exists!" #~ msgstr "Датотека већ постоји!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Унесите важећу екстензију датотеке!" #~ msgid "Folder does not exists!" #~ msgstr "Мапа не постоји!" #~ msgid "Folder deleted successfully!" #~ msgstr "Мапа је успешно избрисана!" #~ msgid "File deleted successfully!" #~ msgstr "Датотека је успешно избрисана!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "" #~ "Учитавање ове екстензије датотеке није дозвољено помоћу вордпресс-а!" #~ msgid " already exists" #~ msgstr " Већ постоји" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Датотека је успешно отпремљена: Путања отпремљене датотеке је " #~ msgid "No file selected" #~ msgstr "Није изабрана ниједна датотека" #~ msgid "Unable to rename file! Try again." #~ msgstr "Није могуће преименовати датотеку! Покушајте поново." #~ msgid "Folder renamed successfully!" #~ msgstr "Мапа је успешно преименована!" #~ msgid "Please enter correct folder name" #~ msgstr "Унесите тачно име фасцикле" #~ msgid "How can we help?" #~ msgstr "Како можемо помоћи?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "Ресурси за учење, стручна подршка и стручна помоћ." #~ msgid "Documentation" #~ msgstr "Документација" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Брзо пронађите одговоре из наше свеобухватне документације." #~ msgid "Learn More" #~ msgstr "Брзо пронађите одговоре из наше свеобухватне документације." #~ msgid "Contact Us" #~ msgstr "Контактирајте нас" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "Пошаљите карту за подршку за одговоре на питања која имате." #~ msgid "Request a Feature" #~ msgstr "Затражите функцију" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "Реците нам шта желите и додаћете то на наш путоказ." #~ msgid "Tell us what you think!" #~ msgstr "Реците нам шта мислите!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Оцените и дајте нам рецензију на Вордпресс-у!" #~ msgid "Leave a Review" #~ msgstr "Оставите преглед" #~ msgid "Update" #~ msgstr "ажурирање" #~ msgid "Click here to install/update " #~ msgstr "Кликните овде да бисте инсталирали / ажурирали " #~ msgid " language translation for Theme Editor." #~ msgstr " превод језика за уређивач тема." #~ msgid "Installed" #~ msgstr "Инсталирано" #~ msgid "English is the default language of Theme Editor. " #~ msgstr "Енглески је задати језик уређивача тема. " #~ msgid "Request " #~ msgstr "Захтев " #~ msgid "Click here to request" #~ msgstr "Кликните овде да бисте затражили" #~ msgid "language translation for Theme Editor" #~ msgstr "превод језика за уређивач тема" #~ msgid "Theme Editor Language:" #~ msgstr "Језик уређивача теме:" #~ msgid " language" #~ msgstr "Језик" #~ msgid "Available languages" #~ msgstr "Доступни језици" #~ msgid "Click here to download all available languages." #~ msgstr "Кликните овде да бисте преузели све доступне језике." #~ msgid "Request a language" #~ msgstr "Затражите језик" #~ msgid "Tell us which language you want to add." #~ msgstr "Реците нам који језик желите да додате." #~ msgid "Contact us" #~ msgstr "Контактирајте нас" #~ msgid "Notifications" #~ msgstr "Notifications" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ "<стронг> Напомена: Ово је само снимак екрана. Купите ПРО верзију за ову " #~ "функцију. " #~ msgid "Permissions" #~ msgstr "Дозволе" #~ msgid "Edit Plugin" #~ msgstr "Едит Плугин" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Овај додатак је тренутно активиран! Упозорење: Не " #~ "препоручује се уношење промена у активне додатке. Ако ваше промене " #~ "изазову фаталну грешку, додатак ће се аутоматски деактивирати." #~ msgid "Editing " #~ msgstr "Уређивање " #~ msgid " (active)" #~ msgstr " (активан)" #~ msgid "Browsing " #~ msgstr "Прегледавање " #~ msgid " (inactive)" #~ msgstr " (неактиван)" #~ msgid "Update File" #~ msgstr "Ажурирај датотеку" #~ msgid "Download Plugin" #~ msgstr "Преузми додатак" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "the Codex for more information." #~ msgstr "" #~ "Морате направити ову датотеку за писање да бисте могли да сачувате " #~ "промене. ПогледајтеЦодек за више " #~ "информација." #~ msgid "Select plugin to edit:" #~ msgstr "Изаберите додатак за уређивање:" #~ msgid "Create Folder and File" #~ msgstr "Направите мапу и датотеку" #~ msgid "Create" #~ msgstr "Креирај" #~ msgid "Remove Folder and File" #~ msgstr "Уклоните мапу и датотеку" #~ msgid "Remove " #~ msgstr "Уклоните" #~ msgid "To" #~ msgstr "До" #~ msgid "Optional: Sub-Directory" #~ msgstr "Опционално: поддиректоријум" #~ msgid "Choose File " #~ msgstr "Одаберите датотеку" #~ msgid "No file Chosen " #~ msgstr "Фајл није одабран" #~ msgid "Create a New Folder: " #~ msgstr "Креирате нову фасциклу:" #~ msgid "New folder will be created in: " #~ msgstr "Нова мапа ће бити креирана у:" #~ msgid "New Folder Name: " #~ msgstr "Име нове мапе:" #~ msgid "Create New Folder" #~ msgstr "Направите нову мапу " #~ msgid "Create a New File: " #~ msgstr "Направите нову датотеку:" #~ msgid "New File will be created in: " #~ msgstr "Нова датотека ће бити креирана у:" #~ msgid "New File Name: " #~ msgstr "Ново име датотеке:" #~ msgid "Create New File" #~ msgstr "Направите нову датотеку" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "Упозорење: будите опрезни пре уклањања било које мапе или датотеке." #~ msgid "Current Theme Path: " #~ msgstr "Тренутна тематска путања:" #~ msgid "Remove Folder: " #~ msgstr "Уклони директоријум:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Путања до мапе коју желите уклонити: " #~ msgid "Remove Folder" #~ msgstr "Уклони директоријум" #~ msgid "Remove File: " #~ msgstr "Назив мапе који желите да уклоните:" #~ msgid "File Path which you want to remove: " #~ msgstr "Путања до датотеке коју желите уклонити: " #~ msgid "Remove File" #~ msgstr "Назив мапе који желите да уклоните" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Унесите важећу адресу е-поште." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "" #~ "Упозорење: Будите опрезни пре него што преименујете било коју фасциклу " #~ "или датотеку." #~ msgid "File/Folder will be rename in: " #~ msgstr "Датотека / мапа ће се преименовати у:" #~ msgid "File/Folder Rename: " #~ msgstr "Преименовање датотеке / мапе:" #~ msgid "Rename File" #~ msgstr "Преименовати датотеку" #~ msgid "Follow us" #~ msgstr "Пратите нас" #~ msgid "Theme Editor Facebook" #~ msgstr "Уређивач тема Фацебоок" #~ msgid "Theme Editor Instagram" #~ msgstr "Уређивач тема Инстаграм" #~ msgid "Theme Editor Twitter" #~ msgstr "Уређивач тема Твиттер" #~ msgid "Theme Editor Linkedin" #~ msgstr "Уређивач тема Линкедин" #~ msgid "Theme Editor Youtube" #~ msgstr "Уређивач тема Иоутубе" #~ msgid "Logo" #~ msgstr "Лого" #~ msgid "Go to ThemeEditor site" #~ msgstr "Идите на веб локацију ТхемеЕдитор" #~ msgid "Theme Editor Links" #~ msgstr "Везе до уређивача тема" #~ msgid "Child Theme" #~ msgstr "Дечија тема" #~ msgid "Child Theme Permissions" #~ msgstr "Дозволе за подређену тему" #~ msgid " is not available. Please click " #~ msgstr " није доступан. кликните " #~ msgid "here" #~ msgstr "овде" #~ msgid "to request language." #~ msgstr "тражити језик." #~ msgid "Click" #~ msgstr "Кликните" #~ msgid "to install " #~ msgstr "за инсталацију" #~ msgid " language translation for Theme Editor." #~ msgstr " превод језика за уређивач тема." #~ msgid "Success: Settings Saved!" #~ msgstr "Успех: Подешавања сачувана!" #~ msgid "No changes have been made to save." #~ msgstr "Нису направљене промене ради уштеде." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Омогући уређивач тема за теме" #~ msgid "Yes" #~ msgstr "да" #~ msgid "No" #~ msgstr "Не" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "Ово ће омогућити / онемогућити уређивач тема.
        Подразумевано: Да" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Онемогућити подразумевани уређивач ВордПресс тема?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "Ово ће бити омогућити / онемогућити подразумевани уређивач тема.
        Подразумевано: Да" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Омогући уређивач додатака за додатак" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "Ово ће омогућити / онемогућити уређивач додатака.
        Подразумевано: Да" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Онемогућити подразумевани уређивач додатака за ВордПресс?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "Ово ће омогућити / онемогућити подразумевани уређивач додатака.
        Подразумевано: Да" #~ msgid "Code Editor" #~ msgstr "Уређивач кода" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Омогућава вам одабир теме за уређивач тема.
        Подразумевано: Да" #~ msgid "Edit Themes" #~ msgstr "Уреди теме" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ " Ова тема је тренутно активирана! Упозорење: Не " #~ "препоручује се уношење промена у активне теме." #~ msgid "Editing" #~ msgstr "Уређивање" #~ msgid "Browsing" #~ msgstr "Прегледавање" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Ажурирајте датотеку и покушајте да је поново активирате" #~ msgid "Download Theme" #~ msgstr "Преузми тему" #~ msgid "Select theme to edit:" #~ msgstr "Изаберите тему за уређивање:" #~ msgid "Theme Files" #~ msgstr "Тематски фајлови" #~ msgid "Choose File" #~ msgstr "Одаберите датотеку" #~ msgid "No File Chosen" #~ msgstr "Фајл није одабран" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "" #~ "Упозорење: Будите пажљиви пре него што уклоните било коју фасциклу или " #~ "датотеку." #~ msgid "Child Theme Permission" #~ msgstr "Дозвола за тему детета" #~ msgid "Translations" #~ msgstr "Преводи" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "" #~ "креирање, уређивање, отпремање, преузимање, брисање датотека са " #~ "датотекама и директоријума" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "Немате дозволу за креирање нове подређене теме." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "Немате дозволу за промену конфигурације постојеће подређене теме." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "Немате дозволу да копирате подређену тему." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "Немате дозволу за приступ менију за упит / селектор." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "Немате дозволу за приступ веб фонтовима и ЦСС менију." #~ msgid "You do not have the permission to copy files." #~ msgstr "Немате дозволу за копирање датотека." #~ msgid "You do not have the permission to delete child files." #~ msgstr "Немате дозволу за брисање подређених датотека." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "Немате дозволу за отпремање новог снимка екрана." #~ msgid "You do not have the permission to upload new images." #~ msgstr "Немате дозволу за отпремање нових слика." #~ msgid "You do not have the permission to delete images." #~ msgstr "Немате дозволу за брисање слика." #~ msgid "You do not have the permission to download file." #~ msgstr "Немате дозволу за преузимање датотеке." #~ msgid "You do not have the permission to create new directory." #~ msgstr "Немате дозволу за стварање новог директоријума." #~ msgid "You do not have the permission to create new file." #~ msgstr "Немате дозволу за креирање нове датотеке." #~ msgid "You don't have permission to update file!" #~ msgstr "Немате дозволу за ажурирање датотеке!" #~ msgid "You don't have permission to create folder!" #~ msgstr "Немате дозволу за стварање директоријума!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "Немате дозволу за брисање директоријума!" #~ msgid "You don't have permission to delete file!" #~ msgstr "Немате дозволу за брисање датотеке!" #~ msgid "You don't have permission to upload file!" #~ msgstr "Немате дозволу за отпремање датотеке!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Дозволе за подређену тему су успешно сачуване." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "Нема промена у дозволама подређене теме које треба сачувати." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Порука дозволе за подређену тему је успешно сачувана." #~ msgid "Users" #~ msgstr "Корисници" #~ msgid "Create New Child Theme" #~ msgstr "Направите нову тему за дете" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Конфигуришите постојеће дечје теме" #~ msgid "Duplicate Child Themes" #~ msgstr "Дупликат дечијих тема" #~ msgid "Query/ Selector" #~ msgstr "Упит / Селектор" #~ msgid "Web/font" #~ msgstr "Веб / фонт" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Копирајте родитељску тему датотеке у подређену тему" #~ msgid "Deleted Child Files" #~ msgstr "Избрисане датотеке детета" #~ msgid "Upload New Screenshoot" #~ msgstr "Отпремите нови снимак екрана" #~ msgid "Upload New Images" #~ msgstr "Отпремите нове слике" #~ msgid "Deleted Images " #~ msgstr "Избрисане слике" #~ msgid "Download Images" #~ msgstr "Довнлоад Имагес" #~ msgid "Create New Directory" #~ msgstr "Направите нови директоријум" #~ msgid "Create New Files" #~ msgstr "Направите нове датотеке" #~ msgid "Export Theme" #~ msgstr "Извоз теме" #~ msgid "User Roles" #~ msgstr "Улоге корисника" #~ msgid "Query/ Seletor" #~ msgstr "Упит / Селетор" #~ msgid "Deleted Images" #~ msgstr "Избрисане слике" #~ msgid "Child Theme Permission Message" #~ msgstr "Порука о дозволи за подређену тему" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "Немате дозволу за креирање нове теме за дете." #~ msgid "Query/Selector" #~ msgstr "Упит / Селектор" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "Немате дозволу за приступ менију за упит / селектор." #~ msgid " Web/font" #~ msgstr "Веб / фонт" #~ msgid " Export Theme" #~ msgstr "Извоз теме" #~ msgid "Save Child Theme Message" #~ msgstr "Порука о дозволи за подређену тему" #~ msgid "Please select atleast one image." #~ msgstr "Изаберите најмање једну слику." #~ msgid "You don't have the permission to delete images." #~ msgstr "Немате дозволу за брисање слика." #~ msgid "You don't have the permission to upload new images." #~ msgstr "Немате дозволу за отпремање нових слика." #~ msgid "You don't have the permission to download." #~ msgstr "Немате дозволу за преузимање." #~ msgid "You don't have the permission to create new directory." #~ msgstr "Немате дозволу за креирање новог директоријума." #~ msgid "Please choose file type." #~ msgstr "Изаберите врсту датотеке." #~ msgid "Please enter file name." #~ msgstr "Унесите име датотеке." #~ msgid "You don't have the permission to create new file." #~ msgstr "Немате дозволу за стварање нове датотеке." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "" #~ "Да ли сте сигурни да сте копирали родитељске датотеке у подређену тему?" #~ msgid "Please select file(s)." #~ msgstr "Молимо одаберите датотеке." #~ msgid "You don't have the permission to copy files." #~ msgstr "Немате дозволу за копирање датотека." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Да ли сте сигурни да желите да избришете изабране датотеке?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "Немате дозволу за брисање подређених датотека." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "Немате дозволу за отпремање новог снимка екрана." #~ msgid "You don't have the permission to export theme." #~ msgstr "Немате дозволу за извоз теме." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "Немате дозволу за приступ менију Куери / Селецтор." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "Немате дозволу за приступ менију Веб фонтови и ЦСС." #~ msgid "Current Analysis Theme:" #~ msgstr "Тренутна тема анализе:" #~ msgid "Preview Theme" #~ msgstr "Преглед теме" #~ msgid "Parent Themes" #~ msgstr "Родитељске теме" #~ msgid "Child Themes" #~ msgstr "Дечје теме" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Грешка: Поставке нису сачуване!" #~ msgid "Email List" #~ msgstr "Имејл листа" #~ msgid "Email Address" #~ msgstr "Адреса Е-поште" #~ msgid "Enter Email" #~ msgstr "Унесите е-маил" #~ msgid "Add More" #~ msgstr "Додај још" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Ова адреса се користи у сврхе обавештавања, попут обавештења о теми / " #~ "додатку." #~ msgid "Theme Notification" #~ msgstr "Обавештење о теми" #~ msgid "Notify on file update" #~ msgstr "Обавести о ажурирању датотеке" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Обавештење о уређивању или ажурирању датотеке теме.
        Подразумевано: Да" #~ msgid "Notify on files download" #~ msgstr "Обавести о преузимању датотека" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Обавештење о преузимању датотеке за уређивање датотеке.
        Подразумевано: Да" #~ msgid "Notify on theme download" #~ msgstr "Обавести о преузимању теме" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "" #~ "Обавештење о преузимању теме.
        Подразумевано: Да" #~ msgid "Notify on files upload" #~ msgstr "Обавести о отпремању датотека" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Обавештење о отпремању датотека у теми.
        Подразумевано: Да" #~ msgid "Notify on create new file/folder" #~ msgstr "Обавести о стварању нове датотеке / директоријума" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Обавештење о стварању нове датотеке / фасцикле у теми.
        " #~ "Подразумевано: Да" #~ msgid "Notify on delete" #~ msgstr "Обавести о брисању" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Обавести ме о брисању било које датотеке и директоријума у ​​темама.
        Подразумевано: Да" #~ msgid "Notify on create New Child theme" #~ msgstr "Обавести о стварању теме Ново дете" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Обавештавајте о темама Стварање новог детета.
        " #~ "Подразумевано: Да" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Обавести ме о конфигурисању постојећих подређених тема" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Обавести ме о конфигурисању постојећих подређених тема.
        Подразумевано: Да" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Обавештавајте о темама Дуплицате Цхилд" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Обавести ме о конфигурисању постојећих подређених тема.
        Подразумевано: Да" #~ msgid "Plugin Notification" #~ msgstr "Обавештење о додатку" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Обавештење о уређивању или ажурирању датотеке теме.
        Подразумевано: да" #~ msgid "Notify on Plugin download" #~ msgstr "Обавести о преузимању додатка" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "" #~ "Обавештење о преузимању додатка.
        Подразумевано: Да" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Обавештење о отпремању датотеке у теми.
        Подразумевано: Да" #~ msgid "Permission saved successfully." #~ msgstr "Дозвола је успешно сачувана." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "Упс! Дозвола се не може сачувати јер нисте унели никакве промене." #~ msgid "Allowed User Roles" #~ msgstr "Дозвољене улоге корисника" #~ msgid "Update theme files" #~ msgstr "Ажурирајте датотеке тема" #~ msgid "Create new theme files and folders" #~ msgstr "Направите нове датотеке и фасцикле са темама" #~ msgid "Upload new theme files and folders" #~ msgstr "Отпремите нове датотеке и фасцикле тема" #~ msgid "Download theme files" #~ msgstr "Преузмите датотеке са темама" #~ msgid "Download theme" #~ msgstr "Преузми тему" #~ msgid "Update plugin files" #~ msgstr "Ажурирајте датотеке додатака" #~ msgid "Create new plugin files and folders" #~ msgstr "Креирајте нове датотеке и директоријуме додатака" #~ msgid "Upload new plugin files and folders" #~ msgstr "Отпремите нове датотеке и директоријуме додатака" #~ msgid "Delete plugin files and folders" #~ msgstr "Избришите датотеке и директоријуме додатака" #~ msgid "Download plugin files" #~ msgstr "Преузмите датотеке додатака" #~ msgid "Download plugin" #~ msgstr "Преузми додатак" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Уређивач тема ПРО - Молимо додајте детаље поруџбине у наставку. Ако не Купи одмах " #~ msgid "ORDER ID (#) *" #~ msgstr "ИД ПОРУЏБИНЕ (#) *" #~ msgid "Enter Order ID" #~ msgstr "Унесите ИД налога" #~ msgid "Please Check Your email for order ID." #~ msgstr "Молимо проверите вашу е-пошту за ИД наруџбе." #~ msgid "LICENCE KEY *" #~ msgstr "КЉУЧ ЛИЦЕНЦЕ *" #~ msgid "Enter License Key" #~ msgstr "Унесите кључ лиценце" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Молимо провјерите своју е-пошту за кључ лиценце." #~ msgid "Click To Verify" #~ msgstr "Кликните да бисте потврдили" #~ msgid "URL/None" #~ msgstr "УРЛ / Ноне" #~ msgid "Origin" #~ msgstr "Порекло" #~ msgid "Color 1" #~ msgstr "Боја 1" #~ msgid "Color 2" #~ msgstr "Боја 2" #~ msgid "Width/None" #~ msgstr "Ширина / Нема" #~ msgid "Style" #~ msgstr "Style" #~ msgid "Color" #~ msgstr "Боја" #~ msgid "Configure Child Theme" #~ msgstr "Конфигуришите тему детета" #~ msgid "Duplicate Child theme" #~ msgstr "Дупликат дечијих тема" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "Након анализе, ова тема добро функционише. Ово можете користити као своју " #~ "тему за дете." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "Након анализе ове подређене теме изгледа да исправно функционише." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Ова тема учитава додатне табеле стилова након датотеке <цоде> стиле.цсс :" #~ msgid "The theme" #~ msgstr "Назив теме" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "није могуће анализирати јер се преглед није правилно приказао" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Ова подређена тема није конфигурисана за овај додатак" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "Конфигуратор врши значајне модификације подређене теме, укључујући " #~ "промене у табелама стилова и додатне пхп функције. Молимо размотрите " #~ "могућност коришћења ДУПЛИЦАТЕ подређене теме (погледајте корак 1, горе) и " #~ "задржавање оригинала као резервне копије." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "Све информације о веб фонтовима / цсс-у су успешно сачуване." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Унесите вредност за фонтове / цсс." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "Немате дозволу за ажурирање веб фонтова / цсс-а." #~ msgid "All information saved successfully." #~ msgstr "Све информације су успешно сачуване." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "Да ли сте сигурни да желите РЕСЕТИРАТИ? Ово ће уништити сваки посао који " #~ "сте урадили у конфигуратору." #~ msgid "Selectors" #~ msgstr "Селектори" #~ msgid "Edit Selector" #~ msgstr "Уреди селектор" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "Табела стилова се не може приказати." #~ msgid "(Child Only)" #~ msgstr "(Само за децу)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Унесите важећу тему за децу." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Унесите важећи назив теме за децу." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "%s постоји. Унесите другу тему за дете" #~ msgid "The page could not be loaded correctly." #~ msgstr "Није могуће правилно учитати страницу." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "Сукобне или застареле јКуери библиотеке учитао је други додатак:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "Деактивирање или замена додатака могу решити овај проблем." #~ msgid "No result found for the selection." #~ msgstr "Није пронађен ниједан резултат за избор." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%sЗашто то видим?%s" #~ msgid "Parent / Child" #~ msgstr "Родитељ / дете" #~ msgid "Select an action:" #~ msgstr "Изаберите радњу:" #~ msgid "Create a new Child Theme" #~ msgstr "Направите нову тему за дете" #~ msgid "Configure an existing Child Theme" #~ msgstr "Конфигуришите постојећу тему детета" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Дупликат постојеће Дечје теме" #~ msgid "Select a Parent Theme:" #~ msgstr "Изаберите родитељску тему:" #~ msgid "Analyze Parent Theme" #~ msgstr "Анализирајте тему родитеља" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "Кликните на „Анализирај“ да бисте утврдили зависности табеле стилова и " #~ "друге потенцијалне проблеме." #~ msgid "Analyze" #~ msgstr "Анализирајте" #~ msgid "Select a Child Theme:" #~ msgstr "Изаберите тему за дете:" #~ msgid "Analyze Child Theme" #~ msgstr "Анализирајте тему детета" #~ msgid "Name the new theme directory:" #~ msgstr "Именујте нови директоријум тема:" #~ msgid "Directory Name" #~ msgstr "Име директорија" #~ msgid "NOTE:" #~ msgstr "БЕЛЕШКА:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "Ово НИЈЕ назив Дечје теме. Име, опис итд. Можете прилагодити у кораку 7, " #~ "доле." #~ msgid "Verify Child Theme directory:" #~ msgstr "Потврдите именик подређених тема:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "" #~ "Само за верификацију (не можете да измените директоријум постојеће " #~ "подређене теме)." #~ msgid "Select where to save new styles:" #~ msgstr "Изаберите где ћете сачувати нове стилове:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Примарни листови стилова (стиле.цсс)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Спремите нове прилагођене стилове директно у примарни табелу подређених " #~ "тема, замењујући постојеће вредности. Примарни табела стилова учитаће се " #~ "редоследом који је поставила тема." #~ msgid "Separate Stylesheet" #~ msgstr "Одвојени табеларни приказ" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "Сачувајте нове прилагођене стилове у засебну табелу стилова и комбинујте " #~ "све постојеће подређене стилове теме са родитељем да бисте формирали " #~ "основну линију. Изаберите ову опцију ако желите да сачувате постојеће " #~ "подређене стилове тема уместо да их преписујете. Ова опција такође вам " #~ "омогућава да прилагодите табеле стилова које се учитавају након примарног " #~ "листа стилова." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Изаберите руковање табелом с родитељским темама:" #~ msgid "Use the WordPress style queue." #~ msgstr "Користите ред за ВордПресс стил." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "Нека Цонфигуратор утврди одговарајуће акције и зависности и аутоматски " #~ "ажурира датотеку функција." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "Употребите @импорт у табели подређених тема теме." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "Ову опцију користите само ако се надређени табела стилова не може учитати " #~ "помоћу реда за ВордПресс стил. Коришћење @импорт се не " #~ "препоручује." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Не додавајте никакве матичне табеле стилова." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "Изаберите ову опцију ако ова тема већ обрађује табелу стилова надређене " #~ "теме или ако се датотека стиле.цсс надређене теме не " #~ "користи за њен изглед." #~ msgid "Advanced handling options" #~ msgstr "Напредне могућности руковања" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Игноришите табеле стилова надређених тема." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Изаберите ову опцију ако ова тема већ обрађује табелу стилова надређене " #~ "теме или ако се датотека стиле.цсс надређене теме не користи за њен " #~ "изглед." #~ msgid "Repair the header template in the child theme." #~ msgstr "Поправите предложак заглавља у подређеној теми." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "Нека Цонфигуратор (покуша да) реши све горе наведене проблеме са табелом " #~ "стилова. Ово може решити многе, али не све уобичајене проблеме." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Уклоните зависности табеле стилова" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Подразумевано се редослед табела стилова који се учитавају пре примарног " #~ "листа стилова чува третирајући их као зависности. У неким случајевима се " #~ "у прегледу открију табеле стилова које се не користе на целој локацији. " #~ "Ако је потребно, зависност се може уклонити за одређене табеле стилова у " #~ "наставку." #~ msgid "Child Theme Name" #~ msgstr "Име теме детета" #~ msgid "Theme Name" #~ msgstr "Назив теме" #~ msgid "Theme Website" #~ msgstr "Тхеме Вебсите" #~ msgid "Author" #~ msgstr "Аутор" #~ msgid "Author Website" #~ msgstr "Веб локација аутора" #~ msgid "Theme Description" #~ msgstr "Опис теме" #~ msgid "Description" #~ msgstr "Опис" #~ msgid "Tags" #~ msgstr "Ознаке" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "Копирајте меније, виџете и друга подешавања прилагођавача из родитељске " #~ "теме у подређену тему:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Ова опција замењује постојеће меније, виџете и друга подешавања " #~ "прилагођавача подређене теме онима из родитељске теме. Ову опцију треба " #~ "да користите само први пут када конфигуришете подређену тему." #~ msgid "Click to run the Configurator:" #~ msgstr "Кликните да бисте покренули конфигуратор:" #~ msgid "Query / Selector" #~ msgstr "Упит / Селектор" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "Да бисте пронашли одређене селекторе унутар блокова упита @media, прво " #~ "одаберите упит, а затим селектор. Помоћу упита „основни“ уредите све " #~ "остале бираче." #~ msgid "@media Query" #~ msgstr "@media Куери" #~ msgid "( or \"base\" )" #~ msgstr "(или \"база\")" #~ msgid "Selector" #~ msgstr "Селектор" #~ msgid "Query/Selector Action" #~ msgstr "Акција упита / селектора" #~ msgid "Save Child Values" #~ msgstr "Сачувај вредности детета" #~ msgid "Delete Child Values" #~ msgstr "Избриши подређене вредности" #~ msgid "Property" #~ msgstr "Имовина" #~ msgid "Baseline Value" #~ msgstr "Основна вредност" #~ msgid "Child Value" #~ msgstr "Цхилд Валуе" #~ msgid "error" #~ msgstr "грешка" #~ msgid "You do not have permission to configure child themes." #~ msgstr "Немате дозволу за конфигурисање подређених тема." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s не постоји. Изаберите важећу родитељску тему." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Датотека Функције је обавезна и не може се избрисати." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Изаберите важећу родитељску тему." #~ msgid "Please select a valid Child Theme." #~ msgstr "Изаберите важећу тему за дете." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Унесите важеће име директорија подређене теме." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "" #~ "%s постоји. Унесите друго име предлошка подређене теме." #~ msgid "Your theme directories are not writable." #~ msgstr "У ваше директоријуме тема не може се писати." #~ msgid "Could not upgrade child theme" #~ msgstr "Није могуће надоградити подређену тему" #~ msgid "Your stylesheet is not writable." #~ msgstr "У вашу табелу стилова није могуће писати." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "Затворена ПХП ознака је откривена у датотеци функција теме детета, па " #~ "опција „Руковање родитељским табелама“ није конфигурисана. Не препоручује " #~ "се затварање ПХП-а на крају датотеке јер може проузроковати преурањена " #~ "ХТТП заглавља. Измените фунцтионс.пхп да бисте уклонили " #~ "коначну ознаку ?> и поново кликните на „Генериши / обнови " #~ "датотеке подређених тема“." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Није могуће копирати датотеку: %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Није могуће избрисати %s датотеку." #, php-format #~ msgid "could not copy %s" #~ msgstr "нисам могао копирати %s" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "неважећи директоријум: %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "Дошло је до грешака приликом ресетовања дозвола." #~ msgid "Could not upload file." #~ msgstr "Отпремање датотеке није успело." #~ msgid "Invalid theme root directory." #~ msgstr "Неважећи основни директоријум теме." #~ msgid "No writable temp directory." #~ msgstr "Нема привременог директорија за писање." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Распакивање није успело -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Паковање није успело -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Премашен је максималан број стилова." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Грешка при премештању датотеке: %s" #~ msgid "Could not set write permissions." #~ msgstr "Није могуће поставити дозволе за писање." #~ msgid "Error:" #~ msgstr "Грешка:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "Тренутна анализа подређене теме %s је ресетована." #~ msgid "Update Key saved successfully." #~ msgstr "Кључ за ажурирање је успешно сачуван." #~ msgid "Child Theme files modified successfully." #~ msgstr "Датотеке подређених тема су успешно измењене." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "Подређена тема %s је успешно генерисана." #~ msgid "Web Fonts & CSS" #~ msgstr "Веб фонтови и ЦСС" #~ msgid "Parent Styles" #~ msgstr "Родитељски стилови" #~ msgid "Child Styles" #~ msgstr "Цхилд Стилес" #~ msgid "View Child Images" #~ msgstr "Погледајте слике детета" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Користите @import url( [path] ); за повезивање додатних " #~ "табела стилова. Овај додатак користи кључну реч @импорт да " #~ "би их идентификовао и претворио у ознаке <link>. " #~ " Пример: " #~ msgid "Save" #~ msgstr "сачувати" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "Отпремање слике са истим именом замениће се постојећом." #~ msgid "Upload New Child Theme Image" #~ msgstr "Upload New Child Theme Image" #~ msgid "Delete Selected Images" #~ msgstr "Избриши одабране слике" #~ msgid "Create a New Directory" #~ msgstr "Направите нови директоријум" #~ msgid "New Directory will be created in" #~ msgstr "Нови директоријум ће бити креиран у" #~ msgid "New Directory Name" #~ msgstr "Ново име директорија" #~ msgid "Create a New File" #~ msgstr "Направите нову датотеку" #~ msgid "New File will be created in" #~ msgstr "Нова датотека ће бити креирана у" #~ msgid "New File Name" #~ msgstr "Ново име датотеке" #~ msgid "File Type Extension" #~ msgstr "Екстензија типа датотеке" #~ msgid "Choose File Type" #~ msgstr "Изаберите Тип датотеке" #~ msgid "PHP File" #~ msgstr "ПХП датотека" #~ msgid "CSS File" #~ msgstr "ЦСС датотека" #~ msgid "JS File" #~ msgstr "ЈС датотека" #~ msgid "Text File" #~ msgstr "Текстуална датотека" #~ msgid "PHP File Type" #~ msgstr "Тип датотеке ПХП" #~ msgid "Simple PHP File" #~ msgstr "Једноставна ПХП датотека" #~ msgid "Wordpress Template File" #~ msgstr "Вордпресс шаблон датотека" #~ msgid "Template Name" #~ msgstr "Назив предлошка" #~ msgid "Parent Templates" #~ msgstr "Надређени предлошци" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "Копирајте ПХП предлошке из надређене теме тако што ћете их овде одабрати. " #~ "Конфигуратор дефинише предложак као Тематску ПХП датотеку која нема ПХП " #~ "функције или класе. Подређена тема не може сигурно надјачати друге ПХП " #~ "датотеке." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "ОПРЕЗ: Ако је ваша подређена тема активна, верзија подређене датотеке ће " #~ "се користити уместо надређене одмах након копирања." #~ msgid "The " #~ msgstr "Тхе" #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "датотека се генерише одвојено и овде се не може копирати." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Копирај одабрано у тему детета" #~ msgid " Child Theme Files " #~ msgstr "Дијете тематских датотека" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Кликните да бисте уредили датотеке помоћу уређивача тема" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Избришите шаблоне подређених тема тако што ћете их овде одабрати." #~ msgid "Delete Selected" #~ msgstr "Избриши изабрано" #~ msgid "Child Theme Screenshot" #~ msgstr "Снимак екрана теме детета" #~ msgid "Upload New Screenshot" #~ msgstr "Отпремите нови снимак екрана" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "Снимак екрана теме треба да буде у омјеру 4: 3 (нпр. 880пк к 660пк) ЈПГ, " #~ "ПНГ или ГИФ. Биће преименовано" #~ msgid "Screenshot" #~ msgstr "Снимак екрана" #~ msgid "Upload New Child Theme Image " #~ msgstr "Отпремите нову тему теме детета" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "Тематске слике налазе се у директоријуму слика у вашој подређеној теми и " #~ "намењене су само употреби табеле стилова. Медијску библиотеку користите " #~ "за слике садржаја." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Преглед тренутне подређене теме (тренутна анализа)" #~ msgid "Preview Current Child Theme" #~ msgstr "Преглед тренутне теме детета" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Извези подређену тему у Зип архиву" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Кликните на „Извези зип“ да бисте сачували резервну копију тренутно " #~ "учитане подређене теме. Можете извести било коју од својих тема са " #~ "картице Родитељ / дете." #~ msgid "Export Child Theme" #~ msgstr "Извоз дечје теме" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Датотеке подређених тема су успешно копиране!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "" #~ "Датотека коју покушавате да копирате из Надређених шаблона не постоји" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "Датотека коју покушавате да копирате из Надређених шаблона већ је " #~ "присутна у датотекама подређених тема." #~ msgid "Child " #~ msgstr "Дете" #~ msgid " and Parent " #~ msgstr "и Родитељ" #~ msgid " directories doesn't exist!" #~ msgstr "директоријуми не постоје!" #~ msgid " directory doesn't exist!" #~ msgstr "директоријум не постоји!" #~ msgid "Parent " #~ msgstr "Родитељ" #~ msgid "Unknown error! " #~ msgstr "Непозната грешка!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "Немате дозволу за копирање датотека!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Све изабране датотеке су успешно избрисане!" #~ msgid " does not exists!" #~ msgstr "не постоји!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Отпремање ове екстензије датотеке није дозвољено!" #~ msgid "Image uploaded successfully!" #~ msgstr "Слика је успешно постављена!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Постоји неки проблем у отпремању слике!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "" #~ "Ову екстензију датотеке није дозвољено отпремати као снимак екрана од " #~ "стране вордпресс!" #~ msgid "File uploaded successfully!" #~ msgstr "Датотека је успешно отпремљена!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Датотеке подређених тема не могу се мењати." #~ msgid "File(s) deleted successfully!" #~ msgstr "Датотеке су успешно избрисане!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "Немате дозволу за брисање датотека!" #~ msgid "Entered directory name already exists" #~ msgstr "Унесено име директоријума већ постоји" #~ msgid "You don't have permission to create directory!" #~ msgstr "Немате дозволу за креирање директоријума!" #~ msgid "Wordpress template file created" #~ msgstr "Датотека Вордпресс шаблона је креирана" #~ msgid "Wordpress template file not created" #~ msgstr "Датотека Вордпресс шаблона није креирана" #~ msgid "PHP created file successfully" #~ msgstr "ПХП је успешно креирао датотеку" #~ msgid "PHP file not created" #~ msgstr "ПХП датотека није креирана" #~ msgid " file not created" #~ msgstr "датотека није креирана" #~ msgid "You don't have permission to create file!" #~ msgstr "Немате дозволу за креирање датотеке!" #~ msgid "Language folder has been downlaoded." #~ msgstr "Фасцикла језика је преузета." #~ msgid "Add single or multiple languages." #~ msgstr "Додајте један или више језика." #~ msgid "Add single language file" #~ msgstr "Додајте датотеку са једним језиком" #~ msgid "Please click on language button." #~ msgstr "Кликните на дугме језик." #~ msgid "Add all languages zip folder" #~ msgstr "Додајте зип директоријум свих језика" #~ msgid "Zip Download" #~ msgstr "Зип Довнлоад" wp-file-manager/languages/wp-file-manager-sv_SE.mo000064400000042453151202472330016021 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&3((&)=)/#*&S*z*%**;+H+C ,d,=j,@,E,/-I-$^-'-/--!-.!;. ].0g....... ..0/ F/S/Y//x/!/ // // 00'0.0B0'R0z0040001 11 16 2D23,3L3i3n3u3d4 5"595j6|6 77777 8\85m8888 89939I9MQ9e9#:$):N:Q:7T:(:%:':+; /; ;;G;d;w;;T;W;M<+U<<,<*<9< (=4=F=X=&k== == == =>> &>"1>T>c>>(>,>> ??8?I?8Z??#?,?*?@.@5@R@p@v@5@+@6@% A'FA%nA-AAA A,A'!B-IB*wB B BB7BCCC4CG/DUwD]D}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: Theme Editor Pro PO-Revision-Date: 2022-03-02 11:12+0530 Last-Translator: Language-Team: Language: sv_SE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 3.0.1 X-Poedit-Basepath: .. X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__ X-Poedit-SearchPath-0: . * för alla operationer och för att tillåta vissa operationer kan du nämna operationens namn som, allow_operations="ladda upp, ladda ner". Obs: avgränsad med kommatecken(,). Standard: *-> Det kommer att förbjuda vissa användare genom att bara sätta sina id separerade med kommatecken (,). Om användaren är förbjuden kommer de inte att få tillgång till wp-filhanteraren i frontend.-> File Manager Theme. Standard: Light-> Filändrad eller Skapa datumformat. Standard: d M, Y h:i A-> Filhanterarens språk. Standard: English(en)-> Filemanager UI View. Standard: gridHandlingÅtgärder vid valda säkerhetskopiorAdmin kan begränsa alla användares åtgärder. Dölj också filer och mappar och kan ställa in olika - olika mappvägar för olika användare.Admin kan begränsa alla användarrollers åtgärder. Dölj också filer och mappar och kan ställa in olika - olika mappvägar för olika användarroller.Efter att ha aktiverat papperskorgen går dina filer till papperskorgen.Efter att ha aktiverat detta går alla filer till mediebiblioteket.KlartÄr du säker på att du vill ta bort valda säkerhetskopior?Är du säker på att du vill ta bort den här säkerhetskopian?Är du säker på att du vill återställa den här säkerhetskopian?SäkerhetskopieringsdatumSäkerhetskopiera nuAlternativ för säkerhetskopiering:Backup data (klicka för att ladda ner)Säkerhetskopieringsfiler kommer att vara underSäkerhetskopian körs, väntaSäkerhetskopian har tagits bort.Säkerhetskopiera/återställaSäkerhetskopior har tagits bort!förbjudaWebbläsare och operativsystem (HTTP_USER_AGENT)Köp PROKöp ProAvbrytÄndra tema här:Klicka för att köpa PROKodredigerare VisaBekräftaKopiera filer eller mapparFör närvarande hittades inga säkerhetskopior.RADERA FILERMörkSäkerhetskopiering av databasSäkerhetskopiering av databas gjort på datum Databassäkerhetskopiering gjord.Databasbackup har återställts.StandardStandard:RaderaVälja bortIgnorera denna notis.DoneraLadda ner filloggarLadda ner filerDuplicera eller klona en mapp eller filRedigera filloggarRedigera en filAktivera filer som överförs till mediebiblioteket?Aktivera papperskorgen?Fel: Det gick inte att återställa säkerhetskopian eftersom databassäkerhetskopieringen är stor. Försök att öka den högsta tillåtna storleken från inställningarna.Befintlig säkerhetskopiaExtrahera arkiv eller zippad filFilhanteraren - kortkodFilhanteraren - SystemegenskaperFile Manager Root Path, du kan ändra enligt ditt val.File Manager har en kodredigerare med flera teman. Du kan välja vilket tema som helst för kodredigeraren. Den visas när du redigerar en fil. Du kan också tillåta helskärmsläge för kodredigeraren.Lista över filoperationer:Filen finns inte att ladda ner.Säkerhetskopiering av filergråHjälpHär är "test" namnet på mappen som finns i rotkatalogen, eller så kan du ge sökvägen till undermappar som "wp-content/plugins". Om det lämnas tomt eller tomt kommer det åtkomst till alla mappar i rotkatalogen. Standard: RotkatalogHär kan admin ge åtkomst till användarroller för att använda filmanager. Admin kan ställa in standardåtkomstmapp och även styra uppladdningsstorlek för filhanteraren.Info om filenOgiltig säkerhetskod.Det kommer att tillåta alla roller att få åtkomst till filhanteraren i användargränssnittet eller Du kan enkelt använda för särskilda användarroller som allow_roles="editor,author" (avgränsad med komma(,))Det kommer att låsa som nämns med kommatecken. du kan låsa fler som ".php,.css,.js" etc. Standard: NullDet kommer att visa filhanteraren på gränssnittet. Men bara administratören kan komma åt det och styr från filhanterarens inställningar.Det kommer att visa filhanteraren på gränssnittet. Du kan styra alla inställningar från filhanterarens inställningar. Det kommer att fungera på samma sätt som backend WP filhanterare.Senaste loggmeddelandeLjusLoggarSkapa katalog eller mappSkapa filMaximal tillåten storlek vid tidpunkten för återställning av databassäkerhetskopiering.Maximal filöverföringsstorlek (upload_max_filesize)Minnesgräns (memory_limit)Säkerhetskopierings-id saknas.Parametertyp saknas.Saknade nödvändiga parametrar.Nej tackInget loggmeddelandeInga loggar hittades!Notera:Obs! Dessa är demo-skärmdumpar. Köp File Manager pro till Logs-funktioner.Obs: Detta är bara en demo-skärmdump. För att få inställningar, vänligen köp vår pro-version.Inget valt för säkerhetskopieringInget valt för säkerhetskopiering.OKOkÖvriga (Alla andra kataloger som finns i wp-innehåll)Andra säkerhetskopior gjorda på datum Övriga säkerhetskopieringar gjorda.Andra säkerhetskopiering misslyckades.Övriga säkerhetskopior har återställts.PHP-versionParametrar:Klistra in en fil eller mappAnge e-postadress.Vänligen ange förnamn.Ange efternamn.Ändra detta noggrant, fel sökväg kan leda till att filhanteraren plugin går ner.Öka fältvärdet om du får ett felmeddelande vid tidpunkten för säkerhetskopiering.PluginsPlugin-säkerhetskopiering gjord på datum Plugins backup klar.Säkerhetskopiering av plugins misslyckades.Plugin-säkerhetskopian har återställts.Lägg upp maximal filöverföringsstorlek (post_max_size)preferenserIntegritetspolicyOffentlig rotvägÅTERSTÄLLA FILERTa bort eller ta bort filer och mapparByt namn på en fil eller mappÅterställÅterställning körs, väntaFRAMGÅNGSpara ändringarSparande...Sök efter sakerSäkerhetsproblem.Välj allaVälj säkerhetskopior att radera!inställningarInställningar - KodredigerareInställningar - AllmäntInställningar - AnvändarbegränsningarInställningar - AnvändarrollbegränsningarInställningar Sparade.Kortkod - PROEnkelt klippa en fil eller mappSystemegenskaperAnvändarvillkorSäkerhetskopian lyckades uppenbarligen och är nu klar.TemanTeman säkerhetskopieras på datum Säkerhetskopiering av plugins misslyckades.Säkerhetskopiering av teman misslyckades.Teman har återställts.Tid nuTimeout (max_execution_time)Att skapa ett arkiv eller zipI dagANVÄNDA SIG AV:Det gick inte att skapa säkerhetskopia av databasen.Det gick inte att ta bort säkerhetskopian!Det gick inte att återställa DB-säkerhetskopiering.Det går inte att återställa andra.Det gick inte att återställa plugins.Det gick inte att återställa teman.Det gick inte att återställa uppladdningar.Ladda upp filloggarLadda upp filerUppladdningarUppladdningar säkerhetskopierade på datum Uppladdningar säkerhetskopiering klar.Uppladdningssäkerhetskopiering misslyckades.Uppladdningskopieringen har återställts.KontrolleraVisa loggWP filhanterareWP filhanterare - Säkerhetskopiering / återställningWP filhanterare-bidragVi älskar att få nya vänner! Prenumerera nedan och vi lovar att hålla dig uppdaterad med våra senaste nya plugins, uppdateringar, fantastiska erbjudanden och några specialerbjudanden.Välkommen till File ManagerDu har inte gjort några ändringar för att sparas.för åtkomst till läsbehörighet, notera: sant/falskt, standard: santför åtkomst till skrivbehörigheter för filer, notera: true/false, standard: falsedet kommer att gömma sig som nämns här. Obs: avgränsad med kommatecken(,). Standard: Nullwp-file-manager/languages/wp-file-manager-sv_SE.po000064400000233132151202472330016020 0ustar00msgid "" msgstr "" "Project-Id-Version: Theme Editor Pro\n" "POT-Creation-Date: 2022-02-28 11:46+0530\n" "PO-Revision-Date: 2022-03-02 11:12+0530\n" "Last-Translator: \n" "Language-Team: \n" "Language: sv_SE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_html__\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Teman har återställts." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Det gick inte att återställa teman." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Uppladdningskopieringen har återställts." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Det gick inte att återställa uppladdningar." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Övriga säkerhetskopior har återställts." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Det går inte att återställa andra." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Plugin-säkerhetskopian har återställts." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Det gick inte att återställa plugins." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Databasbackup har återställts." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Klart" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Det gick inte att återställa DB-säkerhetskopiering." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Säkerhetskopior har tagits bort!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Det gick inte att ta bort säkerhetskopian!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Säkerhetskopiering av databas gjort på datum " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Plugin-säkerhetskopiering gjord på datum " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Teman säkerhetskopieras på datum " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Uppladdningar säkerhetskopierade på datum " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Andra säkerhetskopior gjorda på datum " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Loggar" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Inga loggar hittades!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Inget valt för säkerhetskopiering" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Säkerhetsproblem." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Databassäkerhetskopiering gjord." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Det gick inte att skapa säkerhetskopia av databasen." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Plugins backup klar." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Säkerhetskopiering av plugins misslyckades." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Säkerhetskopiering av plugins misslyckades." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Säkerhetskopiering av teman misslyckades." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Uppladdningar säkerhetskopiering klar." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Uppladdningssäkerhetskopiering misslyckades." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Övriga säkerhetskopieringar gjorda." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Andra säkerhetskopiering misslyckades." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP filhanterare" #: file_folder_manager.php:769 msgid "Settings" msgstr "inställningar" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "preferenser" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Systemegenskaper" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kortkod - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Säkerhetskopiera/återställa" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Köp Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Donera" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Filen finns inte att ladda ner." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Ogiltig säkerhetskod." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Säkerhetskopierings-id saknas." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parametertyp saknas." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Saknade nödvändiga parametrar." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Fel: Det gick inte att återställa säkerhetskopian eftersom " "databassäkerhetskopieringen är stor. Försök att öka den högsta tillåtna " "storleken från inställningarna." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Välj säkerhetskopior att radera!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Är du säker på att du vill ta bort valda säkerhetskopior?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Säkerhetskopian körs, vänta" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Återställning körs, vänta" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Inget valt för säkerhetskopiering." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP filhanterare - Säkerhetskopiering / återställning" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Alternativ för säkerhetskopiering:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Säkerhetskopiering av databas" #: inc/backup.php:64 msgid "Files Backup" msgstr "Säkerhetskopiering av filer" #: inc/backup.php:68 msgid "Plugins" msgstr "Plugins" #: inc/backup.php:71 msgid "Themes" msgstr "Teman" #: inc/backup.php:74 msgid "Uploads" msgstr "Uppladdningar" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Övriga (Alla andra kataloger som finns i wp-innehåll)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Säkerhetskopiera nu" #: inc/backup.php:89 msgid "Time now" msgstr "Tid nu" #: inc/backup.php:99 msgid "SUCCESS" msgstr "FRAMGÅNG" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Säkerhetskopian har tagits bort." #: inc/backup.php:102 msgid "Ok" msgstr "Ok" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "RADERA FILER" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Är du säker på att du vill ta bort den här säkerhetskopian?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Avbryt" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Bekräfta" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ÅTERSTÄLLA FILER" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Är du säker på att du vill återställa den här säkerhetskopian?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Senaste loggmeddelande" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Säkerhetskopian lyckades uppenbarligen och är nu klar." #: inc/backup.php:171 msgid "No log message" msgstr "Inget loggmeddelande" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Befintlig säkerhetskopia" #: inc/backup.php:184 msgid "Backup Date" msgstr "Säkerhetskopieringsdatum" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Backup data (klicka för att ladda ner)" #: inc/backup.php:190 msgid "Action" msgstr "Handling" #: inc/backup.php:210 msgid "Today" msgstr "I dag" #: inc/backup.php:239 msgid "Restore" msgstr "Återställ" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Radera" #: inc/backup.php:241 msgid "View Log" msgstr "Visa logg" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "För närvarande hittades inga säkerhetskopior." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Åtgärder vid valda säkerhetskopior" #: inc/backup.php:251 msgid "Select All" msgstr "Välj alla" #: inc/backup.php:252 msgid "Deselect" msgstr "Välja bort" #: inc/backup.php:254 msgid "Note:" msgstr "Notera:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Säkerhetskopieringsfiler kommer att vara under" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP filhanterare-bidrag" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Obs! Dessa är demo-skärmdumpar. Köp File Manager pro till Logs-funktioner." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Klicka för att köpa PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Köp PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Redigera filloggar" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Ladda ner filloggar" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Ladda upp filloggar" #: inc/root.php:43 msgid "Settings saved." msgstr "Inställningar Sparade." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Ignorera denna notis." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Du har inte gjort några ändringar för att sparas." #: inc/root.php:55 msgid "Public Root Path" msgstr "Offentlig rotväg" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Root Path, du kan ändra enligt ditt val." #: inc/root.php:59 msgid "Default:" msgstr "Standard:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Ändra detta noggrant, fel sökväg kan leda till att filhanteraren plugin går " "ner." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Aktivera papperskorgen?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Efter att ha aktiverat papperskorgen går dina filer till papperskorgen." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Aktivera filer som överförs till mediebiblioteket?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Efter att ha aktiverat detta går alla filer till mediebiblioteket." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Maximal tillåten storlek vid tidpunkten för återställning av " "databassäkerhetskopiering." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Öka fältvärdet om du får ett felmeddelande vid tidpunkten för " "säkerhetskopiering." #: inc/root.php:90 msgid "Save Changes" msgstr "Spara ändringar" #: inc/settings.php:10 msgid "Settings - General" msgstr "Inställningar - Allmänt" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Obs: Detta är bara en demo-skärmdump. För att få inställningar, vänligen köp " "vår pro-version." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Här kan admin ge åtkomst till användarroller för att använda filmanager. " "Admin kan ställa in standardåtkomstmapp och även styra uppladdningsstorlek " "för filhanteraren." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Inställningar - Kodredigerare" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "File Manager har en kodredigerare med flera teman. Du kan välja vilket tema " "som helst för kodredigeraren. Den visas när du redigerar en fil. Du kan " "också tillåta helskärmsläge för kodredigeraren." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kodredigerare Visa" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Inställningar - Användarbegränsningar" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Admin kan begränsa alla användares åtgärder. Dölj också filer och mappar och " "kan ställa in olika - olika mappvägar för olika användare." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Inställningar - Användarrollbegränsningar" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Admin kan begränsa alla användarrollers åtgärder. Dölj också filer och " "mappar och kan ställa in olika - olika mappvägar för olika användarroller." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Filhanteraren - kortkod" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "ANVÄNDA SIG AV:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Det kommer att visa filhanteraren på gränssnittet. Du kan styra alla " "inställningar från filhanterarens inställningar. Det kommer att fungera på " "samma sätt som backend WP filhanterare." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Det kommer att visa filhanteraren på gränssnittet. Men bara administratören " "kan komma åt det och styr från filhanterarens inställningar." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametrar:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Det kommer att tillåta alla roller att få åtkomst till filhanteraren i " "användargränssnittet eller Du kan enkelt använda för särskilda " "användarroller som allow_roles=\"editor,author\" (avgränsad med komma(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Här är \"test\" namnet på mappen som finns i rotkatalogen, eller så kan du " "ge sökvägen till undermappar som \"wp-content/plugins\". Om det lämnas tomt " "eller tomt kommer det åtkomst till alla mappar i rotkatalogen. Standard: " "Rotkatalog" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "för åtkomst till skrivbehörigheter för filer, notera: true/false, standard: " "false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "för åtkomst till läsbehörighet, notera: sant/falskt, standard: sant" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "det kommer att gömma sig som nämns här. Obs: avgränsad med kommatecken(,). " "Standard: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Det kommer att låsa som nämns med kommatecken. du kan låsa fler som \".php,." "css,.js\" etc. Standard: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* för alla operationer och för att tillåta vissa operationer kan du nämna " "operationens namn som, allow_operations=\"ladda upp, ladda ner\". Obs: " "avgränsad med kommatecken(,). Standard: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Lista över filoperationer:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Skapa katalog eller mapp" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Skapa fil" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Byt namn på en fil eller mapp" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Duplicera eller klona en mapp eller fil" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Klistra in en fil eller mapp" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "förbjuda" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Att skapa ett arkiv eller zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Extrahera arkiv eller zippad fil" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Kopiera filer eller mappar" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Enkelt klippa en fil eller mapp" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Redigera en fil" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Ta bort eller ta bort filer och mappar" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Ladda ner filer" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Ladda upp filer" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Sök efter saker" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Info om filen" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Hjälp" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Det kommer att förbjuda vissa användare genom att bara sätta sina id " "separerade med kommatecken (,). Om användaren är förbjuden kommer de inte " "att få tillgång till wp-filhanteraren i frontend." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI View. Standard: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Filändrad eller Skapa datumformat. Standard: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Filhanterarens språk. Standard: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> File Manager Theme. Standard: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Filhanteraren - Systemegenskaper" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP-version" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maximal filöverföringsstorlek (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Lägg upp maximal filöverföringsstorlek (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Minnesgräns (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Timeout (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Webbläsare och operativsystem (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Ändra tema här:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Standard" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Mörk" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Ljus" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "grå" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Välkommen till File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Vi älskar att få nya vänner! Prenumerera nedan och vi lovar att\n" " hålla dig uppdaterad med våra senaste nya plugins, uppdateringar,\n" " fantastiska erbjudanden och några specialerbjudanden." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Vänligen ange förnamn." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Ange efternamn." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Ange e-postadress." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Kontrollera" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Nej tack" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Användarvillkor" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Integritetspolicy" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Sparande..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Backup not found!" #~ msgstr "Backup hittades inte!" #~ msgid "Backup removed successfully!" #~ msgstr "Säkerhetskopieringen har tagits bort!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Inget valt för säkerhetskopiering" #~ msgid "Security Issue." #~ msgstr "Säkerhetsproblem. " #~ msgid "Database backup done." #~ msgstr "" #~ "Säkerhetskopiering av databas klar. " #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Det gick inte att skapa säkerhetskopia " #~ "av databasen. " #~ msgid "Plugins backup done." #~ msgstr "" #~ "Säkerhetskopiering av insticksprogram. " #~ "" #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Säkerhetskopiering av plugins " #~ "misslyckades. " #~ msgid "Themes backup done." #~ msgstr "" #~ "Säkerhetskopiering av teman är klar. " #~ msgid "Themes backup failed." #~ msgstr "" #~ "Säkerhetskopiering av teman " #~ "misslyckades. " #~ msgid "Uploads backup done." #~ msgstr "" #~ "Uppladdning av säkerhetskopiering är " #~ "klar. " #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Säkerhetskopiering av uppladdningar " #~ "misslyckades. " #~ msgid "Others backup done." #~ msgstr "" #~ "Övriga säkerhetskopior är klara. " #~ msgid "Others backup failed." #~ msgstr "" #~ "Övrig säkerhetskopiering misslyckades. " #~ msgid "All Done" #~ msgstr "Allt klart " #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Image" #~ msgstr "Bild" #~ msgid "of" #~ msgstr "av" #~ msgid "Close" #~ msgstr "Stänga" #~ msgid "" #~ "This feature requires inline frames. You have iframes disabled or your " #~ "browser does not support them." #~ msgstr "" #~ "Den här funktionen kräver inbyggda ramar. Du har inaktiverat iframes " #~ "eller så stöder inte din webbläsare dem." #~ msgid "Theme Editor" #~ msgstr "Temaredigerare" #~ msgid "Plugin Editor" #~ msgstr "Plugin Editor" #~ msgid "Access Control" #~ msgstr "Åtkomstkontroll" #~ msgid "Notify Me" #~ msgstr "Meddela mig" #~ msgid "Language folder has been downlaoded successfully." #~ msgstr "språket har laddats ner." #~ msgid "Language folder failed to downlaod." #~ msgstr "Det gick inte att ladda ned språkmappen." #~ msgid "Security token expired!" #~ msgstr "Säkerhetstoken har upphört!" #~ msgid " language has been downloaded successfully." #~ msgstr "språket har laddats ner." #~ msgid "Currently language " #~ msgstr "För närvarande språk " #~ msgid " not available. Please click on the request language link." #~ msgstr " inte tillgänglig. Klicka på länken för begärningsspråk." #~ msgid "" #~ "You do not have sufficient permissions to edit plugins for this site." #~ msgstr "" #~ "Du har inte tillräckliga behörigheter för att redigera plugins för den " #~ "här webbplatsen." #~ msgid "There are no plugins installed on this site." #~ msgstr "Det finns inga plugins installerade på den här webbplatsen." #~ msgid "There are no themes installed on this site." #~ msgstr "Det finns inga teman installerade på denna webbplats." #~ msgid "

        Please enter folder name!

        " #~ msgstr "

        Ange mappnamn!

        " #~ msgid "

        Please enter file name!

        " #~ msgstr "

        Ange filnamn!

        " #~ msgid "Open" #~ msgstr "Öppna" #~ msgid "Preview" #~ msgstr "Förhandsvisning" #~ msgid "Edit" #~ msgstr "Redigera" #~ msgid "Are you sure you want to abort the file uploading?" #~ msgstr "Är du säker på att du vill avbryta uppladdningen?" #~ msgid "File renamed successfully." #~ msgstr "Filen har fått nytt namn." #~ msgid "Are you sure you want to delete folder?" #~ msgstr "Är du säker på att du vill ta bort mappen?" #~ msgid "Folder deleted successfully." #~ msgstr "Mappen har tagits bort." #~ msgid "File deleted successfully." #~ msgstr "Filen har tagits bort." #~ msgid "Folder renamed successfully." #~ msgstr "Mappen har bytt namn." #~ msgid "

        Not allowed more than 30 characters.

        " #~ msgstr "

        Inte tillåtet mer än 30 tecken.

        " #~ msgid "Invalid request!" #~ msgstr "Ogiltig Förfrågan!" #~ msgid "No change in file!" #~ msgstr "Ingen ändring i filen!" #~ msgid "File saved successfully!" #~ msgstr "Filen har sparats!" #~ msgid "File not saved!" #~ msgstr "Filen sparades inte!" #~ msgid "Unable to verify security token!" #~ msgstr "Det går inte att verifiera säkerhetstoken!" #~ msgid "Folder created successfully!" #~ msgstr "Mappen skapades framgångsrikt!" #~ msgid "This folder format is not allowed to upload by wordpress!" #~ msgstr "Det här mappformatet får inte laddas upp med wordpress!" #~ msgid "Folder already exists!" #~ msgstr "Mappen finns redan!" #~ msgid "File created successfully!" #~ msgstr "Filen har lyckats!" #~ msgid "This file extension is not allowed to create!" #~ msgstr "Det här tillägget är inte tillåtet att skapa!" #~ msgid "File already exists!" #~ msgstr "Filen finns redan!" #~ msgid "Please enter a valid file extension!" #~ msgstr "Ange ett giltigt filtillägg!" #~ msgid "Folder does not exists!" #~ msgstr "Mappen finns inte!" #~ msgid "Folder deleted successfully!" #~ msgstr "Mappen har tagits bort!" #~ msgid "File deleted successfully!" #~ msgstr "Filen har tagits bort!" #~ msgid "This file extension is not allowed to upload by wordpress!" #~ msgstr "Det här filtillägget får inte laddas upp med wordpress!" #~ msgid " already exists" #~ msgstr " Existerar redan" #~ msgid "File uploaded successfully: Uploaded file path is " #~ msgstr "Filen har laddats upp: Uppladdad filsökväg är " #~ msgid "No file selected" #~ msgstr "Ingen fil vald" #~ msgid "Unable to rename file! Try again." #~ msgstr "Det gick inte att byta namn på filen! Försök igen." #~ msgid "Folder renamed successfully!" #~ msgstr "Mappen har fått nytt namn!" #~ msgid "Please enter correct folder name" #~ msgstr "Ange rätt mappnamn" #~ msgid "How can we help?" #~ msgstr "Hur kan vi hjälpa?" #~ msgid "Learning resources, professional support and expert help." #~ msgstr "Lärande resurser, professionellt stöd och experthjälp." #~ msgid "Documentation" #~ msgstr "Documentation" #~ msgid "Find answers quickly from our comprehensive documentation." #~ msgstr "Hitta svar snabbt från vår omfattande dokumentation." #~ msgid "Learn More" #~ msgstr "Läs mer" #~ msgid "Contact Us" #~ msgstr "Kontakta oss" #~ msgid "Submit a support ticket for answers on questions you may have." #~ msgstr "Skicka in en supportbiljett för svar på frågor du kan ha." #~ msgid "Request a Feature" #~ msgstr "Begär en funktion" #~ msgid "Tell us what you want and will add it to our roadmap." #~ msgstr "Berätta vad du vill ha och lägg till det i vår färdplan." #~ msgid "Tell us what you think!" #~ msgstr "Berätta vad du tycker!" #~ msgid "Rate and give us a review on Wordpress!" #~ msgstr "Betygsätt och ge oss en recension på Wordpress!" #~ msgid "Leave a Review" #~ msgstr "Lämna en recension" #~ msgid "Update" #~ msgstr "Uppdatering" #~ msgid "Click here to install/update " #~ msgstr "Klicka här för att installera / uppdatera " #~ msgid " language translation for Theme Editor." #~ msgstr " språköversättning för Theme Editor." #~ msgid "Installed" #~ msgstr "Installerad" #~ msgid "English is the default language of Theme Editor. " #~ msgstr "Engelska är standardspråket för Theme Editor." #~ msgid "Request " #~ msgstr "Begäran " #~ msgid "Click here to request" #~ msgstr "Klicka här för att begära" #~ msgid "language translation for Theme Editor" #~ msgstr "språköversättning för Theme Editor" #~ msgid "Theme Editor Language:" #~ msgstr "Theme Editor-språk:" #~ msgid " language" #~ msgstr " språk" #~ msgid "Available languages" #~ msgstr "Tillgängliga språk" #~ msgid "Click here to download all available languages." #~ msgstr "Klicka här för att ladda ner alla tillgängliga språk." #~ msgid "Request a language" #~ msgstr "Begär ett språk" #~ msgid "Tell us which language you want to add." #~ msgstr "Berätta vilket språk du vill lägga till." #~ msgid "Contact us" #~ msgstr "Kontakta oss" #~ msgid "Notifications" #~ msgstr "Meddelanden" #~ msgid "" #~ "Note: This is just a screenshot. Buy PRO Version for this feature." #~ "" #~ msgstr "" #~ " Obs! Det här är bara en skärmdump. Köp PRO-version för den här " #~ "funktionen. " #~ msgid "Permissions" #~ msgstr "Behörigheter" #~ msgid "Edit Plugin" #~ msgstr "Redigera plugin" #~ msgid "" #~ "This plugin is currently activated! Warning: Making " #~ "changes to active plugins is not recommended.\tIf your changes cause a " #~ "fatal error, the plugin will be automatically deactivated." #~ msgstr "" #~ " Det här pluginet är för närvarande aktiverat! Varning: " #~ "Att göra ändringar av aktiva plugins rekommenderas inte. Om dina " #~ "ändringar orsakar ett allvarligt fel inaktiveras plugin automatiskt." #~ msgid "Editing " #~ msgstr "Redigering " #~ msgid " (active)" #~ msgstr " (aktiv)" #~ msgid "Browsing " #~ msgstr "Bläddring " #~ msgid " (inactive)" #~ msgstr " (inaktiv)" #~ msgid "Update File" #~ msgstr "Uppdatera fil" #~ msgid "Download Plugin" #~ msgstr "Ladda ner plugin" #~ msgid "" #~ "You need to make this file writable before you can save your changes. See " #~ "
        the Codex for more information." #~ msgstr "" #~ "Du måste göra den här filen skrivbar innan du kan spara dina ändringar. " #~ "Se Codex för mer information." #~ msgid "Select plugin to edit:" #~ msgstr "Välj plugin för att redigera:" #~ msgid "Create Folder and File" #~ msgstr "Skapa mapp och fil" #~ msgid "Create" #~ msgstr "Skapa" #~ msgid "Remove Folder and File" #~ msgstr "Ta bort mapp och fil" #~ msgid "Remove " #~ msgstr "Avlägsna" #~ msgid "To" #~ msgstr "Till" #~ msgid "Optional: Sub-Directory" #~ msgstr "Valfritt: Underkatalog" #~ msgid "Choose File " #~ msgstr "Välj FIL" #~ msgid "No file Chosen " #~ msgstr "Ingen fil vald " #~ msgid "Create a New Folder: " #~ msgstr "Skapa en ny mapp:" #~ msgid "New folder will be created in: " #~ msgstr "Ny mapp skapas i:" #~ msgid "New Folder Name: " #~ msgstr "Nytt mappnamn:" #~ msgid "Create New Folder" #~ msgstr "Skapa ny mapp" #~ msgid "Create a New File: " #~ msgstr "Skapa en ny fil:" #~ msgid "New File will be created in: " #~ msgstr "Ny fil skapas i:" #~ msgid "New File Name: " #~ msgstr "Nytt filnamn:" #~ msgid "Create New File" #~ msgstr "Skapa ny fil" #~ msgid "Warning: please be careful before remove any folder or file." #~ msgstr "Varning: var försiktig innan du tar bort någon mapp eller fil." #~ msgid "Current Theme Path: " #~ msgstr "Nuvarande temabana:" #~ msgid "Remove Folder: " #~ msgstr "Ta bort mapp:" #~ msgid "Folder Path which you want to remove: " #~ msgstr "Mappsökväg som du vill ta bort: " #~ msgid "Remove Folder" #~ msgstr "Ta bort mapp" #~ msgid "Remove File: " #~ msgstr "Ta bort fil:" #~ msgid "File Path which you want to remove: " #~ msgstr "Filväg som du vill ta bort: " #~ msgid "Remove File" #~ msgstr "Ta bort fil" #~ msgid "Please Enter Valid Email Address." #~ msgstr "Ange giltig e-postadress." #~ msgid "Warning: Please be careful before rename any folder or file." #~ msgstr "Varning: Var försiktig innan du byter namn på någon mapp eller fil." #~ msgid "File/Folder will be rename in: " #~ msgstr "Fil / mapp kommer att byta namn på:" #~ msgid "File/Folder Rename: " #~ msgstr "Fil- / mappbyte:" #~ msgid "Rename File" #~ msgstr "Döp om fil" #~ msgid "Follow us" #~ msgstr "Följ oss" #~ msgid "Theme Editor Facebook" #~ msgstr "Temaredaktör Facebook" #~ msgid "Theme Editor Instagram" #~ msgstr "Temaredaktör Instagram" #~ msgid "Theme Editor Twitter" #~ msgstr "Temaredaktör Twitter" #~ msgid "Theme Editor Linkedin" #~ msgstr "Theme Editor Linkedin" #~ msgid "Theme Editor Youtube" #~ msgstr "Theme Editor Youtube" #~ msgid "Logo" #~ msgstr "Logotyp" #~ msgid "Go to ThemeEditor site" #~ msgstr "Gå till ThemeEditor-webbplatsen" #~ msgid "Theme Editor Links" #~ msgstr "Temaredaktörslänkar" #~ msgid "Child Theme" #~ msgstr "Barn tema" #~ msgid "Child Theme Permissions" #~ msgstr "Barn temat tillstånd" #~ msgid " is not available. Please click " #~ msgstr " är inte tillgänglig. var god klicka " #~ msgid "here" #~ msgstr "här" #~ msgid "to request language." #~ msgstr "för att begära språk." #~ msgid "Click" #~ msgstr "Klick" #~ msgid "to install " #~ msgstr "att installera " #~ msgid " language translation for Theme Editor." #~ msgstr " språköversättning för Theme Editor." #~ msgid "Success: Settings Saved!" #~ msgstr "Framgång: Inställningar sparade!" #~ msgid "No changes have been made to save." #~ msgstr "Inga ändringar har gjorts för att spara." #~ msgid "Enable Theme Editor For Themes" #~ msgstr "Aktivera temaredigerare för teman" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nej" #~ msgid "" #~ "This will Enable/Disable the theme editor.
        Default: Yes" #~ msgstr "" #~ "Detta aktiverar / inaktiverar temaredigeraren.
        Standard: Ja" #~ msgid "Disable Default WordPress Theme Editor?" #~ msgstr "Inaktivera standard WordPress Theme Editor?" #~ msgid "" #~ "This will Enable/Disable the Default theme editor.
        Default: Yes" #~ msgstr "" #~ "Detta aktiverar / inaktiverar standardtema-redigeraren.
        Standard: Ja" #~ msgid "Enable Plugin Editor For Plugin" #~ msgstr "Aktivera Plugin Editor för Plugin" #~ msgid "" #~ "This will Enable/Disable the plugin editor.
        Default: Yes" #~ msgstr "" #~ "Detta aktiverar / inaktiverar plugin-redigeraren.
        Standard: Ja" #~ msgid "Disable Default WordPress Plugin Editor?" #~ msgstr "Inaktivera standard WordPress Plugin Editor?" #~ msgid "" #~ "This will Enable/Disable the Default plugin editor.
        Default: Yes" #~ msgstr "" #~ "Detta aktiverar / inaktiverar standardinsticksprogrammet.
        Standard: Ja" #~ msgid "Code Editor" #~ msgstr "Kodredigerare" #~ msgid "" #~ "Allows you to select theme for theme editor.
        Default: Cobalt" #~ msgstr "" #~ "Låter dig välja tema för temaredigerare.
        Standard: Kobolt" #~ msgid "Edit Themes" #~ msgstr "Redigera teman" #~ msgid "" #~ "This theme is currently activated! Warning: Making " #~ "changes to active themes is not recommended." #~ msgstr "" #~ " Detta tema är för närvarande aktiverat! Varning: Att " #~ "göra ändringar i aktiva teman rekommenderas inte." #~ msgid "Editing" #~ msgstr "Redigering" #~ msgid "Browsing" #~ msgstr "Bläddring" #~ msgid "Update File and Attempt to Reactivate" #~ msgstr "Uppdatera fil och försök att återaktivera" #~ msgid "Download Theme" #~ msgstr "Ladda ner tema" #~ msgid "Select theme to edit:" #~ msgstr "Välj tema att redigera:" #~ msgid "Theme Files" #~ msgstr "Temafiler" #~ msgid "Choose File" #~ msgstr "Välj FIL" #~ msgid "No File Chosen" #~ msgstr "Ingen fil vald" #~ msgid "Warning: Please be careful before remove any folder or file." #~ msgstr "Varning: Var försiktig innan du tar bort någon mapp eller fil." #~ msgid "Child Theme Permission" #~ msgstr "Barn tematillstånd" #~ msgid "Translations" #~ msgstr "Översättningar" #~ msgid "create, edit, upload, download, delete Theme Files and folders" #~ msgstr "skapa, redigera, ladda upp, ladda ner, ta bort temafiler och mappar" #~ msgid "You do not have the permission to create new child theme." #~ msgstr "Du har inte behörighet att skapa ett nytt underordnat tema." #~ msgid "" #~ "You do not have the permission to change configure existing child theme." #~ msgstr "" #~ "Du har inte behörighet att ändra konfigurera befintligt underordnat tema." #~ msgid "You do not have the permission to duplicate the child theme." #~ msgstr "Du har inte behörighet att duplicera underordnat tema." #~ msgid "You do not have the permission to access query/ selector menu." #~ msgstr "Du har inte behörighet att komma till frågan / väljarmenyn." #~ msgid "You do not have the permission to access web fonts & CSS menu." #~ msgstr "Du har inte behörighet att komma åt webbfonter och CSS-menyn." #~ msgid "You do not have the permission to copy files." #~ msgstr "Du har inte behörighet att kopiera filer." #~ msgid "You do not have the permission to delete child files." #~ msgstr "Du har inte behörighet att ta bort underordnade filer." #~ msgid "You do not have the permission to upload new screenshot." #~ msgstr "Du har inte behörighet att ladda upp en ny skärmdump." #~ msgid "You do not have the permission to upload new images." #~ msgstr "Du har inte behörighet att ladda upp nya bilder." #~ msgid "You do not have the permission to delete images." #~ msgstr "Du har inte behörighet att radera bilder." #~ msgid "You do not have the permission to download file." #~ msgstr "Du har inte behörighet att ladda ner filen." #~ msgid "You do not have the permission to create new directory." #~ msgstr "Du har inte behörighet att skapa en ny katalog." #~ msgid "You do not have the permission to create new file." #~ msgstr "Du har inte behörighet att skapa en ny fil." #~ msgid "You don't have permission to update file!" #~ msgstr "Du har inte behörighet att uppdatera filen!" #~ msgid "You don't have permission to create folder!" #~ msgstr "Du har inte behörighet att skapa mapp!" #~ msgid "You don't have permission to delete folder!" #~ msgstr "Du har inte behörighet att radera mapp!" #~ msgid "You don't have permission to delete file!" #~ msgstr "Du har inte behörighet att radera fil!" #~ msgid "You don't have permission to upload file!" #~ msgstr "Du har inte behörighet att ladda upp filen!" #~ msgid "Child Theme permissions saved successfully." #~ msgstr "Behörigheter för barntema sparades." #~ msgid "" #~ "There are no changes made in the child theme permissions to be saved." #~ msgstr "" #~ "Det görs inga ändringar i behörigheterna för underordnade temat som ska " #~ "sparas." #~ msgid "Child Theme permission message saved successfully." #~ msgstr "Behörighetsmeddelande för barntema sparades." #~ msgid "Users" #~ msgstr "Användare" #~ msgid "Create New Child Theme" #~ msgstr "Skapa nytt barntema" #~ msgid "Configure an Existing Child Themes" #~ msgstr "Konfigurera ett befintligt barns teman" #~ msgid "Duplicate Child Themes" #~ msgstr "Duplicera teman för barn" #~ msgid "Query/ Selector" #~ msgstr "Fråga / väljare" #~ msgid "Web/font" #~ msgstr "Webb / teckensnitt" #~ msgid "Copy File Parent Theme To Child Theme" #~ msgstr "Kopiera fil Föräldratema till barntema" #~ msgid "Deleted Child Files" #~ msgstr "Borttagna barnfiler" #~ msgid "Upload New Screenshoot" #~ msgstr "Ladda upp ny skärmdump" #~ msgid "Upload New Images" #~ msgstr "Ladda upp nya bilder" #~ msgid "Deleted Images " #~ msgstr "Borttagna bilder" #~ msgid "Download Images" #~ msgstr "Ladda ner bilder" #~ msgid "Create New Directory" #~ msgstr "Skapa ny katalog" #~ msgid "Create New Files" #~ msgstr "Skapa nya filer" #~ msgid "Export Theme" #~ msgstr "Exportera tema" #~ msgid "User Roles" #~ msgstr "Användarroller" #~ msgid "Query/ Seletor" #~ msgstr "Fråga / Seletor" #~ msgid "Deleted Images" #~ msgstr "Borttagna bilder" #~ msgid "Child Theme Permission Message" #~ msgstr "Meddelande om tillstånd för barntema" #~ msgid "You do not have the permission to create new Child Theme." #~ msgstr "Du har inte behörighet att skapa ett nytt barntema." #~ msgid "Query/Selector" #~ msgstr "Fråga / väljare" #~ msgid "You do not have the permission to access query / selector menu." #~ msgstr "Du har inte behörighet att komma till frågan / väljarmenyn." #~ msgid " Web/font" #~ msgstr "Webb / teckensnitt" #~ msgid " Export Theme" #~ msgstr "Exportera tema" #~ msgid "Save Child Theme Message" #~ msgstr "Meddelande om tillstånd för barntema" #~ msgid "Please select atleast one image." #~ msgstr "Välj minst en bild." #~ msgid "You don't have the permission to delete images." #~ msgstr "Du har inte behörighet att ta bort bilder." #~ msgid "You don't have the permission to upload new images." #~ msgstr "Du har inte behörighet att ladda upp nya bilder." #~ msgid "You don't have the permission to download." #~ msgstr "Du har inte behörighet att ladda ner." #~ msgid "You don't have the permission to create new directory." #~ msgstr "Du har inte behörighet att skapa en ny katalog." #~ msgid "Please choose file type." #~ msgstr "Välj filtyp." #~ msgid "Please enter file name." #~ msgstr "Ange filnamn." #~ msgid "You don't have the permission to create new file." #~ msgstr "Du har inte behörighet att skapa en ny fil." #~ msgid "Are you sure to copy parent files into child theme?" #~ msgstr "Är du säker på att kopiera överordnade filer till underordnat tema?" #~ msgid "Please select file(s)." #~ msgstr "Välj fil (er)." #~ msgid "You don't have the permission to copy files." #~ msgstr "Du har inte behörighet att kopiera filer." #~ msgid "Are you sure you want to delete selected file(s)?" #~ msgstr "Är du säker på att du vill ta bort valda filer?" #~ msgid "You don't have the permission to delete child files." #~ msgstr "Du har inte behörighet att ta bort underordnade filer." #~ msgid "You don't have the permission to upload new screenshot." #~ msgstr "Du har inte behörighet att ta bort underordnade filer." #~ msgid "You don't have the permission to export theme." #~ msgstr "Du har inte behörighet att exportera tema." #~ msgid "You don't have the permission to access Query/ Selector menu." #~ msgstr "Du har inte behörighet att komma till menyn Fråga / väljare." #~ msgid "You don't have the permission to access Web Fonts & CSS menu." #~ msgstr "Du har inte behörighet att komma åt menyn Web Fonts & CSS." #~ msgid "Current Analysis Theme:" #~ msgstr "Nuvarande analystema:" #~ msgid "Preview Theme" #~ msgstr "Förhandsgranska tema" #~ msgid "Parent Themes" #~ msgstr "Överordnade teman" #~ msgid "Child Themes" #~ msgstr "Barnteman" #~ msgid "Error: Settings Not Saved!" #~ msgstr "Fel: Inställningar sparades inte!" #~ msgid "Email List" #~ msgstr "E-postlista" #~ msgid "Email Address" #~ msgstr "E-postadress" #~ msgid "Enter Email" #~ msgstr "Skriv in e-mail" #~ msgid "Add More" #~ msgstr "Lägga till mer" #~ msgid "" #~ "This address is used for notification purposes, like theme/plugin " #~ "notification." #~ msgstr "" #~ "Den här adressen används för anmälningssyfte, som teman / plugin-anmälan." #~ msgid "Theme Notification" #~ msgstr "Tema anmälan" #~ msgid "Notify on file update" #~ msgstr "Meddela om filuppdatering" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: Yes" #~ msgstr "" #~ "Avisering om redigering eller uppdatering av temafiler.
        " #~ "Standard: Ja" #~ msgid "Notify on files download" #~ msgstr "Meddela vid nedladdning av filer" #~ msgid "" #~ "Notification on theme file edit download.
        Default: Yes" #~ msgstr "" #~ "Meddelande om nedladdning av temafilredigering.
        Standard: " #~ " Ja" #~ msgid "Notify on theme download" #~ msgstr "Meddela vid nedladdning av tema" #~ msgid "Notification on theme download.
        Default: Yes" #~ msgstr "" #~ "Meddelande om nedladdning av tema.
        Standard: Ja" #~ msgid "Notify on files upload" #~ msgstr "Meddela vid uppladdning av filer" #~ msgid "" #~ "Notification on files upload in theme.
        Default: Yes" #~ msgstr "" #~ "Meddelande om filer som laddas upp i tema.
        Standard: Ja" #~ msgid "Notify on create new file/folder" #~ msgstr "Meddela vid skapa ny fil / mapp" #~ msgid "" #~ "Notification on create new file/folder in theme.
        Default: Yes" #~ msgstr "" #~ "Meddelande om att skapa en ny fil / mapp i temat.
        " #~ "Standard: Ja" #~ msgid "Notify on delete" #~ msgstr "Meddela vid radering" #~ msgid "" #~ "Notify on delete any file and folder in themes.
        Default: Yes" #~ msgstr "" #~ "Meddela vid radering av alla filer och mappar i teman.
        " #~ "Standard: Ja" #~ msgid "Notify on create New Child theme" #~ msgstr "Meddela om skapa tema för nytt barn" #~ msgid "" #~ "Notify on Create New Child themes.
        Default: Yes" #~ msgstr "" #~ "Meddela om teman Skapa nya barn.
        Standard: Ja" #~ msgid "Notify on configure an Existing Child themes" #~ msgstr "Meddela vid konfigurera teman för befintligt barn" #~ msgid "" #~ "Notify on configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Meddela vid konfigurera ett befintligt barns teman.
        " #~ "Standard: Ja" #~ msgid "Notify on Duplicate Child themes" #~ msgstr "Meddela om Duplicate Child-teman" #~ msgid "" #~ "Notify on Configure an Existing Child themes.
        Default: Yes" #~ msgstr "" #~ "Meddela om Konfigurera teman för befintliga barn.
        " #~ "Standard: Ja" #~ msgid "Plugin Notification" #~ msgstr "Meddelande om plugin" #~ msgid "" #~ "Notification on theme file edit or update.
        Default: yes" #~ msgstr "" #~ "Meddelande om redigering eller uppdatering av temafiler.
        " #~ "Standard: ja" #~ msgid "Notify on Plugin download" #~ msgstr "Meddela vid nedladdning av plugin" #~ msgid "Notification on Plugin download.
        Default: Yes" #~ msgstr "" #~ "Meddelande om nedladdning av plugin.
        Standard: Ja" #~ msgid "" #~ "Notification on file upload in theme.
        Default: Yes" #~ msgstr "" #~ "Meddelande om filöverföring i tema.
        Standard: Ja" #~ msgid "Permission saved successfully." #~ msgstr "Behörigheten sparades." #~ msgid "Oops! Permission cannot saved because you have not made any changes." #~ msgstr "" #~ "hoppsan! Behörigheten kan inte sparas eftersom du inte har gjort några " #~ "ändringar." #~ msgid "Allowed User Roles" #~ msgstr "Tillåtna användarroller" #~ msgid "Update theme files" #~ msgstr "Uppdatera temafiler" #~ msgid "Create new theme files and folders" #~ msgstr "Skapa nya temafiler och mappar" #~ msgid "Upload new theme files and folders" #~ msgstr "Ladda upp nya temafiler och mappar" #~ msgid "Download theme files" #~ msgstr "Ladda ner temafiler" #~ msgid "Download theme" #~ msgstr "Ladda ner tema" #~ msgid "Update plugin files" #~ msgstr "Uppdatera plugin-filer" #~ msgid "Create new plugin files and folders" #~ msgstr "Uppdatera plugin-filer" #~ msgid "Upload new plugin files and folders" #~ msgstr "Ladda upp nya plugin-filer och mappar" #~ msgid "Delete plugin files and folders" #~ msgstr "Ta bort plugin-filer och mappar" #~ msgid "Download plugin files" #~ msgstr "Ladda ner plugin-filer" #~ msgid "Download plugin" #~ msgstr "Ladda ner plugin" #~ msgid "" #~ "Theme Editor PRO - Please add your order details below. If Not Buy Now" #~ msgstr "" #~ "Theme Editor PRO - Lägg till din beställningsinformation nedan. Om inte " #~ "Köp nu " #~ msgid "ORDER ID (#) *" #~ msgstr "BESTÄLLNINGSID (#) *" #~ msgid "Enter Order ID" #~ msgstr "Ange order-ID" #~ msgid "Please Check Your email for order ID." #~ msgstr "Kontrollera din e-post för beställnings-ID." #~ msgid "LICENCE KEY *" #~ msgstr "LICENSNYCKEL *" #~ msgid "Enter License Key" #~ msgstr "Ange licensnyckel" #~ msgid "Please Check Your email for Licence Key." #~ msgstr "Kontrollera din e-post för licensnyckel." #~ msgid "Click To Verify" #~ msgstr "Klicka för att verifiera" #~ msgid "URL/None" #~ msgstr "URL / Ingen" #~ msgid "Origin" #~ msgstr "Ursprung" #~ msgid "Color 1" #~ msgstr "Färg 1" #~ msgid "Color 2" #~ msgstr "Färg 2" #~ msgid "Width/None" #~ msgstr "Bredd / Ingen" #~ msgid "Style" #~ msgstr "Style" #~ msgid "Color" #~ msgstr "Färg" #~ msgid "Configure Child Theme" #~ msgstr "Konfigurera barntema" #~ msgid "Duplicate Child theme" #~ msgstr "Duplicera teman för barn" #~ msgid "" #~ "After analyzing, this theme is working fine. You can use this as your " #~ "Child Theme." #~ msgstr "" #~ "Efter analysen fungerar det här temat bra. Du kan använda detta som ditt " #~ "barns tema." #~ msgid "" #~ "After analyzing this child theme appears to be functioning correctly." #~ msgstr "Efter att ha analyserat verkar detta barns tema fungera korrekt." #~ msgid "" #~ "This theme loads additional stylesheets after the style.css " #~ "file:" #~ msgstr "" #~ "Detta tema laddar ytterligare formatmallar efter filen style.css :" #~ msgid "The theme" #~ msgstr "Temanamn" #~ msgid " could not be analyzed because the preview did not render correctly" #~ msgstr "" #~ "kunde inte analyseras eftersom förhandsgranskningen inte renderades " #~ "korrekt" #~ msgid "This Child Theme has not been configured for this plugin" #~ msgstr "Detta underordnade tema har inte konfigurerats för detta plugin" #~ msgid "" #~ "The Configurator makes significant modifications to the child theme, " #~ "including stylesheet changes and additional php functions. Please " #~ "consider using the DUPLICATE child theme option (see step 1, above) and " #~ "keeping the original as a backup." #~ msgstr "" #~ "Configurator gör betydande ändringar i underordnat tema, inklusive " #~ "formatmalländringar och ytterligare php-funktioner. Överväg att använda " #~ "alternativet DUPLICATE-temat för barn (se steg 1 ovan) och behålla " #~ "originalet som en säkerhetskopia." #~ msgid "All webfonts/css information saved successfully." #~ msgstr "All webbfonts / css-information har sparats." #~ msgid "Please enter value for webfonts/css." #~ msgstr "Ange värde för webbfonts / css." #~ msgid "You don\\'t have permission to update webfonts/css." #~ msgstr "Du har inte behörighet att uppdatera webbfonts / css." #~ msgid "All information saved successfully." #~ msgstr "All information sparades framgångsrikt." #~ msgid "" #~ "Are you sure you wish to RESET? This will destroy any work you have done " #~ "in the Configurator." #~ msgstr "" #~ "Är du säker på att du vill återställa? Detta kommer att förstöra allt " #~ "arbete du har gjort i Configurator." #~ msgid "Selectors" #~ msgstr "Väljare" #~ msgid "Edit Selector" #~ msgstr "Redigera väljaren" #~ msgid "The stylesheet cannot be displayed." #~ msgstr "Stilarket kan inte visas." #~ msgid "(Child Only)" #~ msgstr "(Endast barn)" #~ msgid "Please enter a valid Child Theme." #~ msgstr "Ange ett giltigt barntema." #~ msgid "Please enter a valid Child Theme name." #~ msgstr "Ange ett giltigt barntema namn." #, php-format #~ msgid "%s exists. Please enter a different Child Theme" #~ msgstr "%s existerar. Ange ett annat barns tema" #~ msgid "The page could not be loaded correctly." #~ msgstr "Sidan kunde inte laddas korrekt." #~ msgid "" #~ "Conflicting or out-of-date jQuery libraries were loaded by another plugin:" #~ msgstr "" #~ "Motstridiga eller inaktuella jQuery-bibliotek laddades med ett annat " #~ "plugin:" #~ msgid "Deactivating or replacing plugins may resolve this issue." #~ msgstr "Att avaktivera eller ersätta plugins kan lösa problemet." #~ msgid "No result found for the selection." #~ msgstr "Inget resultat hittades för valet." #, php-format #~ msgid "%sWhy am I seeing this?%s" #~ msgstr "%sVarför ser jag detta?%s" #~ msgid "Parent / Child" #~ msgstr "Förälder / barn" #~ msgid "Select an action:" #~ msgstr "Välj en åtgärd:" #~ msgid "Create a new Child Theme" #~ msgstr "Skapa ett nytt barntema" #~ msgid "Configure an existing Child Theme" #~ msgstr "Konfigurera ett befintligt barnetema" #~ msgid "Duplicate an existing Child Theme" #~ msgstr "Duplicera ett befintligt barnetema" #~ msgid "Select a Parent Theme:" #~ msgstr "Välj ett överordnat tema:" #~ msgid "Analyze Parent Theme" #~ msgstr "Analysera överordnat tema" #~ msgid "" #~ "Click \"Analyze\" to determine stylesheet dependencies and other " #~ "potential issues." #~ msgstr "" #~ "Klicka på \"Analysera\" för att fastställa beroenden för formatmallar och " #~ "andra potentiella problem." #~ msgid "Analyze" #~ msgstr "Analysera" #~ msgid "Select a Child Theme:" #~ msgstr "Välj ett barntema:" #~ msgid "Analyze Child Theme" #~ msgstr "Analysera barnens tema" #~ msgid "Name the new theme directory:" #~ msgstr "Namnge den nya temakatalogen:" #~ msgid "Directory Name" #~ msgstr "Katalognamn" #~ msgid "NOTE:" #~ msgstr "NOTERA:" #~ msgid "" #~ "This is NOT the name of the Child Theme. You can customize the name, " #~ "description, etc. in step 7, below." #~ msgstr "" #~ "Detta är INTE namnet på Child Theme. Du kan anpassa namnet, beskrivningen " #~ "etc. i steg 7 nedan." #~ msgid "Verify Child Theme directory:" #~ msgstr "Verifiera barnkatalogen:" #~ msgid "" #~ "For verification only (you cannot modify the directory of an existing " #~ "Child Theme)." #~ msgstr "" #~ "Endast för verifiering (du kan inte ändra katalogen för ett befintligt " #~ "barnetema)." #~ msgid "Select where to save new styles:" #~ msgstr "Välj var du vill spara nya stilar:" #~ msgid "Primary Stylesheet (style.css)" #~ msgstr "Primär stilark (style.css)" #~ msgid "" #~ "Save new custom styles directly to the Child Theme primary stylesheet, " #~ "replacing the existing values. The primary stylesheet will load in the " #~ "order set by the theme." #~ msgstr "" #~ "Spara nya anpassade formatmallar direkt till det primära formatmallen för " #~ "underordnat tema och ersätt de befintliga värdena. Det primära " #~ "formatmallen laddas i den ordning som temat har ställt in." #~ msgid "Separate Stylesheet" #~ msgstr "Separat stilark" #~ msgid "" #~ "Save new custom styles to a separate stylesheet and combine any existing " #~ "child theme styles with the parent to form baseline. Select this option " #~ "if you want to preserve the existing child theme styles instead of " #~ "overwriting them. This option also allows you to customize stylesheets " #~ "that load after the primary stylesheet." #~ msgstr "" #~ "Spara nya anpassade stilar i ett separat formatmall och kombinera " #~ "eventuella befintliga underordnade temastilar med föräldern för att bilda " #~ "baslinjen. Välj det här alternativet om du vill behålla befintliga " #~ "underordnade temastilar istället för att skriva över dem. Med det här " #~ "alternativet kan du också anpassa formatmallar som laddas efter det " #~ "primära formatmallen." #~ msgid "Select Parent Theme stylesheet handling:" #~ msgstr "Välj hantering av överordnat tema:" #~ msgid "Use the WordPress style queue." #~ msgstr "Använd WordPress-stilkön." #~ msgid "" #~ "Let the Configurator determine the appropriate actions and dependencies " #~ "and update the functions file automatically." #~ msgstr "" #~ "Låt Configurator bestämma lämpliga åtgärder och beroenden och uppdatera " #~ "funktionsfilen automatiskt." #~ msgid "Use @import in the child theme stylesheet." #~ msgstr "Använd @import i den underordnade teman." #~ msgid "" #~ "Only use this option if the parent stylesheet cannot be loaded using the " #~ "WordPress style queue. Using @import is not recommended." #~ msgstr "" #~ "Använd endast det här alternativet om det överordnade formatmallen inte " #~ "kan laddas med WordPress-stilkön. Användning av @import " #~ "rekommenderas inte." #~ msgid "Do not add any parent stylesheet handling." #~ msgstr "Lägg inte till någon överordnad stilarkhantering." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not " #~ "used for its appearance." #~ msgstr "" #~ "Välj det här alternativet om det här temat redan hanterar formatmallen " #~ "för det överordnade temat eller om överordnat temas style.css -fil inte används för dess utseende." #~ msgid "Advanced handling options" #~ msgstr "Avancerade hanteringsalternativ" #~ msgid "Ignore parent theme stylesheets." #~ msgstr "Ignorera överordnade temastilar." #~ msgid "" #~ "Select this option if this theme already handles the parent theme " #~ "stylesheet or if the parent theme's style.css file is not used for its " #~ "appearance." #~ msgstr "" #~ "Välj det här alternativet om det här temat redan hanterar formatmallen " #~ "för det överordnade temat eller om överordnat temas style.css-fil inte " #~ "används för att se ut." #~ msgid "Repair the header template in the child theme." #~ msgstr "Reparera rubrikmallen i underordnat tema." #~ msgid "" #~ "Let the Configurator (try to) resolve any stylesheet issues listed above. " #~ "This can fix many, but not all, common problems." #~ msgstr "" #~ "Låt Configurator (försöka) lösa eventuella problem med stilarket som " #~ "anges ovan. Detta kan lösa många, men inte alla, vanliga problem." #~ msgid "Remove stylesheet dependencies" #~ msgstr "Ta bort beroenden för formatmallar" #~ msgid "" #~ "By default, the order of stylesheets that load prior to the primary " #~ "stylesheet is preserved by treating them as dependencies. In some cases, " #~ "stylesheets are detected in the preview that are not used site-wide. If " #~ "necessary, dependency can be removed for specific stylesheets below." #~ msgstr "" #~ "Som standard bevaras ordningen på formatmallar som laddas före det " #~ "primära formatmallen genom att behandla dem som beroenden. I vissa fall " #~ "upptäcks formatmallar i förhandsgranskningen som inte används på hela " #~ "webbplatsen. Om det behövs kan beroendet tas bort för specifika " #~ "formatmallar nedan." #~ msgid "Child Theme Name" #~ msgstr "Namn på barntema" #~ msgid "Theme Name" #~ msgstr "Temanamn" #~ msgid "Theme Website" #~ msgstr "Temawebbplats" #~ msgid "Author" #~ msgstr "Författare" #~ msgid "Author Website" #~ msgstr "Författarens webbplats" #~ msgid "Theme Description" #~ msgstr "Temabeskrivning" #~ msgid "Description" #~ msgstr "Beskrivning" #~ msgid "Tags" #~ msgstr "Taggar" #~ msgid "" #~ "Copy Menus, Widgets and other Customizer Settings from the Parent Theme " #~ "to the Child Theme:" #~ msgstr "" #~ "Kopiera menyer, widgetar och andra anpassningsinställningar från " #~ "föräldratemat till barntema:" #~ msgid "" #~ "This option replaces the Child Theme's existing Menus, Widgets and other " #~ "Customizer Settings with those from the Parent Theme. You should only " #~ "need to use this option the first time you configure a Child Theme." #~ msgstr "" #~ "Det här alternativet ersätter barntemas befintliga menyer, widgets och " #~ "andra anpassningsinställningar med de från överordnat tema. Du behöver " #~ "bara använda det här alternativet första gången du konfigurerar ett " #~ "barntema." #~ msgid "Click to run the Configurator:" #~ msgstr "Klicka för att köra Configurator:" #~ msgid "Query / Selector" #~ msgstr "Fråga / väljare" #~ msgid "" #~ "To find specific selectors within @media query blocks, first choose the " #~ "query, then the selector. Use the \"base\" query to edit all other " #~ "selectors." #~ msgstr "" #~ "För att hitta specifika väljare i @media-frågeblock, välj först frågan " #~ "och sedan väljaren. Använd \"bas\" -frågan för att redigera alla andra " #~ "väljare." #~ msgid "@media Query" #~ msgstr "@media Fråga" #~ msgid "( or \"base\" )" #~ msgstr "(eller \"bas\")" #~ msgid "Selector" #~ msgstr "Väljare" #~ msgid "Query/Selector Action" #~ msgstr "Fråga / väljaråtgärd" #~ msgid "Save Child Values" #~ msgstr "Spara barnvärden" #~ msgid "Delete Child Values" #~ msgstr "Ta bort underordnade värden" #~ msgid "Property" #~ msgstr "egendom" #~ msgid "Baseline Value" #~ msgstr "Basvärde" #~ msgid "Child Value" #~ msgstr "Barnvärde" #~ msgid "error" #~ msgstr "fel" #~ msgid "You do not have permission to configure child themes." #~ msgstr "Du har inte behörighet att konfigurera underordnade teman." #, php-format #~ msgid "%s does not exist. Please select a valid Parent Theme." #~ msgstr "%s finns inte. Välj ett giltigt överordnat tema." #~ msgid "The Functions file is required and cannot be deleted." #~ msgstr "Funktionsfilen krävs och kan inte raderas." #~ msgid "Please select a valid Parent Theme." #~ msgstr "Välj ett giltigt överordnat tema." #~ msgid "Please select a valid Child Theme." #~ msgstr "Välj ett giltigt barntema." #~ msgid "Please enter a valid Child Theme directory name." #~ msgstr "Ange ett giltigt katalogtema för barntema." #, php-format #~ msgid "" #~ "%s exists. Please enter a different Child Theme template " #~ "name." #~ msgstr "%s existerar. Ange ett annat namn för barntema." #~ msgid "Your theme directories are not writable." #~ msgstr "Dina temakataloger är inte skrivbara." #~ msgid "Could not upgrade child theme" #~ msgstr "Det gick inte att uppgradera underordnat tema" #~ msgid "Your stylesheet is not writable." #~ msgstr "Ditt formatmall är inte skrivbart." #~ msgid "" #~ "A closing PHP tag was detected in Child theme functions file so \"Parent " #~ "Stylesheet Handling\" option was not configured. Closing PHP at the end " #~ "of the file is discouraged as it can cause premature HTTP headers. Please " #~ "edit functions.php to remove the final ?> " #~ "tag and click \"Generate/Rebuild Child Theme Files\" again." #~ msgstr "" #~ "En avslutande PHP-tagg upptäcktes i Child-temafunktionsfilen så " #~ "alternativet \"Parent Stylesheet Handling\" konfigurerades inte. Att " #~ "stänga PHP i slutet av filen avskräcks eftersom det kan orsaka för tidiga " #~ "HTTP-rubriker. Redigera functions.php för att ta bort den " #~ "slutliga ?> -taggen och klicka på \"Generate / Rebuild " #~ "Child Theme Files\" igen." #, php-format #~ msgid "Could not copy file: %s" #~ msgstr "Det gick inte att kopiera filen: %s" #, php-format #~ msgid "Could not delete %s file." #~ msgstr "Det gick inte att ta bort %s-filen." #, php-format #~ msgid "could not copy %s" #~ msgstr "kunde inte kopiera %s" #, php-format #~ msgid "invalid dir: %s" #~ msgstr "ogiltig dir: %s" #~ msgid "There were errors while resetting permissions." #~ msgstr "Det uppstod fel vid återställning av behörigheter." #~ msgid "Could not upload file." #~ msgstr "Det gick inte att ladda upp filen." #~ msgid "Invalid theme root directory." #~ msgstr "Ogiltig rotkatalog för tema." #~ msgid "No writable temp directory." #~ msgstr "Ingen skrivbar tempkatalog." #, php-format #~ msgid "Unpack failed -- %s" #~ msgstr "Uppackningen misslyckades -- %s" #, php-format #~ msgid "Pack failed -- %s" #~ msgstr "Pack misslyckades -- %s" #~ msgid "Maximum number of styles exceeded." #~ msgstr "Maximalt antal format överskridits." #, php-format #~ msgid "Error moving file: %s" #~ msgstr "Fel vid flytt av fil: %s" #~ msgid "Could not set write permissions." #~ msgstr "Det gick inte att ställa in skrivbehörigheter." #~ msgid "Error:" #~ msgstr "Fel:" #, php-format #~ msgid "Current Analysis Child Theme %s has been reset." #~ msgstr "Nuvarande analysbarntema %s har återställts." #~ msgid "Update Key saved successfully." #~ msgstr "Uppdateringsnyckeln sparades." #~ msgid "Child Theme files modified successfully." #~ msgstr "Barnens temafiler har ändrats." #, php-format #~ msgid "Child Theme %s has been generated successfully." #~ msgstr "Barntema %s har genererats framgångsrikt." #~ msgid "Web Fonts & CSS" #~ msgstr "Webbteckensnitt och CSS" #~ msgid "Parent Styles" #~ msgstr "Föräldrastilar" #~ msgid "Child Styles" #~ msgstr "Barnstilar" #~ msgid "View Child Images" #~ msgstr "Visa barnbilder" #~ msgid "" #~ "Use @import url( [path] ); to link additional stylesheets. " #~ "This Plugin uses the @import keyword to identify them and " #~ "convert them to <link> tags. Example:" #~ msgstr "" #~ "Använd @import url ([path]); för att länka ytterligare " #~ "formatmallar. Detta plugin använder nyckelordet @import " #~ "för att identifiera dem och konvertera dem till <link> " #~ "-taggar. Exempel: " #~ msgid "Save" #~ msgstr "Spara" #~ msgid "Uploading image with same name will replace with existing image." #~ msgstr "" #~ "Uppladdning av bild med samma namn kommer att ersättas med befintlig bild." #~ msgid "Upload New Child Theme Image" #~ msgstr "Ladda upp en ny barntema" #~ msgid "Delete Selected Images" #~ msgstr "Radera valda bilder" #~ msgid "Create a New Directory" #~ msgstr "Skapa en ny katalog" #~ msgid "New Directory will be created in" #~ msgstr "Ny katalog skapas i" #~ msgid "New Directory Name" #~ msgstr "Nytt katalognamn" #~ msgid "Create a New File" #~ msgstr "Skapa en ny fil" #~ msgid "New File will be created in" #~ msgstr "Ny fil skapas i" #~ msgid "New File Name" #~ msgstr "Nytt filnamn" #~ msgid "File Type Extension" #~ msgstr "Filtypstillägg" #~ msgid "Choose File Type" #~ msgstr "Välj filtyp" #~ msgid "PHP File" #~ msgstr "PHP-fil" #~ msgid "CSS File" #~ msgstr "CSS-fil" #~ msgid "JS File" #~ msgstr "JS-fil" #~ msgid "Text File" #~ msgstr "Textfil" #~ msgid "PHP File Type" #~ msgstr "PHP-filtyp" #~ msgid "Simple PHP File" #~ msgstr "Enkel PHP-fil" #~ msgid "Wordpress Template File" #~ msgstr "Wordpress mallfil" #~ msgid "Template Name" #~ msgstr "Mallnamn" #~ msgid "Parent Templates" #~ msgstr "Överordnade mallar" #~ msgid "" #~ "Copy PHP templates from the parent theme by selecting them here. The " #~ "Configurator defines a template as a Theme PHP file having no PHP " #~ "functions or classes. Other PHP files cannot be safely overridden by a " #~ "child theme." #~ msgstr "" #~ "Kopiera PHP-mallar från det överordnade temat genom att välja dem här. " #~ "Configurator definierar en mall som en temaphp-fil utan PHP-funktioner " #~ "eller klasser. Andra PHP-filer kan inte säkert åsidosättas av ett " #~ "underordnat tema." #~ msgid "" #~ "CAUTION: If your child theme is active, the child theme version of the " #~ "file will be used instead of the parent immediately after it is copied." #~ msgstr "" #~ "FÖRSIKTIGHET: Om ditt barns tema är aktivt, kommer barnets tematversion " #~ "av filen att användas istället för föräldern omedelbart efter att den har " #~ "kopierats." #~ msgid "The " #~ msgstr "De" #~ msgid " file is generated separately and cannot be copied here. " #~ msgstr "filen genereras separat och kan inte kopieras här." #~ msgid "Copy Selected to Child Theme" #~ msgstr "Kopiera Selected to Child Theme" #~ msgid " Child Theme Files " #~ msgstr "Barn temafiler" #~ msgid "Click to edit files using the Theme Editor" #~ msgstr "Klicka för att redigera filer med temaredigeraren" #~ msgid "Delete child theme templates by selecting them here." #~ msgstr "Ta bort underordnade temamallar genom att välja dem här." #~ msgid "Delete Selected" #~ msgstr "Radera valda" #~ msgid "Child Theme Screenshot" #~ msgstr "Skärmdump för temat för barn" #~ msgid "Upload New Screenshot" #~ msgstr "Ladda upp ny skärmdump" #~ msgid "" #~ "The theme screenshot should be a 4:3 ratio (e.g., 880px x 660px) JPG, PNG " #~ "or GIF. It will be renamed" #~ msgstr "" #~ "Temaskärmbilden ska vara i förhållandet 4: 3 (t.ex. 880 pixlar x 660 " #~ "pixlar) JPG, PNG eller GIF. Det kommer att döpas om" #~ msgid "Screenshot" #~ msgstr "Skärmdump" #~ msgid "Upload New Child Theme Image " #~ msgstr "Ladda upp en ny barntema" #~ msgid "" #~ "Theme images reside under the images directory in your child theme and " #~ "are meant for stylesheet use only. Use the Media Library for content " #~ "images." #~ msgstr "" #~ "Temabilder finns under bildkatalogen i ditt barns tema och är endast " #~ "avsedda för stilark. Använd mediebiblioteket för innehållsbilder." #~ msgid "Preview Current Child Theme (Current analysis)" #~ msgstr "Förhandsgranska aktuellt barns tema (aktuell analys)" #~ msgid "Preview Current Child Theme" #~ msgstr "Förhandsgranska aktuellt barntema" #~ msgid "Export Child Theme as Zip Archive" #~ msgstr "Exportera barntema som zip-arkiv" #~ msgid "" #~ "Click \"Export Zip\" to save a backup of the currently loaded child " #~ "theme. You can export any of your themes from the Parent/Child tab." #~ msgstr "" #~ "Klicka på \"Exportera zip\" för att spara en säkerhetskopia av det för " #~ "närvarande laddade underordnade temat. Du kan exportera något av dina " #~ "teman från fliken Förälder / barn." #~ msgid "Export Child Theme" #~ msgstr "Exportera barntema" #~ msgid "Child Theme file(s) copied successfully!" #~ msgstr "Barnens temafil (er) kopierades framgångsrikt!" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates does not exist" #~ msgstr "Filen som du försöker kopiera från överordnade mallar finns inte" #~ msgid "" #~ "The file which you are trying to copy from Parent Templates is already " #~ "present in the Child Theme files." #~ msgstr "" #~ "Filen som du försöker kopiera från överordnade mallar finns redan i " #~ "underordnade temafiler." #~ msgid "Child " #~ msgstr "Barn" #~ msgid " and Parent " #~ msgstr "och förälder" #~ msgid " directories doesn't exist!" #~ msgstr "kataloger finns inte!" #~ msgid " directory doesn't exist!" #~ msgstr "katalog finns inte!" #~ msgid "Parent " #~ msgstr "Förälder" #~ msgid "Unknown error! " #~ msgstr "Okänt fel!" #~ msgid "You don't have permission to copy the files!" #~ msgstr "Du har inte behörighet att kopiera filerna!" #~ msgid "All selected file(s) have been deleted successfully!" #~ msgstr "Alla valda filer har tagits bort!" #~ msgid " does not exists!" #~ msgstr "existerar inte!" #~ msgid "This file extension is not allowed to upload!" #~ msgstr "Det här filtillägget får inte laddas upp!" #~ msgid "Image uploaded successfully!" #~ msgstr "Bilden har laddats upp!" #~ msgid "There is some issue in uploading image!" #~ msgstr "Det finns något problem med att ladda upp bild!" #~ msgid "" #~ "This file extension is not allowed to upload as screenshot by wordpress!" #~ msgstr "" #~ "Det här filtillägget får inte laddas upp som skärmdump av wordpress!" #~ msgid "File uploaded successfully!" #~ msgstr "Filen har laddats upp!" #~ msgid "Child Theme files can't be modified." #~ msgstr "Barntema-filer kan inte ändras." #~ msgid "File(s) deleted successfully!" #~ msgstr "Fil (er) har tagits bort!" #~ msgid "You don't have permission to delete file(s)!" #~ msgstr "Du har inte behörighet att radera filer!" #~ msgid "Entered directory name already exists" #~ msgstr "Det angivna katalognamnet finns redan" #~ msgid "You don't have permission to create directory!" #~ msgstr "Du har inte behörighet att skapa katalog!" #~ msgid "Wordpress template file created" #~ msgstr "Wordpress-mallfil skapad" #~ msgid "Wordpress template file not created" #~ msgstr "Wordpress-mallfilen har inte skapats" #~ msgid "PHP created file successfully" #~ msgstr "PHP-skapad fil lyckades" #~ msgid "PHP file not created" #~ msgstr "PHP-fil har inte skapats" #~ msgid " file not created" #~ msgstr "filen har inte skapats" #~ msgid "You don't have permission to create file!" #~ msgstr "Du har inte behörighet att skapa fil!" #~ msgid "Language folder has been downlaoded." #~ msgstr "Språkmappen har nedlagts." #~ msgid "Add single or multiple languages." #~ msgstr "Lägg till enstaka eller flera språk." #~ msgid "Add single language file" #~ msgstr "Lägg till en språkfil" #~ msgid "Please click on language button." #~ msgstr "Klicka på språkknappen." #~ msgid "Add all languages zip folder" #~ msgstr "Lägg till alla språk zip-mappen" #~ msgid "Zip Download" #~ msgstr "Zip-nedladdning" wp-file-manager/languages/wp-file-manager-te.mo000064400000072470151202472330015414 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&T(0*]+B,g,kY- -R-%./121?3q344"J5m5,55K66h6]64I7i~7!7; 8F8>d8"8?8d92k9'9d9i+:7::.:` ;Nm;;B<[<u<4<<< =Z =Gh==G?>1>>DF??CAzADCBMBB6nC9EhE(HFqFFoFI" K6CKbzK MNP/NR~RRlRS1SaS4CT-xT-THT+U,IUEvUUUVQWR=XXXXQAY?Y<YvZZZWZk[Y[Y[9\U]3^cO^Q^N_T_n_$L`(q`/`F`aUa'aq"bb(b+b4b#.c+Rcb~c!cCd3GdU{dqdQCeese("f%KfqfgZ!gH|gEg h"h=hKh8iHi}Wiais7jgjskjkvkWilAl!mf%mTmQm3n$nn%o\*o8oRoArxUrrsat}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 12:14+0530 Last-Translator: admin Language-Team: Language: te MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * అన్ని కార్యకలాపాలకు మరియు కొంత ఆపరేషన్‌ను అనుమతించడానికి మీరు ఆపరేషన్ పేరును ఇలా పేర్కొనవచ్చు, అనుమతి_ఆపరేషన్స్="అప్‌లోడ్, డౌన్‌లోడ్". గమనిక: కామా(,)తో వేరు చేయబడింది. డిఫాల్ట్: *-> ఇది నిర్దిష్ట వినియోగదారుల ఐడిలను కామాలతో (,) వేరు చేయడం ద్వారా నిషేధిస్తుంది. వినియోగదారు నిషేధించబడితే, వారు ఫ్రంట్ ఎండ్‌లో wp ఫైల్ మేనేజర్‌ని యాక్సెస్ చేయలేరు.-> ఫైల్ మేనేజర్ థీమ్. డిఫాల్ట్: కాంతి-> ఫైల్ సవరించబడింది లేదా తేదీ ఆకృతిని సృష్టించండి. డిఫాల్ట్: d M, Y h:i A-> ఫైల్ మేనేజర్ భాష. డిఫాల్ట్: ఇంగ్లీష్(en)-> ఫైల్‌మేనేజర్ UI వీక్షణ. డిఫాల్ట్: గ్రిడ్చర్యఎంచుకున్న బ్యాకప్(లు)పై చర్యలుఅడ్మిన్ ఏ యూజర్ యొక్క చర్యలు పరిమితం చేయవచ్చు. వేర్వేరు వినియోగదారుల కోసం వేర్వేరు ఫోల్డర్ల మార్గాలు - ఫైల్లను మరియు ఫోల్డర్లను కూడా దాచండి మరియు వివిధ సెట్ చేయవచ్చు.అడ్మిన్ ఏ వినియోగదారుని యొక్క చర్యలను నియంత్రించగలదు. విభిన్న వినియోగదారుల పాత్రలకు వేర్వేరు ఫోల్డర్ల మార్గాలు - ఫైల్లను మరియు ఫోల్డర్లను కూడా దాచండి మరియు వివిధ సెట్ చేయవచ్చు.ట్రాష్‌ని ప్రారంభించిన తర్వాత, మీ ఫైల్‌లు ట్రాష్ ఫోల్డర్‌కి వెళ్తాయి.దీన్ని ప్రారంభించిన తర్వాత అన్ని ఫైల్‌లు మీడియా లైబ్రరీకి వెళ్తాయి.అన్నీ పూర్తయ్యాయిమీరు ఎంచుకున్న బ్యాకప్(ల)ని ఖచ్చితంగా తీసివేయాలనుకుంటున్నారా?మీరు ఖచ్చితంగా ఈ బ్యాకప్‌ని తొలగించాలనుకుంటున్నారా?మీరు ఖచ్చితంగా ఈ బ్యాకప్‌ని పునరుద్ధరించాలనుకుంటున్నారా?బ్యాకప్ తేదీభద్రపరచుబ్యాకప్ ఎంపికలు:బ్యాకప్ డేటా (డౌన్‌లోడ్ చేయడానికి క్లిక్ చేయండి)బ్యాకప్ ఫైల్‌లు కింద ఉంటాయిబ్యాకప్ అమలవుతోంది, దయచేసి వేచి ఉండండిబ్యాకప్ విజయవంతంగా తొలగించబడింది.బ్యాకప్/పునరుద్ధరణబ్యాకప్‌లు విజయవంతంగా తీసివేయబడ్డాయి!నిషేధించండి బ్రౌజర్ మరియు OS (HTTP_USER_AGENT)PRO ను కొనండిప్రోని కొనుగోలు చేయండిరద్దు చేయండిఇక్కడ థీమ్‌ను మార్చండి:PROని కొనుగోలు చేయడానికి క్లిక్ చేయండికోడ్ ఎడిటర్ వీక్షణనిర్ధారించండిఫైల్‌లు లేదా ఫోల్డర్‌లను కాపీ చేయండిప్రస్తుతం బ్యాకప్(లు) ఏవీ కనుగొనబడలేదు.ఫైల్‌లను తొలగించండిచీకటిడేటాబేస్ బ్యాకప్డేటాబేస్ బ్యాకప్ తేదీలో పూర్తయిందిడేటాబేస్ బ్యాకప్ పూర్తయింది.డేటాబేస్ బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది.డిఫాల్ట్డిఫాల్ట్:తొలగించుఎంపికను తీసివేయండిఈ నోటీసును తీసివేయండి.దానంఫైల్స్ లాగ్‌లను డౌన్‌లోడ్ చేయండిఫైల్‌లను డౌన్‌లోడ్ చేయండిఫోల్డర్ లేదా ఫైల్‌ను నకిలీ చేయండి లేదా క్లోన్ చేయండిఫైల్స్ లాగ్‌లను సవరించండిఫైల్‌ని సవరించండిమీడియా లైబ్రరీకి ఫైల్‌ల అప్‌లోడ్‌ను ప్రారంభించాలా?ట్రాష్‌ని ప్రారంభించాలా?లోపం: డేటాబేస్ బ్యాకప్ పరిమాణం భారీగా ఉన్నందున బ్యాకప్‌ని పునరుద్ధరించడం సాధ్యం కాలేదు. దయచేసి ప్రాధాన్యతల సెట్టింగ్‌ల నుండి అనుమతించబడిన గరిష్ట పరిమాణాన్ని పెంచడానికి ప్రయత్నించండి.ఇప్పటికే ఉన్న బ్యాకప్(లు)ఆర్కైవ్ లేదా జిప్ చేసిన ఫైల్‌ను సంగ్రహించండిఫైల్ మేనేజర్ - షార్ట్ కోడ్ఫైల్ మేనేజర్ - సిస్టమ్ గుణాలుఫైల్ మేనేజర్ రూట్ పాత్, మీరు మీ ఎంపిక ప్రకారం మార్చవచ్చు.ఫైల్ మేనేజర్ బహుళ థీమ్స్తో ఒక కోడ్ ఎడిటర్ను కలిగి ఉంది. మీరు కోడ్ ఎడిటర్ కోసం ఏ థీమ్ ఎంచుకోవచ్చు. మీరు ఏదైనా ఫైల్ను సవరించినప్పుడు ఇది ప్రదర్శిస్తుంది. మీరు కోడ్ ఎడిటర్ పూర్తిస్క్రీన్ మోడ్ను కూడా అనుమతించవచ్చు.ఫైల్ ఆపరేషన్ల జాబితా:డౌన్‌లోడ్ చేయడానికి ఫైల్ ఉనికిలో లేదు.ఫైల్స్ బ్యాకప్బూడిద రంగుసహాయంఇక్కడ "పరీక్ష" అనేది రూట్ డైరెక్టరీలో ఉన్న ఫోల్డర్ పేరు, లేదా మీరు "wp-content/plugins" వంటి సబ్ ఫోల్డర్‌ల కోసం పాత్ ఇవ్వవచ్చు. ఖాళీగా లేదా ఖాళీగా ఉంచినట్లయితే అది రూట్ డైరెక్టరీలోని అన్ని ఫోల్డర్‌లను యాక్సెస్ చేస్తుంది. డిఫాల్ట్: రూట్ డైరెక్టరీఇక్కడ నిర్వాహకుడు ఫైల్ మేనేజర్ను ఉపయోగించడానికి వినియోగదారు పాత్రలకు ప్రాప్తిని ఇవ్వవచ్చు. అడ్మిన్ డిఫాల్ట్ యాక్సెస్ ఫోల్డర్ సెట్ చేయవచ్చు మరియు ఫైల్ మేనేజర్ అప్లోడ్ పరిమాణం నియంత్రించడానికి.ఫైల్ సమాచారంచెల్లని భద్రతా కోడ్.ఇది అన్ని పాత్రలను ఫ్రంట్ ఎండ్‌లో ఫైల్ మేనేజర్‌ను యాక్సెస్ చేయడానికి అనుమతిస్తుంది లేదా మీరు నిర్దిష్ట వినియోగదారు పాత్రల కోసం అనుమతించిన_రోల్స్ = "ఎడిటర్, రచయిత" (కామా(,) ద్వారా వేరుచేయబడింది) వంటి వాటిని సులభంగా ఉపయోగించవచ్చు.ఇది కామాలో పేర్కొన్న లాక్ చేయబడుతుంది. మీరు ".php,.css,.js" వంటి మరిన్నింటిని లాక్ చేయవచ్చు. డిఫాల్ట్: శూన్యంఇది ఫ్రంట్ ఎండ్‌లో ఫైల్ మేనేజర్‌ని చూపుతుంది. కానీ అడ్మినిస్ట్రేటర్ మాత్రమే దీన్ని యాక్సెస్ చేయగలరు మరియు ఫైల్ మేనేజర్ సెట్టింగ్‌ల నుండి నియంత్రిస్తారు.ఇది ఫ్రంట్ ఎండ్‌లో ఫైల్ మేనేజర్‌ని చూపుతుంది. మీరు ఫైల్ మేనేజర్ సెట్టింగ్‌ల నుండి అన్ని సెట్టింగ్‌లను నియంత్రించవచ్చు. ఇది బ్యాకెండ్ WP ఫైల్ మేనేజర్ వలె పని చేస్తుంది.చివరి లాగ్ సందేశంకాంతిలాగ్‌లుడైరెక్టరీ లేదా ఫోల్డర్‌ని రూపొందించండిఫైల్ చేయండిడేటాబేస్ బ్యాకప్ పునరుద్ధరణ సమయంలో అనుమతించబడిన గరిష్ట పరిమాణం.గరిష్ట ఫైలు అప్లోడ్ పరిమాణం (upload_max_filesize)మెమరీ పరిమితి (memory_limit)బ్యాకప్ ఐడి లేదు.పరామితి రకం లేదు.అవసరమైన పారామీటర్‌లు లేవు.లేదు ధన్యవాదాలులాగ్ సందేశం లేదులాగ్‌లు ఏవీ కనుగొనబడలేదు!గమనిక:గమనిక: ఇవి డెమో స్క్రీన్‌షాట్‌లు. దయచేసి ఫైల్ మేనేజర్ ప్రో టు లాగ్స్ ఫంక్షన్‌లను కొనుగోలు చేయండి.గమనిక: ఇది కేవలం డెమో స్క్రీన్షాట్. సెట్టింగులను పొందడానికి దయచేసి మా అనుకూల సంస్కరణను కొనుగోలు చేయండి.బ్యాకప్ కోసం ఏదీ ఎంచుకోబడలేదుబ్యాకప్ కోసం ఏదీ ఎంచుకోబడలేదు.అలాగేఅలాగేఇతరులు (wp-content లోపల ఏవైనా ఇతర డైరెక్టరీలు కనుగొనబడ్డాయి)ఇతర బ్యాకప్ తేదీలో పూర్తయిందిఇతర బ్యాకప్ పూర్తయింది.ఇతర బ్యాకప్ విఫలమైంది.ఇతర బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది.PHP సంస్కరణపారామితులు:ఫైల్ లేదా ఫోల్డర్‌ను అతికించండిదయచేసి ఇమెయిల్ చిరునామాను నమోదు చేయండి.దయచేసి మొదటి పేరును నమోదు చేయండి.దయచేసి చివరి పేరును నమోదు చేయండి.దయచేసి దీన్ని జాగ్రత్తగా మార్చండి, తప్పు మార్గం ఫైల్ మేనేజర్ ప్లగ్‌ఇన్‌ను తగ్గించడానికి దారి తీస్తుంది.బ్యాకప్ పునరుద్ధరణ సమయంలో మీకు దోష సందేశం వస్తుంటే దయచేసి ఫీల్డ్ విలువను పెంచండి.ప్లగిన్లుప్లగిన్‌ల బ్యాకప్ తేదీలో పూర్తయిందిప్లగిన్‌ల బ్యాకప్ పూర్తయింది.ప్లగిన్‌ల బ్యాకప్ విఫలమైంది.ప్లగిన్‌ల బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది.గరిష్ట ఫైలు అప్లోడ్ పరిమాణం పోస్ట్ (post_max_size)ప్రాధాన్యతలుగోప్యతా విధానంపబ్లిక్ రూట్ పాత్ఫైల్‌లను పునరుద్ధరించండిఫైల్‌లు మరియు ఫోల్డర్‌లను తీసివేయండి లేదా తొలగించండిఫైల్ లేదా ఫోల్డర్ పేరు మార్చండిపునరుద్ధరించుపునరుద్ధరణ అమలవుతోంది, దయచేసి వేచి ఉండండివిజయంమార్పులను ఊంచుసేవ్ చేస్తోంది...విషయాలను శోధించండిభద్రతా సమస్య.అన్ని ఎంచుకోండితొలగించడానికి బ్యాకప్(లు) ఎంచుకోండి!సెట్టింగులుసెట్టింగులు - కోడ్ ఎడిటర్సెట్టింగులు - జనరల్సెట్టింగులు - వాడుకరి పరిమితులుసెట్టింగులు - వినియోగదారు పాత్ర పరిమితులుసెట్టింగ్‌లు సేవ్ చేయబడ్డాయి.షార్ట్ - PROఫైల్ లేదా ఫోల్డర్‌ను సులభంగా కత్తిరించండిసిస్టమ్ గుణాలుసేవా నిబంధనలుబ్యాకప్ స్పష్టంగా విజయవంతమైంది మరియు ఇప్పుడు పూర్తయింది.థీమ్స్థీమ్‌ల బ్యాకప్ తేదీలో పూర్తయిందిథీమ్‌ల బ్యాకప్ పూర్తయింది.థీమ్‌ల బ్యాకప్ విఫలమైంది.థీమ్‌ల బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది.ఇప్పుడు సమయంసమయం ముగిసింది (max_execution_time)ఆర్కైవ్ లేదా జిప్ చేయడానికిఈరోజువా డు:డేటాబేస్ బ్యాకప్‌ని సృష్టించడం సాధ్యం కాలేదు.బ్యాకప్‌ని తీసివేయడం సాధ్యం కాలేదు!DB బ్యాకప్‌ని పునరుద్ధరించడం సాధ్యం కాలేదు.ఇతరులను పునరుద్ధరించడం సాధ్యం కాలేదు.ప్లగిన్‌లను పునరుద్ధరించడం సాధ్యం కాలేదు.థీమ్‌లను పునరుద్ధరించడం సాధ్యం కాలేదు.అప్‌లోడ్‌లను పునరుద్ధరించడం సాధ్యం కాలేదు.ఫైల్స్ లాగ్‌లను అప్‌లోడ్ చేయండిఫైల్లను అప్లోడ్ చేయండిఅప్‌లోడ్‌లుఅప్‌లోడ్‌ల బ్యాకప్ తేదీలో పూర్తయిందిఅప్‌లోడ్‌ల బ్యాకప్ పూర్తయింది.అప్‌లోడ్‌ల బ్యాకప్ విఫలమైంది.అప్‌లోడ్‌ల బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది.ధృవీకరించండిలాగ్ చూడండిWP ఫైల్ మేనేజర్WP ఫైల్ మేనేజర్ - బ్యాకప్/పునరుద్ధరణWP ఫైల్ మేనేజర్ సహకారంకొత్త స్నేహితులను చేసుకోవడం మాకు చాలా ఇష్టం! దిగువన సబ్‌స్క్రైబ్ చేసుకోండి మరియు మా తాజా కొత్త ప్లగిన్‌లు, అప్‌డేట్‌లు, అద్భుతమైన డీల్‌లు మరియు కొన్ని ప్రత్యేక ఆఫర్‌లతో మిమ్మల్ని తాజాగా ఉంచుతామని మేము హామీ ఇస్తున్నాము.ఫైల్ మేనేజర్‌కి స్వాగతంమీరు సేవ్ చేయడానికి ఎలాంటి మార్పులు చేయలేదు.ఫైల్‌లను చదవడానికి యాక్సెస్ కోసం అనుమతి, గమనిక: నిజం/తప్పు, డిఫాల్ట్: నిజంఫైళ్ల అనుమతులను వ్రాయడానికి యాక్సెస్ కోసం, గమనిక: నిజం/తప్పు, డిఫాల్ట్: తప్పుఇది ఇక్కడ పేర్కొన్న దాచబడుతుంది. గమనిక: కామా(,)తో వేరు చేయబడింది. డిఫాల్ట్: శూన్యంwp-file-manager/languages/wp-file-manager-te.po000064400000110066151202472330015411 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 11:51+0530\n" "PO-Revision-Date: 2022-02-28 12:14+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: te\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "థీమ్‌ల బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "థీమ్‌లను పునరుద్ధరించడం సాధ్యం కాలేదు." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "అప్‌లోడ్‌ల బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "అప్‌లోడ్‌లను పునరుద్ధరించడం సాధ్యం కాలేదు." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "ఇతర బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "ఇతరులను పునరుద్ధరించడం సాధ్యం కాలేదు." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "ప్లగిన్‌ల బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "ప్లగిన్‌లను పునరుద్ధరించడం సాధ్యం కాలేదు." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "డేటాబేస్ బ్యాకప్ విజయవంతంగా పునరుద్ధరించబడింది." #: file_folder_manager.php:286 file_folder_manager.php:297 file_folder_manager.php:588 #: file_folder_manager.php:592 msgid "All Done" msgstr "అన్నీ పూర్తయ్యాయి" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "DB బ్యాకప్‌ని పునరుద్ధరించడం సాధ్యం కాలేదు." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "బ్యాకప్‌లు విజయవంతంగా తీసివేయబడ్డాయి!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "బ్యాకప్‌ని తీసివేయడం సాధ్యం కాలేదు!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "డేటాబేస్ బ్యాకప్ తేదీలో పూర్తయింది" #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "ప్లగిన్‌ల బ్యాకప్ తేదీలో పూర్తయింది" #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "థీమ్‌ల బ్యాకప్ తేదీలో పూర్తయింది" #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "అప్‌లోడ్‌ల బ్యాకప్ తేదీలో పూర్తయింది" #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "ఇతర బ్యాకప్ తేదీలో పూర్తయింది" #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "లాగ్‌లు" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "లాగ్‌లు ఏవీ కనుగొనబడలేదు!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "బ్యాకప్ కోసం ఏదీ ఎంచుకోబడలేదు" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "భద్రతా సమస్య." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "డేటాబేస్ బ్యాకప్ పూర్తయింది." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "డేటాబేస్ బ్యాకప్‌ని సృష్టించడం సాధ్యం కాలేదు." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "ప్లగిన్‌ల బ్యాకప్ పూర్తయింది." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "ప్లగిన్‌ల బ్యాకప్ విఫలమైంది." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "థీమ్‌ల బ్యాకప్ పూర్తయింది." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "థీమ్‌ల బ్యాకప్ విఫలమైంది." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "అప్‌లోడ్‌ల బ్యాకప్ పూర్తయింది." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "అప్‌లోడ్‌ల బ్యాకప్ విఫలమైంది." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "ఇతర బ్యాకప్ పూర్తయింది." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "ఇతర బ్యాకప్ విఫలమైంది." #: file_folder_manager.php:761 file_folder_manager.php:762 lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP ఫైల్ మేనేజర్" #: file_folder_manager.php:769 msgid "Settings" msgstr "సెట్టింగులు" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "ప్రాధాన్యతలు" #: file_folder_manager.php:773 msgid "System Properties" msgstr "సిస్టమ్ గుణాలు" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "షార్ట్ - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "బ్యాకప్/పునరుద్ధరణ" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "ప్రోని కొనుగోలు చేయండి" #: file_folder_manager.php:1034 msgid "Donate" msgstr "దానం" #: file_folder_manager.php:1249 msgid "" "
        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "డౌన్‌లోడ్ చేయడానికి ఫైల్ ఉనికిలో లేదు." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "చెల్లని భద్రతా కోడ్." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "బ్యాకప్ ఐడి లేదు." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "పరామితి రకం లేదు." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "అవసరమైన పారామీటర్‌లు లేవు." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum " "allowed size from Preferences settings." msgstr "" "లోపం: డేటాబేస్ బ్యాకప్ పరిమాణం భారీగా ఉన్నందున బ్యాకప్‌ని పునరుద్ధరించడం సాధ్యం కాలేదు. దయచేసి ప్రాధాన్యతల సెట్టింగ్‌ల నుండి అనుమతించబడిన గరిష్ట " "పరిమాణాన్ని పెంచడానికి ప్రయత్నించండి." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "తొలగించడానికి బ్యాకప్(లు) ఎంచుకోండి!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "మీరు ఎంచుకున్న బ్యాకప్(ల)ని ఖచ్చితంగా తీసివేయాలనుకుంటున్నారా?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "బ్యాకప్ అమలవుతోంది, దయచేసి వేచి ఉండండి" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "పునరుద్ధరణ అమలవుతోంది, దయచేసి వేచి ఉండండి" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "బ్యాకప్ కోసం ఏదీ ఎంచుకోబడలేదు." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP ఫైల్ మేనేజర్ - బ్యాకప్/పునరుద్ధరణ" #: inc/backup.php:51 msgid "Backup Options:" msgstr "బ్యాకప్ ఎంపికలు:" #: inc/backup.php:58 msgid "Database Backup" msgstr "డేటాబేస్ బ్యాకప్" #: inc/backup.php:64 msgid "Files Backup" msgstr "ఫైల్స్ బ్యాకప్" #: inc/backup.php:68 msgid "Plugins" msgstr "ప్లగిన్లు" #: inc/backup.php:71 msgid "Themes" msgstr "థీమ్స్" #: inc/backup.php:74 msgid "Uploads" msgstr "అప్‌లోడ్‌లు" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "ఇతరులు (wp-content లోపల ఏవైనా ఇతర డైరెక్టరీలు కనుగొనబడ్డాయి)" #: inc/backup.php:81 msgid "Backup Now" msgstr "భద్రపరచు" #: inc/backup.php:89 msgid "Time now" msgstr "ఇప్పుడు సమయం" #: inc/backup.php:99 msgid "SUCCESS" msgstr "విజయం" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "బ్యాకప్ విజయవంతంగా తొలగించబడింది." #: inc/backup.php:102 msgid "Ok" msgstr "అలాగే" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ఫైల్‌లను తొలగించండి" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "మీరు ఖచ్చితంగా ఈ బ్యాకప్‌ని తొలగించాలనుకుంటున్నారా?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "రద్దు చేయండి" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "నిర్ధారించండి" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ఫైల్‌లను పునరుద్ధరించండి" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "మీరు ఖచ్చితంగా ఈ బ్యాకప్‌ని పునరుద్ధరించాలనుకుంటున్నారా?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "చివరి లాగ్ సందేశం" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "బ్యాకప్ స్పష్టంగా విజయవంతమైంది మరియు ఇప్పుడు పూర్తయింది." #: inc/backup.php:171 msgid "No log message" msgstr "లాగ్ సందేశం లేదు" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "ఇప్పటికే ఉన్న బ్యాకప్(లు)" #: inc/backup.php:184 msgid "Backup Date" msgstr "బ్యాకప్ తేదీ" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "బ్యాకప్ డేటా (డౌన్‌లోడ్ చేయడానికి క్లిక్ చేయండి)" #: inc/backup.php:190 msgid "Action" msgstr "చర్య" #: inc/backup.php:210 msgid "Today" msgstr "ఈరోజు" #: inc/backup.php:239 msgid "Restore" msgstr "పునరుద్ధరించు" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "తొలగించు" #: inc/backup.php:241 msgid "View Log" msgstr "లాగ్ చూడండి" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "ప్రస్తుతం బ్యాకప్(లు) ఏవీ కనుగొనబడలేదు." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "ఎంచుకున్న బ్యాకప్(లు)పై చర్యలు" #: inc/backup.php:251 msgid "Select All" msgstr "అన్ని ఎంచుకోండి" #: inc/backup.php:252 msgid "Deselect" msgstr "ఎంపికను తీసివేయండి" #: inc/backup.php:254 msgid "Note:" msgstr "గమనిక:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "బ్యాకప్ ఫైల్‌లు కింద ఉంటాయి" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP ఫైల్ మేనేజర్ సహకారం" #: inc/logs.php:7 msgid "Note: These are demo screenshots. Please buy File Manager pro to Logs functions." msgstr "గమనిక: ఇవి డెమో స్క్రీన్‌షాట్‌లు. దయచేసి ఫైల్ మేనేజర్ ప్రో టు లాగ్స్ ఫంక్షన్‌లను కొనుగోలు చేయండి." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "PROని కొనుగోలు చేయడానికి క్లిక్ చేయండి" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "PRO ను కొనండి" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "ఫైల్స్ లాగ్‌లను సవరించండి" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "ఫైల్స్ లాగ్‌లను డౌన్‌లోడ్ చేయండి" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "ఫైల్స్ లాగ్‌లను అప్‌లోడ్ చేయండి" #: inc/root.php:43 msgid "Settings saved." msgstr "సెట్టింగ్‌లు సేవ్ చేయబడ్డాయి." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "ఈ నోటీసును తీసివేయండి." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "మీరు సేవ్ చేయడానికి ఎలాంటి మార్పులు చేయలేదు." #: inc/root.php:55 msgid "Public Root Path" msgstr "పబ్లిక్ రూట్ పాత్" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "ఫైల్ మేనేజర్ రూట్ పాత్, మీరు మీ ఎంపిక ప్రకారం మార్చవచ్చు." #: inc/root.php:59 msgid "Default:" msgstr "డిఫాల్ట్:" #: inc/root.php:60 msgid "Please change this carefully, wrong path can lead file manager plugin to go down." msgstr "దయచేసి దీన్ని జాగ్రత్తగా మార్చండి, తప్పు మార్గం ఫైల్ మేనేజర్ ప్లగ్‌ఇన్‌ను తగ్గించడానికి దారి తీస్తుంది." #: inc/root.php:64 msgid "Enable Trash?" msgstr "ట్రాష్‌ని ప్రారంభించాలా?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "ట్రాష్‌ని ప్రారంభించిన తర్వాత, మీ ఫైల్‌లు ట్రాష్ ఫోల్డర్‌కి వెళ్తాయి." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "మీడియా లైబ్రరీకి ఫైల్‌ల అప్‌లోడ్‌ను ప్రారంభించాలా?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "దీన్ని ప్రారంభించిన తర్వాత అన్ని ఫైల్‌లు మీడియా లైబ్రరీకి వెళ్తాయి." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "డేటాబేస్ బ్యాకప్ పునరుద్ధరణ సమయంలో అనుమతించబడిన గరిష్ట పరిమాణం." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "Please increase field value if you are getting error message at the time of backup restore." msgstr "బ్యాకప్ పునరుద్ధరణ సమయంలో మీకు దోష సందేశం వస్తుంటే దయచేసి ఫీల్డ్ విలువను పెంచండి." #: inc/root.php:90 msgid "Save Changes" msgstr "మార్పులను ఊంచు" #: inc/settings.php:10 msgid "Settings - General" msgstr "సెట్టింగులు - జనరల్" #: inc/settings.php:11 inc/settings.php:26 msgid "Note: This is just a demo screenshot. To get settings please buy our pro version." msgstr "గమనిక: ఇది కేవలం డెమో స్క్రీన్షాట్. సెట్టింగులను పొందడానికి దయచేసి మా అనుకూల సంస్కరణను కొనుగోలు చేయండి." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also " "control upload size of filemanager." msgstr "" "ఇక్కడ నిర్వాహకుడు ఫైల్ మేనేజర్ను ఉపయోగించడానికి వినియోగదారు పాత్రలకు ప్రాప్తిని ఇవ్వవచ్చు. అడ్మిన్ డిఫాల్ట్ యాక్సెస్ ఫోల్డర్ సెట్ చేయవచ్చు మరియు ఫైల్ మేనేజర్ " "అప్లోడ్ పరిమాణం నియంత్రించడానికి." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "సెట్టింగులు - కోడ్ ఎడిటర్" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any theme for code editor. It will " "display when you edit any file. Also you can allow fullscreen mode of code editor." msgstr "" "ఫైల్ మేనేజర్ బహుళ థీమ్స్తో ఒక కోడ్ ఎడిటర్ను కలిగి ఉంది. మీరు కోడ్ ఎడిటర్ కోసం ఏ థీమ్ ఎంచుకోవచ్చు. మీరు ఏదైనా ఫైల్ను సవరించినప్పుడు ఇది " "ప్రదర్శిస్తుంది. మీరు కోడ్ ఎడిటర్ పూర్తిస్క్రీన్ మోడ్ను కూడా అనుమతించవచ్చు." #: inc/settings.php:18 msgid "Code-editor View" msgstr "కోడ్ ఎడిటర్ వీక్షణ" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "సెట్టింగులు - వాడుకరి పరిమితులు" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can set different - different " "folders paths for different users." msgstr "" "అడ్మిన్ ఏ యూజర్ యొక్క చర్యలు పరిమితం చేయవచ్చు. వేర్వేరు వినియోగదారుల కోసం వేర్వేరు ఫోల్డర్ల మార్గాలు - ఫైల్లను మరియు ఫోల్డర్లను కూడా దాచండి మరియు " "వివిధ సెట్ చేయవచ్చు." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "సెట్టింగులు - వినియోగదారు పాత్ర పరిమితులు" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and can set different - different " "folders paths for different users roles." msgstr "" "అడ్మిన్ ఏ వినియోగదారుని యొక్క చర్యలను నియంత్రించగలదు. విభిన్న వినియోగదారుల పాత్రలకు వేర్వేరు ఫోల్డర్ల మార్గాలు - ఫైల్లను మరియు ఫోల్డర్లను కూడా " "దాచండి మరియు వివిధ సెట్ చేయవచ్చు." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "ఫైల్ మేనేజర్ - షార్ట్ కోడ్" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 inc/shortcode_docs.php:19 msgid "USE:" msgstr "వా డు:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from file manager settings. It will " "work same as backend WP File Manager." msgstr "" "ఇది ఫ్రంట్ ఎండ్‌లో ఫైల్ మేనేజర్‌ని చూపుతుంది. మీరు ఫైల్ మేనేజర్ సెట్టింగ్‌ల నుండి అన్ని సెట్టింగ్‌లను నియంత్రించవచ్చు. ఇది బ్యాకెండ్ WP ఫైల్ మేనేజర్ వలె పని " "చేస్తుంది." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it and will control from file " "manager settings." msgstr "ఇది ఫ్రంట్ ఎండ్‌లో ఫైల్ మేనేజర్‌ని చూపుతుంది. కానీ అడ్మినిస్ట్రేటర్ మాత్రమే దీన్ని యాక్సెస్ చేయగలరు మరియు ఫైల్ మేనేజర్ సెట్టింగ్‌ల నుండి నియంత్రిస్తారు." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "పారామితులు:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can simple use for particular user roles " "as like allowed_roles=\"editor,author\" (seprated by comma(,))" msgstr "" "ఇది అన్ని పాత్రలను ఫ్రంట్ ఎండ్‌లో ఫైల్ మేనేజర్‌ను యాక్సెస్ చేయడానికి అనుమతిస్తుంది లేదా మీరు నిర్దిష్ట వినియోగదారు పాత్రల కోసం అనుమతించిన_రోల్స్ = " "\"ఎడిటర్, రచయిత\" (కామా(,) ద్వారా వేరుచేయబడింది) వంటి వాటిని సులభంగా ఉపయోగించవచ్చు." #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or you can give path for sub " "folders as like \"wp-content/plugins\". If leave blank or empty it will access all folders on root " "directory. Default: Root directory" msgstr "" "ఇక్కడ \"పరీక్ష\" అనేది రూట్ డైరెక్టరీలో ఉన్న ఫోల్డర్ పేరు, లేదా మీరు \"wp-content/plugins\" వంటి సబ్ ఫోల్డర్‌ల కోసం పాత్ ఇవ్వవచ్చు. ఖాళీగా " "లేదా ఖాళీగా ఉంచినట్లయితే అది రూట్ డైరెక్టరీలోని అన్ని ఫోల్డర్‌లను యాక్సెస్ చేస్తుంది. డిఫాల్ట్: రూట్ డైరెక్టరీ" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "ఫైళ్ల అనుమతులను వ్రాయడానికి యాక్సెస్ కోసం, గమనిక: నిజం/తప్పు, డిఫాల్ట్: తప్పు" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "ఫైల్‌లను చదవడానికి యాక్సెస్ కోసం అనుమతి, గమనిక: నిజం/తప్పు, డిఫాల్ట్: నిజం" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "ఇది ఇక్కడ పేర్కొన్న దాచబడుతుంది. గమనిక: కామా(,)తో వేరు చేయబడింది. డిఫాల్ట్: శూన్యం" #: inc/shortcode_docs.php:36 msgid "It will lock mentioned in commas. you can lock more as like \".php,.css,.js\" etc. Default: Null" msgstr "ఇది కామాలో పేర్కొన్న లాక్ చేయబడుతుంది. మీరు \".php,.css,.js\" వంటి మరిన్నింటిని లాక్ చేయవచ్చు. డిఫాల్ట్: శూన్యం" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation name as like, allowed_operations=" "\"upload,download\". Note: seprated by comma(,). Default: *" msgstr "" "* అన్ని కార్యకలాపాలకు మరియు కొంత ఆపరేషన్‌ను అనుమతించడానికి మీరు ఆపరేషన్ పేరును ఇలా పేర్కొనవచ్చు, అనుమతి_ఆపరేషన్స్=\"అప్‌లోడ్, డౌన్‌లోడ్\". గమనిక: " "కామా(,)తో వేరు చేయబడింది. డిఫాల్ట్: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "ఫైల్ ఆపరేషన్ల జాబితా:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "డైరెక్టరీ లేదా ఫోల్డర్‌ని రూపొందించండి" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "ఫైల్ చేయండి" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "ఫైల్ లేదా ఫోల్డర్ పేరు మార్చండి" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "ఫోల్డర్ లేదా ఫైల్‌ను నకిలీ చేయండి లేదా క్లోన్ చేయండి" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "ఫైల్ లేదా ఫోల్డర్‌ను అతికించండి" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "నిషేధించండి" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "ఆర్కైవ్ లేదా జిప్ చేయడానికి" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "ఆర్కైవ్ లేదా జిప్ చేసిన ఫైల్‌ను సంగ్రహించండి" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "ఫైల్‌లు లేదా ఫోల్డర్‌లను కాపీ చేయండి" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "ఫైల్ లేదా ఫోల్డర్‌ను సులభంగా కత్తిరించండి" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "ఫైల్‌ని సవరించండి" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "ఫైల్‌లు మరియు ఫోల్డర్‌లను తీసివేయండి లేదా తొలగించండి" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "ఫైల్‌లను డౌన్‌లోడ్ చేయండి" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "ఫైల్లను అప్లోడ్ చేయండి" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "విషయాలను శోధించండి" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "ఫైల్ సమాచారం" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "సహాయం" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they " "will not able to access wp file manager on front end." msgstr "" "-> ఇది నిర్దిష్ట వినియోగదారుల ఐడిలను కామాలతో (,) వేరు చేయడం ద్వారా నిషేధిస్తుంది. వినియోగదారు నిషేధించబడితే, వారు ఫ్రంట్ ఎండ్‌లో wp ఫైల్ మేనేజర్‌ని యాక్సెస్ " "చేయలేరు." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> ఫైల్‌మేనేజర్ UI వీక్షణ. డిఫాల్ట్: గ్రిడ్" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> ఫైల్ సవరించబడింది లేదా తేదీ ఆకృతిని సృష్టించండి. డిఫాల్ట్: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> ఫైల్ మేనేజర్ భాష. డిఫాల్ట్: ఇంగ్లీష్(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> ఫైల్ మేనేజర్ థీమ్. డిఫాల్ట్: కాంతి" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "ఫైల్ మేనేజర్ - సిస్టమ్ గుణాలు" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP సంస్కరణ" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "గరిష్ట ఫైలు అప్లోడ్ పరిమాణం (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "గరిష్ట ఫైలు అప్లోడ్ పరిమాణం పోస్ట్ (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "మెమరీ పరిమితి (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "సమయం ముగిసింది (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr " బ్రౌజర్ మరియు OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "ఇక్కడ థీమ్‌ను మార్చండి:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "డిఫాల్ట్" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "చీకటి" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "కాంతి" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "బూడిద రంగు" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "ఫైల్ మేనేజర్‌కి స్వాగతం" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "కొత్త స్నేహితులను చేసుకోవడం మాకు చాలా ఇష్టం! దిగువన సబ్‌స్క్రైబ్ చేసుకోండి మరియు మా తాజా కొత్త ప్లగిన్‌లు, అప్‌డేట్‌లు, అద్భుతమైన డీల్‌లు మరియు కొన్ని " "ప్రత్యేక ఆఫర్‌లతో మిమ్మల్ని తాజాగా ఉంచుతామని మేము హామీ ఇస్తున్నాము." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "దయచేసి మొదటి పేరును నమోదు చేయండి." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "దయచేసి చివరి పేరును నమోదు చేయండి." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "దయచేసి ఇమెయిల్ చిరునామాను నమోదు చేయండి." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "ధృవీకరించండి" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "లేదు ధన్యవాదాలు" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "సేవా నిబంధనలు" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "గోప్యతా విధానం" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "సేవ్ చేస్తోంది..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "అలాగే" #~ msgid "Manage your WP files." #~ msgstr "మీ WP ఫైళ్ళను నిర్వహించండి." #~ msgid "Extensions" #~ msgstr "పొడిగింపులు" #~ msgid "Please contribute some donation, to make plugin more stable. You can pay amount of your choice." #~ msgstr "ప్లగ్ఇన్ మరింత స్థిరంగా చేయడానికి, కొంత విరాళం ఇవ్వండి. మీరు మీ ఎంపిక మొత్తం చెల్లించవచ్చు." wp-file-manager/languages/wp-file-manager-th.mo000064400000065537151202472330015425 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&O(%*n++,n,h1--f-./g1 2B22{n33!r4B4C4Z5?v5X5N6"^6O6 6f6E7[7q717+7678B,8Ho88 8*8d9ce9l9!6:"X:{:*:$::9:';WG;-;;{;Ee<<<D>N>?>Z?nk??@A?!BaB}BBBBD'FLF%GHcIQK9L 'M1MQDMMM^@N@N*NB OKNO-O6O"O"P6PPrQrIR R RbRo9SHSKS]>TT"T9T-U%DU-jUUVxWvWTXW]XWXO Y]Y?|Y3YYEZQUZZdZ[<>[{[$[<[$[F\b\,\3\V\e9]C]]T]0T^<^^ q_g{_E_H)`Hr`$`*`R a^a qa]|a:aQbKgbNb?cKBc3c!ccscQnd]doeee*e4eKfffT.hhiij}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-02 10:15+0530 Last-Translator: admin Language-Team: Language: th MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * สำหรับการดำเนินการทั้งหมดและเพื่ออนุญาตให้ดำเนินการบางอย่าง คุณสามารถระบุชื่อการดำเนินการได้ เช่น allowed_operations="upload,download" หมายเหตุ: คั่นด้วยเครื่องหมายจุลภาค (,) ค่าเริ่มต้น: *-> มันจะแบนผู้ใช้บางคนโดยเพียงแค่ใส่รหัสของพวกเขาคั่นด้วยเครื่องหมายจุลภาค (,) หากผู้ใช้ถูกแบน พวกเขาจะเข้าถึงตัวจัดการไฟล์ wp ที่ส่วนหน้าไม่ได้-> ภาษาของตัวจัดการไฟล์ ค่าเริ่มต้น: English(en)-> ไฟล์ที่แก้ไขหรือสร้างรูปแบบวันที่ ค่าเริ่มต้น: d M, Y h:i A-> ภาษาของตัวจัดการไฟล์ ค่าเริ่มต้น: English(en)-> มุมมอง UI ตัวจัดการไฟล์ ค่าเริ่มต้น: gridหนังบู๊การดำเนินการกับข้อมูลสำรองที่เลือกผู้ดูแลระบบสามารถ จำกัด การดำเนินการของผู้ใช้รายใดก็ได้ ซ่อนไฟล์และโฟลเดอร์และสามารถตั้งค่าเส้นทางโฟลเดอร์ที่แตกต่างกันไปสำหรับผู้ใช้ที่แตกต่างกันผู้ดูแลระบบสามารถ จำกัด การดำเนินการของ userrol ใดก็ได้ ซ่อนไฟล์และโฟลเดอร์และสามารถตั้งค่าเส้นทางโฟลเดอร์ที่ต่างกันสำหรับบทบาทผู้ใช้ที่แตกต่างกันหลังจากเปิดใช้งานถังขยะ ไฟล์ของคุณจะไปที่โฟลเดอร์ถังขยะหลังจากเปิดใช้งานนี้ ไฟล์ทั้งหมดจะไปที่ไลบรารีสื่อทุกอย่างเสร็จเรียบร้อยคุณแน่ใจหรือไม่ว่าต้องการลบข้อมูลสำรองที่เลือกคุณแน่ใจหรือไม่ว่าต้องการลบข้อมูลสำรองนี้คุณแน่ใจหรือไม่ว่าต้องการคืนค่าข้อมูลสำรองนี้วันที่สำรองการสำรองข้อมูลในขณะนี้ตัวเลือกการสำรองข้อมูล:สำรองข้อมูล (คลิกเพื่อดาวน์โหลด)ไฟล์สำรองจะอยู่ภายใต้กำลังสำรองข้อมูล โปรดรอสักครู่ลบข้อมูลสำรองเรียบร้อยแล้วสำรอง/กู้คืนลบข้อมูลสำรองเรียบร้อยแล้ว!ห้ามเบราว์เซอร์และระบบปฏิบัติการ (HTTP_USER_AGENT)ซื้อโปรซื้อโปรยกเลิกเปลี่ยนธีมที่นี่:คลิกเพื่อซื้อ PROมุมมองตัวแก้ไขโค้ดยืนยันคัดลอกไฟล์หรือโฟลเดอร์ไม่พบข้อมูลสำรองในขณะนี้ลบไฟล์มืดสำรองฐานข้อมูลสำรองข้อมูลฐานข้อมูลเสร็จในวันที่ สำรองข้อมูลฐานข้อมูลเรียบร้อยแล้วกู้คืนการสำรองฐานข้อมูลเรียบร้อยแล้วค่าเริ่มต้นค่าเริ่มต้น:ลบยกเลิกการเลือกปิดประกาศนี้บริจาคดาวน์โหลดไฟล์บันทึกดาวน์โหลดไฟล์ทำซ้ำหรือโคลนโฟลเดอร์หรือไฟล์แก้ไขไฟล์บันทึกแก้ไขไฟล์เปิดใช้งานการอัปโหลดไฟล์ไปยัง Media Library หรือไม่เปิดใช้งานถังขยะหรือไม่ข้อผิดพลาด: ไม่สามารถกู้คืนข้อมูลสำรองได้เนื่องจากการสำรองข้อมูลฐานข้อมูลมีขนาดใหญ่ โปรดลองเพิ่มขนาดสูงสุดที่อนุญาตจากการตั้งค่าการตั้งค่าข้อมูลสำรองที่มีอยู่แตกไฟล์เก็บถาวรหรือไฟล์ซิปตัวจัดการไฟล์ - รหัสย่อตัวจัดการไฟล์ - คุณสมบัติของระบบFile Manager Root Path คุณสามารถเปลี่ยนได้ตามต้องการตัวจัดการไฟล์มีตัวแก้ไขโค้ดที่มีหลายธีม คุณสามารถเลือกธีมสำหรับโปรแกรมแก้ไขโค้ดได้ จะปรากฏขึ้นเมื่อคุณแก้ไขไฟล์ใด ๆ นอกจากนี้คุณสามารถอนุญาตให้ใช้โหมดเต็มหน้าจอของตัวแก้ไขโค้ดรายการการทำงานของไฟล์:ไม่มีไฟล์ให้ดาวน์โหลดไฟล์สำรองสีเทาช่วยด้วยที่นี่ "test" คือชื่อโฟลเดอร์ที่อยู่บนไดเร็กทอรี root หรือคุณสามารถกำหนดเส้นทางสำหรับโฟลเดอร์ย่อยได้ เช่น "wp-content/plugins" หากปล่อยว่างหรือว่างไว้ ระบบจะเข้าถึงโฟลเดอร์ทั้งหมดในไดเร็กทอรีราก ค่าเริ่มต้น: ไดเรกทอรีรากที่นี่ผู้ดูแลระบบสามารถให้สิทธิ์การเข้าถึงบทบาทผู้ใช้เพื่อใช้ filemanager ผู้ดูแลระบบสามารถตั้งค่าโฟลเดอร์การเข้าถึงข้อมูลเริ่มต้นและควบคุมขนาดการอัพโหลดไฟล์ได้ข้อมูลของไฟล์รหัสความปลอดภัยไม่ถูกต้อง.จะอนุญาตให้ทุกบทบาทเข้าถึงตัวจัดการไฟล์ที่ส่วนหน้าหรือคุณสามารถใช้อย่างง่ายสำหรับบทบาทของผู้ใช้โดยเฉพาะเช่น allowed_roles="editor,author" (คั่นด้วยเครื่องหมายจุลภาค (,))มันจะล็อคที่กล่าวถึงในเครื่องหมายจุลภาค คุณสามารถล็อกได้มากขึ้นเช่น ".php,.css,.js" เป็นต้น ค่าเริ่มต้น: Nullมันจะแสดงตัวจัดการไฟล์ที่ส่วนหน้า แต่มีเพียงผู้ดูแลระบบเท่านั้นที่สามารถเข้าถึงได้และจะควบคุมจากการตั้งค่าตัวจัดการไฟล์มันจะแสดงตัวจัดการไฟล์ที่ส่วนหน้า คุณสามารถควบคุมการตั้งค่าทั้งหมดได้จากการตั้งค่าตัวจัดการไฟล์ มันจะทำงานเหมือนกับตัวจัดการไฟล์ WP แบ็กเอนด์ข้อความบันทึกล่าสุดเบาบันทึกสร้างไดเร็กทอรีหรือโฟลเดอร์ทำไฟล์ขนาดสูงสุดที่อนุญาตในขณะที่กู้คืนการสำรองฐานข้อมูลขนาดการอัปโหลดไฟล์สูงสุด (upload_max_filesize)หน่วยความจำ จำกัด (memory_limit)ไม่มีรหัสสำรองไม่มีประเภทพารามิเตอร์ไม่มีพารามิเตอร์ที่จำเป็นไม่เป็นไรขอบคุณไม่มีข้อความบันทึกไม่พบบันทึก!บันทึก:หมายเหตุ: นี่เป็นภาพหน้าจอสาธิต โปรดซื้อฟังก์ชัน File Manager pro to Logsหมายเหตุ: นี่เป็นเพียงภาพหน้าจอสาธิตเท่านั้น หากต้องการตั้งค่าโปรดซื้อเวอร์ชัน Pro ของเราไม่ได้เลือกอะไรไว้สำหรับการสำรองข้อมูลไม่ได้เลือกอะไรไว้สำหรับการสำรองข้อมูลตกลงตกลงอื่น ๆ (ไดเร็กทอรีอื่น ๆ ที่พบใน wp-content)การสำรองข้อมูลอื่น ๆ เสร็จสิ้นในวันที่ สำรองข้อมูลอื่นเสร็จแล้วการสำรองข้อมูลอื่นล้มเหลวกู้คืนข้อมูลสำรองอื่นสำเร็จแล้วเวอร์ชัน PHPพารามิเตอร์:วางไฟล์หรือโฟลเดอร์กรุณากรอกอีเมล์กรุณาใส่ชื่อ.กรุณาใส่นามสกุลโปรดเปลี่ยนอย่างระมัดระวัง เส้นทางที่ไม่ถูกต้องอาจทำให้ปลั๊กอินตัวจัดการไฟล์หยุดทำงานโปรดเพิ่มค่าฟิลด์หากคุณได้รับข้อความแสดงข้อผิดพลาดในขณะที่กู้คืนข้อมูลสำรองปลั๊กอินการสำรองข้อมูลปลั๊กอินเสร็จสิ้นในวันที่ สำรองข้อมูลปลั๊กอินเสร็จแล้วการสำรองข้อมูลปลั๊กอินล้มเหลวสำรองข้อมูลปลั๊กอินสำเร็จแล้วขนาดไฟล์อัพโหลดสูงสุด (post_max_size)การตั้งค่านโยบายความเป็นส่วนตัวเส้นทางรูตสาธารณะกู้คืนไฟล์ลบหรือลบไฟล์และโฟลเดอร์เปลี่ยนชื่อไฟล์หรือโฟลเดอร์คืนค่ากำลังดำเนินการกู้คืน โปรดรอสักครู่ความสำเร็จบันทึกการเปลี่ยนแปลงประหยัด...ค้นหาสิ่งของปัญหาด้านความปลอดภัยเลือกทั้งหมดเลือกข้อมูลสำรองที่จะลบ!การตั้งค่าการตั้งค่า - Code-editorการตั้งค่า - ทั่วไปการตั้งค่า - ข้อ จำกัด ของผู้ใช้การตั้งค่า - ข้อ จำกัด บทบาทของผู้ใช้การตั้งค่าที่บันทึกไว้.รหัสย่อ - PROตัดไฟล์หรือโฟลเดอร์อย่างง่ายคุณสมบัติของระบบเงื่อนไขการให้บริการเห็นได้ชัดว่าการสำรองข้อมูลสำเร็จและตอนนี้เสร็จสมบูรณ์แล้วธีมการสำรองข้อมูลธีมเสร็จสิ้นในวันที่ สำรองข้อมูลธีมเสร็จแล้วการสำรองข้อมูลธีมล้มเหลวสำรองข้อมูลธีมสำเร็จแล้วเวลาในขณะนี้หมดเวลา (max_execution_time)ในการสร้างไฟล์เก็บถาวรหรือ zipวันนี้ใช้:ไม่สามารถสร้างการสำรองฐานข้อมูลลบข้อมูลสำรองไม่ได้!ไม่สามารถกู้คืนข้อมูลสำรอง DBไม่สามารถกู้คืนผู้อื่นได้ไม่สามารถกู้คืนปลั๊กอินได้ไม่สามารถกู้คืนธีมได้ไม่สามารถกู้คืนการอัปโหลดอัปโหลดไฟล์บันทึกอัพโหลดไฟล์อัพโหลดอัปโหลดการสำรองข้อมูลเสร็จสิ้นในวันที่ อัปโหลดสำรองข้อมูลเสร็จแล้วการสำรองข้อมูลการอัปโหลดล้มเหลวกู้คืนข้อมูลสำรองการอัปโหลดสำเร็จแล้วยืนยันดูบันทึกตัวจัดการไฟล์ WPWP File Manager - สำรอง/กู้คืนการสนับสนุนตัวจัดการไฟล์ WPเราชอบหาเพื่อนใหม่! สมัครสมาชิกด้านล่างและเราสัญญาว่าจะ แจ้งให้คุณทราบเกี่ยวกับปลั๊กอิน อัปเดต ใหม่ล่าสุดของเรา ข้อเสนอสุดพิเศษและข้อเสนอพิเศษไม่กี่อย่างยินดีต้อนรับสู่ตัวจัดการไฟล์คุณยังไม่ได้ทำการเปลี่ยนแปลงใด ๆ เพื่อบันทึกสำหรับการเข้าถึงเพื่ออ่านสิทธิ์ในการอ่านไฟล์ หมายเหตุ: จริง/เท็จ ค่าเริ่มต้น: trueสำหรับการเข้าถึงสิทธิ์ในการเขียนไฟล์ หมายเหตุ: true/false, default: falseมันจะซ่อนกล่าวถึงที่นี่ หมายเหตุ: คั่นด้วยเครื่องหมายจุลภาค (,) ค่าเริ่มต้น: Nullwp-file-manager/languages/wp-file-manager-th.po000064400000112114151202472330015410 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 12:14+0530\n" "PO-Revision-Date: 2022-03-02 10:15+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "สำรองข้อมูลธีมสำเร็จแล้ว" #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "ไม่สามารถกู้คืนธีมได้" #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "กู้คืนข้อมูลสำรองการอัปโหลดสำเร็จแล้ว" #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "ไม่สามารถกู้คืนการอัปโหลด" #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "กู้คืนข้อมูลสำรองอื่นสำเร็จแล้ว" #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "ไม่สามารถกู้คืนผู้อื่นได้" #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "สำรองข้อมูลปลั๊กอินสำเร็จแล้ว" #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "ไม่สามารถกู้คืนปลั๊กอินได้" #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "กู้คืนการสำรองฐานข้อมูลเรียบร้อยแล้ว" #: file_folder_manager.php:286 file_folder_manager.php:297 file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "ทุกอย่างเสร็จเรียบร้อย" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "ไม่สามารถกู้คืนข้อมูลสำรอง DB" #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "ลบข้อมูลสำรองเรียบร้อยแล้ว!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "ลบข้อมูลสำรองไม่ได้!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "สำรองข้อมูลฐานข้อมูลเสร็จในวันที่ " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "การสำรองข้อมูลปลั๊กอินเสร็จสิ้นในวันที่ " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "การสำรองข้อมูลธีมเสร็จสิ้นในวันที่ " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "อัปโหลดการสำรองข้อมูลเสร็จสิ้นในวันที่ " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "การสำรองข้อมูลอื่น ๆ เสร็จสิ้นในวันที่ " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "บันทึก" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "ไม่พบบันทึก!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "ไม่ได้เลือกอะไรไว้สำหรับการสำรองข้อมูล" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "ปัญหาด้านความปลอดภัย" #: file_folder_manager.php:527 msgid "Database backup done." msgstr "สำรองข้อมูลฐานข้อมูลเรียบร้อยแล้ว" #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "ไม่สามารถสร้างการสำรองฐานข้อมูล" #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "สำรองข้อมูลปลั๊กอินเสร็จแล้ว" #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "การสำรองข้อมูลปลั๊กอินล้มเหลว" #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "สำรองข้อมูลธีมเสร็จแล้ว" #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "การสำรองข้อมูลธีมล้มเหลว" #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "อัปโหลดสำรองข้อมูลเสร็จแล้ว" #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "การสำรองข้อมูลการอัปโหลดล้มเหลว" #: file_folder_manager.php:581 msgid "Others backup done." msgstr "สำรองข้อมูลอื่นเสร็จแล้ว" #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "การสำรองข้อมูลอื่นล้มเหลว" #: file_folder_manager.php:761 file_folder_manager.php:762 lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "ตัวจัดการไฟล์ WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "การตั้งค่า" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "การตั้งค่า" #: file_folder_manager.php:773 msgid "System Properties" msgstr "คุณสมบัติของระบบ" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "รหัสย่อ - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "สำรอง/กู้คืน" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "ซื้อโปร" #: file_folder_manager.php:1034 msgid "Donate" msgstr "บริจาค" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "ไม่มีไฟล์ให้ดาวน์โหลด" #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "รหัสความปลอดภัยไม่ถูกต้อง." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "ไม่มีรหัสสำรอง" #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "ไม่มีประเภทพารามิเตอร์" #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "ไม่มีพารามิเตอร์ที่จำเป็น" #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences " "settings." msgstr "ข้อผิดพลาด: ไม่สามารถกู้คืนข้อมูลสำรองได้เนื่องจากการสำรองข้อมูลฐานข้อมูลมีขนาดใหญ่ โปรดลองเพิ่มขนาดสูงสุดที่อนุญาตจากการตั้งค่าการตั้งค่า" #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "เลือกข้อมูลสำรองที่จะลบ!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบข้อมูลสำรองที่เลือก" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "กำลังสำรองข้อมูล โปรดรอสักครู่" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "กำลังดำเนินการกู้คืน โปรดรอสักครู่" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "ไม่ได้เลือกอะไรไว้สำหรับการสำรองข้อมูล" #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP File Manager - สำรอง/กู้คืน" #: inc/backup.php:51 msgid "Backup Options:" msgstr "ตัวเลือกการสำรองข้อมูล:" #: inc/backup.php:58 msgid "Database Backup" msgstr "สำรองฐานข้อมูล" #: inc/backup.php:64 msgid "Files Backup" msgstr "ไฟล์สำรอง" #: inc/backup.php:68 msgid "Plugins" msgstr "ปลั๊กอิน" #: inc/backup.php:71 msgid "Themes" msgstr "ธีม" #: inc/backup.php:74 msgid "Uploads" msgstr "อัพโหลด" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "อื่น ๆ (ไดเร็กทอรีอื่น ๆ ที่พบใน wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "การสำรองข้อมูลในขณะนี้" #: inc/backup.php:89 msgid "Time now" msgstr "เวลาในขณะนี้" #: inc/backup.php:99 msgid "SUCCESS" msgstr "ความสำเร็จ" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "ลบข้อมูลสำรองเรียบร้อยแล้ว" #: inc/backup.php:102 msgid "Ok" msgstr "ตกลง" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ลบไฟล์" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบข้อมูลสำรองนี้" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "ยกเลิก" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "ยืนยัน" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "กู้คืนไฟล์" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการคืนค่าข้อมูลสำรองนี้" #: inc/backup.php:166 msgid "Last Log Message" msgstr "ข้อความบันทึกล่าสุด" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "เห็นได้ชัดว่าการสำรองข้อมูลสำเร็จและตอนนี้เสร็จสมบูรณ์แล้ว" #: inc/backup.php:171 msgid "No log message" msgstr "ไม่มีข้อความบันทึก" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "ข้อมูลสำรองที่มีอยู่" #: inc/backup.php:184 msgid "Backup Date" msgstr "วันที่สำรอง" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "สำรองข้อมูล (คลิกเพื่อดาวน์โหลด)" #: inc/backup.php:190 msgid "Action" msgstr "หนังบู๊" #: inc/backup.php:210 msgid "Today" msgstr "วันนี้" #: inc/backup.php:239 msgid "Restore" msgstr "คืนค่า" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "ลบ" #: inc/backup.php:241 msgid "View Log" msgstr "ดูบันทึก" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "ไม่พบข้อมูลสำรองในขณะนี้" #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "การดำเนินการกับข้อมูลสำรองที่เลือก" #: inc/backup.php:251 msgid "Select All" msgstr "เลือกทั้งหมด" #: inc/backup.php:252 msgid "Deselect" msgstr "ยกเลิกการเลือก" #: inc/backup.php:254 msgid "Note:" msgstr "บันทึก:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "ไฟล์สำรองจะอยู่ภายใต้" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "การสนับสนุนตัวจัดการไฟล์ WP" #: inc/logs.php:7 msgid "Note: These are demo screenshots. Please buy File Manager pro to Logs functions." msgstr "หมายเหตุ: นี่เป็นภาพหน้าจอสาธิต โปรดซื้อฟังก์ชัน File Manager pro to Logs" #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "คลิกเพื่อซื้อ PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "ซื้อโปร" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "แก้ไขไฟล์บันทึก" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "ดาวน์โหลดไฟล์บันทึก" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "อัปโหลดไฟล์บันทึก" #: inc/root.php:43 msgid "Settings saved." msgstr "การตั้งค่าที่บันทึกไว้." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "ปิดประกาศนี้" #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "คุณยังไม่ได้ทำการเปลี่ยนแปลงใด ๆ เพื่อบันทึก" #: inc/root.php:55 msgid "Public Root Path" msgstr "เส้นทางรูตสาธารณะ" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "File Manager Root Path คุณสามารถเปลี่ยนได้ตามต้องการ" #: inc/root.php:59 msgid "Default:" msgstr "ค่าเริ่มต้น:" #: inc/root.php:60 msgid "Please change this carefully, wrong path can lead file manager plugin to go down." msgstr "โปรดเปลี่ยนอย่างระมัดระวัง เส้นทางที่ไม่ถูกต้องอาจทำให้ปลั๊กอินตัวจัดการไฟล์หยุดทำงาน" #: inc/root.php:64 msgid "Enable Trash?" msgstr "เปิดใช้งานถังขยะหรือไม่" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "หลังจากเปิดใช้งานถังขยะ ไฟล์ของคุณจะไปที่โฟลเดอร์ถังขยะ" #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "เปิดใช้งานการอัปโหลดไฟล์ไปยัง Media Library หรือไม่" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "หลังจากเปิดใช้งานนี้ ไฟล์ทั้งหมดจะไปที่ไลบรารีสื่อ" #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "ขนาดสูงสุดที่อนุญาตในขณะที่กู้คืนการสำรองฐานข้อมูล" #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "Please increase field value if you are getting error message at the time of backup restore." msgstr "โปรดเพิ่มค่าฟิลด์หากคุณได้รับข้อความแสดงข้อผิดพลาดในขณะที่กู้คืนข้อมูลสำรอง" #: inc/root.php:90 msgid "Save Changes" msgstr "บันทึกการเปลี่ยนแปลง" #: inc/settings.php:10 msgid "Settings - General" msgstr "การตั้งค่า - ทั่วไป" #: inc/settings.php:11 inc/settings.php:26 msgid "Note: This is just a demo screenshot. To get settings please buy our pro version." msgstr "หมายเหตุ: นี่เป็นเพียงภาพหน้าจอสาธิตเท่านั้น หากต้องการตั้งค่าโปรดซื้อเวอร์ชัน Pro ของเรา" #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of " "filemanager." msgstr "ที่นี่ผู้ดูแลระบบสามารถให้สิทธิ์การเข้าถึงบทบาทผู้ใช้เพื่อใช้ filemanager ผู้ดูแลระบบสามารถตั้งค่าโฟลเดอร์การเข้าถึงข้อมูลเริ่มต้นและควบคุมขนาดการอัพโหลดไฟล์ได้" #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "การตั้งค่า - Code-editor" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. " "Also you can allow fullscreen mode of code editor." msgstr "" "ตัวจัดการไฟล์มีตัวแก้ไขโค้ดที่มีหลายธีม คุณสามารถเลือกธีมสำหรับโปรแกรมแก้ไขโค้ดได้ จะปรากฏขึ้นเมื่อคุณแก้ไขไฟล์ใด ๆ " "นอกจากนี้คุณสามารถอนุญาตให้ใช้โหมดเต็มหน้าจอของตัวแก้ไขโค้ด" #: inc/settings.php:18 msgid "Code-editor View" msgstr "มุมมองตัวแก้ไขโค้ด" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "การตั้งค่า - ข้อ จำกัด ของผู้ใช้" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users." msgstr "ผู้ดูแลระบบสามารถ จำกัด การดำเนินการของผู้ใช้รายใดก็ได้ ซ่อนไฟล์และโฟลเดอร์และสามารถตั้งค่าเส้นทางโฟลเดอร์ที่แตกต่างกันไปสำหรับผู้ใช้ที่แตกต่างกัน" #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "การตั้งค่า - ข้อ จำกัด บทบาทของผู้ใช้" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different " "users roles." msgstr "ผู้ดูแลระบบสามารถ จำกัด การดำเนินการของ userrol ใดก็ได้ ซ่อนไฟล์และโฟลเดอร์และสามารถตั้งค่าเส้นทางโฟลเดอร์ที่ต่างกันสำหรับบทบาทผู้ใช้ที่แตกต่างกัน" #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "ตัวจัดการไฟล์ - รหัสย่อ" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 inc/shortcode_docs.php:19 msgid "USE:" msgstr "ใช้:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File " "Manager." msgstr "มันจะแสดงตัวจัดการไฟล์ที่ส่วนหน้า คุณสามารถควบคุมการตั้งค่าทั้งหมดได้จากการตั้งค่าตัวจัดการไฟล์ มันจะทำงานเหมือนกับตัวจัดการไฟล์ WP แบ็กเอนด์" #: inc/shortcode_docs.php:17 msgid "It will show file manager on front end. But only Administrator can access it and will control from file manager settings." msgstr "มันจะแสดงตัวจัดการไฟล์ที่ส่วนหน้า แต่มีเพียงผู้ดูแลระบบเท่านั้นที่สามารถเข้าถึงได้และจะควบคุมจากการตั้งค่าตัวจัดการไฟล์" #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "พารามิเตอร์:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles=" "\"editor,author\" (seprated by comma(,))" msgstr "" "จะอนุญาตให้ทุกบทบาทเข้าถึงตัวจัดการไฟล์ที่ส่วนหน้าหรือคุณสามารถใช้อย่างง่ายสำหรับบทบาทของผู้ใช้โดยเฉพาะเช่น allowed_roles=\"editor,author" "\" (คั่นด้วยเครื่องหมายจุลภาค (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or you can give path for sub folders as like \"wp-content/plugins" "\". If leave blank or empty it will access all folders on root directory. Default: Root directory" msgstr "" "ที่นี่ \"test\" คือชื่อโฟลเดอร์ที่อยู่บนไดเร็กทอรี root หรือคุณสามารถกำหนดเส้นทางสำหรับโฟลเดอร์ย่อยได้ เช่น \"wp-content/plugins\" หากปล่อยว่างหรือว่างไว้ " "ระบบจะเข้าถึงโฟลเดอร์ทั้งหมดในไดเร็กทอรีราก ค่าเริ่มต้น: ไดเรกทอรีราก" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "สำหรับการเข้าถึงสิทธิ์ในการเขียนไฟล์ หมายเหตุ: true/false, default: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "สำหรับการเข้าถึงเพื่ออ่านสิทธิ์ในการอ่านไฟล์ หมายเหตุ: จริง/เท็จ ค่าเริ่มต้น: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "มันจะซ่อนกล่าวถึงที่นี่ หมายเหตุ: คั่นด้วยเครื่องหมายจุลภาค (,) ค่าเริ่มต้น: Null" #: inc/shortcode_docs.php:36 msgid "It will lock mentioned in commas. you can lock more as like \".php,.css,.js\" etc. Default: Null" msgstr "มันจะล็อคที่กล่าวถึงในเครื่องหมายจุลภาค คุณสามารถล็อกได้มากขึ้นเช่น \".php,.css,.js\" เป็นต้น ค่าเริ่มต้น: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation name as like, allowed_operations=\"upload,download\". Note: " "seprated by comma(,). Default: *" msgstr "" "* สำหรับการดำเนินการทั้งหมดและเพื่ออนุญาตให้ดำเนินการบางอย่าง คุณสามารถระบุชื่อการดำเนินการได้ เช่น allowed_operations=\"upload,download\" หมายเหตุ: " "คั่นด้วยเครื่องหมายจุลภาค (,) ค่าเริ่มต้น: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "รายการการทำงานของไฟล์:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "สร้างไดเร็กทอรีหรือโฟลเดอร์" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "ทำไฟล์" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "เปลี่ยนชื่อไฟล์หรือโฟลเดอร์" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "ทำซ้ำหรือโคลนโฟลเดอร์หรือไฟล์" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "วางไฟล์หรือโฟลเดอร์" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "ห้าม" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "ในการสร้างไฟล์เก็บถาวรหรือ zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "แตกไฟล์เก็บถาวรหรือไฟล์ซิป" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "คัดลอกไฟล์หรือโฟลเดอร์" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "ตัดไฟล์หรือโฟลเดอร์อย่างง่าย" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "แก้ไขไฟล์" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "ลบหรือลบไฟล์และโฟลเดอร์" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "ดาวน์โหลดไฟล์" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "อัพโหลดไฟล์" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "ค้นหาสิ่งของ" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "ข้อมูลของไฟล์" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "ช่วยด้วย" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp " "file manager on front end." msgstr "-> มันจะแบนผู้ใช้บางคนโดยเพียงแค่ใส่รหัสของพวกเขาคั่นด้วยเครื่องหมายจุลภาค (,) หากผู้ใช้ถูกแบน พวกเขาจะเข้าถึงตัวจัดการไฟล์ wp ที่ส่วนหน้าไม่ได้" #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> มุมมอง UI ตัวจัดการไฟล์ ค่าเริ่มต้น: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> ไฟล์ที่แก้ไขหรือสร้างรูปแบบวันที่ ค่าเริ่มต้น: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> ภาษาของตัวจัดการไฟล์ ค่าเริ่มต้น: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> ภาษาของตัวจัดการไฟล์ ค่าเริ่มต้น: English(en)" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "ตัวจัดการไฟล์ - คุณสมบัติของระบบ" #: inc/system_properties.php:10 msgid "PHP version" msgstr "เวอร์ชัน PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "ขนาดการอัปโหลดไฟล์สูงสุด (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "ขนาดไฟล์อัพโหลดสูงสุด (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "หน่วยความจำ จำกัด (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "หมดเวลา (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "เบราว์เซอร์และระบบปฏิบัติการ (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "เปลี่ยนธีมที่นี่:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "ค่าเริ่มต้น" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "มืด" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "เบา" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "สีเทา" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "ยินดีต้อนรับสู่ตัวจัดการไฟล์" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "เราชอบหาเพื่อนใหม่! สมัครสมาชิกด้านล่างและเราสัญญาว่าจะ\n" " แจ้งให้คุณทราบเกี่ยวกับปลั๊กอิน อัปเดต ใหม่ล่าสุดของเรา\n" " ข้อเสนอสุดพิเศษและข้อเสนอพิเศษไม่กี่อย่าง" #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "กรุณาใส่ชื่อ." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "กรุณาใส่นามสกุล" #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "กรุณากรอกอีเมล์" #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "ยืนยัน" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "ไม่เป็นไรขอบคุณ" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "เงื่อนไขการให้บริการ" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "นโยบายความเป็นส่วนตัว" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "ประหยัด..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "ตกลง" #~ msgid "Backup not found!" #~ msgstr "ไม่พบข้อมูลสำรอง!" #~ msgid "Backup removed successfully!" #~ msgstr "ลบข้อมูลสำรองเรียบร้อยแล้ว!" #~ msgid "Nothing selected for backup" #~ msgstr "ไม่ได้เลือกไว้สำหรับการสำรองข้อมูล" #~ msgid "Security Issue." #~ msgstr "ปัญหาด้านความปลอดภัย" #~ msgid "Database backup done." #~ msgstr "สำรองข้อมูลฐานข้อมูลเรียบร้อยแล้ว" #~ msgid "Unable to create database backup." #~ msgstr "สร้างการสำรองฐานข้อมูลไม่ได้" #~ msgid "Plugins backup done." #~ msgstr "สำรองข้อมูลปลั๊กอินเสร็จแล้ว" #~ msgid "Plugins backup failed." #~ msgstr "การสำรองข้อมูลปลั๊กอินล้มเหลว" #~ msgid "Themes backup done." #~ msgstr "สำรองข้อมูลธีมเสร็จแล้ว" #~ msgid "Themes backup failed." #~ msgstr "การสำรองข้อมูลธีมล้มเหลว" #~ msgid "Uploads backup done." #~ msgstr "อัปโหลดการสำรองข้อมูลเสร็จแล้ว" #~ msgid "Uploads backup failed." #~ msgstr "การสำรองข้อมูลการอัปโหลดล้มเหลว" #~ msgid "Others backup done." #~ msgstr "สำรองข้อมูลอื่นๆ เรียบร้อยแล้ว" #~ msgid "Others backup failed." #~ msgstr "การสำรองข้อมูลอื่นๆ ล้มเหลว" #~ msgid "All Done" #~ msgstr "เสร็จสิ้น" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" " #~ "access_folder=\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = \"kumar,abc.php\" lock_extensions=\".php,.css\" " #~ "allowed_operations=\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" " #~ "access_folder=\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = \"kumar,abc.php\" lock_extensions=\".php,.css\" " #~ "allowed_operations=\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "จัดการไฟล์ WP ของคุณ" #~ msgid "Extensions" #~ msgstr "ส่วนขยาย" #~ msgid "Please contribute some donation, to make plugin more stable. You can pay amount of your choice." #~ msgstr "โปรดบริจาคเงินเพื่อทำให้ปลั๊กอินมีเสถียรภาพมากขึ้น คุณสามารถจ่ายเงินตามที่คุณต้องการได้" wp-file-manager/languages/wp-file-manager-tr_TR.mo000064400000043454151202472330016036 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&W( )0)O)2/*Jb**%**+Tt,L, -:"-/]-7----.-$,.)Q.{..#. .1./ / 9/F/%d// /'/ // 00**0"U03x0 0 0000 0017,1d11B1"122522'3E:334444445 666q7 88J9_9 f9q9 9N949:;:Q:i:::::f:p0;';(;; ;4<):<d<'<0< < <%<=?=Y=xr=`= L>(W>>'>/>9> 1?;?P?`?/w?0??-?@@.@ >@K@ ]@j@@@@&@,@ A!A'1AYAmADAA"AA$B(3B\B#kBBB B&BB"C$CCCbC~CCC C-C"D()D1RD DDD.DD E!E4EP)FXzFXF}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 12:24+0530 Last-Translator: admin Language-Team: Language: tr_TR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * tüm işlemler için ve bazı işlemlere izin vermek için işlem adını allow_processs="upload,download" gibi belirtebilirsiniz. Not: virgül (,) ile ayrılmış. Varsayılan: *-> Belirli kullanıcıları yalnızca kimliklerini virgülle (,) ayırarak yasaklayacaktır. Kullanıcı Ban ise, ön uçta wp dosya yöneticisine erişemezler.-> Dosya Yöneticisi Teması. Varsayılan: Light-> Dosya Değiştirildi veya Tarih formatı oluştur. Varsayılan: d M, Y h:i A-> Dosya yöneticisi Dil. Varsayılan: English(en)-> Dosya Yöneticisi Kullanıcı Arayüzü Görünümü. Varsayılan: gridAksiyonSeçilen yedekleme(ler)deki işlemlerYönetici, herhangi bir kullanıcının eylemlerini kısıtlayabilir. Ayrıca dosya ve klasörleri gizleyebilir ve farklı kullanıcılar için farklı - farklı klasör yolları ayarlayabilirsiniz.Yönetici, herhangi bir kullanıcı rolünün eylemlerini kısıtlayabilir. Ayrıca dosya ve klasörleri gizleyebilir ve farklı kullanıcı rolleri için farklı - farklı klasör yolları ayarlayabilirsiniz.Çöp kutusunu etkinleştirdikten sonra dosyalarınız çöp klasörüne gidecektir.Bunu etkinleştirdikten sonra tüm dosyalar medya kitaplığına gidecektir.Hepsi tamamSeçili yedekleri kaldırmak istediğinizden emin misiniz?Bu yedeği silmek istediğinizden emin misiniz?Bu yedeği geri yüklemek istediğinizden emin misiniz?Yedekleme TarihiŞimdi yedekleYedekleme Seçenekleri:Yedekleme verileri (indirmek için tıklayın)Yedekleme dosyaları altında olacakYedekleme çalışıyor, lütfen bekleyinYedekleme başarıyla silindi.Yedekle/Geri YükleYedekler başarıyla kaldırıldı!yasaklamakTarayıcı ve İşletim Sistemi (HTTP_USER_AGENT)PRO'yu satın alProfesyonel Satın Alınİptal etmekTemayı Buradan Değiştirin:PRO'yu Satın Almak İçin TıklayınKod düzenleyici GörünümüOnaylamakDosyaları veya klasörleri kopyalayınŞu anda yedek(ler) bulunamadı.DOSYALARI SİLkaranlıkVeritabanı YedeklemeTarihte veritabanı yedeklemesi yapıldı Veritabanı yedeklemesi yapıldı.Veritabanı yedeklemesi başarıyla geri yüklendi.VarsayılanVarsayılan:SilSeçimi kaldırBu bildirimi reddedin.bağış yapDosya Günlüklerini İndirinDosyaları indirBir klasörü veya dosyayı çoğaltın veya klonlayınDosya Günlüklerini DüzenleBir dosyayı düzenleyinDosyaların Medya Kitaplığına Yüklenmesi Etkinleştirilsin mi?Çöp Kutusu Etkinleştirilsin mi?Hata: Veritabanı yedeklemesinin boyutu ağır olduğundan yedekleme geri yüklenemiyor. Lütfen Tercihler ayarlarından izin verilen maksimum boyutu artırmayı deneyin.Mevcut Yedek(ler)Arşivi veya sıkıştırılmış dosyayı çıkarınDosya Yöneticisi - Kısa KodDosya Yöneticisi - Sistem ÖzellikleriDosya Yöneticisi Kök Yolu, tercihinize göre değiştirebilirsiniz.Dosya Yöneticisi, birden çok tema içeren bir kod düzenleyiciye sahiptir. Kod düzenleyici için herhangi bir tema seçebilirsiniz. Herhangi bir dosyayı düzenlediğinizde görüntülenecektir. Ayrıca tam ekran kod düzenleyici moduna izin verebilirsiniz.Dosya İşlemleri Listesi:İndirilecek dosya yok.Veritabanı YedeklemeGriYardımBurada "test", kök dizinde bulunan klasörün adıdır veya "wp-content/plugins" gibi alt klasörler için yol verebilirsiniz. Boş veya boş bırakılırsa, kök dizindeki tüm klasörlere erişecektir. Varsayılan: Kök dizinBurada yönetici, dosya yöneticisini kullanmak için kullanıcı rollerine erişim verebilir. Yönetici, Varsayılan Erişim Klasörünü ayarlayabilir ve ayrıca dosya yöneticisinin yükleme boyutunu kontrol edebilir.Dosya bilgisiGeçersiz Güvenlik Kodu.Tüm rollerin ön uçtaki dosya yöneticisine erişmesine izin verir veya belirli kullanıcı rolleri için allow_roles="editor,author" (virgülle (,) ile ayrılmış) gibi basit bir şekilde kullanabilirsiniz.Virgülle belirtilen kilitlenir. ".php,.css,.js" vb. gibi daha fazlasını kilitleyebilirsiniz. Varsayılan: NullÖn uçta dosya yöneticisini gösterecektir. Ancak buna yalnızca Yönetici erişebilir ve dosya yöneticisi ayarlarından kontrol eder.Ön uçta dosya yöneticisini gösterecektir. Tüm ayarları dosya yöneticisi ayarlarından kontrol edebilirsiniz. Arka uç WP Dosya Yöneticisi ile aynı şekilde çalışacaktır.Son Günlük MesajıIşıkKütüklerDizin veya klasör oluşturdosya yapVeritabanı yedekleme geri yüklemesi sırasında izin verilen maksimum boyut.Maksimum dosya yükleme boyutu (upload_max_filesize)Bellek Sınırı (memory_limit)Yedek kimliği eksik.Parametre türü eksik.Gerekli parametreler eksik.Hayır teşekkürlerGünlük mesajı yokGünlük bulunamadı!notNot: Bunlar demo ekran görüntüleridir. Lütfen Logs işlevleri için File Manager pro satın alın.Not: Bu sadece bir demo ekran görüntüsüdür. Ayarları almak için lütfen pro sürümümüzü satın alın.Yedekleme için hiçbir şey seçilmediYedekleme için hiçbir şey seçilmedi.TAMAM MITamam mıDiğerleri (wp içeriğinde bulunan diğer dizinler)Diğerleri yedekleme tarihinde yapıldı Diğerleri yedekleme yapıldı.Diğerleri yedekleme başarısız oldu.Diğerleri yedekleme başarıyla geri yüklendi.PHP sürümüparametreler:Bir dosya veya klasör yapıştırınLütfen E-posta Adresini Girin.Lütfen Adınızı Girin.Lütfen Soyadı Giriniz.Lütfen bunu dikkatli bir şekilde değiştirin, yanlış yol dosya yöneticisi eklentisinin çökmesine neden olabilir.Yedekleme geri yükleme sırasında hata mesajı alıyorsanız lütfen alan değerini artırın.EklentilerEklenti yedeklemesi o tarihte yapıldı Eklenti yedeklemesi yapıldı.Eklentiler yedekleme başarısız oldu.Eklenti yedeklemesi başarıyla geri yüklendi.Maksimum dosya yükleme boyutunu yayınla (post_max_size)TercihlerGizlilik PolitikasıGenel Kök YoluDOSYALARI GERİ YÜKLEDosyaları ve klasörleri kaldırın veya silinBir dosyayı veya klasörü yeniden adlandırınOnarmakGeri yükleme çalışıyor, lütfen bekleyinBAŞARIDeğişiklikleri Kaydetkaydediliyor...Şeyleri araGüvenlik sorunu.Hepsini seçSilinecek yedekleri seçin!AyarlarAyarlar - Kod düzenleyiciAyarlar - GenelAyarlar - Kullanıcı KısıtlamalarıAyarlar - Kullanıcı Rolü KısıtlamalarıAyarlar kaydedildi.Kısa kod - PROBasitçe bir dosya veya klasörü kesinSistem özellikleriKullanım ŞartlarıGörünüşe göre yedekleme başarılı oldu ve şimdi tamamlandı.TemalarTarihte yapılan tema yedeklemesi Tema yedeklemesi yapıldı.Temalar yedekleme başarısız oldu.Tema yedeği başarıyla geri yüklendi.Şimdi zamanıZaman aşımı (max_execution_time)Arşiv veya zip yapmak içinBugünKULLANIM:Veritabanı yedeği oluşturulamıyor.Yedekleme kaldırılamıyor!DB yedeklemesi geri yüklenemiyor.Diğerleri geri yüklenemiyor.Eklentiler geri yüklenemiyor.Temalar geri yüklenemiyor.Yüklemeler geri yüklenemiyor.Dosya Günlüklerini YükleDosyaları yükleYüklemelerYedeklemenin yapıldığı tarihte yüklenir Yüklemeler yedekleme tamamlandı.Yüklemeler yedekleme başarısız oldu.Yüklemeler yedekleme başarıyla geri yüklendi.DoğrulayınGünlüğü GörüntüleWP Dosya YöneticisiWP Dosya Yöneticisi - Yedekleme/Geri YüklemeWP Dosya Yöneticisi KatkısıYeni arkadaşlar edinmeyi seviyoruz! Aşağıdan abone olun ve söz veriyoruz en yeni eklentilerimiz, güncellemelerimiz ile sizi güncel tutmak, harika fırsatlar ve birkaç özel teklif.Dosya Yöneticisine Hoş GeldinizKaydedilecek herhangi bir değişiklik yapmadınız.dosyaları okuma iznine erişim için, not: doğru/yanlış, varsayılan: doğrudosya izinlerini yazmak için erişim için, not: doğru/yanlış, varsayılan: yanlışburada belirtilenleri gizleyecektir. Not: virgül (,) ile ayrılmış. Varsayılan: Boşwp-file-manager/languages/wp-file-manager-tr_TR.po000064400000067047151202472330016045 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 12:18+0530\n" "PO-Revision-Date: 2022-02-28 12:24+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Tema yedeği başarıyla geri yüklendi." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Temalar geri yüklenemiyor." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Yüklemeler yedekleme başarıyla geri yüklendi." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Yüklemeler geri yüklenemiyor." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Diğerleri yedekleme başarıyla geri yüklendi." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Diğerleri geri yüklenemiyor." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Eklenti yedeklemesi başarıyla geri yüklendi." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Eklentiler geri yüklenemiyor." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Veritabanı yedeklemesi başarıyla geri yüklendi." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Hepsi tamam" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "DB yedeklemesi geri yüklenemiyor." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Yedekler başarıyla kaldırıldı!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Yedekleme kaldırılamıyor!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Tarihte veritabanı yedeklemesi yapıldı " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Eklenti yedeklemesi o tarihte yapıldı " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Tarihte yapılan tema yedeklemesi " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Yedeklemenin yapıldığı tarihte yüklenir " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Diğerleri yedekleme tarihinde yapıldı " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Kütükler" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Günlük bulunamadı!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Yedekleme için hiçbir şey seçilmedi" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Güvenlik sorunu." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Veritabanı yedeklemesi yapıldı." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Veritabanı yedeği oluşturulamıyor." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Eklenti yedeklemesi yapıldı." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Eklentiler yedekleme başarısız oldu." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Tema yedeklemesi yapıldı." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Temalar yedekleme başarısız oldu." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Yüklemeler yedekleme tamamlandı." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Yüklemeler yedekleme başarısız oldu." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Diğerleri yedekleme yapıldı." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Diğerleri yedekleme başarısız oldu." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP Dosya Yöneticisi" #: file_folder_manager.php:769 msgid "Settings" msgstr "Ayarlar" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Tercihler" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Sistem özellikleri" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Kısa kod - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Yedekle/Geri Yükle" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Profesyonel Satın Alın" #: file_folder_manager.php:1034 msgid "Donate" msgstr "bağış yap" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "İndirilecek dosya yok." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Geçersiz Güvenlik Kodu." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Yedek kimliği eksik." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parametre türü eksik." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Gerekli parametreler eksik." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Hata: Veritabanı yedeklemesinin boyutu ağır olduğundan yedekleme geri " "yüklenemiyor. Lütfen Tercihler ayarlarından izin verilen maksimum boyutu " "artırmayı deneyin." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Silinecek yedekleri seçin!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Seçili yedekleri kaldırmak istediğinizden emin misiniz?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Yedekleme çalışıyor, lütfen bekleyin" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Geri yükleme çalışıyor, lütfen bekleyin" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Yedekleme için hiçbir şey seçilmedi." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP Dosya Yöneticisi - Yedekleme/Geri Yükleme" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Yedekleme Seçenekleri:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Veritabanı Yedekleme" #: inc/backup.php:64 msgid "Files Backup" msgstr "Veritabanı Yedekleme" #: inc/backup.php:68 msgid "Plugins" msgstr "Eklentiler" #: inc/backup.php:71 msgid "Themes" msgstr "Temalar" #: inc/backup.php:74 msgid "Uploads" msgstr "Yüklemeler" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Diğerleri (wp içeriğinde bulunan diğer dizinler)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Şimdi yedekle" #: inc/backup.php:89 msgid "Time now" msgstr "Şimdi zamanı" #: inc/backup.php:99 msgid "SUCCESS" msgstr "BAŞARI" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Yedekleme başarıyla silindi." #: inc/backup.php:102 msgid "Ok" msgstr "Tamam mı" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "DOSYALARI SİL" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Bu yedeği silmek istediğinizden emin misiniz?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "İptal etmek" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Onaylamak" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "DOSYALARI GERİ YÜKLE" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Bu yedeği geri yüklemek istediğinizden emin misiniz?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Son Günlük Mesajı" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Görünüşe göre yedekleme başarılı oldu ve şimdi tamamlandı." #: inc/backup.php:171 msgid "No log message" msgstr "Günlük mesajı yok" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Mevcut Yedek(ler)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Yedekleme Tarihi" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Yedekleme verileri (indirmek için tıklayın)" #: inc/backup.php:190 msgid "Action" msgstr "Aksiyon" #: inc/backup.php:210 msgid "Today" msgstr "Bugün" #: inc/backup.php:239 msgid "Restore" msgstr "Onarmak" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Sil" #: inc/backup.php:241 msgid "View Log" msgstr "Günlüğü Görüntüle" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Şu anda yedek(ler) bulunamadı." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Seçilen yedekleme(ler)deki işlemler" #: inc/backup.php:251 msgid "Select All" msgstr "Hepsini seç" #: inc/backup.php:252 msgid "Deselect" msgstr "Seçimi kaldır" #: inc/backup.php:254 msgid "Note:" msgstr "not" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Yedekleme dosyaları altında olacak" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP Dosya Yöneticisi Katkısı" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Not: Bunlar demo ekran görüntüleridir. Lütfen Logs işlevleri için File " "Manager pro satın alın." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "PRO'yu Satın Almak İçin Tıklayın" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "PRO'yu satın al" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Dosya Günlüklerini Düzenle" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Dosya Günlüklerini İndirin" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Dosya Günlüklerini Yükle" #: inc/root.php:43 msgid "Settings saved." msgstr "Ayarlar kaydedildi." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Bu bildirimi reddedin." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Kaydedilecek herhangi bir değişiklik yapmadınız." #: inc/root.php:55 msgid "Public Root Path" msgstr "Genel Kök Yolu" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "Dosya Yöneticisi Kök Yolu, tercihinize göre değiştirebilirsiniz." #: inc/root.php:59 msgid "Default:" msgstr "Varsayılan:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Lütfen bunu dikkatli bir şekilde değiştirin, yanlış yol dosya yöneticisi " "eklentisinin çökmesine neden olabilir." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Çöp Kutusu Etkinleştirilsin mi?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Çöp kutusunu etkinleştirdikten sonra dosyalarınız çöp klasörüne gidecektir." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Dosyaların Medya Kitaplığına Yüklenmesi Etkinleştirilsin mi?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Bunu etkinleştirdikten sonra tüm dosyalar medya kitaplığına gidecektir." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Veritabanı yedekleme geri yüklemesi sırasında izin verilen maksimum boyut." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Yedekleme geri yükleme sırasında hata mesajı alıyorsanız lütfen alan " "değerini artırın." #: inc/root.php:90 msgid "Save Changes" msgstr "Değişiklikleri Kaydet" #: inc/settings.php:10 msgid "Settings - General" msgstr "Ayarlar - Genel" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Not: Bu sadece bir demo ekran görüntüsüdür. Ayarları almak için lütfen pro " "sürümümüzü satın alın." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Burada yönetici, dosya yöneticisini kullanmak için kullanıcı rollerine " "erişim verebilir. Yönetici, Varsayılan Erişim Klasörünü ayarlayabilir ve " "ayrıca dosya yöneticisinin yükleme boyutunu kontrol edebilir." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Ayarlar - Kod düzenleyici" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Dosya Yöneticisi, birden çok tema içeren bir kod düzenleyiciye sahiptir. Kod " "düzenleyici için herhangi bir tema seçebilirsiniz. Herhangi bir dosyayı " "düzenlediğinizde görüntülenecektir. Ayrıca tam ekran kod düzenleyici moduna " "izin verebilirsiniz." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kod düzenleyici Görünümü" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Ayarlar - Kullanıcı Kısıtlamaları" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Yönetici, herhangi bir kullanıcının eylemlerini kısıtlayabilir. Ayrıca dosya " "ve klasörleri gizleyebilir ve farklı kullanıcılar için farklı - farklı " "klasör yolları ayarlayabilirsiniz." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Ayarlar - Kullanıcı Rolü Kısıtlamaları" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Yönetici, herhangi bir kullanıcı rolünün eylemlerini kısıtlayabilir. Ayrıca " "dosya ve klasörleri gizleyebilir ve farklı kullanıcı rolleri için farklı - " "farklı klasör yolları ayarlayabilirsiniz." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Dosya Yöneticisi - Kısa Kod" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "KULLANIM:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Ön uçta dosya yöneticisini gösterecektir. Tüm ayarları dosya yöneticisi " "ayarlarından kontrol edebilirsiniz. Arka uç WP Dosya Yöneticisi ile aynı " "şekilde çalışacaktır." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Ön uçta dosya yöneticisini gösterecektir. Ancak buna yalnızca Yönetici " "erişebilir ve dosya yöneticisi ayarlarından kontrol eder." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "parametreler:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Tüm rollerin ön uçtaki dosya yöneticisine erişmesine izin verir veya belirli " "kullanıcı rolleri için allow_roles=\"editor,author\" (virgülle (,) ile " "ayrılmış) gibi basit bir şekilde kullanabilirsiniz." #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Burada \"test\", kök dizinde bulunan klasörün adıdır veya \"wp-content/" "plugins\" gibi alt klasörler için yol verebilirsiniz. Boş veya boş " "bırakılırsa, kök dizindeki tüm klasörlere erişecektir. Varsayılan: Kök dizin" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "dosya izinlerini yazmak için erişim için, not: doğru/yanlış, varsayılan: " "yanlış" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "dosyaları okuma iznine erişim için, not: doğru/yanlış, varsayılan: doğru" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "burada belirtilenleri gizleyecektir. Not: virgül (,) ile ayrılmış. " "Varsayılan: Boş" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Virgülle belirtilen kilitlenir. \".php,.css,.js\" vb. gibi daha fazlasını " "kilitleyebilirsiniz. Varsayılan: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* tüm işlemler için ve bazı işlemlere izin vermek için işlem adını " "allow_processs=\"upload,download\" gibi belirtebilirsiniz. Not: virgül (,) " "ile ayrılmış. Varsayılan: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Dosya İşlemleri Listesi:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Dizin veya klasör oluştur" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "dosya yap" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Bir dosyayı veya klasörü yeniden adlandırın" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Bir klasörü veya dosyayı çoğaltın veya klonlayın" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Bir dosya veya klasör yapıştırın" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "yasaklamak" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Arşiv veya zip yapmak için" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Arşivi veya sıkıştırılmış dosyayı çıkarın" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Dosyaları veya klasörleri kopyalayın" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Basitçe bir dosya veya klasörü kesin" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Bir dosyayı düzenleyin" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Dosyaları ve klasörleri kaldırın veya silin" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Dosyaları indir" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Dosyaları yükle" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Şeyleri ara" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Dosya bilgisi" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Yardım" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Belirli kullanıcıları yalnızca kimliklerini virgülle (,) ayırarak " "yasaklayacaktır. Kullanıcı Ban ise, ön uçta wp dosya yöneticisine " "erişemezler." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Dosya Yöneticisi Kullanıcı Arayüzü Görünümü. Varsayılan: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Dosya Değiştirildi veya Tarih formatı oluştur. Varsayılan: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Dosya yöneticisi Dil. Varsayılan: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Dosya Yöneticisi Teması. Varsayılan: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Dosya Yöneticisi - Sistem Özellikleri" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP sürümü" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimum dosya yükleme boyutu (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Maksimum dosya yükleme boyutunu yayınla (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Bellek Sınırı (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Zaman aşımı (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Tarayıcı ve İşletim Sistemi (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Temayı Buradan Değiştirin:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Varsayılan" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "karanlık" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Işık" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Gri" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Dosya Yöneticisine Hoş Geldiniz" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Yeni arkadaşlar edinmeyi seviyoruz! Aşağıdan abone olun ve söz veriyoruz\n" " en yeni eklentilerimiz, güncellemelerimiz ile sizi güncel tutmak,\n" " harika fırsatlar ve birkaç özel teklif." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Lütfen Adınızı Girin." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Lütfen Soyadı Giriniz." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Lütfen E-posta Adresini Girin." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Doğrulayın" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Hayır teşekkürler" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Kullanım Şartları" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Gizlilik Politikası" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "kaydediliyor..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "TAMAM MI" #~ msgid "Backup not found!" #~ msgstr "Yedek bulunamadı!" #~ msgid "Backup removed successfully!" #~ msgstr "Yedekleme başarıyla kaldırıldı!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Yedekleme için hiçbir şey seçilmedi" #~ msgid "Security Issue." #~ msgstr "Güvenlik Sorunu." #~ msgid "Database backup done." #~ msgstr "" #~ "Veritabanı yedeklemesi tamamlandı." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Veritabanı yedeği oluşturulamıyor." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Eklentiler yedeklemesi tamamlandı." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Eklentiler yedekleme başarısız oldu." #~ msgid "Themes backup done." #~ msgstr "" #~ "Tema yedeklemesi tamamlandı." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Temalar yedekleme başarısız oldu." #~ msgid "Uploads backup done." #~ msgstr "Yükleme tamamlandı." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Yükleme yedeklemesi başarısız oldu." #~ msgid "Others backup done." #~ msgstr "" #~ "Diğerlerinin yedeklemesi tamamlandı." #~ msgid "Others backup failed." #~ msgstr "" #~ "Diğerleri yedekleme başarısız oldu." #~ msgid "All Done" #~ msgstr "Her Şey Tamamlandı" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "WP dosyalarınızı yönetin." #~ msgid "Extensions" #~ msgstr "Uzantıları" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Lütfen eklentiyi daha kararlı hale getirmek için biraz bağış yapın. " #~ "İstediğiniz miktarı ödeyebilirsiniz." wp-file-manager/languages/wp-file-manager-uk.mo000064400000057563151202472330015431 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&/(`)S1+w+_+r],,>,0-HG.o/h0 i0ev0[0]812101=1d82O2J2<83<u3<33*4+4>4Q4d4+4,44-4Q"5t5 595Y5K16^}66 67.71L7~7077C70,8!]8O88M8*<:Hg:2:I:-;;0Z=9=2= =>>?$dA)AzA.C/Db6E6F FF/FG4GfG/0HL`H-H7HI2$I'WIII8JQJR>K K KdKDL6UL8LILM M)4M>^M.M MMNOVOHOJ/P[zPyPPQ1gQ0QQGQ30RdRA}R RRRR S6SOLSS4S+SDTO[T,TT6T%%U'KUdsUULU>.V@mVQVW0W$CWhWyWWWAWH-X0vX6X0X@Y2PYYYQYNZP]Z[Z [#[ C[ad[/[O[/F]Kv]]Q^^}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-03-02 10:28+0530 Last-Translator: admin Language-Team: Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2); X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * для всіх операцій і для дозволу деяких операцій ви можете вказати назву операції, наприклад, allowed_operations="upload,download". Примітка: розділяється комою (,). За замовчуванням: *-> Це заборонить певних користувачів, просто ставлячи їх ідентифікатори, розділені комами (,). Якщо користувач заборонений, він не зможе отримати доступ до менеджера файлів wp на передній панелі.-> Тема менеджера файлів. За замовчуванням: Light-> Файл змінено або Створити формат дати. За замовчуванням: d M, Y h:i A-> Мова файлового менеджера. За замовчуванням: English(en)-> Перегляд інтерфейсу користувача Filemanager. За замовчуванням: gridДіяДії щодо вибраних резервних копійАдміністратор може обмежити дії будь-якого користувача. Також приховуйте файли та папки та можете встановлювати різні шляхи до різних папок для різних користувачів.Адміністратор може обмежити дії будь-якої користувацької ролі. Також приховуйте файли та папки та можете встановлювати різні шляхи до різних папок для різних ролей користувачів.Після активації кошика ваші файли перейдуть до папки кошика.Після ввімкнення цього всі файли перейдуть до медіатеки.ГотовоВи впевнені, що хочете видалити вибрані резервні копії?Ви впевнені, що хочете видалити цю резервну копію?Ви впевнені, що хочете відновити цю резервну копію?Дата резервного копіюванняРезервне копіювання заразПараметри резервного копіювання:Резервне копіювання даних (натисніть, щоб завантажити)Файли резервних копій будуть розміщені підРезервне копіювання запущено, зачекайтеРезервну копію успішно видалено.Резервне копіювання/ВідновленняРезервні копії успішно видалено!заборонаБраузер та ОС (HTTP_USER_AGENT)Купуйте PROКупуйте ProСкасуватиЗмінити тему тут:Натисніть, щоб купити PROПерегляд редактора кодуПідтвердьтеКопіюйте файли або папкиНа даний момент резервних копій не знайдено.ВИДАЛИТИ ФАЙЛИТемнийРезервне копіювання бази данихРезервне копіювання бази даних виконано на дату Резервне копіювання бази даних виконано.Резервне копіювання бази даних успішно відновлено.За замовчуваннямЗа замовчуванням:ВидалитиСкасувати вибірВідхилити це повідомлення.ПожертвуватиЗавантажте журнали файлівЗавантажте файлиДублюйте або клонуйте папку або файлРедагувати журнали файлівВідредагуйте файлУвімкнути завантаження файлів у медіатеку?Увімкнути кошик?Помилка: не вдається відновити резервну копію, оскільки резервна копія бази даних має великий розмір. Будь ласка, спробуйте збільшити максимально дозволений розмір у налаштуваннях.Існуючі резервні копіїВитягніть архів або заархівований файлФайловий менеджер - ШорткодФайловий менеджер - Властивості системиКореневий шлях файлового менеджера, ви можете змінити за вашим вибором.Файловий менеджер має редактор коду з декількома темами. Ви можете вибрати будь-яку тему для редактора коду. Він відображатиметься під час редагування будь-якого файлу. Також ви можете дозволити повноекранний режим редактора коду.Список операцій з файлами:Файл не існує для завантаження.Резервне копіювання файлівСірийДопомогаТут "test" - це ім'я папки, яка знаходиться в кореневому каталозі, або ви можете вказати шлях до підтек, наприклад, "wp-content/plugins". Якщо залишити порожнім або порожнім, він отримає доступ до всіх папок у кореневому каталозі. За замовчуванням: кореневий каталогТут адміністратор може надати доступ до ролей користувачів для використання файлового менеджера. Адміністратор може встановити папку доступу за замовчуванням, а також керувати розміром завантажуваного файлу.Інформація про файлНедійсний код безпеки.Це дозволить всім ролям отримати доступ до файлового менеджера на передньому плані або ви можете просто використовувати для певних ролей користувачів, наприклад, allow_roles="редактор,автор" (розділений комою(,))Він буде заблокований, зазначений у комах. ви можете заблокувати більше, наприклад ".php,.css,.js" тощо. За замовчуванням: NullВін покаже файловий менеджер на передньому плані. Але тільки адміністратор може отримати до нього доступ і керуватиме за допомогою налаштувань файлового менеджера.Він покаже файловий менеджер на передньому плані. Ви можете керувати всіма налаштуваннями за допомогою налаштувань файлового менеджера. Він працюватиме так само, як і бекенд Менеджер файлів WP.Останнє повідомлення журналуСвітлоЖурналиЗробіть каталог або папкуЗробити файлМаксимально дозволений розмір на момент відновлення резервної копії бази даних.Максимальний розмір файлу для завантаження (upload_max_filesize)Обмеження пам'яті (memory_limit)Відсутній ідентифікатор резервної копії.Відсутній тип параметра.Відсутні необхідні параметри.Ні, дякуюНемає повідомлення журналуЖурналів не знайдено!Примітка:Примітка: Це демонстраційні скріншоти. Будь ласка, придбайте File Manager pro для функцій Журнали.Примітка: Це лише демонстраційний скріншот. Щоб отримати налаштування, придбайте нашу про-версію.Нічого не вибрано для резервного копіюванняНічого не вибрано для резервного копіювання.гараздГараздІнші (Будь-які інші каталоги, знайдені всередині wp-content)Інші резервні копії зроблено на дату Інші резервні копії виконано.Помилка інших резервних копій.Інші резервні копії відновлено успішно.PHP версіяПараметри:Вставте файл або папкуВведіть адресу електронної пошти.Будь ласка, введіть ім’я.Введіть прізвище.Будь-ласка, обережно змініть це, неправильний шлях може призвести до того, що плагін файлового менеджера піде вниз.Збільште значення поля, якщо ви отримуєте повідомлення про помилку під час відновлення резервної копії.ПлагіниРезервне копіювання плагінів зроблено на дату Резервне копіювання плагінів виконано.Помилка резервного копіювання плагінів.Резервне копіювання плагінів успішно відновлено.Опублікувати максимальний розмір файлу для завантаження (post_max_size)ПреференціїПолітика конфіденційностіСуспільний кореневий шляхВІДНОВИТИ ФАЙЛИВидалення або видалення файлів і папокПерейменуйте файл або папкуВідновлюватиВідновлення виконується, зачекайтеУСПІХЗберегти зміниЗбереження ...Шукати речіПроблема безпеки.Вибрати всеВиберіть резервну(и) копію(и) для видалення!НалаштуванняНалаштування - редактор кодуНалаштування - ЗагальніНалаштування - Обмеження користувачаНалаштування - Обмеження ролей користувачаНалаштування збережено.Шорт-код - PROПросто виріжте файл або папкуВластивості системиУмови обслуговуванняРезервне копіювання, мабуть, вдалося, і воно завершено.ТемиРезервне копіювання тем виконано на дату Резервне копіювання тем виконано.Помилка резервного копіювання тем.Резервне копіювання тем успішно відновлено.Час заразЧас очікування (max_execution_time)Зробити архів або zipСьогодніВИКОРИСТАННЯ:Не вдається створити резервну копію бази даних.Не вдалося видалити резервну копію!Не вдалося відновити резервну копію БД.Не вдалося відновити інші.Не вдалося відновити плагіни.Не вдалося відновити теми.Не вдалося відновити завантаження.Завантажити журнали файлівЗавантажте файлиЗавантаженняЗавантажує резервну копію, виконану на дату Резервне копіювання завантажень виконано.Помилка резервного копіювання завантажень.Завантаження резервної копії відновлено успішно.ПеревіритиПереглянути журналМенеджер файлів WPМенеджер файлів WP - Резервне копіювання / відновленняВнесок менеджера файлів WPМи любимо заводити нових друзів! Підпишіться нижче, і ми обіцяємо тримати вас в курсі наших останніх нових плагінів, оновлень, чудові пропозиції та кілька спеціальних пропозицій.Ласкаво просимо до File ManagerВи не вносили жодних змін для збереження.для доступу до дозволу на читання файлів примітка: true/false, за замовчуванням: trueдля доступу до дозволів на запис файлів примітка: true/false, за замовчуванням: falseвін приховає згадані тут. Примітка: розділяється комою (,). За замовчуванням: Нульwp-file-manager/languages/wp-file-manager-uk.po000064400000104326151202472330015422 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 12:24+0530\n" "PO-Revision-Date: 2022-03-02 10:28+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n" "%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Резервне копіювання тем успішно відновлено." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Не вдалося відновити теми." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Завантаження резервної копії відновлено успішно." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Не вдалося відновити завантаження." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Інші резервні копії відновлено успішно." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Не вдалося відновити інші." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Резервне копіювання плагінів успішно відновлено." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Не вдалося відновити плагіни." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Резервне копіювання бази даних успішно відновлено." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Готово" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Не вдалося відновити резервну копію БД." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Резервні копії успішно видалено!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Не вдалося видалити резервну копію!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Резервне копіювання бази даних виконано на дату " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Резервне копіювання плагінів зроблено на дату " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Резервне копіювання тем виконано на дату " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Завантажує резервну копію, виконану на дату " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Інші резервні копії зроблено на дату " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Журнали" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Журналів не знайдено!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Нічого не вибрано для резервного копіювання" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Проблема безпеки." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Резервне копіювання бази даних виконано." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Не вдається створити резервну копію бази даних." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Резервне копіювання плагінів виконано." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Помилка резервного копіювання плагінів." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Резервне копіювання тем виконано." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Помилка резервного копіювання тем." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Резервне копіювання завантажень виконано." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Помилка резервного копіювання завантажень." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Інші резервні копії виконано." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Помилка інших резервних копій." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Менеджер файлів WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Налаштування" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Преференції" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Властивості системи" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Шорт-код - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Резервне копіювання/Відновлення" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Купуйте Pro" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Пожертвувати" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Файл не існує для завантаження." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Недійсний код безпеки." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Відсутній ідентифікатор резервної копії." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Відсутній тип параметра." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Відсутні необхідні параметри." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Помилка: не вдається відновити резервну копію, оскільки резервна копія бази " "даних має великий розмір. Будь ласка, спробуйте збільшити максимально " "дозволений розмір у налаштуваннях." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Виберіть резервну(и) копію(и) для видалення!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Ви впевнені, що хочете видалити вибрані резервні копії?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Резервне копіювання запущено, зачекайте" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Відновлення виконується, зачекайте" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Нічого не вибрано для резервного копіювання." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Менеджер файлів WP - Резервне копіювання / відновлення" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Параметри резервного копіювання:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Резервне копіювання бази даних" #: inc/backup.php:64 msgid "Files Backup" msgstr "Резервне копіювання файлів" #: inc/backup.php:68 msgid "Plugins" msgstr "Плагіни" #: inc/backup.php:71 msgid "Themes" msgstr "Теми" #: inc/backup.php:74 msgid "Uploads" msgstr "Завантаження" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Інші (Будь-які інші каталоги, знайдені всередині wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Резервне копіювання зараз" #: inc/backup.php:89 msgid "Time now" msgstr "Час зараз" #: inc/backup.php:99 msgid "SUCCESS" msgstr "УСПІХ" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Резервну копію успішно видалено." #: inc/backup.php:102 msgid "Ok" msgstr "Гаразд" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "ВИДАЛИТИ ФАЙЛИ" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Ви впевнені, що хочете видалити цю резервну копію?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Скасувати" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Підтвердьте" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "ВІДНОВИТИ ФАЙЛИ" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Ви впевнені, що хочете відновити цю резервну копію?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Останнє повідомлення журналу" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Резервне копіювання, мабуть, вдалося, і воно завершено." #: inc/backup.php:171 msgid "No log message" msgstr "Немає повідомлення журналу" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Існуючі резервні копії" #: inc/backup.php:184 msgid "Backup Date" msgstr "Дата резервного копіювання" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Резервне копіювання даних (натисніть, щоб завантажити)" #: inc/backup.php:190 msgid "Action" msgstr "Дія" #: inc/backup.php:210 msgid "Today" msgstr "Сьогодні" #: inc/backup.php:239 msgid "Restore" msgstr "Відновлювати" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Видалити" #: inc/backup.php:241 msgid "View Log" msgstr "Переглянути журнал" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "На даний момент резервних копій не знайдено." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Дії щодо вибраних резервних копій" #: inc/backup.php:251 msgid "Select All" msgstr "Вибрати все" #: inc/backup.php:252 msgid "Deselect" msgstr "Скасувати вибір" #: inc/backup.php:254 msgid "Note:" msgstr "Примітка:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Файли резервних копій будуть розміщені під" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Внесок менеджера файлів WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Примітка: Це демонстраційні скріншоти. Будь ласка, придбайте File Manager " "pro для функцій Журнали." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Натисніть, щоб купити PRO" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Купуйте PRO" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Редагувати журнали файлів" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Завантажте журнали файлів" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Завантажити журнали файлів" #: inc/root.php:43 msgid "Settings saved." msgstr "Налаштування збережено." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Відхилити це повідомлення." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Ви не вносили жодних змін для збереження." #: inc/root.php:55 msgid "Public Root Path" msgstr "Суспільний кореневий шлях" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Кореневий шлях файлового менеджера, ви можете змінити за вашим вибором." #: inc/root.php:59 msgid "Default:" msgstr "За замовчуванням:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Будь-ласка, обережно змініть це, неправильний шлях може призвести до того, " "що плагін файлового менеджера піде вниз." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Увімкнути кошик?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "Після активації кошика ваші файли перейдуть до папки кошика." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Увімкнути завантаження файлів у медіатеку?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Після ввімкнення цього всі файли перейдуть до медіатеки." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Максимально дозволений розмір на момент відновлення резервної копії бази " "даних." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Збільште значення поля, якщо ви отримуєте повідомлення про помилку під час " "відновлення резервної копії." #: inc/root.php:90 msgid "Save Changes" msgstr "Зберегти зміни" #: inc/settings.php:10 msgid "Settings - General" msgstr "Налаштування - Загальні" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Примітка: Це лише демонстраційний скріншот. Щоб отримати налаштування, " "придбайте нашу про-версію." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Тут адміністратор може надати доступ до ролей користувачів для використання " "файлового менеджера. Адміністратор може встановити папку доступу за " "замовчуванням, а також керувати розміром завантажуваного файлу." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Налаштування - редактор коду" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Файловий менеджер має редактор коду з декількома темами. Ви можете вибрати " "будь-яку тему для редактора коду. Він відображатиметься під час редагування " "будь-якого файлу. Також ви можете дозволити повноекранний режим редактора " "коду." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Перегляд редактора коду" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Налаштування - Обмеження користувача" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Адміністратор може обмежити дії будь-якого користувача. Також приховуйте " "файли та папки та можете встановлювати різні шляхи до різних папок для " "різних користувачів." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Налаштування - Обмеження ролей користувача" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Адміністратор може обмежити дії будь-якої користувацької ролі. Також " "приховуйте файли та папки та можете встановлювати різні шляхи до різних " "папок для різних ролей користувачів." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Файловий менеджер - Шорткод" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "ВИКОРИСТАННЯ:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Він покаже файловий менеджер на передньому плані. Ви можете керувати всіма " "налаштуваннями за допомогою налаштувань файлового менеджера. Він працюватиме " "так само, як і бекенд Менеджер файлів WP." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Він покаже файловий менеджер на передньому плані. Але тільки адміністратор " "може отримати до нього доступ і керуватиме за допомогою налаштувань " "файлового менеджера." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Параметри:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Це дозволить всім ролям отримати доступ до файлового менеджера на передньому " "плані або ви можете просто використовувати для певних ролей користувачів, " "наприклад, allow_roles=\"редактор,автор\" (розділений комою(,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Тут \"test\" - це ім'я папки, яка знаходиться в кореневому каталозі, або ви " "можете вказати шлях до підтек, наприклад, \"wp-content/plugins\". Якщо " "залишити порожнім або порожнім, він отримає доступ до всіх папок у " "кореневому каталозі. За замовчуванням: кореневий каталог" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "для доступу до дозволів на запис файлів примітка: true/false, за " "замовчуванням: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "для доступу до дозволу на читання файлів примітка: true/false, за " "замовчуванням: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "він приховає згадані тут. Примітка: розділяється комою (,). За " "замовчуванням: Нуль" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Він буде заблокований, зазначений у комах. ви можете заблокувати більше, " "наприклад \".php,.css,.js\" тощо. За замовчуванням: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* для всіх операцій і для дозволу деяких операцій ви можете вказати назву " "операції, наприклад, allowed_operations=\"upload,download\". Примітка: " "розділяється комою (,). За замовчуванням: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Список операцій з файлами:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Зробіть каталог або папку" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Зробити файл" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Перейменуйте файл або папку" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Дублюйте або клонуйте папку або файл" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Вставте файл або папку" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "заборона" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Зробити архів або zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Витягніть архів або заархівований файл" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Копіюйте файли або папки" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Просто виріжте файл або папку" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Відредагуйте файл" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Видалення або видалення файлів і папок" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Завантажте файли" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Завантажте файли" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Шукати речі" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Інформація про файл" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Допомога" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Це заборонить певних користувачів, просто ставлячи їх ідентифікатори, " "розділені комами (,). Якщо користувач заборонений, він не зможе отримати " "доступ до менеджера файлів wp на передній панелі." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Перегляд інтерфейсу користувача Filemanager. За замовчуванням: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> Файл змінено або Створити формат дати. За замовчуванням: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Мова файлового менеджера. За замовчуванням: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Тема менеджера файлів. За замовчуванням: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Файловий менеджер - Властивості системи" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP версія" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Максимальний розмір файлу для завантаження (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "" "Опублікувати максимальний розмір файлу для завантаження (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Обмеження пам'яті (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Час очікування (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Браузер та ОС (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Змінити тему тут:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "За замовчуванням" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Темний" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Світло" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Сірий" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Ласкаво просимо до File Manager" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Ми любимо заводити нових друзів! Підпишіться нижче, і ми обіцяємо\n" " тримати вас в курсі наших останніх нових плагінів, оновлень,\n" " чудові пропозиції та кілька спеціальних пропозицій." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Будь ласка, введіть ім’я." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Введіть прізвище." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Введіть адресу електронної пошти." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Перевірити" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Ні, дякую" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Умови обслуговування" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Політика конфіденційності" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Збереження ..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "гаразд" #~ msgid "Backup not found!" #~ msgstr "Резервну копію не знайдено!" #~ msgid "Backup removed successfully!" #~ msgstr "Резервну копію успішно видалено!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Нічого не вибрано для резервного " #~ "копіювання" #~ msgid "Security Issue." #~ msgstr "Проблема безпеки." #~ msgid "Database backup done." #~ msgstr "" #~ "Виконано резервне копіювання бази " #~ "даних." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Неможливо створити резервну копію бази " #~ "даних." #~ msgid "Plugins backup done." #~ msgstr "" #~ "Зроблено резервне копіювання плагінів." #~ "" #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Не вдалося створити резервну копію " #~ "плагінів." #~ msgid "Themes backup done." #~ msgstr "" #~ "Зроблено резервне копіювання тем." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Не вдалося створити резервну копію тем. " #~ "" #~ msgid "Uploads backup done." #~ msgstr "" #~ "Завантаження резервної копії зроблено. " #~ "" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Не вдалося завантажити резервну копію. " #~ msgid "Others backup done." #~ msgstr "" #~ "Інші резервні копії зроблено." #~ msgid "Others backup failed." #~ msgstr "" #~ "Не вдалося створити резервну копію. " #~ msgid "All Done" #~ msgstr "Все готово" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Керування файлами WP." #~ msgid "Extensions" #~ msgstr "Розширення" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Будь ласка, внесіть деякі пожертви, щоб зробити плагін стабільнішим. Ви " #~ "можете сплатити суму за вашим вибором." wp-file-manager/languages/wp-file-manager-ur.mo000064400000053372151202472330015432 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&.T(:)D*s+Mw+H+,+,A, Y-c.r.\/[m/K/M0c00"0K001E41<z11@1 21%2W2s22&2.2 230&3;W333 383.4OB44444(455-5%c5J5.5*6a.6(66'7:7 882Y8n88&:H:; $;/;6;@<>>A<>~?%@"%AHBcBlB/~BBoBM4C/C"C,C,D/D(CD$lDDD&EIEIF bF pFm~F5F+"G2NGJGGG3GD.H1sH/HHI :J:HJ,J7JKJZ4KK KK#KJL?NLLELL"L M"M"?MbM<MM$MM/N?8N(xNN&NNNJObO3qO)O4OJPOP#gP+PPP6P*Q5.Q3dQ2Q1Q4Q/2RbR R3R,R7RM)SwSSS8S(S T.&UPUUmUnVvV}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 12:33+0530 Last-Translator: admin Language-Team: Language: ur MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * تمام آپریشنز کے لیے اور کچھ آپریشن کی اجازت دینے کے لیے آپ آپریشن کے نام کا ذکر کر سکتے ہیں جیسے کہ اجازت_آپریشن="اپ لوڈ، ڈاؤن لوڈ"۔ نوٹ: کوما (،) سے الگ کیا گیا۔ ڈیفالٹ: *-> یہ خاص طور پر صارفین کو اپنے ایڈز کوما (،) کے ذریعہ تقسیم کرکے پابندی لگائے گا۔ اگر صارف پابندی ہے تو وہ سامنے کے آخر میں ڈبلیو پی پی فائل مینیجر تک رسائی حاصل نہیں کرسکیں گے۔-> فائل مینیجر تھیم۔ پہلے سے طے شدہ: Light-> فائل میں تبدیلی یا تاریخ کی شکل بنائیں۔ پہلے سے طے شدہ: d M، Y h:i A-> فائل منیجر کی زبان۔ پہلے سے طے شدہ: English(en)-> فائل مینجر UI دیکھیں۔ پہلے سے طے شدہ: gridعملمنتخب کردہ بیک اپ پر کامایڈمن کسی بھی صارف کے اقدامات کو محدود کرسکتا ہے۔ فائلوں اور فولڈروں کو بھی چھپائیں اور مختلف صارفین کے لئے مختلف - فولڈر کے مختلف راستے ترتیب دے سکتے ہیں۔ایڈمن کسی بھی صارف کے عمل کو روک سکتا ہے۔ فائلوں اور فولڈروں کو بھی چھپائیں اور مختلف سیٹ کرسکتے ہیں - مختلف صارفین کے رول کے لئے مختلف فولڈر راہیں۔کوڑے دان کو چالو کرنے کے بعد ، آپ کی فائلیں کوڑے دان کے فولڈر میں جائیں گی۔اس کو چالو کرنے کے بعد تمام فائلیں میڈیا لائبریری میں جائیں گی۔سب ہو گیاکیا آپ واقعی منتخب بیک اپ (زبانیں) ہٹانا چاہتے ہیں؟کیا آپ واقعی یہ بیک اپ حذف کرنا چاہتے ہیں؟کیا آپ واقعی یہ بیک اپ بحال کرنا چاہتے ہیں؟بیک اپ کی تاریخابھی بیک اپبیک اپ کے اختیارات:بیک اپ ڈیٹا (ڈاؤن لوڈ کرنے کے لئے کلک کریں)بیک اپ فائلوں کے تحت ہوں گےبیک اپ چل رہا ہے ، براہ کرم انتظار کریںبیک اپ کامیابی کے ساتھ حذف ہوگیا۔بیک اپ/بحالبیک اپ کامیابی کے ساتھ ہٹا دیئے گئے!پابندی لگانابراؤزر اور او ایس (HTTP_USER_AGENT)پی ار او خریدیںپرو خریدیںمنسوخ کریںتھیم یہاں تبدیل کریں:PRO خریدنے کے لیے کلک کریں۔کوڈ ایڈیٹر دیکھیںتصدیق کریںفائلیں یا فولڈرز کاپی کریںفی الحال کوئی بیک اپ نہیں ملا ہے۔فائلیں حذف کریںگہراڈیٹا بیس کا بیک اپڈیٹا بیس کا بیک اپ تاریخ کو ہوا ڈیٹا بیس کا بیک اپ ہو گیا۔ڈیٹا بیس کا بیک اپ کامیابی کے ساتھ بحال ہوا۔پہلے سے طے شدہپہلے سے طے شدہ:حذف کریںغیر منتخب کریںاس نوٹس کو مسترد کریں۔عطیہ کریںفائلوں کا نوشتہ ڈاؤن لوڈ کریںفائلیں ڈاؤن لوڈ کریںکسی فولڈر یا فائل کو ڈپلیکیٹ یا کلون کریںفائلیں لاگ میں ترمیم کریںایک فائل میں ترمیم کریںمیڈیا لائبریری میں فائلیں اپ لوڈ کریں کو قابل بنائیں؟کوڑے دان کو چالو کریں؟خرابی: بیک اپ بحال کرنے سے قاصر کیونکہ ڈیٹا بیس بیک اپ سائز میں بھاری ہے۔ براہ کرم ترجیحات کی ترتیبات سے زیادہ سے زیادہ اجازت شدہ سائز کو بڑھانے کی کوشش کریں۔موجودہ بیک اپ (زبانیں)آرکائیو یا زپ شدہ فائل کو نکالیںفائل منیجر - مختصرفائل منیجر۔ سسٹم کی خصوصیاتفائل مینیجر روٹ راہ ، آپ اپنی پسند کے مطابق تبدیل کرسکتے ہیں۔فائل مینیجر کے پاس ایک کوڈ ایڈیٹر ہے جس میں متعدد موضوعات ہیں۔ آپ کوڈ ایڈیٹر کے لئے کسی بھی تھیم کو منتخب کرسکتے ہیں۔ جب آپ کسی بھی فائل میں ترمیم کریں گے تو یہ ظاہر ہوگا۔ نیز آپ کوڈ ایڈیٹر کے پورے اسکرین وضع کی اجازت دے سکتے ہیں۔فائل آپریشن کی فہرست:ڈاؤن لوڈ کرنے کے لئے فائل موجود نہیں ہے۔فائلوں کا بیک اپسرمئیمددیہاں "ٹیسٹ" فولڈر کا نام ہے جو روٹ ڈائرکٹری پر واقع ہے، یا آپ ذیلی فولڈرز کے لیے راستہ دے سکتے ہیں جیسے "wp-content/plugins"۔ اگر خالی یا خالی چھوڑ دیں تو یہ روٹ ڈائرکٹری کے تمام فولڈرز تک رسائی حاصل کر لے گا۔ ڈیفالٹ: روٹ ڈائریکٹرییہاں منتظم فائل مینجر کو استعمال کرنے کے لئے صارف کے کرداروں تک رسائی دے سکتا ہے۔ ایڈمن ڈیفالٹ ایکسیس فولڈر سیٹ کرسکتے ہیں اور فائل مینجر کے اپلوڈ سائز کو بھی کنٹرول کرسکتے ہیں۔فائل کی معلوماتغلط حفاظتی کوڈ۔یہ تمام کرداروں کو فرنٹ اینڈ پر فائل مینیجر تک رسائی کی اجازت دے گا یا آپ صارف کے مخصوص کرداروں کے لیے آسان استعمال کر سکتے ہیں جیسے اجازت_رول="ایڈیٹر، مصنف" (کوما سے الگ کیا گیا(،))اس کا ذکر کوما میں بند کر دیا جائے گا۔ آپ مزید لاک کر سکتے ہیں جیسے ".php,.css,.js" وغیرہ۔ ڈیفالٹ: Nullیہ سامنے کے آخر میں فائل مینیجر کو دکھائے گا۔ لیکن صرف ایڈمنسٹریٹر ہی اس تک رسائی حاصل کر سکتا ہے اور فائل مینیجر کی ترتیبات سے کنٹرول کرے گا۔یہ سامنے کے آخر میں فائل مینیجر کو دکھائے گا۔ آپ فائل مینیجر کی ترتیبات سے تمام ترتیبات کو کنٹرول کر سکتے ہیں۔ یہ بیک اینڈ ڈبلیو پی فائل مینیجر کی طرح کام کرے گا۔آخری لاگ پیغامہلکانوشتہ جاتڈائریکٹری یا فولڈر بنائیںفائل بنائیںڈیٹا بیس بیک اپ کی بحالی کے وقت زیادہ سے زیادہ اجازت شدہ سائز۔زیادہ سے زیادہ فائل اپلوڈ سائز (upload_max_filesize)میموری کی حد (میموری_ لیمٹ)گمشدہ بیک اپ آئی ڈیپیرامیٹر کی قسم غائب ہے۔لاپتہ مطلوبہ پیرامیٹرز۔نہیں شکریہکوئی لاگ پیغام نہیں ہےکوئی نوشتہ نہیں ملا!نوٹ:نوٹ: یہ ڈیمو اسکرین شاٹس ہیں۔ براہ کرم نوٹس افعال کے لئے فائل مینیجر کو خریدیںنوٹ: یہ صرف ایک ڈیمو اسکرین شاٹ ہے۔ ترتیبات حاصل کرنے کے لئے براہ کرم ہمارا حامی ورژن خریدیں۔بیک اپ کے لیے کچھ بھی منتخب نہیں کیا گیا۔بیک اپ کے لیے کچھ بھی منتخب نہیں کیا گیا۔ٹھیک ہےٹھیک ہےدوسرے (کسی بھی دوسری ڈائرکٹریوں میں WP- مشمولات کے اندر موجود)دوسروں کا بیک اپ تاریخ پر ہوا دوسروں کا بیک اپ ہو گیا۔دیگر کا بیک اپ ناکام ہو گیا۔دوسرے کا بیک اپ کامیابی کے ساتھ بحال ہوا۔پی ایچ پی ورژنپیرامیٹرز:ایک فائل یا فولڈر چسپاں کریںبرائے مہربانی ای میل ایڈریس درج کریں۔براہ کرم پہلا نام درج کریں۔براہ کرم آخری نام درج کریںبراہ کرم اس کو احتیاط سے تبدیل کریں ، غلط راستہ فائل مینیجر پلگ ان کو نیچے جانے کی راہنمائی کرسکتا ہے۔اگر آپ کو بیک اپ کی بحالی کے وقت ایرر میسج موصول ہو رہا ہے تو براہ کرم فیلڈ ویلیو میں اضافہ کریں۔پلگ انزتاریخ میں پلگ ان کا بیک اپ ہوگیا پلگ انز کا بیک اپ ہو گیا۔پلگ انز کا بیک اپ ناکام ہو گیا۔پلگ ان کا بیک اپ کامیابی کے ساتھ بحال ہوا۔زیادہ سے زیادہ فائل اپ لوڈ سائز (post_max_size) پوسٹ کریںترجیحاترازداری کی پالیسیعوامی جڑ کا راستہفائلوں کو بحال کریںفائلیں اور فولڈرز کو حذف کریں یا حذف کریںایک فائل یا فولڈر کا نام تبدیل کریںبحال کریںبحالی چل رہی ہے، براہ کرم انتظار کریں۔کامیابیتبدیلیاں محفوظ کروبچت…چیزیں تلاش کریںسیکیورٹی کا مسئلہ۔تمام منتخب کریںحذف کرنے کے لیے بیک اپ منتخب کریں!ترتیباتترتیبات - کوڈ ایڈیٹرترتیبات - عامترتیبات - صارف کی پابندیاںترتیبات - صارف کے کردار پر پابندیاںترتیبات محفوظ ہوگئیں۔مختصر - پی ار اوسادہ فائل یا فولڈر کٹسسٹم پراپرٹیزسروس کی شرائطبیک اپ بظاہر کامیاب ہوگیا اور اب مکمل ہے۔موضوعاتتھیمز کا بیک اپ تاریخ پر ہوا تھیمز کا بیک اپ ہو گیا۔تھیمز کا بیک اپ ناکام ہو گیا۔تھیمز کا بیک اپ کامیابی کے ساتھ بحال ہوا۔اب وقت ہوا ہےٹائم آؤٹ(max_execution_time)آرکائیو یا زپ بنانے کے لآجاستعمال:ڈیٹا بیس بیک اپ بنانے سے قاصر۔بیک اپ کو ہٹانے سے قاصر!DB بیک اپ کو بحال کرنے سے قاصر۔دوسروں کو بحال کرنے سے قاصر۔پلگ ان کو بحال کرنے سے قاصر۔تھیمز کو بحال کرنے سے قاصر۔اپ لوڈز کو بحال کرنے سے قاصر۔فائلوں کے لاگز اپ لوڈ کریںفائلیں اپ لوڈ کرواپ لوڈزتاریخ کو اپ لوڈ بیک اپ ہوگیا اپ لوڈز کا بیک اپ ہو گیا۔اپ لوڈز کا بیک اپ ناکام ہو گیا۔اپ لوڈز کا بیک اپ کامیابی کے ساتھ بحال ہوا۔تصدیق کریںلاگ دیکھیںWP فائل منیجرWP فائل منیجر - بیک اپ / بحال کریںWP فائل مینیجر کی شراکتہمیں نئے دوست بنانا پسند ہے! ذیل میں سبسکرائب کریں اور ہم وعدہ کرتے ہیں ہمارے حالیہ نئے پلگ ان ، تازہ کاریوں ، زبردست سودے اور کچھ خصوصی پیش کشیں۔فائل مینیجر میں خوش آمدیدآپ نے بچانے کیلئے کوئی تبدیلیاں نہیں کی ہیں۔فائلوں کو پڑھنے کی اجازت تک رسائی کے لیے، نوٹ: true/false، default: trueفائلوں کو لکھنے کی اجازت تک رسائی کے لیے، نوٹ: true/false، default: falseاس کا ذکر یہاں چھپ جائے گا۔ نوٹ: کوما (،) سے الگ کیا گیا۔ طے شدہ: صفرwp-file-manager/languages/wp-file-manager-ur.po000064400000077302151202472330015434 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 12:29+0530\n" "PO-Revision-Date: 2022-02-28 12:33+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: ur\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "تھیمز کا بیک اپ کامیابی کے ساتھ بحال ہوا۔" #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "تھیمز کو بحال کرنے سے قاصر۔" #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "اپ لوڈز کا بیک اپ کامیابی کے ساتھ بحال ہوا۔" #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "اپ لوڈز کو بحال کرنے سے قاصر۔" #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "دوسرے کا بیک اپ کامیابی کے ساتھ بحال ہوا۔" #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "دوسروں کو بحال کرنے سے قاصر۔" #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "پلگ ان کا بیک اپ کامیابی کے ساتھ بحال ہوا۔" #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "پلگ ان کو بحال کرنے سے قاصر۔" #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "ڈیٹا بیس کا بیک اپ کامیابی کے ساتھ بحال ہوا۔" #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "سب ہو گیا" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "DB بیک اپ کو بحال کرنے سے قاصر۔" #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "بیک اپ کامیابی کے ساتھ ہٹا دیئے گئے!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "بیک اپ کو ہٹانے سے قاصر!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "ڈیٹا بیس کا بیک اپ تاریخ کو ہوا " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "تاریخ میں پلگ ان کا بیک اپ ہوگیا " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "تھیمز کا بیک اپ تاریخ پر ہوا " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "تاریخ کو اپ لوڈ بیک اپ ہوگیا " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "دوسروں کا بیک اپ تاریخ پر ہوا " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "نوشتہ جات" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "کوئی نوشتہ نہیں ملا!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "بیک اپ کے لیے کچھ بھی منتخب نہیں کیا گیا۔" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "سیکیورٹی کا مسئلہ۔" #: file_folder_manager.php:527 msgid "Database backup done." msgstr "ڈیٹا بیس کا بیک اپ ہو گیا۔" #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "ڈیٹا بیس بیک اپ بنانے سے قاصر۔" #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "پلگ انز کا بیک اپ ہو گیا۔" #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "پلگ انز کا بیک اپ ناکام ہو گیا۔" #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "تھیمز کا بیک اپ ہو گیا۔" #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "تھیمز کا بیک اپ ناکام ہو گیا۔" #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "اپ لوڈز کا بیک اپ ہو گیا۔" #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "اپ لوڈز کا بیک اپ ناکام ہو گیا۔" #: file_folder_manager.php:581 msgid "Others backup done." msgstr "دوسروں کا بیک اپ ہو گیا۔" #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "دیگر کا بیک اپ ناکام ہو گیا۔" #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP فائل منیجر" #: file_folder_manager.php:769 msgid "Settings" msgstr "ترتیبات" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "ترجیحات" #: file_folder_manager.php:773 msgid "System Properties" msgstr "سسٹم پراپرٹیز" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "مختصر - پی ار او" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "بیک اپ/بحال" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "پرو خریدیں" #: file_folder_manager.php:1034 msgid "Donate" msgstr "عطیہ کریں" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "ڈاؤن لوڈ کرنے کے لئے فائل موجود نہیں ہے۔" #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "غلط حفاظتی کوڈ۔" #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "گمشدہ بیک اپ آئی ڈی" #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "پیرامیٹر کی قسم غائب ہے۔" #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "لاپتہ مطلوبہ پیرامیٹرز۔" #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "خرابی: بیک اپ بحال کرنے سے قاصر کیونکہ ڈیٹا بیس بیک اپ سائز میں بھاری ہے۔ " "براہ کرم ترجیحات کی ترتیبات سے زیادہ سے زیادہ اجازت شدہ سائز کو بڑھانے کی " "کوشش کریں۔" #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "حذف کرنے کے لیے بیک اپ منتخب کریں!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "کیا آپ واقعی منتخب بیک اپ (زبانیں) ہٹانا چاہتے ہیں؟" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "بیک اپ چل رہا ہے ، براہ کرم انتظار کریں" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "بحالی چل رہی ہے، براہ کرم انتظار کریں۔" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "بیک اپ کے لیے کچھ بھی منتخب نہیں کیا گیا۔" #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP فائل منیجر - بیک اپ / بحال کریں" #: inc/backup.php:51 msgid "Backup Options:" msgstr "بیک اپ کے اختیارات:" #: inc/backup.php:58 msgid "Database Backup" msgstr "ڈیٹا بیس کا بیک اپ" #: inc/backup.php:64 msgid "Files Backup" msgstr "فائلوں کا بیک اپ" #: inc/backup.php:68 msgid "Plugins" msgstr "پلگ انز" #: inc/backup.php:71 msgid "Themes" msgstr "موضوعات" #: inc/backup.php:74 msgid "Uploads" msgstr "اپ لوڈز" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "دوسرے (کسی بھی دوسری ڈائرکٹریوں میں WP- مشمولات کے اندر موجود)" #: inc/backup.php:81 msgid "Backup Now" msgstr "ابھی بیک اپ" #: inc/backup.php:89 msgid "Time now" msgstr "اب وقت ہوا ہے" #: inc/backup.php:99 msgid "SUCCESS" msgstr "کامیابی" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "بیک اپ کامیابی کے ساتھ حذف ہوگیا۔" #: inc/backup.php:102 msgid "Ok" msgstr "ٹھیک ہے" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "فائلیں حذف کریں" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "کیا آپ واقعی یہ بیک اپ حذف کرنا چاہتے ہیں؟" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "منسوخ کریں" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "تصدیق کریں" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "فائلوں کو بحال کریں" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "کیا آپ واقعی یہ بیک اپ بحال کرنا چاہتے ہیں؟" #: inc/backup.php:166 msgid "Last Log Message" msgstr "آخری لاگ پیغام" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "بیک اپ بظاہر کامیاب ہوگیا اور اب مکمل ہے۔" #: inc/backup.php:171 msgid "No log message" msgstr "کوئی لاگ پیغام نہیں ہے" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "موجودہ بیک اپ (زبانیں)" #: inc/backup.php:184 msgid "Backup Date" msgstr "بیک اپ کی تاریخ" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "بیک اپ ڈیٹا (ڈاؤن لوڈ کرنے کے لئے کلک کریں)" #: inc/backup.php:190 msgid "Action" msgstr "عمل" #: inc/backup.php:210 msgid "Today" msgstr "آج" #: inc/backup.php:239 msgid "Restore" msgstr "بحال کریں" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "حذف کریں" #: inc/backup.php:241 msgid "View Log" msgstr "لاگ دیکھیں" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "فی الحال کوئی بیک اپ نہیں ملا ہے۔" #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "منتخب کردہ بیک اپ پر کام" #: inc/backup.php:251 msgid "Select All" msgstr "تمام منتخب کریں" #: inc/backup.php:252 msgid "Deselect" msgstr "غیر منتخب کریں" #: inc/backup.php:254 msgid "Note:" msgstr "نوٹ:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "بیک اپ فائلوں کے تحت ہوں گے" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP فائل مینیجر کی شراکت" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "نوٹ: یہ ڈیمو اسکرین شاٹس ہیں۔ براہ کرم نوٹس افعال کے لئے فائل مینیجر کو " "خریدیں" #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "PRO خریدنے کے لیے کلک کریں۔" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "پی ار او خریدیں" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "فائلیں لاگ میں ترمیم کریں" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "فائلوں کا نوشتہ ڈاؤن لوڈ کریں" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "فائلوں کے لاگز اپ لوڈ کریں" #: inc/root.php:43 msgid "Settings saved." msgstr "ترتیبات محفوظ ہوگئیں۔" #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "اس نوٹس کو مسترد کریں۔" #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "آپ نے بچانے کیلئے کوئی تبدیلیاں نہیں کی ہیں۔" #: inc/root.php:55 msgid "Public Root Path" msgstr "عوامی جڑ کا راستہ" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "فائل مینیجر روٹ راہ ، آپ اپنی پسند کے مطابق تبدیل کرسکتے ہیں۔" #: inc/root.php:59 msgid "Default:" msgstr "پہلے سے طے شدہ:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "براہ کرم اس کو احتیاط سے تبدیل کریں ، غلط راستہ فائل مینیجر پلگ ان کو نیچے " "جانے کی راہنمائی کرسکتا ہے۔" #: inc/root.php:64 msgid "Enable Trash?" msgstr "کوڑے دان کو چالو کریں؟" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "کوڑے دان کو چالو کرنے کے بعد ، آپ کی فائلیں کوڑے دان کے فولڈر میں جائیں گی۔" #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "میڈیا لائبریری میں فائلیں اپ لوڈ کریں کو قابل بنائیں؟" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "اس کو چالو کرنے کے بعد تمام فائلیں میڈیا لائبریری میں جائیں گی۔" #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "ڈیٹا بیس بیک اپ کی بحالی کے وقت زیادہ سے زیادہ اجازت شدہ سائز۔" #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "اگر آپ کو بیک اپ کی بحالی کے وقت ایرر میسج موصول ہو رہا ہے تو براہ کرم فیلڈ " "ویلیو میں اضافہ کریں۔" #: inc/root.php:90 msgid "Save Changes" msgstr "تبدیلیاں محفوظ کرو" #: inc/settings.php:10 msgid "Settings - General" msgstr "ترتیبات - عام" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "نوٹ: یہ صرف ایک ڈیمو اسکرین شاٹ ہے۔ ترتیبات حاصل کرنے کے لئے براہ کرم ہمارا " "حامی ورژن خریدیں۔" #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "یہاں منتظم فائل مینجر کو استعمال کرنے کے لئے صارف کے کرداروں تک رسائی دے " "سکتا ہے۔ ایڈمن ڈیفالٹ ایکسیس فولڈر سیٹ کرسکتے ہیں اور فائل مینجر کے اپلوڈ " "سائز کو بھی کنٹرول کرسکتے ہیں۔" #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "ترتیبات - کوڈ ایڈیٹر" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "فائل مینیجر کے پاس ایک کوڈ ایڈیٹر ہے جس میں متعدد موضوعات ہیں۔ آپ کوڈ ایڈیٹر " "کے لئے کسی بھی تھیم کو منتخب کرسکتے ہیں۔ جب آپ کسی بھی فائل میں ترمیم کریں " "گے تو یہ ظاہر ہوگا۔ نیز آپ کوڈ ایڈیٹر کے پورے اسکرین وضع کی اجازت دے سکتے " "ہیں۔" #: inc/settings.php:18 msgid "Code-editor View" msgstr "کوڈ ایڈیٹر دیکھیں" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "ترتیبات - صارف کی پابندیاں" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "ایڈمن کسی بھی صارف کے اقدامات کو محدود کرسکتا ہے۔ فائلوں اور فولڈروں کو بھی " "چھپائیں اور مختلف صارفین کے لئے مختلف - فولڈر کے مختلف راستے ترتیب دے سکتے " "ہیں۔" #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "ترتیبات - صارف کے کردار پر پابندیاں" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "ایڈمن کسی بھی صارف کے عمل کو روک سکتا ہے۔ فائلوں اور فولڈروں کو بھی چھپائیں " "اور مختلف سیٹ کرسکتے ہیں - مختلف صارفین کے رول کے لئے مختلف فولڈر راہیں۔" #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "فائل منیجر - مختصر" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "استعمال:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "یہ سامنے کے آخر میں فائل مینیجر کو دکھائے گا۔ آپ فائل مینیجر کی ترتیبات سے " "تمام ترتیبات کو کنٹرول کر سکتے ہیں۔ یہ بیک اینڈ ڈبلیو پی فائل مینیجر کی طرح " "کام کرے گا۔" #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "یہ سامنے کے آخر میں فائل مینیجر کو دکھائے گا۔ لیکن صرف ایڈمنسٹریٹر ہی اس تک " "رسائی حاصل کر سکتا ہے اور فائل مینیجر کی ترتیبات سے کنٹرول کرے گا۔" #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "پیرامیٹرز:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "یہ تمام کرداروں کو فرنٹ اینڈ پر فائل مینیجر تک رسائی کی اجازت دے گا یا آپ " "صارف کے مخصوص کرداروں کے لیے آسان استعمال کر سکتے ہیں جیسے اجازت_رول=" "\"ایڈیٹر، مصنف\" (کوما سے الگ کیا گیا(،))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "یہاں \"ٹیسٹ\" فولڈر کا نام ہے جو روٹ ڈائرکٹری پر واقع ہے، یا آپ ذیلی فولڈرز " "کے لیے راستہ دے سکتے ہیں جیسے \"wp-content/plugins\"۔ اگر خالی یا خالی چھوڑ " "دیں تو یہ روٹ ڈائرکٹری کے تمام فولڈرز تک رسائی حاصل کر لے گا۔ ڈیفالٹ: روٹ " "ڈائریکٹری" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "فائلوں کو لکھنے کی اجازت تک رسائی کے لیے، نوٹ: true/false، default: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "فائلوں کو پڑھنے کی اجازت تک رسائی کے لیے، نوٹ: true/false، default: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "اس کا ذکر یہاں چھپ جائے گا۔ نوٹ: کوما (،) سے الگ کیا گیا۔ طے شدہ: صفر" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "اس کا ذکر کوما میں بند کر دیا جائے گا۔ آپ مزید لاک کر سکتے ہیں جیسے \".php,." "css,.js\" وغیرہ۔ ڈیفالٹ: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* تمام آپریشنز کے لیے اور کچھ آپریشن کی اجازت دینے کے لیے آپ آپریشن کے نام " "کا ذکر کر سکتے ہیں جیسے کہ اجازت_آپریشن=\"اپ لوڈ، ڈاؤن لوڈ\"۔ نوٹ: کوما (،) " "سے الگ کیا گیا۔ ڈیفالٹ: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "فائل آپریشن کی فہرست:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "ڈائریکٹری یا فولڈر بنائیں" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "فائل بنائیں" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "ایک فائل یا فولڈر کا نام تبدیل کریں" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "کسی فولڈر یا فائل کو ڈپلیکیٹ یا کلون کریں" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "ایک فائل یا فولڈر چسپاں کریں" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "پابندی لگانا" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "آرکائیو یا زپ بنانے کے ل" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "آرکائیو یا زپ شدہ فائل کو نکالیں" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "فائلیں یا فولڈرز کاپی کریں" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "سادہ فائل یا فولڈر کٹ" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "ایک فائل میں ترمیم کریں" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "فائلیں اور فولڈرز کو حذف کریں یا حذف کریں" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "فائلیں ڈاؤن لوڈ کریں" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "فائلیں اپ لوڈ کرو" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "چیزیں تلاش کریں" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "فائل کی معلومات" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "مدد" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> یہ خاص طور پر صارفین کو اپنے ایڈز کوما (،) کے ذریعہ تقسیم کرکے پابندی " "لگائے گا۔ اگر صارف پابندی ہے تو وہ سامنے کے آخر میں ڈبلیو پی پی فائل مینیجر " "تک رسائی حاصل نہیں کرسکیں گے۔" #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> فائل مینجر UI دیکھیں۔ پہلے سے طے شدہ: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> فائل میں تبدیلی یا تاریخ کی شکل بنائیں۔ پہلے سے طے شدہ: d M، Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> فائل منیجر کی زبان۔ پہلے سے طے شدہ: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> فائل مینیجر تھیم۔ پہلے سے طے شدہ: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "فائل منیجر۔ سسٹم کی خصوصیات" #: inc/system_properties.php:10 msgid "PHP version" msgstr "پی ایچ پی ورژن" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "زیادہ سے زیادہ فائل اپلوڈ سائز (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "زیادہ سے زیادہ فائل اپ لوڈ سائز (post_max_size) پوسٹ کریں" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "میموری کی حد (میموری_ لیمٹ)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "ٹائم آؤٹ(max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "براؤزر اور او ایس (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "تھیم یہاں تبدیل کریں:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "پہلے سے طے شدہ" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "گہرا" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "ہلکا" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "سرمئی" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "فائل مینیجر میں خوش آمدید" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "ہمیں نئے دوست بنانا پسند ہے! ذیل میں سبسکرائب کریں اور ہم وعدہ کرتے ہیں\n" " ہمارے حالیہ نئے پلگ ان ، تازہ کاریوں ،\n" " زبردست سودے اور کچھ خصوصی پیش کشیں۔" #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "براہ کرم پہلا نام درج کریں۔" #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "براہ کرم آخری نام درج کریں" #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "برائے مہربانی ای میل ایڈریس درج کریں۔" #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "تصدیق کریں" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "نہیں شکریہ" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "سروس کی شرائط" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "رازداری کی پالیسی" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "بچت…" #: lib/wpfilemanager.php:155 msgid "OK" msgstr "ٹھیک ہے" #~ msgid "Backup not found!" #~ msgstr "بیک اپ نہیں ملا!" #~ msgid "Backup removed successfully!" #~ msgstr "بیک اپ کامیابی کے ساتھ ہٹا دیا گیا!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "بیک اپ کامیابی کے ساتھ ہٹا دیا گیا!" #~ msgid "Security Issue." #~ msgstr "سیکیورٹی کا مسئلہ." #~ msgid "Database backup done." #~ msgstr "ڈیٹا بیس کا بیک اپ ہوگیا۔" #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "ڈیٹا بیس کا بیک اپ بنانے سے قاصر۔" #~ msgid "Plugins backup done." #~ msgstr "پلگ ان کا بیک اپ ہوگیا۔" #~ msgid "Plugins backup failed." #~ msgstr "" #~ "پلگ ان کا بیک اپ ناکام ہوگیا۔" #~ msgid "Themes backup done." #~ msgstr "" #~ "تھیمز کا بیک اپ مکمل ہوگیا۔" #~ msgid "Themes backup failed." #~ msgstr "" #~ "تھیمز کا بیک اپ ناکام ہوگیا۔" #~ msgid "Uploads backup done." #~ msgstr "اپ لوڈز کا بیک اپ ہوگیا۔" #~ msgid "Uploads backup failed." #~ msgstr "" #~ "اپ لوڈز کا بیک اپ ناکام ہوگیا۔" #~ msgid "Others backup done." #~ msgstr "دوسروں کا بیک اپ ہوگیا۔" #~ msgid "Others backup failed." #~ msgstr "" #~ "دوسروں کا بیک اپ ناکام ہوگیا۔" #~ msgid "All Done" #~ msgstr "سب ہوگیا" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "اپنے WP فائلوں کا نظم کریں." #~ msgid "Extensions" #~ msgstr "توسیع" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "براہ کرم زیادہ مستحکم پلگ ان بنانے کیلئے، کچھ عطیہ کریں. آپ اپنی پسند کی " #~ "رقم ادا کر سکتے ہیں." wp-file-manager/languages/wp-file-manager-uz_UZ.mo000064400000043714151202472330016057 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&\(5)**K.*.z*/**$*++K,@,8-=G->-6- - ..44.i..*../. //=/O/ _/l/// /!/*/0-0607V010?01 1 11 41 U1a11(111/12822*313#K3No334$445 556677z7e8899 99 9U93E:y:$::!: : ;;:;YC;a;#;$#<H<K<8N<1<<,<5< 3= A=N=,m====]Y> >.>(>&?5@?=v? ????/?"-@ P@ ^@ @@@@@@.@ A)ADA&XA(AAAAAB;BXB-aBBB*B B!BC3C 9C1FC)xC0CCCD!-DODiD {D(D(DD6D )E4EEE%VE|EExF5FLFWGZqG}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 13:03+0530 Last-Translator: admin Language-Team: Uzbek Language: uz_UZ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * barcha operatsiyalar uchun va ba'zi operatsiyalarga ruxsat berish uchun siz operatsiya nomini allow_operations="yuklash, yuklab olish" kabi zikr qilishingiz mumkin. Eslatma: vergul (,) bilan ajratiladi. Standart: *-> Bu ma'lum foydalanuvchilarning identifikatorlarini vergul (,) bilan ajratib qo'yish orqali taqiqlaydi. Agar foydalanuvchi Ban bo'lsa, u holda ular wp fayl boshqaruvchisiga kirish imkoniga ega bo'lmaydi.-> Fayl menejeri mavzusi. Standart: Yengil-> O'zgartirilgan fayl yoki sana formatini yaratish. Standart: d M, Y h:i A-> Fayl menejeri tili. Standart: Inglizcha(uz)-> Filemanager UI ko'rinishi. Standart: panjaraHarakatTanlangan zahira(lar)dagi harakatlarAdministrator har qanday userrole ishini cheklashi mumkin. Bundan tashqari, fayllar va papkalarni yashirish va turli xil foydalanuvchilar rollari uchun turli xil papka yo'llarini o'rnatishingiz mumkin.Administrator har qanday foydalanuvchi rolining harakatlarini cheklashi mumkin. Bundan tashqari, fayllar va papkalarni yashirish va turli xil foydalanuvchi rollari uchun turli xil papkalar yo'llarini o'rnatishi mumkin.Axlat qutisini faollashtirgandan so'ng, fayllaringiz axlat qutisiga o'tadi.Buni yoqgandan so'ng, barcha fayllar media kutubxonasiga o'tadi.Hammasi tayyorHaqiqatan ham tanlangan zahira(lar)ni olib tashlamoqchimisiz?Haqiqatan ham bu zaxira nusxasini oʻchirib tashlamoqchimisiz?Haqiqatan ham ushbu zaxira nusxasini tiklamoqchimisiz?Zaxira sanasiHozir zaxiralashZaxiralash imkoniyatlari:Ma'lumotlarni zaxiralash (yuklab olish uchun bosing)Zaxira fayllar ostida bo'ladiZaxiralash ishlayapti, kutingZaxira nusxasi muvaffaqiyatli oʻchirildi.Zaxiralash/tiklashZaxira nusxalari muvaffaqiyatli olib tashlandi!TaqiqlashBrauzer va OS (HTTP_USER_AGENT)PROni sotib olingPro sotib olingBekor qilishBu yerda mavzuni o'zgartiring:PRO sotib olish uchun bosingKod muharriri ko'rinishiTasdiqlashFayllar yoki papkalarni nusxalashHozirda hech qanday zaxira(lar) topilmadi.FAYLLARNI O'CHIRIShQorong'iMa'lumotlar bazasini zaxiralashMa'lumotlar bazasini zahiralash sanada amalga oshirildiMa'lumotlar bazasini zaxiralash amalga oshirildi.Maʼlumotlar bazasining zaxira nusxasi muvaffaqiyatli tiklandi.StandartStandart:OʻchirishTanlovni bekor qilingUshbu bildirishnomani rad eting.Bag'ishlangFayllar jurnalini yuklab olingFayllarni yuklab olingJild yoki faylni nusxalash yoki klonlashFayl jurnallarini tahrirlashFaylni tahrirlashFayllarni media kutubxonaga yuklash yoqilsinmi?Chiqindixona yoqilsinmi?Xato: Zaxira nusxasini tiklab boʻlmadi, chunki maʼlumotlar bazasi zahirasining hajmi katta. Iltimos, Sozlamalar sozlamalaridan ruxsat etilgan maksimal hajmni oshirishga harakat qiling.Mavjud zaxira(lar)Arxiv yoki ziplangan faylni chiqarib olingFayl menejeri - Qisqa kodFayl menejeri - tizim xususiyatlariFayl menejeri ildiz yo'li, siz tanlaganingizga ko'ra o'zgartirishingiz mumkin.Fayl menejerida bir nechta mavzular bilan kod muharriri mavjud. Kod muharriri uchun har qanday mavzuni tanlashingiz mumkin. Har qanday faylni tahrirlashda ko'rsatiladi. Bundan tashqari siz to'liq kodli tartibga ruxsat berishingiz mumkin.Fayl operatsiyalari ro'yxati:Yuklab olish uchun fayl mavjud emas.Fayllarni zaxiralashKulrangYordam beringBu erda "test" - bu ildiz katalogida joylashgan papkaning nomi yoki siz "wp-content/plugins" kabi pastki papkalarga yo'l berishingiz mumkin. Bo'sh yoki bo'sh qo'yilsa, u ildiz katalogidagi barcha papkalarga kira oladi. Standart: ildiz katalogiBu erda administrator fayl boshqaruvchisidan foydalanish uchun foydalanuvchi rollariga ruxsat berishi mumkin. Administrator standart kirish papkasini o'rnatishi va filemanager fayllarini yuklash hajmini boshqarishi mumkin.Fayl haqida ma'lumotXavfsizlik kodi yaroqsiz.Bu barcha rollarga fayl boshqaruvchisiga kirishga ruxsat beradi yoki ruxsat etilgan_roles="editor,author" (vergul(,) bilan ajratilgan) kabi ma'lum foydalanuvchi rollari uchun oddiy foydalanishingiz mumkin.U vergulda eslatib o'tilgan qulflanadi. siz ".php,.css,.js" va boshqalar kabi ko'proq qulflashingiz mumkin. Standart: NullU old tomonda fayl menejerini ko'rsatadi. Lekin unga faqat Administrator kirishi mumkin va fayl boshqaruvchisi sozlamalaridan nazorat qiladi.U old tomonda fayl menejerini ko'rsatadi. Siz barcha sozlamalarni fayl boshqaruvchisi sozlamalaridan boshqarishingiz mumkin. U backend WP File Manager bilan bir xil ishlaydi.Oxirgi jurnal xabariNurJurnallarKatalog yoki papka yaratingFayl yaratishMa'lumotlar bazasining zaxira nusxasini tiklash vaqtida ruxsat etilgan maksimal hajm.Maksimal faylni yuklash hajmi (upload_max_filesize)Xotira cheklovi (memory_limit)Zaxira identifikatori yetishmayapti.Parametr turi etishmayotgan.Kerakli parametrlar etishmayapti.Yo'q, rahmatJurnal xabari yo'qHech qanday jurnal topilmadi!Eslatma:Eslatma: Bu demo skrinshotlar. Iltimos, Logs funksiyalariga File Manager pro sotib oling.Eslatma: Bu faqat bitta demo ekran tasviridir. Sozlashni olish uchun pro versiyasini sotib oling.Zaxira uchun hech narsa tanlanmaganZaxira uchun hech narsa tanlanmagan.OKOkBoshqalar (wp-content ichida topilgan boshqa kataloglar)Boshqalar esa zahiraviy nusxasi sanada bajarilganBoshqalar zaxiralandi.Boshqalarning zaxira nusxasi amalga oshmadi.Boshqalarning zaxira nusxasi muvaffaqiyatli tiklandi.PHP versiyasiParametrlar:Fayl yoki jildni joylashtiringIltimos, elektron pochta manzilini kiriting.Iltimos, Ismingizni kiriting.Iltimos, familiyani kiriting.Iltimos, buni ehtiyotkorlik bilan o'zgartiring, noto'g'ri yo'l fayl boshqaruvchisi plagini ishlamay qolishiga olib kelishi mumkin.Zaxira nusxasini tiklash vaqtida xato xabari olayotgan bo'lsangiz, maydon qiymatini oshiring.PlaginlarPlaginlarni zahiralash sanada amalga oshirildiPlaginlarni zaxiralash amalga oshirildi.Plaginlarni zaxiralash amalga oshmadi.Plaginlarning zaxira nusxasi muvaffaqiyatli tiklandi.Maksimal faylni yuklash hajmini joylashtiring (post_max_size)AfzalliklarMaxfiylik siyosatiUmumiy ildiz yo'liFAYLLARNI QAYTA QILISHFayl va papkalarni olib tashlang yoki o'chiringFayl yoki jild nomini o'zgartiringQayta tiklashQayta tiklash ishlayapti, kutingMUVAFFAQIYATO'zgarishlarni saqlashSaqlanmoqda...Narsalarni qidirishXavfsizlik muammosi.Hammasini belgilashYo'q qilish uchun zaxira nusxa(lar)ni tanlang!SozlamalarSozlamalar - kod muharririSozlamalar - UmumiySozlamalar - Foydalanuvchi cheklovlariSozlash - foydalanuvchi roli cheklovlariSozlamalar saqlandi.Qisqa kod - PROFayl yoki papkani kesish oddiyTizim xususiyatlariXizmat ko'rsatish shartlariZaxira nusxalash muvaffaqiyatli bo'ldi va hozir tugallandi.MavzularMavzularni zaxiralash sanada amalga oshirildiMavzular zaxiralandi.Mavzular zaxiralanmadi.Mavzular zaxirasi muvaffaqiyatli tiklandi.Hozir vaqtVaqt tugashi (max_execution_time)Arxiv yoki zip yaratish uchunBugunFOYDALANISH:Maʼlumotlar bazasi zahirasini yaratib boʻlmadi.Zaxira nusxasini olib tashlab bo‘lmadi!Maʼlumotlar bazasi zaxirasini tiklab boʻlmadi.Boshqalarni tiklash imkonsiz.Plaginlarni tiklash imkonsiz.Mavzularni tiklab bo‘lmadi.Yuklanganlarni tiklab bo‘lmadi.Fayl jurnallarini yuklashFayllarni yuklashYuklashlarZaxira yuklangan sanada amalga oshirildiYuklashlarning zaxira nusxasi bajarildi.Yuklashlar zaxiralanmadi.Yuklashlarning zaxira nusxasi muvaffaqiyatli tiklandi.TasdiqlashJurnalni ko'rishWP Fayl menejeriWP fayl menejeri - Zaxiralash/tiklashWP fayl menejeri hissasiBiz yangi do'stlar orttirishni yaxshi ko'ramiz! Quyida obuna bo'ling va biz sizni eng so'nggi yangi plaginlarimiz, yangilanishlarimiz, ajoyib takliflarimiz va bir nechta maxsus takliflarimizdan xabardor qilishni va'da qilamiz.Fayl menejeriga xush kelibsizSaqlash uchun hech qanday o'zgartirish kiritmadingiz.fayllarni o'qish uchun ruxsat uchun, eslatma: rost/noto'g'ri, standart: rostfayllarni yozish uchun ruxsat olish uchun, eslatma: rost/noto'g'ri, standart: noto'g'ribu erda eslatib o'tilgan yashiriladi. Eslatma: vergul (,) bilan ajratiladi. Standart: Nullwp-file-manager/languages/wp-file-manager-uz_UZ.po000064400000061312151202472330016054 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 12:34+0530\n" "PO-Revision-Date: 2022-02-28 13:03+0530\n" "Last-Translator: admin \n" "Language-Team: Uzbek\n" "Language: uz_UZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Mavzular zaxirasi muvaffaqiyatli tiklandi." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Mavzularni tiklab bo‘lmadi." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Yuklashlarning zaxira nusxasi muvaffaqiyatli tiklandi." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Yuklanganlarni tiklab bo‘lmadi." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Boshqalarning zaxira nusxasi muvaffaqiyatli tiklandi." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Boshqalarni tiklash imkonsiz." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Plaginlarning zaxira nusxasi muvaffaqiyatli tiklandi." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Plaginlarni tiklash imkonsiz." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Maʼlumotlar bazasining zaxira nusxasi muvaffaqiyatli tiklandi." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Hammasi tayyor" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Maʼlumotlar bazasi zaxirasini tiklab boʻlmadi." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Zaxira nusxalari muvaffaqiyatli olib tashlandi!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Zaxira nusxasini olib tashlab bo‘lmadi!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Ma'lumotlar bazasini zahiralash sanada amalga oshirildi" #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Plaginlarni zahiralash sanada amalga oshirildi" #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Mavzularni zaxiralash sanada amalga oshirildi" #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Zaxira yuklangan sanada amalga oshirildi" #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Boshqalar esa zahiraviy nusxasi sanada bajarilgan" #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Jurnallar" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Hech qanday jurnal topilmadi!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Zaxira uchun hech narsa tanlanmagan" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Xavfsizlik muammosi." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Ma'lumotlar bazasini zaxiralash amalga oshirildi." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Maʼlumotlar bazasi zahirasini yaratib boʻlmadi." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Plaginlarni zaxiralash amalga oshirildi." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Plaginlarni zaxiralash amalga oshmadi." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Mavzular zaxiralandi." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Mavzular zaxiralanmadi." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Yuklashlarning zaxira nusxasi bajarildi." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Yuklashlar zaxiralanmadi." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Boshqalar zaxiralandi." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Boshqalarning zaxira nusxasi amalga oshmadi." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP Fayl menejeri" #: file_folder_manager.php:769 msgid "Settings" msgstr "Sozlamalar" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Afzalliklar" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Tizim xususiyatlari" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Qisqa kod - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Zaxiralash/tiklash" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Pro sotib oling" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Bag'ishlang" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Yuklab olish uchun fayl mavjud emas." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Xavfsizlik kodi yaroqsiz." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Zaxira identifikatori yetishmayapti." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Parametr turi etishmayotgan." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Kerakli parametrlar etishmayapti." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Xato: Zaxira nusxasini tiklab boʻlmadi, chunki maʼlumotlar bazasi " "zahirasining hajmi katta. Iltimos, Sozlamalar sozlamalaridan ruxsat etilgan " "maksimal hajmni oshirishga harakat qiling." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Yo'q qilish uchun zaxira nusxa(lar)ni tanlang!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Haqiqatan ham tanlangan zahira(lar)ni olib tashlamoqchimisiz?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Zaxiralash ishlayapti, kuting" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Qayta tiklash ishlayapti, kuting" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Zaxira uchun hech narsa tanlanmagan." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP fayl menejeri - Zaxiralash/tiklash" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Zaxiralash imkoniyatlari:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Ma'lumotlar bazasini zaxiralash" #: inc/backup.php:64 msgid "Files Backup" msgstr "Fayllarni zaxiralash" #: inc/backup.php:68 msgid "Plugins" msgstr "Plaginlar" #: inc/backup.php:71 msgid "Themes" msgstr "Mavzular" #: inc/backup.php:74 msgid "Uploads" msgstr "Yuklashlar" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Boshqalar (wp-content ichida topilgan boshqa kataloglar)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Hozir zaxiralash" #: inc/backup.php:89 msgid "Time now" msgstr "Hozir vaqt" #: inc/backup.php:99 msgid "SUCCESS" msgstr "MUVAFFAQIYAT" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Zaxira nusxasi muvaffaqiyatli oʻchirildi." #: inc/backup.php:102 msgid "Ok" msgstr "Ok" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "FAYLLARNI O'CHIRISh" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Haqiqatan ham bu zaxira nusxasini oʻchirib tashlamoqchimisiz?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Bekor qilish" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Tasdiqlash" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "FAYLLARNI QAYTA QILISH" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Haqiqatan ham ushbu zaxira nusxasini tiklamoqchimisiz?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Oxirgi jurnal xabari" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Zaxira nusxalash muvaffaqiyatli bo'ldi va hozir tugallandi." #: inc/backup.php:171 msgid "No log message" msgstr "Jurnal xabari yo'q" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "Mavjud zaxira(lar)" #: inc/backup.php:184 msgid "Backup Date" msgstr "Zaxira sanasi" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Ma'lumotlarni zaxiralash (yuklab olish uchun bosing)" #: inc/backup.php:190 msgid "Action" msgstr "Harakat" #: inc/backup.php:210 msgid "Today" msgstr "Bugun" #: inc/backup.php:239 msgid "Restore" msgstr "Qayta tiklash" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Oʻchirish" #: inc/backup.php:241 msgid "View Log" msgstr "Jurnalni ko'rish" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Hozirda hech qanday zaxira(lar) topilmadi." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Tanlangan zahira(lar)dagi harakatlar" #: inc/backup.php:251 msgid "Select All" msgstr "Hammasini belgilash" #: inc/backup.php:252 msgid "Deselect" msgstr "Tanlovni bekor qiling" #: inc/backup.php:254 msgid "Note:" msgstr "Eslatma:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Zaxira fayllar ostida bo'ladi" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP fayl menejeri hissasi" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Eslatma: Bu demo skrinshotlar. Iltimos, Logs funksiyalariga File Manager pro " "sotib oling." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "PRO sotib olish uchun bosing" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "PROni sotib oling" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Fayl jurnallarini tahrirlash" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Fayllar jurnalini yuklab oling" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Fayl jurnallarini yuklash" #: inc/root.php:43 msgid "Settings saved." msgstr "Sozlamalar saqlandi." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Ushbu bildirishnomani rad eting." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Saqlash uchun hech qanday o'zgartirish kiritmadingiz." #: inc/root.php:55 msgid "Public Root Path" msgstr "Umumiy ildiz yo'li" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Fayl menejeri ildiz yo'li, siz tanlaganingizga ko'ra o'zgartirishingiz " "mumkin." #: inc/root.php:59 msgid "Default:" msgstr "Standart:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Iltimos, buni ehtiyotkorlik bilan o'zgartiring, noto'g'ri yo'l fayl " "boshqaruvchisi plagini ishlamay qolishiga olib kelishi mumkin." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Chiqindixona yoqilsinmi?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Axlat qutisini faollashtirgandan so'ng, fayllaringiz axlat qutisiga o'tadi." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Fayllarni media kutubxonaga yuklash yoqilsinmi?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "Buni yoqgandan so'ng, barcha fayllar media kutubxonasiga o'tadi." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Ma'lumotlar bazasining zaxira nusxasini tiklash vaqtida ruxsat etilgan " "maksimal hajm." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Zaxira nusxasini tiklash vaqtida xato xabari olayotgan bo'lsangiz, maydon " "qiymatini oshiring." #: inc/root.php:90 msgid "Save Changes" msgstr "O'zgarishlarni saqlash" #: inc/settings.php:10 msgid "Settings - General" msgstr "Sozlamalar - Umumiy" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Eslatma: Bu faqat bitta demo ekran tasviridir. Sozlashni olish uchun pro " "versiyasini sotib oling." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Bu erda administrator fayl boshqaruvchisidan foydalanish uchun foydalanuvchi " "rollariga ruxsat berishi mumkin. Administrator standart kirish papkasini " "o'rnatishi va filemanager fayllarini yuklash hajmini boshqarishi mumkin." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Sozlamalar - kod muharriri" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Fayl menejerida bir nechta mavzular bilan kod muharriri mavjud. Kod " "muharriri uchun har qanday mavzuni tanlashingiz mumkin. Har qanday faylni " "tahrirlashda ko'rsatiladi. Bundan tashqari siz to'liq kodli tartibga ruxsat " "berishingiz mumkin." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Kod muharriri ko'rinishi" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Sozlamalar - Foydalanuvchi cheklovlari" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Administrator har qanday userrole ishini cheklashi mumkin. Bundan tashqari, " "fayllar va papkalarni yashirish va turli xil foydalanuvchilar rollari uchun " "turli xil papka yo'llarini o'rnatishingiz mumkin." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Sozlash - foydalanuvchi roli cheklovlari" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Administrator har qanday foydalanuvchi rolining harakatlarini cheklashi " "mumkin. Bundan tashqari, fayllar va papkalarni yashirish va turli xil " "foydalanuvchi rollari uchun turli xil papkalar yo'llarini o'rnatishi mumkin." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Fayl menejeri - Qisqa kod" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "FOYDALANISH:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "U old tomonda fayl menejerini ko'rsatadi. Siz barcha sozlamalarni fayl " "boshqaruvchisi sozlamalaridan boshqarishingiz mumkin. U backend WP File " "Manager bilan bir xil ishlaydi." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "U old tomonda fayl menejerini ko'rsatadi. Lekin unga faqat Administrator " "kirishi mumkin va fayl boshqaruvchisi sozlamalaridan nazorat qiladi." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Parametrlar:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Bu barcha rollarga fayl boshqaruvchisiga kirishga ruxsat beradi yoki ruxsat " "etilgan_roles=\"editor,author\" (vergul(,) bilan ajratilgan) kabi ma'lum " "foydalanuvchi rollari uchun oddiy foydalanishingiz mumkin." #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Bu erda \"test\" - bu ildiz katalogida joylashgan papkaning nomi yoki siz " "\"wp-content/plugins\" kabi pastki papkalarga yo'l berishingiz mumkin. Bo'sh " "yoki bo'sh qo'yilsa, u ildiz katalogidagi barcha papkalarga kira oladi. " "Standart: ildiz katalogi" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "" "fayllarni yozish uchun ruxsat olish uchun, eslatma: rost/noto'g'ri, " "standart: noto'g'ri" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "" "fayllarni o'qish uchun ruxsat uchun, eslatma: rost/noto'g'ri, standart: rost" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "bu erda eslatib o'tilgan yashiriladi. Eslatma: vergul (,) bilan ajratiladi. " "Standart: Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "U vergulda eslatib o'tilgan qulflanadi. siz \".php,.css,.js\" va boshqalar " "kabi ko'proq qulflashingiz mumkin. Standart: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* barcha operatsiyalar uchun va ba'zi operatsiyalarga ruxsat berish uchun " "siz operatsiya nomini allow_operations=\"yuklash, yuklab olish\" kabi zikr " "qilishingiz mumkin. Eslatma: vergul (,) bilan ajratiladi. Standart: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Fayl operatsiyalari ro'yxati:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Katalog yoki papka yarating" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Fayl yaratish" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Fayl yoki jild nomini o'zgartiring" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Jild yoki faylni nusxalash yoki klonlash" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Fayl yoki jildni joylashtiring" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Taqiqlash" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Arxiv yoki zip yaratish uchun" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Arxiv yoki ziplangan faylni chiqarib oling" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Fayllar yoki papkalarni nusxalash" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Fayl yoki papkani kesish oddiy" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Faylni tahrirlash" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Fayl va papkalarni olib tashlang yoki o'chiring" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Fayllarni yuklab oling" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Fayllarni yuklash" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Narsalarni qidirish" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Fayl haqida ma'lumot" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Yordam bering" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Bu ma'lum foydalanuvchilarning identifikatorlarini vergul (,) bilan " "ajratib qo'yish orqali taqiqlaydi. Agar foydalanuvchi Ban bo'lsa, u holda " "ular wp fayl boshqaruvchisiga kirish imkoniga ega bo'lmaydi." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Filemanager UI ko'rinishi. Standart: panjara" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "" "-> O'zgartirilgan fayl yoki sana formatini yaratish. Standart: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Fayl menejeri tili. Standart: Inglizcha(uz)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Fayl menejeri mavzusi. Standart: Yengil" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Fayl menejeri - tizim xususiyatlari" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP versiyasi" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Maksimal faylni yuklash hajmi (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Maksimal faylni yuklash hajmini joylashtiring (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Xotira cheklovi (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Vaqt tugashi (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Brauzer va OS (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Bu yerda mavzuni o'zgartiring:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Standart" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Qorong'i" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Nur" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Kulrang" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Fayl menejeriga xush kelibsiz" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Biz yangi do'stlar orttirishni yaxshi ko'ramiz! Quyida obuna bo'ling va biz " "sizni eng so'nggi yangi plaginlarimiz, yangilanishlarimiz, ajoyib " "takliflarimiz va bir nechta maxsus takliflarimizdan xabardor qilishni va'da " "qilamiz." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Iltimos, Ismingizni kiriting." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Iltimos, familiyani kiriting." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Iltimos, elektron pochta manzilini kiriting." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Tasdiqlash" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Yo'q, rahmat" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Xizmat ko'rsatish shartlari" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Maxfiylik siyosati" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Saqlanmoqda..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "OK" #~ msgid "Manage your WP files." #~ msgstr "WP fayllarini boshqaring." #~ msgid "Extensions" #~ msgstr "Kengaytmalar" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Iltimos, plaginni yanada barqaror qilish uchun ba'zi ehsonlar qo'shing. " #~ "Tanlagan miqdoringizni to'lashingiz mumkin." wp-file-manager/languages/wp-file-manager-vi.mo000064400000047272151202472330015424 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&Y( b)5m*Y*B*>@++:++,^-c."r.M.?.G#/k/ z//1/!/3/&&0"M0&p0 07000 1$1!61(X1 1!161112@2#_2=2 22 2 22 33=3>M3333334 4(4$54C5ix5M507-L7z7 7 7?778:"-:P:f;;<"= = ="= >c)>?>&>> ?&&?M?!^?#? ??/@-@.@ (A 3AS>ABA*A4B45BjB {BB$BBBB~C D2DHD$cD5DKD EE /EPE*lE#E E7EFF#F4FLFaF(sF F&FF(F< GIG`G0qGGGKG %H71H&iH)H:H H&I+)IUI ^I7kI!I,I1I&$J&KJ%rJJJ J<J% K(3K9\KKKK4K,L1L71MJiMKMINoJN}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 13:08+0530 Last-Translator: admin Language-Team: Vietnamese Language: vi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * Đối với tất cả các hoạt động và để cho phép một số hoạt động, bạn có thể đề cập đến tên hoạt động như, allow_operations = "tải lên, tải xuống". Lưu ý: phân cách bằng dấu phẩy (,). Mặc định: *-> Nó sẽ cấm những người dùng cụ thể bằng cách chỉ đặt id của họ được phân tách bằng dấu phẩy (,). Nếu người dùng là Ban thì họ sẽ không thể truy cập trình quản lý tệp wp trên giao diện người dùng.-> Chủ đề quản lý tệp. Mặc định: Light-> Đã sửa đổi tệp hoặc tạo định dạng ngày. Mặc định: d M, Y h:i A-> Ngôn ngữ trình quản lý tệp. Mặc định: English(en)-> Giao diện người dùng Filemanager. Mặc định: gridHoạt độngCác hành động trên (các) bản sao lưu đã chọnQuản trị viên có thể hạn chế hành động của bất kỳ người dùng nào. Cũng ẩn các tệp và thư mục và có thể đặt các đường dẫn thư mục khác nhau cho những người dùng khác nhau.Quản trị viên có thể hạn chế các hành động của bất kỳ người dùng nào. Đồng thời ẩn các tệp và thư mục và có thể đặt các đường dẫn thư mục khác nhau cho các vai trò người dùng khác nhau.Sau khi bật thùng rác, các tệp của bạn sẽ chuyển đến thư mục thùng rác.Sau khi bật điều này, tất cả các tệp sẽ chuyển đến thư viện phương tiện.Tất cả đã được làm xongBạn có chắc chắn muốn xóa (các) bản sao lưu đã chọn không?Bạn có chắc chắn muốn xóa bản sao lưu này không?Bạn có chắc chắn muốn khôi phục bản sao lưu này không?Ngày sao lưuSao lưu ngayTùy chọn sao lưu:Sao lưu dữ liệu (nhấp để tải xuống)Các tệp sao lưu sẽ đượcQuá trình sao lưu đang chạy, vui lòng đợiĐã xóa thành công bản sao lưu.Phục hồi dữ liệu đã lưuĐã xóa bản sao lưu thành công!Lệnh cấmTrình duyệt và hệ điều hành (HTTP_USER_AGENT)Mua CHUYÊN NGHIỆPMua chuyên nghiệpHuỷ bỏThay đổi chủ đề tại đây:Nhấp để mua CHUYÊN NGHIỆPChế độ xem trình soạn thảo mãXác nhậnSao chép tệp hoặc thư mụcHiện tại không tìm thấy (các) bản sao lưu.XÓA CÁC TẬP TINTốiSao lưu cơ sở dữ liệuSao lưu cơ sở dữ liệu được thực hiện vào ngày Đã sao lưu cơ sở dữ liệu.Đã khôi phục thành công sao lưu cơ sở dữ liệu.Mặc địnhMặc định:Xóa bỏBỏ chọnLoại bỏ thông báo này.Quyên gópTải xuống nhật ký tệpTải tập tinNhân bản hoặc sao chép một thư mục hoặc tệp tinChỉnh sửa nhật ký tệpChỉnh sửa tệpBật Tải tệp lên Thư viện Phương tiện?Bật Thùng rác?Lỗi: Không thể khôi phục bản sao lưu vì bản sao lưu cơ sở dữ liệu có dung lượng lớn. Vui lòng cố gắng tăng kích thước tối đa cho phép từ cài đặt Tùy chọn.(Các) bản sao lưu hiện cóGiải nén tệp lưu trữ hoặc nénTrình quản lý tệp - Mã ngắnTrình quản lý tệp - Thuộc tính hệ thốngĐường dẫn gốc của File Manager, bạn có thể thay đổi tùy theo lựa chọn của mình.Trình quản lý tệp có một trình chỉnh sửa mã với nhiều chủ đề. Bạn có thể chọn bất kỳ chủ đề nào cho trình soạn thảo mã. Nó sẽ hiển thị khi bạn chỉnh sửa bất kỳ tệp nào. Ngoài ra, bạn có thể cho phép chế độ toàn màn hình của trình soạn thảo mã.Danh sách thao tác tệp:Tệp không tồn tại để tải xuống.Sao lưu tệpMàu xámCứu giúpỞ đây "test" là tên của thư mục nằm trên thư mục gốc, hoặc bạn có thể cung cấp đường dẫn cho các thư mục con như "wp-content / plugins". Nếu để trống hoặc để trống nó sẽ truy cập tất cả các thư mục trên thư mục gốc. Mặc định: Thư mục gốcTại đây, quản trị viên có thể cấp quyền truy cập vào các vai trò của người dùng để sử dụng trình quản lý tệp. Quản trị viên có thể đặt Thư mục Truy cập Mặc định và cũng có thể kiểm soát kích thước tải lên của trình quản lý tệp.Thông tin về tệpMã bảo mật không hợp lệ.Nó sẽ cho phép tất cả các vai trò truy cập trình quản lý tệp trên giao diện người dùng hoặc Bạn có thể sử dụng đơn giản cho các vai trò người dùng cụ thể như allow_roles = "editor, author" (phân cách bằng dấu phẩy (,))Nó sẽ khóa được đề cập trong dấu phẩy. bạn có thể khóa nhiều hơn như ".php, .css, .js", v.v. Mặc định: NullNó sẽ hiển thị trình quản lý tệp trên giao diện người dùng. Nhưng chỉ Quản trị viên mới có thể truy cập nó và sẽ kiểm soát từ cài đặt trình quản lý tệp.Nó sẽ hiển thị trình quản lý tệp trên giao diện người dùng. Bạn có thể kiểm soát tất cả các cài đặt từ cài đặt trình quản lý tệp. Nó sẽ hoạt động giống như Trình quản lý tệp WP phụ trợ.Tin nhắn nhật ký cuối cùngÁnh sángNhật kýTạo thư mục hoặc thư mụcTạo tệpKích thước tối đa cho phép tại thời điểm khôi phục sao lưu cơ sở dữ liệu.Kích thước tải lên tệp tối đa (upload_max_filesize)Giới hạn bộ nhớ (memory_limit)Thiếu id dự phòng.Thiếu loại tham số.Thiếu các thông số bắt buộc.Không, cám ơnKhông có thông báo nhật kýKhông tìm thấy nhật ký nào!Ghi chú:Lưu ý: Đây là những ảnh chụp màn hình demo. Vui lòng mua File Manager chuyên nghiệp cho các chức năng Logs.Lưu ý: Đây chỉ là một ảnh chụp màn hình demo. Để có được cài đặt, vui lòng mua phiên bản chuyên nghiệp của chúng tôi.Không có gì được chọn để sao lưuKhông có gì được chọn để sao lưu.đồng ýĐồng ýKhác (Bất kỳ thư mục nào khác được tìm thấy bên trong wp-content)Sao lưu những người khác được thực hiện vào ngày Những người khác đã sao lưu xong.Sao lưu những người khác không thành công.Đã khôi phục thành công bản sao lưu khác.Phiên bản PHPThông số:Dán tệp hoặc thư mụcVui lòng nhập địa chỉ email.Vui lòng nhập Tên.Vui lòng nhập Họ.Vui lòng thay đổi điều này một cách cẩn thận, đường dẫn sai có thể dẫn đến plugin trình quản lý tệp đi xuống.Vui lòng tăng giá trị trường nếu bạn nhận được thông báo lỗi tại thời điểm khôi phục sao lưu.bổ sungSao lưu plugin được thực hiện vào ngày Đã sao lưu plugin xong.Sao lưu plugin không thành công.Đã khôi phục bản sao lưu plugin thành công.Kích thước tải lên tệp tối đa của bài đăng (post_max_size)Sở thíchChính sách bảo mậtĐường dẫn gốc công khaiPHỤC HỒI CÁC TẬP TINXóa hoặc xóa các tệp và thư mụcĐổi tên tệp hoặc thư mụcKhôi phụcQuá trình khôi phục đang chạy, vui lòng đợiSỰ THÀNH CÔNGLưu thay đổiTiết kiệm...Tìm kiếm mọi thứVấn đề an ninh.Chọn tất cảChọn (các) bản sao lưu để xóa!Cài đặtCài đặt - Trình chỉnh sửa mãCài đặt - ChungCài đặt - Hạn chế Người dùngCài đặt - Hạn chế về vai trò của người dùngĐã lưu cài đặt.Mã ngắn - PROCắt một tệp hoặc thư mục đơn giảnThuộc tính hệ thốngĐiều khoản dịch vụBản sao lưu dường như đã thành công và hiện đã hoàn tất.Chủ đềSao lưu chủ đề được thực hiện vào ngày Đã hoàn tất sao lưu chủ đề.Sao lưu chủ đề không thành công.Đã khôi phục bản sao lưu chủ đề thành công.Hiện tạiThời gian chờ (max_execution_time)Để tạo một kho lưu trữ hoặc zipHôm naySỬ DỤNG:Không thể tạo bản sao lưu cơ sở dữ liệu.Không thể xóa bản sao lưu!Không thể khôi phục bản sao lưu DB.Không thể khôi phục những người khác.Không thể khôi phục các plugin.Không thể khôi phục chủ đề.Không thể khôi phục tải lên.Tải lên nhật ký tệpTải tệp lênTải lênTải lên bản sao lưu được thực hiện vào ngày Đã hoàn tất tải lên sao lưu.Sao lưu tải lên không thành công.Đã khôi phục bản sao lưu tải lên thành công.Kiểm chứngXem nhật kíTrình quản lý tệp WPTrình quản lý tệp WP - Sao lưu / Khôi phụcĐóng góp của Trình quản lý tệp WPChúng tôi thích kết bạn mới! Đăng ký bên dưới và chúng tôi hứa sẽ luôn cập nhật cho bạn các plugin, bản cập nhật mới nhất của chúng tôi, giao dịch tuyệt vời và một vài ưu đãi đặc biệt.Chào mừng bạn đến với Trình quản lý tệpBạn chưa thực hiện bất kỳ thay đổi nào để được lưu.để truy cập quyền đọc tệp, lưu ý: true / false, default: trueđể truy cập quyền ghi tệp, lưu ý: true / false, default: falsenó sẽ ẩn được đề cập ở đây. Lưu ý: phân cách bằng dấu phẩy (,). Mặc định: Nullwp-file-manager/languages/wp-file-manager-vi.po000064400000073061151202472330015422 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 13:04+0530\n" "PO-Revision-Date: 2022-02-28 13:08+0530\n" "Last-Translator: admin \n" "Language-Team: Vietnamese\n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "Đã khôi phục bản sao lưu chủ đề thành công." #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "Không thể khôi phục chủ đề." #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "Đã khôi phục bản sao lưu tải lên thành công." #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "Không thể khôi phục tải lên." #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "Đã khôi phục thành công bản sao lưu khác." #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "Không thể khôi phục những người khác." #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "Đã khôi phục bản sao lưu plugin thành công." #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "Không thể khôi phục các plugin." #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "Đã khôi phục thành công sao lưu cơ sở dữ liệu." #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "Tất cả đã được làm xong" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "Không thể khôi phục bản sao lưu DB." #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "Đã xóa bản sao lưu thành công!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "Không thể xóa bản sao lưu!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "Sao lưu cơ sở dữ liệu được thực hiện vào ngày " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "Sao lưu plugin được thực hiện vào ngày " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "Sao lưu chủ đề được thực hiện vào ngày " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "Tải lên bản sao lưu được thực hiện vào ngày " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "Sao lưu những người khác được thực hiện vào ngày " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "Nhật ký" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "Không tìm thấy nhật ký nào!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "Không có gì được chọn để sao lưu" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "Vấn đề an ninh." #: file_folder_manager.php:527 msgid "Database backup done." msgstr "Đã sao lưu cơ sở dữ liệu." #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "Không thể tạo bản sao lưu cơ sở dữ liệu." #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "Đã sao lưu plugin xong." #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "Sao lưu plugin không thành công." #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "Đã hoàn tất sao lưu chủ đề." #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "Sao lưu chủ đề không thành công." #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "Đã hoàn tất tải lên sao lưu." #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "Sao lưu tải lên không thành công." #: file_folder_manager.php:581 msgid "Others backup done." msgstr "Những người khác đã sao lưu xong." #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "Sao lưu những người khác không thành công." #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "Trình quản lý tệp WP" #: file_folder_manager.php:769 msgid "Settings" msgstr "Cài đặt" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "Sở thích" #: file_folder_manager.php:773 msgid "System Properties" msgstr "Thuộc tính hệ thống" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "Mã ngắn - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "Phục hồi dữ liệu đã lưu" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "Mua chuyên nghiệp" #: file_folder_manager.php:1034 msgid "Donate" msgstr "Quyên góp" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "Tệp không tồn tại để tải xuống." #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "Mã bảo mật không hợp lệ." #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "Thiếu id dự phòng." #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "Thiếu loại tham số." #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "Thiếu các thông số bắt buộc." #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "Lỗi: Không thể khôi phục bản sao lưu vì bản sao lưu cơ sở dữ liệu có dung " "lượng lớn. Vui lòng cố gắng tăng kích thước tối đa cho phép từ cài đặt Tùy " "chọn." #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "Chọn (các) bản sao lưu để xóa!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "Bạn có chắc chắn muốn xóa (các) bản sao lưu đã chọn không?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "Quá trình sao lưu đang chạy, vui lòng đợi" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "Quá trình khôi phục đang chạy, vui lòng đợi" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "Không có gì được chọn để sao lưu." #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "Trình quản lý tệp WP - Sao lưu / Khôi phục" #: inc/backup.php:51 msgid "Backup Options:" msgstr "Tùy chọn sao lưu:" #: inc/backup.php:58 msgid "Database Backup" msgstr "Sao lưu cơ sở dữ liệu" #: inc/backup.php:64 msgid "Files Backup" msgstr "Sao lưu tệp" #: inc/backup.php:68 msgid "Plugins" msgstr "bổ sung" #: inc/backup.php:71 msgid "Themes" msgstr "Chủ đề" #: inc/backup.php:74 msgid "Uploads" msgstr "Tải lên" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "Khác (Bất kỳ thư mục nào khác được tìm thấy bên trong wp-content)" #: inc/backup.php:81 msgid "Backup Now" msgstr "Sao lưu ngay" #: inc/backup.php:89 msgid "Time now" msgstr "Hiện tại" #: inc/backup.php:99 msgid "SUCCESS" msgstr "SỰ THÀNH CÔNG" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "Đã xóa thành công bản sao lưu." #: inc/backup.php:102 msgid "Ok" msgstr "Đồng ý" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "XÓA CÁC TẬP TIN" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "Bạn có chắc chắn muốn xóa bản sao lưu này không?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "Huỷ bỏ" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "Xác nhận" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "PHỤC HỒI CÁC TẬP TIN" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "Bạn có chắc chắn muốn khôi phục bản sao lưu này không?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "Tin nhắn nhật ký cuối cùng" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "Bản sao lưu dường như đã thành công và hiện đã hoàn tất." #: inc/backup.php:171 msgid "No log message" msgstr "Không có thông báo nhật ký" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "(Các) bản sao lưu hiện có" #: inc/backup.php:184 msgid "Backup Date" msgstr "Ngày sao lưu" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "Sao lưu dữ liệu (nhấp để tải xuống)" #: inc/backup.php:190 msgid "Action" msgstr "Hoạt động" #: inc/backup.php:210 msgid "Today" msgstr "Hôm nay" #: inc/backup.php:239 msgid "Restore" msgstr "Khôi phục" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "Xóa bỏ" #: inc/backup.php:241 msgid "View Log" msgstr "Xem nhật kí" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "Hiện tại không tìm thấy (các) bản sao lưu." #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "Các hành động trên (các) bản sao lưu đã chọn" #: inc/backup.php:251 msgid "Select All" msgstr "Chọn tất cả" #: inc/backup.php:252 msgid "Deselect" msgstr "Bỏ chọn" #: inc/backup.php:254 msgid "Note:" msgstr "Ghi chú:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "Các tệp sao lưu sẽ được" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "Đóng góp của Trình quản lý tệp WP" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "" "Lưu ý: Đây là những ảnh chụp màn hình demo. Vui lòng mua File Manager chuyên " "nghiệp cho các chức năng Logs." #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "Nhấp để mua CHUYÊN NGHIỆP" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "Mua CHUYÊN NGHIỆP" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "Chỉnh sửa nhật ký tệp" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "Tải xuống nhật ký tệp" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "Tải lên nhật ký tệp" #: inc/root.php:43 msgid "Settings saved." msgstr "Đã lưu cài đặt." #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "Loại bỏ thông báo này." #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "Bạn chưa thực hiện bất kỳ thay đổi nào để được lưu." #: inc/root.php:55 msgid "Public Root Path" msgstr "Đường dẫn gốc công khai" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "" "Đường dẫn gốc của File Manager, bạn có thể thay đổi tùy theo lựa chọn của " "mình." #: inc/root.php:59 msgid "Default:" msgstr "Mặc định:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "" "Vui lòng thay đổi điều này một cách cẩn thận, đường dẫn sai có thể dẫn đến " "plugin trình quản lý tệp đi xuống." #: inc/root.php:64 msgid "Enable Trash?" msgstr "Bật Thùng rác?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "" "Sau khi bật thùng rác, các tệp của bạn sẽ chuyển đến thư mục thùng rác." #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "Bật Tải tệp lên Thư viện Phương tiện?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "" "Sau khi bật điều này, tất cả các tệp sẽ chuyển đến thư viện phương tiện." #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "" "Kích thước tối đa cho phép tại thời điểm khôi phục sao lưu cơ sở dữ liệu." #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "" "Vui lòng tăng giá trị trường nếu bạn nhận được thông báo lỗi tại thời điểm " "khôi phục sao lưu." #: inc/root.php:90 msgid "Save Changes" msgstr "Lưu thay đổi" #: inc/settings.php:10 msgid "Settings - General" msgstr "Cài đặt - Chung" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "" "Lưu ý: Đây chỉ là một ảnh chụp màn hình demo. Để có được cài đặt, vui lòng " "mua phiên bản chuyên nghiệp của chúng tôi." #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "Tại đây, quản trị viên có thể cấp quyền truy cập vào các vai trò của người " "dùng để sử dụng trình quản lý tệp. Quản trị viên có thể đặt Thư mục Truy cập " "Mặc định và cũng có thể kiểm soát kích thước tải lên của trình quản lý tệp." #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "Cài đặt - Trình chỉnh sửa mã" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "Trình quản lý tệp có một trình chỉnh sửa mã với nhiều chủ đề. Bạn có thể " "chọn bất kỳ chủ đề nào cho trình soạn thảo mã. Nó sẽ hiển thị khi bạn chỉnh " "sửa bất kỳ tệp nào. Ngoài ra, bạn có thể cho phép chế độ toàn màn hình của " "trình soạn thảo mã." #: inc/settings.php:18 msgid "Code-editor View" msgstr "Chế độ xem trình soạn thảo mã" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "Cài đặt - Hạn chế Người dùng" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "Quản trị viên có thể hạn chế hành động của bất kỳ người dùng nào. Cũng ẩn " "các tệp và thư mục và có thể đặt các đường dẫn thư mục khác nhau cho những " "người dùng khác nhau." #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "Cài đặt - Hạn chế về vai trò của người dùng" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "Quản trị viên có thể hạn chế các hành động của bất kỳ người dùng nào. Đồng " "thời ẩn các tệp và thư mục và có thể đặt các đường dẫn thư mục khác nhau cho " "các vai trò người dùng khác nhau." #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "Trình quản lý tệp - Mã ngắn" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "SỬ DỤNG:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "Nó sẽ hiển thị trình quản lý tệp trên giao diện người dùng. Bạn có thể kiểm " "soát tất cả các cài đặt từ cài đặt trình quản lý tệp. Nó sẽ hoạt động giống " "như Trình quản lý tệp WP phụ trợ." #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "Nó sẽ hiển thị trình quản lý tệp trên giao diện người dùng. Nhưng chỉ Quản " "trị viên mới có thể truy cập nó và sẽ kiểm soát từ cài đặt trình quản lý tệp." #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "Thông số:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "Nó sẽ cho phép tất cả các vai trò truy cập trình quản lý tệp trên giao diện " "người dùng hoặc Bạn có thể sử dụng đơn giản cho các vai trò người dùng cụ " "thể như allow_roles = \"editor, author\" (phân cách bằng dấu phẩy (,))" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "Ở đây \"test\" là tên của thư mục nằm trên thư mục gốc, hoặc bạn có thể cung " "cấp đường dẫn cho các thư mục con như \"wp-content / plugins\". Nếu để trống " "hoặc để trống nó sẽ truy cập tất cả các thư mục trên thư mục gốc. Mặc định: " "Thư mục gốc" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "để truy cập quyền ghi tệp, lưu ý: true / false, default: false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "để truy cập quyền đọc tệp, lưu ý: true / false, default: true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "" "nó sẽ ẩn được đề cập ở đây. Lưu ý: phân cách bằng dấu phẩy (,). Mặc định: " "Null" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "Nó sẽ khóa được đề cập trong dấu phẩy. bạn có thể khóa nhiều hơn như \"." "php, .css, .js\", v.v. Mặc định: Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* Đối với tất cả các hoạt động và để cho phép một số hoạt động, bạn có thể " "đề cập đến tên hoạt động như, allow_operations = \"tải lên, tải xuống\". Lưu " "ý: phân cách bằng dấu phẩy (,). Mặc định: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "Danh sách thao tác tệp:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "Tạo thư mục hoặc thư mục" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "Tạo tệp" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "Đổi tên tệp hoặc thư mục" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "Nhân bản hoặc sao chép một thư mục hoặc tệp tin" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "Dán tệp hoặc thư mục" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "Lệnh cấm" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "Để tạo một kho lưu trữ hoặc zip" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "Giải nén tệp lưu trữ hoặc nén" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "Sao chép tệp hoặc thư mục" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "Cắt một tệp hoặc thư mục đơn giản" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "Chỉnh sửa tệp" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "Xóa hoặc xóa các tệp và thư mục" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "Tải tập tin" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "Tải tệp lên" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "Tìm kiếm mọi thứ" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "Thông tin về tệp" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "Cứu giúp" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> Nó sẽ cấm những người dùng cụ thể bằng cách chỉ đặt id của họ được phân " "tách bằng dấu phẩy (,). Nếu người dùng là Ban thì họ sẽ không thể truy cập " "trình quản lý tệp wp trên giao diện người dùng." #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> Giao diện người dùng Filemanager. Mặc định: grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> Đã sửa đổi tệp hoặc tạo định dạng ngày. Mặc định: d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> Ngôn ngữ trình quản lý tệp. Mặc định: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> Chủ đề quản lý tệp. Mặc định: Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "Trình quản lý tệp - Thuộc tính hệ thống" #: inc/system_properties.php:10 msgid "PHP version" msgstr "Phiên bản PHP" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "Kích thước tải lên tệp tối đa (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "Kích thước tải lên tệp tối đa của bài đăng (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "Giới hạn bộ nhớ (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "Thời gian chờ (max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "Trình duyệt và hệ điều hành (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "Thay đổi chủ đề tại đây:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "Mặc định" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "Tối" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "Ánh sáng" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "Màu xám" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "Chào mừng bạn đến với Trình quản lý tệp" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "Chúng tôi thích kết bạn mới! Đăng ký bên dưới và chúng tôi hứa sẽ\n" " luôn cập nhật cho bạn các plugin, bản cập nhật mới nhất của chúng tôi,\n" " giao dịch tuyệt vời và một vài ưu đãi đặc biệt." #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "Vui lòng nhập Tên." #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "Vui lòng nhập Họ." #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "Vui lòng nhập địa chỉ email." #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "Kiểm chứng" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "Không, cám ơn" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "Điều khoản dịch vụ" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "Chính sách bảo mật" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "Tiết kiệm..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "đồng ý" #~ msgid "Backup not found!" #~ msgstr "Không tìm thấy bản sao lưu!" #~ msgid "Backup removed successfully!" #~ msgstr "Đã xóa bản sao lưu thành công!" #~ msgid "Nothing selected for backup" #~ msgstr "" #~ "Không có gì được chọn để sao lưu" #~ msgid "Security Issue." #~ msgstr "Vấn đề bảo mật." #~ msgid "Database backup done." #~ msgstr "" #~ "Đã hoàn tất sao lưu cơ sở dữ liệu." #~ msgid "" #~ "Unable to create database backup." #~ msgstr "" #~ "Không thể tạo bản sao lưu cơ sở dữ liệu." #~ "" #~ msgid "Plugins backup done." #~ msgstr "" #~ "Đã hoàn tất sao lưu các plugin." #~ msgid "Plugins backup failed." #~ msgstr "" #~ "Sao lưu plugin không thành công." #~ msgid "Themes backup done." #~ msgstr "" #~ "Đã hoàn tất sao lưu chủ đề." #~ msgid "Themes backup failed." #~ msgstr "" #~ "Sao lưu chủ đề không thành công." #~ msgid "Uploads backup done." #~ msgstr "" #~ "Đã hoàn tất sao lưu tải lên." #~ msgid "Uploads backup failed." #~ msgstr "" #~ "Sao lưu tải lên không thành công." #~ msgid "Others backup done." #~ msgstr "" #~ "Người khác đã sao lưu xong." #~ msgid "Others backup failed." #~ msgstr "" #~ "Sao lưu những người khác không thành " #~ "công." #~ msgid "All Done" #~ msgstr "Tất cả đã được làm xong" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "Quản lý các tệp WP của bạn." #~ msgid "Extensions" #~ msgstr "Tiện ích mở rộng" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "" #~ "Xin đóng góp một số đóng góp, để làm cho plugin ổn định hơn. Bạn có thể " #~ "trả số tiền bạn chọn." wp-file-manager/languages/wp-file-manager-zh_CN.mo000064400000037743151202472330016011 0ustar00, %0=V.%7,7d/,- 0 <GWw  (07J[lt &%-6=F[bv# %  @8 (5:?& ^yZ <(.e  P&Qw6?[o$  Q&[x %% -K y   "    ! ! +! 5!C! S!^!z!!!!!!!! "(":"4K"""""$"""#1#7#!<#^#x###### $$&$C$X$%o$$$$ $$$%*%D%G#&Fk&&R((,)?)3*/6*f*m**+?+9+ (,'5,!],!, , ,,,,,- /-=-S-*W---------. *. 7.A.Q.q..... .... .!/%/ 8/!E/g/uz/ //020?Q00U1k1 1 1112 53B3X3i 4{u44}5555 505.5'6C6V6l6 666 6V6]7z77779778$8:8 V8 `8j8888H8E9W9^9{999.9 9 9 : :!):K:g:n:: : : ::::::;;+;G; Z;g; ; ;-;;;;<< =<J<i<<<<<<<==,=B= U=b=i===== =="=>->>*>>?<T?Q?}H-YoD6^BQ"1P]#WARN\&@IF y:(s{gzv9mVbd'En*j|7pf 8$=kOt`2 _ J;Z/K3)u0a+G%ci?~,MlU>4X[LhCS 5!ew<xq. Tr* for all operations and to allow some operation you can mention operation name as like, allowed_operations="upload,download". Note: seprated by comma(,). Default: *-> It will ban particular users by just putting their ids seprated by commas(,). If user is Ban then they will not able to access wp file manager on front end.-> File Manager Theme. Default: Light-> File Modified or Create date format. Default: d M, Y h:i A-> File manager Language. Default: English(en)-> Filemanager UI View. Default: gridActionActions upon selected backup(s)Admin can restrict actions of any user. Also hide files and folders and can set different - different folders paths for different users.Admin can restrict actions of any userrole. Also hide files and folders and can set different - different folders paths for different users roles.After enable trash, your files will go to trash folder.After enabling this all files will go to media library.All DoneAre you sure want to remove selected backup(s)?Are you sure you want to delete this backup?Are you sure you want to restore this backup?Backup DateBackup NowBackup Options:Backup data (click to download)Backup files will be underBackup is running, please waitBackup successfully deleted.Backup/RestoreBackups removed successfully!BanBrowser and OS (HTTP_USER_AGENT)Buy PROBuy ProCancelChange Theme Here:Click to Buy PROCode-editor ViewConfirmCopy files or foldersCurrently no backup(s) found.DELETE FILESDarkDatabase BackupDatabase backup done on date Database backup done.Database backup restored successfully.DefaultDefault:DeleteDeselectDismiss this notice.DonateDownload Files LogsDownload filesDuplicate or clone a folder or fileEdit Files LogsEdit a fileEnable Files Upload to Media Library?Enable Trash?Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.Existing Backup(s)Extract archive or zipped fileFile Manager - ShortcodeFile Manager - System PropertiesFile Manager Root Path, you can change according to your choice.File Manager has a code editor with multiple themes. You can select any theme for code editor. It will display when you edit any file. Also you can allow fullscreen mode of code editor.File Operations List:File doesn't exist to download.Files BackupGrayHelpHere "test" is the name of folder which is located on root directory, or you can give path for sub folders as like "wp-content/plugins". If leave blank or empty it will access all folders on root directory. Default: Root directoryHere admin can give access to user roles to use filemanager. Admin can set Default Access Folder and also control upload size of filemanager.Info of fileInvalid Security Code.It will allow all roles to access file manager on front end or You can simple use for particular user roles as like allowed_roles="editor,author" (seprated by comma(,))It will lock mentioned in commas. you can lock more as like ".php,.css,.js" etc. Default: NullIt will show file manager on front end. But only Administrator can access it and will control from file manager settings.It will show file manager on front end. You can control all settings from file manager settings. It will work same as backend WP File Manager.Last Log MessageLightLogsMake directory or folderMake fileMaximum allowed size at the time of database backup restore.Maximum file upload size (upload_max_filesize)Memory Limit (memory_limit)Missing backup id.Missing parameter type.Missing required parameters.No ThanksNo log messageNo logs found!Note:Note: These are demo screenshots. Please buy File Manager pro to Logs functions.Note: This is just a demo screenshot. To get settings please buy our pro version.Nothing selected for backupNothing selected for backup.OKOkOthers (Any other directories found inside wp-content)Others backup done on date Others backup done.Others backup failed.Others backup restored successfully.PHP versionParameters:Paste a file or folderPlease Enter Email Address.Please Enter First Name.Please Enter Last Name.Please change this carefully, wrong path can lead file manager plugin to go down.Please increase field value if you are getting error message at the time of backup restore.PluginsPlugins backup done on date Plugins backup done.Plugins backup failed.Plugins backup restored successfully.Post maximum file upload size (post_max_size)PreferencesPrivacy PolicyPublic Root PathRESTORE FILESRemove or delete files and foldersRename a file or folderRestoreRestore is running, please waitSUCCESSSave ChangesSaving...Search thingsSecurity Issue.Select AllSelect backup(s) to delete!SettingsSettings - Code-editorSettings - GeneralSettings - User RestrictionsSettings - User Role RestrictionsSettings saved.Shortcode - PROSimple cut a file or folderSystem PropertiesTerms of ServiceThe backup apparently succeeded and is now complete.ThemesThemes backup done on date Themes backup done.Themes backup failed.Themes backup restored successfully.Time nowTimeout (max_execution_time)To make a archive or zipTodayUSE:Unable to create database backup.Unable to removed backup!Unable to restore DB backup.Unable to restore others.Unable to restore plugins.Unable to restore themes.Unable to restore uploads.Upload Files LogsUpload filesUploadsUploads backup done on date Uploads backup done.Uploads backup failed.Uploads backup restored successfully.VerifyView LogWP File ManagerWP File Manager - Backup/RestoreWP File Manager ContributionWe love making new friends! Subscribe below and we promise to keep you up-to-date with our latest new plugins, updates, awesome deals and a few special offers.Welcome to File ManagerYou have not made any changes to be saved.for access to read files permission, note: true/false, default: truefor access to write files permissions, note: true/false, default: falseit will hide mentioned here. Note: seprated by comma(,). Default: NullProject-Id-Version: WP File Manager Report-Msgid-Bugs-To: PO-Revision-Date: 2022-02-28 13:11+0530 Last-Translator: admin Language-Team: Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Poedit 3.0.1 X-Poedit-KeywordsList: __;_e X-Poedit-Basepath: .. X-Poedit-SearchPath-0: . * 对于所有操作并允许某些操作,您可以提及操作名称,allowed_operations="upload,download"。注意:用逗号(,)分隔。默认: *-> 它将通过将特定用户的 id 用逗号 (,) 分隔来禁止特定用户。如果用户是 Ban,那么他们将无法访问前端的 wp 文件管理器。-> 文件管理器主题。默认值:Light-> 文件修改或创建日期格式。默认值:d M, Y h:i A-> 文件管理器语言。默认值: English(en)-> 文件管理器 UI 视图。默认值:grid行动对选定备份的操作管理员可以限制任何用户的操作。还可以隐藏文件和文件夹,并可以为不同的用户设置不同的文件夹路径。管理员可以限制任何用户角色的操作。还可以隐藏文件和文件夹,并可以为不同的用户角色设置不同的文件夹路径。启用垃圾箱后,您的文件将进入垃圾箱文件夹。启用此功能后,所有文件都将转到媒体库。全做完了您确定要删除选定的备份吗?您确定要删除此备份吗?您确定要恢复此备份吗?备份日期立即备份备份选项:备份数据(点击下载)备份文件将在正在备份,请稍候备份已成功删除。备份/恢复备份删除成功!ban浏览器和操作系统 (HTTP_USER_AGENT)购买专业版购买专业版取消在此处更改主题:点击购买专业版代码编辑器视图确认复制文件或文件夹目前没有找到备份。删除文件黑暗的数据库备份数据库备份在日期完成 数据库备份完成。数据库备份恢复成功。默认默认:删除取消选择忽略此通知。捐下载文件日志下载文件复制或克隆文件夹或文件编辑文件日志编辑文件启用文件上传到媒体库?启用垃圾箱?错误:无法恢复备份,因为数据库备份过大。请尝试从首选项设置中增加最大允许大小。现有备份提取存档或压缩文件文件管理器 - 简码文件管理器 - 系统属性文件管理器根路径,你可以根据你的选择改变。文件管理器具有多个主题的代码编辑器。您可以为代码编辑器选择任何主题。它会在您编辑任何文件时显示。您也可以允许代码编辑器的全屏模式。文件操作列表:要下载的文件不存在。文件备份灰色的帮助这里的“test”是位于根目录的文件夹的名称,或者您可以为子文件夹提供路径,如“wp-content/plugins”。如果留空或为空,它将访问根目录上的所有文件夹。默认值:根目录在这里 admin 可以授予对用户角色的访问权限以使用文件管理器。管理员可以设置默认访问文件夹并控制文件管理器的上传大小。文件信息安全代码无效。它将允许所有角色访问前端的文件管理器,或者您可以简单地使用特定的用户角色,例如 allowed_roles="editor,author" (用逗号(,)分隔)它将锁定逗号中提到的。您可以锁定更多,如“.php、.css、.js”等。默认值:Null它将在前端显示文件管理器。但只有管理员可以访问它,并将通过文件管理器设置进行控制。它将在前端显示文件管理器。您可以从文件管理器设置中控制所有设置。它将与后端 WP 文件管理器相同。最后一条日志消息光日志制作目录或文件夹制作文件数据库备份还原时允许的最大大小。最大文件上传大小 (upload_max_filesize)内存限制 (memory_limit)缺少备份 ID。缺少参数类型。缺少必需的参数。不,谢谢没有日志消息没有找到日志!笔记:注意:这些是演示屏幕截图。请购买文件管理器 pro 到日志功能。注意:这只是一个演示屏幕截图。要获得设置,请购买我们的专业版。未选择任何备份未选择任何备份。好的好的其他(在 wp-content 中找到的任何其他目录)其他备份在日期完成 其他备份完成。其他备份失败。其他备份恢复成功。PHP版本参数:粘贴文件或文件夹请输入电子邮件地址。请输入名字。请输入姓氏。请小心更改,错误的路径会导致文件管理器插件失效。如果您在备份还原时收到错误消息,请增加字段值。插件插件备份在日期完成 插件备份完成。插件备份失败。插件备份已成功恢复。发布最大文件上传大小 (post_max_size)首选项隐私政策公共根路径恢复文件移除或删除文件和文件夹重命名文件或文件夹恢复正在恢复,请稍候成功保存更改保存...搜索东西安全问题。全选选择要删除的备份!设置设置 - 代码编辑器设置 - 常规设置 - 用户限制设置 - 用户角色限制设置已保存。简码 - PRO简单剪切文件或文件夹系统属性服务条款备份显然成功了,现在已经完成。主题主题备份在日期完成 主题备份完成。主题备份失败。主题备份已成功恢复。是时候了超时(max_execution_time)制作存档或压缩文件今天用:无法创建数据库备份。无法删除备份!无法恢复数据库备份。无法恢复其他人。无法恢复插件。无法恢复主题。无法恢复上传。上传文件日志上传文件上传上传备份完成日期 上传备份完成。上传备份失败。上传备份成功恢复。核实查看日志WP文件管理器WP 文件管理器 - 备份/恢复WP 文件管理器贡献我们喜欢结交新朋友!在下面订阅,我们承诺 让您及时了解我们最新的插件、更新、 很棒的交易和一些特别优惠。欢迎使用文件管理器您尚未进行任何要保存的更改。获取读取文件权限,注意:true/false,默认:true获取写文件权限,注意:true/false,默认:false它会隐藏这里提到的。注意:用逗号(,)分隔。默认值:空wp-file-manager/languages/wp-file-manager-zh_CN.po000064400000062466151202472330016014 0ustar00msgid "" msgstr "" "Project-Id-Version: WP File Manager\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-28 13:08+0530\n" "PO-Revision-Date: 2022-02-28 13:11+0530\n" "Last-Translator: admin \n" "Language-Team: \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.0.1\n" "X-Poedit-KeywordsList: __;_e\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" #: file_folder_manager.php:174 msgid "Themes backup restored successfully." msgstr "主题备份已成功恢复。" #: file_folder_manager.php:177 msgid "Unable to restore themes." msgstr "无法恢复主题。" #: file_folder_manager.php:207 msgid "Uploads backup restored successfully." msgstr "上传备份成功恢复。" #: file_folder_manager.php:211 msgid "Unable to restore uploads." msgstr "无法恢复上传。" #: file_folder_manager.php:237 msgid "Others backup restored successfully." msgstr "其他备份恢复成功。" #: file_folder_manager.php:241 msgid "Unable to restore others." msgstr "无法恢复其他人。" #: file_folder_manager.php:267 msgid "Plugins backup restored successfully." msgstr "插件备份已成功恢复。" #: file_folder_manager.php:271 file_folder_manager.php:301 msgid "Unable to restore plugins." msgstr "无法恢复插件。" #: file_folder_manager.php:286 msgid "Database backup restored successfully." msgstr "数据库备份恢复成功。" #: file_folder_manager.php:286 file_folder_manager.php:297 #: file_folder_manager.php:588 file_folder_manager.php:592 msgid "All Done" msgstr "全做完了" #: file_folder_manager.php:289 msgid "Unable to restore DB backup." msgstr "无法恢复数据库备份。" #: file_folder_manager.php:347 msgid "Backups removed successfully!" msgstr "备份删除成功!" #: file_folder_manager.php:349 msgid "Unable to removed backup!" msgstr "无法删除备份!" #: file_folder_manager.php:373 msgid "Database backup done on date " msgstr "数据库备份在日期完成 " #: file_folder_manager.php:377 msgid "Plugins backup done on date " msgstr "插件备份在日期完成 " #: file_folder_manager.php:381 msgid "Themes backup done on date " msgstr "主题备份在日期完成 " #: file_folder_manager.php:385 msgid "Uploads backup done on date " msgstr "上传备份完成日期 " #: file_folder_manager.php:389 msgid "Others backup done on date " msgstr "其他备份在日期完成 " #: file_folder_manager.php:393 file_folder_manager.php:776 msgid "Logs" msgstr "日志" #: file_folder_manager.php:399 msgid "No logs found!" msgstr "没有找到日志!" #: file_folder_manager.php:496 msgid "Nothing selected for backup" msgstr "未选择任何备份" #: file_folder_manager.php:516 msgid "Security Issue." msgstr "安全问题。" #: file_folder_manager.php:527 msgid "Database backup done." msgstr "数据库备份完成。" #: file_folder_manager.php:530 msgid "Unable to create database backup." msgstr "无法创建数据库备份。" #: file_folder_manager.php:544 msgid "Plugins backup done." msgstr "插件备份完成。" #: file_folder_manager.php:547 msgid "Plugins backup failed." msgstr "插件备份失败。" #: file_folder_manager.php:556 msgid "Themes backup done." msgstr "主题备份完成。" #: file_folder_manager.php:559 msgid "Themes backup failed." msgstr "主题备份失败。" #: file_folder_manager.php:569 msgid "Uploads backup done." msgstr "上传备份完成。" #: file_folder_manager.php:572 msgid "Uploads backup failed." msgstr "上传备份失败。" #: file_folder_manager.php:581 msgid "Others backup done." msgstr "其他备份完成。" #: file_folder_manager.php:584 msgid "Others backup failed." msgstr "其他备份失败。" #: file_folder_manager.php:761 file_folder_manager.php:762 #: lib/wpfilemanager.php:23 msgid "WP File Manager" msgstr "WP文件管理器" #: file_folder_manager.php:769 msgid "Settings" msgstr "设置" #: file_folder_manager.php:771 inc/root.php:48 msgid "Preferences" msgstr "首选项" #: file_folder_manager.php:773 msgid "System Properties" msgstr "系统属性" #: file_folder_manager.php:775 msgid "Shortcode - PRO" msgstr "简码 - PRO" #: file_folder_manager.php:777 msgid "Backup/Restore" msgstr "备份/恢复" #: file_folder_manager.php:1033 msgid "Buy Pro" msgstr "购买专业版" #: file_folder_manager.php:1034 msgid "Donate" msgstr "捐" #: file_folder_manager.php:1249 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1256 msgid "" "

        \n" "

        " msgstr "" #: file_folder_manager.php:1395 file_folder_manager.php:1483 msgid "File doesn't exist to download." msgstr "要下载的文件不存在。" #: file_folder_manager.php:1400 file_folder_manager.php:1488 msgid "Invalid Security Code." msgstr "安全代码无效。" #: file_folder_manager.php:1405 file_folder_manager.php:1493 msgid "Missing backup id." msgstr "缺少备份 ID。" #: file_folder_manager.php:1408 file_folder_manager.php:1496 msgid "Missing parameter type." msgstr "缺少参数类型。" #: file_folder_manager.php:1411 file_folder_manager.php:1499 msgid "Missing required parameters." msgstr "缺少必需的参数。" #: inc/backup.php:24 msgid "" "Error: Unable to restore backup because database backup is heavy in size. " "Please try to increase Maximum allowed size from Preferences settings." msgstr "" "错误:无法恢复备份,因为数据库备份过大。请尝试从首选项设置中增加最大允许大" "小。" #: inc/backup.php:25 msgid "Select backup(s) to delete!" msgstr "选择要删除的备份!" #: inc/backup.php:26 msgid "Are you sure want to remove selected backup(s)?" msgstr "您确定要删除选定的备份吗?" #: inc/backup.php:31 msgid "Backup is running, please wait" msgstr "正在备份,请稍候" #: inc/backup.php:32 msgid "Restore is running, please wait" msgstr "正在恢复,请稍候" #: inc/backup.php:33 msgid "Nothing selected for backup." msgstr "未选择任何备份。" #: inc/backup.php:45 msgid "WP File Manager - Backup/Restore" msgstr "WP 文件管理器 - 备份/恢复" #: inc/backup.php:51 msgid "Backup Options:" msgstr "备份选项:" #: inc/backup.php:58 msgid "Database Backup" msgstr "数据库备份" #: inc/backup.php:64 msgid "Files Backup" msgstr "文件备份" #: inc/backup.php:68 msgid "Plugins" msgstr "插件" #: inc/backup.php:71 msgid "Themes" msgstr "主题" #: inc/backup.php:74 msgid "Uploads" msgstr "上传" #: inc/backup.php:77 msgid "Others (Any other directories found inside wp-content)" msgstr "其他(在 wp-content 中找到的任何其他目录)" #: inc/backup.php:81 msgid "Backup Now" msgstr "立即备份" #: inc/backup.php:89 msgid "Time now" msgstr "是时候了" #: inc/backup.php:99 msgid "SUCCESS" msgstr "成功" #: inc/backup.php:101 msgid "Backup successfully deleted." msgstr "备份已成功删除。" #: inc/backup.php:102 msgid "Ok" msgstr "好的" #: inc/backup.php:117 msgid "DELETE FILES" msgstr "删除文件" #: inc/backup.php:119 msgid "Are you sure you want to delete this backup?" msgstr "您确定要删除此备份吗?" #: inc/backup.php:120 inc/backup.php:139 msgid "Cancel" msgstr "取消" #: inc/backup.php:121 inc/backup.php:140 msgid "Confirm" msgstr "确认" #: inc/backup.php:136 msgid "RESTORE FILES" msgstr "恢复文件" #: inc/backup.php:138 msgid "Are you sure you want to restore this backup?" msgstr "您确定要恢复此备份吗?" #: inc/backup.php:166 msgid "Last Log Message" msgstr "最后一条日志消息" #: inc/backup.php:169 msgid "The backup apparently succeeded and is now complete." msgstr "备份显然成功了,现在已经完成。" #: inc/backup.php:171 msgid "No log message" msgstr "没有日志消息" #: inc/backup.php:177 msgid "Existing Backup(s)" msgstr "现有备份" #: inc/backup.php:184 msgid "Backup Date" msgstr "备份日期" #: inc/backup.php:187 msgid "Backup data (click to download)" msgstr "备份数据(点击下载)" #: inc/backup.php:190 msgid "Action" msgstr "行动" #: inc/backup.php:210 msgid "Today" msgstr "今天" #: inc/backup.php:239 msgid "Restore" msgstr "恢复" #: inc/backup.php:240 inc/backup.php:250 msgid "Delete" msgstr "删除" #: inc/backup.php:241 msgid "View Log" msgstr "查看日志" #: inc/backup.php:246 msgid "Currently no backup(s) found." msgstr "目前没有找到备份。" #: inc/backup.php:249 msgid "Actions upon selected backup(s)" msgstr "对选定备份的操作" #: inc/backup.php:251 msgid "Select All" msgstr "全选" #: inc/backup.php:252 msgid "Deselect" msgstr "取消选择" #: inc/backup.php:254 msgid "Note:" msgstr "笔记:" #: inc/backup.php:254 msgid "Backup files will be under" msgstr "备份文件将在" #: inc/contribute.php:3 msgid "WP File Manager Contribution" msgstr "WP 文件管理器贡献" #: inc/logs.php:7 msgid "" "Note: These are demo screenshots. Please buy File Manager pro to Logs " "functions." msgstr "注意:这些是演示屏幕截图。请购买文件管理器 pro 到日志功能。" #: inc/logs.php:8 lib/wpfilemanager.php:24 msgid "Click to Buy PRO" msgstr "点击购买专业版" #: inc/logs.php:8 inc/settings.php:12 inc/settings.php:27 #: inc/system_properties.php:5 lib/wpfilemanager.php:25 msgid "Buy PRO" msgstr "购买专业版" #: inc/logs.php:9 msgid "Edit Files Logs" msgstr "编辑文件日志" #: inc/logs.php:11 msgid "Download Files Logs" msgstr "下载文件日志" #: inc/logs.php:13 msgid "Upload Files Logs" msgstr "上传文件日志" #: inc/root.php:43 msgid "Settings saved." msgstr "设置已保存。" #: inc/root.php:43 inc/root.php:46 msgid "Dismiss this notice." msgstr "忽略此通知。" #: inc/root.php:46 msgid "You have not made any changes to be saved." msgstr "您尚未进行任何要保存的更改。" #: inc/root.php:55 msgid "Public Root Path" msgstr "公共根路径" #: inc/root.php:58 msgid "File Manager Root Path, you can change according to your choice." msgstr "文件管理器根路径,你可以根据你的选择改变。" #: inc/root.php:59 msgid "Default:" msgstr "默认:" #: inc/root.php:60 msgid "" "Please change this carefully, wrong path can lead file manager plugin to go " "down." msgstr "请小心更改,错误的路径会导致文件管理器插件失效。" #: inc/root.php:64 msgid "Enable Trash?" msgstr "启用垃圾箱?" #: inc/root.php:67 msgid "After enable trash, your files will go to trash folder." msgstr "启用垃圾箱后,您的文件将进入垃圾箱文件夹。" #: inc/root.php:72 msgid "Enable Files Upload to Media Library?" msgstr "启用文件上传到媒体库?" #: inc/root.php:75 msgid "After enabling this all files will go to media library." msgstr "启用此功能后,所有文件都将转到媒体库。" #: inc/root.php:80 msgid "Maximum allowed size at the time of database backup restore." msgstr "数据库备份还原时允许的最大大小。" #: inc/root.php:83 msgid "MB" msgstr "" #: inc/root.php:85 msgid "" "Please increase field value if you are getting error message at the time of " "backup restore." msgstr "如果您在备份还原时收到错误消息,请增加字段值。" #: inc/root.php:90 msgid "Save Changes" msgstr "保存更改" #: inc/settings.php:10 msgid "Settings - General" msgstr "设置 - 常规" #: inc/settings.php:11 inc/settings.php:26 msgid "" "Note: This is just a demo screenshot. To get settings please buy our pro " "version." msgstr "注意:这只是一个演示屏幕截图。要获得设置,请购买我们的专业版。" #: inc/settings.php:13 msgid "" "Here admin can give access to user roles to use filemanager. Admin can set " "Default Access Folder and also control upload size of filemanager." msgstr "" "在这里 admin 可以授予对用户角色的访问权限以使用文件管理器。管理员可以设置默认" "访问文件夹并控制文件管理器的上传大小。" #: inc/settings.php:15 msgid "Settings - Code-editor" msgstr "设置 - 代码编辑器" #: inc/settings.php:16 msgid "" "File Manager has a code editor with multiple themes. You can select any " "theme for code editor. It will display when you edit any file. Also you can " "allow fullscreen mode of code editor." msgstr "" "文件管理器具有多个主题的代码编辑器。您可以为代码编辑器选择任何主题。它会在您" "编辑任何文件时显示。您也可以允许代码编辑器的全屏模式。" #: inc/settings.php:18 msgid "Code-editor View" msgstr "代码编辑器视图" #: inc/settings.php:20 msgid "Settings - User Restrictions" msgstr "设置 - 用户限制" #: inc/settings.php:21 msgid "" "Admin can restrict actions of any user. Also hide files and folders and can " "set different - different folders paths for different users." msgstr "" "管理员可以限制任何用户的操作。还可以隐藏文件和文件夹,并可以为不同的用户设置" "不同的文件夹路径。" #: inc/settings.php:23 msgid "Settings - User Role Restrictions" msgstr "设置 - 用户角色限制" #: inc/settings.php:24 msgid "" "Admin can restrict actions of any userrole. Also hide files and folders and " "can set different - different folders paths for different users roles." msgstr "" "管理员可以限制任何用户角色的操作。还可以隐藏文件和文件夹,并可以为不同的用户" "角色设置不同的文件夹路径。" #: inc/shortcode_docs.php:11 msgid "File Manager - Shortcode" msgstr "文件管理器 - 简码" #: inc/shortcode_docs.php:15 inc/shortcode_docs.php:17 #: inc/shortcode_docs.php:19 msgid "USE:" msgstr "用:" #: inc/shortcode_docs.php:15 msgid "" "It will show file manager on front end. You can control all settings from " "file manager settings. It will work same as backend WP File Manager." msgstr "" "它将在前端显示文件管理器。您可以从文件管理器设置中控制所有设置。它将与后端 " "WP 文件管理器相同。" #: inc/shortcode_docs.php:17 msgid "" "It will show file manager on front end. But only Administrator can access it " "and will control from file manager settings." msgstr "" "它将在前端显示文件管理器。但只有管理员可以访问它,并将通过文件管理器设置进行" "控制。" #: inc/shortcode_docs.php:23 msgid "Parameters:" msgstr "参数:" #: inc/shortcode_docs.php:26 msgid "" "It will allow all roles to access file manager on front end or You can " "simple use for particular user roles as like allowed_roles=\"editor,author" "\" (seprated by comma(,))" msgstr "" "它将允许所有角色访问前端的文件管理器,或者您可以简单地使用特定的用户角色,例" "如 allowed_roles=\"editor,author\" (用逗号(,)分隔)" #: inc/shortcode_docs.php:28 msgid "" "Here \"test\" is the name of folder which is located on root directory, or " "you can give path for sub folders as like \"wp-content/plugins\". If leave " "blank or empty it will access all folders on root directory. Default: Root " "directory" msgstr "" "这里的“test”是位于根目录的文件夹的名称,或者您可以为子文件夹提供路径,如“wp-" "content/plugins”。如果留空或为空,它将访问根目录上的所有文件夹。默认值:根目" "录" #: inc/shortcode_docs.php:30 msgid "for access to write files permissions, note: true/false, default: false" msgstr "获取写文件权限,注意:true/false,默认:false" #: inc/shortcode_docs.php:32 msgid "for access to read files permission, note: true/false, default: true" msgstr "获取读取文件权限,注意:true/false,默认:true" #: inc/shortcode_docs.php:34 msgid "it will hide mentioned here. Note: seprated by comma(,). Default: Null" msgstr "它会隐藏这里提到的。注意:用逗号(,)分隔。默认值:空" #: inc/shortcode_docs.php:36 msgid "" "It will lock mentioned in commas. you can lock more as like \".php,.css,.js" "\" etc. Default: Null" msgstr "" "它将锁定逗号中提到的。您可以锁定更多,如“.php、.css、.js”等。默认值:Null" #: inc/shortcode_docs.php:38 msgid "" "* for all operations and to allow some operation you can mention operation " "name as like, allowed_operations=\"upload,download\". Note: seprated by " "comma(,). Default: *" msgstr "" "* 对于所有操作并允许某些操作,您可以提及操作名称,allowed_operations=" "\"upload,download\"。注意:用逗号(,)分隔。默认: *" #: inc/shortcode_docs.php:42 msgid "File Operations List:" msgstr "文件操作列表:" #: inc/shortcode_docs.php:46 msgid "mkdir ->" msgstr "" #: inc/shortcode_docs.php:46 msgid "Make directory or folder" msgstr "制作目录或文件夹" #: inc/shortcode_docs.php:47 msgid "mkfile ->" msgstr "" #: inc/shortcode_docs.php:47 msgid "Make file" msgstr "制作文件" #: inc/shortcode_docs.php:48 msgid "rename ->" msgstr "" #: inc/shortcode_docs.php:48 msgid "Rename a file or folder" msgstr "重命名文件或文件夹" #: inc/shortcode_docs.php:49 msgid "duplicate ->" msgstr "" #: inc/shortcode_docs.php:49 msgid "Duplicate or clone a folder or file" msgstr "复制或克隆文件夹或文件" #: inc/shortcode_docs.php:50 msgid "paste ->" msgstr "" #: inc/shortcode_docs.php:50 msgid "Paste a file or folder" msgstr "粘贴文件或文件夹" #: inc/shortcode_docs.php:51 msgid "ban ->" msgstr "" #: inc/shortcode_docs.php:51 msgid "Ban" msgstr "ban" #: inc/shortcode_docs.php:52 msgid "archive ->" msgstr "" #: inc/shortcode_docs.php:52 msgid "To make a archive or zip" msgstr "制作存档或压缩文件" #: inc/shortcode_docs.php:53 msgid "extract ->" msgstr "" #: inc/shortcode_docs.php:53 msgid "Extract archive or zipped file" msgstr "提取存档或压缩文件" #: inc/shortcode_docs.php:54 msgid "copy ->" msgstr "" #: inc/shortcode_docs.php:54 msgid "Copy files or folders" msgstr "复制文件或文件夹" #: inc/shortcode_docs.php:58 msgid "cut ->" msgstr "" #: inc/shortcode_docs.php:58 msgid "Simple cut a file or folder" msgstr "简单剪切文件或文件夹" #: inc/shortcode_docs.php:59 msgid "edit ->" msgstr "" #: inc/shortcode_docs.php:59 msgid "Edit a file" msgstr "编辑文件" #: inc/shortcode_docs.php:60 msgid "rm ->" msgstr "" #: inc/shortcode_docs.php:60 msgid "Remove or delete files and folders" msgstr "移除或删除文件和文件夹" #: inc/shortcode_docs.php:61 msgid "download ->" msgstr "" #: inc/shortcode_docs.php:61 msgid "Download files" msgstr "下载文件" #: inc/shortcode_docs.php:62 msgid "upload ->" msgstr "" #: inc/shortcode_docs.php:62 msgid "Upload files" msgstr "上传文件" #: inc/shortcode_docs.php:63 msgid "search -> " msgstr "" #: inc/shortcode_docs.php:63 msgid "Search things" msgstr "搜索东西" #: inc/shortcode_docs.php:64 msgid "info ->" msgstr "" #: inc/shortcode_docs.php:64 msgid "Info of file" msgstr "文件信息" #: inc/shortcode_docs.php:65 msgid "help ->" msgstr "" #: inc/shortcode_docs.php:65 msgid "Help" msgstr "帮助" #: inc/shortcode_docs.php:71 msgid "" "-> It will ban particular users by just putting their ids seprated by " "commas(,). If user is Ban then they will not able to access wp file manager " "on front end." msgstr "" "-> 它将通过将特定用户的 id 用逗号 (,) 分隔来禁止特定用户。如果用户是 Ban,那" "么他们将无法访问前端的 wp 文件管理器。" #: inc/shortcode_docs.php:72 msgid "-> Filemanager UI View. Default: grid" msgstr "-> 文件管理器 UI 视图。默认值:grid" #: inc/shortcode_docs.php:73 msgid "-> File Modified or Create date format. Default: d M, Y h:i A" msgstr "-> 文件修改或创建日期格式。默认值:d M, Y h:i A" #: inc/shortcode_docs.php:74 msgid "-> File manager Language. Default: English(en)" msgstr "-> 文件管理器语言。默认值: English(en)" #: inc/shortcode_docs.php:75 msgid "-> File Manager Theme. Default: Light" msgstr "-> 文件管理器主题。默认值:Light" #: inc/system_properties.php:5 msgid "File Manager - System Properties" msgstr "文件管理器 - 系统属性" #: inc/system_properties.php:10 msgid "PHP version" msgstr "PHP版本" #: inc/system_properties.php:15 msgid "Maximum file upload size (upload_max_filesize)" msgstr "最大文件上传大小 (upload_max_filesize)" #: inc/system_properties.php:20 msgid "Post maximum file upload size (post_max_size)" msgstr "发布最大文件上传大小 (post_max_size)" #: inc/system_properties.php:25 msgid "Memory Limit (memory_limit)" msgstr "内存限制 (memory_limit)" #: inc/system_properties.php:30 msgid "Timeout (max_execution_time)" msgstr "超时(max_execution_time)" #: inc/system_properties.php:35 msgid "Browser and OS (HTTP_USER_AGENT)" msgstr "浏览器和操作系统 (HTTP_USER_AGENT)" #: lib/jquery/jquery-ui-1.11.4.js:8 msgid "'" msgstr "" #: lib/wpfilemanager.php:31 msgid "Change Theme Here:" msgstr "在此处更改主题:" #: lib/wpfilemanager.php:35 msgid "Default" msgstr "默认" #: lib/wpfilemanager.php:39 msgid "Dark" msgstr "黑暗的" #: lib/wpfilemanager.php:43 msgid "Light" msgstr "光" #: lib/wpfilemanager.php:47 msgid "Gray" msgstr "灰色的" #: lib/wpfilemanager.php:52 msgid "Windows - 10" msgstr "" #: lib/wpfilemanager.php:85 msgid "Welcome to File Manager" msgstr "欢迎使用文件管理器" #: lib/wpfilemanager.php:88 msgid "" "We love making new friends! Subscribe below and we promise to\n" " keep you up-to-date with our latest new plugins, updates,\n" " awesome deals and a few special offers." msgstr "" "我们喜欢结交新朋友!在下面订阅,我们承诺\n" " 让您及时了解我们最新的插件、更新、\n" " 很棒的交易和一些特别优惠。" #: lib/wpfilemanager.php:99 msgid "Please Enter First Name." msgstr "请输入名字。" #: lib/wpfilemanager.php:107 msgid "Please Enter Last Name." msgstr "请输入姓氏。" #: lib/wpfilemanager.php:116 msgid "Please Enter Email Address." msgstr "请输入电子邮件地址。" #: lib/wpfilemanager.php:120 msgid "Verify" msgstr "核实" #: lib/wpfilemanager.php:126 msgid "No Thanks" msgstr "不,谢谢" #: lib/wpfilemanager.php:132 msgid "Terms of Service" msgstr "服务条款" #: lib/wpfilemanager.php:134 msgid "Privacy Policy" msgstr "隐私政策" #: lib/wpfilemanager.php:153 msgid "Saving..." msgstr "保存..." #: lib/wpfilemanager.php:155 msgid "OK" msgstr "好的" #~ msgid "Backup not found!" #~ msgstr "未找到备份!" #~ msgid "Backup removed successfully!" #~ msgstr "备份删除成功!" #~ msgid "Nothing selected for backup" #~ msgstr "没有选择备份" #~ msgid "Security Issue." #~ msgstr "安全问题。" #~ msgid "Database backup done." #~ msgstr "数据库备份完成。" #~ msgid "" #~ "Unable to create database backup." #~ msgstr "无法创建数据库备份。" #~ msgid "Plugins backup done." #~ msgstr "插件备份完成。" #~ msgid "Plugins backup failed." #~ msgstr "插件备份失败。" #~ msgid "Themes backup done." #~ msgstr "主题备份完成。" #~ msgid "Themes backup failed." #~ msgstr "主题备份失败。" #~ msgid "Uploads backup done." #~ msgstr "上传备份完成。" #~ msgid "Uploads backup failed." #~ msgstr "上传备份失败。" #~ msgid "Others backup done." #~ msgstr "其他备份完成。" #~ msgid "Others backup failed." #~ msgstr "其他备份失败。" #~ msgid "All Done" #~ msgstr "全部完成" #~ msgid "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgstr "" #~ "[wp_file_manager view=\"list\" lang=\"en\" theme=\"light\" " #~ "dateformat=\"d M, Y h:i A\" allowed_roles=\"editor,author\" access_folder=" #~ "\"wp-content/plugins\" write = \"true\" read = \"false\" hide_files = " #~ "\"kumar,abc.php\" lock_extensions=\".php,.css\" allowed_operations=" #~ "\"upload,download\" ban_user_ids=\"2,3\"]" #~ msgid "Manage your WP files." #~ msgstr "管理您的WP文件" #~ msgid "Extensions" #~ msgstr "扩展" #~ msgid "" #~ "Please contribute some donation, to make plugin more stable. You can pay " #~ "amount of your choice." #~ msgstr "请提供一些捐款,使插件更加稳定。你可以支付你选择的金额。" wp-file-manager/lib/codemirror/lib/codemirror.css000064400000020721151202472330016060 0ustar00/* BASICS */ .CodeMirror { /* Set height, width, borders, and global font properties here */ font-family: monospace; height: inherit; color: black; } /* PADDING */ .CodeMirror-lines { padding: 4px 0; /* Vertical padding around content */ } .CodeMirror pre { padding: 0 4px; /* Horizontal padding of content */ } .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { background-color: white; /* The little square between H and V scrollbars */ } /* GUTTER */ .CodeMirror-gutters { border-right: 1px solid #ddd; background-color: #f7f7f7; white-space: nowrap; } .CodeMirror-linenumbers {} .CodeMirror-linenumber { padding: 0 3px 0 5px; min-width: 20px; text-align: right; color: #999; white-space: nowrap; } .CodeMirror-guttermarker { color: black; } .CodeMirror-guttermarker-subtle { color: #999; } /* CURSOR */ .CodeMirror-cursor { border-left: 1px solid black; border-right: none; width: 0; } /* Shown when moving in bi-directional text */ .CodeMirror div.CodeMirror-secondarycursor { border-left: 1px solid silver; } .cm-fat-cursor .CodeMirror-cursor { width: auto; border: 0 !important; background: #7e7; } .cm-fat-cursor div.CodeMirror-cursors { z-index: 1; } .cm-animate-fat-cursor { width: auto; border: 0; -webkit-animation: blink 1.06s steps(1) infinite; -moz-animation: blink 1.06s steps(1) infinite; animation: blink 1.06s steps(1) infinite; background-color: #7e7; } @-moz-keyframes blink { 0% {} 50% { background-color: transparent; } 100% {} } @-webkit-keyframes blink { 0% {} 50% { background-color: transparent; } 100% {} } @keyframes blink { 0% {} 50% { background-color: transparent; } 100% {} } /* Can style cursor different in overwrite (non-insert) mode */ .CodeMirror-overwrite .CodeMirror-cursor {} .cm-tab { display: inline-block; text-decoration: inherit; } .CodeMirror-rulers { position: absolute; left: 0; right: 0; top: -50px; bottom: -20px; overflow: hidden; } .CodeMirror-ruler { border-left: 1px solid #ccc; top: 0; bottom: 0; position: absolute; } /* DEFAULT THEME */ .cm-s-default .cm-header {color: blue;} .cm-s-default .cm-quote {color: #090;} .cm-negative {color: #d44;} .cm-positive {color: #292;} .cm-header, .cm-strong {font-weight: bold;} .cm-em {font-style: italic;} .cm-link {text-decoration: underline;} .cm-strikethrough {text-decoration: line-through;} .cm-s-default .cm-keyword {color: #708;} .cm-s-default .cm-atom {color: #219;} .cm-s-default .cm-number {color: #164;} .cm-s-default .cm-def {color: #00f;} .cm-s-default .cm-variable, .cm-s-default .cm-punctuation, .cm-s-default .cm-property, .cm-s-default .cm-operator {} .cm-s-default .cm-variable-2 {color: #05a;} .cm-s-default .cm-variable-3 {color: #085;} .cm-s-default .cm-comment {color: #a50;} .cm-s-default .cm-string {color: #a11;} .cm-s-default .cm-string-2 {color: #f50;} .cm-s-default .cm-meta {color: #555;} .cm-s-default .cm-qualifier {color: #555;} .cm-s-default .cm-builtin {color: #30a;} .cm-s-default .cm-bracket {color: #997;} .cm-s-default .cm-tag {color: #170;} .cm-s-default .cm-attribute {color: #00c;} .cm-s-default .cm-hr {color: #999;} .cm-s-default .cm-link {color: #00c;} .cm-s-default .cm-error {color: #f00;} .cm-invalidchar {color: #f00;} .CodeMirror-composing { border-bottom: 2px solid; } /* Default styles for common addons */ div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} .CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } .CodeMirror-activeline-background {background: #e8f2ff;} /* STOP */ /* The rest of this file contains styles related to the mechanics of the editor. You probably shouldn't touch them. */ .CodeMirror { position: relative; overflow: hidden; background: white; } .CodeMirror-scroll { overflow: scroll !important; /* Things will break if this is overridden */ /* 30px is the magic margin used to hide the element's real scrollbars */ /* See overflow: hidden in .CodeMirror */ margin-bottom: -30px; margin-right: -30px; padding-bottom: 30px; height: 100%; outline: none; /* Prevent dragging from highlighting the element */ position: relative; } .CodeMirror-sizer { position: relative; border-right: 30px solid transparent; } /* The fake, visible scrollbars. Used to force redraw during scrolling before actual scrolling happens, thus preventing shaking and flickering artifacts. */ .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { position: absolute; z-index: 6; display: none; } .CodeMirror-vscrollbar { right: 0; top: 0; overflow-x: hidden; overflow-y: scroll; } .CodeMirror-hscrollbar { bottom: 0; left: 0; overflow-y: hidden; overflow-x: scroll; } .CodeMirror-scrollbar-filler { right: 0; bottom: 0; } .CodeMirror-gutter-filler { left: 0; bottom: 0; } .CodeMirror-gutters { position: absolute; left: 0; top: 0; min-height: 100%; z-index: 3; } .CodeMirror-gutter { white-space: normal; height: 100%; display: inline-block; vertical-align: top; margin-bottom: -30px; /* Hack to make IE7 behave */ *zoom:1; *display:inline; } .CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: none !important; border: none !important; } .CodeMirror-gutter-background { position: absolute; top: 0; bottom: 0; z-index: 4; } .CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; } .CodeMirror-gutter-wrapper { -webkit-user-select: none; -moz-user-select: none; user-select: none; } .CodeMirror-lines { cursor: text; min-height: 1px; /* prevents collapsing before first draw */ } .CodeMirror pre { /* Reset some styles that the rest of the page might have set */ -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; border-width: 0; background: transparent; font-family: inherit; font-size: inherit; margin: 0; white-space: pre; word-wrap: normal; line-height: inherit; color: inherit; z-index: 2; position: relative; overflow: visible; -webkit-tap-highlight-color: transparent; -webkit-font-variant-ligatures: none; font-variant-ligatures: none; } .CodeMirror-wrap pre { word-wrap: break-word; white-space: pre-wrap; word-break: normal; } .CodeMirror-linebackground { position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 0; } .CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; } .CodeMirror-widget {} .CodeMirror-code { outline: none; } /* Force content-box sizing for the elements where we expect it */ .CodeMirror-scroll, .CodeMirror-sizer, .CodeMirror-gutter, .CodeMirror-gutters, .CodeMirror-linenumber { -moz-box-sizing: content-box; box-sizing: content-box; } .CodeMirror-measure { position: absolute; width: 100%; height: 0; overflow: hidden; visibility: hidden; } .CodeMirror-cursor { position: absolute; pointer-events: none; } .CodeMirror-measure pre { position: static; } div.CodeMirror-cursors { visibility: hidden; position: relative; z-index: 3; } div.CodeMirror-dragcursors { visibility: visible; } .CodeMirror-focused div.CodeMirror-cursors { visibility: visible; } .CodeMirror-selected { background: #d9d9d9; } .CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } .CodeMirror-crosshair { cursor: crosshair; } .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } .cm-searching { background: #ffa; background: rgba(255, 255, 0, .4); } /* IE7 hack to prevent it from returning funny offsetTops on the spans */ .CodeMirror span { *vertical-align: text-bottom; } /* Used to force a border model for a node */ .cm-force-border { padding-right: .1px; } @media print { /* Hide the cursor when printing */ .CodeMirror div.CodeMirror-cursors { visibility: hidden; } } /* See issue #2901 */ .cm-tab-wrap-hack:after { content: ''; } /* Help users use markselection to safely style text background */ span.CodeMirror-selectedtext { background: none; } wp-file-manager/lib/codemirror/lib/codemirror.js000064400001312712151202472330015711 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // This is CodeMirror (http://codemirror.net), a code editor // implemented in JavaScript on top of the browser's DOM. // // You can find some technical background for some of the code below // at http://marijnhaverbeke.nl/blog/#cm-internals . (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS module.exports = mod(); else if (typeof define == "function" && define.amd) // AMD return define([], mod); else // Plain browser env (this || window).CodeMirror = mod(); })(function() { "use strict"; // BROWSER SNIFFING // Kludges for bugs and behavior differences that can't be feature // detected are enabled based on userAgent etc sniffing. var userAgent = navigator.userAgent; var platform = navigator.platform; var gecko = /gecko\/\d/i.test(userAgent); var ie_upto10 = /MSIE \d/.test(userAgent); var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(userAgent); var ie = ie_upto10 || ie_11up; var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : ie_11up[1]); var webkit = /WebKit\//.test(userAgent); var qtwebkit = webkit && /Qt\/\d+\.\d+/.test(userAgent); var chrome = /Chrome\//.test(userAgent); var presto = /Opera\//.test(userAgent); var safari = /Apple Computer/.test(navigator.vendor); var mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(userAgent); var phantom = /PhantomJS/.test(userAgent); var ios = /AppleWebKit/.test(userAgent) && /Mobile\/\w+/.test(userAgent); // This is woefully incomplete. Suggestions for alternative methods welcome. var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent); var mac = ios || /Mac/.test(platform); var chromeOS = /\bCrOS\b/.test(userAgent); var windows = /win/i.test(platform); var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/); if (presto_version) presto_version = Number(presto_version[1]); if (presto_version && presto_version >= 15) { presto = false; webkit = true; } // Some browsers use the wrong event properties to signal cmd/ctrl on OS X var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11)); var captureRightClick = gecko || (ie && ie_version >= 9); // Optimize some code when these features are not used. var sawReadOnlySpans = false, sawCollapsedSpans = false; // EDITOR CONSTRUCTOR // A CodeMirror instance represents an editor. This is the object // that user code is usually dealing with. function CodeMirror(place, options) { if (!(this instanceof CodeMirror)) return new CodeMirror(place, options); this.options = options = options ? copyObj(options) : {}; // Determine effective options based on given values and defaults. copyObj(defaults, options, false); setGuttersForLineNumbers(options); var doc = options.value; if (typeof doc == "string") doc = new Doc(doc, options.mode, null, options.lineSeparator); this.doc = doc; var input = new CodeMirror.inputStyles[options.inputStyle](this); var display = this.display = new Display(place, doc, input); display.wrapper.CodeMirror = this; updateGutters(this); themeChanged(this); if (options.lineWrapping) this.display.wrapper.className += " CodeMirror-wrap"; if (options.autofocus && !mobile) display.input.focus(); initScrollbars(this); this.state = { keyMaps: [], // stores maps added by addKeyMap overlays: [], // highlighting overlays, as added by addOverlay modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info overwrite: false, delayingBlurEvent: false, focused: false, suppressEdits: false, // used to disable editing during key handlers when in readOnly mode pasteIncoming: false, cutIncoming: false, // help recognize paste/cut edits in input.poll selectingText: false, draggingText: false, highlight: new Delayed(), // stores highlight worker timeout keySeq: null, // Unfinished key sequence specialChars: null }; var cm = this; // Override magic textarea content restore that IE sometimes does // on our hidden textarea on reload if (ie && ie_version < 11) setTimeout(function() { cm.display.input.reset(true); }, 20); registerEventHandlers(this); ensureGlobalHandlers(); startOperation(this); this.curOp.forceUpdate = true; attachDoc(this, doc); if ((options.autofocus && !mobile) || cm.hasFocus()) setTimeout(bind(onFocus, this), 20); else onBlur(this); for (var opt in optionHandlers) if (optionHandlers.hasOwnProperty(opt)) optionHandlers[opt](this, options[opt], Init); maybeUpdateLineNumberWidth(this); if (options.finishInit) options.finishInit(this); for (var i = 0; i < initHooks.length; ++i) initHooks[i](this); endOperation(this); // Suppress optimizelegibility in Webkit, since it breaks text // measuring on line wrapping boundaries. if (webkit && options.lineWrapping && getComputedStyle(display.lineDiv).textRendering == "optimizelegibility") display.lineDiv.style.textRendering = "auto"; } // DISPLAY CONSTRUCTOR // The display handles the DOM integration, both for input reading // and content drawing. It holds references to DOM nodes and // display-related state. function Display(place, doc, input) { var d = this; this.input = input; // Covers bottom-right square when both scrollbars are present. d.scrollbarFiller = elt("div", null, "CodeMirror-scrollbar-filler"); d.scrollbarFiller.setAttribute("cm-not-content", "true"); // Covers bottom of gutter when coverGutterNextToScrollbar is on // and h scrollbar is present. d.gutterFiller = elt("div", null, "CodeMirror-gutter-filler"); d.gutterFiller.setAttribute("cm-not-content", "true"); // Will contain the actual code, positioned to cover the viewport. d.lineDiv = elt("div", null, "CodeMirror-code"); // Elements are added to these to represent selection and cursors. d.selectionDiv = elt("div", null, null, "position: relative; z-index: 1"); d.cursorDiv = elt("div", null, "CodeMirror-cursors"); // A visibility: hidden element used to find the size of things. d.measure = elt("div", null, "CodeMirror-measure"); // When lines outside of the viewport are measured, they are drawn in this. d.lineMeasure = elt("div", null, "CodeMirror-measure"); // Wraps everything that needs to exist inside the vertically-padded coordinate system d.lineSpace = elt("div", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv], null, "position: relative; outline: none"); // Moved around its parent to cover visible view. d.mover = elt("div", [elt("div", [d.lineSpace], "CodeMirror-lines")], null, "position: relative"); // Set to the height of the document, allowing scrolling. d.sizer = elt("div", [d.mover], "CodeMirror-sizer"); d.sizerWidth = null; // Behavior of elts with overflow: auto and padding is // inconsistent across browsers. This is used to ensure the // scrollable area is big enough. d.heightForcer = elt("div", null, null, "position: absolute; height: " + scrollerGap + "px; width: 1px;"); // Will contain the gutters, if any. d.gutters = elt("div", null, "CodeMirror-gutters"); d.lineGutter = null; // Actual scrollable element. d.scroller = elt("div", [d.sizer, d.heightForcer, d.gutters], "CodeMirror-scroll"); d.scroller.setAttribute("tabIndex", "-1"); // The element in which the editor lives. d.wrapper = elt("div", [d.scrollbarFiller, d.gutterFiller, d.scroller], "CodeMirror"); // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported) if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; } if (!webkit && !(gecko && mobile)) d.scroller.draggable = true; if (place) { if (place.appendChild) place.appendChild(d.wrapper); else place(d.wrapper); } // Current rendered range (may be bigger than the view window). d.viewFrom = d.viewTo = doc.first; d.reportedViewFrom = d.reportedViewTo = doc.first; // Information about the rendered lines. d.view = []; d.renderedView = null; // Holds info about a single rendered line when it was rendered // for measurement, while not in view. d.externalMeasured = null; // Empty space (in pixels) above the view d.viewOffset = 0; d.lastWrapHeight = d.lastWrapWidth = 0; d.updateLineNumbers = null; d.nativeBarWidth = d.barHeight = d.barWidth = 0; d.scrollbarsClipped = false; // Used to only resize the line number gutter when necessary (when // the amount of lines crosses a boundary that makes its width change) d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null; // Set to true when a non-horizontal-scrolling line widget is // added. As an optimization, line widget aligning is skipped when // this is false. d.alignWidgets = false; d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; // Tracks the maximum line length so that the horizontal scrollbar // can be kept static when scrolling. d.maxLine = null; d.maxLineLength = 0; d.maxLineChanged = false; // Used for measuring wheel scrolling granularity d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null; // True when shift is held down. d.shift = false; // Used to track whether anything happened since the context menu // was opened. d.selForContextMenu = null; d.activeTouch = null; input.init(d); } // STATE UPDATES // Used to get the editor into a consistent state again when options change. function loadMode(cm) { cm.doc.mode = CodeMirror.getMode(cm.options, cm.doc.modeOption); resetModeState(cm); } function resetModeState(cm) { cm.doc.iter(function(line) { if (line.stateAfter) line.stateAfter = null; if (line.styles) line.styles = null; }); cm.doc.frontier = cm.doc.first; startWorker(cm, 100); cm.state.modeGen++; if (cm.curOp) regChange(cm); } function wrappingChanged(cm) { if (cm.options.lineWrapping) { addClass(cm.display.wrapper, "CodeMirror-wrap"); cm.display.sizer.style.minWidth = ""; cm.display.sizerWidth = null; } else { rmClass(cm.display.wrapper, "CodeMirror-wrap"); findMaxLine(cm); } estimateLineHeights(cm); regChange(cm); clearCaches(cm); setTimeout(function(){updateScrollbars(cm);}, 100); } // Returns a function that estimates the height of a line, to use as // first approximation until the line becomes visible (and is thus // properly measurable). function estimateHeight(cm) { var th = textHeight(cm.display), wrapping = cm.options.lineWrapping; var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3); return function(line) { if (lineIsHidden(cm.doc, line)) return 0; var widgetsHeight = 0; if (line.widgets) for (var i = 0; i < line.widgets.length; i++) { if (line.widgets[i].height) widgetsHeight += line.widgets[i].height; } if (wrapping) return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th; else return widgetsHeight + th; }; } function estimateLineHeights(cm) { var doc = cm.doc, est = estimateHeight(cm); doc.iter(function(line) { var estHeight = est(line); if (estHeight != line.height) updateLineHeight(line, estHeight); }); } function themeChanged(cm) { cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-"); clearCaches(cm); } function guttersChanged(cm) { updateGutters(cm); regChange(cm); setTimeout(function(){alignHorizontally(cm);}, 20); } // Rebuild the gutter elements, ensure the margin to the left of the // code matches their width. function updateGutters(cm) { var gutters = cm.display.gutters, specs = cm.options.gutters; removeChildren(gutters); for (var i = 0; i < specs.length; ++i) { var gutterClass = specs[i]; var gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + gutterClass)); if (gutterClass == "CodeMirror-linenumbers") { cm.display.lineGutter = gElt; gElt.style.width = (cm.display.lineNumWidth || 1) + "px"; } } gutters.style.display = i ? "" : "none"; updateGutterSpace(cm); } function updateGutterSpace(cm) { var width = cm.display.gutters.offsetWidth; cm.display.sizer.style.marginLeft = width + "px"; } // Compute the character length of a line, taking into account // collapsed ranges (see markText) that might hide parts, and join // other lines onto it. function lineLength(line) { if (line.height == 0) return 0; var len = line.text.length, merged, cur = line; while (merged = collapsedSpanAtStart(cur)) { var found = merged.find(0, true); cur = found.from.line; len += found.from.ch - found.to.ch; } cur = line; while (merged = collapsedSpanAtEnd(cur)) { var found = merged.find(0, true); len -= cur.text.length - found.from.ch; cur = found.to.line; len += cur.text.length - found.to.ch; } return len; } // Find the longest line in the document. function findMaxLine(cm) { var d = cm.display, doc = cm.doc; d.maxLine = getLine(doc, doc.first); d.maxLineLength = lineLength(d.maxLine); d.maxLineChanged = true; doc.iter(function(line) { var len = lineLength(line); if (len > d.maxLineLength) { d.maxLineLength = len; d.maxLine = line; } }); } // Make sure the gutters options contains the element // "CodeMirror-linenumbers" when the lineNumbers option is true. function setGuttersForLineNumbers(options) { var found = indexOf(options.gutters, "CodeMirror-linenumbers"); if (found == -1 && options.lineNumbers) { options.gutters = options.gutters.concat(["CodeMirror-linenumbers"]); } else if (found > -1 && !options.lineNumbers) { options.gutters = options.gutters.slice(0); options.gutters.splice(found, 1); } } // SCROLLBARS // Prepare DOM reads needed to update the scrollbars. Done in one // shot to minimize update/measure roundtrips. function measureForScrollbars(cm) { var d = cm.display, gutterW = d.gutters.offsetWidth; var docH = Math.round(cm.doc.height + paddingVert(cm.display)); return { clientHeight: d.scroller.clientHeight, viewHeight: d.wrapper.clientHeight, scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth, viewWidth: d.wrapper.clientWidth, barLeft: cm.options.fixedGutter ? gutterW : 0, docHeight: docH, scrollHeight: docH + scrollGap(cm) + d.barHeight, nativeBarWidth: d.nativeBarWidth, gutterWidth: gutterW }; } function NativeScrollbars(place, scroll, cm) { this.cm = cm; var vert = this.vert = elt("div", [elt("div", null, null, "min-width: 1px")], "CodeMirror-vscrollbar"); var horiz = this.horiz = elt("div", [elt("div", null, null, "height: 100%; min-height: 1px")], "CodeMirror-hscrollbar"); place(vert); place(horiz); on(vert, "scroll", function() { if (vert.clientHeight) scroll(vert.scrollTop, "vertical"); }); on(horiz, "scroll", function() { if (horiz.clientWidth) scroll(horiz.scrollLeft, "horizontal"); }); this.checkedZeroWidth = false; // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8). if (ie && ie_version < 8) this.horiz.style.minHeight = this.vert.style.minWidth = "18px"; } NativeScrollbars.prototype = copyObj({ update: function(measure) { var needsH = measure.scrollWidth > measure.clientWidth + 1; var needsV = measure.scrollHeight > measure.clientHeight + 1; var sWidth = measure.nativeBarWidth; if (needsV) { this.vert.style.display = "block"; this.vert.style.bottom = needsH ? sWidth + "px" : "0"; var totalHeight = measure.viewHeight - (needsH ? sWidth : 0); // A bug in IE8 can cause this value to be negative, so guard it. this.vert.firstChild.style.height = Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + "px"; } else { this.vert.style.display = ""; this.vert.firstChild.style.height = "0"; } if (needsH) { this.horiz.style.display = "block"; this.horiz.style.right = needsV ? sWidth + "px" : "0"; this.horiz.style.left = measure.barLeft + "px"; var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0); this.horiz.firstChild.style.width = (measure.scrollWidth - measure.clientWidth + totalWidth) + "px"; } else { this.horiz.style.display = ""; this.horiz.firstChild.style.width = "0"; } if (!this.checkedZeroWidth && measure.clientHeight > 0) { if (sWidth == 0) this.zeroWidthHack(); this.checkedZeroWidth = true; } return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0}; }, setScrollLeft: function(pos) { if (this.horiz.scrollLeft != pos) this.horiz.scrollLeft = pos; if (this.disableHoriz) this.enableZeroWidthBar(this.horiz, this.disableHoriz); }, setScrollTop: function(pos) { if (this.vert.scrollTop != pos) this.vert.scrollTop = pos; if (this.disableVert) this.enableZeroWidthBar(this.vert, this.disableVert); }, zeroWidthHack: function() { var w = mac && !mac_geMountainLion ? "12px" : "18px"; this.horiz.style.height = this.vert.style.width = w; this.horiz.style.pointerEvents = this.vert.style.pointerEvents = "none"; this.disableHoriz = new Delayed; this.disableVert = new Delayed; }, enableZeroWidthBar: function(bar, delay) { bar.style.pointerEvents = "auto"; function maybeDisable() { // To find out whether the scrollbar is still visible, we // check whether the element under the pixel in the bottom // left corner of the scrollbar box is the scrollbar box // itself (when the bar is still visible) or its filler child // (when the bar is hidden). If it is still visible, we keep // it enabled, if it's hidden, we disable pointer events. var box = bar.getBoundingClientRect(); var elt = document.elementFromPoint(box.left + 1, box.bottom - 1); if (elt != bar) bar.style.pointerEvents = "none"; else delay.set(1000, maybeDisable); } delay.set(1000, maybeDisable); }, clear: function() { var parent = this.horiz.parentNode; parent.removeChild(this.horiz); parent.removeChild(this.vert); } }, NativeScrollbars.prototype); function NullScrollbars() {} NullScrollbars.prototype = copyObj({ update: function() { return {bottom: 0, right: 0}; }, setScrollLeft: function() {}, setScrollTop: function() {}, clear: function() {} }, NullScrollbars.prototype); CodeMirror.scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars}; function initScrollbars(cm) { if (cm.display.scrollbars) { cm.display.scrollbars.clear(); if (cm.display.scrollbars.addClass) rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); } cm.display.scrollbars = new CodeMirror.scrollbarModel[cm.options.scrollbarStyle](function(node) { cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller); // Prevent clicks in the scrollbars from killing focus on(node, "mousedown", function() { if (cm.state.focused) setTimeout(function() { cm.display.input.focus(); }, 0); }); node.setAttribute("cm-not-content", "true"); }, function(pos, axis) { if (axis == "horizontal") setScrollLeft(cm, pos); else setScrollTop(cm, pos); }, cm); if (cm.display.scrollbars.addClass) addClass(cm.display.wrapper, cm.display.scrollbars.addClass); } function updateScrollbars(cm, measure) { if (!measure) measure = measureForScrollbars(cm); var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight; updateScrollbarsInner(cm, measure); for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) { if (startWidth != cm.display.barWidth && cm.options.lineWrapping) updateHeightsInViewport(cm); updateScrollbarsInner(cm, measureForScrollbars(cm)); startWidth = cm.display.barWidth; startHeight = cm.display.barHeight; } } // Re-synchronize the fake scrollbars with the actual size of the // content. function updateScrollbarsInner(cm, measure) { var d = cm.display; var sizes = d.scrollbars.update(measure); d.sizer.style.paddingRight = (d.barWidth = sizes.right) + "px"; d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + "px"; d.heightForcer.style.borderBottom = sizes.bottom + "px solid transparent" if (sizes.right && sizes.bottom) { d.scrollbarFiller.style.display = "block"; d.scrollbarFiller.style.height = sizes.bottom + "px"; d.scrollbarFiller.style.width = sizes.right + "px"; } else d.scrollbarFiller.style.display = ""; if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) { d.gutterFiller.style.display = "block"; d.gutterFiller.style.height = sizes.bottom + "px"; d.gutterFiller.style.width = measure.gutterWidth + "px"; } else d.gutterFiller.style.display = ""; } // Compute the lines that are visible in a given viewport (defaults // the the current scroll position). viewport may contain top, // height, and ensure (see op.scrollToPos) properties. function visibleLines(display, doc, viewport) { var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop; top = Math.floor(top - paddingTop(display)); var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight; var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom); // Ensure is a {from: {line, ch}, to: {line, ch}} object, and // forces those lines into the viewport (if possible). if (viewport && viewport.ensure) { var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line; if (ensureFrom < from) { from = ensureFrom; to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight); } else if (Math.min(ensureTo, doc.lastLine()) >= to) { from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight); to = ensureTo; } } return {from: from, to: Math.max(to, from + 1)}; } // LINE NUMBERS // Re-align line numbers and gutter marks to compensate for // horizontal scrolling. function alignHorizontally(cm) { var display = cm.display, view = display.view; if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) return; var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft; var gutterW = display.gutters.offsetWidth, left = comp + "px"; for (var i = 0; i < view.length; i++) if (!view[i].hidden) { if (cm.options.fixedGutter) { if (view[i].gutter) view[i].gutter.style.left = left; if (view[i].gutterBackground) view[i].gutterBackground.style.left = left; } var align = view[i].alignable; if (align) for (var j = 0; j < align.length; j++) align[j].style.left = left; } if (cm.options.fixedGutter) display.gutters.style.left = (comp + gutterW) + "px"; } // Used to ensure that the line number gutter is still the right // size for the current document size. Returns true when an update // is needed. function maybeUpdateLineNumberWidth(cm) { if (!cm.options.lineNumbers) return false; var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display; if (last.length != display.lineNumChars) { var test = display.measure.appendChild(elt("div", [elt("div", last)], "CodeMirror-linenumber CodeMirror-gutter-elt")); var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW; display.lineGutter.style.width = ""; display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1; display.lineNumWidth = display.lineNumInnerWidth + padding; display.lineNumChars = display.lineNumInnerWidth ? last.length : -1; display.lineGutter.style.width = display.lineNumWidth + "px"; updateGutterSpace(cm); return true; } return false; } function lineNumberFor(options, i) { return String(options.lineNumberFormatter(i + options.firstLineNumber)); } // Computes display.scroller.scrollLeft + display.gutters.offsetWidth, // but using getBoundingClientRect to get a sub-pixel-accurate // result. function compensateForHScroll(display) { return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left; } // DISPLAY DRAWING function DisplayUpdate(cm, viewport, force) { var display = cm.display; this.viewport = viewport; // Store some values that we'll need later (but don't want to force a relayout for) this.visible = visibleLines(display, cm.doc, viewport); this.editorIsHidden = !display.wrapper.offsetWidth; this.wrapperHeight = display.wrapper.clientHeight; this.wrapperWidth = display.wrapper.clientWidth; this.oldDisplayWidth = displayWidth(cm); this.force = force; this.dims = getDimensions(cm); this.events = []; } DisplayUpdate.prototype.signal = function(emitter, type) { if (hasHandler(emitter, type)) this.events.push(arguments); }; DisplayUpdate.prototype.finish = function() { for (var i = 0; i < this.events.length; i++) signal.apply(null, this.events[i]); }; function maybeClipScrollbars(cm) { var display = cm.display; if (!display.scrollbarsClipped && display.scroller.offsetWidth) { display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth; display.heightForcer.style.height = scrollGap(cm) + "px"; display.sizer.style.marginBottom = -display.nativeBarWidth + "px"; display.sizer.style.borderRightWidth = scrollGap(cm) + "px"; display.scrollbarsClipped = true; } } // Does the actual updating of the line display. Bails out // (returning false) when there is nothing to be done and forced is // false. function updateDisplayIfNeeded(cm, update) { var display = cm.display, doc = cm.doc; if (update.editorIsHidden) { resetView(cm); return false; } // Bail out if the visible area is already rendered and nothing changed. if (!update.force && update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo && (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) && display.renderedView == display.view && countDirtyView(cm) == 0) return false; if (maybeUpdateLineNumberWidth(cm)) { resetView(cm); update.dims = getDimensions(cm); } // Compute a suitable new viewport (from & to) var end = doc.first + doc.size; var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first); var to = Math.min(end, update.visible.to + cm.options.viewportMargin); if (display.viewFrom < from && from - display.viewFrom < 20) from = Math.max(doc.first, display.viewFrom); if (display.viewTo > to && display.viewTo - to < 20) to = Math.min(end, display.viewTo); if (sawCollapsedSpans) { from = visualLineNo(cm.doc, from); to = visualLineEndNo(cm.doc, to); } var different = from != display.viewFrom || to != display.viewTo || display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth; adjustView(cm, from, to); display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom)); // Position the mover div to align with the current scroll position cm.display.mover.style.top = display.viewOffset + "px"; var toUpdate = countDirtyView(cm); if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view && (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo)) return false; // For big changes, we hide the enclosing element during the // update, since that speeds up the operations on most browsers. var focused = activeElt(); if (toUpdate > 4) display.lineDiv.style.display = "none"; patchDisplay(cm, display.updateLineNumbers, update.dims); if (toUpdate > 4) display.lineDiv.style.display = ""; display.renderedView = display.view; // There might have been a widget with a focused element that got // hidden or updated, if so re-focus it. if (focused && activeElt() != focused && focused.offsetHeight) focused.focus(); // Prevent selection and cursors from interfering with the scroll // width and height. removeChildren(display.cursorDiv); removeChildren(display.selectionDiv); display.gutters.style.height = display.sizer.style.minHeight = 0; if (different) { display.lastWrapHeight = update.wrapperHeight; display.lastWrapWidth = update.wrapperWidth; startWorker(cm, 400); } display.updateLineNumbers = null; return true; } function postUpdateDisplay(cm, update) { var viewport = update.viewport; for (var first = true;; first = false) { if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) { // Clip forced viewport to actual scrollable area. if (viewport && viewport.top != null) viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; // Updated line heights might result in the drawn area not // actually covering the viewport. Keep looping until it does. update.visible = visibleLines(cm.display, cm.doc, viewport); if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo) break; } if (!updateDisplayIfNeeded(cm, update)) break; updateHeightsInViewport(cm); var barMeasure = measureForScrollbars(cm); updateSelection(cm); updateScrollbars(cm, barMeasure); setDocumentHeight(cm, barMeasure); } update.signal(cm, "update", cm); if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) { update.signal(cm, "viewportChange", cm, cm.display.viewFrom, cm.display.viewTo); cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo; } } function updateDisplaySimple(cm, viewport) { var update = new DisplayUpdate(cm, viewport); if (updateDisplayIfNeeded(cm, update)) { updateHeightsInViewport(cm); postUpdateDisplay(cm, update); var barMeasure = measureForScrollbars(cm); updateSelection(cm); updateScrollbars(cm, barMeasure); setDocumentHeight(cm, barMeasure); update.finish(); } } function setDocumentHeight(cm, measure) { cm.display.sizer.style.minHeight = measure.docHeight + "px"; cm.display.heightForcer.style.top = measure.docHeight + "px"; cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + "px"; } // Read the actual heights of the rendered lines, and update their // stored heights to match. function updateHeightsInViewport(cm) { var display = cm.display; var prevBottom = display.lineDiv.offsetTop; for (var i = 0; i < display.view.length; i++) { var cur = display.view[i], height; if (cur.hidden) continue; if (ie && ie_version < 8) { var bot = cur.node.offsetTop + cur.node.offsetHeight; height = bot - prevBottom; prevBottom = bot; } else { var box = cur.node.getBoundingClientRect(); height = box.bottom - box.top; } var diff = cur.line.height - height; if (height < 2) height = textHeight(display); if (diff > .001 || diff < -.001) { updateLineHeight(cur.line, height); updateWidgetHeight(cur.line); if (cur.rest) for (var j = 0; j < cur.rest.length; j++) updateWidgetHeight(cur.rest[j]); } } } // Read and store the height of line widgets associated with the // given line. function updateWidgetHeight(line) { if (line.widgets) for (var i = 0; i < line.widgets.length; ++i) line.widgets[i].height = line.widgets[i].node.parentNode.offsetHeight; } // Do a bulk-read of the DOM positions and sizes needed to draw the // view, so that we don't interleave reading and writing to the DOM. function getDimensions(cm) { var d = cm.display, left = {}, width = {}; var gutterLeft = d.gutters.clientLeft; for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) { left[cm.options.gutters[i]] = n.offsetLeft + n.clientLeft + gutterLeft; width[cm.options.gutters[i]] = n.clientWidth; } return {fixedPos: compensateForHScroll(d), gutterTotalWidth: d.gutters.offsetWidth, gutterLeft: left, gutterWidth: width, wrapperWidth: d.wrapper.clientWidth}; } // Sync the actual display DOM structure with display.view, removing // nodes for lines that are no longer in view, and creating the ones // that are not there yet, and updating the ones that are out of // date. function patchDisplay(cm, updateNumbersFrom, dims) { var display = cm.display, lineNumbers = cm.options.lineNumbers; var container = display.lineDiv, cur = container.firstChild; function rm(node) { var next = node.nextSibling; // Works around a throw-scroll bug in OS X Webkit if (webkit && mac && cm.display.currentWheelTarget == node) node.style.display = "none"; else node.parentNode.removeChild(node); return next; } var view = display.view, lineN = display.viewFrom; // Loop over the elements in the view, syncing cur (the DOM nodes // in display.lineDiv) with the view as we go. for (var i = 0; i < view.length; i++) { var lineView = view[i]; if (lineView.hidden) { } else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet var node = buildLineElement(cm, lineView, lineN, dims); container.insertBefore(node, cur); } else { // Already drawn while (cur != lineView.node) cur = rm(cur); var updateNumber = lineNumbers && updateNumbersFrom != null && updateNumbersFrom <= lineN && lineView.lineNumber; if (lineView.changes) { if (indexOf(lineView.changes, "gutter") > -1) updateNumber = false; updateLineForChanges(cm, lineView, lineN, dims); } if (updateNumber) { removeChildren(lineView.lineNumber); lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN))); } cur = lineView.node.nextSibling; } lineN += lineView.size; } while (cur) cur = rm(cur); } // When an aspect of a line changes, a string is added to // lineView.changes. This updates the relevant part of the line's // DOM structure. function updateLineForChanges(cm, lineView, lineN, dims) { for (var j = 0; j < lineView.changes.length; j++) { var type = lineView.changes[j]; if (type == "text") updateLineText(cm, lineView); else if (type == "gutter") updateLineGutter(cm, lineView, lineN, dims); else if (type == "class") updateLineClasses(lineView); else if (type == "widget") updateLineWidgets(cm, lineView, dims); } lineView.changes = null; } // Lines with gutter elements, widgets or a background class need to // be wrapped, and have the extra elements added to the wrapper div function ensureLineWrapped(lineView) { if (lineView.node == lineView.text) { lineView.node = elt("div", null, null, "position: relative"); if (lineView.text.parentNode) lineView.text.parentNode.replaceChild(lineView.node, lineView.text); lineView.node.appendChild(lineView.text); if (ie && ie_version < 8) lineView.node.style.zIndex = 2; } return lineView.node; } function updateLineBackground(lineView) { var cls = lineView.bgClass ? lineView.bgClass + " " + (lineView.line.bgClass || "") : lineView.line.bgClass; if (cls) cls += " CodeMirror-linebackground"; if (lineView.background) { if (cls) lineView.background.className = cls; else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; } } else if (cls) { var wrap = ensureLineWrapped(lineView); lineView.background = wrap.insertBefore(elt("div", null, cls), wrap.firstChild); } } // Wrapper around buildLineContent which will reuse the structure // in display.externalMeasured when possible. function getLineContent(cm, lineView) { var ext = cm.display.externalMeasured; if (ext && ext.line == lineView.line) { cm.display.externalMeasured = null; lineView.measure = ext.measure; return ext.built; } return buildLineContent(cm, lineView); } // Redraw the line's text. Interacts with the background and text // classes because the mode may output tokens that influence these // classes. function updateLineText(cm, lineView) { var cls = lineView.text.className; var built = getLineContent(cm, lineView); if (lineView.text == lineView.node) lineView.node = built.pre; lineView.text.parentNode.replaceChild(built.pre, lineView.text); lineView.text = built.pre; if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) { lineView.bgClass = built.bgClass; lineView.textClass = built.textClass; updateLineClasses(lineView); } else if (cls) { lineView.text.className = cls; } } function updateLineClasses(lineView) { updateLineBackground(lineView); if (lineView.line.wrapClass) ensureLineWrapped(lineView).className = lineView.line.wrapClass; else if (lineView.node != lineView.text) lineView.node.className = ""; var textClass = lineView.textClass ? lineView.textClass + " " + (lineView.line.textClass || "") : lineView.line.textClass; lineView.text.className = textClass || ""; } function updateLineGutter(cm, lineView, lineN, dims) { if (lineView.gutter) { lineView.node.removeChild(lineView.gutter); lineView.gutter = null; } if (lineView.gutterBackground) { lineView.node.removeChild(lineView.gutterBackground); lineView.gutterBackground = null; } if (lineView.line.gutterClass) { var wrap = ensureLineWrapped(lineView); lineView.gutterBackground = elt("div", null, "CodeMirror-gutter-background " + lineView.line.gutterClass, "left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px; width: " + dims.gutterTotalWidth + "px"); wrap.insertBefore(lineView.gutterBackground, lineView.text); } var markers = lineView.line.gutterMarkers; if (cm.options.lineNumbers || markers) { var wrap = ensureLineWrapped(lineView); var gutterWrap = lineView.gutter = elt("div", null, "CodeMirror-gutter-wrapper", "left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px"); cm.display.input.setUneditable(gutterWrap); wrap.insertBefore(gutterWrap, lineView.text); if (lineView.line.gutterClass) gutterWrap.className += " " + lineView.line.gutterClass; if (cm.options.lineNumbers && (!markers || !markers["CodeMirror-linenumbers"])) lineView.lineNumber = gutterWrap.appendChild( elt("div", lineNumberFor(cm.options, lineN), "CodeMirror-linenumber CodeMirror-gutter-elt", "left: " + dims.gutterLeft["CodeMirror-linenumbers"] + "px; width: " + cm.display.lineNumInnerWidth + "px")); if (markers) for (var k = 0; k < cm.options.gutters.length; ++k) { var id = cm.options.gutters[k], found = markers.hasOwnProperty(id) && markers[id]; if (found) gutterWrap.appendChild(elt("div", [found], "CodeMirror-gutter-elt", "left: " + dims.gutterLeft[id] + "px; width: " + dims.gutterWidth[id] + "px")); } } } function updateLineWidgets(cm, lineView, dims) { if (lineView.alignable) lineView.alignable = null; for (var node = lineView.node.firstChild, next; node; node = next) { var next = node.nextSibling; if (node.className == "CodeMirror-linewidget") lineView.node.removeChild(node); } insertLineWidgets(cm, lineView, dims); } // Build a line's DOM representation from scratch function buildLineElement(cm, lineView, lineN, dims) { var built = getLineContent(cm, lineView); lineView.text = lineView.node = built.pre; if (built.bgClass) lineView.bgClass = built.bgClass; if (built.textClass) lineView.textClass = built.textClass; updateLineClasses(lineView); updateLineGutter(cm, lineView, lineN, dims); insertLineWidgets(cm, lineView, dims); return lineView.node; } // A lineView may contain multiple logical lines (when merged by // collapsed spans). The widgets for all of them need to be drawn. function insertLineWidgets(cm, lineView, dims) { insertLineWidgetsFor(cm, lineView.line, lineView, dims, true); if (lineView.rest) for (var i = 0; i < lineView.rest.length; i++) insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); } function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { if (!line.widgets) return; var wrap = ensureLineWrapped(lineView); for (var i = 0, ws = line.widgets; i < ws.length; ++i) { var widget = ws[i], node = elt("div", [widget.node], "CodeMirror-linewidget"); if (!widget.handleMouseEvents) node.setAttribute("cm-ignore-events", "true"); positionLineWidget(widget, node, lineView, dims); cm.display.input.setUneditable(node); if (allowAbove && widget.above) wrap.insertBefore(node, lineView.gutter || lineView.text); else wrap.appendChild(node); signalLater(widget, "redraw"); } } function positionLineWidget(widget, node, lineView, dims) { if (widget.noHScroll) { (lineView.alignable || (lineView.alignable = [])).push(node); var width = dims.wrapperWidth; node.style.left = dims.fixedPos + "px"; if (!widget.coverGutter) { width -= dims.gutterTotalWidth; node.style.paddingLeft = dims.gutterTotalWidth + "px"; } node.style.width = width + "px"; } if (widget.coverGutter) { node.style.zIndex = 5; node.style.position = "relative"; if (!widget.noHScroll) node.style.marginLeft = -dims.gutterTotalWidth + "px"; } } // POSITION OBJECT // A Pos instance represents a position within the text. var Pos = CodeMirror.Pos = function(line, ch) { if (!(this instanceof Pos)) return new Pos(line, ch); this.line = line; this.ch = ch; }; // Compare two positions, return 0 if they are the same, a negative // number when a is less, and a positive number otherwise. var cmp = CodeMirror.cmpPos = function(a, b) { return a.line - b.line || a.ch - b.ch; }; function copyPos(x) {return Pos(x.line, x.ch);} function maxPos(a, b) { return cmp(a, b) < 0 ? b : a; } function minPos(a, b) { return cmp(a, b) < 0 ? a : b; } // INPUT HANDLING function ensureFocus(cm) { if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm); } } // This will be set to a {lineWise: bool, text: [string]} object, so // that, when pasting, we know what kind of selections the copied // text was made out of. var lastCopied = null; function applyTextInput(cm, inserted, deleted, sel, origin) { var doc = cm.doc; cm.display.shift = false; if (!sel) sel = doc.sel; var paste = cm.state.pasteIncoming || origin == "paste"; var textLines = doc.splitLines(inserted), multiPaste = null // When pasing N lines into N selections, insert one line per selection if (paste && sel.ranges.length > 1) { if (lastCopied && lastCopied.text.join("\n") == inserted) { if (sel.ranges.length % lastCopied.text.length == 0) { multiPaste = []; for (var i = 0; i < lastCopied.text.length; i++) multiPaste.push(doc.splitLines(lastCopied.text[i])); } } else if (textLines.length == sel.ranges.length) { multiPaste = map(textLines, function(l) { return [l]; }); } } // Normal behavior is to insert the new text into every selection for (var i = sel.ranges.length - 1; i >= 0; i--) { var range = sel.ranges[i]; var from = range.from(), to = range.to(); if (range.empty()) { if (deleted && deleted > 0) // Handle deletion from = Pos(from.line, from.ch - deleted); else if (cm.state.overwrite && !paste) // Handle overwrite to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); else if (lastCopied && lastCopied.lineWise && lastCopied.text.join("\n") == inserted) from = to = Pos(from.line, 0) } var updateInput = cm.curOp.updateInput; var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i % multiPaste.length] : textLines, origin: origin || (paste ? "paste" : cm.state.cutIncoming ? "cut" : "+input")}; makeChange(cm.doc, changeEvent); signalLater(cm, "inputRead", cm, changeEvent); } if (inserted && !paste) triggerElectric(cm, inserted); ensureCursorVisible(cm); cm.curOp.updateInput = updateInput; cm.curOp.typing = true; cm.state.pasteIncoming = cm.state.cutIncoming = false; } function handlePaste(e, cm) { var pasted = e.clipboardData && e.clipboardData.getData("Text"); if (pasted) { e.preventDefault(); if (!cm.isReadOnly() && !cm.options.disableInput) runInOp(cm, function() { applyTextInput(cm, pasted, 0, null, "paste"); }); return true; } } function triggerElectric(cm, inserted) { // When an 'electric' character is inserted, immediately trigger a reindent if (!cm.options.electricChars || !cm.options.smartIndent) return; var sel = cm.doc.sel; for (var i = sel.ranges.length - 1; i >= 0; i--) { var range = sel.ranges[i]; if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) continue; var mode = cm.getModeAt(range.head); var indented = false; if (mode.electricChars) { for (var j = 0; j < mode.electricChars.length; j++) if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) { indented = indentLine(cm, range.head.line, "smart"); break; } } else if (mode.electricInput) { if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch))) indented = indentLine(cm, range.head.line, "smart"); } if (indented) signalLater(cm, "electricInput", cm, range.head.line); } } function copyableRanges(cm) { var text = [], ranges = []; for (var i = 0; i < cm.doc.sel.ranges.length; i++) { var line = cm.doc.sel.ranges[i].head.line; var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}; ranges.push(lineRange); text.push(cm.getRange(lineRange.anchor, lineRange.head)); } return {text: text, ranges: ranges}; } function disableBrowserMagic(field, spellcheck) { field.setAttribute("autocorrect", "off"); field.setAttribute("autocapitalize", "off"); field.setAttribute("spellcheck", !!spellcheck); } // TEXTAREA INPUT STYLE function TextareaInput(cm) { this.cm = cm; // See input.poll and input.reset this.prevInput = ""; // Flag that indicates whether we expect input to appear real soon // now (after some event like 'keypress' or 'input') and are // polling intensively. this.pollingFast = false; // Self-resetting timeout for the poller this.polling = new Delayed(); // Tracks when input.reset has punted to just putting a short // string into the textarea instead of the full selection. this.inaccurateSelection = false; // Used to work around IE issue with selection being forgotten when focus moves away from textarea this.hasSelection = false; this.composing = null; }; function hiddenTextarea() { var te = elt("textarea", null, null, "position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"); var div = elt("div", [te], null, "overflow: hidden; position: relative; width: 3px; height: 0px;"); // The textarea is kept positioned near the cursor to prevent the // fact that it'll be scrolled into view on input from scrolling // our fake cursor out of view. On webkit, when wrap=off, paste is // very slow. So make the area wide instead. if (webkit) te.style.width = "1000px"; else te.setAttribute("wrap", "off"); // If border: 0; -- iOS fails to open keyboard (issue #1287) if (ios) te.style.border = "1px solid black"; disableBrowserMagic(te); return div; } TextareaInput.prototype = copyObj({ init: function(display) { var input = this, cm = this.cm; // Wraps and hides input textarea var div = this.wrapper = hiddenTextarea(); // The semihidden textarea that is focused when the editor is // focused, and receives input. var te = this.textarea = div.firstChild; display.wrapper.insertBefore(div, display.wrapper.firstChild); // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore) if (ios) te.style.width = "0px"; on(te, "input", function() { if (ie && ie_version >= 9 && input.hasSelection) input.hasSelection = null; input.poll(); }); on(te, "paste", function(e) { if (signalDOMEvent(cm, e) || handlePaste(e, cm)) return cm.state.pasteIncoming = true; input.fastPoll(); }); function prepareCopyCut(e) { if (signalDOMEvent(cm, e)) return if (cm.somethingSelected()) { lastCopied = {lineWise: false, text: cm.getSelections()}; if (input.inaccurateSelection) { input.prevInput = ""; input.inaccurateSelection = false; te.value = lastCopied.text.join("\n"); selectInput(te); } } else if (!cm.options.lineWiseCopyCut) { return; } else { var ranges = copyableRanges(cm); lastCopied = {lineWise: true, text: ranges.text}; if (e.type == "cut") { cm.setSelections(ranges.ranges, null, sel_dontScroll); } else { input.prevInput = ""; te.value = ranges.text.join("\n"); selectInput(te); } } if (e.type == "cut") cm.state.cutIncoming = true; } on(te, "cut", prepareCopyCut); on(te, "copy", prepareCopyCut); on(display.scroller, "paste", function(e) { if (eventInWidget(display, e) || signalDOMEvent(cm, e)) return; cm.state.pasteIncoming = true; input.focus(); }); // Prevent normal selection in the editor (we handle our own) on(display.lineSpace, "selectstart", function(e) { if (!eventInWidget(display, e)) e_preventDefault(e); }); on(te, "compositionstart", function() { var start = cm.getCursor("from"); if (input.composing) input.composing.range.clear() input.composing = { start: start, range: cm.markText(start, cm.getCursor("to"), {className: "CodeMirror-composing"}) }; }); on(te, "compositionend", function() { if (input.composing) { input.poll(); input.composing.range.clear(); input.composing = null; } }); }, prepareSelection: function() { // Redraw the selection and/or cursor var cm = this.cm, display = cm.display, doc = cm.doc; var result = prepareSelection(cm); // Move the hidden textarea near the cursor to prevent scrolling artifacts if (cm.options.moveInputWithCursor) { var headPos = cursorCoords(cm, doc.sel.primary().head, "div"); var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect(); result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10, headPos.top + lineOff.top - wrapOff.top)); result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10, headPos.left + lineOff.left - wrapOff.left)); } return result; }, showSelection: function(drawn) { var cm = this.cm, display = cm.display; removeChildrenAndAdd(display.cursorDiv, drawn.cursors); removeChildrenAndAdd(display.selectionDiv, drawn.selection); if (drawn.teTop != null) { this.wrapper.style.top = drawn.teTop + "px"; this.wrapper.style.left = drawn.teLeft + "px"; } }, // Reset the input to correspond to the selection (or to be empty, // when not typing and nothing is selected) reset: function(typing) { if (this.contextMenuPending) return; var minimal, selected, cm = this.cm, doc = cm.doc; if (cm.somethingSelected()) { this.prevInput = ""; var range = doc.sel.primary(); minimal = hasCopyEvent && (range.to().line - range.from().line > 100 || (selected = cm.getSelection()).length > 1000); var content = minimal ? "-" : selected || cm.getSelection(); this.textarea.value = content; if (cm.state.focused) selectInput(this.textarea); if (ie && ie_version >= 9) this.hasSelection = content; } else if (!typing) { this.prevInput = this.textarea.value = ""; if (ie && ie_version >= 9) this.hasSelection = null; } this.inaccurateSelection = minimal; }, getField: function() { return this.textarea; }, supportsTouch: function() { return false; }, focus: function() { if (this.cm.options.readOnly != "nocursor" && (!mobile || activeElt() != this.textarea)) { try { this.textarea.focus(); } catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM } }, blur: function() { this.textarea.blur(); }, resetPosition: function() { this.wrapper.style.top = this.wrapper.style.left = 0; }, receivedFocus: function() { this.slowPoll(); }, // Poll for input changes, using the normal rate of polling. This // runs as long as the editor is focused. slowPoll: function() { var input = this; if (input.pollingFast) return; input.polling.set(this.cm.options.pollInterval, function() { input.poll(); if (input.cm.state.focused) input.slowPoll(); }); }, // When an event has just come in that is likely to add or change // something in the input textarea, we poll faster, to ensure that // the change appears on the screen quickly. fastPoll: function() { var missed = false, input = this; input.pollingFast = true; function p() { var changed = input.poll(); if (!changed && !missed) {missed = true; input.polling.set(60, p);} else {input.pollingFast = false; input.slowPoll();} } input.polling.set(20, p); }, // Read input from the textarea, and update the document to match. // When something is selected, it is present in the textarea, and // selected (unless it is huge, in which case a placeholder is // used). When nothing is selected, the cursor sits after previously // seen text (can be empty), which is stored in prevInput (we must // not reset the textarea when typing, because that breaks IME). poll: function() { var cm = this.cm, input = this.textarea, prevInput = this.prevInput; // Since this is called a *lot*, try to bail out as cheaply as // possible when it is clear that nothing happened. hasSelection // will be the case when there is a lot of text in the textarea, // in which case reading its value would be expensive. if (this.contextMenuPending || !cm.state.focused || (hasSelection(input) && !prevInput && !this.composing) || cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq) return false; var text = input.value; // If nothing changed, bail. if (text == prevInput && !cm.somethingSelected()) return false; // Work around nonsensical selection resetting in IE9/10, and // inexplicable appearance of private area unicode characters on // some key combos in Mac (#2689). if (ie && ie_version >= 9 && this.hasSelection === text || mac && /[\uf700-\uf7ff]/.test(text)) { cm.display.input.reset(); return false; } if (cm.doc.sel == cm.display.selForContextMenu) { var first = text.charCodeAt(0); if (first == 0x200b && !prevInput) prevInput = "\u200b"; if (first == 0x21da) { this.reset(); return this.cm.execCommand("undo"); } } // Find the part of the input that is actually new var same = 0, l = Math.min(prevInput.length, text.length); while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) ++same; var self = this; runInOp(cm, function() { applyTextInput(cm, text.slice(same), prevInput.length - same, null, self.composing ? "*compose" : null); // Don't leave long text in the textarea, since it makes further polling slow if (text.length > 1000 || text.indexOf("\n") > -1) input.value = self.prevInput = ""; else self.prevInput = text; if (self.composing) { self.composing.range.clear(); self.composing.range = cm.markText(self.composing.start, cm.getCursor("to"), {className: "CodeMirror-composing"}); } }); return true; }, ensurePolled: function() { if (this.pollingFast && this.poll()) this.pollingFast = false; }, onKeyPress: function() { if (ie && ie_version >= 9) this.hasSelection = null; this.fastPoll(); }, onContextMenu: function(e) { var input = this, cm = input.cm, display = cm.display, te = input.textarea; var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop; if (!pos || presto) return; // Opera is difficult. // Reset the current text selection only if the click is done outside of the selection // and 'resetSelectionOnContextMenu' option is true. var reset = cm.options.resetSelectionOnContextMenu; if (reset && cm.doc.sel.contains(pos) == -1) operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText; input.wrapper.style.cssText = "position: absolute" var wrapperBox = input.wrapper.getBoundingClientRect() te.style.cssText = "position: absolute; width: 30px; height: 30px; top: " + (e.clientY - wrapperBox.top - 5) + "px; left: " + (e.clientX - wrapperBox.left - 5) + "px; z-index: 1000; background: " + (ie ? "rgba(255, 255, 255, .05)" : "transparent") + "; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);"; if (webkit) var oldScrollY = window.scrollY; // Work around Chrome issue (#2712) display.input.focus(); if (webkit) window.scrollTo(null, oldScrollY); display.input.reset(); // Adds "Select all" to context menu in FF if (!cm.somethingSelected()) te.value = input.prevInput = " "; input.contextMenuPending = true; display.selForContextMenu = cm.doc.sel; clearTimeout(display.detectingSelectAll); // Select-all will be greyed out if there's nothing to select, so // this adds a zero-width space so that we can later check whether // it got selected. function prepareSelectAllHack() { if (te.selectionStart != null) { var selected = cm.somethingSelected(); var extval = "\u200b" + (selected ? te.value : ""); te.value = "\u21da"; // Used to catch context-menu undo te.value = extval; input.prevInput = selected ? "" : "\u200b"; te.selectionStart = 1; te.selectionEnd = extval.length; // Re-set this, in case some other handler touched the // selection in the meantime. display.selForContextMenu = cm.doc.sel; } } function rehide() { input.contextMenuPending = false; input.wrapper.style.cssText = oldWrapperCSS te.style.cssText = oldCSS; if (ie && ie_version < 9) display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); // Try to detect the user choosing select-all if (te.selectionStart != null) { if (!ie || (ie && ie_version < 9)) prepareSelectAllHack(); var i = 0, poll = function() { if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 && te.selectionEnd > 0 && input.prevInput == "\u200b") operation(cm, commands.selectAll)(cm); else if (i++ < 10) display.detectingSelectAll = setTimeout(poll, 500); else display.input.reset(); }; display.detectingSelectAll = setTimeout(poll, 200); } } if (ie && ie_version >= 9) prepareSelectAllHack(); if (captureRightClick) { e_stop(e); var mouseup = function() { off(window, "mouseup", mouseup); setTimeout(rehide, 20); }; on(window, "mouseup", mouseup); } else { setTimeout(rehide, 50); } }, readOnlyChanged: function(val) { if (!val) this.reset(); }, setUneditable: nothing, needsContentAttribute: false }, TextareaInput.prototype); // CONTENTEDITABLE INPUT STYLE function ContentEditableInput(cm) { this.cm = cm; this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null; this.polling = new Delayed(); this.gracePeriod = false; } ContentEditableInput.prototype = copyObj({ init: function(display) { var input = this, cm = input.cm; var div = input.div = display.lineDiv; disableBrowserMagic(div, cm.options.spellcheck); on(div, "paste", function(e) { if (signalDOMEvent(cm, e) || handlePaste(e, cm)) return // IE doesn't fire input events, so we schedule a read for the pasted content in this way if (ie_version <= 11) setTimeout(operation(cm, function() { if (!input.pollContent()) regChange(cm); }), 20) }) on(div, "compositionstart", function(e) { var data = e.data; input.composing = {sel: cm.doc.sel, data: data, startData: data}; if (!data) return; var prim = cm.doc.sel.primary(); var line = cm.getLine(prim.head.line); var found = line.indexOf(data, Math.max(0, prim.head.ch - data.length)); if (found > -1 && found <= prim.head.ch) input.composing.sel = simpleSelection(Pos(prim.head.line, found), Pos(prim.head.line, found + data.length)); }); on(div, "compositionupdate", function(e) { input.composing.data = e.data; }); on(div, "compositionend", function(e) { var ours = input.composing; if (!ours) return; if (e.data != ours.startData && !/\u200b/.test(e.data)) ours.data = e.data; // Need a small delay to prevent other code (input event, // selection polling) from doing damage when fired right after // compositionend. setTimeout(function() { if (!ours.handled) input.applyComposition(ours); if (input.composing == ours) input.composing = null; }, 50); }); on(div, "touchstart", function() { input.forceCompositionEnd(); }); on(div, "input", function() { if (input.composing) return; if (cm.isReadOnly() || !input.pollContent()) runInOp(input.cm, function() {regChange(cm);}); }); function onCopyCut(e) { if (signalDOMEvent(cm, e)) return if (cm.somethingSelected()) { lastCopied = {lineWise: false, text: cm.getSelections()}; if (e.type == "cut") cm.replaceSelection("", null, "cut"); } else if (!cm.options.lineWiseCopyCut) { return; } else { var ranges = copyableRanges(cm); lastCopied = {lineWise: true, text: ranges.text}; if (e.type == "cut") { cm.operation(function() { cm.setSelections(ranges.ranges, 0, sel_dontScroll); cm.replaceSelection("", null, "cut"); }); } } if (e.clipboardData) { e.clipboardData.clearData(); var content = lastCopied.text.join("\n") // iOS exposes the clipboard API, but seems to discard content inserted into it e.clipboardData.setData("Text", content); if (e.clipboardData.getData("Text") == content) { e.preventDefault(); return } } // Old-fashioned briefly-focus-a-textarea hack var kludge = hiddenTextarea(), te = kludge.firstChild; cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild); te.value = lastCopied.text.join("\n"); var hadFocus = document.activeElement; selectInput(te); setTimeout(function() { cm.display.lineSpace.removeChild(kludge); hadFocus.focus(); if (hadFocus == div) input.showPrimarySelection() }, 50); } on(div, "copy", onCopyCut); on(div, "cut", onCopyCut); }, prepareSelection: function() { var result = prepareSelection(this.cm, false); result.focus = this.cm.state.focused; return result; }, showSelection: function(info, takeFocus) { if (!info || !this.cm.display.view.length) return; if (info.focus || takeFocus) this.showPrimarySelection(); this.showMultipleSelections(info); }, showPrimarySelection: function() { var sel = window.getSelection(), prim = this.cm.doc.sel.primary(); var curAnchor = domToPos(this.cm, sel.anchorNode, sel.anchorOffset); var curFocus = domToPos(this.cm, sel.focusNode, sel.focusOffset); if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad && cmp(minPos(curAnchor, curFocus), prim.from()) == 0 && cmp(maxPos(curAnchor, curFocus), prim.to()) == 0) return; var start = posToDOM(this.cm, prim.from()); var end = posToDOM(this.cm, prim.to()); if (!start && !end) return; var view = this.cm.display.view; var old = sel.rangeCount && sel.getRangeAt(0); if (!start) { start = {node: view[0].measure.map[2], offset: 0}; } else if (!end) { // FIXME dangerously hacky var measure = view[view.length - 1].measure; var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map; end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}; } try { var rng = range(start.node, start.offset, end.offset, end.node); } catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible if (rng) { if (!gecko && this.cm.state.focused) { sel.collapse(start.node, start.offset); if (!rng.collapsed) sel.addRange(rng); } else { sel.removeAllRanges(); sel.addRange(rng); } if (old && sel.anchorNode == null) sel.addRange(old); else if (gecko) this.startGracePeriod(); } this.rememberSelection(); }, startGracePeriod: function() { var input = this; clearTimeout(this.gracePeriod); this.gracePeriod = setTimeout(function() { input.gracePeriod = false; if (input.selectionChanged()) input.cm.operation(function() { input.cm.curOp.selectionChanged = true; }); }, 20); }, showMultipleSelections: function(info) { removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors); removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection); }, rememberSelection: function() { var sel = window.getSelection(); this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset; this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset; }, selectionInEditor: function() { var sel = window.getSelection(); if (!sel.rangeCount) return false; var node = sel.getRangeAt(0).commonAncestorContainer; return contains(this.div, node); }, focus: function() { if (this.cm.options.readOnly != "nocursor") this.div.focus(); }, blur: function() { this.div.blur(); }, getField: function() { return this.div; }, supportsTouch: function() { return true; }, receivedFocus: function() { var input = this; if (this.selectionInEditor()) this.pollSelection(); else runInOp(this.cm, function() { input.cm.curOp.selectionChanged = true; }); function poll() { if (input.cm.state.focused) { input.pollSelection(); input.polling.set(input.cm.options.pollInterval, poll); } } this.polling.set(this.cm.options.pollInterval, poll); }, selectionChanged: function() { var sel = window.getSelection(); return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset || sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset; }, pollSelection: function() { if (!this.composing && !this.gracePeriod && this.selectionChanged()) { var sel = window.getSelection(), cm = this.cm; this.rememberSelection(); var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); var head = domToPos(cm, sel.focusNode, sel.focusOffset); if (anchor && head) runInOp(cm, function() { setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll); if (anchor.bad || head.bad) cm.curOp.selectionChanged = true; }); } }, pollContent: function() { var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary(); var from = sel.from(), to = sel.to(); if (from.line < display.viewFrom || to.line > display.viewTo - 1) return false; var fromIndex; if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) { var fromLine = lineNo(display.view[0].line); var fromNode = display.view[0].node; } else { var fromLine = lineNo(display.view[fromIndex].line); var fromNode = display.view[fromIndex - 1].node.nextSibling; } var toIndex = findViewIndex(cm, to.line); if (toIndex == display.view.length - 1) { var toLine = display.viewTo - 1; var toNode = display.lineDiv.lastChild; } else { var toLine = lineNo(display.view[toIndex + 1].line) - 1; var toNode = display.view[toIndex + 1].node.previousSibling; } var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine)); var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length)); while (newText.length > 1 && oldText.length > 1) { if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; } else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; } else break; } var cutFront = 0, cutEnd = 0; var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length); while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront)) ++cutFront; var newBot = lst(newText), oldBot = lst(oldText); var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0), oldBot.length - (oldText.length == 1 ? cutFront : 0)); while (cutEnd < maxCutEnd && newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) ++cutEnd; newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd); newText[0] = newText[0].slice(cutFront); var chFrom = Pos(fromLine, cutFront); var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0); if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) { replaceRange(cm.doc, newText, chFrom, chTo, "+input"); return true; } }, ensurePolled: function() { this.forceCompositionEnd(); }, reset: function() { this.forceCompositionEnd(); }, forceCompositionEnd: function() { if (!this.composing || this.composing.handled) return; this.applyComposition(this.composing); this.composing.handled = true; this.div.blur(); this.div.focus(); }, applyComposition: function(composing) { if (this.cm.isReadOnly()) operation(this.cm, regChange)(this.cm) else if (composing.data && composing.data != composing.startData) operation(this.cm, applyTextInput)(this.cm, composing.data, 0, composing.sel); }, setUneditable: function(node) { node.contentEditable = "false" }, onKeyPress: function(e) { e.preventDefault(); if (!this.cm.isReadOnly()) operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); }, readOnlyChanged: function(val) { this.div.contentEditable = String(val != "nocursor") }, onContextMenu: nothing, resetPosition: nothing, needsContentAttribute: true }, ContentEditableInput.prototype); function posToDOM(cm, pos) { var view = findViewForLine(cm, pos.line); if (!view || view.hidden) return null; var line = getLine(cm.doc, pos.line); var info = mapFromLineView(view, line, pos.line); var order = getOrder(line), side = "left"; if (order) { var partPos = getBidiPartAt(order, pos.ch); side = partPos % 2 ? "right" : "left"; } var result = nodeAndOffsetInLineMap(info.map, pos.ch, side); result.offset = result.collapse == "right" ? result.end : result.start; return result; } function badPos(pos, bad) { if (bad) pos.bad = true; return pos; } function domToPos(cm, node, offset) { var lineNode; if (node == cm.display.lineDiv) { lineNode = cm.display.lineDiv.childNodes[offset]; if (!lineNode) return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true); node = null; offset = 0; } else { for (lineNode = node;; lineNode = lineNode.parentNode) { if (!lineNode || lineNode == cm.display.lineDiv) return null; if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) break; } } for (var i = 0; i < cm.display.view.length; i++) { var lineView = cm.display.view[i]; if (lineView.node == lineNode) return locateNodeInLineView(lineView, node, offset); } } function locateNodeInLineView(lineView, node, offset) { var wrapper = lineView.text.firstChild, bad = false; if (!node || !contains(wrapper, node)) return badPos(Pos(lineNo(lineView.line), 0), true); if (node == wrapper) { bad = true; node = wrapper.childNodes[offset]; offset = 0; if (!node) { var line = lineView.rest ? lst(lineView.rest) : lineView.line; return badPos(Pos(lineNo(line), line.text.length), bad); } } var textNode = node.nodeType == 3 ? node : null, topNode = node; if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) { textNode = node.firstChild; if (offset) offset = textNode.nodeValue.length; } while (topNode.parentNode != wrapper) topNode = topNode.parentNode; var measure = lineView.measure, maps = measure.maps; function find(textNode, topNode, offset) { for (var i = -1; i < (maps ? maps.length : 0); i++) { var map = i < 0 ? measure.map : maps[i]; for (var j = 0; j < map.length; j += 3) { var curNode = map[j + 2]; if (curNode == textNode || curNode == topNode) { var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]); var ch = map[j] + offset; if (offset < 0 || curNode != textNode) ch = map[j + (offset ? 1 : 0)]; return Pos(line, ch); } } } } var found = find(textNode, topNode, offset); if (found) return badPos(found, bad); // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) { found = find(after, after.firstChild, 0); if (found) return badPos(Pos(found.line, found.ch - dist), bad); else dist += after.textContent.length; } for (var before = topNode.previousSibling, dist = offset; before; before = before.previousSibling) { found = find(before, before.firstChild, -1); if (found) return badPos(Pos(found.line, found.ch + dist), bad); else dist += before.textContent.length; } } function domTextBetween(cm, from, to, fromLine, toLine) { var text = "", closing = false, lineSep = cm.doc.lineSeparator(); function recognizeMarker(id) { return function(marker) { return marker.id == id; }; } function walk(node) { if (node.nodeType == 1) { var cmText = node.getAttribute("cm-text"); if (cmText != null) { if (cmText == "") cmText = node.textContent.replace(/\u200b/g, ""); text += cmText; return; } var markerID = node.getAttribute("cm-marker"), range; if (markerID) { var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID)); if (found.length && (range = found[0].find())) text += getBetween(cm.doc, range.from, range.to).join(lineSep); return; } if (node.getAttribute("contenteditable") == "false") return; for (var i = 0; i < node.childNodes.length; i++) walk(node.childNodes[i]); if (/^(pre|div|p)$/i.test(node.nodeName)) closing = true; } else if (node.nodeType == 3) { var val = node.nodeValue; if (!val) return; if (closing) { text += lineSep; closing = false; } text += val; } } for (;;) { walk(from); if (from == to) break; from = from.nextSibling; } return text; } CodeMirror.inputStyles = {"textarea": TextareaInput, "contenteditable": ContentEditableInput}; // SELECTION / CURSOR // Selection objects are immutable. A new one is created every time // the selection changes. A selection is one or more non-overlapping // (and non-touching) ranges, sorted, and an integer that indicates // which one is the primary selection (the one that's scrolled into // view, that getCursor returns, etc). function Selection(ranges, primIndex) { this.ranges = ranges; this.primIndex = primIndex; } Selection.prototype = { primary: function() { return this.ranges[this.primIndex]; }, equals: function(other) { if (other == this) return true; if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) return false; for (var i = 0; i < this.ranges.length; i++) { var here = this.ranges[i], there = other.ranges[i]; if (cmp(here.anchor, there.anchor) != 0 || cmp(here.head, there.head) != 0) return false; } return true; }, deepCopy: function() { for (var out = [], i = 0; i < this.ranges.length; i++) out[i] = new Range(copyPos(this.ranges[i].anchor), copyPos(this.ranges[i].head)); return new Selection(out, this.primIndex); }, somethingSelected: function() { for (var i = 0; i < this.ranges.length; i++) if (!this.ranges[i].empty()) return true; return false; }, contains: function(pos, end) { if (!end) end = pos; for (var i = 0; i < this.ranges.length; i++) { var range = this.ranges[i]; if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0) return i; } return -1; } }; function Range(anchor, head) { this.anchor = anchor; this.head = head; } Range.prototype = { from: function() { return minPos(this.anchor, this.head); }, to: function() { return maxPos(this.anchor, this.head); }, empty: function() { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch; } }; // Take an unsorted, potentially overlapping set of ranges, and // build a selection out of it. 'Consumes' ranges array (modifying // it). function normalizeSelection(ranges, primIndex) { var prim = ranges[primIndex]; ranges.sort(function(a, b) { return cmp(a.from(), b.from()); }); primIndex = indexOf(ranges, prim); for (var i = 1; i < ranges.length; i++) { var cur = ranges[i], prev = ranges[i - 1]; if (cmp(prev.to(), cur.from()) >= 0) { var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to()); var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head; if (i <= primIndex) --primIndex; ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to)); } } return new Selection(ranges, primIndex); } function simpleSelection(anchor, head) { return new Selection([new Range(anchor, head || anchor)], 0); } // Most of the external API clips given positions to make sure they // actually exist within the document. function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1));} function clipPos(doc, pos) { if (pos.line < doc.first) return Pos(doc.first, 0); var last = doc.first + doc.size - 1; if (pos.line > last) return Pos(last, getLine(doc, last).text.length); return clipToLen(pos, getLine(doc, pos.line).text.length); } function clipToLen(pos, linelen) { var ch = pos.ch; if (ch == null || ch > linelen) return Pos(pos.line, linelen); else if (ch < 0) return Pos(pos.line, 0); else return pos; } function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size;} function clipPosArray(doc, array) { for (var out = [], i = 0; i < array.length; i++) out[i] = clipPos(doc, array[i]); return out; } // SELECTION UPDATES // The 'scroll' parameter given to many of these indicated whether // the new cursor position should be scrolled into view after // modifying the selection. // If shift is held or the extend flag is set, extends a range to // include a given position (and optionally a second position). // Otherwise, simply returns the range between the given positions. // Used for cursor motion and such. function extendRange(doc, range, head, other) { if (doc.cm && doc.cm.display.shift || doc.extend) { var anchor = range.anchor; if (other) { var posBefore = cmp(head, anchor) < 0; if (posBefore != (cmp(other, anchor) < 0)) { anchor = head; head = other; } else if (posBefore != (cmp(head, other) < 0)) { head = other; } } return new Range(anchor, head); } else { return new Range(other || head, head); } } // Extend the primary selection range, discard the rest. function extendSelection(doc, head, other, options) { setSelection(doc, new Selection([extendRange(doc, doc.sel.primary(), head, other)], 0), options); } // Extend all selections (pos is an array of selections with length // equal the number of selections) function extendSelections(doc, heads, options) { for (var out = [], i = 0; i < doc.sel.ranges.length; i++) out[i] = extendRange(doc, doc.sel.ranges[i], heads[i], null); var newSel = normalizeSelection(out, doc.sel.primIndex); setSelection(doc, newSel, options); } // Updates a single range in the selection. function replaceOneSelection(doc, i, range, options) { var ranges = doc.sel.ranges.slice(0); ranges[i] = range; setSelection(doc, normalizeSelection(ranges, doc.sel.primIndex), options); } // Reset the selection to a single range. function setSimpleSelection(doc, anchor, head, options) { setSelection(doc, simpleSelection(anchor, head), options); } // Give beforeSelectionChange handlers a change to influence a // selection update. function filterSelectionChange(doc, sel, options) { var obj = { ranges: sel.ranges, update: function(ranges) { this.ranges = []; for (var i = 0; i < ranges.length; i++) this.ranges[i] = new Range(clipPos(doc, ranges[i].anchor), clipPos(doc, ranges[i].head)); }, origin: options && options.origin }; signal(doc, "beforeSelectionChange", doc, obj); if (doc.cm) signal(doc.cm, "beforeSelectionChange", doc.cm, obj); if (obj.ranges != sel.ranges) return normalizeSelection(obj.ranges, obj.ranges.length - 1); else return sel; } function setSelectionReplaceHistory(doc, sel, options) { var done = doc.history.done, last = lst(done); if (last && last.ranges) { done[done.length - 1] = sel; setSelectionNoUndo(doc, sel, options); } else { setSelection(doc, sel, options); } } // Set a new selection. function setSelection(doc, sel, options) { setSelectionNoUndo(doc, sel, options); addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options); } function setSelectionNoUndo(doc, sel, options) { if (hasHandler(doc, "beforeSelectionChange") || doc.cm && hasHandler(doc.cm, "beforeSelectionChange")) sel = filterSelectionChange(doc, sel, options); var bias = options && options.bias || (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1); setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true)); if (!(options && options.scroll === false) && doc.cm) ensureCursorVisible(doc.cm); } function setSelectionInner(doc, sel) { if (sel.equals(doc.sel)) return; doc.sel = sel; if (doc.cm) { doc.cm.curOp.updateInput = doc.cm.curOp.selectionChanged = true; signalCursorActivity(doc.cm); } signalLater(doc, "cursorActivity", doc); } // Verify that the selection does not partially select any atomic // marked ranges. function reCheckSelection(doc) { setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false), sel_dontScroll); } // Return a selection that does not partially select any atomic // ranges. function skipAtomicInSelection(doc, sel, bias, mayClear) { var out; for (var i = 0; i < sel.ranges.length; i++) { var range = sel.ranges[i]; var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]; var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear); var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear); if (out || newAnchor != range.anchor || newHead != range.head) { if (!out) out = sel.ranges.slice(0, i); out[i] = new Range(newAnchor, newHead); } } return out ? normalizeSelection(out, sel.primIndex) : sel; } function skipAtomicInner(doc, pos, oldPos, dir, mayClear) { var line = getLine(doc, pos.line); if (line.markedSpans) for (var i = 0; i < line.markedSpans.length; ++i) { var sp = line.markedSpans[i], m = sp.marker; if ((sp.from == null || (m.inclusiveLeft ? sp.from <= pos.ch : sp.from < pos.ch)) && (sp.to == null || (m.inclusiveRight ? sp.to >= pos.ch : sp.to > pos.ch))) { if (mayClear) { signal(m, "beforeCursorEnter"); if (m.explicitlyCleared) { if (!line.markedSpans) break; else {--i; continue;} } } if (!m.atomic) continue; if (oldPos) { var near = m.find(dir < 0 ? 1 : -1), diff; if (dir < 0 ? m.inclusiveRight : m.inclusiveLeft) near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null); if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0)) return skipAtomicInner(doc, near, pos, dir, mayClear); } var far = m.find(dir < 0 ? -1 : 1); if (dir < 0 ? m.inclusiveLeft : m.inclusiveRight) far = movePos(doc, far, dir, far.line == pos.line ? line : null); return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null; } } return pos; } // Ensure a given position is not inside an atomic range. function skipAtomic(doc, pos, oldPos, bias, mayClear) { var dir = bias || 1; var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) || (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) || skipAtomicInner(doc, pos, oldPos, -dir, mayClear) || (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true)); if (!found) { doc.cantEdit = true; return Pos(doc.first, 0); } return found; } function movePos(doc, pos, dir, line) { if (dir < 0 && pos.ch == 0) { if (pos.line > doc.first) return clipPos(doc, Pos(pos.line - 1)); else return null; } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) { if (pos.line < doc.first + doc.size - 1) return Pos(pos.line + 1, 0); else return null; } else { return new Pos(pos.line, pos.ch + dir); } } // SELECTION DRAWING function updateSelection(cm) { cm.display.input.showSelection(cm.display.input.prepareSelection()); } function prepareSelection(cm, primary) { var doc = cm.doc, result = {}; var curFragment = result.cursors = document.createDocumentFragment(); var selFragment = result.selection = document.createDocumentFragment(); for (var i = 0; i < doc.sel.ranges.length; i++) { if (primary === false && i == doc.sel.primIndex) continue; var range = doc.sel.ranges[i]; if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) continue; var collapsed = range.empty(); if (collapsed || cm.options.showCursorWhenSelecting) drawSelectionCursor(cm, range.head, curFragment); if (!collapsed) drawSelectionRange(cm, range, selFragment); } return result; } // Draws a cursor for the given range function drawSelectionCursor(cm, head, output) { var pos = cursorCoords(cm, head, "div", null, null, !cm.options.singleCursorHeightPerLine); var cursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor")); cursor.style.left = pos.left + "px"; cursor.style.top = pos.top + "px"; cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + "px"; if (pos.other) { // Secondary cursor, shown when on a 'jump' in bi-directional text var otherCursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor CodeMirror-secondarycursor")); otherCursor.style.display = ""; otherCursor.style.left = pos.other.left + "px"; otherCursor.style.top = pos.other.top + "px"; otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + "px"; } } // Draws the given range as a highlighted selection function drawSelectionRange(cm, range, output) { var display = cm.display, doc = cm.doc; var fragment = document.createDocumentFragment(); var padding = paddingH(cm.display), leftSide = padding.left; var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right; function add(left, top, width, bottom) { if (top < 0) top = 0; top = Math.round(top); bottom = Math.round(bottom); fragment.appendChild(elt("div", null, "CodeMirror-selected", "position: absolute; left: " + left + "px; top: " + top + "px; width: " + (width == null ? rightSide - left : width) + "px; height: " + (bottom - top) + "px")); } function drawForLine(line, fromArg, toArg) { var lineObj = getLine(doc, line); var lineLen = lineObj.text.length; var start, end; function coords(ch, bias) { return charCoords(cm, Pos(line, ch), "div", lineObj, bias); } iterateBidiSections(getOrder(lineObj), fromArg || 0, toArg == null ? lineLen : toArg, function(from, to, dir) { var leftPos = coords(from, "left"), rightPos, left, right; if (from == to) { rightPos = leftPos; left = right = leftPos.left; } else { rightPos = coords(to - 1, "right"); if (dir == "rtl") { var tmp = leftPos; leftPos = rightPos; rightPos = tmp; } left = leftPos.left; right = rightPos.right; } if (fromArg == null && from == 0) left = leftSide; if (rightPos.top - leftPos.top > 3) { // Different lines, draw top part add(left, leftPos.top, null, leftPos.bottom); left = leftSide; if (leftPos.bottom < rightPos.top) add(left, leftPos.bottom, null, rightPos.top); } if (toArg == null && to == lineLen) right = rightSide; if (!start || leftPos.top < start.top || leftPos.top == start.top && leftPos.left < start.left) start = leftPos; if (!end || rightPos.bottom > end.bottom || rightPos.bottom == end.bottom && rightPos.right > end.right) end = rightPos; if (left < leftSide + 1) left = leftSide; add(left, rightPos.top, right - left, rightPos.bottom); }); return {start: start, end: end}; } var sFrom = range.from(), sTo = range.to(); if (sFrom.line == sTo.line) { drawForLine(sFrom.line, sFrom.ch, sTo.ch); } else { var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line); var singleVLine = visualLine(fromLine) == visualLine(toLine); var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end; var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start; if (singleVLine) { if (leftEnd.top < rightStart.top - 2) { add(leftEnd.right, leftEnd.top, null, leftEnd.bottom); add(leftSide, rightStart.top, rightStart.left, rightStart.bottom); } else { add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom); } } if (leftEnd.bottom < rightStart.top) add(leftSide, leftEnd.bottom, null, rightStart.top); } output.appendChild(fragment); } // Cursor-blinking function restartBlink(cm) { if (!cm.state.focused) return; var display = cm.display; clearInterval(display.blinker); var on = true; display.cursorDiv.style.visibility = ""; if (cm.options.cursorBlinkRate > 0) display.blinker = setInterval(function() { display.cursorDiv.style.visibility = (on = !on) ? "" : "hidden"; }, cm.options.cursorBlinkRate); else if (cm.options.cursorBlinkRate < 0) display.cursorDiv.style.visibility = "hidden"; } // HIGHLIGHT WORKER function startWorker(cm, time) { if (cm.doc.mode.startState && cm.doc.frontier < cm.display.viewTo) cm.state.highlight.set(time, bind(highlightWorker, cm)); } function highlightWorker(cm) { var doc = cm.doc; if (doc.frontier < doc.first) doc.frontier = doc.first; if (doc.frontier >= cm.display.viewTo) return; var end = +new Date + cm.options.workTime; var state = copyState(doc.mode, getStateBefore(cm, doc.frontier)); var changedLines = []; doc.iter(doc.frontier, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function(line) { if (doc.frontier >= cm.display.viewFrom) { // Visible var oldStyles = line.styles, tooLong = line.text.length > cm.options.maxHighlightLength; var highlighted = highlightLine(cm, line, tooLong ? copyState(doc.mode, state) : state, true); line.styles = highlighted.styles; var oldCls = line.styleClasses, newCls = highlighted.classes; if (newCls) line.styleClasses = newCls; else if (oldCls) line.styleClasses = null; var ischange = !oldStyles || oldStyles.length != line.styles.length || oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass); for (var i = 0; !ischange && i < oldStyles.length; ++i) ischange = oldStyles[i] != line.styles[i]; if (ischange) changedLines.push(doc.frontier); line.stateAfter = tooLong ? state : copyState(doc.mode, state); } else { if (line.text.length <= cm.options.maxHighlightLength) processLine(cm, line.text, state); line.stateAfter = doc.frontier % 5 == 0 ? copyState(doc.mode, state) : null; } ++doc.frontier; if (+new Date > end) { startWorker(cm, cm.options.workDelay); return true; } }); if (changedLines.length) runInOp(cm, function() { for (var i = 0; i < changedLines.length; i++) regLineChange(cm, changedLines[i], "text"); }); } // Finds the line to start with when starting a parse. Tries to // find a line with a stateAfter, so that it can start with a // valid state. If that fails, it returns the line with the // smallest indentation, which tends to need the least context to // parse correctly. function findStartLine(cm, n, precise) { var minindent, minline, doc = cm.doc; var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100); for (var search = n; search > lim; --search) { if (search <= doc.first) return doc.first; var line = getLine(doc, search - 1); if (line.stateAfter && (!precise || search <= doc.frontier)) return search; var indented = countColumn(line.text, null, cm.options.tabSize); if (minline == null || minindent > indented) { minline = search - 1; minindent = indented; } } return minline; } function getStateBefore(cm, n, precise) { var doc = cm.doc, display = cm.display; if (!doc.mode.startState) return true; var pos = findStartLine(cm, n, precise), state = pos > doc.first && getLine(doc, pos-1).stateAfter; if (!state) state = startState(doc.mode); else state = copyState(doc.mode, state); doc.iter(pos, n, function(line) { processLine(cm, line.text, state); var save = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo; line.stateAfter = save ? copyState(doc.mode, state) : null; ++pos; }); if (precise) doc.frontier = pos; return state; } // POSITION MEASUREMENT function paddingTop(display) {return display.lineSpace.offsetTop;} function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight;} function paddingH(display) { if (display.cachedPaddingH) return display.cachedPaddingH; var e = removeChildrenAndAdd(display.measure, elt("pre", "x")); var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle; var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}; if (!isNaN(data.left) && !isNaN(data.right)) display.cachedPaddingH = data; return data; } function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth; } function displayWidth(cm) { return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth; } function displayHeight(cm) { return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight; } // Ensure the lineView.wrapping.heights array is populated. This is // an array of bottom offsets for the lines that make up a drawn // line. When lineWrapping is on, there might be more than one // height. function ensureLineHeights(cm, lineView, rect) { var wrapping = cm.options.lineWrapping; var curWidth = wrapping && displayWidth(cm); if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) { var heights = lineView.measure.heights = []; if (wrapping) { lineView.measure.width = curWidth; var rects = lineView.text.firstChild.getClientRects(); for (var i = 0; i < rects.length - 1; i++) { var cur = rects[i], next = rects[i + 1]; if (Math.abs(cur.bottom - next.bottom) > 2) heights.push((cur.bottom + next.top) / 2 - rect.top); } } heights.push(rect.bottom - rect.top); } } // Find a line map (mapping character offsets to text nodes) and a // measurement cache for the given line number. (A line view might // contain multiple lines when collapsed ranges are present.) function mapFromLineView(lineView, line, lineN) { if (lineView.line == line) return {map: lineView.measure.map, cache: lineView.measure.cache}; for (var i = 0; i < lineView.rest.length; i++) if (lineView.rest[i] == line) return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]}; for (var i = 0; i < lineView.rest.length; i++) if (lineNo(lineView.rest[i]) > lineN) return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i], before: true}; } // Render a line into the hidden node display.externalMeasured. Used // when measurement is needed for a line that's not in the viewport. function updateExternalMeasurement(cm, line) { line = visualLine(line); var lineN = lineNo(line); var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN); view.lineN = lineN; var built = view.built = buildLineContent(cm, view); view.text = built.pre; removeChildrenAndAdd(cm.display.lineMeasure, built.pre); return view; } // Get a {top, bottom, left, right} box (in line-local coordinates) // for a given character. function measureChar(cm, line, ch, bias) { return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias); } // Find a line view that corresponds to the given line number. function findViewForLine(cm, lineN) { if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo) return cm.display.view[findViewIndex(cm, lineN)]; var ext = cm.display.externalMeasured; if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size) return ext; } // Measurement can be split in two steps, the set-up work that // applies to the whole line, and the measurement of the actual // character. Functions like coordsChar, that need to do a lot of // measurements in a row, can thus ensure that the set-up work is // only done once. function prepareMeasureForLine(cm, line) { var lineN = lineNo(line); var view = findViewForLine(cm, lineN); if (view && !view.text) { view = null; } else if (view && view.changes) { updateLineForChanges(cm, view, lineN, getDimensions(cm)); cm.curOp.forceUpdate = true; } if (!view) view = updateExternalMeasurement(cm, line); var info = mapFromLineView(view, line, lineN); return { line: line, view: view, rect: null, map: info.map, cache: info.cache, before: info.before, hasHeights: false }; } // Given a prepared measurement object, measures the position of an // actual character (or fetches it from the cache). function measureCharPrepared(cm, prepared, ch, bias, varHeight) { if (prepared.before) ch = -1; var key = ch + (bias || ""), found; if (prepared.cache.hasOwnProperty(key)) { found = prepared.cache[key]; } else { if (!prepared.rect) prepared.rect = prepared.view.text.getBoundingClientRect(); if (!prepared.hasHeights) { ensureLineHeights(cm, prepared.view, prepared.rect); prepared.hasHeights = true; } found = measureCharInner(cm, prepared, ch, bias); if (!found.bogus) prepared.cache[key] = found; } return {left: found.left, right: found.right, top: varHeight ? found.rtop : found.top, bottom: varHeight ? found.rbottom : found.bottom}; } var nullRect = {left: 0, right: 0, top: 0, bottom: 0}; function nodeAndOffsetInLineMap(map, ch, bias) { var node, start, end, collapse; // First, search the line map for the text node corresponding to, // or closest to, the target character. for (var i = 0; i < map.length; i += 3) { var mStart = map[i], mEnd = map[i + 1]; if (ch < mStart) { start = 0; end = 1; collapse = "left"; } else if (ch < mEnd) { start = ch - mStart; end = start + 1; } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) { end = mEnd - mStart; start = end - 1; if (ch >= mEnd) collapse = "right"; } if (start != null) { node = map[i + 2]; if (mStart == mEnd && bias == (node.insertLeft ? "left" : "right")) collapse = bias; if (bias == "left" && start == 0) while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) { node = map[(i -= 3) + 2]; collapse = "left"; } if (bias == "right" && start == mEnd - mStart) while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) { node = map[(i += 3) + 2]; collapse = "right"; } break; } } return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd}; } function getUsefulRect(rects, bias) { var rect = nullRect if (bias == "left") for (var i = 0; i < rects.length; i++) { if ((rect = rects[i]).left != rect.right) break } else for (var i = rects.length - 1; i >= 0; i--) { if ((rect = rects[i]).left != rect.right) break } return rect } function measureCharInner(cm, prepared, ch, bias) { var place = nodeAndOffsetInLineMap(prepared.map, ch, bias); var node = place.node, start = place.start, end = place.end, collapse = place.collapse; var rect; if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates. for (var i = 0; i < 4; i++) { // Retry a maximum of 4 times when nonsense rectangles are returned while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) --start; while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) ++end; if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart) rect = node.parentNode.getBoundingClientRect(); else rect = getUsefulRect(range(node, start, end).getClientRects(), bias) if (rect.left || rect.right || start == 0) break; end = start; start = start - 1; collapse = "right"; } if (ie && ie_version < 11) rect = maybeUpdateRectForZooming(cm.display.measure, rect); } else { // If it is a widget, simply get the box for the whole widget. if (start > 0) collapse = bias = "right"; var rects; if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1) rect = rects[bias == "right" ? rects.length - 1 : 0]; else rect = node.getBoundingClientRect(); } if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) { var rSpan = node.parentNode.getClientRects()[0]; if (rSpan) rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; else rect = nullRect; } var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top; var mid = (rtop + rbot) / 2; var heights = prepared.view.measure.heights; for (var i = 0; i < heights.length - 1; i++) if (mid < heights[i]) break; var top = i ? heights[i - 1] : 0, bot = heights[i]; var result = {left: (collapse == "right" ? rect.right : rect.left) - prepared.rect.left, right: (collapse == "left" ? rect.left : rect.right) - prepared.rect.left, top: top, bottom: bot}; if (!rect.left && !rect.right) result.bogus = true; if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; } return result; } // Work around problem with bounding client rects on ranges being // returned incorrectly when zoomed on IE10 and below. function maybeUpdateRectForZooming(measure, rect) { if (!window.screen || screen.logicalXDPI == null || screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure)) return rect; var scaleX = screen.logicalXDPI / screen.deviceXDPI; var scaleY = screen.logicalYDPI / screen.deviceYDPI; return {left: rect.left * scaleX, right: rect.right * scaleX, top: rect.top * scaleY, bottom: rect.bottom * scaleY}; } function clearLineMeasurementCacheFor(lineView) { if (lineView.measure) { lineView.measure.cache = {}; lineView.measure.heights = null; if (lineView.rest) for (var i = 0; i < lineView.rest.length; i++) lineView.measure.caches[i] = {}; } } function clearLineMeasurementCache(cm) { cm.display.externalMeasure = null; removeChildren(cm.display.lineMeasure); for (var i = 0; i < cm.display.view.length; i++) clearLineMeasurementCacheFor(cm.display.view[i]); } function clearCaches(cm) { clearLineMeasurementCache(cm); cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null; if (!cm.options.lineWrapping) cm.display.maxLineChanged = true; cm.display.lineNumChars = null; } function pageScrollX() { return window.pageXOffset || (document.documentElement || document.body).scrollLeft; } function pageScrollY() { return window.pageYOffset || (document.documentElement || document.body).scrollTop; } // Converts a {top, bottom, left, right} box from line-local // coordinates into another coordinate system. Context may be one of // "line", "div" (display.lineDiv), "local"/null (editor), "window", // or "page". function intoCoordSystem(cm, lineObj, rect, context) { if (lineObj.widgets) for (var i = 0; i < lineObj.widgets.length; ++i) if (lineObj.widgets[i].above) { var size = widgetHeight(lineObj.widgets[i]); rect.top += size; rect.bottom += size; } if (context == "line") return rect; if (!context) context = "local"; var yOff = heightAtLine(lineObj); if (context == "local") yOff += paddingTop(cm.display); else yOff -= cm.display.viewOffset; if (context == "page" || context == "window") { var lOff = cm.display.lineSpace.getBoundingClientRect(); yOff += lOff.top + (context == "window" ? 0 : pageScrollY()); var xOff = lOff.left + (context == "window" ? 0 : pageScrollX()); rect.left += xOff; rect.right += xOff; } rect.top += yOff; rect.bottom += yOff; return rect; } // Coverts a box from "div" coords to another coordinate system. // Context may be "window", "page", "div", or "local"/null. function fromCoordSystem(cm, coords, context) { if (context == "div") return coords; var left = coords.left, top = coords.top; // First move into "page" coordinate system if (context == "page") { left -= pageScrollX(); top -= pageScrollY(); } else if (context == "local" || !context) { var localBox = cm.display.sizer.getBoundingClientRect(); left += localBox.left; top += localBox.top; } var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect(); return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top}; } function charCoords(cm, pos, context, lineObj, bias) { if (!lineObj) lineObj = getLine(cm.doc, pos.line); return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context); } // Returns a box for a given cursor position, which may have an // 'other' property containing the position of the secondary cursor // on a bidi boundary. function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) { lineObj = lineObj || getLine(cm.doc, pos.line); if (!preparedMeasure) preparedMeasure = prepareMeasureForLine(cm, lineObj); function get(ch, right) { var m = measureCharPrepared(cm, preparedMeasure, ch, right ? "right" : "left", varHeight); if (right) m.left = m.right; else m.right = m.left; return intoCoordSystem(cm, lineObj, m, context); } function getBidi(ch, partPos) { var part = order[partPos], right = part.level % 2; if (ch == bidiLeft(part) && partPos && part.level < order[partPos - 1].level) { part = order[--partPos]; ch = bidiRight(part) - (part.level % 2 ? 0 : 1); right = true; } else if (ch == bidiRight(part) && partPos < order.length - 1 && part.level < order[partPos + 1].level) { part = order[++partPos]; ch = bidiLeft(part) - part.level % 2; right = false; } if (right && ch == part.to && ch > part.from) return get(ch - 1); return get(ch, right); } var order = getOrder(lineObj), ch = pos.ch; if (!order) return get(ch); var partPos = getBidiPartAt(order, ch); var val = getBidi(ch, partPos); if (bidiOther != null) val.other = getBidi(ch, bidiOther); return val; } // Used to cheaply estimate the coordinates for a position. Used for // intermediate scroll updates. function estimateCoords(cm, pos) { var left = 0, pos = clipPos(cm.doc, pos); if (!cm.options.lineWrapping) left = charWidth(cm.display) * pos.ch; var lineObj = getLine(cm.doc, pos.line); var top = heightAtLine(lineObj) + paddingTop(cm.display); return {left: left, right: left, top: top, bottom: top + lineObj.height}; } // Positions returned by coordsChar contain some extra information. // xRel is the relative x position of the input coordinates compared // to the found position (so xRel > 0 means the coordinates are to // the right of the character position, for example). When outside // is true, that means the coordinates lie outside the line's // vertical range. function PosWithInfo(line, ch, outside, xRel) { var pos = Pos(line, ch); pos.xRel = xRel; if (outside) pos.outside = true; return pos; } // Compute the character position closest to the given coordinates. // Input must be lineSpace-local ("div" coordinate system). function coordsChar(cm, x, y) { var doc = cm.doc; y += cm.display.viewOffset; if (y < 0) return PosWithInfo(doc.first, 0, true, -1); var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1; if (lineN > last) return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, true, 1); if (x < 0) x = 0; var lineObj = getLine(doc, lineN); for (;;) { var found = coordsCharInner(cm, lineObj, lineN, x, y); var merged = collapsedSpanAtEnd(lineObj); var mergedPos = merged && merged.find(0, true); if (merged && (found.ch > mergedPos.from.ch || found.ch == mergedPos.from.ch && found.xRel > 0)) lineN = lineNo(lineObj = mergedPos.to.line); else return found; } } function coordsCharInner(cm, lineObj, lineNo, x, y) { var innerOff = y - heightAtLine(lineObj); var wrongLine = false, adjust = 2 * cm.display.wrapper.clientWidth; var preparedMeasure = prepareMeasureForLine(cm, lineObj); function getX(ch) { var sp = cursorCoords(cm, Pos(lineNo, ch), "line", lineObj, preparedMeasure); wrongLine = true; if (innerOff > sp.bottom) return sp.left - adjust; else if (innerOff < sp.top) return sp.left + adjust; else wrongLine = false; return sp.left; } var bidi = getOrder(lineObj), dist = lineObj.text.length; var from = lineLeft(lineObj), to = lineRight(lineObj); var fromX = getX(from), fromOutside = wrongLine, toX = getX(to), toOutside = wrongLine; if (x > toX) return PosWithInfo(lineNo, to, toOutside, 1); // Do a binary search between these bounds. for (;;) { if (bidi ? to == from || to == moveVisually(lineObj, from, 1) : to - from <= 1) { var ch = x < fromX || x - fromX <= toX - x ? from : to; var outside = ch == from ? fromOutside : toOutside var xDiff = x - (ch == from ? fromX : toX); // This is a kludge to handle the case where the coordinates // are after a line-wrapped line. We should replace it with a // more general handling of cursor positions around line // breaks. (Issue #4078) if (toOutside && !bidi && !/\s/.test(lineObj.text.charAt(ch)) && xDiff > 0 && ch < lineObj.text.length && preparedMeasure.view.measure.heights.length > 1) { var charSize = measureCharPrepared(cm, preparedMeasure, ch, "right"); if (innerOff <= charSize.bottom && innerOff >= charSize.top && Math.abs(x - charSize.right) < xDiff) { outside = false ch++ xDiff = x - charSize.right } } while (isExtendingChar(lineObj.text.charAt(ch))) ++ch; var pos = PosWithInfo(lineNo, ch, outside, xDiff < -1 ? -1 : xDiff > 1 ? 1 : 0); return pos; } var step = Math.ceil(dist / 2), middle = from + step; if (bidi) { middle = from; for (var i = 0; i < step; ++i) middle = moveVisually(lineObj, middle, 1); } var middleX = getX(middle); if (middleX > x) {to = middle; toX = middleX; if (toOutside = wrongLine) toX += 1000; dist = step;} else {from = middle; fromX = middleX; fromOutside = wrongLine; dist -= step;} } } var measureText; // Compute the default text height. function textHeight(display) { if (display.cachedTextHeight != null) return display.cachedTextHeight; if (measureText == null) { measureText = elt("pre"); // Measure a bunch of lines, for browsers that compute // fractional heights. for (var i = 0; i < 49; ++i) { measureText.appendChild(document.createTextNode("x")); measureText.appendChild(elt("br")); } measureText.appendChild(document.createTextNode("x")); } removeChildrenAndAdd(display.measure, measureText); var height = measureText.offsetHeight / 50; if (height > 3) display.cachedTextHeight = height; removeChildren(display.measure); return height || 1; } // Compute the default character width. function charWidth(display) { if (display.cachedCharWidth != null) return display.cachedCharWidth; var anchor = elt("span", "xxxxxxxxxx"); var pre = elt("pre", [anchor]); removeChildrenAndAdd(display.measure, pre); var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10; if (width > 2) display.cachedCharWidth = width; return width || 10; } // OPERATIONS // Operations are used to wrap a series of changes to the editor // state in such a way that each change won't have to update the // cursor and display (which would be awkward, slow, and // error-prone). Instead, display updates are batched and then all // combined and executed at once. var operationGroup = null; var nextOpId = 0; // Start a new operation. function startOperation(cm) { cm.curOp = { cm: cm, viewChanged: false, // Flag that indicates that lines might need to be redrawn startHeight: cm.doc.height, // Used to detect need to update scrollbar forceUpdate: false, // Used to force a redraw updateInput: null, // Whether to reset the input textarea typing: false, // Whether this reset should be careful to leave existing text (for compositing) changeObjs: null, // Accumulated changes, for firing change events cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already selectionChanged: false, // Whether the selection needs to be redrawn updateMaxLine: false, // Set when the widest line needs to be determined anew scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet scrollToPos: null, // Used to scroll to a specific position focus: false, id: ++nextOpId // Unique ID }; if (operationGroup) { operationGroup.ops.push(cm.curOp); } else { cm.curOp.ownsGroup = operationGroup = { ops: [cm.curOp], delayedCallbacks: [] }; } } function fireCallbacksForOps(group) { // Calls delayed callbacks and cursorActivity handlers until no // new ones appear var callbacks = group.delayedCallbacks, i = 0; do { for (; i < callbacks.length; i++) callbacks[i].call(null); for (var j = 0; j < group.ops.length; j++) { var op = group.ops[j]; if (op.cursorActivityHandlers) while (op.cursorActivityCalled < op.cursorActivityHandlers.length) op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } } while (i < callbacks.length); } // Finish an operation, updating the display and signalling delayed events function endOperation(cm) { var op = cm.curOp, group = op.ownsGroup; if (!group) return; try { fireCallbacksForOps(group); } finally { operationGroup = null; for (var i = 0; i < group.ops.length; i++) group.ops[i].cm.curOp = null; endOperations(group); } } // The DOM updates done when an operation finishes are batched so // that the minimum number of relayouts are required. function endOperations(group) { var ops = group.ops; for (var i = 0; i < ops.length; i++) // Read DOM endOperation_R1(ops[i]); for (var i = 0; i < ops.length; i++) // Write DOM (maybe) endOperation_W1(ops[i]); for (var i = 0; i < ops.length; i++) // Read DOM endOperation_R2(ops[i]); for (var i = 0; i < ops.length; i++) // Write DOM (maybe) endOperation_W2(ops[i]); for (var i = 0; i < ops.length; i++) // Read DOM endOperation_finish(ops[i]); } function endOperation_R1(op) { var cm = op.cm, display = cm.display; maybeClipScrollbars(cm); if (op.updateMaxLine) findMaxLine(cm); op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null || op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom || op.scrollToPos.to.line >= display.viewTo) || display.maxLineChanged && cm.options.lineWrapping; op.update = op.mustUpdate && new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate); } function endOperation_W1(op) { op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update); } function endOperation_R2(op) { var cm = op.cm, display = cm.display; if (op.updatedDisplay) updateHeightsInViewport(cm); op.barMeasure = measureForScrollbars(cm); // If the max line changed since it was last measured, measure it, // and ensure the document's width matches it. // updateDisplay_W2 will use these properties to do the actual resizing if (display.maxLineChanged && !cm.options.lineWrapping) { op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3; cm.display.sizerWidth = op.adjustWidthTo; op.barMeasure.scrollWidth = Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth); op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm)); } if (op.updatedDisplay || op.selectionChanged) op.preparedSelection = display.input.prepareSelection(op.focus); } function endOperation_W2(op) { var cm = op.cm; if (op.adjustWidthTo != null) { cm.display.sizer.style.minWidth = op.adjustWidthTo + "px"; if (op.maxScrollLeft < cm.doc.scrollLeft) setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); cm.display.maxLineChanged = false; } var takeFocus = op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus()) if (op.preparedSelection) cm.display.input.showSelection(op.preparedSelection, takeFocus); if (op.updatedDisplay || op.startHeight != cm.doc.height) updateScrollbars(cm, op.barMeasure); if (op.updatedDisplay) setDocumentHeight(cm, op.barMeasure); if (op.selectionChanged) restartBlink(cm); if (cm.state.focused && op.updateInput) cm.display.input.reset(op.typing); if (takeFocus) ensureFocus(op.cm); } function endOperation_finish(op) { var cm = op.cm, display = cm.display, doc = cm.doc; if (op.updatedDisplay) postUpdateDisplay(cm, op.update); // Abort mouse wheel delta measurement, when scrolling explicitly if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos)) display.wheelStartX = display.wheelStartY = null; // Propagate the scroll position to the actual DOM scroller if (op.scrollTop != null && (display.scroller.scrollTop != op.scrollTop || op.forceScroll)) { doc.scrollTop = Math.max(0, Math.min(display.scroller.scrollHeight - display.scroller.clientHeight, op.scrollTop)); display.scrollbars.setScrollTop(doc.scrollTop); display.scroller.scrollTop = doc.scrollTop; } if (op.scrollLeft != null && (display.scroller.scrollLeft != op.scrollLeft || op.forceScroll)) { doc.scrollLeft = Math.max(0, Math.min(display.scroller.scrollWidth - display.scroller.clientWidth, op.scrollLeft)); display.scrollbars.setScrollLeft(doc.scrollLeft); display.scroller.scrollLeft = doc.scrollLeft; alignHorizontally(cm); } // If we need to scroll a specific position into view, do so. if (op.scrollToPos) { var coords = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from), clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin); if (op.scrollToPos.isCursor && cm.state.focused) maybeScrollWindow(cm, coords); } // Fire events for markers that are hidden/unidden by editing or // undoing var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers; if (hidden) for (var i = 0; i < hidden.length; ++i) if (!hidden[i].lines.length) signal(hidden[i], "hide"); if (unhidden) for (var i = 0; i < unhidden.length; ++i) if (unhidden[i].lines.length) signal(unhidden[i], "unhide"); if (display.wrapper.offsetHeight) doc.scrollTop = cm.display.scroller.scrollTop; // Fire change events, and delayed event handlers if (op.changeObjs) signal(cm, "changes", cm, op.changeObjs); if (op.update) op.update.finish(); } // Run the given function in an operation function runInOp(cm, f) { if (cm.curOp) return f(); startOperation(cm); try { return f(); } finally { endOperation(cm); } } // Wraps a function in an operation. Returns the wrapped function. function operation(cm, f) { return function() { if (cm.curOp) return f.apply(cm, arguments); startOperation(cm); try { return f.apply(cm, arguments); } finally { endOperation(cm); } }; } // Used to add methods to editor and doc instances, wrapping them in // operations. function methodOp(f) { return function() { if (this.curOp) return f.apply(this, arguments); startOperation(this); try { return f.apply(this, arguments); } finally { endOperation(this); } }; } function docMethodOp(f) { return function() { var cm = this.cm; if (!cm || cm.curOp) return f.apply(this, arguments); startOperation(cm); try { return f.apply(this, arguments); } finally { endOperation(cm); } }; } // VIEW TRACKING // These objects are used to represent the visible (currently drawn) // part of the document. A LineView may correspond to multiple // logical lines, if those are connected by collapsed ranges. function LineView(doc, line, lineN) { // The starting line this.line = line; // Continuing lines, if any this.rest = visualLineContinued(line); // Number of logical lines in this visual line this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1; this.node = this.text = null; this.hidden = lineIsHidden(doc, line); } // Create a range of LineView objects for the given lines. function buildViewArray(cm, from, to) { var array = [], nextPos; for (var pos = from; pos < to; pos = nextPos) { var view = new LineView(cm.doc, getLine(cm.doc, pos), pos); nextPos = pos + view.size; array.push(view); } return array; } // Updates the display.view data structure for a given change to the // document. From and to are in pre-change coordinates. Lendiff is // the amount of lines added or subtracted by the change. This is // used for changes that span multiple lines, or change the way // lines are divided into visual lines. regLineChange (below) // registers single-line changes. function regChange(cm, from, to, lendiff) { if (from == null) from = cm.doc.first; if (to == null) to = cm.doc.first + cm.doc.size; if (!lendiff) lendiff = 0; var display = cm.display; if (lendiff && to < display.viewTo && (display.updateLineNumbers == null || display.updateLineNumbers > from)) display.updateLineNumbers = from; cm.curOp.viewChanged = true; if (from >= display.viewTo) { // Change after if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo) resetView(cm); } else if (to <= display.viewFrom) { // Change before if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) { resetView(cm); } else { display.viewFrom += lendiff; display.viewTo += lendiff; } } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap resetView(cm); } else if (from <= display.viewFrom) { // Top overlap var cut = viewCuttingPoint(cm, to, to + lendiff, 1); if (cut) { display.view = display.view.slice(cut.index); display.viewFrom = cut.lineN; display.viewTo += lendiff; } else { resetView(cm); } } else if (to >= display.viewTo) { // Bottom overlap var cut = viewCuttingPoint(cm, from, from, -1); if (cut) { display.view = display.view.slice(0, cut.index); display.viewTo = cut.lineN; } else { resetView(cm); } } else { // Gap in the middle var cutTop = viewCuttingPoint(cm, from, from, -1); var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1); if (cutTop && cutBot) { display.view = display.view.slice(0, cutTop.index) .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN)) .concat(display.view.slice(cutBot.index)); display.viewTo += lendiff; } else { resetView(cm); } } var ext = display.externalMeasured; if (ext) { if (to < ext.lineN) ext.lineN += lendiff; else if (from < ext.lineN + ext.size) display.externalMeasured = null; } } // Register a change to a single line. Type must be one of "text", // "gutter", "class", "widget" function regLineChange(cm, line, type) { cm.curOp.viewChanged = true; var display = cm.display, ext = cm.display.externalMeasured; if (ext && line >= ext.lineN && line < ext.lineN + ext.size) display.externalMeasured = null; if (line < display.viewFrom || line >= display.viewTo) return; var lineView = display.view[findViewIndex(cm, line)]; if (lineView.node == null) return; var arr = lineView.changes || (lineView.changes = []); if (indexOf(arr, type) == -1) arr.push(type); } // Clear the view. function resetView(cm) { cm.display.viewFrom = cm.display.viewTo = cm.doc.first; cm.display.view = []; cm.display.viewOffset = 0; } // Find the view element corresponding to a given line. Return null // when the line isn't visible. function findViewIndex(cm, n) { if (n >= cm.display.viewTo) return null; n -= cm.display.viewFrom; if (n < 0) return null; var view = cm.display.view; for (var i = 0; i < view.length; i++) { n -= view[i].size; if (n < 0) return i; } } function viewCuttingPoint(cm, oldN, newN, dir) { var index = findViewIndex(cm, oldN), diff, view = cm.display.view; if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size) return {index: index, lineN: newN}; for (var i = 0, n = cm.display.viewFrom; i < index; i++) n += view[i].size; if (n != oldN) { if (dir > 0) { if (index == view.length - 1) return null; diff = (n + view[index].size) - oldN; index++; } else { diff = n - oldN; } oldN += diff; newN += diff; } while (visualLineNo(cm.doc, newN) != newN) { if (index == (dir < 0 ? 0 : view.length - 1)) return null; newN += dir * view[index - (dir < 0 ? 1 : 0)].size; index += dir; } return {index: index, lineN: newN}; } // Force the view to cover a given range, adding empty view element // or clipping off existing ones as needed. function adjustView(cm, from, to) { var display = cm.display, view = display.view; if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) { display.view = buildViewArray(cm, from, to); display.viewFrom = from; } else { if (display.viewFrom > from) display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); else if (display.viewFrom < from) display.view = display.view.slice(findViewIndex(cm, from)); display.viewFrom = from; if (display.viewTo < to) display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); else if (display.viewTo > to) display.view = display.view.slice(0, findViewIndex(cm, to)); } display.viewTo = to; } // Count the number of lines in the view whose DOM representation is // out of date (or nonexistent). function countDirtyView(cm) { var view = cm.display.view, dirty = 0; for (var i = 0; i < view.length; i++) { var lineView = view[i]; if (!lineView.hidden && (!lineView.node || lineView.changes)) ++dirty; } return dirty; } // EVENT HANDLERS // Attach the necessary event handlers when initializing the editor function registerEventHandlers(cm) { var d = cm.display; on(d.scroller, "mousedown", operation(cm, onMouseDown)); // Older IE's will not fire a second mousedown for a double click if (ie && ie_version < 11) on(d.scroller, "dblclick", operation(cm, function(e) { if (signalDOMEvent(cm, e)) return; var pos = posFromMouse(cm, e); if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) return; e_preventDefault(e); var word = cm.findWordAt(pos); extendSelection(cm.doc, word.anchor, word.head); })); else on(d.scroller, "dblclick", function(e) { signalDOMEvent(cm, e) || e_preventDefault(e); }); // Some browsers fire contextmenu *after* opening the menu, at // which point we can't mess with it anymore. Context menu is // handled in onMouseDown for these browsers. if (!captureRightClick) on(d.scroller, "contextmenu", function(e) {onContextMenu(cm, e);}); // Used to suppress mouse event handling when a touch happens var touchFinished, prevTouch = {end: 0}; function finishTouch() { if (d.activeTouch) { touchFinished = setTimeout(function() {d.activeTouch = null;}, 1000); prevTouch = d.activeTouch; prevTouch.end = +new Date; } }; function isMouseLikeTouchEvent(e) { if (e.touches.length != 1) return false; var touch = e.touches[0]; return touch.radiusX <= 1 && touch.radiusY <= 1; } function farAway(touch, other) { if (other.left == null) return true; var dx = other.left - touch.left, dy = other.top - touch.top; return dx * dx + dy * dy > 20 * 20; } on(d.scroller, "touchstart", function(e) { if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e)) { clearTimeout(touchFinished); var now = +new Date; d.activeTouch = {start: now, moved: false, prev: now - prevTouch.end <= 300 ? prevTouch : null}; if (e.touches.length == 1) { d.activeTouch.left = e.touches[0].pageX; d.activeTouch.top = e.touches[0].pageY; } } }); on(d.scroller, "touchmove", function() { if (d.activeTouch) d.activeTouch.moved = true; }); on(d.scroller, "touchend", function(e) { var touch = d.activeTouch; if (touch && !eventInWidget(d, e) && touch.left != null && !touch.moved && new Date - touch.start < 300) { var pos = cm.coordsChar(d.activeTouch, "page"), range; if (!touch.prev || farAway(touch, touch.prev)) // Single tap range = new Range(pos, pos); else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap range = cm.findWordAt(pos); else // Triple tap range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); cm.setSelection(range.anchor, range.head); cm.focus(); e_preventDefault(e); } finishTouch(); }); on(d.scroller, "touchcancel", finishTouch); // Sync scrolling between fake scrollbars and real scrollable // area, ensure viewport is updated when scrolling. on(d.scroller, "scroll", function() { if (d.scroller.clientHeight) { setScrollTop(cm, d.scroller.scrollTop); setScrollLeft(cm, d.scroller.scrollLeft, true); signal(cm, "scroll", cm); } }); // Listen to wheel events in order to try and update the viewport on time. on(d.scroller, "mousewheel", function(e){onScrollWheel(cm, e);}); on(d.scroller, "DOMMouseScroll", function(e){onScrollWheel(cm, e);}); // Prevent wrapper from ever scrolling on(d.wrapper, "scroll", function() { d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; }); d.dragFunctions = { enter: function(e) {if (!signalDOMEvent(cm, e)) e_stop(e);}, over: function(e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }}, start: function(e){onDragStart(cm, e);}, drop: operation(cm, onDrop), leave: function(e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }} }; var inp = d.input.getField(); on(inp, "keyup", function(e) { onKeyUp.call(cm, e); }); on(inp, "keydown", operation(cm, onKeyDown)); on(inp, "keypress", operation(cm, onKeyPress)); on(inp, "focus", bind(onFocus, cm)); on(inp, "blur", bind(onBlur, cm)); } function dragDropChanged(cm, value, old) { var wasOn = old && old != CodeMirror.Init; if (!value != !wasOn) { var funcs = cm.display.dragFunctions; var toggle = value ? on : off; toggle(cm.display.scroller, "dragstart", funcs.start); toggle(cm.display.scroller, "dragenter", funcs.enter); toggle(cm.display.scroller, "dragover", funcs.over); toggle(cm.display.scroller, "dragleave", funcs.leave); toggle(cm.display.scroller, "drop", funcs.drop); } } // Called when the window resizes function onResize(cm) { var d = cm.display; if (d.lastWrapHeight == d.wrapper.clientHeight && d.lastWrapWidth == d.wrapper.clientWidth) return; // Might be a text scaling operation, clear size caches. d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; d.scrollbarsClipped = false; cm.setSize(); } // MOUSE EVENTS // Return true when the given mouse event happened in a widget function eventInWidget(display, e) { for (var n = e_target(e); n != display.wrapper; n = n.parentNode) { if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") || (n.parentNode == display.sizer && n != display.mover)) return true; } } // Given a mouse event, find the corresponding position. If liberal // is false, it checks whether a gutter or scrollbar was clicked, // and returns null if it was. forRect is used by rectangular // selections, and tries to estimate a character position even for // coordinates beyond the right of the text. function posFromMouse(cm, e, liberal, forRect) { var display = cm.display; if (!liberal && e_target(e).getAttribute("cm-not-content") == "true") return null; var x, y, space = display.lineSpace.getBoundingClientRect(); // Fails unpredictably on IE[67] when mouse is dragged around quickly. try { x = e.clientX - space.left; y = e.clientY - space.top; } catch (e) { return null; } var coords = coordsChar(cm, x, y), line; if (forRect && coords.xRel == 1 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) { var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length; coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff)); } return coords; } // A mouse down can be a single click, double click, triple click, // start of selection drag, start of text drag, new cursor // (ctrl-click), rectangle drag (alt-drag), or xwin // middle-click-paste. Or it might be a click on something we should // not interfere with, such as a scrollbar or widget. function onMouseDown(e) { var cm = this, display = cm.display; if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) return; display.shift = e.shiftKey; if (eventInWidget(display, e)) { if (!webkit) { // Briefly turn off draggability, to allow widgets to do // normal dragging things. display.scroller.draggable = false; setTimeout(function(){display.scroller.draggable = true;}, 100); } return; } if (clickInGutter(cm, e)) return; var start = posFromMouse(cm, e); window.focus(); switch (e_button(e)) { case 1: // #3261: make sure, that we're not starting a second selection if (cm.state.selectingText) cm.state.selectingText(e); else if (start) leftButtonDown(cm, e, start); else if (e_target(e) == display.scroller) e_preventDefault(e); break; case 2: if (webkit) cm.state.lastMiddleDown = +new Date; if (start) extendSelection(cm.doc, start); setTimeout(function() {display.input.focus();}, 20); e_preventDefault(e); break; case 3: if (captureRightClick) onContextMenu(cm, e); else delayBlurEvent(cm); break; } } var lastClick, lastDoubleClick; function leftButtonDown(cm, e, start) { if (ie) setTimeout(bind(ensureFocus, cm), 0); else cm.curOp.focus = activeElt(); var now = +new Date, type; if (lastDoubleClick && lastDoubleClick.time > now - 400 && cmp(lastDoubleClick.pos, start) == 0) { type = "triple"; } else if (lastClick && lastClick.time > now - 400 && cmp(lastClick.pos, start) == 0) { type = "double"; lastDoubleClick = {time: now, pos: start}; } else { type = "single"; lastClick = {time: now, pos: start}; } var sel = cm.doc.sel, modifier = mac ? e.metaKey : e.ctrlKey, contained; if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() && type == "single" && (contained = sel.contains(start)) > -1 && (cmp((contained = sel.ranges[contained]).from(), start) < 0 || start.xRel > 0) && (cmp(contained.to(), start) > 0 || start.xRel < 0)) leftButtonStartDrag(cm, e, start, modifier); else leftButtonSelect(cm, e, start, type, modifier); } // Start a text drag. When it ends, see if any dragging actually // happen, and treat as a click if it didn't. function leftButtonStartDrag(cm, e, start, modifier) { var display = cm.display, startTime = +new Date; var dragEnd = operation(cm, function(e2) { if (webkit) display.scroller.draggable = false; cm.state.draggingText = false; off(document, "mouseup", dragEnd); off(display.scroller, "drop", dragEnd); if (Math.abs(e.clientX - e2.clientX) + Math.abs(e.clientY - e2.clientY) < 10) { e_preventDefault(e2); if (!modifier && +new Date - 200 < startTime) extendSelection(cm.doc, start); // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081) if (webkit || ie && ie_version == 9) setTimeout(function() {document.body.focus(); display.input.focus();}, 20); else display.input.focus(); } }); // Let the drag handler handle this. if (webkit) display.scroller.draggable = true; cm.state.draggingText = dragEnd; dragEnd.copy = mac ? e.altKey : e.ctrlKey // IE's approach to draggable if (display.scroller.dragDrop) display.scroller.dragDrop(); on(document, "mouseup", dragEnd); on(display.scroller, "drop", dragEnd); } // Normal selection, as opposed to text dragging. function leftButtonSelect(cm, e, start, type, addNew) { var display = cm.display, doc = cm.doc; e_preventDefault(e); var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges; if (addNew && !e.shiftKey) { ourIndex = doc.sel.contains(start); if (ourIndex > -1) ourRange = ranges[ourIndex]; else ourRange = new Range(start, start); } else { ourRange = doc.sel.primary(); ourIndex = doc.sel.primIndex; } if (chromeOS ? e.shiftKey && e.metaKey : e.altKey) { type = "rect"; if (!addNew) ourRange = new Range(start, start); start = posFromMouse(cm, e, true, true); ourIndex = -1; } else if (type == "double") { var word = cm.findWordAt(start); if (cm.display.shift || doc.extend) ourRange = extendRange(doc, ourRange, word.anchor, word.head); else ourRange = word; } else if (type == "triple") { var line = new Range(Pos(start.line, 0), clipPos(doc, Pos(start.line + 1, 0))); if (cm.display.shift || doc.extend) ourRange = extendRange(doc, ourRange, line.anchor, line.head); else ourRange = line; } else { ourRange = extendRange(doc, ourRange, start); } if (!addNew) { ourIndex = 0; setSelection(doc, new Selection([ourRange], 0), sel_mouse); startSel = doc.sel; } else if (ourIndex == -1) { ourIndex = ranges.length; setSelection(doc, normalizeSelection(ranges.concat([ourRange]), ourIndex), {scroll: false, origin: "*mouse"}); } else if (ranges.length > 1 && ranges[ourIndex].empty() && type == "single" && !e.shiftKey) { setSelection(doc, normalizeSelection(ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0), {scroll: false, origin: "*mouse"}); startSel = doc.sel; } else { replaceOneSelection(doc, ourIndex, ourRange, sel_mouse); } var lastPos = start; function extendTo(pos) { if (cmp(lastPos, pos) == 0) return; lastPos = pos; if (type == "rect") { var ranges = [], tabSize = cm.options.tabSize; var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize); var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize); var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol); for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line)); line <= end; line++) { var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize); if (left == right) ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); else if (text.length > leftPos) ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); } if (!ranges.length) ranges.push(new Range(start, start)); setSelection(doc, normalizeSelection(startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex), {origin: "*mouse", scroll: false}); cm.scrollIntoView(pos); } else { var oldRange = ourRange; var anchor = oldRange.anchor, head = pos; if (type != "single") { if (type == "double") var range = cm.findWordAt(pos); else var range = new Range(Pos(pos.line, 0), clipPos(doc, Pos(pos.line + 1, 0))); if (cmp(range.anchor, anchor) > 0) { head = range.head; anchor = minPos(oldRange.from(), range.anchor); } else { head = range.anchor; anchor = maxPos(oldRange.to(), range.head); } } var ranges = startSel.ranges.slice(0); ranges[ourIndex] = new Range(clipPos(doc, anchor), head); setSelection(doc, normalizeSelection(ranges, ourIndex), sel_mouse); } } var editorSize = display.wrapper.getBoundingClientRect(); // Used to ensure timeout re-tries don't fire when another extend // happened in the meantime (clearTimeout isn't reliable -- at // least on Chrome, the timeouts still happen even when cleared, // if the clear happens after their scheduled firing time). var counter = 0; function extend(e) { var curCount = ++counter; var cur = posFromMouse(cm, e, true, type == "rect"); if (!cur) return; if (cmp(cur, lastPos) != 0) { cm.curOp.focus = activeElt(); extendTo(cur); var visible = visibleLines(display, doc); if (cur.line >= visible.to || cur.line < visible.from) setTimeout(operation(cm, function(){if (counter == curCount) extend(e);}), 150); } else { var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0; if (outside) setTimeout(operation(cm, function() { if (counter != curCount) return; display.scroller.scrollTop += outside; extend(e); }), 50); } } function done(e) { cm.state.selectingText = false; counter = Infinity; e_preventDefault(e); display.input.focus(); off(document, "mousemove", move); off(document, "mouseup", up); doc.history.lastSelOrigin = null; } var move = operation(cm, function(e) { if (!e_button(e)) done(e); else extend(e); }); var up = operation(cm, done); cm.state.selectingText = up; on(document, "mousemove", move); on(document, "mouseup", up); } // Determines whether an event happened in the gutter, and fires the // handlers for the corresponding event. function gutterEvent(cm, e, type, prevent) { try { var mX = e.clientX, mY = e.clientY; } catch(e) { return false; } if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) return false; if (prevent) e_preventDefault(e); var display = cm.display; var lineBox = display.lineDiv.getBoundingClientRect(); if (mY > lineBox.bottom || !hasHandler(cm, type)) return e_defaultPrevented(e); mY -= lineBox.top - display.viewOffset; for (var i = 0; i < cm.options.gutters.length; ++i) { var g = display.gutters.childNodes[i]; if (g && g.getBoundingClientRect().right >= mX) { var line = lineAtHeight(cm.doc, mY); var gutter = cm.options.gutters[i]; signal(cm, type, cm, line, gutter, e); return e_defaultPrevented(e); } } } function clickInGutter(cm, e) { return gutterEvent(cm, e, "gutterClick", true); } // Kludge to work around strange IE behavior where it'll sometimes // re-fire a series of drag-related events right after the drop (#1551) var lastDrop = 0; function onDrop(e) { var cm = this; clearDragCursor(cm); if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) return; e_preventDefault(e); if (ie) lastDrop = +new Date; var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files; if (!pos || cm.isReadOnly()) return; // Might be a file drop, in which case we simply extract the text // and insert it. if (files && files.length && window.FileReader && window.File) { var n = files.length, text = Array(n), read = 0; var loadFile = function(file, i) { if (cm.options.allowDropFileTypes && indexOf(cm.options.allowDropFileTypes, file.type) == -1) return; var reader = new FileReader; reader.onload = operation(cm, function() { var content = reader.result; if (/[\x00-\x08\x0e-\x1f]{2}/.test(content)) content = ""; text[i] = content; if (++read == n) { pos = clipPos(cm.doc, pos); var change = {from: pos, to: pos, text: cm.doc.splitLines(text.join(cm.doc.lineSeparator())), origin: "paste"}; makeChange(cm.doc, change); setSelectionReplaceHistory(cm.doc, simpleSelection(pos, changeEnd(change))); } }); reader.readAsText(file); }; for (var i = 0; i < n; ++i) loadFile(files[i], i); } else { // Normal drop // Don't do a replace if the drop happened inside of the selected text. if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) { cm.state.draggingText(e); // Ensure the editor is re-focused setTimeout(function() {cm.display.input.focus();}, 20); return; } try { var text = e.dataTransfer.getData("Text"); if (text) { if (cm.state.draggingText && !cm.state.draggingText.copy) var selected = cm.listSelections(); setSelectionNoUndo(cm.doc, simpleSelection(pos, pos)); if (selected) for (var i = 0; i < selected.length; ++i) replaceRange(cm.doc, "", selected[i].anchor, selected[i].head, "drag"); cm.replaceSelection(text, "around", "paste"); cm.display.input.focus(); } } catch(e){} } } function onDragStart(cm, e) { if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return; } if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) return; e.dataTransfer.setData("Text", cm.getSelection()); e.dataTransfer.effectAllowed = "copyMove" // Use dummy image instead of default browsers image. // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there. if (e.dataTransfer.setDragImage && !safari) { var img = elt("img", null, null, "position: fixed; left: 0; top: 0;"); img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; if (presto) { img.width = img.height = 1; cm.display.wrapper.appendChild(img); // Force a relayout, or Opera won't use our image for some obscure reason img._top = img.offsetTop; } e.dataTransfer.setDragImage(img, 0, 0); if (presto) img.parentNode.removeChild(img); } } function onDragOver(cm, e) { var pos = posFromMouse(cm, e); if (!pos) return; var frag = document.createDocumentFragment(); drawSelectionCursor(cm, pos, frag); if (!cm.display.dragCursor) { cm.display.dragCursor = elt("div", null, "CodeMirror-cursors CodeMirror-dragcursors"); cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv); } removeChildrenAndAdd(cm.display.dragCursor, frag); } function clearDragCursor(cm) { if (cm.display.dragCursor) { cm.display.lineSpace.removeChild(cm.display.dragCursor); cm.display.dragCursor = null; } } // SCROLL EVENTS // Sync the scrollable area and scrollbars, ensure the viewport // covers the visible area. function setScrollTop(cm, val) { if (Math.abs(cm.doc.scrollTop - val) < 2) return; cm.doc.scrollTop = val; if (!gecko) updateDisplaySimple(cm, {top: val}); if (cm.display.scroller.scrollTop != val) cm.display.scroller.scrollTop = val; cm.display.scrollbars.setScrollTop(val); if (gecko) updateDisplaySimple(cm); startWorker(cm, 100); } // Sync scroller and scrollbar, ensure the gutter elements are // aligned. function setScrollLeft(cm, val, isScroller) { if (isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) return; val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth); cm.doc.scrollLeft = val; alignHorizontally(cm); if (cm.display.scroller.scrollLeft != val) cm.display.scroller.scrollLeft = val; cm.display.scrollbars.setScrollLeft(val); } // Since the delta values reported on mouse wheel events are // unstandardized between browsers and even browser versions, and // generally horribly unpredictable, this code starts by measuring // the scroll effect that the first few mouse wheel events have, // and, from that, detects the way it can convert deltas to pixel // offsets afterwards. // // The reason we want to know the amount a wheel event will scroll // is that it gives us a chance to update the display before the // actual scrolling happens, reducing flickering. var wheelSamples = 0, wheelPixelsPerUnit = null; // Fill in a browser-detected starting value on browsers where we // know one. These don't have to be accurate -- the result of them // being wrong would just be a slight flicker on the first wheel // scroll (if it is large enough). if (ie) wheelPixelsPerUnit = -.53; else if (gecko) wheelPixelsPerUnit = 15; else if (chrome) wheelPixelsPerUnit = -.7; else if (safari) wheelPixelsPerUnit = -1/3; var wheelEventDelta = function(e) { var dx = e.wheelDeltaX, dy = e.wheelDeltaY; if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) dx = e.detail; if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) dy = e.detail; else if (dy == null) dy = e.wheelDelta; return {x: dx, y: dy}; }; CodeMirror.wheelEventPixels = function(e) { var delta = wheelEventDelta(e); delta.x *= wheelPixelsPerUnit; delta.y *= wheelPixelsPerUnit; return delta; }; function onScrollWheel(cm, e) { var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y; var display = cm.display, scroll = display.scroller; // Quit if there's nothing to scroll here var canScrollX = scroll.scrollWidth > scroll.clientWidth; var canScrollY = scroll.scrollHeight > scroll.clientHeight; if (!(dx && canScrollX || dy && canScrollY)) return; // Webkit browsers on OS X abort momentum scrolls when the target // of the scroll event is removed from the scrollable element. // This hack (see related code in patchDisplay) makes sure the // element is kept around. if (dy && mac && webkit) { outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) { for (var i = 0; i < view.length; i++) { if (view[i].node == cur) { cm.display.currentWheelTarget = cur; break outer; } } } } // On some browsers, horizontal scrolling will cause redraws to // happen before the gutter has been realigned, causing it to // wriggle around in a most unseemly way. When we have an // estimated pixels/delta value, we just handle horizontal // scrolling entirely here. It'll be slightly off from native, but // better than glitching out. if (dx && !gecko && !presto && wheelPixelsPerUnit != null) { if (dy && canScrollY) setScrollTop(cm, Math.max(0, Math.min(scroll.scrollTop + dy * wheelPixelsPerUnit, scroll.scrollHeight - scroll.clientHeight))); setScrollLeft(cm, Math.max(0, Math.min(scroll.scrollLeft + dx * wheelPixelsPerUnit, scroll.scrollWidth - scroll.clientWidth))); // Only prevent default scrolling if vertical scrolling is // actually possible. Otherwise, it causes vertical scroll // jitter on OSX trackpads when deltaX is small and deltaY // is large (issue #3579) if (!dy || (dy && canScrollY)) e_preventDefault(e); display.wheelStartX = null; // Abort measurement, if in progress return; } // 'Project' the visible viewport to cover the area that is being // scrolled into view (if we know enough to estimate it). if (dy && wheelPixelsPerUnit != null) { var pixels = dy * wheelPixelsPerUnit; var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight; if (pixels < 0) top = Math.max(0, top + pixels - 50); else bot = Math.min(cm.doc.height, bot + pixels + 50); updateDisplaySimple(cm, {top: top, bottom: bot}); } if (wheelSamples < 20) { if (display.wheelStartX == null) { display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop; display.wheelDX = dx; display.wheelDY = dy; setTimeout(function() { if (display.wheelStartX == null) return; var movedX = scroll.scrollLeft - display.wheelStartX; var movedY = scroll.scrollTop - display.wheelStartY; var sample = (movedY && display.wheelDY && movedY / display.wheelDY) || (movedX && display.wheelDX && movedX / display.wheelDX); display.wheelStartX = display.wheelStartY = null; if (!sample) return; wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1); ++wheelSamples; }, 200); } else { display.wheelDX += dx; display.wheelDY += dy; } } } // KEY EVENTS // Run a handler that was bound to a key. function doHandleBinding(cm, bound, dropShift) { if (typeof bound == "string") { bound = commands[bound]; if (!bound) return false; } // Ensure previous input has been read, so that the handler sees a // consistent view of the document cm.display.input.ensurePolled(); var prevShift = cm.display.shift, done = false; try { if (cm.isReadOnly()) cm.state.suppressEdits = true; if (dropShift) cm.display.shift = false; done = bound(cm) != Pass; } finally { cm.display.shift = prevShift; cm.state.suppressEdits = false; } return done; } function lookupKeyForEditor(cm, name, handle) { for (var i = 0; i < cm.state.keyMaps.length; i++) { var result = lookupKey(name, cm.state.keyMaps[i], handle, cm); if (result) return result; } return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm)) || lookupKey(name, cm.options.keyMap, handle, cm); } var stopSeq = new Delayed; function dispatchKey(cm, name, e, handle) { var seq = cm.state.keySeq; if (seq) { if (isModifierKey(name)) return "handled"; stopSeq.set(50, function() { if (cm.state.keySeq == seq) { cm.state.keySeq = null; cm.display.input.reset(); } }); name = seq + " " + name; } var result = lookupKeyForEditor(cm, name, handle); if (result == "multi") cm.state.keySeq = name; if (result == "handled") signalLater(cm, "keyHandled", cm, name, e); if (result == "handled" || result == "multi") { e_preventDefault(e); restartBlink(cm); } if (seq && !result && /\'$/.test(name)) { e_preventDefault(e); return true; } return !!result; } // Handle a key from the keydown event. function handleKeyBinding(cm, e) { var name = keyName(e, true); if (!name) return false; if (e.shiftKey && !cm.state.keySeq) { // First try to resolve full name (including 'Shift-'). Failing // that, see if there is a cursor-motion command (starting with // 'go') bound to the keyname without 'Shift-'. return dispatchKey(cm, "Shift-" + name, e, function(b) {return doHandleBinding(cm, b, true);}) || dispatchKey(cm, name, e, function(b) { if (typeof b == "string" ? /^go[A-Z]/.test(b) : b.motion) return doHandleBinding(cm, b); }); } else { return dispatchKey(cm, name, e, function(b) { return doHandleBinding(cm, b); }); } } // Handle a key from the keypress event function handleCharBinding(cm, e, ch) { return dispatchKey(cm, "'" + ch + "'", e, function(b) { return doHandleBinding(cm, b, true); }); } var lastStoppedKey = null; function onKeyDown(e) { var cm = this; cm.curOp.focus = activeElt(); if (signalDOMEvent(cm, e)) return; // IE does strange things with escape. if (ie && ie_version < 11 && e.keyCode == 27) e.returnValue = false; var code = e.keyCode; cm.display.shift = code == 16 || e.shiftKey; var handled = handleKeyBinding(cm, e); if (presto) { lastStoppedKey = handled ? code : null; // Opera has no cut event... we try to at least catch the key combo if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey)) cm.replaceSelection("", null, "cut"); } // Turn mouse into crosshair when Alt is held on Mac. if (code == 18 && !/\bCodeMirror-crosshair\b/.test(cm.display.lineDiv.className)) showCrossHair(cm); } function showCrossHair(cm) { var lineDiv = cm.display.lineDiv; addClass(lineDiv, "CodeMirror-crosshair"); function up(e) { if (e.keyCode == 18 || !e.altKey) { rmClass(lineDiv, "CodeMirror-crosshair"); off(document, "keyup", up); off(document, "mouseover", up); } } on(document, "keyup", up); on(document, "mouseover", up); } function onKeyUp(e) { if (e.keyCode == 16) this.doc.sel.shift = false; signalDOMEvent(this, e); } function onKeyPress(e) { var cm = this; if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) return; var keyCode = e.keyCode, charCode = e.charCode; if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return;} if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) return; var ch = String.fromCharCode(charCode == null ? keyCode : charCode); if (handleCharBinding(cm, e, ch)) return; cm.display.input.onKeyPress(e); } // FOCUS/BLUR EVENTS function delayBlurEvent(cm) { cm.state.delayingBlurEvent = true; setTimeout(function() { if (cm.state.delayingBlurEvent) { cm.state.delayingBlurEvent = false; onBlur(cm); } }, 100); } function onFocus(cm) { if (cm.state.delayingBlurEvent) cm.state.delayingBlurEvent = false; if (cm.options.readOnly == "nocursor") return; if (!cm.state.focused) { signal(cm, "focus", cm); cm.state.focused = true; addClass(cm.display.wrapper, "CodeMirror-focused"); // This test prevents this from firing when a context // menu is closed (since the input reset would kill the // select-all detection hack) if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) { cm.display.input.reset(); if (webkit) setTimeout(function() { cm.display.input.reset(true); }, 20); // Issue #1730 } cm.display.input.receivedFocus(); } restartBlink(cm); } function onBlur(cm) { if (cm.state.delayingBlurEvent) return; if (cm.state.focused) { signal(cm, "blur", cm); cm.state.focused = false; rmClass(cm.display.wrapper, "CodeMirror-focused"); } clearInterval(cm.display.blinker); setTimeout(function() {if (!cm.state.focused) cm.display.shift = false;}, 150); } // CONTEXT MENU HANDLING // To make the context menu work, we need to briefly unhide the // textarea (making it as unobtrusive as possible) to let the // right-click take effect on it. function onContextMenu(cm, e) { if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) return; if (signalDOMEvent(cm, e, "contextmenu")) return; cm.display.input.onContextMenu(e); } function contextMenuInGutter(cm, e) { if (!hasHandler(cm, "gutterContextMenu")) return false; return gutterEvent(cm, e, "gutterContextMenu", false); } // UPDATING // Compute the position of the end of a change (its 'to' property // refers to the pre-change end). var changeEnd = CodeMirror.changeEnd = function(change) { if (!change.text) return change.to; return Pos(change.from.line + change.text.length - 1, lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0)); }; // Adjust a position to refer to the post-change position of the // same text, or the end of the change if the change covers it. function adjustForChange(pos, change) { if (cmp(pos, change.from) < 0) return pos; if (cmp(pos, change.to) <= 0) return changeEnd(change); var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch; if (pos.line == change.to.line) ch += changeEnd(change).ch - change.to.ch; return Pos(line, ch); } function computeSelAfterChange(doc, change) { var out = []; for (var i = 0; i < doc.sel.ranges.length; i++) { var range = doc.sel.ranges[i]; out.push(new Range(adjustForChange(range.anchor, change), adjustForChange(range.head, change))); } return normalizeSelection(out, doc.sel.primIndex); } function offsetPos(pos, old, nw) { if (pos.line == old.line) return Pos(nw.line, pos.ch - old.ch + nw.ch); else return Pos(nw.line + (pos.line - old.line), pos.ch); } // Used by replaceSelections to allow moving the selection to the // start or around the replaced test. Hint may be "start" or "around". function computeReplacedSel(doc, changes, hint) { var out = []; var oldPrev = Pos(doc.first, 0), newPrev = oldPrev; for (var i = 0; i < changes.length; i++) { var change = changes[i]; var from = offsetPos(change.from, oldPrev, newPrev); var to = offsetPos(changeEnd(change), oldPrev, newPrev); oldPrev = change.to; newPrev = to; if (hint == "around") { var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0; out[i] = new Range(inv ? to : from, inv ? from : to); } else { out[i] = new Range(from, from); } } return new Selection(out, doc.sel.primIndex); } // Allow "beforeChange" event handlers to influence a change function filterChange(doc, change, update) { var obj = { canceled: false, from: change.from, to: change.to, text: change.text, origin: change.origin, cancel: function() { this.canceled = true; } }; if (update) obj.update = function(from, to, text, origin) { if (from) this.from = clipPos(doc, from); if (to) this.to = clipPos(doc, to); if (text) this.text = text; if (origin !== undefined) this.origin = origin; }; signal(doc, "beforeChange", doc, obj); if (doc.cm) signal(doc.cm, "beforeChange", doc.cm, obj); if (obj.canceled) return null; return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin}; } // Apply a change to a document, and add it to the document's // history, and propagating it to all linked documents. function makeChange(doc, change, ignoreReadOnly) { if (doc.cm) { if (!doc.cm.curOp) return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly); if (doc.cm.state.suppressEdits) return; } if (hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange")) { change = filterChange(doc, change, true); if (!change) return; } // Possibly split or suppress the update based on the presence // of read-only spans in its range. var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to); if (split) { for (var i = split.length - 1; i >= 0; --i) makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [""] : change.text}); } else { makeChangeInner(doc, change); } } function makeChangeInner(doc, change) { if (change.text.length == 1 && change.text[0] == "" && cmp(change.from, change.to) == 0) return; var selAfter = computeSelAfterChange(doc, change); addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN); makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change)); var rebased = []; linkedDocs(doc, function(doc, sharedHist) { if (!sharedHist && indexOf(rebased, doc.history) == -1) { rebaseHist(doc.history, change); rebased.push(doc.history); } makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change)); }); } // Revert a change stored in a document's history. function makeChangeFromHistory(doc, type, allowSelectionOnly) { if (doc.cm && doc.cm.state.suppressEdits && !allowSelectionOnly) return; var hist = doc.history, event, selAfter = doc.sel; var source = type == "undo" ? hist.done : hist.undone, dest = type == "undo" ? hist.undone : hist.done; // Verify that there is a useable event (so that ctrl-z won't // needlessly clear selection events) for (var i = 0; i < source.length; i++) { event = source[i]; if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges) break; } if (i == source.length) return; hist.lastOrigin = hist.lastSelOrigin = null; for (;;) { event = source.pop(); if (event.ranges) { pushSelectionToHistory(event, dest); if (allowSelectionOnly && !event.equals(doc.sel)) { setSelection(doc, event, {clearRedo: false}); return; } selAfter = event; } else break; } // Build up a reverse change object to add to the opposite history // stack (redo when undoing, and vice versa). var antiChanges = []; pushSelectionToHistory(selAfter, dest); dest.push({changes: antiChanges, generation: hist.generation}); hist.generation = event.generation || ++hist.maxGeneration; var filter = hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange"); for (var i = event.changes.length - 1; i >= 0; --i) { var change = event.changes[i]; change.origin = type; if (filter && !filterChange(doc, change, false)) { source.length = 0; return; } antiChanges.push(historyChangeFromChange(doc, change)); var after = i ? computeSelAfterChange(doc, change) : lst(source); makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change)); if (!i && doc.cm) doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); var rebased = []; // Propagate to the linked documents linkedDocs(doc, function(doc, sharedHist) { if (!sharedHist && indexOf(rebased, doc.history) == -1) { rebaseHist(doc.history, change); rebased.push(doc.history); } makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change)); }); } } // Sub-views need their line numbers shifted when text is added // above or below them in the parent document. function shiftDoc(doc, distance) { if (distance == 0) return; doc.first += distance; doc.sel = new Selection(map(doc.sel.ranges, function(range) { return new Range(Pos(range.anchor.line + distance, range.anchor.ch), Pos(range.head.line + distance, range.head.ch)); }), doc.sel.primIndex); if (doc.cm) { regChange(doc.cm, doc.first, doc.first - distance, distance); for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++) regLineChange(doc.cm, l, "gutter"); } } // More lower-level change function, handling only a single document // (not linked ones). function makeChangeSingleDoc(doc, change, selAfter, spans) { if (doc.cm && !doc.cm.curOp) return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans); if (change.to.line < doc.first) { shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line)); return; } if (change.from.line > doc.lastLine()) return; // Clip the change to the size of this doc if (change.from.line < doc.first) { var shift = change.text.length - 1 - (doc.first - change.from.line); shiftDoc(doc, shift); change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch), text: [lst(change.text)], origin: change.origin}; } var last = doc.lastLine(); if (change.to.line > last) { change = {from: change.from, to: Pos(last, getLine(doc, last).text.length), text: [change.text[0]], origin: change.origin}; } change.removed = getBetween(doc, change.from, change.to); if (!selAfter) selAfter = computeSelAfterChange(doc, change); if (doc.cm) makeChangeSingleDocInEditor(doc.cm, change, spans); else updateDoc(doc, change, spans); setSelectionNoUndo(doc, selAfter, sel_dontScroll); } // Handle the interaction of a change to a document with the editor // that this document is part of. function makeChangeSingleDocInEditor(cm, change, spans) { var doc = cm.doc, display = cm.display, from = change.from, to = change.to; var recomputeMaxLength = false, checkWidthStart = from.line; if (!cm.options.lineWrapping) { checkWidthStart = lineNo(visualLine(getLine(doc, from.line))); doc.iter(checkWidthStart, to.line + 1, function(line) { if (line == display.maxLine) { recomputeMaxLength = true; return true; } }); } if (doc.sel.contains(change.from, change.to) > -1) signalCursorActivity(cm); updateDoc(doc, change, spans, estimateHeight(cm)); if (!cm.options.lineWrapping) { doc.iter(checkWidthStart, from.line + change.text.length, function(line) { var len = lineLength(line); if (len > display.maxLineLength) { display.maxLine = line; display.maxLineLength = len; display.maxLineChanged = true; recomputeMaxLength = false; } }); if (recomputeMaxLength) cm.curOp.updateMaxLine = true; } // Adjust frontier, schedule worker doc.frontier = Math.min(doc.frontier, from.line); startWorker(cm, 400); var lendiff = change.text.length - (to.line - from.line) - 1; // Remember that these lines changed, for updating the display if (change.full) regChange(cm); else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change)) regLineChange(cm, from.line, "text"); else regChange(cm, from.line, to.line + 1, lendiff); var changesHandler = hasHandler(cm, "changes"), changeHandler = hasHandler(cm, "change"); if (changeHandler || changesHandler) { var obj = { from: from, to: to, text: change.text, removed: change.removed, origin: change.origin }; if (changeHandler) signalLater(cm, "change", cm, obj); if (changesHandler) (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); } cm.display.selForContextMenu = null; } function replaceRange(doc, code, from, to, origin) { if (!to) to = from; if (cmp(to, from) < 0) { var tmp = to; to = from; from = tmp; } if (typeof code == "string") code = doc.splitLines(code); makeChange(doc, {from: from, to: to, text: code, origin: origin}); } // SCROLLING THINGS INTO VIEW // If an editor sits on the top or bottom of the window, partially // scrolled out of view, this ensures that the cursor is visible. function maybeScrollWindow(cm, coords) { if (signalDOMEvent(cm, "scrollCursorIntoView")) return; var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null; if (coords.top + box.top < 0) doScroll = true; else if (coords.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) doScroll = false; if (doScroll != null && !phantom) { var scrollNode = elt("div", "\u200b", null, "position: absolute; top: " + (coords.top - display.viewOffset - paddingTop(cm.display)) + "px; height: " + (coords.bottom - coords.top + scrollGap(cm) + display.barHeight) + "px; left: " + coords.left + "px; width: 2px;"); cm.display.lineSpace.appendChild(scrollNode); scrollNode.scrollIntoView(doScroll); cm.display.lineSpace.removeChild(scrollNode); } } // Scroll a given position into view (immediately), verifying that // it actually became visible (as line heights are accurately // measured, the position of something may 'drift' during drawing). function scrollPosIntoView(cm, pos, end, margin) { if (margin == null) margin = 0; for (var limit = 0; limit < 5; limit++) { var changed = false, coords = cursorCoords(cm, pos); var endCoords = !end || end == pos ? coords : cursorCoords(cm, end); var scrollPos = calculateScrollPos(cm, Math.min(coords.left, endCoords.left), Math.min(coords.top, endCoords.top) - margin, Math.max(coords.left, endCoords.left), Math.max(coords.bottom, endCoords.bottom) + margin); var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft; if (scrollPos.scrollTop != null) { setScrollTop(cm, scrollPos.scrollTop); if (Math.abs(cm.doc.scrollTop - startTop) > 1) changed = true; } if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) changed = true; } if (!changed) break; } return coords; } // Scroll a given set of coordinates into view (immediately). function scrollIntoView(cm, x1, y1, x2, y2) { var scrollPos = calculateScrollPos(cm, x1, y1, x2, y2); if (scrollPos.scrollTop != null) setScrollTop(cm, scrollPos.scrollTop); if (scrollPos.scrollLeft != null) setScrollLeft(cm, scrollPos.scrollLeft); } // Calculate a new scroll position needed to scroll the given // rectangle into view. Returns an object with scrollTop and // scrollLeft properties. When these are undefined, the // vertical/horizontal position does not need to be adjusted. function calculateScrollPos(cm, x1, y1, x2, y2) { var display = cm.display, snapMargin = textHeight(cm.display); if (y1 < 0) y1 = 0; var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop; var screen = displayHeight(cm), result = {}; if (y2 - y1 > screen) y2 = y1 + screen; var docBottom = cm.doc.height + paddingVert(display); var atTop = y1 < snapMargin, atBottom = y2 > docBottom - snapMargin; if (y1 < screentop) { result.scrollTop = atTop ? 0 : y1; } else if (y2 > screentop + screen) { var newTop = Math.min(y1, (atBottom ? docBottom : y2) - screen); if (newTop != screentop) result.scrollTop = newTop; } var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft; var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0); var tooWide = x2 - x1 > screenw; if (tooWide) x2 = x1 + screenw; if (x1 < 10) result.scrollLeft = 0; else if (x1 < screenleft) result.scrollLeft = Math.max(0, x1 - (tooWide ? 0 : 10)); else if (x2 > screenw + screenleft - 3) result.scrollLeft = x2 + (tooWide ? 0 : 10) - screenw; return result; } // Store a relative adjustment to the scroll position in the current // operation (to be applied when the operation finishes). function addToScrollPos(cm, left, top) { if (left != null || top != null) resolveScrollToPos(cm); if (left != null) cm.curOp.scrollLeft = (cm.curOp.scrollLeft == null ? cm.doc.scrollLeft : cm.curOp.scrollLeft) + left; if (top != null) cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top; } // Make sure that at the end of the operation the current cursor is // shown. function ensureCursorVisible(cm) { resolveScrollToPos(cm); var cur = cm.getCursor(), from = cur, to = cur; if (!cm.options.lineWrapping) { from = cur.ch ? Pos(cur.line, cur.ch - 1) : cur; to = Pos(cur.line, cur.ch + 1); } cm.curOp.scrollToPos = {from: from, to: to, margin: cm.options.cursorScrollMargin, isCursor: true}; } // When an operation has its scrollToPos property set, and another // scroll action is applied before the end of the operation, this // 'simulates' scrolling that position into view in a cheap way, so // that the effect of intermediate scroll commands is not ignored. function resolveScrollToPos(cm) { var range = cm.curOp.scrollToPos; if (range) { cm.curOp.scrollToPos = null; var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to); var sPos = calculateScrollPos(cm, Math.min(from.left, to.left), Math.min(from.top, to.top) - range.margin, Math.max(from.right, to.right), Math.max(from.bottom, to.bottom) + range.margin); cm.scrollTo(sPos.scrollLeft, sPos.scrollTop); } } // API UTILITIES // Indent the given line. The how parameter can be "smart", // "add"/null, "subtract", or "prev". When aggressive is false // (typically set to true for forced single-line indents), empty // lines are not indented, and places where the mode returns Pass // are left alone. function indentLine(cm, n, how, aggressive) { var doc = cm.doc, state; if (how == null) how = "add"; if (how == "smart") { // Fall back to "prev" when the mode doesn't have an indentation // method. if (!doc.mode.indent) how = "prev"; else state = getStateBefore(cm, n); } var tabSize = cm.options.tabSize; var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize); if (line.stateAfter) line.stateAfter = null; var curSpaceString = line.text.match(/^\s*/)[0], indentation; if (!aggressive && !/\S/.test(line.text)) { indentation = 0; how = "not"; } else if (how == "smart") { indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text); if (indentation == Pass || indentation > 150) { if (!aggressive) return; how = "prev"; } } if (how == "prev") { if (n > doc.first) indentation = countColumn(getLine(doc, n-1).text, null, tabSize); else indentation = 0; } else if (how == "add") { indentation = curSpace + cm.options.indentUnit; } else if (how == "subtract") { indentation = curSpace - cm.options.indentUnit; } else if (typeof how == "number") { indentation = curSpace + how; } indentation = Math.max(0, indentation); var indentString = "", pos = 0; if (cm.options.indentWithTabs) for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += "\t";} if (pos < indentation) indentString += spaceStr(indentation - pos); if (indentString != curSpaceString) { replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), "+input"); line.stateAfter = null; return true; } else { // Ensure that, if the cursor was in the whitespace at the start // of the line, it is moved to the end of that space. for (var i = 0; i < doc.sel.ranges.length; i++) { var range = doc.sel.ranges[i]; if (range.head.line == n && range.head.ch < curSpaceString.length) { var pos = Pos(n, curSpaceString.length); replaceOneSelection(doc, i, new Range(pos, pos)); break; } } } } // Utility for applying a change to a line by handle or number, // returning the number and optionally registering the line as // changed. function changeLine(doc, handle, changeType, op) { var no = handle, line = handle; if (typeof handle == "number") line = getLine(doc, clipLine(doc, handle)); else no = lineNo(handle); if (no == null) return null; if (op(line, no) && doc.cm) regLineChange(doc.cm, no, changeType); return line; } // Helper for deleting text near the selection(s), used to implement // backspace, delete, and similar functionality. function deleteNearSelection(cm, compute) { var ranges = cm.doc.sel.ranges, kill = []; // Build up a set of ranges to kill first, merging overlapping // ranges. for (var i = 0; i < ranges.length; i++) { var toKill = compute(ranges[i]); while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) { var replaced = kill.pop(); if (cmp(replaced.from, toKill.from) < 0) { toKill.from = replaced.from; break; } } kill.push(toKill); } // Next, remove those actual ranges. runInOp(cm, function() { for (var i = kill.length - 1; i >= 0; i--) replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete"); ensureCursorVisible(cm); }); } // Used for horizontal relative motion. Dir is -1 or 1 (left or // right), unit can be "char", "column" (like char, but doesn't // cross line boundaries), "word" (across next word), or "group" (to // the start of next group of word or non-word-non-whitespace // chars). The visually param controls whether, in right-to-left // text, direction 1 means to move towards the next index in the // string, or towards the character to the right of the current // position. The resulting position will have a hitSide=true // property if it reached the end of the document. function findPosH(doc, pos, dir, unit, visually) { var line = pos.line, ch = pos.ch, origDir = dir; var lineObj = getLine(doc, line); function findNextLine() { var l = line + dir; if (l < doc.first || l >= doc.first + doc.size) return false line = l; return lineObj = getLine(doc, l); } function moveOnce(boundToLine) { var next = (visually ? moveVisually : moveLogically)(lineObj, ch, dir, true); if (next == null) { if (!boundToLine && findNextLine()) { if (visually) ch = (dir < 0 ? lineRight : lineLeft)(lineObj); else ch = dir < 0 ? lineObj.text.length : 0; } else return false } else ch = next; return true; } if (unit == "char") { moveOnce() } else if (unit == "column") { moveOnce(true) } else if (unit == "word" || unit == "group") { var sawType = null, group = unit == "group"; var helper = doc.cm && doc.cm.getHelper(pos, "wordChars"); for (var first = true;; first = false) { if (dir < 0 && !moveOnce(!first)) break; var cur = lineObj.text.charAt(ch) || "\n"; var type = isWordChar(cur, helper) ? "w" : group && cur == "\n" ? "n" : !group || /\s/.test(cur) ? null : "p"; if (group && !first && !type) type = "s"; if (sawType && sawType != type) { if (dir < 0) {dir = 1; moveOnce();} break; } if (type) sawType = type; if (dir > 0 && !moveOnce(!first)) break; } } var result = skipAtomic(doc, Pos(line, ch), pos, origDir, true); if (!cmp(pos, result)) result.hitSide = true; return result; } // For relative vertical movement. Dir may be -1 or 1. Unit can be // "page" or "line". The resulting position will have a hitSide=true // property if it reached the end of the document. function findPosV(cm, pos, dir, unit) { var doc = cm.doc, x = pos.left, y; if (unit == "page") { var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight); y = pos.top + dir * (pageSize - (dir < 0 ? 1.5 : .5) * textHeight(cm.display)); } else if (unit == "line") { y = dir > 0 ? pos.bottom + 3 : pos.top - 3; } for (;;) { var target = coordsChar(cm, x, y); if (!target.outside) break; if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break; } y += dir * 5; } return target; } // EDITOR METHODS // The publicly visible API. Note that methodOp(f) means // 'wrap f in an operation, performed on its `this` parameter'. // This is not the complete set of editor methods. Most of the // methods defined on the Doc type are also injected into // CodeMirror.prototype, for backwards compatibility and // convenience. CodeMirror.prototype = { constructor: CodeMirror, focus: function(){window.focus(); this.display.input.focus();}, setOption: function(option, value) { var options = this.options, old = options[option]; if (options[option] == value && option != "mode") return; options[option] = value; if (optionHandlers.hasOwnProperty(option)) operation(this, optionHandlers[option])(this, value, old); }, getOption: function(option) {return this.options[option];}, getDoc: function() {return this.doc;}, addKeyMap: function(map, bottom) { this.state.keyMaps[bottom ? "push" : "unshift"](getKeyMap(map)); }, removeKeyMap: function(map) { var maps = this.state.keyMaps; for (var i = 0; i < maps.length; ++i) if (maps[i] == map || maps[i].name == map) { maps.splice(i, 1); return true; } }, addOverlay: methodOp(function(spec, options) { var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec); if (mode.startState) throw new Error("Overlays may not be stateful."); insertSorted(this.state.overlays, {mode: mode, modeSpec: spec, opaque: options && options.opaque, priority: (options && options.priority) || 0}, function(overlay) { return overlay.priority }) this.state.modeGen++; regChange(this); }), removeOverlay: methodOp(function(spec) { var overlays = this.state.overlays; for (var i = 0; i < overlays.length; ++i) { var cur = overlays[i].modeSpec; if (cur == spec || typeof spec == "string" && cur.name == spec) { overlays.splice(i, 1); this.state.modeGen++; regChange(this); return; } } }), indentLine: methodOp(function(n, dir, aggressive) { if (typeof dir != "string" && typeof dir != "number") { if (dir == null) dir = this.options.smartIndent ? "smart" : "prev"; else dir = dir ? "add" : "subtract"; } if (isLine(this.doc, n)) indentLine(this, n, dir, aggressive); }), indentSelection: methodOp(function(how) { var ranges = this.doc.sel.ranges, end = -1; for (var i = 0; i < ranges.length; i++) { var range = ranges[i]; if (!range.empty()) { var from = range.from(), to = range.to(); var start = Math.max(end, from.line); end = Math.min(this.lastLine(), to.line - (to.ch ? 0 : 1)) + 1; for (var j = start; j < end; ++j) indentLine(this, j, how); var newRanges = this.doc.sel.ranges; if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0) replaceOneSelection(this.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); } else if (range.head.line > end) { indentLine(this, range.head.line, how, true); end = range.head.line; if (i == this.doc.sel.primIndex) ensureCursorVisible(this); } } }), // Fetch the parser token for a given character. Useful for hacks // that want to inspect the mode state (say, for completion). getTokenAt: function(pos, precise) { return takeToken(this, pos, precise); }, getLineTokens: function(line, precise) { return takeToken(this, Pos(line), precise, true); }, getTokenTypeAt: function(pos) { pos = clipPos(this.doc, pos); var styles = getLineStyles(this, getLine(this.doc, pos.line)); var before = 0, after = (styles.length - 1) / 2, ch = pos.ch; var type; if (ch == 0) type = styles[2]; else for (;;) { var mid = (before + after) >> 1; if ((mid ? styles[mid * 2 - 1] : 0) >= ch) after = mid; else if (styles[mid * 2 + 1] < ch) before = mid + 1; else { type = styles[mid * 2 + 2]; break; } } var cut = type ? type.indexOf("cm-overlay ") : -1; return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1); }, getModeAt: function(pos) { var mode = this.doc.mode; if (!mode.innerMode) return mode; return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode; }, getHelper: function(pos, type) { return this.getHelpers(pos, type)[0]; }, getHelpers: function(pos, type) { var found = []; if (!helpers.hasOwnProperty(type)) return found; var help = helpers[type], mode = this.getModeAt(pos); if (typeof mode[type] == "string") { if (help[mode[type]]) found.push(help[mode[type]]); } else if (mode[type]) { for (var i = 0; i < mode[type].length; i++) { var val = help[mode[type][i]]; if (val) found.push(val); } } else if (mode.helperType && help[mode.helperType]) { found.push(help[mode.helperType]); } else if (help[mode.name]) { found.push(help[mode.name]); } for (var i = 0; i < help._global.length; i++) { var cur = help._global[i]; if (cur.pred(mode, this) && indexOf(found, cur.val) == -1) found.push(cur.val); } return found; }, getStateAfter: function(line, precise) { var doc = this.doc; line = clipLine(doc, line == null ? doc.first + doc.size - 1: line); return getStateBefore(this, line + 1, precise); }, cursorCoords: function(start, mode) { var pos, range = this.doc.sel.primary(); if (start == null) pos = range.head; else if (typeof start == "object") pos = clipPos(this.doc, start); else pos = start ? range.from() : range.to(); return cursorCoords(this, pos, mode || "page"); }, charCoords: function(pos, mode) { return charCoords(this, clipPos(this.doc, pos), mode || "page"); }, coordsChar: function(coords, mode) { coords = fromCoordSystem(this, coords, mode || "page"); return coordsChar(this, coords.left, coords.top); }, lineAtHeight: function(height, mode) { height = fromCoordSystem(this, {top: height, left: 0}, mode || "page").top; return lineAtHeight(this.doc, height + this.display.viewOffset); }, heightAtLine: function(line, mode) { var end = false, lineObj; if (typeof line == "number") { var last = this.doc.first + this.doc.size - 1; if (line < this.doc.first) line = this.doc.first; else if (line > last) { line = last; end = true; } lineObj = getLine(this.doc, line); } else { lineObj = line; } return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || "page").top + (end ? this.doc.height - heightAtLine(lineObj) : 0); }, defaultTextHeight: function() { return textHeight(this.display); }, defaultCharWidth: function() { return charWidth(this.display); }, setGutterMarker: methodOp(function(line, gutterID, value) { return changeLine(this.doc, line, "gutter", function(line) { var markers = line.gutterMarkers || (line.gutterMarkers = {}); markers[gutterID] = value; if (!value && isEmpty(markers)) line.gutterMarkers = null; return true; }); }), clearGutter: methodOp(function(gutterID) { var cm = this, doc = cm.doc, i = doc.first; doc.iter(function(line) { if (line.gutterMarkers && line.gutterMarkers[gutterID]) { line.gutterMarkers[gutterID] = null; regLineChange(cm, i, "gutter"); if (isEmpty(line.gutterMarkers)) line.gutterMarkers = null; } ++i; }); }), lineInfo: function(line) { if (typeof line == "number") { if (!isLine(this.doc, line)) return null; var n = line; line = getLine(this.doc, line); if (!line) return null; } else { var n = lineNo(line); if (n == null) return null; } return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers, textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass, widgets: line.widgets}; }, getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo};}, addWidget: function(pos, node, scroll, vert, horiz) { var display = this.display; pos = cursorCoords(this, clipPos(this.doc, pos)); var top = pos.bottom, left = pos.left; node.style.position = "absolute"; node.setAttribute("cm-ignore-events", "true"); this.display.input.setUneditable(node); display.sizer.appendChild(node); if (vert == "over") { top = pos.top; } else if (vert == "above" || vert == "near") { var vspace = Math.max(display.wrapper.clientHeight, this.doc.height), hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth); // Default to positioning above (if specified and possible); otherwise default to positioning below if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight) top = pos.top - node.offsetHeight; else if (pos.bottom + node.offsetHeight <= vspace) top = pos.bottom; if (left + node.offsetWidth > hspace) left = hspace - node.offsetWidth; } node.style.top = top + "px"; node.style.left = node.style.right = ""; if (horiz == "right") { left = display.sizer.clientWidth - node.offsetWidth; node.style.right = "0px"; } else { if (horiz == "left") left = 0; else if (horiz == "middle") left = (display.sizer.clientWidth - node.offsetWidth) / 2; node.style.left = left + "px"; } if (scroll) scrollIntoView(this, left, top, left + node.offsetWidth, top + node.offsetHeight); }, triggerOnKeyDown: methodOp(onKeyDown), triggerOnKeyPress: methodOp(onKeyPress), triggerOnKeyUp: onKeyUp, execCommand: function(cmd) { if (commands.hasOwnProperty(cmd)) return commands[cmd].call(null, this); }, triggerElectric: methodOp(function(text) { triggerElectric(this, text); }), findPosH: function(from, amount, unit, visually) { var dir = 1; if (amount < 0) { dir = -1; amount = -amount; } for (var i = 0, cur = clipPos(this.doc, from); i < amount; ++i) { cur = findPosH(this.doc, cur, dir, unit, visually); if (cur.hitSide) break; } return cur; }, moveH: methodOp(function(dir, unit) { var cm = this; cm.extendSelectionsBy(function(range) { if (cm.display.shift || cm.doc.extend || range.empty()) return findPosH(cm.doc, range.head, dir, unit, cm.options.rtlMoveVisually); else return dir < 0 ? range.from() : range.to(); }, sel_move); }), deleteH: methodOp(function(dir, unit) { var sel = this.doc.sel, doc = this.doc; if (sel.somethingSelected()) doc.replaceSelection("", null, "+delete"); else deleteNearSelection(this, function(range) { var other = findPosH(doc, range.head, dir, unit, false); return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other}; }); }), findPosV: function(from, amount, unit, goalColumn) { var dir = 1, x = goalColumn; if (amount < 0) { dir = -1; amount = -amount; } for (var i = 0, cur = clipPos(this.doc, from); i < amount; ++i) { var coords = cursorCoords(this, cur, "div"); if (x == null) x = coords.left; else coords.left = x; cur = findPosV(this, coords, dir, unit); if (cur.hitSide) break; } return cur; }, moveV: methodOp(function(dir, unit) { var cm = this, doc = this.doc, goals = []; var collapse = !cm.display.shift && !doc.extend && doc.sel.somethingSelected(); doc.extendSelectionsBy(function(range) { if (collapse) return dir < 0 ? range.from() : range.to(); var headPos = cursorCoords(cm, range.head, "div"); if (range.goalColumn != null) headPos.left = range.goalColumn; goals.push(headPos.left); var pos = findPosV(cm, headPos, dir, unit); if (unit == "page" && range == doc.sel.primary()) addToScrollPos(cm, null, charCoords(cm, pos, "div").top - headPos.top); return pos; }, sel_move); if (goals.length) for (var i = 0; i < doc.sel.ranges.length; i++) doc.sel.ranges[i].goalColumn = goals[i]; }), // Find the word at the given position (as returned by coordsChar). findWordAt: function(pos) { var doc = this.doc, line = getLine(doc, pos.line).text; var start = pos.ch, end = pos.ch; if (line) { var helper = this.getHelper(pos, "wordChars"); if ((pos.xRel < 0 || end == line.length) && start) --start; else ++end; var startChar = line.charAt(start); var check = isWordChar(startChar, helper) ? function(ch) { return isWordChar(ch, helper); } : /\s/.test(startChar) ? function(ch) {return /\s/.test(ch);} : function(ch) {return !/\s/.test(ch) && !isWordChar(ch);}; while (start > 0 && check(line.charAt(start - 1))) --start; while (end < line.length && check(line.charAt(end))) ++end; } return new Range(Pos(pos.line, start), Pos(pos.line, end)); }, toggleOverwrite: function(value) { if (value != null && value == this.state.overwrite) return; if (this.state.overwrite = !this.state.overwrite) addClass(this.display.cursorDiv, "CodeMirror-overwrite"); else rmClass(this.display.cursorDiv, "CodeMirror-overwrite"); signal(this, "overwriteToggle", this, this.state.overwrite); }, hasFocus: function() { return this.display.input.getField() == activeElt(); }, isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit); }, scrollTo: methodOp(function(x, y) { if (x != null || y != null) resolveScrollToPos(this); if (x != null) this.curOp.scrollLeft = x; if (y != null) this.curOp.scrollTop = y; }), getScrollInfo: function() { var scroller = this.display.scroller; return {left: scroller.scrollLeft, top: scroller.scrollTop, height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight, width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth, clientHeight: displayHeight(this), clientWidth: displayWidth(this)}; }, scrollIntoView: methodOp(function(range, margin) { if (range == null) { range = {from: this.doc.sel.primary().head, to: null}; if (margin == null) margin = this.options.cursorScrollMargin; } else if (typeof range == "number") { range = {from: Pos(range, 0), to: null}; } else if (range.from == null) { range = {from: range, to: null}; } if (!range.to) range.to = range.from; range.margin = margin || 0; if (range.from.line != null) { resolveScrollToPos(this); this.curOp.scrollToPos = range; } else { var sPos = calculateScrollPos(this, Math.min(range.from.left, range.to.left), Math.min(range.from.top, range.to.top) - range.margin, Math.max(range.from.right, range.to.right), Math.max(range.from.bottom, range.to.bottom) + range.margin); this.scrollTo(sPos.scrollLeft, sPos.scrollTop); } }), setSize: methodOp(function(width, height) { var cm = this; function interpret(val) { return typeof val == "number" || /^\d+$/.test(String(val)) ? val + "px" : val; } if (width != null) cm.display.wrapper.style.width = interpret(width); if (height != null) cm.display.wrapper.style.height = interpret(height); if (cm.options.lineWrapping) clearLineMeasurementCache(this); var lineNo = cm.display.viewFrom; cm.doc.iter(lineNo, cm.display.viewTo, function(line) { if (line.widgets) for (var i = 0; i < line.widgets.length; i++) if (line.widgets[i].noHScroll) { regLineChange(cm, lineNo, "widget"); break; } ++lineNo; }); cm.curOp.forceUpdate = true; signal(cm, "refresh", this); }), operation: function(f){return runInOp(this, f);}, refresh: methodOp(function() { var oldHeight = this.display.cachedTextHeight; regChange(this); this.curOp.forceUpdate = true; clearCaches(this); this.scrollTo(this.doc.scrollLeft, this.doc.scrollTop); updateGutterSpace(this); if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5) estimateLineHeights(this); signal(this, "refresh", this); }), swapDoc: methodOp(function(doc) { var old = this.doc; old.cm = null; attachDoc(this, doc); clearCaches(this); this.display.input.reset(); this.scrollTo(doc.scrollLeft, doc.scrollTop); this.curOp.forceScroll = true; signalLater(this, "swapDoc", this, old); return old; }), getInputField: function(){return this.display.input.getField();}, getWrapperElement: function(){return this.display.wrapper;}, getScrollerElement: function(){return this.display.scroller;}, getGutterElement: function(){return this.display.gutters;} }; eventMixin(CodeMirror); // OPTION DEFAULTS // The default configuration options. var defaults = CodeMirror.defaults = {}; // Functions to run when options are changed. var optionHandlers = CodeMirror.optionHandlers = {}; function option(name, deflt, handle, notOnInit) { CodeMirror.defaults[name] = deflt; if (handle) optionHandlers[name] = notOnInit ? function(cm, val, old) {if (old != Init) handle(cm, val, old);} : handle; } // Passed to option handlers when there is no old value. var Init = CodeMirror.Init = {toString: function(){return "CodeMirror.Init";}}; // These two are, on init, called from the constructor because they // have to be initialized before the editor can start at all. option("value", "", function(cm, val) { cm.setValue(val); }, true); option("mode", null, function(cm, val) { cm.doc.modeOption = val; loadMode(cm); }, true); option("indentUnit", 2, loadMode, true); option("indentWithTabs", false); option("smartIndent", true); option("tabSize", 4, function(cm) { resetModeState(cm); clearCaches(cm); regChange(cm); }, true); option("lineSeparator", null, function(cm, val) { cm.doc.lineSep = val; if (!val) return; var newBreaks = [], lineNo = cm.doc.first; cm.doc.iter(function(line) { for (var pos = 0;;) { var found = line.text.indexOf(val, pos); if (found == -1) break; pos = found + val.length; newBreaks.push(Pos(lineNo, found)); } lineNo++; }); for (var i = newBreaks.length - 1; i >= 0; i--) replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)) }); option("specialChars", /[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function(cm, val, old) { cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g"); if (old != CodeMirror.Init) cm.refresh(); }); option("specialCharPlaceholder", defaultSpecialCharPlaceholder, function(cm) {cm.refresh();}, true); option("electricChars", true); option("inputStyle", mobile ? "contenteditable" : "textarea", function() { throw new Error("inputStyle can not (yet) be changed in a running editor"); // FIXME }, true); option("spellcheck", false, function(cm, val) { cm.getInputField().spellcheck = val }, true); option("rtlMoveVisually", !windows); option("wholeLineUpdateBefore", true); option("theme", "default", function(cm) { themeChanged(cm); guttersChanged(cm); }, true); option("keyMap", "default", function(cm, val, old) { var next = getKeyMap(val); var prev = old != CodeMirror.Init && getKeyMap(old); if (prev && prev.detach) prev.detach(cm, next); if (next.attach) next.attach(cm, prev || null); }); option("extraKeys", null); option("lineWrapping", false, wrappingChanged, true); option("gutters", [], function(cm) { setGuttersForLineNumbers(cm.options); guttersChanged(cm); }, true); option("fixedGutter", true, function(cm, val) { cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + "px" : "0"; cm.refresh(); }, true); option("coverGutterNextToScrollbar", false, function(cm) {updateScrollbars(cm);}, true); option("scrollbarStyle", "native", function(cm) { initScrollbars(cm); updateScrollbars(cm); cm.display.scrollbars.setScrollTop(cm.doc.scrollTop); cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft); }, true); option("lineNumbers", false, function(cm) { setGuttersForLineNumbers(cm.options); guttersChanged(cm); }, true); option("firstLineNumber", 1, guttersChanged, true); option("lineNumberFormatter", function(integer) {return integer;}, guttersChanged, true); option("showCursorWhenSelecting", false, updateSelection, true); option("resetSelectionOnContextMenu", true); option("lineWiseCopyCut", true); option("readOnly", false, function(cm, val) { if (val == "nocursor") { onBlur(cm); cm.display.input.blur(); cm.display.disabled = true; } else { cm.display.disabled = false; } cm.display.input.readOnlyChanged(val) }); option("disableInput", false, function(cm, val) {if (!val) cm.display.input.reset();}, true); option("dragDrop", true, dragDropChanged); option("allowDropFileTypes", null); option("cursorBlinkRate", 530); option("cursorScrollMargin", 0); option("cursorHeight", 1, updateSelection, true); option("singleCursorHeightPerLine", true, updateSelection, true); option("workTime", 100); option("workDelay", 100); option("flattenSpans", true, resetModeState, true); option("addModeClass", false, resetModeState, true); option("pollInterval", 100); option("undoDepth", 200, function(cm, val){cm.doc.history.undoDepth = val;}); option("historyEventDelay", 1250); option("viewportMargin", 10, function(cm){cm.refresh();}, true); option("maxHighlightLength", 10000, resetModeState, true); option("moveInputWithCursor", true, function(cm, val) { if (!val) cm.display.input.resetPosition(); }); option("tabindex", null, function(cm, val) { cm.display.input.getField().tabIndex = val || ""; }); option("autofocus", null); // MODE DEFINITION AND QUERYING // Known modes, by name and by MIME var modes = CodeMirror.modes = {}, mimeModes = CodeMirror.mimeModes = {}; // Extra arguments are stored as the mode's dependencies, which is // used by (legacy) mechanisms like loadmode.js to automatically // load a mode. (Preferred mechanism is the require/define calls.) CodeMirror.defineMode = function(name, mode) { if (!CodeMirror.defaults.mode && name != "null") CodeMirror.defaults.mode = name; if (arguments.length > 2) mode.dependencies = Array.prototype.slice.call(arguments, 2); modes[name] = mode; }; CodeMirror.defineMIME = function(mime, spec) { mimeModes[mime] = spec; }; // Given a MIME type, a {name, ...options} config object, or a name // string, return a mode config object. CodeMirror.resolveMode = function(spec) { if (typeof spec == "string" && mimeModes.hasOwnProperty(spec)) { spec = mimeModes[spec]; } else if (spec && typeof spec.name == "string" && mimeModes.hasOwnProperty(spec.name)) { var found = mimeModes[spec.name]; if (typeof found == "string") found = {name: found}; spec = createObj(found, spec); spec.name = found.name; } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(spec)) { return CodeMirror.resolveMode("application/xml"); } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(spec)) { return CodeMirror.resolveMode("application/json"); } if (typeof spec == "string") return {name: spec}; else return spec || {name: "null"}; }; // Given a mode spec (anything that resolveMode accepts), find and // initialize an actual mode object. CodeMirror.getMode = function(options, spec) { var spec = CodeMirror.resolveMode(spec); var mfactory = modes[spec.name]; if (!mfactory) return CodeMirror.getMode(options, "text/plain"); var modeObj = mfactory(options, spec); if (modeExtensions.hasOwnProperty(spec.name)) { var exts = modeExtensions[spec.name]; for (var prop in exts) { if (!exts.hasOwnProperty(prop)) continue; if (modeObj.hasOwnProperty(prop)) modeObj["_" + prop] = modeObj[prop]; modeObj[prop] = exts[prop]; } } modeObj.name = spec.name; if (spec.helperType) modeObj.helperType = spec.helperType; if (spec.modeProps) for (var prop in spec.modeProps) modeObj[prop] = spec.modeProps[prop]; return modeObj; }; // Minimal default mode. CodeMirror.defineMode("null", function() { return {token: function(stream) {stream.skipToEnd();}}; }); CodeMirror.defineMIME("text/plain", "null"); // This can be used to attach properties to mode objects from // outside the actual mode definition. var modeExtensions = CodeMirror.modeExtensions = {}; CodeMirror.extendMode = function(mode, properties) { var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {}); copyObj(properties, exts); }; // EXTENSIONS CodeMirror.defineExtension = function(name, func) { CodeMirror.prototype[name] = func; }; CodeMirror.defineDocExtension = function(name, func) { Doc.prototype[name] = func; }; CodeMirror.defineOption = option; var initHooks = []; CodeMirror.defineInitHook = function(f) {initHooks.push(f);}; var helpers = CodeMirror.helpers = {}; CodeMirror.registerHelper = function(type, name, value) { if (!helpers.hasOwnProperty(type)) helpers[type] = CodeMirror[type] = {_global: []}; helpers[type][name] = value; }; CodeMirror.registerGlobalHelper = function(type, name, predicate, value) { CodeMirror.registerHelper(type, name, value); helpers[type]._global.push({pred: predicate, val: value}); }; // MODE STATE HANDLING // Utility functions for working with state. Exported because nested // modes need to do this for their inner modes. var copyState = CodeMirror.copyState = function(mode, state) { if (state === true) return state; if (mode.copyState) return mode.copyState(state); var nstate = {}; for (var n in state) { var val = state[n]; if (val instanceof Array) val = val.concat([]); nstate[n] = val; } return nstate; }; var startState = CodeMirror.startState = function(mode, a1, a2) { return mode.startState ? mode.startState(a1, a2) : true; }; // Given a mode and a state (for that mode), find the inner mode and // state at the position that the state refers to. CodeMirror.innerMode = function(mode, state) { while (mode.innerMode) { var info = mode.innerMode(state); if (!info || info.mode == mode) break; state = info.state; mode = info.mode; } return info || {mode: mode, state: state}; }; // STANDARD COMMANDS // Commands are parameter-less actions that can be performed on an // editor, mostly used for keybindings. var commands = CodeMirror.commands = { selectAll: function(cm) {cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll);}, singleSelection: function(cm) { cm.setSelection(cm.getCursor("anchor"), cm.getCursor("head"), sel_dontScroll); }, killLine: function(cm) { deleteNearSelection(cm, function(range) { if (range.empty()) { var len = getLine(cm.doc, range.head.line).text.length; if (range.head.ch == len && range.head.line < cm.lastLine()) return {from: range.head, to: Pos(range.head.line + 1, 0)}; else return {from: range.head, to: Pos(range.head.line, len)}; } else { return {from: range.from(), to: range.to()}; } }); }, deleteLine: function(cm) { deleteNearSelection(cm, function(range) { return {from: Pos(range.from().line, 0), to: clipPos(cm.doc, Pos(range.to().line + 1, 0))}; }); }, delLineLeft: function(cm) { deleteNearSelection(cm, function(range) { return {from: Pos(range.from().line, 0), to: range.from()}; }); }, delWrappedLineLeft: function(cm) { deleteNearSelection(cm, function(range) { var top = cm.charCoords(range.head, "div").top + 5; var leftPos = cm.coordsChar({left: 0, top: top}, "div"); return {from: leftPos, to: range.from()}; }); }, delWrappedLineRight: function(cm) { deleteNearSelection(cm, function(range) { var top = cm.charCoords(range.head, "div").top + 5; var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div"); return {from: range.from(), to: rightPos }; }); }, undo: function(cm) {cm.undo();}, redo: function(cm) {cm.redo();}, undoSelection: function(cm) {cm.undoSelection();}, redoSelection: function(cm) {cm.redoSelection();}, goDocStart: function(cm) {cm.extendSelection(Pos(cm.firstLine(), 0));}, goDocEnd: function(cm) {cm.extendSelection(Pos(cm.lastLine()));}, goLineStart: function(cm) { cm.extendSelectionsBy(function(range) { return lineStart(cm, range.head.line); }, {origin: "+move", bias: 1}); }, goLineStartSmart: function(cm) { cm.extendSelectionsBy(function(range) { return lineStartSmart(cm, range.head); }, {origin: "+move", bias: 1}); }, goLineEnd: function(cm) { cm.extendSelectionsBy(function(range) { return lineEnd(cm, range.head.line); }, {origin: "+move", bias: -1}); }, goLineRight: function(cm) { cm.extendSelectionsBy(function(range) { var top = cm.charCoords(range.head, "div").top + 5; return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div"); }, sel_move); }, goLineLeft: function(cm) { cm.extendSelectionsBy(function(range) { var top = cm.charCoords(range.head, "div").top + 5; return cm.coordsChar({left: 0, top: top}, "div"); }, sel_move); }, goLineLeftSmart: function(cm) { cm.extendSelectionsBy(function(range) { var top = cm.charCoords(range.head, "div").top + 5; var pos = cm.coordsChar({left: 0, top: top}, "div"); if (pos.ch < cm.getLine(pos.line).search(/\S/)) return lineStartSmart(cm, range.head); return pos; }, sel_move); }, goLineUp: function(cm) {cm.moveV(-1, "line");}, goLineDown: function(cm) {cm.moveV(1, "line");}, goPageUp: function(cm) {cm.moveV(-1, "page");}, goPageDown: function(cm) {cm.moveV(1, "page");}, goCharLeft: function(cm) {cm.moveH(-1, "char");}, goCharRight: function(cm) {cm.moveH(1, "char");}, goColumnLeft: function(cm) {cm.moveH(-1, "column");}, goColumnRight: function(cm) {cm.moveH(1, "column");}, goWordLeft: function(cm) {cm.moveH(-1, "word");}, goGroupRight: function(cm) {cm.moveH(1, "group");}, goGroupLeft: function(cm) {cm.moveH(-1, "group");}, goWordRight: function(cm) {cm.moveH(1, "word");}, delCharBefore: function(cm) {cm.deleteH(-1, "char");}, delCharAfter: function(cm) {cm.deleteH(1, "char");}, delWordBefore: function(cm) {cm.deleteH(-1, "word");}, delWordAfter: function(cm) {cm.deleteH(1, "word");}, delGroupBefore: function(cm) {cm.deleteH(-1, "group");}, delGroupAfter: function(cm) {cm.deleteH(1, "group");}, indentAuto: function(cm) {cm.indentSelection("smart");}, indentMore: function(cm) {cm.indentSelection("add");}, indentLess: function(cm) {cm.indentSelection("subtract");}, insertTab: function(cm) {cm.replaceSelection("\t");}, insertSoftTab: function(cm) { var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize; for (var i = 0; i < ranges.length; i++) { var pos = ranges[i].from(); var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize); spaces.push(spaceStr(tabSize - col % tabSize)); } cm.replaceSelections(spaces); }, defaultTab: function(cm) { if (cm.somethingSelected()) cm.indentSelection("add"); else cm.execCommand("insertTab"); }, transposeChars: function(cm) { runInOp(cm, function() { var ranges = cm.listSelections(), newSel = []; for (var i = 0; i < ranges.length; i++) { var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text; if (line) { if (cur.ch == line.length) cur = new Pos(cur.line, cur.ch - 1); if (cur.ch > 0) { cur = new Pos(cur.line, cur.ch + 1); cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2), Pos(cur.line, cur.ch - 2), cur, "+transpose"); } else if (cur.line > cm.doc.first) { var prev = getLine(cm.doc, cur.line - 1).text; if (prev) cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() + prev.charAt(prev.length - 1), Pos(cur.line - 1, prev.length - 1), Pos(cur.line, 1), "+transpose"); } } newSel.push(new Range(cur, cur)); } cm.setSelections(newSel); }); }, newlineAndIndent: function(cm) { runInOp(cm, function() { var len = cm.listSelections().length; for (var i = 0; i < len; i++) { var range = cm.listSelections()[i]; cm.replaceRange(cm.doc.lineSeparator(), range.anchor, range.head, "+input"); cm.indentLine(range.from().line + 1, null, true); } ensureCursorVisible(cm); }); }, openLine: function(cm) {cm.replaceSelection("\n", "start")}, toggleOverwrite: function(cm) {cm.toggleOverwrite();} }; // STANDARD KEYMAPS var keyMap = CodeMirror.keyMap = {}; keyMap.basic = { "Left": "goCharLeft", "Right": "goCharRight", "Up": "goLineUp", "Down": "goLineDown", "End": "goLineEnd", "Home": "goLineStartSmart", "PageUp": "goPageUp", "PageDown": "goPageDown", "Delete": "delCharAfter", "Backspace": "delCharBefore", "Shift-Backspace": "delCharBefore", "Tab": "defaultTab", "Shift-Tab": "indentAuto", "Enter": "newlineAndIndent", "Insert": "toggleOverwrite", "Esc": "singleSelection" }; // Note that the save and find-related commands aren't defined by // default. User code or addons can define them. Unknown commands // are simply ignored. keyMap.pcDefault = { "Ctrl-A": "selectAll", "Ctrl-D": "deleteLine", "Ctrl-Z": "undo", "Shift-Ctrl-Z": "redo", "Ctrl-Y": "redo", "Ctrl-Home": "goDocStart", "Ctrl-End": "goDocEnd", "Ctrl-Up": "goLineUp", "Ctrl-Down": "goLineDown", "Ctrl-Left": "goGroupLeft", "Ctrl-Right": "goGroupRight", "Alt-Left": "goLineStart", "Alt-Right": "goLineEnd", "Ctrl-Backspace": "delGroupBefore", "Ctrl-Delete": "delGroupAfter", "Ctrl-S": "save", "Ctrl-F": "find", "Ctrl-G": "findNext", "Shift-Ctrl-G": "findPrev", "Shift-Ctrl-F": "replace", "Shift-Ctrl-R": "replaceAll", "Ctrl-[": "indentLess", "Ctrl-]": "indentMore", "Ctrl-U": "undoSelection", "Shift-Ctrl-U": "redoSelection", "Alt-U": "redoSelection", fallthrough: "basic" }; // Very basic readline/emacs-style bindings, which are standard on Mac. keyMap.emacsy = { "Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown", "Alt-F": "goWordRight", "Alt-B": "goWordLeft", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd", "Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore", "Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars", "Ctrl-O": "openLine" }; keyMap.macDefault = { "Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo", "Cmd-Home": "goDocStart", "Cmd-Up": "goDocStart", "Cmd-End": "goDocEnd", "Cmd-Down": "goDocEnd", "Alt-Left": "goGroupLeft", "Alt-Right": "goGroupRight", "Cmd-Left": "goLineLeft", "Cmd-Right": "goLineRight", "Alt-Backspace": "delGroupBefore", "Ctrl-Alt-Backspace": "delGroupAfter", "Alt-Delete": "delGroupAfter", "Cmd-S": "save", "Cmd-F": "find", "Cmd-G": "findNext", "Shift-Cmd-G": "findPrev", "Cmd-Alt-F": "replace", "Shift-Cmd-Alt-F": "replaceAll", "Cmd-[": "indentLess", "Cmd-]": "indentMore", "Cmd-Backspace": "delWrappedLineLeft", "Cmd-Delete": "delWrappedLineRight", "Cmd-U": "undoSelection", "Shift-Cmd-U": "redoSelection", "Ctrl-Up": "goDocStart", "Ctrl-Down": "goDocEnd", fallthrough: ["basic", "emacsy"] }; keyMap["default"] = mac ? keyMap.macDefault : keyMap.pcDefault; // KEYMAP DISPATCH function normalizeKeyName(name) { var parts = name.split(/-(?!$)/), name = parts[parts.length - 1]; var alt, ctrl, shift, cmd; for (var i = 0; i < parts.length - 1; i++) { var mod = parts[i]; if (/^(cmd|meta|m)$/i.test(mod)) cmd = true; else if (/^a(lt)?$/i.test(mod)) alt = true; else if (/^(c|ctrl|control)$/i.test(mod)) ctrl = true; else if (/^s(hift)$/i.test(mod)) shift = true; else throw new Error("Unrecognized modifier name: " + mod); } if (alt) name = "Alt-" + name; if (ctrl) name = "Ctrl-" + name; if (cmd) name = "Cmd-" + name; if (shift) name = "Shift-" + name; return name; } // This is a kludge to keep keymaps mostly working as raw objects // (backwards compatibility) while at the same time support features // like normalization and multi-stroke key bindings. It compiles a // new normalized keymap, and then updates the old object to reflect // this. CodeMirror.normalizeKeyMap = function(keymap) { var copy = {}; for (var keyname in keymap) if (keymap.hasOwnProperty(keyname)) { var value = keymap[keyname]; if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) continue; if (value == "...") { delete keymap[keyname]; continue; } var keys = map(keyname.split(" "), normalizeKeyName); for (var i = 0; i < keys.length; i++) { var val, name; if (i == keys.length - 1) { name = keys.join(" "); val = value; } else { name = keys.slice(0, i + 1).join(" "); val = "..."; } var prev = copy[name]; if (!prev) copy[name] = val; else if (prev != val) throw new Error("Inconsistent bindings for " + name); } delete keymap[keyname]; } for (var prop in copy) keymap[prop] = copy[prop]; return keymap; }; var lookupKey = CodeMirror.lookupKey = function(key, map, handle, context) { map = getKeyMap(map); var found = map.call ? map.call(key, context) : map[key]; if (found === false) return "nothing"; if (found === "...") return "multi"; if (found != null && handle(found)) return "handled"; if (map.fallthrough) { if (Object.prototype.toString.call(map.fallthrough) != "[object Array]") return lookupKey(key, map.fallthrough, handle, context); for (var i = 0; i < map.fallthrough.length; i++) { var result = lookupKey(key, map.fallthrough[i], handle, context); if (result) return result; } } }; // Modifier key presses don't count as 'real' key presses for the // purpose of keymap fallthrough. var isModifierKey = CodeMirror.isModifierKey = function(value) { var name = typeof value == "string" ? value : keyNames[value.keyCode]; return name == "Ctrl" || name == "Alt" || name == "Shift" || name == "Mod"; }; // Look up the name of a key as indicated by an event object. var keyName = CodeMirror.keyName = function(event, noShift) { if (presto && event.keyCode == 34 && event["char"]) return false; var base = keyNames[event.keyCode], name = base; if (name == null || event.altGraphKey) return false; if (event.altKey && base != "Alt") name = "Alt-" + name; if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != "Ctrl") name = "Ctrl-" + name; if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != "Cmd") name = "Cmd-" + name; if (!noShift && event.shiftKey && base != "Shift") name = "Shift-" + name; return name; }; function getKeyMap(val) { return typeof val == "string" ? keyMap[val] : val; } // FROMTEXTAREA CodeMirror.fromTextArea = function(textarea, options) { options = options ? copyObj(options) : {}; options.value = textarea.value; if (!options.tabindex && textarea.tabIndex) options.tabindex = textarea.tabIndex; if (!options.placeholder && textarea.placeholder) options.placeholder = textarea.placeholder; // Set autofocus to true if this textarea is focused, or if it has // autofocus and no other element is focused. if (options.autofocus == null) { var hasFocus = activeElt(); options.autofocus = hasFocus == textarea || textarea.getAttribute("autofocus") != null && hasFocus == document.body; } function save() {textarea.value = cm.getValue();} if (textarea.form) { on(textarea.form, "submit", save); // Deplorable hack to make the submit method do the right thing. if (!options.leaveSubmitMethodAlone) { var form = textarea.form, realSubmit = form.submit; try { var wrappedSubmit = form.submit = function() { save(); form.submit = realSubmit; form.submit(); form.submit = wrappedSubmit; }; } catch(e) {} } } options.finishInit = function(cm) { cm.save = save; cm.getTextArea = function() { return textarea; }; cm.toTextArea = function() { cm.toTextArea = isNaN; // Prevent this from being ran twice save(); textarea.parentNode.removeChild(cm.getWrapperElement()); textarea.style.display = ""; if (textarea.form) { off(textarea.form, "submit", save); if (typeof textarea.form.submit == "function") textarea.form.submit = realSubmit; } }; }; textarea.style.display = "none"; var cm = CodeMirror(function(node) { textarea.parentNode.insertBefore(node, textarea.nextSibling); }, options); return cm; }; // STRING STREAM // Fed to the mode parsers, provides helper functions to make // parsers more succinct. var StringStream = CodeMirror.StringStream = function(string, tabSize) { this.pos = this.start = 0; this.string = string; this.tabSize = tabSize || 8; this.lastColumnPos = this.lastColumnValue = 0; this.lineStart = 0; }; StringStream.prototype = { eol: function() {return this.pos >= this.string.length;}, sol: function() {return this.pos == this.lineStart;}, peek: function() {return this.string.charAt(this.pos) || undefined;}, next: function() { if (this.pos < this.string.length) return this.string.charAt(this.pos++); }, eat: function(match) { var ch = this.string.charAt(this.pos); if (typeof match == "string") var ok = ch == match; else var ok = ch && (match.test ? match.test(ch) : match(ch)); if (ok) {++this.pos; return ch;} }, eatWhile: function(match) { var start = this.pos; while (this.eat(match)){} return this.pos > start; }, eatSpace: function() { var start = this.pos; while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) ++this.pos; return this.pos > start; }, skipToEnd: function() {this.pos = this.string.length;}, skipTo: function(ch) { var found = this.string.indexOf(ch, this.pos); if (found > -1) {this.pos = found; return true;} }, backUp: function(n) {this.pos -= n;}, column: function() { if (this.lastColumnPos < this.start) { this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue); this.lastColumnPos = this.start; } return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0); }, indentation: function() { return countColumn(this.string, null, this.tabSize) - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0); }, match: function(pattern, consume, caseInsensitive) { if (typeof pattern == "string") { var cased = function(str) {return caseInsensitive ? str.toLowerCase() : str;}; var substr = this.string.substr(this.pos, pattern.length); if (cased(substr) == cased(pattern)) { if (consume !== false) this.pos += pattern.length; return true; } } else { var match = this.string.slice(this.pos).match(pattern); if (match && match.index > 0) return null; if (match && consume !== false) this.pos += match[0].length; return match; } }, current: function(){return this.string.slice(this.start, this.pos);}, hideFirstChars: function(n, inner) { this.lineStart += n; try { return inner(); } finally { this.lineStart -= n; } } }; // TEXTMARKERS // Created with markText and setBookmark methods. A TextMarker is a // handle that can be used to clear or find a marked position in the // document. Line objects hold arrays (markedSpans) containing // {from, to, marker} object pointing to such marker objects, and // indicating that such a marker is present on that line. Multiple // lines may point to the same marker when it spans across lines. // The spans will have null for their from/to properties when the // marker continues beyond the start/end of the line. Markers have // links back to the lines they currently touch. var nextMarkerId = 0; var TextMarker = CodeMirror.TextMarker = function(doc, type) { this.lines = []; this.type = type; this.doc = doc; this.id = ++nextMarkerId; }; eventMixin(TextMarker); // Clear the marker. TextMarker.prototype.clear = function() { if (this.explicitlyCleared) return; var cm = this.doc.cm, withOp = cm && !cm.curOp; if (withOp) startOperation(cm); if (hasHandler(this, "clear")) { var found = this.find(); if (found) signalLater(this, "clear", found.from, found.to); } var min = null, max = null; for (var i = 0; i < this.lines.length; ++i) { var line = this.lines[i]; var span = getMarkedSpanFor(line.markedSpans, this); if (cm && !this.collapsed) regLineChange(cm, lineNo(line), "text"); else if (cm) { if (span.to != null) max = lineNo(line); if (span.from != null) min = lineNo(line); } line.markedSpans = removeMarkedSpan(line.markedSpans, span); if (span.from == null && this.collapsed && !lineIsHidden(this.doc, line) && cm) updateLineHeight(line, textHeight(cm.display)); } if (cm && this.collapsed && !cm.options.lineWrapping) for (var i = 0; i < this.lines.length; ++i) { var visual = visualLine(this.lines[i]), len = lineLength(visual); if (len > cm.display.maxLineLength) { cm.display.maxLine = visual; cm.display.maxLineLength = len; cm.display.maxLineChanged = true; } } if (min != null && cm && this.collapsed) regChange(cm, min, max + 1); this.lines.length = 0; this.explicitlyCleared = true; if (this.atomic && this.doc.cantEdit) { this.doc.cantEdit = false; if (cm) reCheckSelection(cm.doc); } if (cm) signalLater(cm, "markerCleared", cm, this); if (withOp) endOperation(cm); if (this.parent) this.parent.clear(); }; // Find the position of the marker in the document. Returns a {from, // to} object by default. Side can be passed to get a specific side // -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the // Pos objects returned contain a line object, rather than a line // number (used to prevent looking up the same line twice). TextMarker.prototype.find = function(side, lineObj) { if (side == null && this.type == "bookmark") side = 1; var from, to; for (var i = 0; i < this.lines.length; ++i) { var line = this.lines[i]; var span = getMarkedSpanFor(line.markedSpans, this); if (span.from != null) { from = Pos(lineObj ? line : lineNo(line), span.from); if (side == -1) return from; } if (span.to != null) { to = Pos(lineObj ? line : lineNo(line), span.to); if (side == 1) return to; } } return from && {from: from, to: to}; }; // Signals that the marker's widget changed, and surrounding layout // should be recomputed. TextMarker.prototype.changed = function() { var pos = this.find(-1, true), widget = this, cm = this.doc.cm; if (!pos || !cm) return; runInOp(cm, function() { var line = pos.line, lineN = lineNo(pos.line); var view = findViewForLine(cm, lineN); if (view) { clearLineMeasurementCacheFor(view); cm.curOp.selectionChanged = cm.curOp.forceUpdate = true; } cm.curOp.updateMaxLine = true; if (!lineIsHidden(widget.doc, line) && widget.height != null) { var oldHeight = widget.height; widget.height = null; var dHeight = widgetHeight(widget) - oldHeight; if (dHeight) updateLineHeight(line, line.height + dHeight); } }); }; TextMarker.prototype.attachLine = function(line) { if (!this.lines.length && this.doc.cm) { var op = this.doc.cm.curOp; if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1) (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); } this.lines.push(line); }; TextMarker.prototype.detachLine = function(line) { this.lines.splice(indexOf(this.lines, line), 1); if (!this.lines.length && this.doc.cm) { var op = this.doc.cm.curOp; (op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this); } }; // Collapsed markers have unique ids, in order to be able to order // them, which is needed for uniquely determining an outer marker // when they overlap (they may nest, but not partially overlap). var nextMarkerId = 0; // Create a marker, wire it up to the right lines, and function markText(doc, from, to, options, type) { // Shared markers (across linked documents) are handled separately // (markTextShared will call out to this again, once per // document). if (options && options.shared) return markTextShared(doc, from, to, options, type); // Ensure we are in an operation. if (doc.cm && !doc.cm.curOp) return operation(doc.cm, markText)(doc, from, to, options, type); var marker = new TextMarker(doc, type), diff = cmp(from, to); if (options) copyObj(options, marker, false); // Don't connect empty markers unless clearWhenEmpty is false if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false) return marker; if (marker.replacedWith) { // Showing up as a widget implies collapsed (widget replaces text) marker.collapsed = true; marker.widgetNode = elt("span", [marker.replacedWith], "CodeMirror-widget"); if (!options.handleMouseEvents) marker.widgetNode.setAttribute("cm-ignore-events", "true"); if (options.insertLeft) marker.widgetNode.insertLeft = true; } if (marker.collapsed) { if (conflictingCollapsedRange(doc, from.line, from, to, marker) || from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker)) throw new Error("Inserting collapsed marker partially overlapping an existing one"); sawCollapsedSpans = true; } if (marker.addToHistory) addChangeToHistory(doc, {from: from, to: to, origin: "markText"}, doc.sel, NaN); var curLine = from.line, cm = doc.cm, updateMaxLine; doc.iter(curLine, to.line + 1, function(line) { if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine) updateMaxLine = true; if (marker.collapsed && curLine != from.line) updateLineHeight(line, 0); addMarkedSpan(line, new MarkedSpan(marker, curLine == from.line ? from.ch : null, curLine == to.line ? to.ch : null)); ++curLine; }); // lineIsHidden depends on the presence of the spans, so needs a second pass if (marker.collapsed) doc.iter(from.line, to.line + 1, function(line) { if (lineIsHidden(doc, line)) updateLineHeight(line, 0); }); if (marker.clearOnEnter) on(marker, "beforeCursorEnter", function() { marker.clear(); }); if (marker.readOnly) { sawReadOnlySpans = true; if (doc.history.done.length || doc.history.undone.length) doc.clearHistory(); } if (marker.collapsed) { marker.id = ++nextMarkerId; marker.atomic = true; } if (cm) { // Sync editor state if (updateMaxLine) cm.curOp.updateMaxLine = true; if (marker.collapsed) regChange(cm, from.line, to.line + 1); else if (marker.className || marker.title || marker.startStyle || marker.endStyle || marker.css) for (var i = from.line; i <= to.line; i++) regLineChange(cm, i, "text"); if (marker.atomic) reCheckSelection(cm.doc); signalLater(cm, "markerAdded", cm, marker); } return marker; } // SHARED TEXTMARKERS // A shared marker spans multiple linked documents. It is // implemented as a meta-marker-object controlling multiple normal // markers. var SharedTextMarker = CodeMirror.SharedTextMarker = function(markers, primary) { this.markers = markers; this.primary = primary; for (var i = 0; i < markers.length; ++i) markers[i].parent = this; }; eventMixin(SharedTextMarker); SharedTextMarker.prototype.clear = function() { if (this.explicitlyCleared) return; this.explicitlyCleared = true; for (var i = 0; i < this.markers.length; ++i) this.markers[i].clear(); signalLater(this, "clear"); }; SharedTextMarker.prototype.find = function(side, lineObj) { return this.primary.find(side, lineObj); }; function markTextShared(doc, from, to, options, type) { options = copyObj(options); options.shared = false; var markers = [markText(doc, from, to, options, type)], primary = markers[0]; var widget = options.widgetNode; linkedDocs(doc, function(doc) { if (widget) options.widgetNode = widget.cloneNode(true); markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type)); for (var i = 0; i < doc.linked.length; ++i) if (doc.linked[i].isParent) return; primary = lst(markers); }); return new SharedTextMarker(markers, primary); } function findSharedMarkers(doc) { return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function(m) { return m.parent; }); } function copySharedMarkers(doc, markers) { for (var i = 0; i < markers.length; i++) { var marker = markers[i], pos = marker.find(); var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to); if (cmp(mFrom, mTo)) { var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type); marker.markers.push(subMark); subMark.parent = marker; } } } function detachSharedMarkers(markers) { for (var i = 0; i < markers.length; i++) { var marker = markers[i], linked = [marker.primary.doc];; linkedDocs(marker.primary.doc, function(d) { linked.push(d); }); for (var j = 0; j < marker.markers.length; j++) { var subMarker = marker.markers[j]; if (indexOf(linked, subMarker.doc) == -1) { subMarker.parent = null; marker.markers.splice(j--, 1); } } } } // TEXTMARKER SPANS function MarkedSpan(marker, from, to) { this.marker = marker; this.from = from; this.to = to; } // Search an array of spans for a span matching the given marker. function getMarkedSpanFor(spans, marker) { if (spans) for (var i = 0; i < spans.length; ++i) { var span = spans[i]; if (span.marker == marker) return span; } } // Remove a span from an array, returning undefined if no spans are // left (we don't store arrays for lines without spans). function removeMarkedSpan(spans, span) { for (var r, i = 0; i < spans.length; ++i) if (spans[i] != span) (r || (r = [])).push(spans[i]); return r; } // Add a span to a line. function addMarkedSpan(line, span) { line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]; span.marker.attachLine(line); } // Used for the algorithm that adjusts markers for a change in the // document. These functions cut an array of spans at a given // character position, returning an array of remaining chunks (or // undefined if nothing remains). function markedSpansBefore(old, startCh, isInsert) { if (old) for (var i = 0, nw; i < old.length; ++i) { var span = old[i], marker = span.marker; var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh); if (startsBefore || span.from == startCh && marker.type == "bookmark" && (!isInsert || !span.marker.insertLeft)) { var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh); (nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to)); } } return nw; } function markedSpansAfter(old, endCh, isInsert) { if (old) for (var i = 0, nw; i < old.length; ++i) { var span = old[i], marker = span.marker; var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh); if (endsAfter || span.from == endCh && marker.type == "bookmark" && (!isInsert || span.marker.insertLeft)) { var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh); (nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh, span.to == null ? null : span.to - endCh)); } } return nw; } // Given a change object, compute the new set of marker spans that // cover the line in which the change took place. Removes spans // entirely within the change, reconnects spans belonging to the // same marker that appear on both sides of the change, and cuts off // spans partially within the change. Returns an array of span // arrays with one element for each line in (after) the change. function stretchSpansOverChange(doc, change) { if (change.full) return null; var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans; var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans; if (!oldFirst && !oldLast) return null; var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0; // Get the spans that 'stick out' on both sides var first = markedSpansBefore(oldFirst, startCh, isInsert); var last = markedSpansAfter(oldLast, endCh, isInsert); // Next, merge those two ends var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0); if (first) { // Fix up .to properties of first for (var i = 0; i < first.length; ++i) { var span = first[i]; if (span.to == null) { var found = getMarkedSpanFor(last, span.marker); if (!found) span.to = startCh; else if (sameLine) span.to = found.to == null ? null : found.to + offset; } } } if (last) { // Fix up .from in last (or move them into first in case of sameLine) for (var i = 0; i < last.length; ++i) { var span = last[i]; if (span.to != null) span.to += offset; if (span.from == null) { var found = getMarkedSpanFor(first, span.marker); if (!found) { span.from = offset; if (sameLine) (first || (first = [])).push(span); } } else { span.from += offset; if (sameLine) (first || (first = [])).push(span); } } } // Make sure we didn't create any zero-length spans if (first) first = clearEmptySpans(first); if (last && last != first) last = clearEmptySpans(last); var newMarkers = [first]; if (!sameLine) { // Fill gap with whole-line-spans var gap = change.text.length - 2, gapMarkers; if (gap > 0 && first) for (var i = 0; i < first.length; ++i) if (first[i].to == null) (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i].marker, null, null)); for (var i = 0; i < gap; ++i) newMarkers.push(gapMarkers); newMarkers.push(last); } return newMarkers; } // Remove spans that are empty and don't have a clearWhenEmpty // option of false. function clearEmptySpans(spans) { for (var i = 0; i < spans.length; ++i) { var span = spans[i]; if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false) spans.splice(i--, 1); } if (!spans.length) return null; return spans; } // Used for un/re-doing changes from the history. Combines the // result of computing the existing spans with the set of spans that // existed in the history (so that deleting around a span and then // undoing brings back the span). function mergeOldSpans(doc, change) { var old = getOldSpans(doc, change); var stretched = stretchSpansOverChange(doc, change); if (!old) return stretched; if (!stretched) return old; for (var i = 0; i < old.length; ++i) { var oldCur = old[i], stretchCur = stretched[i]; if (oldCur && stretchCur) { spans: for (var j = 0; j < stretchCur.length; ++j) { var span = stretchCur[j]; for (var k = 0; k < oldCur.length; ++k) if (oldCur[k].marker == span.marker) continue spans; oldCur.push(span); } } else if (stretchCur) { old[i] = stretchCur; } } return old; } // Used to 'clip' out readOnly ranges when making a change. function removeReadOnlyRanges(doc, from, to) { var markers = null; doc.iter(from.line, to.line + 1, function(line) { if (line.markedSpans) for (var i = 0; i < line.markedSpans.length; ++i) { var mark = line.markedSpans[i].marker; if (mark.readOnly && (!markers || indexOf(markers, mark) == -1)) (markers || (markers = [])).push(mark); } }); if (!markers) return null; var parts = [{from: from, to: to}]; for (var i = 0; i < markers.length; ++i) { var mk = markers[i], m = mk.find(0); for (var j = 0; j < parts.length; ++j) { var p = parts[j]; if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) continue; var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to); if (dfrom < 0 || !mk.inclusiveLeft && !dfrom) newParts.push({from: p.from, to: m.from}); if (dto > 0 || !mk.inclusiveRight && !dto) newParts.push({from: m.to, to: p.to}); parts.splice.apply(parts, newParts); j += newParts.length - 1; } } return parts; } // Connect or disconnect spans from a line. function detachMarkedSpans(line) { var spans = line.markedSpans; if (!spans) return; for (var i = 0; i < spans.length; ++i) spans[i].marker.detachLine(line); line.markedSpans = null; } function attachMarkedSpans(line, spans) { if (!spans) return; for (var i = 0; i < spans.length; ++i) spans[i].marker.attachLine(line); line.markedSpans = spans; } // Helpers used when computing which overlapping collapsed span // counts as the larger one. function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0; } function extraRight(marker) { return marker.inclusiveRight ? 1 : 0; } // Returns a number indicating which of two overlapping collapsed // spans is larger (and thus includes the other). Falls back to // comparing ids when the spans cover exactly the same range. function compareCollapsedMarkers(a, b) { var lenDiff = a.lines.length - b.lines.length; if (lenDiff != 0) return lenDiff; var aPos = a.find(), bPos = b.find(); var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b); if (fromCmp) return -fromCmp; var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b); if (toCmp) return toCmp; return b.id - a.id; } // Find out whether a line ends or starts in a collapsed span. If // so, return the marker for that span. function collapsedSpanAtSide(line, start) { var sps = sawCollapsedSpans && line.markedSpans, found; if (sps) for (var sp, i = 0; i < sps.length; ++i) { sp = sps[i]; if (sp.marker.collapsed && (start ? sp.from : sp.to) == null && (!found || compareCollapsedMarkers(found, sp.marker) < 0)) found = sp.marker; } return found; } function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true); } function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false); } // Test whether there exists a collapsed span that partially // overlaps (covers the start or end, but not both) of a new span. // Such overlap is not allowed. function conflictingCollapsedRange(doc, lineNo, from, to, marker) { var line = getLine(doc, lineNo); var sps = sawCollapsedSpans && line.markedSpans; if (sps) for (var i = 0; i < sps.length; ++i) { var sp = sps[i]; if (!sp.marker.collapsed) continue; var found = sp.marker.find(0); var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker); var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker); if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) continue; if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) || fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0)) return true; } } // A visual line is a line as drawn on the screen. Folding, for // example, can cause multiple logical lines to appear on the same // visual line. This finds the start of the visual line that the // given line is part of (usually that is the line itself). function visualLine(line) { var merged; while (merged = collapsedSpanAtStart(line)) line = merged.find(-1, true).line; return line; } // Returns an array of logical lines that continue the visual line // started by the argument, or undefined if there are no such lines. function visualLineContinued(line) { var merged, lines; while (merged = collapsedSpanAtEnd(line)) { line = merged.find(1, true).line; (lines || (lines = [])).push(line); } return lines; } // Get the line number of the start of the visual line that the // given line number is part of. function visualLineNo(doc, lineN) { var line = getLine(doc, lineN), vis = visualLine(line); if (line == vis) return lineN; return lineNo(vis); } // Get the line number of the start of the next visual line after // the given line. function visualLineEndNo(doc, lineN) { if (lineN > doc.lastLine()) return lineN; var line = getLine(doc, lineN), merged; if (!lineIsHidden(doc, line)) return lineN; while (merged = collapsedSpanAtEnd(line)) line = merged.find(1, true).line; return lineNo(line) + 1; } // Compute whether a line is hidden. Lines count as hidden when they // are part of a visual line that starts with another line, or when // they are entirely covered by collapsed, non-widget span. function lineIsHidden(doc, line) { var sps = sawCollapsedSpans && line.markedSpans; if (sps) for (var sp, i = 0; i < sps.length; ++i) { sp = sps[i]; if (!sp.marker.collapsed) continue; if (sp.from == null) return true; if (sp.marker.widgetNode) continue; if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp)) return true; } } function lineIsHiddenInner(doc, line, span) { if (span.to == null) { var end = span.marker.find(1, true); return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker)); } if (span.marker.inclusiveRight && span.to == line.text.length) return true; for (var sp, i = 0; i < line.markedSpans.length; ++i) { sp = line.markedSpans[i]; if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to && (sp.to == null || sp.to != span.from) && (sp.marker.inclusiveLeft || span.marker.inclusiveRight) && lineIsHiddenInner(doc, line, sp)) return true; } } // LINE WIDGETS // Line widgets are block elements displayed above or below a line. var LineWidget = CodeMirror.LineWidget = function(doc, node, options) { if (options) for (var opt in options) if (options.hasOwnProperty(opt)) this[opt] = options[opt]; this.doc = doc; this.node = node; }; eventMixin(LineWidget); function adjustScrollWhenAboveVisible(cm, line, diff) { if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop)) addToScrollPos(cm, null, diff); } LineWidget.prototype.clear = function() { var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line); if (no == null || !ws) return; for (var i = 0; i < ws.length; ++i) if (ws[i] == this) ws.splice(i--, 1); if (!ws.length) line.widgets = null; var height = widgetHeight(this); updateLineHeight(line, Math.max(0, line.height - height)); if (cm) runInOp(cm, function() { adjustScrollWhenAboveVisible(cm, line, -height); regLineChange(cm, no, "widget"); }); }; LineWidget.prototype.changed = function() { var oldH = this.height, cm = this.doc.cm, line = this.line; this.height = null; var diff = widgetHeight(this) - oldH; if (!diff) return; updateLineHeight(line, line.height + diff); if (cm) runInOp(cm, function() { cm.curOp.forceUpdate = true; adjustScrollWhenAboveVisible(cm, line, diff); }); }; function widgetHeight(widget) { if (widget.height != null) return widget.height; var cm = widget.doc.cm; if (!cm) return 0; if (!contains(document.body, widget.node)) { var parentStyle = "position: relative;"; if (widget.coverGutter) parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;"; if (widget.noHScroll) parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;"; removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle)); } return widget.height = widget.node.parentNode.offsetHeight; } function addLineWidget(doc, handle, node, options) { var widget = new LineWidget(doc, node, options); var cm = doc.cm; if (cm && widget.noHScroll) cm.display.alignWidgets = true; changeLine(doc, handle, "widget", function(line) { var widgets = line.widgets || (line.widgets = []); if (widget.insertAt == null) widgets.push(widget); else widgets.splice(Math.min(widgets.length - 1, Math.max(0, widget.insertAt)), 0, widget); widget.line = line; if (cm && !lineIsHidden(doc, line)) { var aboveVisible = heightAtLine(line) < doc.scrollTop; updateLineHeight(line, line.height + widgetHeight(widget)); if (aboveVisible) addToScrollPos(cm, null, widget.height); cm.curOp.forceUpdate = true; } return true; }); return widget; } // LINE DATA STRUCTURE // Line objects. These hold state related to a line, including // highlighting info (the styles array). var Line = CodeMirror.Line = function(text, markedSpans, estimateHeight) { this.text = text; attachMarkedSpans(this, markedSpans); this.height = estimateHeight ? estimateHeight(this) : 1; }; eventMixin(Line); Line.prototype.lineNo = function() { return lineNo(this); }; // Change the content (text, markers) of a line. Automatically // invalidates cached information and tries to re-estimate the // line's height. function updateLine(line, text, markedSpans, estimateHeight) { line.text = text; if (line.stateAfter) line.stateAfter = null; if (line.styles) line.styles = null; if (line.order != null) line.order = null; detachMarkedSpans(line); attachMarkedSpans(line, markedSpans); var estHeight = estimateHeight ? estimateHeight(line) : 1; if (estHeight != line.height) updateLineHeight(line, estHeight); } // Detach a line from the document tree and its markers. function cleanUpLine(line) { line.parent = null; detachMarkedSpans(line); } function extractLineClasses(type, output) { if (type) for (;;) { var lineClass = type.match(/(?:^|\s+)line-(background-)?(\S+)/); if (!lineClass) break; type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length); var prop = lineClass[1] ? "bgClass" : "textClass"; if (output[prop] == null) output[prop] = lineClass[2]; else if (!(new RegExp("(?:^|\s)" + lineClass[2] + "(?:$|\s)")).test(output[prop])) output[prop] += " " + lineClass[2]; } return type; } function callBlankLine(mode, state) { if (mode.blankLine) return mode.blankLine(state); if (!mode.innerMode) return; var inner = CodeMirror.innerMode(mode, state); if (inner.mode.blankLine) return inner.mode.blankLine(inner.state); } function readToken(mode, stream, state, inner) { for (var i = 0; i < 10; i++) { if (inner) inner[0] = CodeMirror.innerMode(mode, state).mode; var style = mode.token(stream, state); if (stream.pos > stream.start) return style; } throw new Error("Mode " + mode.name + " failed to advance stream."); } // Utility for getTokenAt and getLineTokens function takeToken(cm, pos, precise, asArray) { function getObj(copy) { return {start: stream.start, end: stream.pos, string: stream.current(), type: style || null, state: copy ? copyState(doc.mode, state) : state}; } var doc = cm.doc, mode = doc.mode, style; pos = clipPos(doc, pos); var line = getLine(doc, pos.line), state = getStateBefore(cm, pos.line, precise); var stream = new StringStream(line.text, cm.options.tabSize), tokens; if (asArray) tokens = []; while ((asArray || stream.pos < pos.ch) && !stream.eol()) { stream.start = stream.pos; style = readToken(mode, stream, state); if (asArray) tokens.push(getObj(true)); } return asArray ? tokens : getObj(); } // Run the given mode's parser over a line, calling f for each token. function runMode(cm, text, mode, state, f, lineClasses, forceToEnd) { var flattenSpans = mode.flattenSpans; if (flattenSpans == null) flattenSpans = cm.options.flattenSpans; var curStart = 0, curStyle = null; var stream = new StringStream(text, cm.options.tabSize), style; var inner = cm.options.addModeClass && [null]; if (text == "") extractLineClasses(callBlankLine(mode, state), lineClasses); while (!stream.eol()) { if (stream.pos > cm.options.maxHighlightLength) { flattenSpans = false; if (forceToEnd) processLine(cm, text, state, stream.pos); stream.pos = text.length; style = null; } else { style = extractLineClasses(readToken(mode, stream, state, inner), lineClasses); } if (inner) { var mName = inner[0].name; if (mName) style = "m-" + (style ? mName + " " + style : mName); } if (!flattenSpans || curStyle != style) { while (curStart < stream.start) { curStart = Math.min(stream.start, curStart + 50000); f(curStart, curStyle); } curStyle = style; } stream.start = stream.pos; } while (curStart < stream.pos) { // Webkit seems to refuse to render text nodes longer than 57444 characters var pos = Math.min(stream.pos, curStart + 50000); f(pos, curStyle); curStart = pos; } } // Compute a style array (an array starting with a mode generation // -- for invalidation -- followed by pairs of end positions and // style strings), which is used to highlight the tokens on the // line. function highlightLine(cm, line, state, forceToEnd) { // A styles array always starts with a number identifying the // mode/overlays that it is based on (for easy invalidation). var st = [cm.state.modeGen], lineClasses = {}; // Compute the base array of styles runMode(cm, line.text, cm.doc.mode, state, function(end, style) { st.push(end, style); }, lineClasses, forceToEnd); // Run overlays, adjust style array. for (var o = 0; o < cm.state.overlays.length; ++o) { var overlay = cm.state.overlays[o], i = 1, at = 0; runMode(cm, line.text, overlay.mode, true, function(end, style) { var start = i; // Ensure there's a token end at the current position, and that i points at it while (at < end) { var i_end = st[i]; if (i_end > end) st.splice(i, 1, end, st[i+1], i_end); i += 2; at = Math.min(end, i_end); } if (!style) return; if (overlay.opaque) { st.splice(start, i - start, end, "cm-overlay " + style); i = start + 2; } else { for (; start < i; start += 2) { var cur = st[start+1]; st[start+1] = (cur ? cur + " " : "") + "cm-overlay " + style; } } }, lineClasses); } return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null}; } function getLineStyles(cm, line, updateFrontier) { if (!line.styles || line.styles[0] != cm.state.modeGen) { var state = getStateBefore(cm, lineNo(line)); var result = highlightLine(cm, line, line.text.length > cm.options.maxHighlightLength ? copyState(cm.doc.mode, state) : state); line.stateAfter = state; line.styles = result.styles; if (result.classes) line.styleClasses = result.classes; else if (line.styleClasses) line.styleClasses = null; if (updateFrontier === cm.doc.frontier) cm.doc.frontier++; } return line.styles; } // Lightweight form of highlight -- proceed over this line and // update state, but don't save a style array. Used for lines that // aren't currently visible. function processLine(cm, text, state, startAt) { var mode = cm.doc.mode; var stream = new StringStream(text, cm.options.tabSize); stream.start = stream.pos = startAt || 0; if (text == "") callBlankLine(mode, state); while (!stream.eol()) { readToken(mode, stream, state); stream.start = stream.pos; } } // Convert a style as returned by a mode (either null, or a string // containing one or more styles) to a CSS style. This is cached, // and also looks for line-wide styles. var styleToClassCache = {}, styleToClassCacheWithMode = {}; function interpretTokenStyle(style, options) { if (!style || /^\s*$/.test(style)) return null; var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache; return cache[style] || (cache[style] = style.replace(/\S+/g, "cm-$&")); } // Render the DOM representation of the text of a line. Also builds // up a 'line map', which points at the DOM nodes that represent // specific stretches of text, and is used by the measuring code. // The returned object contains the DOM node, this map, and // information about line-wide styles that were set by the mode. function buildLineContent(cm, lineView) { // The padding-right forces the element to have a 'border', which // is needed on Webkit to be able to get line-level bounding // rectangles for it (in measureChar). var content = elt("span", null, null, webkit ? "padding-right: .1px" : null); var builder = {pre: elt("pre", [content], "CodeMirror-line"), content: content, col: 0, pos: 0, cm: cm, trailingSpace: false, splitSpaces: (ie || webkit) && cm.getOption("lineWrapping")}; lineView.measure = {}; // Iterate over the logical lines that make up this visual line. for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) { var line = i ? lineView.rest[i - 1] : lineView.line, order; builder.pos = 0; builder.addToken = buildToken; // Optionally wire in some hacks into the token-rendering // algorithm, to deal with browser quirks. if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line))) builder.addToken = buildTokenBadBidi(builder.addToken, order); builder.map = []; var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line); insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate)); if (line.styleClasses) { if (line.styleClasses.bgClass) builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || ""); if (line.styleClasses.textClass) builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || ""); } // Ensure at least a single node is present, for measuring. if (builder.map.length == 0) builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); // Store the map and a cache object for the current logical line if (i == 0) { lineView.measure.map = builder.map; lineView.measure.cache = {}; } else { (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map); (lineView.measure.caches || (lineView.measure.caches = [])).push({}); } } // See issue #2901 if (webkit) { var last = builder.content.lastChild if (/\bcm-tab\b/.test(last.className) || (last.querySelector && last.querySelector(".cm-tab"))) builder.content.className = "cm-tab-wrap-hack"; } signal(cm, "renderLine", cm, lineView.line, builder.pre); if (builder.pre.className) builder.textClass = joinClasses(builder.pre.className, builder.textClass || ""); return builder; } function defaultSpecialCharPlaceholder(ch) { var token = elt("span", "\u2022", "cm-invalidchar"); token.title = "\\u" + ch.charCodeAt(0).toString(16); token.setAttribute("aria-label", token.title); return token; } // Build up the DOM representation for a single token, and add it to // the line map. Takes care to render special characters separately. function buildToken(builder, text, style, startStyle, endStyle, title, css) { if (!text) return; var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text var special = builder.cm.state.specialChars, mustWrap = false; if (!special.test(text)) { builder.col += text.length; var content = document.createTextNode(displayText); builder.map.push(builder.pos, builder.pos + text.length, content); if (ie && ie_version < 9) mustWrap = true; builder.pos += text.length; } else { var content = document.createDocumentFragment(), pos = 0; while (true) { special.lastIndex = pos; var m = special.exec(text); var skipped = m ? m.index - pos : text.length - pos; if (skipped) { var txt = document.createTextNode(displayText.slice(pos, pos + skipped)); if (ie && ie_version < 9) content.appendChild(elt("span", [txt])); else content.appendChild(txt); builder.map.push(builder.pos, builder.pos + skipped, txt); builder.col += skipped; builder.pos += skipped; } if (!m) break; pos += skipped + 1; if (m[0] == "\t") { var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize; var txt = content.appendChild(elt("span", spaceStr(tabWidth), "cm-tab")); txt.setAttribute("role", "presentation"); txt.setAttribute("cm-text", "\t"); builder.col += tabWidth; } else if (m[0] == "\r" || m[0] == "\n") { var txt = content.appendChild(elt("span", m[0] == "\r" ? "\u240d" : "\u2424", "cm-invalidchar")); txt.setAttribute("cm-text", m[0]); builder.col += 1; } else { var txt = builder.cm.options.specialCharPlaceholder(m[0]); txt.setAttribute("cm-text", m[0]); if (ie && ie_version < 9) content.appendChild(elt("span", [txt])); else content.appendChild(txt); builder.col += 1; } builder.map.push(builder.pos, builder.pos + 1, txt); builder.pos++; } } builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32 if (style || startStyle || endStyle || mustWrap || css) { var fullStyle = style || ""; if (startStyle) fullStyle += startStyle; if (endStyle) fullStyle += endStyle; var token = elt("span", [content], fullStyle, css); if (title) token.title = title; return builder.content.appendChild(token); } builder.content.appendChild(content); } function splitSpaces(text, trailingBefore) { if (text.length > 1 && !/ /.test(text)) return text var spaceBefore = trailingBefore, result = "" for (var i = 0; i < text.length; i++) { var ch = text.charAt(i) if (ch == " " && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32)) ch = "\u00a0" result += ch spaceBefore = ch == " " } return result } // Work around nonsense dimensions being reported for stretches of // right-to-left text. function buildTokenBadBidi(inner, order) { return function(builder, text, style, startStyle, endStyle, title, css) { style = style ? style + " cm-force-border" : "cm-force-border"; var start = builder.pos, end = start + text.length; for (;;) { // Find the part that overlaps with the start of this text for (var i = 0; i < order.length; i++) { var part = order[i]; if (part.to > start && part.from <= start) break; } if (part.to >= end) return inner(builder, text, style, startStyle, endStyle, title, css); inner(builder, text.slice(0, part.to - start), style, startStyle, null, title, css); startStyle = null; text = text.slice(part.to - start); start = part.to; } }; } function buildCollapsedSpan(builder, size, marker, ignoreWidget) { var widget = !ignoreWidget && marker.widgetNode; if (widget) builder.map.push(builder.pos, builder.pos + size, widget); if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) { if (!widget) widget = builder.content.appendChild(document.createElement("span")); widget.setAttribute("cm-marker", marker.id); } if (widget) { builder.cm.display.input.setUneditable(widget); builder.content.appendChild(widget); } builder.pos += size; builder.trailingSpace = false } // Outputs a number of spans to make up a line, taking highlighting // and marked text into account. function insertLineContent(line, builder, styles) { var spans = line.markedSpans, allText = line.text, at = 0; if (!spans) { for (var i = 1; i < styles.length; i+=2) builder.addToken(builder, allText.slice(at, at = styles[i]), interpretTokenStyle(styles[i+1], builder.cm.options)); return; } var len = allText.length, pos = 0, i = 1, text = "", style, css; var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, title, collapsed; for (;;) { if (nextChange == pos) { // Update current marker set spanStyle = spanEndStyle = spanStartStyle = title = css = ""; collapsed = null; nextChange = Infinity; var foundBookmarks = [], endStyles for (var j = 0; j < spans.length; ++j) { var sp = spans[j], m = sp.marker; if (m.type == "bookmark" && sp.from == pos && m.widgetNode) { foundBookmarks.push(m); } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) { if (sp.to != null && sp.to != pos && nextChange > sp.to) { nextChange = sp.to; spanEndStyle = ""; } if (m.className) spanStyle += " " + m.className; if (m.css) css = (css ? css + ";" : "") + m.css; if (m.startStyle && sp.from == pos) spanStartStyle += " " + m.startStyle; if (m.endStyle && sp.to == nextChange) (endStyles || (endStyles = [])).push(m.endStyle, sp.to) if (m.title && !title) title = m.title; if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0)) collapsed = sp; } else if (sp.from > pos && nextChange > sp.from) { nextChange = sp.from; } } if (endStyles) for (var j = 0; j < endStyles.length; j += 2) if (endStyles[j + 1] == nextChange) spanEndStyle += " " + endStyles[j] if (!collapsed || collapsed.from == pos) for (var j = 0; j < foundBookmarks.length; ++j) buildCollapsedSpan(builder, 0, foundBookmarks[j]); if (collapsed && (collapsed.from || 0) == pos) { buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos, collapsed.marker, collapsed.from == null); if (collapsed.to == null) return; if (collapsed.to == pos) collapsed = false; } } if (pos >= len) break; var upto = Math.min(len, nextChange); while (true) { if (text) { var end = pos + text.length; if (!collapsed) { var tokenText = end > upto ? text.slice(0, upto - pos) : text; builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle, spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : "", title, css); } if (end >= upto) {text = text.slice(upto - pos); pos = upto; break;} pos = end; spanStartStyle = ""; } text = allText.slice(at, at = styles[i++]); style = interpretTokenStyle(styles[i++], builder.cm.options); } } } // DOCUMENT DATA STRUCTURE // By default, updates that start and end at the beginning of a line // are treated specially, in order to make the association of line // widgets and marker elements with the text behave more intuitive. function isWholeLineUpdate(doc, change) { return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == "" && (!doc.cm || doc.cm.options.wholeLineUpdateBefore); } // Perform a change on the document data structure. function updateDoc(doc, change, markedSpans, estimateHeight) { function spansFor(n) {return markedSpans ? markedSpans[n] : null;} function update(line, text, spans) { updateLine(line, text, spans, estimateHeight); signalLater(line, "change", line, change); } function linesFor(start, end) { for (var i = start, result = []; i < end; ++i) result.push(new Line(text[i], spansFor(i), estimateHeight)); return result; } var from = change.from, to = change.to, text = change.text; var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line); var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line; // Adjust the line structure if (change.full) { doc.insert(0, linesFor(0, text.length)); doc.remove(text.length, doc.size - text.length); } else if (isWholeLineUpdate(doc, change)) { // This is a whole-line replace. Treated specially to make // sure line objects move the way they are supposed to. var added = linesFor(0, text.length - 1); update(lastLine, lastLine.text, lastSpans); if (nlines) doc.remove(from.line, nlines); if (added.length) doc.insert(from.line, added); } else if (firstLine == lastLine) { if (text.length == 1) { update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans); } else { var added = linesFor(1, text.length - 1); added.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight)); update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); doc.insert(from.line + 1, added); } } else if (text.length == 1) { update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0)); doc.remove(from.line + 1, nlines); } else { update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans); var added = linesFor(1, text.length - 1); if (nlines > 1) doc.remove(from.line + 1, nlines - 1); doc.insert(from.line + 1, added); } signalLater(doc, "change", doc, change); } // The document is represented as a BTree consisting of leaves, with // chunk of lines in them, and branches, with up to ten leaves or // other branch nodes below them. The top node is always a branch // node, and is the document object itself (meaning it has // additional methods and properties). // // All nodes have parent links. The tree is used both to go from // line numbers to line objects, and to go from objects to numbers. // It also indexes by height, and is used to convert between height // and line object, and to find the total height of the document. // // See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html function LeafChunk(lines) { this.lines = lines; this.parent = null; for (var i = 0, height = 0; i < lines.length; ++i) { lines[i].parent = this; height += lines[i].height; } this.height = height; } LeafChunk.prototype = { chunkSize: function() { return this.lines.length; }, // Remove the n lines at offset 'at'. removeInner: function(at, n) { for (var i = at, e = at + n; i < e; ++i) { var line = this.lines[i]; this.height -= line.height; cleanUpLine(line); signalLater(line, "delete"); } this.lines.splice(at, n); }, // Helper used to collapse a small branch into a single leaf. collapse: function(lines) { lines.push.apply(lines, this.lines); }, // Insert the given array of lines at offset 'at', count them as // having the given height. insertInner: function(at, lines, height) { this.height += height; this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at)); for (var i = 0; i < lines.length; ++i) lines[i].parent = this; }, // Used to iterate over a part of the tree. iterN: function(at, n, op) { for (var e = at + n; at < e; ++at) if (op(this.lines[at])) return true; } }; function BranchChunk(children) { this.children = children; var size = 0, height = 0; for (var i = 0; i < children.length; ++i) { var ch = children[i]; size += ch.chunkSize(); height += ch.height; ch.parent = this; } this.size = size; this.height = height; this.parent = null; } BranchChunk.prototype = { chunkSize: function() { return this.size; }, removeInner: function(at, n) { this.size -= n; for (var i = 0; i < this.children.length; ++i) { var child = this.children[i], sz = child.chunkSize(); if (at < sz) { var rm = Math.min(n, sz - at), oldHeight = child.height; child.removeInner(at, rm); this.height -= oldHeight - child.height; if (sz == rm) { this.children.splice(i--, 1); child.parent = null; } if ((n -= rm) == 0) break; at = 0; } else at -= sz; } // If the result is smaller than 25 lines, ensure that it is a // single leaf node. if (this.size - n < 25 && (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) { var lines = []; this.collapse(lines); this.children = [new LeafChunk(lines)]; this.children[0].parent = this; } }, collapse: function(lines) { for (var i = 0; i < this.children.length; ++i) this.children[i].collapse(lines); }, insertInner: function(at, lines, height) { this.size += lines.length; this.height += height; for (var i = 0; i < this.children.length; ++i) { var child = this.children[i], sz = child.chunkSize(); if (at <= sz) { child.insertInner(at, lines, height); if (child.lines && child.lines.length > 50) { // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced. // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest. var remaining = child.lines.length % 25 + 25 for (var pos = remaining; pos < child.lines.length;) { var leaf = new LeafChunk(child.lines.slice(pos, pos += 25)); child.height -= leaf.height; this.children.splice(++i, 0, leaf); leaf.parent = this; } child.lines = child.lines.slice(0, remaining); this.maybeSpill(); } break; } at -= sz; } }, // When a node has grown, check whether it should be split. maybeSpill: function() { if (this.children.length <= 10) return; var me = this; do { var spilled = me.children.splice(me.children.length - 5, 5); var sibling = new BranchChunk(spilled); if (!me.parent) { // Become the parent node var copy = new BranchChunk(me.children); copy.parent = me; me.children = [copy, sibling]; me = copy; } else { me.size -= sibling.size; me.height -= sibling.height; var myIndex = indexOf(me.parent.children, me); me.parent.children.splice(myIndex + 1, 0, sibling); } sibling.parent = me.parent; } while (me.children.length > 10); me.parent.maybeSpill(); }, iterN: function(at, n, op) { for (var i = 0; i < this.children.length; ++i) { var child = this.children[i], sz = child.chunkSize(); if (at < sz) { var used = Math.min(n, sz - at); if (child.iterN(at, used, op)) return true; if ((n -= used) == 0) break; at = 0; } else at -= sz; } } }; var nextDocId = 0; var Doc = CodeMirror.Doc = function(text, mode, firstLine, lineSep) { if (!(this instanceof Doc)) return new Doc(text, mode, firstLine, lineSep); if (firstLine == null) firstLine = 0; BranchChunk.call(this, [new LeafChunk([new Line("", null)])]); this.first = firstLine; this.scrollTop = this.scrollLeft = 0; this.cantEdit = false; this.cleanGeneration = 1; this.frontier = firstLine; var start = Pos(firstLine, 0); this.sel = simpleSelection(start); this.history = new History(null); this.id = ++nextDocId; this.modeOption = mode; this.lineSep = lineSep; this.extend = false; if (typeof text == "string") text = this.splitLines(text); updateDoc(this, {from: start, to: start, text: text}); setSelection(this, simpleSelection(start), sel_dontScroll); }; Doc.prototype = createObj(BranchChunk.prototype, { constructor: Doc, // Iterate over the document. Supports two forms -- with only one // argument, it calls that for each line in the document. With // three, it iterates over the range given by the first two (with // the second being non-inclusive). iter: function(from, to, op) { if (op) this.iterN(from - this.first, to - from, op); else this.iterN(this.first, this.first + this.size, from); }, // Non-public interface for adding and removing lines. insert: function(at, lines) { var height = 0; for (var i = 0; i < lines.length; ++i) height += lines[i].height; this.insertInner(at - this.first, lines, height); }, remove: function(at, n) { this.removeInner(at - this.first, n); }, // From here, the methods are part of the public interface. Most // are also available from CodeMirror (editor) instances. getValue: function(lineSep) { var lines = getLines(this, this.first, this.first + this.size); if (lineSep === false) return lines; return lines.join(lineSep || this.lineSeparator()); }, setValue: docMethodOp(function(code) { var top = Pos(this.first, 0), last = this.first + this.size - 1; makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length), text: this.splitLines(code), origin: "setValue", full: true}, true); setSelection(this, simpleSelection(top)); }), replaceRange: function(code, from, to, origin) { from = clipPos(this, from); to = to ? clipPos(this, to) : from; replaceRange(this, code, from, to, origin); }, getRange: function(from, to, lineSep) { var lines = getBetween(this, clipPos(this, from), clipPos(this, to)); if (lineSep === false) return lines; return lines.join(lineSep || this.lineSeparator()); }, getLine: function(line) {var l = this.getLineHandle(line); return l && l.text;}, getLineHandle: function(line) {if (isLine(this, line)) return getLine(this, line);}, getLineNumber: function(line) {return lineNo(line);}, getLineHandleVisualStart: function(line) { if (typeof line == "number") line = getLine(this, line); return visualLine(line); }, lineCount: function() {return this.size;}, firstLine: function() {return this.first;}, lastLine: function() {return this.first + this.size - 1;}, clipPos: function(pos) {return clipPos(this, pos);}, getCursor: function(start) { var range = this.sel.primary(), pos; if (start == null || start == "head") pos = range.head; else if (start == "anchor") pos = range.anchor; else if (start == "end" || start == "to" || start === false) pos = range.to(); else pos = range.from(); return pos; }, listSelections: function() { return this.sel.ranges; }, somethingSelected: function() {return this.sel.somethingSelected();}, setCursor: docMethodOp(function(line, ch, options) { setSimpleSelection(this, clipPos(this, typeof line == "number" ? Pos(line, ch || 0) : line), null, options); }), setSelection: docMethodOp(function(anchor, head, options) { setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options); }), extendSelection: docMethodOp(function(head, other, options) { extendSelection(this, clipPos(this, head), other && clipPos(this, other), options); }), extendSelections: docMethodOp(function(heads, options) { extendSelections(this, clipPosArray(this, heads), options); }), extendSelectionsBy: docMethodOp(function(f, options) { var heads = map(this.sel.ranges, f); extendSelections(this, clipPosArray(this, heads), options); }), setSelections: docMethodOp(function(ranges, primary, options) { if (!ranges.length) return; for (var i = 0, out = []; i < ranges.length; i++) out[i] = new Range(clipPos(this, ranges[i].anchor), clipPos(this, ranges[i].head)); if (primary == null) primary = Math.min(ranges.length - 1, this.sel.primIndex); setSelection(this, normalizeSelection(out, primary), options); }), addSelection: docMethodOp(function(anchor, head, options) { var ranges = this.sel.ranges.slice(0); ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor))); setSelection(this, normalizeSelection(ranges, ranges.length - 1), options); }), getSelection: function(lineSep) { var ranges = this.sel.ranges, lines; for (var i = 0; i < ranges.length; i++) { var sel = getBetween(this, ranges[i].from(), ranges[i].to()); lines = lines ? lines.concat(sel) : sel; } if (lineSep === false) return lines; else return lines.join(lineSep || this.lineSeparator()); }, getSelections: function(lineSep) { var parts = [], ranges = this.sel.ranges; for (var i = 0; i < ranges.length; i++) { var sel = getBetween(this, ranges[i].from(), ranges[i].to()); if (lineSep !== false) sel = sel.join(lineSep || this.lineSeparator()); parts[i] = sel; } return parts; }, replaceSelection: function(code, collapse, origin) { var dup = []; for (var i = 0; i < this.sel.ranges.length; i++) dup[i] = code; this.replaceSelections(dup, collapse, origin || "+input"); }, replaceSelections: docMethodOp(function(code, collapse, origin) { var changes = [], sel = this.sel; for (var i = 0; i < sel.ranges.length; i++) { var range = sel.ranges[i]; changes[i] = {from: range.from(), to: range.to(), text: this.splitLines(code[i]), origin: origin}; } var newSel = collapse && collapse != "end" && computeReplacedSel(this, changes, collapse); for (var i = changes.length - 1; i >= 0; i--) makeChange(this, changes[i]); if (newSel) setSelectionReplaceHistory(this, newSel); else if (this.cm) ensureCursorVisible(this.cm); }), undo: docMethodOp(function() {makeChangeFromHistory(this, "undo");}), redo: docMethodOp(function() {makeChangeFromHistory(this, "redo");}), undoSelection: docMethodOp(function() {makeChangeFromHistory(this, "undo", true);}), redoSelection: docMethodOp(function() {makeChangeFromHistory(this, "redo", true);}), setExtending: function(val) {this.extend = val;}, getExtending: function() {return this.extend;}, historySize: function() { var hist = this.history, done = 0, undone = 0; for (var i = 0; i < hist.done.length; i++) if (!hist.done[i].ranges) ++done; for (var i = 0; i < hist.undone.length; i++) if (!hist.undone[i].ranges) ++undone; return {undo: done, redo: undone}; }, clearHistory: function() {this.history = new History(this.history.maxGeneration);}, markClean: function() { this.cleanGeneration = this.changeGeneration(true); }, changeGeneration: function(forceSplit) { if (forceSplit) this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; return this.history.generation; }, isClean: function (gen) { return this.history.generation == (gen || this.cleanGeneration); }, getHistory: function() { return {done: copyHistoryArray(this.history.done), undone: copyHistoryArray(this.history.undone)}; }, setHistory: function(histData) { var hist = this.history = new History(this.history.maxGeneration); hist.done = copyHistoryArray(histData.done.slice(0), null, true); hist.undone = copyHistoryArray(histData.undone.slice(0), null, true); }, addLineClass: docMethodOp(function(handle, where, cls) { return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function(line) { var prop = where == "text" ? "textClass" : where == "background" ? "bgClass" : where == "gutter" ? "gutterClass" : "wrapClass"; if (!line[prop]) line[prop] = cls; else if (classTest(cls).test(line[prop])) return false; else line[prop] += " " + cls; return true; }); }), removeLineClass: docMethodOp(function(handle, where, cls) { return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function(line) { var prop = where == "text" ? "textClass" : where == "background" ? "bgClass" : where == "gutter" ? "gutterClass" : "wrapClass"; var cur = line[prop]; if (!cur) return false; else if (cls == null) line[prop] = null; else { var found = cur.match(classTest(cls)); if (!found) return false; var end = found.index + found[0].length; line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? "" : " ") + cur.slice(end) || null; } return true; }); }), addLineWidget: docMethodOp(function(handle, node, options) { return addLineWidget(this, handle, node, options); }), removeLineWidget: function(widget) { widget.clear(); }, markText: function(from, to, options) { return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || "range"); }, setBookmark: function(pos, options) { var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options), insertLeft: options && options.insertLeft, clearWhenEmpty: false, shared: options && options.shared, handleMouseEvents: options && options.handleMouseEvents}; pos = clipPos(this, pos); return markText(this, pos, pos, realOpts, "bookmark"); }, findMarksAt: function(pos) { pos = clipPos(this, pos); var markers = [], spans = getLine(this, pos.line).markedSpans; if (spans) for (var i = 0; i < spans.length; ++i) { var span = spans[i]; if ((span.from == null || span.from <= pos.ch) && (span.to == null || span.to >= pos.ch)) markers.push(span.marker.parent || span.marker); } return markers; }, findMarks: function(from, to, filter) { from = clipPos(this, from); to = clipPos(this, to); var found = [], lineNo = from.line; this.iter(from.line, to.line + 1, function(line) { var spans = line.markedSpans; if (spans) for (var i = 0; i < spans.length; i++) { var span = spans[i]; if (!(span.to != null && lineNo == from.line && from.ch >= span.to || span.from == null && lineNo != from.line || span.from != null && lineNo == to.line && span.from >= to.ch) && (!filter || filter(span.marker))) found.push(span.marker.parent || span.marker); } ++lineNo; }); return found; }, getAllMarks: function() { var markers = []; this.iter(function(line) { var sps = line.markedSpans; if (sps) for (var i = 0; i < sps.length; ++i) if (sps[i].from != null) markers.push(sps[i].marker); }); return markers; }, posFromIndex: function(off) { var ch, lineNo = this.first, sepSize = this.lineSeparator().length; this.iter(function(line) { var sz = line.text.length + sepSize; if (sz > off) { ch = off; return true; } off -= sz; ++lineNo; }); return clipPos(this, Pos(lineNo, ch)); }, indexFromPos: function (coords) { coords = clipPos(this, coords); var index = coords.ch; if (coords.line < this.first || coords.ch < 0) return 0; var sepSize = this.lineSeparator().length; this.iter(this.first, coords.line, function (line) { index += line.text.length + sepSize; }); return index; }, copy: function(copyHistory) { var doc = new Doc(getLines(this, this.first, this.first + this.size), this.modeOption, this.first, this.lineSep); doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft; doc.sel = this.sel; doc.extend = false; if (copyHistory) { doc.history.undoDepth = this.history.undoDepth; doc.setHistory(this.getHistory()); } return doc; }, linkedDoc: function(options) { if (!options) options = {}; var from = this.first, to = this.first + this.size; if (options.from != null && options.from > from) from = options.from; if (options.to != null && options.to < to) to = options.to; var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep); if (options.sharedHist) copy.history = this.history; (this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist}); copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]; copySharedMarkers(copy, findSharedMarkers(this)); return copy; }, unlinkDoc: function(other) { if (other instanceof CodeMirror) other = other.doc; if (this.linked) for (var i = 0; i < this.linked.length; ++i) { var link = this.linked[i]; if (link.doc != other) continue; this.linked.splice(i, 1); other.unlinkDoc(this); detachSharedMarkers(findSharedMarkers(this)); break; } // If the histories were shared, split them again if (other.history == this.history) { var splitIds = [other.id]; linkedDocs(other, function(doc) {splitIds.push(doc.id);}, true); other.history = new History(null); other.history.done = copyHistoryArray(this.history.done, splitIds); other.history.undone = copyHistoryArray(this.history.undone, splitIds); } }, iterLinkedDocs: function(f) {linkedDocs(this, f);}, getMode: function() {return this.mode;}, getEditor: function() {return this.cm;}, splitLines: function(str) { if (this.lineSep) return str.split(this.lineSep); return splitLinesAuto(str); }, lineSeparator: function() { return this.lineSep || "\n"; } }); // Public alias. Doc.prototype.eachLine = Doc.prototype.iter; // Set up methods on CodeMirror's prototype to redirect to the editor's document. var dontDelegate = "iter insert remove copy getEditor constructor".split(" "); for (var prop in Doc.prototype) if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0) CodeMirror.prototype[prop] = (function(method) { return function() {return method.apply(this.doc, arguments);}; })(Doc.prototype[prop]); eventMixin(Doc); // Call f for all linked documents. function linkedDocs(doc, f, sharedHistOnly) { function propagate(doc, skip, sharedHist) { if (doc.linked) for (var i = 0; i < doc.linked.length; ++i) { var rel = doc.linked[i]; if (rel.doc == skip) continue; var shared = sharedHist && rel.sharedHist; if (sharedHistOnly && !shared) continue; f(rel.doc, shared); propagate(rel.doc, doc, shared); } } propagate(doc, null, true); } // Attach a document to an editor. function attachDoc(cm, doc) { if (doc.cm) throw new Error("This document is already in use."); cm.doc = doc; doc.cm = cm; estimateLineHeights(cm); loadMode(cm); if (!cm.options.lineWrapping) findMaxLine(cm); cm.options.mode = doc.modeOption; regChange(cm); } // LINE UTILITIES // Find the line object corresponding to the given line number. function getLine(doc, n) { n -= doc.first; if (n < 0 || n >= doc.size) throw new Error("There is no line " + (n + doc.first) + " in the document."); for (var chunk = doc; !chunk.lines;) { for (var i = 0;; ++i) { var child = chunk.children[i], sz = child.chunkSize(); if (n < sz) { chunk = child; break; } n -= sz; } } return chunk.lines[n]; } // Get the part of a document between two positions, as an array of // strings. function getBetween(doc, start, end) { var out = [], n = start.line; doc.iter(start.line, end.line + 1, function(line) { var text = line.text; if (n == end.line) text = text.slice(0, end.ch); if (n == start.line) text = text.slice(start.ch); out.push(text); ++n; }); return out; } // Get the lines between from and to, as array of strings. function getLines(doc, from, to) { var out = []; doc.iter(from, to, function(line) { out.push(line.text); }); return out; } // Update the height of a line, propagating the height change // upwards to parent nodes. function updateLineHeight(line, height) { var diff = height - line.height; if (diff) for (var n = line; n; n = n.parent) n.height += diff; } // Given a line object, find its line number by walking up through // its parent links. function lineNo(line) { if (line.parent == null) return null; var cur = line.parent, no = indexOf(cur.lines, line); for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) { for (var i = 0;; ++i) { if (chunk.children[i] == cur) break; no += chunk.children[i].chunkSize(); } } return no + cur.first; } // Find the line at the given vertical position, using the height // information in the document tree. function lineAtHeight(chunk, h) { var n = chunk.first; outer: do { for (var i = 0; i < chunk.children.length; ++i) { var child = chunk.children[i], ch = child.height; if (h < ch) { chunk = child; continue outer; } h -= ch; n += child.chunkSize(); } return n; } while (!chunk.lines); for (var i = 0; i < chunk.lines.length; ++i) { var line = chunk.lines[i], lh = line.height; if (h < lh) break; h -= lh; } return n + i; } // Find the height above the given line. function heightAtLine(lineObj) { lineObj = visualLine(lineObj); var h = 0, chunk = lineObj.parent; for (var i = 0; i < chunk.lines.length; ++i) { var line = chunk.lines[i]; if (line == lineObj) break; else h += line.height; } for (var p = chunk.parent; p; chunk = p, p = chunk.parent) { for (var i = 0; i < p.children.length; ++i) { var cur = p.children[i]; if (cur == chunk) break; else h += cur.height; } } return h; } // Get the bidi ordering for the given line (and cache it). Returns // false for lines that are fully left-to-right, and an array of // BidiSpan objects otherwise. function getOrder(line) { var order = line.order; if (order == null) order = line.order = bidiOrdering(line.text); return order; } // HISTORY function History(startGen) { // Arrays of change events and selections. Doing something adds an // event to done and clears undo. Undoing moves events from done // to undone, redoing moves them in the other direction. this.done = []; this.undone = []; this.undoDepth = Infinity; // Used to track when changes can be merged into a single undo // event this.lastModTime = this.lastSelTime = 0; this.lastOp = this.lastSelOp = null; this.lastOrigin = this.lastSelOrigin = null; // Used by the isClean() method this.generation = this.maxGeneration = startGen || 1; } // Create a history change event from an updateDoc-style change // object. function historyChangeFromChange(doc, change) { var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}; attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); linkedDocs(doc, function(doc) {attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1);}, true); return histChange; } // Pop all selection events off the end of a history array. Stop at // a change event. function clearSelectionEvents(array) { while (array.length) { var last = lst(array); if (last.ranges) array.pop(); else break; } } // Find the top change event in the history. Pop off selection // events that are in the way. function lastChangeEvent(hist, force) { if (force) { clearSelectionEvents(hist.done); return lst(hist.done); } else if (hist.done.length && !lst(hist.done).ranges) { return lst(hist.done); } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) { hist.done.pop(); return lst(hist.done); } } // Register a change in the history. Merges changes that are within // a single operation, or are close together with an origin that // allows merging (starting with "+") into a single event. function addChangeToHistory(doc, change, selAfter, opId) { var hist = doc.history; hist.undone.length = 0; var time = +new Date, cur; if ((hist.lastOp == opId || hist.lastOrigin == change.origin && change.origin && ((change.origin.charAt(0) == "+" && doc.cm && hist.lastModTime > time - doc.cm.options.historyEventDelay) || change.origin.charAt(0) == "*")) && (cur = lastChangeEvent(hist, hist.lastOp == opId))) { // Merge this change into the last event var last = lst(cur.changes); if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) { // Optimized case for simple insertion -- don't want to add // new changesets for every character typed last.to = changeEnd(change); } else { // Add new sub-event cur.changes.push(historyChangeFromChange(doc, change)); } } else { // Can not be merged, start a new event. var before = lst(hist.done); if (!before || !before.ranges) pushSelectionToHistory(doc.sel, hist.done); cur = {changes: [historyChangeFromChange(doc, change)], generation: hist.generation}; hist.done.push(cur); while (hist.done.length > hist.undoDepth) { hist.done.shift(); if (!hist.done[0].ranges) hist.done.shift(); } } hist.done.push(selAfter); hist.generation = ++hist.maxGeneration; hist.lastModTime = hist.lastSelTime = time; hist.lastOp = hist.lastSelOp = opId; hist.lastOrigin = hist.lastSelOrigin = change.origin; if (!last) signal(doc, "historyAdded"); } function selectionEventCanBeMerged(doc, origin, prev, sel) { var ch = origin.charAt(0); return ch == "*" || ch == "+" && prev.ranges.length == sel.ranges.length && prev.somethingSelected() == sel.somethingSelected() && new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500); } // Called whenever the selection changes, sets the new selection as // the pending selection in the history, and pushes the old pending // selection into the 'done' array when it was significantly // different (in number of selected ranges, emptiness, or time). function addSelectionToHistory(doc, sel, opId, options) { var hist = doc.history, origin = options && options.origin; // A new event is started when the previous origin does not match // the current, or the origins don't allow matching. Origins // starting with * are always merged, those starting with + are // merged when similar and close together in time. if (opId == hist.lastSelOp || (origin && hist.lastSelOrigin == origin && (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin || selectionEventCanBeMerged(doc, origin, lst(hist.done), sel)))) hist.done[hist.done.length - 1] = sel; else pushSelectionToHistory(sel, hist.done); hist.lastSelTime = +new Date; hist.lastSelOrigin = origin; hist.lastSelOp = opId; if (options && options.clearRedo !== false) clearSelectionEvents(hist.undone); } function pushSelectionToHistory(sel, dest) { var top = lst(dest); if (!(top && top.ranges && top.equals(sel))) dest.push(sel); } // Used to store marked span information in the history. function attachLocalSpans(doc, change, from, to) { var existing = change["spans_" + doc.id], n = 0; doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function(line) { if (line.markedSpans) (existing || (existing = change["spans_" + doc.id] = {}))[n] = line.markedSpans; ++n; }); } // When un/re-doing restores text containing marked spans, those // that have been explicitly cleared should not be restored. function removeClearedSpans(spans) { if (!spans) return null; for (var i = 0, out; i < spans.length; ++i) { if (spans[i].marker.explicitlyCleared) { if (!out) out = spans.slice(0, i); } else if (out) out.push(spans[i]); } return !out ? spans : out.length ? out : null; } // Retrieve and filter the old marked spans stored in a change event. function getOldSpans(doc, change) { var found = change["spans_" + doc.id]; if (!found) return null; for (var i = 0, nw = []; i < change.text.length; ++i) nw.push(removeClearedSpans(found[i])); return nw; } // Used both to provide a JSON-safe object in .getHistory, and, when // detaching a document, to split the history in two function copyHistoryArray(events, newGroup, instantiateSel) { for (var i = 0, copy = []; i < events.length; ++i) { var event = events[i]; if (event.ranges) { copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event); continue; } var changes = event.changes, newChanges = []; copy.push({changes: newChanges}); for (var j = 0; j < changes.length; ++j) { var change = changes[j], m; newChanges.push({from: change.from, to: change.to, text: change.text}); if (newGroup) for (var prop in change) if (m = prop.match(/^spans_(\d+)$/)) { if (indexOf(newGroup, Number(m[1])) > -1) { lst(newChanges)[prop] = change[prop]; delete change[prop]; } } } } return copy; } // Rebasing/resetting history to deal with externally-sourced changes function rebaseHistSelSingle(pos, from, to, diff) { if (to < pos.line) { pos.line += diff; } else if (from < pos.line) { pos.line = from; pos.ch = 0; } } // Tries to rebase an array of history events given a change in the // document. If the change touches the same lines as the event, the // event, and everything 'behind' it, is discarded. If the change is // before the event, the event's positions are updated. Uses a // copy-on-write scheme for the positions, to avoid having to // reallocate them all on every rebase, but also avoid problems with // shared position objects being unsafely updated. function rebaseHistArray(array, from, to, diff) { for (var i = 0; i < array.length; ++i) { var sub = array[i], ok = true; if (sub.ranges) { if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; } for (var j = 0; j < sub.ranges.length; j++) { rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff); rebaseHistSelSingle(sub.ranges[j].head, from, to, diff); } continue; } for (var j = 0; j < sub.changes.length; ++j) { var cur = sub.changes[j]; if (to < cur.from.line) { cur.from = Pos(cur.from.line + diff, cur.from.ch); cur.to = Pos(cur.to.line + diff, cur.to.ch); } else if (from <= cur.to.line) { ok = false; break; } } if (!ok) { array.splice(0, i + 1); i = 0; } } } function rebaseHist(hist, change) { var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1; rebaseHistArray(hist.done, from, to, diff); rebaseHistArray(hist.undone, from, to, diff); } // EVENT UTILITIES // Due to the fact that we still support jurassic IE versions, some // compatibility wrappers are needed. var e_preventDefault = CodeMirror.e_preventDefault = function(e) { if (e.preventDefault) e.preventDefault(); else e.returnValue = false; }; var e_stopPropagation = CodeMirror.e_stopPropagation = function(e) { if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true; }; function e_defaultPrevented(e) { return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false; } var e_stop = CodeMirror.e_stop = function(e) {e_preventDefault(e); e_stopPropagation(e);}; function e_target(e) {return e.target || e.srcElement;} function e_button(e) { var b = e.which; if (b == null) { if (e.button & 1) b = 1; else if (e.button & 2) b = 3; else if (e.button & 4) b = 2; } if (mac && e.ctrlKey && b == 1) b = 3; return b; } // EVENT HANDLING // Lightweight event framework. on/off also work on DOM nodes, // registering native DOM handlers. var on = CodeMirror.on = function(emitter, type, f) { if (emitter.addEventListener) emitter.addEventListener(type, f, false); else if (emitter.attachEvent) emitter.attachEvent("on" + type, f); else { var map = emitter._handlers || (emitter._handlers = {}); var arr = map[type] || (map[type] = []); arr.push(f); } }; var noHandlers = [] function getHandlers(emitter, type, copy) { var arr = emitter._handlers && emitter._handlers[type] if (copy) return arr && arr.length > 0 ? arr.slice() : noHandlers else return arr || noHandlers } var off = CodeMirror.off = function(emitter, type, f) { if (emitter.removeEventListener) emitter.removeEventListener(type, f, false); else if (emitter.detachEvent) emitter.detachEvent("on" + type, f); else { var handlers = getHandlers(emitter, type, false) for (var i = 0; i < handlers.length; ++i) if (handlers[i] == f) { handlers.splice(i, 1); break; } } }; var signal = CodeMirror.signal = function(emitter, type /*, values...*/) { var handlers = getHandlers(emitter, type, true) if (!handlers.length) return; var args = Array.prototype.slice.call(arguments, 2); for (var i = 0; i < handlers.length; ++i) handlers[i].apply(null, args); }; var orphanDelayedCallbacks = null; // Often, we want to signal events at a point where we are in the // middle of some work, but don't want the handler to start calling // other methods on the editor, which might be in an inconsistent // state or simply not expect any other events to happen. // signalLater looks whether there are any handlers, and schedules // them to be executed when the last operation ends, or, if no // operation is active, when a timeout fires. function signalLater(emitter, type /*, values...*/) { var arr = getHandlers(emitter, type, false) if (!arr.length) return; var args = Array.prototype.slice.call(arguments, 2), list; if (operationGroup) { list = operationGroup.delayedCallbacks; } else if (orphanDelayedCallbacks) { list = orphanDelayedCallbacks; } else { list = orphanDelayedCallbacks = []; setTimeout(fireOrphanDelayed, 0); } function bnd(f) {return function(){f.apply(null, args);};}; for (var i = 0; i < arr.length; ++i) list.push(bnd(arr[i])); } function fireOrphanDelayed() { var delayed = orphanDelayedCallbacks; orphanDelayedCallbacks = null; for (var i = 0; i < delayed.length; ++i) delayed[i](); } // The DOM events that CodeMirror handles can be overridden by // registering a (non-DOM) handler on the editor for the event name, // and preventDefault-ing the event in that handler. function signalDOMEvent(cm, e, override) { if (typeof e == "string") e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; signal(cm, override || e.type, cm, e); return e_defaultPrevented(e) || e.codemirrorIgnore; } function signalCursorActivity(cm) { var arr = cm._handlers && cm._handlers.cursorActivity; if (!arr) return; var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []); for (var i = 0; i < arr.length; ++i) if (indexOf(set, arr[i]) == -1) set.push(arr[i]); } function hasHandler(emitter, type) { return getHandlers(emitter, type).length > 0 } // Add on and off methods to a constructor's prototype, to make // registering events on such objects more convenient. function eventMixin(ctor) { ctor.prototype.on = function(type, f) {on(this, type, f);}; ctor.prototype.off = function(type, f) {off(this, type, f);}; } // MISC UTILITIES // Number of pixels added to scroller and sizer to hide scrollbar var scrollerGap = 30; // Returned or thrown by various protocols to signal 'I'm not // handling this'. var Pass = CodeMirror.Pass = {toString: function(){return "CodeMirror.Pass";}}; // Reused option objects for setSelection & friends var sel_dontScroll = {scroll: false}, sel_mouse = {origin: "*mouse"}, sel_move = {origin: "+move"}; function Delayed() {this.id = null;} Delayed.prototype.set = function(ms, f) { clearTimeout(this.id); this.id = setTimeout(f, ms); }; // Counts the column offset in a string, taking tabs into account. // Used mostly to find indentation. var countColumn = CodeMirror.countColumn = function(string, end, tabSize, startIndex, startValue) { if (end == null) { end = string.search(/[^\s\u00a0]/); if (end == -1) end = string.length; } for (var i = startIndex || 0, n = startValue || 0;;) { var nextTab = string.indexOf("\t", i); if (nextTab < 0 || nextTab >= end) return n + (end - i); n += nextTab - i; n += tabSize - (n % tabSize); i = nextTab + 1; } }; // The inverse of countColumn -- find the offset that corresponds to // a particular column. var findColumn = CodeMirror.findColumn = function(string, goal, tabSize) { for (var pos = 0, col = 0;;) { var nextTab = string.indexOf("\t", pos); if (nextTab == -1) nextTab = string.length; var skipped = nextTab - pos; if (nextTab == string.length || col + skipped >= goal) return pos + Math.min(skipped, goal - col); col += nextTab - pos; col += tabSize - (col % tabSize); pos = nextTab + 1; if (col >= goal) return pos; } } var spaceStrs = [""]; function spaceStr(n) { while (spaceStrs.length <= n) spaceStrs.push(lst(spaceStrs) + " "); return spaceStrs[n]; } function lst(arr) { return arr[arr.length-1]; } var selectInput = function(node) { node.select(); }; if (ios) // Mobile Safari apparently has a bug where select() is broken. selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; else if (ie) // Suppress mysterious IE10 errors selectInput = function(node) { try { node.select(); } catch(_e) {} }; function indexOf(array, elt) { for (var i = 0; i < array.length; ++i) if (array[i] == elt) return i; return -1; } function map(array, f) { var out = []; for (var i = 0; i < array.length; i++) out[i] = f(array[i], i); return out; } function insertSorted(array, value, score) { var pos = 0, priority = score(value) while (pos < array.length && score(array[pos]) <= priority) pos++ array.splice(pos, 0, value) } function nothing() {} function createObj(base, props) { var inst; if (Object.create) { inst = Object.create(base); } else { nothing.prototype = base; inst = new nothing(); } if (props) copyObj(props, inst); return inst; }; function copyObj(obj, target, overwrite) { if (!target) target = {}; for (var prop in obj) if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop))) target[prop] = obj[prop]; return target; } function bind(f) { var args = Array.prototype.slice.call(arguments, 1); return function(){return f.apply(null, args);}; } var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/; var isWordCharBasic = CodeMirror.isWordChar = function(ch) { return /\w/.test(ch) || ch > "\x80" && (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)); }; function isWordChar(ch, helper) { if (!helper) return isWordCharBasic(ch); if (helper.source.indexOf("\\w") > -1 && isWordCharBasic(ch)) return true; return helper.test(ch); } function isEmpty(obj) { for (var n in obj) if (obj.hasOwnProperty(n) && obj[n]) return false; return true; } // Extending unicode characters. A series of a non-extending char + // any number of extending chars is treated as a single unit as far // as editing and measuring is concerned. This is not fully correct, // since some scripts/fonts/browsers also treat other configurations // of code points as a group. var extendingChars = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/; function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch); } // DOM UTILITIES function elt(tag, content, className, style) { var e = document.createElement(tag); if (className) e.className = className; if (style) e.style.cssText = style; if (typeof content == "string") e.appendChild(document.createTextNode(content)); else if (content) for (var i = 0; i < content.length; ++i) e.appendChild(content[i]); return e; } var range; if (document.createRange) range = function(node, start, end, endNode) { var r = document.createRange(); r.setEnd(endNode || node, end); r.setStart(node, start); return r; }; else range = function(node, start, end) { var r = document.body.createTextRange(); try { r.moveToElementText(node.parentNode); } catch(e) { return r; } r.collapse(true); r.moveEnd("character", end); r.moveStart("character", start); return r; }; function removeChildren(e) { for (var count = e.childNodes.length; count > 0; --count) e.removeChild(e.firstChild); return e; } function removeChildrenAndAdd(parent, e) { return removeChildren(parent).appendChild(e); } var contains = CodeMirror.contains = function(parent, child) { if (child.nodeType == 3) // Android browser always returns false when child is a textnode child = child.parentNode; if (parent.contains) return parent.contains(child); do { if (child.nodeType == 11) child = child.host; if (child == parent) return true; } while (child = child.parentNode); }; function activeElt() { var activeElement = document.activeElement; while (activeElement && activeElement.root && activeElement.root.activeElement) activeElement = activeElement.root.activeElement; return activeElement; } // Older versions of IE throws unspecified error when touching // document.activeElement in some cases (during loading, in iframe) if (ie && ie_version < 11) activeElt = function() { try { return document.activeElement; } catch(e) { return document.body; } }; function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*"); } var rmClass = CodeMirror.rmClass = function(node, cls) { var current = node.className; var match = classTest(cls).exec(current); if (match) { var after = current.slice(match.index + match[0].length); node.className = current.slice(0, match.index) + (after ? match[1] + after : ""); } }; var addClass = CodeMirror.addClass = function(node, cls) { var current = node.className; if (!classTest(cls).test(current)) node.className += (current ? " " : "") + cls; }; function joinClasses(a, b) { var as = a.split(" "); for (var i = 0; i < as.length; i++) if (as[i] && !classTest(as[i]).test(b)) b += " " + as[i]; return b; } // WINDOW-WIDE EVENTS // These must be handled carefully, because naively registering a // handler for each editor will cause the editors to never be // garbage collected. function forEachCodeMirror(f) { if (!document.body.getElementsByClassName) return; var byClass = document.body.getElementsByClassName("CodeMirror"); for (var i = 0; i < byClass.length; i++) { var cm = byClass[i].CodeMirror; if (cm) f(cm); } } var globalsRegistered = false; function ensureGlobalHandlers() { if (globalsRegistered) return; registerGlobalHandlers(); globalsRegistered = true; } function registerGlobalHandlers() { // When the window resizes, we need to refresh active editors. var resizeTimer; on(window, "resize", function() { if (resizeTimer == null) resizeTimer = setTimeout(function() { resizeTimer = null; forEachCodeMirror(onResize); }, 100); }); // When the window loses focus, we want to show the editor as blurred on(window, "blur", function() { forEachCodeMirror(onBlur); }); } // FEATURE DETECTION // Detect drag-and-drop var dragAndDrop = function() { // There is *some* kind of drag-and-drop support in IE6-8, but I // couldn't get it to work yet. if (ie && ie_version < 9) return false; var div = elt('div'); return "draggable" in div || "dragDrop" in div; }(); var zwspSupported; function zeroWidthElement(measure) { if (zwspSupported == null) { var test = elt("span", "\u200b"); removeChildrenAndAdd(measure, elt("span", [test, document.createTextNode("x")])); if (measure.firstChild.offsetHeight != 0) zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); } var node = zwspSupported ? elt("span", "\u200b") : elt("span", "\u00a0", null, "display: inline-block; width: 1px; margin-right: -1px"); node.setAttribute("cm-text", ""); return node; } // Feature-detect IE's crummy client rect reporting for bidi text var badBidiRects; function hasBadBidiRects(measure) { if (badBidiRects != null) return badBidiRects; var txt = removeChildrenAndAdd(measure, document.createTextNode("A\u062eA")); var r0 = range(txt, 0, 1).getBoundingClientRect(); var r1 = range(txt, 1, 2).getBoundingClientRect(); removeChildren(measure); if (!r0 || r0.left == r0.right) return false; // Safari returns null in some cases (#2780) return badBidiRects = (r1.right - r0.right < 3); } // See if "".split is the broken IE version, if so, provide an // alternative way to split lines. var splitLinesAuto = CodeMirror.splitLines = "\n\nb".split(/\n/).length != 3 ? function(string) { var pos = 0, result = [], l = string.length; while (pos <= l) { var nl = string.indexOf("\n", pos); if (nl == -1) nl = string.length; var line = string.slice(pos, string.charAt(nl - 1) == "\r" ? nl - 1 : nl); var rt = line.indexOf("\r"); if (rt != -1) { result.push(line.slice(0, rt)); pos += rt + 1; } else { result.push(line); pos = nl + 1; } } return result; } : function(string){return string.split(/\r\n?|\n/);}; var hasSelection = window.getSelection ? function(te) { try { return te.selectionStart != te.selectionEnd; } catch(e) { return false; } } : function(te) { try {var range = te.ownerDocument.selection.createRange();} catch(e) {} if (!range || range.parentElement() != te) return false; return range.compareEndPoints("StartToEnd", range) != 0; }; var hasCopyEvent = (function() { var e = elt("div"); if ("oncopy" in e) return true; e.setAttribute("oncopy", "return;"); return typeof e.oncopy == "function"; })(); var badZoomedRects = null; function hasBadZoomedRects(measure) { if (badZoomedRects != null) return badZoomedRects; var node = removeChildrenAndAdd(measure, elt("span", "x")); var normal = node.getBoundingClientRect(); var fromRange = range(node, 0, 1).getBoundingClientRect(); return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1; } // KEY NAMES var keyNames = CodeMirror.keyNames = { 3: "Enter", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 127: "Delete", 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", 221: "]", 222: "'", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" }; (function() { // Number keys for (var i = 0; i < 10; i++) keyNames[i + 48] = keyNames[i + 96] = String(i); // Alphabetic keys for (var i = 65; i <= 90; i++) keyNames[i] = String.fromCharCode(i); // Function keys for (var i = 1; i <= 12; i++) keyNames[i + 111] = keyNames[i + 63235] = "F" + i; })(); // BIDI HELPERS function iterateBidiSections(order, from, to, f) { if (!order) return f(from, to, "ltr"); var found = false; for (var i = 0; i < order.length; ++i) { var part = order[i]; if (part.from < to && part.to > from || from == to && part.to == from) { f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr"); found = true; } } if (!found) f(from, to, "ltr"); } function bidiLeft(part) { return part.level % 2 ? part.to : part.from; } function bidiRight(part) { return part.level % 2 ? part.from : part.to; } function lineLeft(line) { var order = getOrder(line); return order ? bidiLeft(order[0]) : 0; } function lineRight(line) { var order = getOrder(line); if (!order) return line.text.length; return bidiRight(lst(order)); } function lineStart(cm, lineN) { var line = getLine(cm.doc, lineN); var visual = visualLine(line); if (visual != line) lineN = lineNo(visual); var order = getOrder(visual); var ch = !order ? 0 : order[0].level % 2 ? lineRight(visual) : lineLeft(visual); return Pos(lineN, ch); } function lineEnd(cm, lineN) { var merged, line = getLine(cm.doc, lineN); while (merged = collapsedSpanAtEnd(line)) { line = merged.find(1, true).line; lineN = null; } var order = getOrder(line); var ch = !order ? line.text.length : order[0].level % 2 ? lineLeft(line) : lineRight(line); return Pos(lineN == null ? lineNo(line) : lineN, ch); } function lineStartSmart(cm, pos) { var start = lineStart(cm, pos.line); var line = getLine(cm.doc, start.line); var order = getOrder(line); if (!order || order[0].level == 0) { var firstNonWS = Math.max(0, line.text.search(/\S/)); var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch; return Pos(start.line, inWS ? 0 : firstNonWS); } return start; } function compareBidiLevel(order, a, b) { var linedir = order[0].level; if (a == linedir) return true; if (b == linedir) return false; return a < b; } var bidiOther; function getBidiPartAt(order, pos) { bidiOther = null; for (var i = 0, found; i < order.length; ++i) { var cur = order[i]; if (cur.from < pos && cur.to > pos) return i; if ((cur.from == pos || cur.to == pos)) { if (found == null) { found = i; } else if (compareBidiLevel(order, cur.level, order[found].level)) { if (cur.from != cur.to) bidiOther = found; return i; } else { if (cur.from != cur.to) bidiOther = i; return found; } } } return found; } function moveInLine(line, pos, dir, byUnit) { if (!byUnit) return pos + dir; do pos += dir; while (pos > 0 && isExtendingChar(line.text.charAt(pos))); return pos; } // This is needed in order to move 'visually' through bi-directional // text -- i.e., pressing left should make the cursor go left, even // when in RTL text. The tricky part is the 'jumps', where RTL and // LTR text touch each other. This often requires the cursor offset // to move more than one unit, in order to visually move one unit. function moveVisually(line, start, dir, byUnit) { var bidi = getOrder(line); if (!bidi) return moveLogically(line, start, dir, byUnit); var pos = getBidiPartAt(bidi, start), part = bidi[pos]; var target = moveInLine(line, start, part.level % 2 ? -dir : dir, byUnit); for (;;) { if (target > part.from && target < part.to) return target; if (target == part.from || target == part.to) { if (getBidiPartAt(bidi, target) == pos) return target; part = bidi[pos += dir]; return (dir > 0) == part.level % 2 ? part.to : part.from; } else { part = bidi[pos += dir]; if (!part) return null; if ((dir > 0) == part.level % 2) target = moveInLine(line, part.to, -1, byUnit); else target = moveInLine(line, part.from, 1, byUnit); } } } function moveLogically(line, start, dir, byUnit) { var target = start + dir; if (byUnit) while (target > 0 && isExtendingChar(line.text.charAt(target))) target += dir; return target < 0 || target > line.text.length ? null : target; } // Bidirectional ordering algorithm // See http://unicode.org/reports/tr9/tr9-13.html for the algorithm // that this (partially) implements. // One-char codes used for character types: // L (L): Left-to-Right // R (R): Right-to-Left // r (AL): Right-to-Left Arabic // 1 (EN): European Number // + (ES): European Number Separator // % (ET): European Number Terminator // n (AN): Arabic Number // , (CS): Common Number Separator // m (NSM): Non-Spacing Mark // b (BN): Boundary Neutral // s (B): Paragraph Separator // t (S): Segment Separator // w (WS): Whitespace // N (ON): Other Neutrals // Returns null if characters are ordered as they appear // (left-to-right), or an array of sections ({from, to, level} // objects) in the order in which they occur visually. var bidiOrdering = (function() { // Character types for codepoints 0 to 0xff var lowTypes = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN"; // Character types for codepoints 0x600 to 0x6ff var arabicTypes = "rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm"; function charType(code) { if (code <= 0xf7) return lowTypes.charAt(code); else if (0x590 <= code && code <= 0x5f4) return "R"; else if (0x600 <= code && code <= 0x6ed) return arabicTypes.charAt(code - 0x600); else if (0x6ee <= code && code <= 0x8ac) return "r"; else if (0x2000 <= code && code <= 0x200b) return "w"; else if (code == 0x200c) return "b"; else return "L"; } var bidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/; var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/; // Browsers seem to always treat the boundaries of block elements as being L. var outerType = "L"; function BidiSpan(level, from, to) { this.level = level; this.from = from; this.to = to; } return function(str) { if (!bidiRE.test(str)) return false; var len = str.length, types = []; for (var i = 0, type; i < len; ++i) types.push(type = charType(str.charCodeAt(i))); // W1. Examine each non-spacing mark (NSM) in the level run, and // change the type of the NSM to the type of the previous // character. If the NSM is at the start of the level run, it will // get the type of sor. for (var i = 0, prev = outerType; i < len; ++i) { var type = types[i]; if (type == "m") types[i] = prev; else prev = type; } // W2. Search backwards from each instance of a European number // until the first strong type (R, L, AL, or sor) is found. If an // AL is found, change the type of the European number to Arabic // number. // W3. Change all ALs to R. for (var i = 0, cur = outerType; i < len; ++i) { var type = types[i]; if (type == "1" && cur == "r") types[i] = "n"; else if (isStrong.test(type)) { cur = type; if (type == "r") types[i] = "R"; } } // W4. A single European separator between two European numbers // changes to a European number. A single common separator between // two numbers of the same type changes to that type. for (var i = 1, prev = types[0]; i < len - 1; ++i) { var type = types[i]; if (type == "+" && prev == "1" && types[i+1] == "1") types[i] = "1"; else if (type == "," && prev == types[i+1] && (prev == "1" || prev == "n")) types[i] = prev; prev = type; } // W5. A sequence of European terminators adjacent to European // numbers changes to all European numbers. // W6. Otherwise, separators and terminators change to Other // Neutral. for (var i = 0; i < len; ++i) { var type = types[i]; if (type == ",") types[i] = "N"; else if (type == "%") { for (var end = i + 1; end < len && types[end] == "%"; ++end) {} var replace = (i && types[i-1] == "!") || (end < len && types[end] == "1") ? "1" : "N"; for (var j = i; j < end; ++j) types[j] = replace; i = end - 1; } } // W7. Search backwards from each instance of a European number // until the first strong type (R, L, or sor) is found. If an L is // found, then change the type of the European number to L. for (var i = 0, cur = outerType; i < len; ++i) { var type = types[i]; if (cur == "L" && type == "1") types[i] = "L"; else if (isStrong.test(type)) cur = type; } // N1. A sequence of neutrals takes the direction of the // surrounding strong text if the text on both sides has the same // direction. European and Arabic numbers act as if they were R in // terms of their influence on neutrals. Start-of-level-run (sor) // and end-of-level-run (eor) are used at level run boundaries. // N2. Any remaining neutrals take the embedding direction. for (var i = 0; i < len; ++i) { if (isNeutral.test(types[i])) { for (var end = i + 1; end < len && isNeutral.test(types[end]); ++end) {} var before = (i ? types[i-1] : outerType) == "L"; var after = (end < len ? types[end] : outerType) == "L"; var replace = before || after ? "L" : "R"; for (var j = i; j < end; ++j) types[j] = replace; i = end - 1; } } // Here we depart from the documented algorithm, in order to avoid // building up an actual levels array. Since there are only three // levels (0, 1, 2) in an implementation that doesn't take // explicit embedding into account, we can build up the order on // the fly, without following the level-based algorithm. var order = [], m; for (var i = 0; i < len;) { if (countsAsLeft.test(types[i])) { var start = i; for (++i; i < len && countsAsLeft.test(types[i]); ++i) {} order.push(new BidiSpan(0, start, i)); } else { var pos = i, at = order.length; for (++i; i < len && types[i] != "L"; ++i) {} for (var j = pos; j < i;) { if (countsAsNum.test(types[j])) { if (pos < j) order.splice(at, 0, new BidiSpan(1, pos, j)); var nstart = j; for (++j; j < i && countsAsNum.test(types[j]); ++j) {} order.splice(at, 0, new BidiSpan(2, nstart, j)); pos = j; } else ++j; } if (pos < i) order.splice(at, 0, new BidiSpan(1, pos, i)); } } if (order[0].level == 1 && (m = str.match(/^\s+/))) { order[0].from = m[0].length; order.unshift(new BidiSpan(0, 0, m[0].length)); } if (lst(order).level == 1 && (m = str.match(/\s+$/))) { lst(order).to -= m[0].length; order.push(new BidiSpan(0, len - m[0].length, len)); } if (order[0].level == 2) order.unshift(new BidiSpan(1, order[0].to, order[0].to)); if (order[0].level != lst(order).level) order.push(new BidiSpan(order[0].level, len, len)); return order; }; })(); // THE END CodeMirror.version = "5.18.2"; return CodeMirror; }); wp-file-manager/lib/codemirror/mode/apl/apl.js000064400000011200151202472330015235 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("apl", function() { var builtInOps = { ".": "innerProduct", "\\": "scan", "/": "reduce", "⌿": "reduce1Axis", "⍀": "scan1Axis", "¨": "each", "⍣": "power" }; var builtInFuncs = { "+": ["conjugate", "add"], "−": ["negate", "subtract"], "×": ["signOf", "multiply"], "÷": ["reciprocal", "divide"], "⌈": ["ceiling", "greaterOf"], "⌊": ["floor", "lesserOf"], "∣": ["absolute", "residue"], "⍳": ["indexGenerate", "indexOf"], "?": ["roll", "deal"], "⋆": ["exponentiate", "toThePowerOf"], "⍟": ["naturalLog", "logToTheBase"], "○": ["piTimes", "circularFuncs"], "!": ["factorial", "binomial"], "⌹": ["matrixInverse", "matrixDivide"], "<": [null, "lessThan"], "≤": [null, "lessThanOrEqual"], "=": [null, "equals"], ">": [null, "greaterThan"], "≥": [null, "greaterThanOrEqual"], "≠": [null, "notEqual"], "≡": ["depth", "match"], "≢": [null, "notMatch"], "∈": ["enlist", "membership"], "⍷": [null, "find"], "∪": ["unique", "union"], "∩": [null, "intersection"], "∼": ["not", "without"], "∨": [null, "or"], "∧": [null, "and"], "⍱": [null, "nor"], "⍲": [null, "nand"], "⍴": ["shapeOf", "reshape"], ",": ["ravel", "catenate"], "⍪": [null, "firstAxisCatenate"], "⌽": ["reverse", "rotate"], "⊖": ["axis1Reverse", "axis1Rotate"], "⍉": ["transpose", null], "↑": ["first", "take"], "↓": [null, "drop"], "⊂": ["enclose", "partitionWithAxis"], "⊃": ["diclose", "pick"], "⌷": [null, "index"], "⍋": ["gradeUp", null], "⍒": ["gradeDown", null], "⊤": ["encode", null], "⊥": ["decode", null], "⍕": ["format", "formatByExample"], "⍎": ["execute", null], "⊣": ["stop", "left"], "⊢": ["pass", "right"] }; var isOperator = /[\.\/⌿⍀¨⍣]/; var isNiladic = /⍬/; var isFunction = /[\+−×÷⌈⌊∣⍳\?⋆⍟○!⌹<≤=>≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/; var isArrow = /←/; var isComment = /[⍝#].*$/; var stringEater = function(type) { var prev; prev = false; return function(c) { prev = c; if (c === type) { return prev === "\\"; } return true; }; }; return { startState: function() { return { prev: false, func: false, op: false, string: false, escape: false }; }, token: function(stream, state) { var ch, funcName; if (stream.eatSpace()) { return null; } ch = stream.next(); if (ch === '"' || ch === "'") { stream.eatWhile(stringEater(ch)); stream.next(); state.prev = true; return "string"; } if (/[\[{\(]/.test(ch)) { state.prev = false; return null; } if (/[\]}\)]/.test(ch)) { state.prev = true; return null; } if (isNiladic.test(ch)) { state.prev = false; return "niladic"; } if (/[¯\d]/.test(ch)) { if (state.func) { state.func = false; state.prev = false; } else { state.prev = true; } stream.eatWhile(/[\w\.]/); return "number"; } if (isOperator.test(ch)) { return "operator apl-" + builtInOps[ch]; } if (isArrow.test(ch)) { return "apl-arrow"; } if (isFunction.test(ch)) { funcName = "apl-"; if (builtInFuncs[ch] != null) { if (state.prev) { funcName += builtInFuncs[ch][1]; } else { funcName += builtInFuncs[ch][0]; } } state.func = true; state.prev = false; return "function " + funcName; } if (isComment.test(ch)) { stream.skipToEnd(); return "comment"; } if (ch === "∘" && stream.peek() === ".") { stream.next(); return "function jot-dot"; } stream.eatWhile(/[\w\$_]/); state.prev = true; return "keyword"; } }; }); CodeMirror.defineMIME("text/apl", "apl"); }); wp-file-manager/lib/codemirror/mode/apl/index.html000064400000004203151202472330016125 0ustar00 CodeMirror: APL mode

        APL mode

        Simple mode that tries to handle APL as well as it can.

        It attempts to label functions/operators based upon monadic/dyadic usage (but this is far from fully fleshed out). This means there are meaningful classnames so hover states can have popups etc.

        MIME types defined: text/apl (APL code)

        wp-file-manager/lib/codemirror/mode/asciiarmor/asciiarmor.js000064400000004512151202472330020177 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function errorIfNotEmpty(stream) { var nonWS = stream.match(/^\s*\S/); stream.skipToEnd(); return nonWS ? "error" : null; } CodeMirror.defineMode("asciiarmor", function() { return { token: function(stream, state) { var m; if (state.state == "top") { if (stream.sol() && (m = stream.match(/^-----BEGIN (.*)?-----\s*$/))) { state.state = "headers"; state.type = m[1]; return "tag"; } return errorIfNotEmpty(stream); } else if (state.state == "headers") { if (stream.sol() && stream.match(/^\w+:/)) { state.state = "header"; return "atom"; } else { var result = errorIfNotEmpty(stream); if (result) state.state = "body"; return result; } } else if (state.state == "header") { stream.skipToEnd(); state.state = "headers"; return "string"; } else if (state.state == "body") { if (stream.sol() && (m = stream.match(/^-----END (.*)?-----\s*$/))) { if (m[1] != state.type) return "error"; state.state = "end"; return "tag"; } else { if (stream.eatWhile(/[A-Za-z0-9+\/=]/)) { return null; } else { stream.next(); return "error"; } } } else if (state.state == "end") { return errorIfNotEmpty(stream); } }, blankLine: function(state) { if (state.state == "headers") state.state = "body"; }, startState: function() { return {state: "top", type: null}; } }; }); CodeMirror.defineMIME("application/pgp", "asciiarmor"); CodeMirror.defineMIME("application/pgp-keys", "asciiarmor"); CodeMirror.defineMIME("application/pgp-signature", "asciiarmor"); }); wp-file-manager/lib/codemirror/mode/asciiarmor/index.html000064400000002411151202472330017501 0ustar00 CodeMirror: ASCII Armor (PGP) mode

        ASCII Armor (PGP) mode

        MIME types defined: application/pgp, application/pgp-keys, application/pgp-signature

        wp-file-manager/lib/codemirror/mode/asn.1/asn.1.js000064400000017067151202472330015566 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("asn.1", function(config, parserConfig) { var indentUnit = config.indentUnit, keywords = parserConfig.keywords || {}, cmipVerbs = parserConfig.cmipVerbs || {}, compareTypes = parserConfig.compareTypes || {}, status = parserConfig.status || {}, tags = parserConfig.tags || {}, storage = parserConfig.storage || {}, modifier = parserConfig.modifier || {}, accessTypes = parserConfig.accessTypes|| {}, multiLineStrings = parserConfig.multiLineStrings, indentStatements = parserConfig.indentStatements !== false; var isOperatorChar = /[\|\^]/; var curPunc; function tokenBase(stream, state) { var ch = stream.next(); if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (/[\[\]\(\){}:=,;]/.test(ch)) { curPunc = ch; return "punctuation"; } if (ch == "-"){ if (stream.eat("-")) { stream.skipToEnd(); return "comment"; } } if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\-]/); var cur = stream.current(); if (keywords.propertyIsEnumerable(cur)) return "keyword"; if (cmipVerbs.propertyIsEnumerable(cur)) return "variable cmipVerbs"; if (compareTypes.propertyIsEnumerable(cur)) return "atom compareTypes"; if (status.propertyIsEnumerable(cur)) return "comment status"; if (tags.propertyIsEnumerable(cur)) return "variable-3 tags"; if (storage.propertyIsEnumerable(cur)) return "builtin storage"; if (modifier.propertyIsEnumerable(cur)) return "string-2 modifier"; if (accessTypes.propertyIsEnumerable(cur)) return "atom accessTypes"; return "variable"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped){ var afterNext = stream.peek(); //look if the character if the quote is like the B in '10100010'B if (afterNext){ afterNext = afterNext.toLowerCase(); if(afterNext == "b" || afterNext == "h" || afterNext == "o") stream.next(); } end = true; break; } escaped = !escaped && next == "\\"; } if (end || !(escaped || multiLineStrings)) state.tokenize = null; return "string"; }; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { var indent = state.indented; if (state.context && state.context.type == "statement") indent = state.context.indented; return state.context = new Context(indent, col, type, null, state.context); } function popContext(state) { var t = state.context.type; if (t == ")" || t == "]" || t == "}") state.indented = state.context.indented; return state.context = state.context.prev; } //Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) return null; curPunc = null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment") return style; if (ctx.align == null) ctx.align = true; if ((curPunc == ";" || curPunc == ":" || curPunc == ",") && ctx.type == "statement"){ popContext(state); } else if (curPunc == "{") pushContext(state, stream.column(), "}"); else if (curPunc == "[") pushContext(state, stream.column(), "]"); else if (curPunc == "(") pushContext(state, stream.column(), ")"); else if (curPunc == "}") { while (ctx.type == "statement") ctx = popContext(state); if (ctx.type == "}") ctx = popContext(state); while (ctx.type == "statement") ctx = popContext(state); } else if (curPunc == ctx.type) popContext(state); else if (indentStatements && (((ctx.type == "}" || ctx.type == "top") && curPunc != ';') || (ctx.type == "statement" && curPunc == "newstatement"))) pushContext(state, stream.column(), "statement"); state.startOfLine = false; return style; }, electricChars: "{}", lineComment: "--", fold: "brace" }; }); function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } CodeMirror.defineMIME("text/x-ttcn-asn", { name: "asn.1", keywords: words("DEFINITIONS OBJECTS IF DERIVED INFORMATION ACTION" + " REPLY ANY NAMED CHARACTERIZED BEHAVIOUR REGISTERED" + " WITH AS IDENTIFIED CONSTRAINED BY PRESENT BEGIN" + " IMPORTS FROM UNITS SYNTAX MIN-ACCESS MAX-ACCESS" + " MINACCESS MAXACCESS REVISION STATUS DESCRIPTION" + " SEQUENCE SET COMPONENTS OF CHOICE DistinguishedName" + " ENUMERATED SIZE MODULE END INDEX AUGMENTS EXTENSIBILITY" + " IMPLIED EXPORTS"), cmipVerbs: words("ACTIONS ADD GET NOTIFICATIONS REPLACE REMOVE"), compareTypes: words("OPTIONAL DEFAULT MANAGED MODULE-TYPE MODULE_IDENTITY" + " MODULE-COMPLIANCE OBJECT-TYPE OBJECT-IDENTITY" + " OBJECT-COMPLIANCE MODE CONFIRMED CONDITIONAL" + " SUBORDINATE SUPERIOR CLASS TRUE FALSE NULL" + " TEXTUAL-CONVENTION"), status: words("current deprecated mandatory obsolete"), tags: words("APPLICATION AUTOMATIC EXPLICIT IMPLICIT PRIVATE TAGS" + " UNIVERSAL"), storage: words("BOOLEAN INTEGER OBJECT IDENTIFIER BIT OCTET STRING" + " UTCTime InterfaceIndex IANAifType CMIP-Attribute" + " REAL PACKAGE PACKAGES IpAddress PhysAddress" + " NetworkAddress BITS BMPString TimeStamp TimeTicks" + " TruthValue RowStatus DisplayString GeneralString" + " GraphicString IA5String NumericString" + " PrintableString SnmpAdminAtring TeletexString" + " UTF8String VideotexString VisibleString StringStore" + " ISO646String T61String UniversalString Unsigned32" + " Integer32 Gauge Gauge32 Counter Counter32 Counter64"), modifier: words("ATTRIBUTE ATTRIBUTES MANDATORY-GROUP MANDATORY-GROUPS" + " GROUP GROUPS ELEMENTS EQUALITY ORDERING SUBSTRINGS" + " DEFINED"), accessTypes: words("not-accessible accessible-for-notify read-only" + " read-create read-write"), multiLineStrings: true }); }); wp-file-manager/lib/codemirror/mode/asn.1/index.html000064400000004256151202472330016301 0ustar00 CodeMirror: ASN.1 mode

        ASN.1 example


        Language: Abstract Syntax Notation One (ASN.1)

        MIME types defined: text/x-ttcn-asn


        The development of this mode has been sponsored by Ericsson .

        Coded by Asmelash Tsegay Gebretsadkan

        wp-file-manager/lib/codemirror/mode/asterisk/asterisk.js000064400000016415151202472330017374 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /* * ===================================================================================== * * Filename: mode/asterisk/asterisk.js * * Description: CodeMirror mode for Asterisk dialplan * * Created: 05/17/2012 09:20:25 PM * Revision: none * * Author: Stas Kobzar (stas@modulis.ca), * Company: Modulis.ca Inc. * * ===================================================================================== */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("asterisk", function() { var atoms = ["exten", "same", "include","ignorepat","switch"], dpcmd = ["#include","#exec"], apps = [ "addqueuemember","adsiprog","aelsub","agentlogin","agentmonitoroutgoing","agi", "alarmreceiver","amd","answer","authenticate","background","backgrounddetect", "bridge","busy","callcompletioncancel","callcompletionrequest","celgenuserevent", "changemonitor","chanisavail","channelredirect","chanspy","clearhash","confbridge", "congestion","continuewhile","controlplayback","dahdiacceptr2call","dahdibarge", "dahdiras","dahdiscan","dahdisendcallreroutingfacility","dahdisendkeypadfacility", "datetime","dbdel","dbdeltree","deadagi","dial","dictate","directory","disa", "dumpchan","eagi","echo","endwhile","exec","execif","execiftime","exitwhile","extenspy", "externalivr","festival","flash","followme","forkcdr","getcpeid","gosub","gosubif", "goto","gotoif","gotoiftime","hangup","iax2provision","ices","importvar","incomplete", "ivrdemo","jabberjoin","jabberleave","jabbersend","jabbersendgroup","jabberstatus", "jack","log","macro","macroexclusive","macroexit","macroif","mailboxexists","meetme", "meetmeadmin","meetmechanneladmin","meetmecount","milliwatt","minivmaccmess","minivmdelete", "minivmgreet","minivmmwi","minivmnotify","minivmrecord","mixmonitor","monitor","morsecode", "mp3player","mset","musiconhold","nbscat","nocdr","noop","odbc","odbc","odbcfinish", "originate","ospauth","ospfinish","osplookup","ospnext","page","park","parkandannounce", "parkedcall","pausemonitor","pausequeuemember","pickup","pickupchan","playback","playtones", "privacymanager","proceeding","progress","queue","queuelog","raiseexception","read","readexten", "readfile","receivefax","receivefax","receivefax","record","removequeuemember", "resetcdr","retrydial","return","ringing","sayalpha","saycountedadj","saycountednoun", "saycountpl","saydigits","saynumber","sayphonetic","sayunixtime","senddtmf","sendfax", "sendfax","sendfax","sendimage","sendtext","sendurl","set","setamaflags", "setcallerpres","setmusiconhold","sipaddheader","sipdtmfmode","sipremoveheader","skel", "slastation","slatrunk","sms","softhangup","speechactivategrammar","speechbackground", "speechcreate","speechdeactivategrammar","speechdestroy","speechloadgrammar","speechprocessingsound", "speechstart","speechunloadgrammar","stackpop","startmusiconhold","stopmixmonitor","stopmonitor", "stopmusiconhold","stopplaytones","system","testclient","testserver","transfer","tryexec", "trysystem","unpausemonitor","unpausequeuemember","userevent","verbose","vmauthenticate", "vmsayname","voicemail","voicemailmain","wait","waitexten","waitfornoise","waitforring", "waitforsilence","waitmusiconhold","waituntil","while","zapateller" ]; function basicToken(stream,state){ var cur = ''; var ch = stream.next(); // comment if(ch == ";") { stream.skipToEnd(); return "comment"; } // context if(ch == '[') { stream.skipTo(']'); stream.eat(']'); return "header"; } // string if(ch == '"') { stream.skipTo('"'); return "string"; } if(ch == "'") { stream.skipTo("'"); return "string-2"; } // dialplan commands if(ch == '#') { stream.eatWhile(/\w/); cur = stream.current(); if(dpcmd.indexOf(cur) !== -1) { stream.skipToEnd(); return "strong"; } } // application args if(ch == '$'){ var ch1 = stream.peek(); if(ch1 == '{'){ stream.skipTo('}'); stream.eat('}'); return "variable-3"; } } // extension stream.eatWhile(/\w/); cur = stream.current(); if(atoms.indexOf(cur) !== -1) { state.extenStart = true; switch(cur) { case 'same': state.extenSame = true; break; case 'include': case 'switch': case 'ignorepat': state.extenInclude = true;break; default:break; } return "atom"; } } return { startState: function() { return { extenStart: false, extenSame: false, extenInclude: false, extenExten: false, extenPriority: false, extenApplication: false }; }, token: function(stream, state) { var cur = ''; if(stream.eatSpace()) return null; // extension started if(state.extenStart){ stream.eatWhile(/[^\s]/); cur = stream.current(); if(/^=>?$/.test(cur)){ state.extenExten = true; state.extenStart = false; return "strong"; } else { state.extenStart = false; stream.skipToEnd(); return "error"; } } else if(state.extenExten) { // set exten and priority state.extenExten = false; state.extenPriority = true; stream.eatWhile(/[^,]/); if(state.extenInclude) { stream.skipToEnd(); state.extenPriority = false; state.extenInclude = false; } if(state.extenSame) { state.extenPriority = false; state.extenSame = false; state.extenApplication = true; } return "tag"; } else if(state.extenPriority) { state.extenPriority = false; state.extenApplication = true; stream.next(); // get comma if(state.extenSame) return null; stream.eatWhile(/[^,]/); return "number"; } else if(state.extenApplication) { stream.eatWhile(/,/); cur = stream.current(); if(cur === ',') return null; stream.eatWhile(/\w/); cur = stream.current().toLowerCase(); state.extenApplication = false; if(apps.indexOf(cur) !== -1){ return "def strong"; } } else{ return basicToken(stream,state); } return null; } }; }); CodeMirror.defineMIME("text/x-asterisk", "asterisk"); }); wp-file-manager/lib/codemirror/mode/asterisk/index.html000064400000010757151202472330017211 0ustar00 CodeMirror: Asterisk dialplan mode

        Asterisk dialplan mode

        MIME types defined: text/x-asterisk.

        wp-file-manager/lib/codemirror/mode/brainfuck/brainfuck.js000064400000004176151202472330017633 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Brainfuck mode created by Michael Kaminsky https://github.com/mkaminsky11 (function(mod) { if (typeof exports == "object" && typeof module == "object") mod(require("../../lib/codemirror")) else if (typeof define == "function" && define.amd) define(["../../lib/codemirror"], mod) else mod(CodeMirror) })(function(CodeMirror) { "use strict" var reserve = "><+-.,[]".split(""); /* comments can be either: placed behind lines +++ this is a comment where reserved characters cannot be used or in a loop [ this is ok to use [ ] and stuff ] or preceded by # */ CodeMirror.defineMode("brainfuck", function() { return { startState: function() { return { commentLine: false, left: 0, right: 0, commentLoop: false } }, token: function(stream, state) { if (stream.eatSpace()) return null if(stream.sol()){ state.commentLine = false; } var ch = stream.next().toString(); if(reserve.indexOf(ch) !== -1){ if(state.commentLine === true){ if(stream.eol()){ state.commentLine = false; } return "comment"; } if(ch === "]" || ch === "["){ if(ch === "["){ state.left++; } else{ state.right++; } return "bracket"; } else if(ch === "+" || ch === "-"){ return "keyword"; } else if(ch === "<" || ch === ">"){ return "atom"; } else if(ch === "." || ch === ","){ return "def"; } } else{ state.commentLine = true; if(stream.eol()){ state.commentLine = false; } return "comment"; } if(stream.eol()){ state.commentLine = false; } } }; }); CodeMirror.defineMIME("text/x-brainfuck","brainfuck") }); wp-file-manager/lib/codemirror/mode/brainfuck/index.html000064400000006412151202472330017321 0ustar00 CodeMirror: Brainfuck mode

        Brainfuck mode

        A mode for Brainfuck

        MIME types defined: text/x-brainfuck

        wp-file-manager/lib/codemirror/mode/clike/clike.js000064400000074016151202472330016101 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function Context(indented, column, type, info, align, prev) { this.indented = indented; this.column = column; this.type = type; this.info = info; this.align = align; this.prev = prev; } function pushContext(state, col, type, info) { var indent = state.indented; if (state.context && state.context.type != "statement" && type != "statement") indent = state.context.indented; return state.context = new Context(indent, col, type, info, null, state.context); } function popContext(state) { var t = state.context.type; if (t == ")" || t == "]" || t == "}") state.indented = state.context.indented; return state.context = state.context.prev; } function typeBefore(stream, state, pos) { if (state.prevToken == "variable" || state.prevToken == "variable-3") return true; if (/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(stream.string.slice(0, pos))) return true; if (state.typeAtEndOfLine && stream.column() == stream.indentation()) return true; } function isTopScope(context) { for (;;) { if (!context || context.type == "top") return true; if (context.type == "}" && context.prev.info != "namespace") return false; context = context.prev; } } CodeMirror.defineMode("clike", function(config, parserConfig) { var indentUnit = config.indentUnit, statementIndentUnit = parserConfig.statementIndentUnit || indentUnit, dontAlignCalls = parserConfig.dontAlignCalls, keywords = parserConfig.keywords || {}, types = parserConfig.types || {}, builtin = parserConfig.builtin || {}, blockKeywords = parserConfig.blockKeywords || {}, defKeywords = parserConfig.defKeywords || {}, atoms = parserConfig.atoms || {}, hooks = parserConfig.hooks || {}, multiLineStrings = parserConfig.multiLineStrings, indentStatements = parserConfig.indentStatements !== false, indentSwitch = parserConfig.indentSwitch !== false, namespaceSeparator = parserConfig.namespaceSeparator, isPunctuationChar = parserConfig.isPunctuationChar || /[\[\]{}\(\),;\:\.]/, numberStart = parserConfig.numberStart || /[\d\.]/, number = parserConfig.number || /^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i, isOperatorChar = parserConfig.isOperatorChar || /[+\-*&%=<>!?|\/]/, endStatement = parserConfig.endStatement || /^[;:,]$/; var curPunc, isDefKeyword; function tokenBase(stream, state) { var ch = stream.next(); if (hooks[ch]) { var result = hooks[ch](stream, state); if (result !== false) return result; } if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (isPunctuationChar.test(ch)) { curPunc = ch; return null; } if (numberStart.test(ch)) { stream.backUp(1) if (stream.match(number)) return "number" stream.next() } if (ch == "/") { if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } if (isOperatorChar.test(ch)) { while (!stream.match(/^\/[\/*]/, false) && stream.eat(isOperatorChar)) {} return "operator"; } stream.eatWhile(/[\w\$_\xa1-\uffff]/); if (namespaceSeparator) while (stream.match(namespaceSeparator)) stream.eatWhile(/[\w\$_\xa1-\uffff]/); var cur = stream.current(); if (contains(keywords, cur)) { if (contains(blockKeywords, cur)) curPunc = "newstatement"; if (contains(defKeywords, cur)) isDefKeyword = true; return "keyword"; } if (contains(types, cur)) return "variable-3"; if (contains(builtin, cur)) { if (contains(blockKeywords, cur)) curPunc = "newstatement"; return "builtin"; } if (contains(atoms, cur)) return "atom"; return "variable"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) {end = true; break;} escaped = !escaped && next == "\\"; } if (end || !(escaped || multiLineStrings)) state.tokenize = null; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = null; break; } maybeEnd = (ch == "*"); } return "comment"; } function maybeEOL(stream, state) { if (parserConfig.typeFirstDefinitions && stream.eol() && isTopScope(state.context)) state.typeAtEndOfLine = typeBefore(stream, state, stream.pos) } // Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", null, false), indented: 0, startOfLine: true, prevToken: null }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) { maybeEOL(stream, state); return null; } curPunc = isDefKeyword = null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment" || style == "meta") return style; if (ctx.align == null) ctx.align = true; if (endStatement.test(curPunc)) while (state.context.type == "statement") popContext(state); else if (curPunc == "{") pushContext(state, stream.column(), "}"); else if (curPunc == "[") pushContext(state, stream.column(), "]"); else if (curPunc == "(") pushContext(state, stream.column(), ")"); else if (curPunc == "}") { while (ctx.type == "statement") ctx = popContext(state); if (ctx.type == "}") ctx = popContext(state); while (ctx.type == "statement") ctx = popContext(state); } else if (curPunc == ctx.type) popContext(state); else if (indentStatements && (((ctx.type == "}" || ctx.type == "top") && curPunc != ";") || (ctx.type == "statement" && curPunc == "newstatement"))) { pushContext(state, stream.column(), "statement", stream.current()); } if (style == "variable" && ((state.prevToken == "def" || (parserConfig.typeFirstDefinitions && typeBefore(stream, state, stream.start) && isTopScope(state.context) && stream.match(/^\s*\(/, false))))) style = "def"; if (hooks.token) { var result = hooks.token(stream, state, style); if (result !== undefined) style = result; } if (style == "def" && parserConfig.styleDefs === false) style = "variable"; state.startOfLine = false; state.prevToken = isDefKeyword ? "def" : style || curPunc; maybeEOL(stream, state); return style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine) return CodeMirror.Pass; var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev; if (parserConfig.dontIndentStatements) while (ctx.type == "statement" && parserConfig.dontIndentStatements.test(ctx.info)) ctx = ctx.prev if (hooks.indent) { var hook = hooks.indent(state, ctx, textAfter); if (typeof hook == "number") return hook } var closing = firstChar == ctx.type; var switchBlock = ctx.prev && ctx.prev.info == "switch"; if (parserConfig.allmanIndentation && /[{(]/.test(firstChar)) { while (ctx.type != "top" && ctx.type != "}") ctx = ctx.prev return ctx.indented } if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit); if (ctx.align && (!dontAlignCalls || ctx.type != ")")) return ctx.column + (closing ? 0 : 1); if (ctx.type == ")" && !closing) return ctx.indented + statementIndentUnit; return ctx.indented + (closing ? 0 : indentUnit) + (!closing && switchBlock && !/^(?:case|default)\b/.test(textAfter) ? indentUnit : 0); }, electricInput: indentSwitch ? /^\s*(?:case .*?:|default:|\{\}?|\})$/ : /^\s*[{}]$/, blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//", fold: "brace" }; }); function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } function contains(words, word) { if (typeof words === "function") { return words(word); } else { return words.propertyIsEnumerable(word); } } var cKeywords = "auto if break case register continue return default do sizeof " + "static else struct switch extern typedef union for goto while enum const volatile"; var cTypes = "int long char short double float unsigned signed void size_t ptrdiff_t"; function cppHook(stream, state) { if (!state.startOfLine) return false for (var ch, next = null; ch = stream.peek();) { if (ch == "\\" && stream.match(/^.$/)) { next = cppHook break } else if (ch == "/" && stream.match(/^\/[\/\*]/, false)) { break } stream.next() } state.tokenize = next return "meta" } function pointerHook(_stream, state) { if (state.prevToken == "variable-3") return "variable-3"; return false; } function cpp14Literal(stream) { stream.eatWhile(/[\w\.']/); return "number"; } function cpp11StringHook(stream, state) { stream.backUp(1); // Raw strings. if (stream.match(/(R|u8R|uR|UR|LR)/)) { var match = stream.match(/"([^\s\\()]{0,16})\(/); if (!match) { return false; } state.cpp11RawStringDelim = match[1]; state.tokenize = tokenRawString; return tokenRawString(stream, state); } // Unicode strings/chars. if (stream.match(/(u8|u|U|L)/)) { if (stream.match(/["']/, /* eat */ false)) { return "string"; } return false; } // Ignore this hook. stream.next(); return false; } function cppLooksLikeConstructor(word) { var lastTwo = /(\w+)::(\w+)$/.exec(word); return lastTwo && lastTwo[1] == lastTwo[2]; } // C#-style strings where "" escapes a quote. function tokenAtString(stream, state) { var next; while ((next = stream.next()) != null) { if (next == '"' && !stream.eat('"')) { state.tokenize = null; break; } } return "string"; } // C++11 raw string literal is "( anything )", where // can be a string up to 16 characters long. function tokenRawString(stream, state) { // Escape characters that have special regex meanings. var delim = state.cpp11RawStringDelim.replace(/[^\w\s]/g, '\\$&'); var match = stream.match(new RegExp(".*?\\)" + delim + '"')); if (match) state.tokenize = null; else stream.skipToEnd(); return "string"; } function def(mimes, mode) { if (typeof mimes == "string") mimes = [mimes]; var words = []; function add(obj) { if (obj) for (var prop in obj) if (obj.hasOwnProperty(prop)) words.push(prop); } add(mode.keywords); add(mode.types); add(mode.builtin); add(mode.atoms); if (words.length) { mode.helperType = mimes[0]; CodeMirror.registerHelper("hintWords", mimes[0], words); } for (var i = 0; i < mimes.length; ++i) CodeMirror.defineMIME(mimes[i], mode); } def(["text/x-csrc", "text/x-c", "text/x-chdr"], { name: "clike", keywords: words(cKeywords), types: words(cTypes + " bool _Complex _Bool float_t double_t intptr_t intmax_t " + "int8_t int16_t int32_t int64_t uintptr_t uintmax_t uint8_t uint16_t " + "uint32_t uint64_t"), blockKeywords: words("case do else for if switch while struct"), defKeywords: words("struct"), typeFirstDefinitions: true, atoms: words("null true false"), hooks: {"#": cppHook, "*": pointerHook}, modeProps: {fold: ["brace", "include"]} }); def(["text/x-c++src", "text/x-c++hdr"], { name: "clike", keywords: words(cKeywords + " asm dynamic_cast namespace reinterpret_cast try explicit new " + "static_cast typeid catch operator template typename class friend private " + "this using const_cast inline public throw virtual delete mutable protected " + "alignas alignof constexpr decltype nullptr noexcept thread_local final " + "static_assert override"), types: words(cTypes + " bool wchar_t"), blockKeywords: words("catch class do else finally for if struct switch try while"), defKeywords: words("class namespace struct enum union"), typeFirstDefinitions: true, atoms: words("true false null"), dontIndentStatements: /^template$/, hooks: { "#": cppHook, "*": pointerHook, "u": cpp11StringHook, "U": cpp11StringHook, "L": cpp11StringHook, "R": cpp11StringHook, "0": cpp14Literal, "1": cpp14Literal, "2": cpp14Literal, "3": cpp14Literal, "4": cpp14Literal, "5": cpp14Literal, "6": cpp14Literal, "7": cpp14Literal, "8": cpp14Literal, "9": cpp14Literal, token: function(stream, state, style) { if (style == "variable" && stream.peek() == "(" && (state.prevToken == ";" || state.prevToken == null || state.prevToken == "}") && cppLooksLikeConstructor(stream.current())) return "def"; } }, namespaceSeparator: "::", modeProps: {fold: ["brace", "include"]} }); def("text/x-java", { name: "clike", keywords: words("abstract assert break case catch class const continue default " + "do else enum extends final finally float for goto if implements import " + "instanceof interface native new package private protected public " + "return static strictfp super switch synchronized this throw throws transient " + "try volatile while"), types: words("byte short int long float double boolean char void Boolean Byte Character Double Float " + "Integer Long Number Object Short String StringBuffer StringBuilder Void"), blockKeywords: words("catch class do else finally for if switch try while"), defKeywords: words("class interface package enum"), typeFirstDefinitions: true, atoms: words("true false null"), endStatement: /^[;:]$/, number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i, hooks: { "@": function(stream) { stream.eatWhile(/[\w\$_]/); return "meta"; } }, modeProps: {fold: ["brace", "import"]} }); def("text/x-csharp", { name: "clike", keywords: words("abstract as async await base break case catch checked class const continue" + " default delegate do else enum event explicit extern finally fixed for" + " foreach goto if implicit in interface internal is lock namespace new" + " operator out override params private protected public readonly ref return sealed" + " sizeof stackalloc static struct switch this throw try typeof unchecked" + " unsafe using virtual void volatile while add alias ascending descending dynamic from get" + " global group into join let orderby partial remove select set value var yield"), types: words("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func" + " Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32" + " UInt64 bool byte char decimal double short int long object" + " sbyte float string ushort uint ulong"), blockKeywords: words("catch class do else finally for foreach if struct switch try while"), defKeywords: words("class interface namespace struct var"), typeFirstDefinitions: true, atoms: words("true false null"), hooks: { "@": function(stream, state) { if (stream.eat('"')) { state.tokenize = tokenAtString; return tokenAtString(stream, state); } stream.eatWhile(/[\w\$_]/); return "meta"; } } }); function tokenTripleString(stream, state) { var escaped = false; while (!stream.eol()) { if (!escaped && stream.match('"""')) { state.tokenize = null; break; } escaped = stream.next() == "\\" && !escaped; } return "string"; } def("text/x-scala", { name: "clike", keywords: words( /* scala */ "abstract case catch class def do else extends final finally for forSome if " + "implicit import lazy match new null object override package private protected return " + "sealed super this throw trait try type val var while with yield _ : = => <- <: " + "<% >: # @ " + /* package scala */ "assert assume require print println printf readLine readBoolean readByte readShort " + "readChar readInt readLong readFloat readDouble " + ":: #:: " ), types: words( "AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either " + "Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable " + "Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering " + "Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder " + "StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector " + /* package java.lang */ "Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " + "Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " + "Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " + "StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void" ), multiLineStrings: true, blockKeywords: words("catch class do else finally for forSome if match switch try while"), defKeywords: words("class def object package trait type val var"), atoms: words("true false null"), indentStatements: false, indentSwitch: false, hooks: { "@": function(stream) { stream.eatWhile(/[\w\$_]/); return "meta"; }, '"': function(stream, state) { if (!stream.match('""')) return false; state.tokenize = tokenTripleString; return state.tokenize(stream, state); }, "'": function(stream) { stream.eatWhile(/[\w\$_\xa1-\uffff]/); return "atom"; }, "=": function(stream, state) { var cx = state.context if (cx.type == "}" && cx.align && stream.eat(">")) { state.context = new Context(cx.indented, cx.column, cx.type, cx.info, null, cx.prev) return "operator" } else { return false } } }, modeProps: {closeBrackets: {triples: '"'}} }); function tokenKotlinString(tripleString){ return function (stream, state) { var escaped = false, next, end = false; while (!stream.eol()) { if (!tripleString && !escaped && stream.match('"') ) {end = true; break;} if (tripleString && stream.match('"""')) {end = true; break;} next = stream.next(); if(!escaped && next == "$" && stream.match('{')) stream.skipTo("}"); escaped = !escaped && next == "\\" && !tripleString; } if (end || !tripleString) state.tokenize = null; return "string"; } } def("text/x-kotlin", { name: "clike", keywords: words( /*keywords*/ "package as typealias class interface this super val " + "var fun for is in This throw return " + "break continue object if else while do try when !in !is as? " + /*soft keywords*/ "file import where by get set abstract enum open inner override private public internal " + "protected catch finally out final vararg reified dynamic companion constructor init " + "sealed field property receiver param sparam lateinit data inline noinline tailrec " + "external annotation crossinline const operator infix" ), types: words( /* package java.lang */ "Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " + "Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " + "Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " + "StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void" ), intendSwitch: false, indentStatements: false, multiLineStrings: true, blockKeywords: words("catch class do else finally for if where try while enum"), defKeywords: words("class val var object package interface fun"), atoms: words("true false null this"), hooks: { '"': function(stream, state) { state.tokenize = tokenKotlinString(stream.match('""')); return state.tokenize(stream, state); } }, modeProps: {closeBrackets: {triples: '"'}} }); def(["x-shader/x-vertex", "x-shader/x-fragment"], { name: "clike", keywords: words("sampler1D sampler2D sampler3D samplerCube " + "sampler1DShadow sampler2DShadow " + "const attribute uniform varying " + "break continue discard return " + "for while do if else struct " + "in out inout"), types: words("float int bool void " + "vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 " + "mat2 mat3 mat4"), blockKeywords: words("for while do if else struct"), builtin: words("radians degrees sin cos tan asin acos atan " + "pow exp log exp2 sqrt inversesqrt " + "abs sign floor ceil fract mod min max clamp mix step smoothstep " + "length distance dot cross normalize ftransform faceforward " + "reflect refract matrixCompMult " + "lessThan lessThanEqual greaterThan greaterThanEqual " + "equal notEqual any all not " + "texture1D texture1DProj texture1DLod texture1DProjLod " + "texture2D texture2DProj texture2DLod texture2DProjLod " + "texture3D texture3DProj texture3DLod texture3DProjLod " + "textureCube textureCubeLod " + "shadow1D shadow2D shadow1DProj shadow2DProj " + "shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod " + "dFdx dFdy fwidth " + "noise1 noise2 noise3 noise4"), atoms: words("true false " + "gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex " + "gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 " + "gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 " + "gl_FogCoord gl_PointCoord " + "gl_Position gl_PointSize gl_ClipVertex " + "gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor " + "gl_TexCoord gl_FogFragCoord " + "gl_FragCoord gl_FrontFacing " + "gl_FragData gl_FragDepth " + "gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix " + "gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse " + "gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse " + "gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose " + "gl_ProjectionMatrixInverseTranspose " + "gl_ModelViewProjectionMatrixInverseTranspose " + "gl_TextureMatrixInverseTranspose " + "gl_NormalScale gl_DepthRange gl_ClipPlane " + "gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel " + "gl_FrontLightModelProduct gl_BackLightModelProduct " + "gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ " + "gl_FogParameters " + "gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords " + "gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats " + "gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits " + "gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits " + "gl_MaxDrawBuffers"), indentSwitch: false, hooks: {"#": cppHook}, modeProps: {fold: ["brace", "include"]} }); def("text/x-nesc", { name: "clike", keywords: words(cKeywords + "as atomic async call command component components configuration event generic " + "implementation includes interface module new norace nx_struct nx_union post provides " + "signal task uses abstract extends"), types: words(cTypes), blockKeywords: words("case do else for if switch while struct"), atoms: words("null true false"), hooks: {"#": cppHook}, modeProps: {fold: ["brace", "include"]} }); def("text/x-objectivec", { name: "clike", keywords: words(cKeywords + "inline restrict _Bool _Complex _Imaginary BOOL Class bycopy byref id IMP in " + "inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"), types: words(cTypes), atoms: words("YES NO NULL NILL ON OFF true false"), hooks: { "@": function(stream) { stream.eatWhile(/[\w\$]/); return "keyword"; }, "#": cppHook, indent: function(_state, ctx, textAfter) { if (ctx.type == "statement" && /^@\w/.test(textAfter)) return ctx.indented } }, modeProps: {fold: "brace"} }); def("text/x-squirrel", { name: "clike", keywords: words("base break clone continue const default delete enum extends function in class" + " foreach local resume return this throw typeof yield constructor instanceof static"), types: words(cTypes), blockKeywords: words("case catch class else for foreach if switch try while"), defKeywords: words("function local class"), typeFirstDefinitions: true, atoms: words("true false null"), hooks: {"#": cppHook}, modeProps: {fold: ["brace", "include"]} }); // Ceylon Strings need to deal with interpolation var stringTokenizer = null; function tokenCeylonString(type) { return function(stream, state) { var escaped = false, next, end = false; while (!stream.eol()) { if (!escaped && stream.match('"') && (type == "single" || stream.match('""'))) { end = true; break; } if (!escaped && stream.match('``')) { stringTokenizer = tokenCeylonString(type); end = true; break; } next = stream.next(); escaped = type == "single" && !escaped && next == "\\"; } if (end) state.tokenize = null; return "string"; } } def("text/x-ceylon", { name: "clike", keywords: words("abstracts alias assembly assert assign break case catch class continue dynamic else" + " exists extends finally for function given if import in interface is let module new" + " nonempty object of out outer package return satisfies super switch then this throw" + " try value void while"), types: function(word) { // In Ceylon all identifiers that start with an uppercase are types var first = word.charAt(0); return (first === first.toUpperCase() && first !== first.toLowerCase()); }, blockKeywords: words("case catch class dynamic else finally for function if interface module new object switch try while"), defKeywords: words("class dynamic function interface module object package value"), builtin: words("abstract actual aliased annotation by default deprecated doc final formal late license" + " native optional sealed see serializable shared suppressWarnings tagged throws variable"), isPunctuationChar: /[\[\]{}\(\),;\:\.`]/, isOperatorChar: /[+\-*&%=<>!?|^~:\/]/, numberStart: /[\d#$]/, number: /^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i, multiLineStrings: true, typeFirstDefinitions: true, atoms: words("true false null larger smaller equal empty finished"), indentSwitch: false, styleDefs: false, hooks: { "@": function(stream) { stream.eatWhile(/[\w\$_]/); return "meta"; }, '"': function(stream, state) { state.tokenize = tokenCeylonString(stream.match('""') ? "triple" : "single"); return state.tokenize(stream, state); }, '`': function(stream, state) { if (!stringTokenizer || !stream.match('`')) return false; state.tokenize = stringTokenizer; stringTokenizer = null; return state.tokenize(stream, state); }, "'": function(stream) { stream.eatWhile(/[\w\$_\xa1-\uffff]/); return "atom"; }, token: function(_stream, state, style) { if ((style == "variable" || style == "variable-3") && state.prevToken == ".") { return "variable-2"; } } }, modeProps: { fold: ["brace", "import"], closeBrackets: {triples: '"'} } }); }); wp-file-manager/lib/codemirror/mode/clike/index.html000064400000023571151202472330016451 0ustar00 CodeMirror: C-like mode

        C-like mode

        C++ example

        Objective-C example

        Java example

        Scala example

        Kotlin mode

        Ceylon mode

        Simple mode that tries to handle C-like languages as well as it can. Takes two configuration parameters: keywords, an object whose property names are the keywords in the language, and useCPP, which determines whether C preprocessor directives are recognized.

        MIME types defined: text/x-csrc (C), text/x-c++src (C++), text/x-java (Java), text/x-csharp (C#), text/x-objectivec (Objective-C), text/x-scala (Scala), text/x-vertex x-shader/x-fragment (shader programs), text/x-squirrel (Squirrel) and text/x-ceylon (Ceylon)

        wp-file-manager/lib/codemirror/mode/clike/scala.html000064400000067546151202472330016437 0ustar00 CodeMirror: Scala mode

        Scala mode

        wp-file-manager/lib/codemirror/mode/clike/test.js000064400000003617151202472330015770 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-c"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT("indent", "[variable-3 void] [def foo]([variable-3 void*] [variable a], [variable-3 int] [variable b]) {", " [variable-3 int] [variable c] [operator =] [variable b] [operator +]", " [number 1];", " [keyword return] [operator *][variable a];", "}"); MT("indent_switch", "[keyword switch] ([variable x]) {", " [keyword case] [number 10]:", " [keyword return] [number 20];", " [keyword default]:", " [variable printf]([string \"foo %c\"], [variable x]);", "}"); MT("def", "[variable-3 void] [def foo]() {}", "[keyword struct] [def bar]{}", "[variable-3 int] [variable-3 *][def baz]() {}"); MT("def_new_line", "::[variable std]::[variable SomeTerribleType][operator <][variable T][operator >]", "[def SomeLongMethodNameThatDoesntFitIntoOneLine]([keyword const] [variable MyType][operator &] [variable param]) {}") MT("double_block", "[keyword for] (;;)", " [keyword for] (;;)", " [variable x][operator ++];", "[keyword return];"); MT("preprocessor", "[meta #define FOO 3]", "[variable-3 int] [variable foo];", "[meta #define BAR\\]", "[meta 4]", "[variable-3 unsigned] [variable-3 int] [variable bar] [operator =] [number 8];", "[meta #include ][comment // comment]") var mode_cpp = CodeMirror.getMode({indentUnit: 2}, "text/x-c++src"); function MTCPP(name) { test.mode(name, mode_cpp, Array.prototype.slice.call(arguments, 1)); } MTCPP("cpp14_literal", "[number 10'000];", "[number 0b10'000];", "[number 0x10'000];", "[string '100000'];"); })(); wp-file-manager/lib/codemirror/mode/clojure/clojure.js000064400000037205151202472330017030 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /** * Author: Hans Engel * Branched from CodeMirror's Scheme mode (by Koh Zi Han, based on implementation by Koh Zi Chun) */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("clojure", function (options) { var BUILTIN = "builtin", COMMENT = "comment", STRING = "string", CHARACTER = "string-2", ATOM = "atom", NUMBER = "number", BRACKET = "bracket", KEYWORD = "keyword", VAR = "variable"; var INDENT_WORD_SKIP = options.indentUnit || 2; var NORMAL_INDENT_UNIT = options.indentUnit || 2; function makeKeywords(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var atoms = makeKeywords("true false nil"); var keywords = makeKeywords( "defn defn- def def- defonce defmulti defmethod defmacro defstruct deftype defprotocol defrecord defproject deftest " + "slice defalias defhinted defmacro- defn-memo defnk defnk defonce- defunbound defunbound- defvar defvar- let letfn " + "do case cond condp for loop recur when when-not when-let when-first if if-let if-not . .. -> ->> doto and or dosync " + "doseq dotimes dorun doall load import unimport ns in-ns refer try catch finally throw with-open with-local-vars " + "binding gen-class gen-and-load-class gen-and-save-class handler-case handle"); var builtins = makeKeywords( "* *' *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* " + "*compile-path* *compiler-options* *data-readers* *e *err* *file* *flush-on-newline* *fn-loader* *in* " + "*math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* " + "*source-path* *unchecked-math* *use-context-classloader* *verbose-defrecords* *warn-on-reflection* + +' - -' -> " + "->> ->ArrayChunk ->Vec ->VecNode ->VecSeq -cache-protocol-fn -reset-methods .. / < <= = == > >= EMPTY-NODE accessor " + "aclone add-classpath add-watch agent agent-error agent-errors aget alength alias all-ns alter alter-meta! " + "alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double " + "aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 " + "bases bean bigdec bigint biginteger binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set " + "bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* bound? butlast " + "byte byte-array bytes case cat cast char char-array char-escape-string char-name-string char? chars chunk chunk-append " + "chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors " + "clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement completing concat cond condp " + "conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec dec' decimal? " + "declare dedupe default-data-readers definline definterface defmacro defmethod defmulti defn defn- defonce defprotocol " + "defrecord defstruct deftype delay delay? deliver denominator deref derive descendants destructure disj disj! dissoc " + "dissoc! distinct distinct? doall dorun doseq dosync dotimes doto double double-array doubles drop drop-last " + "drop-while eduction empty empty? ensure enumeration-seq error-handler error-mode eval even? every-pred every? ex-data ex-info " + "extend extend-protocol extend-type extenders extends? false? ffirst file-seq filter filterv find find-keyword " + "find-ns find-protocol-impl find-protocol-method find-var first flatten float float-array float? floats flush fn fn? " + "fnext fnil for force format frequencies future future-call future-cancel future-cancelled? future-done? future? " + "gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator group-by hash " + "hash-combine hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc inc' init-proxy instance? " + "int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt keep " + "keep-indexed key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file " + "load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array " + "make-hierarchy map map-indexed map? mapcat mapv max max-key memfn memoize merge merge-with meta method-sig methods " + "min min-key mod munge name namespace namespace-munge neg? newline next nfirst nil? nnext not not-any? not-empty " + "not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias " + "ns-unmap nth nthnext nthrest num number? numerator object-array odd? or parents partial partition partition-all " + "partition-by pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers " + "primitives-classnames print print-ctor print-dup print-method print-simple print-str printf println println-str " + "prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues " + "quot rand rand-int rand-nth random-sample range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern " + "re-seq read read-line read-string realized? reduce reduce-kv reductions ref ref-history-count ref-max-history " + "ref-min-history ref-set refer refer-clojure reify release-pending-sends rem remove remove-all-methods " + "remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest " + "restart-agent resultset-seq reverse reversible? rseq rsubseq satisfies? second select-keys send send-off seq seq? " + "seque sequence sequential? set set-error-handler! set-error-mode! set-validator! set? short short-array shorts " + "shuffle shutdown-agents slurp some some-fn sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? " + "special-symbol? spit split-at split-with str string? struct struct-map subs subseq subvec supers swap! symbol " + "symbol? sync take take-last take-nth take-while test the-ns thread-bound? time to-array to-array-2d trampoline transduce " + "transient tree-seq true? type unchecked-add unchecked-add-int unchecked-byte unchecked-char unchecked-dec " + "unchecked-dec-int unchecked-divide-int unchecked-double unchecked-float unchecked-inc unchecked-inc-int " + "unchecked-int unchecked-long unchecked-multiply unchecked-multiply-int unchecked-negate unchecked-negate-int "+ "unchecked-remainder-int unchecked-short unchecked-subtract unchecked-subtract-int underive unquote " + "unquote-splicing update update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector-of " + "vector? volatile! volatile? vreset! vswap! when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context " + "with-local-vars with-meta with-open with-out-str with-precision with-redefs with-redefs-fn xml-seq zero? zipmap " + "*default-data-reader-fn* as-> cond-> cond->> reduced reduced? send-via set-agent-send-executor! " + "set-agent-send-off-executor! some-> some->>"); var indentKeys = makeKeywords( // Built-ins "ns fn def defn defmethod bound-fn if if-not case condp when while when-not when-first do future comment doto " + "locking proxy with-open with-precision reify deftype defrecord defprotocol extend extend-protocol extend-type " + "try catch " + // Binding forms "let letfn binding loop for doseq dotimes when-let if-let " + // Data structures "defstruct struct-map assoc " + // clojure.test "testing deftest " + // contrib "handler-case handle dotrace deftrace"); var tests = { digit: /\d/, digit_or_colon: /[\d:]/, hex: /[0-9a-f]/i, sign: /[+-]/, exponent: /e/i, keyword_char: /[^\s\(\[\;\)\]]/, symbol: /[\w*+!\-\._?:<>\/\xa1-\uffff]/, block_indent: /^(?:def|with)[^\/]+$|\/(?:def|with)/ }; function stateStack(indent, type, prev) { // represents a state stack object this.indent = indent; this.type = type; this.prev = prev; } function pushStack(state, indent, type) { state.indentStack = new stateStack(indent, type, state.indentStack); } function popStack(state) { state.indentStack = state.indentStack.prev; } function isNumber(ch, stream){ // hex if ( ch === '0' && stream.eat(/x/i) ) { stream.eatWhile(tests.hex); return true; } // leading sign if ( ( ch == '+' || ch == '-' ) && ( tests.digit.test(stream.peek()) ) ) { stream.eat(tests.sign); ch = stream.next(); } if ( tests.digit.test(ch) ) { stream.eat(ch); stream.eatWhile(tests.digit); if ( '.' == stream.peek() ) { stream.eat('.'); stream.eatWhile(tests.digit); } else if ('/' == stream.peek() ) { stream.eat('/'); stream.eatWhile(tests.digit); } if ( stream.eat(tests.exponent) ) { stream.eat(tests.sign); stream.eatWhile(tests.digit); } return true; } return false; } // Eat character that starts after backslash \ function eatCharacter(stream) { var first = stream.next(); // Read special literals: backspace, newline, space, return. // Just read all lowercase letters. if (first && first.match(/[a-z]/) && stream.match(/[a-z]+/, true)) { return; } // Read unicode character: \u1000 \uA0a1 if (first === "u") { stream.match(/[0-9a-z]{4}/i, true); } } return { startState: function () { return { indentStack: null, indentation: 0, mode: false }; }, token: function (stream, state) { if (state.indentStack == null && stream.sol()) { // update indentation, but only if indentStack is empty state.indentation = stream.indentation(); } // skip spaces if (state.mode != "string" && stream.eatSpace()) { return null; } var returnType = null; switch(state.mode){ case "string": // multi-line string parsing mode var next, escaped = false; while ((next = stream.next()) != null) { if (next == "\"" && !escaped) { state.mode = false; break; } escaped = !escaped && next == "\\"; } returnType = STRING; // continue on in string mode break; default: // default parsing mode var ch = stream.next(); if (ch == "\"") { state.mode = "string"; returnType = STRING; } else if (ch == "\\") { eatCharacter(stream); returnType = CHARACTER; } else if (ch == "'" && !( tests.digit_or_colon.test(stream.peek()) )) { returnType = ATOM; } else if (ch == ";") { // comment stream.skipToEnd(); // rest of the line is a comment returnType = COMMENT; } else if (isNumber(ch,stream)){ returnType = NUMBER; } else if (ch == "(" || ch == "[" || ch == "{" ) { var keyWord = '', indentTemp = stream.column(), letter; /** Either (indent-word .. (non-indent-word .. (;something else, bracket, etc. */ if (ch == "(") while ((letter = stream.eat(tests.keyword_char)) != null) { keyWord += letter; } if (keyWord.length > 0 && (indentKeys.propertyIsEnumerable(keyWord) || tests.block_indent.test(keyWord))) { // indent-word pushStack(state, indentTemp + INDENT_WORD_SKIP, ch); } else { // non-indent word // we continue eating the spaces stream.eatSpace(); if (stream.eol() || stream.peek() == ";") { // nothing significant after // we restart indentation the user defined spaces after pushStack(state, indentTemp + NORMAL_INDENT_UNIT, ch); } else { pushStack(state, indentTemp + stream.current().length, ch); // else we match } } stream.backUp(stream.current().length - 1); // undo all the eating returnType = BRACKET; } else if (ch == ")" || ch == "]" || ch == "}") { returnType = BRACKET; if (state.indentStack != null && state.indentStack.type == (ch == ")" ? "(" : (ch == "]" ? "[" :"{"))) { popStack(state); } } else if ( ch == ":" ) { stream.eatWhile(tests.symbol); return ATOM; } else { stream.eatWhile(tests.symbol); if (keywords && keywords.propertyIsEnumerable(stream.current())) { returnType = KEYWORD; } else if (builtins && builtins.propertyIsEnumerable(stream.current())) { returnType = BUILTIN; } else if (atoms && atoms.propertyIsEnumerable(stream.current())) { returnType = ATOM; } else { returnType = VAR; } } } return returnType; }, indent: function (state) { if (state.indentStack == null) return state.indentation; return state.indentStack.indent; }, closeBrackets: {pairs: "()[]{}\"\""}, lineComment: ";;" }; }); CodeMirror.defineMIME("text/x-clojure", "clojure"); CodeMirror.defineMIME("text/x-clojurescript", "clojure"); CodeMirror.defineMIME("application/edn", "clojure"); }); wp-file-manager/lib/codemirror/mode/clojure/index.html000064400000004766151202472330017032 0ustar00 CodeMirror: Clojure mode

        Clojure mode

        MIME types defined: text/x-clojure.

        wp-file-manager/lib/codemirror/mode/cmake/cmake.js000064400000005050151202472330016053 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) define(["../../lib/codemirror"], mod); else mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("cmake", function () { var variable_regex = /({)?[a-zA-Z0-9_]+(})?/; function tokenString(stream, state) { var current, prev, found_var = false; while (!stream.eol() && (current = stream.next()) != state.pending) { if (current === '$' && prev != '\\' && state.pending == '"') { found_var = true; break; } prev = current; } if (found_var) { stream.backUp(1); } if (current == state.pending) { state.continueString = false; } else { state.continueString = true; } return "string"; } function tokenize(stream, state) { var ch = stream.next(); // Have we found a variable? if (ch === '$') { if (stream.match(variable_regex)) { return 'variable-2'; } return 'variable'; } // Should we still be looking for the end of a string? if (state.continueString) { // If so, go through the loop again stream.backUp(1); return tokenString(stream, state); } // Do we just have a function on our hands? // In 'cmake_minimum_required (VERSION 2.8.8)', 'cmake_minimum_required' is matched if (stream.match(/(\s+)?\w+\(/) || stream.match(/(\s+)?\w+\ \(/)) { stream.backUp(1); return 'def'; } if (ch == "#") { stream.skipToEnd(); return "comment"; } // Have we found a string? if (ch == "'" || ch == '"') { // Store the type (single or double) state.pending = ch; // Perform the looping function to find the end return tokenString(stream, state); } if (ch == '(' || ch == ')') { return 'bracket'; } if (ch.match(/[0-9]/)) { return 'number'; } stream.eatWhile(/[\w-]/); return null; } return { startState: function () { var state = {}; state.inDefinition = false; state.inInclude = false; state.continueString = false; state.pending = false; return state; }, token: function (stream, state) { if (stream.eatSpace()) return null; return tokenize(stream, state); } }; }); CodeMirror.defineMIME("text/x-cmake", "cmake"); }); wp-file-manager/lib/codemirror/mode/cmake/index.html000064400000010070151202472330016430 0ustar00 CodeMirror: CMake mode

        CMake mode

        MIME types defined: text/x-cmake.

        wp-file-manager/lib/codemirror/mode/cobol/cobol.js000064400000024060151202472330016111 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /** * Author: Gautam Mehta * Branched from CodeMirror's Scheme mode */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("cobol", function () { var BUILTIN = "builtin", COMMENT = "comment", STRING = "string", ATOM = "atom", NUMBER = "number", KEYWORD = "keyword", MODTAG = "header", COBOLLINENUM = "def", PERIOD = "link"; function makeKeywords(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var atoms = makeKeywords("TRUE FALSE ZEROES ZEROS ZERO SPACES SPACE LOW-VALUE LOW-VALUES "); var keywords = makeKeywords( "ACCEPT ACCESS ACQUIRE ADD ADDRESS " + "ADVANCING AFTER ALIAS ALL ALPHABET " + "ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED " + "ALSO ALTER ALTERNATE AND ANY " + "ARE AREA AREAS ARITHMETIC ASCENDING " + "ASSIGN AT ATTRIBUTE AUTHOR AUTO " + "AUTO-SKIP AUTOMATIC B-AND B-EXOR B-LESS " + "B-NOT B-OR BACKGROUND-COLOR BACKGROUND-COLOUR BEEP " + "BEFORE BELL BINARY BIT BITS " + "BLANK BLINK BLOCK BOOLEAN BOTTOM " + "BY CALL CANCEL CD CF " + "CH CHARACTER CHARACTERS CLASS CLOCK-UNITS " + "CLOSE COBOL CODE CODE-SET COL " + "COLLATING COLUMN COMMA COMMIT COMMITMENT " + "COMMON COMMUNICATION COMP COMP-0 COMP-1 " + "COMP-2 COMP-3 COMP-4 COMP-5 COMP-6 " + "COMP-7 COMP-8 COMP-9 COMPUTATIONAL COMPUTATIONAL-0 " + "COMPUTATIONAL-1 COMPUTATIONAL-2 COMPUTATIONAL-3 COMPUTATIONAL-4 COMPUTATIONAL-5 " + "COMPUTATIONAL-6 COMPUTATIONAL-7 COMPUTATIONAL-8 COMPUTATIONAL-9 COMPUTE " + "CONFIGURATION CONNECT CONSOLE CONTAINED CONTAINS " + "CONTENT CONTINUE CONTROL CONTROL-AREA CONTROLS " + "CONVERTING COPY CORR CORRESPONDING COUNT " + "CRT CRT-UNDER CURRENCY CURRENT CURSOR " + "DATA DATE DATE-COMPILED DATE-WRITTEN DAY " + "DAY-OF-WEEK DB DB-ACCESS-CONTROL-KEY DB-DATA-NAME DB-EXCEPTION " + "DB-FORMAT-NAME DB-RECORD-NAME DB-SET-NAME DB-STATUS DBCS " + "DBCS-EDITED DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE " + "DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING " + "DECIMAL-POINT DECLARATIVES DEFAULT DELETE DELIMITED " + "DELIMITER DEPENDING DESCENDING DESCRIBED DESTINATION " + "DETAIL DISABLE DISCONNECT DISPLAY DISPLAY-1 " + "DISPLAY-2 DISPLAY-3 DISPLAY-4 DISPLAY-5 DISPLAY-6 " + "DISPLAY-7 DISPLAY-8 DISPLAY-9 DIVIDE DIVISION " + "DOWN DROP DUPLICATE DUPLICATES DYNAMIC " + "EBCDIC EGI EJECT ELSE EMI " + "EMPTY EMPTY-CHECK ENABLE END END. END-ACCEPT END-ACCEPT. " + "END-ADD END-CALL END-COMPUTE END-DELETE END-DISPLAY " + "END-DIVIDE END-EVALUATE END-IF END-INVOKE END-MULTIPLY " + "END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURN " + "END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT " + "END-UNSTRING END-WRITE END-XML ENTER ENTRY " + "ENVIRONMENT EOP EQUAL EQUALS ERASE " + "ERROR ESI EVALUATE EVERY EXCEEDS " + "EXCEPTION EXCLUSIVE EXIT EXTEND EXTERNAL " + "EXTERNALLY-DESCRIBED-KEY FD FETCH FILE FILE-CONTROL " + "FILE-STREAM FILES FILLER FINAL FIND " + "FINISH FIRST FOOTING FOR FOREGROUND-COLOR " + "FOREGROUND-COLOUR FORMAT FREE FROM FULL " + "FUNCTION GENERATE GET GIVING GLOBAL " + "GO GOBACK GREATER GROUP HEADING " + "HIGH-VALUE HIGH-VALUES HIGHLIGHT I-O I-O-CONTROL " + "ID IDENTIFICATION IF IN INDEX " + "INDEX-1 INDEX-2 INDEX-3 INDEX-4 INDEX-5 " + "INDEX-6 INDEX-7 INDEX-8 INDEX-9 INDEXED " + "INDIC INDICATE INDICATOR INDICATORS INITIAL " + "INITIALIZE INITIATE INPUT INPUT-OUTPUT INSPECT " + "INSTALLATION INTO INVALID INVOKE IS " + "JUST JUSTIFIED KANJI KEEP KEY " + "LABEL LAST LD LEADING LEFT " + "LEFT-JUSTIFY LENGTH LENGTH-CHECK LESS LIBRARY " + "LIKE LIMIT LIMITS LINAGE LINAGE-COUNTER " + "LINE LINE-COUNTER LINES LINKAGE LOCAL-STORAGE " + "LOCALE LOCALLY LOCK " + "MEMBER MEMORY MERGE MESSAGE METACLASS " + "MODE MODIFIED MODIFY MODULES MOVE " + "MULTIPLE MULTIPLY NATIONAL NATIVE NEGATIVE " + "NEXT NO NO-ECHO NONE NOT " + "NULL NULL-KEY-MAP NULL-MAP NULLS NUMBER " + "NUMERIC NUMERIC-EDITED OBJECT OBJECT-COMPUTER OCCURS " + "OF OFF OMITTED ON ONLY " + "OPEN OPTIONAL OR ORDER ORGANIZATION " + "OTHER OUTPUT OVERFLOW OWNER PACKED-DECIMAL " + "PADDING PAGE PAGE-COUNTER PARSE PERFORM " + "PF PH PIC PICTURE PLUS " + "POINTER POSITION POSITIVE PREFIX PRESENT " + "PRINTING PRIOR PROCEDURE PROCEDURE-POINTER PROCEDURES " + "PROCEED PROCESS PROCESSING PROGRAM PROGRAM-ID " + "PROMPT PROTECTED PURGE QUEUE QUOTE " + "QUOTES RANDOM RD READ READY " + "REALM RECEIVE RECONNECT RECORD RECORD-NAME " + "RECORDS RECURSIVE REDEFINES REEL REFERENCE " + "REFERENCE-MONITOR REFERENCES RELATION RELATIVE RELEASE " + "REMAINDER REMOVAL RENAMES REPEATED REPLACE " + "REPLACING REPORT REPORTING REPORTS REPOSITORY " + "REQUIRED RERUN RESERVE RESET RETAINING " + "RETRIEVAL RETURN RETURN-CODE RETURNING REVERSE-VIDEO " + "REVERSED REWIND REWRITE RF RH " + "RIGHT RIGHT-JUSTIFY ROLLBACK ROLLING ROUNDED " + "RUN SAME SCREEN SD SEARCH " + "SECTION SECURE SECURITY SEGMENT SEGMENT-LIMIT " + "SELECT SEND SENTENCE SEPARATE SEQUENCE " + "SEQUENTIAL SET SHARED SIGN SIZE " + "SKIP1 SKIP2 SKIP3 SORT SORT-MERGE " + "SORT-RETURN SOURCE SOURCE-COMPUTER SPACE-FILL " + "SPECIAL-NAMES STANDARD STANDARD-1 STANDARD-2 " + "START STARTING STATUS STOP STORE " + "STRING SUB-QUEUE-1 SUB-QUEUE-2 SUB-QUEUE-3 SUB-SCHEMA " + "SUBFILE SUBSTITUTE SUBTRACT SUM SUPPRESS " + "SYMBOLIC SYNC SYNCHRONIZED SYSIN SYSOUT " + "TABLE TALLYING TAPE TENANT TERMINAL " + "TERMINATE TEST TEXT THAN THEN " + "THROUGH THRU TIME TIMES TITLE " + "TO TOP TRAILING TRAILING-SIGN TRANSACTION " + "TYPE TYPEDEF UNDERLINE UNEQUAL UNIT " + "UNSTRING UNTIL UP UPDATE UPON " + "USAGE USAGE-MODE USE USING VALID " + "VALIDATE VALUE VALUES VARYING VLR " + "WAIT WHEN WHEN-COMPILED WITH WITHIN " + "WORDS WORKING-STORAGE WRITE XML XML-CODE " + "XML-EVENT XML-NTEXT XML-TEXT ZERO ZERO-FILL " ); var builtins = makeKeywords("- * ** / + < <= = > >= "); var tests = { digit: /\d/, digit_or_colon: /[\d:]/, hex: /[0-9a-f]/i, sign: /[+-]/, exponent: /e/i, keyword_char: /[^\s\(\[\;\)\]]/, symbol: /[\w*+\-]/ }; function isNumber(ch, stream){ // hex if ( ch === '0' && stream.eat(/x/i) ) { stream.eatWhile(tests.hex); return true; } // leading sign if ( ( ch == '+' || ch == '-' ) && ( tests.digit.test(stream.peek()) ) ) { stream.eat(tests.sign); ch = stream.next(); } if ( tests.digit.test(ch) ) { stream.eat(ch); stream.eatWhile(tests.digit); if ( '.' == stream.peek()) { stream.eat('.'); stream.eatWhile(tests.digit); } if ( stream.eat(tests.exponent) ) { stream.eat(tests.sign); stream.eatWhile(tests.digit); } return true; } return false; } return { startState: function () { return { indentStack: null, indentation: 0, mode: false }; }, token: function (stream, state) { if (state.indentStack == null && stream.sol()) { // update indentation, but only if indentStack is empty state.indentation = 6 ; //stream.indentation(); } // skip spaces if (stream.eatSpace()) { return null; } var returnType = null; switch(state.mode){ case "string": // multi-line string parsing mode var next = false; while ((next = stream.next()) != null) { if (next == "\"" || next == "\'") { state.mode = false; break; } } returnType = STRING; // continue on in string mode break; default: // default parsing mode var ch = stream.next(); var col = stream.column(); if (col >= 0 && col <= 5) { returnType = COBOLLINENUM; } else if (col >= 72 && col <= 79) { stream.skipToEnd(); returnType = MODTAG; } else if (ch == "*" && col == 6) { // comment stream.skipToEnd(); // rest of the line is a comment returnType = COMMENT; } else if (ch == "\"" || ch == "\'") { state.mode = "string"; returnType = STRING; } else if (ch == "'" && !( tests.digit_or_colon.test(stream.peek()) )) { returnType = ATOM; } else if (ch == ".") { returnType = PERIOD; } else if (isNumber(ch,stream)){ returnType = NUMBER; } else { if (stream.current().match(tests.symbol)) { while (col < 71) { if (stream.eat(tests.symbol) === undefined) { break; } else { col++; } } } if (keywords && keywords.propertyIsEnumerable(stream.current().toUpperCase())) { returnType = KEYWORD; } else if (builtins && builtins.propertyIsEnumerable(stream.current().toUpperCase())) { returnType = BUILTIN; } else if (atoms && atoms.propertyIsEnumerable(stream.current().toUpperCase())) { returnType = ATOM; } else returnType = null; } } return returnType; }, indent: function (state) { if (state.indentStack == null) return state.indentation; return state.indentStack.indent; } }; }); CodeMirror.defineMIME("text/x-cobol", "cobol"); }); wp-file-manager/lib/codemirror/mode/cobol/index.html000064400000017624151202472330016462 0ustar00 CodeMirror: COBOL mode

        COBOL mode

        Select Theme Select Font Size

        wp-file-manager/lib/codemirror/mode/coffeescript/coffeescript.js000064400000023234151202472330021047 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /** * Link to the project's GitHub page: * https://github.com/pickhardt/coffeescript-codemirror-mode */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("coffeescript", function(conf, parserConf) { var ERRORCLASS = "error"; function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b"); } var operators = /^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/; var delimiters = /^(?:[()\[\]{},:`=;]|\.\.?\.?)/; var identifiers = /^[_A-Za-z$][_A-Za-z$0-9]*/; var atProp = /^@[_A-Za-z$][_A-Za-z$0-9]*/; var wordOperators = wordRegexp(["and", "or", "not", "is", "isnt", "in", "instanceof", "typeof"]); var indentKeywords = ["for", "while", "loop", "if", "unless", "else", "switch", "try", "catch", "finally", "class"]; var commonKeywords = ["break", "by", "continue", "debugger", "delete", "do", "in", "of", "new", "return", "then", "this", "@", "throw", "when", "until", "extends"]; var keywords = wordRegexp(indentKeywords.concat(commonKeywords)); indentKeywords = wordRegexp(indentKeywords); var stringPrefixes = /^('{3}|\"{3}|['\"])/; var regexPrefixes = /^(\/{3}|\/)/; var commonConstants = ["Infinity", "NaN", "undefined", "null", "true", "false", "on", "off", "yes", "no"]; var constants = wordRegexp(commonConstants); // Tokenizers function tokenBase(stream, state) { // Handle scope changes if (stream.sol()) { if (state.scope.align === null) state.scope.align = false; var scopeOffset = state.scope.offset; if (stream.eatSpace()) { var lineOffset = stream.indentation(); if (lineOffset > scopeOffset && state.scope.type == "coffee") { return "indent"; } else if (lineOffset < scopeOffset) { return "dedent"; } return null; } else { if (scopeOffset > 0) { dedent(stream, state); } } } if (stream.eatSpace()) { return null; } var ch = stream.peek(); // Handle docco title comment (single line) if (stream.match("####")) { stream.skipToEnd(); return "comment"; } // Handle multi line comments if (stream.match("###")) { state.tokenize = longComment; return state.tokenize(stream, state); } // Single line comment if (ch === "#") { stream.skipToEnd(); return "comment"; } // Handle number literals if (stream.match(/^-?[0-9\.]/, false)) { var floatLiteral = false; // Floats if (stream.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)) { floatLiteral = true; } if (stream.match(/^-?\d+\.\d*/)) { floatLiteral = true; } if (stream.match(/^-?\.\d+/)) { floatLiteral = true; } if (floatLiteral) { // prevent from getting extra . on 1.. if (stream.peek() == "."){ stream.backUp(1); } return "number"; } // Integers var intLiteral = false; // Hex if (stream.match(/^-?0x[0-9a-f]+/i)) { intLiteral = true; } // Decimal if (stream.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)) { intLiteral = true; } // Zero by itself with no other piece of number. if (stream.match(/^-?0(?![\dx])/i)) { intLiteral = true; } if (intLiteral) { return "number"; } } // Handle strings if (stream.match(stringPrefixes)) { state.tokenize = tokenFactory(stream.current(), false, "string"); return state.tokenize(stream, state); } // Handle regex literals if (stream.match(regexPrefixes)) { if (stream.current() != "/" || stream.match(/^.*\//, false)) { // prevent highlight of division state.tokenize = tokenFactory(stream.current(), true, "string-2"); return state.tokenize(stream, state); } else { stream.backUp(1); } } // Handle operators and delimiters if (stream.match(operators) || stream.match(wordOperators)) { return "operator"; } if (stream.match(delimiters)) { return "punctuation"; } if (stream.match(constants)) { return "atom"; } if (stream.match(atProp) || state.prop && stream.match(identifiers)) { return "property"; } if (stream.match(keywords)) { return "keyword"; } if (stream.match(identifiers)) { return "variable"; } // Handle non-detected items stream.next(); return ERRORCLASS; } function tokenFactory(delimiter, singleline, outclass) { return function(stream, state) { while (!stream.eol()) { stream.eatWhile(/[^'"\/\\]/); if (stream.eat("\\")) { stream.next(); if (singleline && stream.eol()) { return outclass; } } else if (stream.match(delimiter)) { state.tokenize = tokenBase; return outclass; } else { stream.eat(/['"\/]/); } } if (singleline) { if (parserConf.singleLineStringErrors) { outclass = ERRORCLASS; } else { state.tokenize = tokenBase; } } return outclass; }; } function longComment(stream, state) { while (!stream.eol()) { stream.eatWhile(/[^#]/); if (stream.match("###")) { state.tokenize = tokenBase; break; } stream.eatWhile("#"); } return "comment"; } function indent(stream, state, type) { type = type || "coffee"; var offset = 0, align = false, alignOffset = null; for (var scope = state.scope; scope; scope = scope.prev) { if (scope.type === "coffee" || scope.type == "}") { offset = scope.offset + conf.indentUnit; break; } } if (type !== "coffee") { align = null; alignOffset = stream.column() + stream.current().length; } else if (state.scope.align) { state.scope.align = false; } state.scope = { offset: offset, type: type, prev: state.scope, align: align, alignOffset: alignOffset }; } function dedent(stream, state) { if (!state.scope.prev) return; if (state.scope.type === "coffee") { var _indent = stream.indentation(); var matched = false; for (var scope = state.scope; scope; scope = scope.prev) { if (_indent === scope.offset) { matched = true; break; } } if (!matched) { return true; } while (state.scope.prev && state.scope.offset !== _indent) { state.scope = state.scope.prev; } return false; } else { state.scope = state.scope.prev; return false; } } function tokenLexer(stream, state) { var style = state.tokenize(stream, state); var current = stream.current(); // Handle scope changes. if (current === "return") { state.dedent = true; } if (((current === "->" || current === "=>") && stream.eol()) || style === "indent") { indent(stream, state); } var delimiter_index = "[({".indexOf(current); if (delimiter_index !== -1) { indent(stream, state, "])}".slice(delimiter_index, delimiter_index+1)); } if (indentKeywords.exec(current)){ indent(stream, state); } if (current == "then"){ dedent(stream, state); } if (style === "dedent") { if (dedent(stream, state)) { return ERRORCLASS; } } delimiter_index = "])}".indexOf(current); if (delimiter_index !== -1) { while (state.scope.type == "coffee" && state.scope.prev) state.scope = state.scope.prev; if (state.scope.type == current) state.scope = state.scope.prev; } if (state.dedent && stream.eol()) { if (state.scope.type == "coffee" && state.scope.prev) state.scope = state.scope.prev; state.dedent = false; } return style; } var external = { startState: function(basecolumn) { return { tokenize: tokenBase, scope: {offset:basecolumn || 0, type:"coffee", prev: null, align: false}, prop: false, dedent: 0 }; }, token: function(stream, state) { var fillAlign = state.scope.align === null && state.scope; if (fillAlign && stream.sol()) fillAlign.align = false; var style = tokenLexer(stream, state); if (style && style != "comment") { if (fillAlign) fillAlign.align = true; state.prop = style == "punctuation" && stream.current() == "." } return style; }, indent: function(state, text) { if (state.tokenize != tokenBase) return 0; var scope = state.scope; var closer = text && "])}".indexOf(text.charAt(0)) > -1; if (closer) while (scope.type == "coffee" && scope.prev) scope = scope.prev; var closes = closer && scope.type === text.charAt(0); if (scope.align) return scope.alignOffset - (closes ? 1 : 0); else return (closes ? scope.prev : scope).offset; }, lineComment: "#", fold: "indent" }; return external; }); CodeMirror.defineMIME("text/x-coffeescript", "coffeescript"); CodeMirror.defineMIME("text/coffeescript", "coffeescript"); }); wp-file-manager/lib/codemirror/mode/coffeescript/index.html000064400000053602151202472330020034 0ustar00 CodeMirror: CoffeeScript mode

        CoffeeScript mode

        MIME types defined: text/x-coffeescript.

        The CoffeeScript mode was written by Jeff Pickhardt.

        wp-file-manager/lib/codemirror/mode/commonlisp/commonlisp.js000064400000010610151202472330020251 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("commonlisp", function (config) { var specialForm = /^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/; var assumeBody = /^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/; var numLiteral = /^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/; var symbol = /[^\s'`,@()\[\]";]/; var type; function readSym(stream) { var ch; while (ch = stream.next()) { if (ch == "\\") stream.next(); else if (!symbol.test(ch)) { stream.backUp(1); break; } } return stream.current(); } function base(stream, state) { if (stream.eatSpace()) {type = "ws"; return null;} if (stream.match(numLiteral)) return "number"; var ch = stream.next(); if (ch == "\\") ch = stream.next(); if (ch == '"') return (state.tokenize = inString)(stream, state); else if (ch == "(") { type = "open"; return "bracket"; } else if (ch == ")" || ch == "]") { type = "close"; return "bracket"; } else if (ch == ";") { stream.skipToEnd(); type = "ws"; return "comment"; } else if (/['`,@]/.test(ch)) return null; else if (ch == "|") { if (stream.skipTo("|")) { stream.next(); return "symbol"; } else { stream.skipToEnd(); return "error"; } } else if (ch == "#") { var ch = stream.next(); if (ch == "[") { type = "open"; return "bracket"; } else if (/[+\-=\.']/.test(ch)) return null; else if (/\d/.test(ch) && stream.match(/^\d*#/)) return null; else if (ch == "|") return (state.tokenize = inComment)(stream, state); else if (ch == ":") { readSym(stream); return "meta"; } else return "error"; } else { var name = readSym(stream); if (name == ".") return null; type = "symbol"; if (name == "nil" || name == "t" || name.charAt(0) == ":") return "atom"; if (state.lastType == "open" && (specialForm.test(name) || assumeBody.test(name))) return "keyword"; if (name.charAt(0) == "&") return "variable-2"; return "variable"; } } function inString(stream, state) { var escaped = false, next; while (next = stream.next()) { if (next == '"' && !escaped) { state.tokenize = base; break; } escaped = !escaped && next == "\\"; } return "string"; } function inComment(stream, state) { var next, last; while (next = stream.next()) { if (next == "#" && last == "|") { state.tokenize = base; break; } last = next; } type = "ws"; return "comment"; } return { startState: function () { return {ctx: {prev: null, start: 0, indentTo: 0}, lastType: null, tokenize: base}; }, token: function (stream, state) { if (stream.sol() && typeof state.ctx.indentTo != "number") state.ctx.indentTo = state.ctx.start + 1; type = null; var style = state.tokenize(stream, state); if (type != "ws") { if (state.ctx.indentTo == null) { if (type == "symbol" && assumeBody.test(stream.current())) state.ctx.indentTo = state.ctx.start + config.indentUnit; else state.ctx.indentTo = "next"; } else if (state.ctx.indentTo == "next") { state.ctx.indentTo = stream.column(); } state.lastType = type; } if (type == "open") state.ctx = {prev: state.ctx, start: stream.column(), indentTo: null}; else if (type == "close") state.ctx = state.ctx.prev || state.ctx; return style; }, indent: function (state, _textAfter) { var i = state.ctx.indentTo; return typeof i == "number" ? i : state.ctx.start + 1; }, closeBrackets: {pairs: "()[]{}\"\""}, lineComment: ";;", blockCommentStart: "#|", blockCommentEnd: "|#" }; }); CodeMirror.defineMIME("text/x-common-lisp", "commonlisp"); }); wp-file-manager/lib/codemirror/mode/commonlisp/index.html000064400000015043151202472330017535 0ustar00 CodeMirror: Common Lisp mode

        Common Lisp mode

        MIME types defined: text/x-common-lisp.

        wp-file-manager/lib/codemirror/mode/crystal/crystal.js000064400000026112151202472330017057 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("crystal", function(config) { function wordRegExp(words, end) { return new RegExp((end ? "" : "^") + "(?:" + words.join("|") + ")" + (end ? "$" : "\\b")); } function chain(tokenize, stream, state) { state.tokenize.push(tokenize); return tokenize(stream, state); } var operators = /^(?:[-+/%|&^]|\*\*?|[<>]{2})/; var conditionalOperators = /^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/; var indexingOperators = /^(?:\[\][?=]?)/; var anotherOperators = /^(?:\.(?:\.{2})?|->|[?:])/; var idents = /^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/; var types = /^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/; var keywords = wordRegExp([ "abstract", "alias", "as", "asm", "begin", "break", "case", "class", "def", "do", "else", "elsif", "end", "ensure", "enum", "extend", "for", "fun", "if", "ifdef", "include", "instance_sizeof", "lib", "macro", "module", "next", "of", "out", "pointerof", "private", "protected", "rescue", "return", "require", "sizeof", "struct", "super", "then", "type", "typeof", "union", "unless", "until", "when", "while", "with", "yield", "__DIR__", "__FILE__", "__LINE__" ]); var atomWords = wordRegExp(["true", "false", "nil", "self"]); var indentKeywordsArray = [ "def", "fun", "macro", "class", "module", "struct", "lib", "enum", "union", "if", "unless", "case", "while", "until", "begin", "then", "do", "for", "ifdef" ]; var indentKeywords = wordRegExp(indentKeywordsArray); var dedentKeywordsArray = [ "end", "else", "elsif", "rescue", "ensure" ]; var dedentKeywords = wordRegExp(dedentKeywordsArray); var dedentPunctualsArray = ["\\)", "\\}", "\\]"]; var dedentPunctuals = new RegExp("^(?:" + dedentPunctualsArray.join("|") + ")$"); var nextTokenizer = { "def": tokenFollowIdent, "fun": tokenFollowIdent, "macro": tokenMacroDef, "class": tokenFollowType, "module": tokenFollowType, "struct": tokenFollowType, "lib": tokenFollowType, "enum": tokenFollowType, "union": tokenFollowType }; var matching = {"[": "]", "{": "}", "(": ")", "<": ">"}; function tokenBase(stream, state) { if (stream.eatSpace()) { return null; } // Macros if (state.lastToken != "\\" && stream.match("{%", false)) { return chain(tokenMacro("%", "%"), stream, state); } if (state.lastToken != "\\" && stream.match("{{", false)) { return chain(tokenMacro("{", "}"), stream, state); } // Comments if (stream.peek() == "#") { stream.skipToEnd(); return "comment"; } // Variables and keywords var matched; if (stream.match(idents)) { stream.eat(/[?!]/); matched = stream.current(); if (stream.eat(":")) { return "atom"; } else if (state.lastToken == ".") { return "property"; } else if (keywords.test(matched)) { if (state.lastToken != "abstract" && indentKeywords.test(matched)) { if (!(matched == "fun" && state.blocks.indexOf("lib") >= 0)) { state.blocks.push(matched); state.currentIndent += 1; } } else if (dedentKeywords.test(matched)) { state.blocks.pop(); state.currentIndent -= 1; } if (nextTokenizer.hasOwnProperty(matched)) { state.tokenize.push(nextTokenizer[matched]); } return "keyword"; } else if (atomWords.test(matched)) { return "atom"; } return "variable"; } // Class variables and instance variables // or attributes if (stream.eat("@")) { if (stream.peek() == "[") { return chain(tokenNest("[", "]", "meta"), stream, state); } stream.eat("@"); stream.match(idents) || stream.match(types); return "variable-2"; } // Global variables if (stream.eat("$")) { stream.eat(/[0-9]+|\?/) || stream.match(idents) || stream.match(types); return "variable-3"; } // Constants and types if (stream.match(types)) { return "tag"; } // Symbols or ':' operator if (stream.eat(":")) { if (stream.eat("\"")) { return chain(tokenQuote("\"", "atom", false), stream, state); } else if (stream.match(idents) || stream.match(types) || stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators)) { return "atom"; } stream.eat(":"); return "operator"; } // Strings if (stream.eat("\"")) { return chain(tokenQuote("\"", "string", true), stream, state); } // Strings or regexps or macro variables or '%' operator if (stream.peek() == "%") { var style = "string"; var embed = true; var delim; if (stream.match("%r")) { // Regexps style = "string-2"; delim = stream.next(); } else if (stream.match("%w")) { embed = false; delim = stream.next(); } else { if(delim = stream.match(/^%([^\w\s=])/)) { delim = delim[1]; } else if (stream.match(/^%[a-zA-Z0-9_\u009F-\uFFFF]*/)) { // Macro variables return "meta"; } else { // '%' operator return "operator"; } } if (matching.hasOwnProperty(delim)) { delim = matching[delim]; } return chain(tokenQuote(delim, style, embed), stream, state); } // Characters if (stream.eat("'")) { stream.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/); stream.eat("'"); return "atom"; } // Numbers if (stream.eat("0")) { if (stream.eat("x")) { stream.match(/^[0-9a-fA-F]+/); } else if (stream.eat("o")) { stream.match(/^[0-7]+/); } else if (stream.eat("b")) { stream.match(/^[01]+/); } return "number"; } if (stream.eat(/\d/)) { stream.match(/^\d*(?:\.\d+)?(?:[eE][+-]?\d+)?/); return "number"; } // Operators if (stream.match(operators)) { stream.eat("="); // Operators can follow assign symbol. return "operator"; } if (stream.match(conditionalOperators) || stream.match(anotherOperators)) { return "operator"; } // Parens and braces if (matched = stream.match(/[({[]/, false)) { matched = matched[0]; return chain(tokenNest(matched, matching[matched], null), stream, state); } // Escapes if (stream.eat("\\")) { stream.next(); return "meta"; } stream.next(); return null; } function tokenNest(begin, end, style, started) { return function (stream, state) { if (!started && stream.match(begin)) { state.tokenize[state.tokenize.length - 1] = tokenNest(begin, end, style, true); state.currentIndent += 1; return style; } var nextStyle = tokenBase(stream, state); if (stream.current() === end) { state.tokenize.pop(); state.currentIndent -= 1; nextStyle = style; } return nextStyle; }; } function tokenMacro(begin, end, started) { return function (stream, state) { if (!started && stream.match("{" + begin)) { state.currentIndent += 1; state.tokenize[state.tokenize.length - 1] = tokenMacro(begin, end, true); return "meta"; } if (stream.match(end + "}")) { state.currentIndent -= 1; state.tokenize.pop(); return "meta"; } return tokenBase(stream, state); }; } function tokenMacroDef(stream, state) { if (stream.eatSpace()) { return null; } var matched; if (matched = stream.match(idents)) { if (matched == "def") { return "keyword"; } stream.eat(/[?!]/); } state.tokenize.pop(); return "def"; } function tokenFollowIdent(stream, state) { if (stream.eatSpace()) { return null; } if (stream.match(idents)) { stream.eat(/[!?]/); } else { stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators); } state.tokenize.pop(); return "def"; } function tokenFollowType(stream, state) { if (stream.eatSpace()) { return null; } stream.match(types); state.tokenize.pop(); return "def"; } function tokenQuote(end, style, embed) { return function (stream, state) { var escaped = false; while (stream.peek()) { if (!escaped) { if (stream.match("{%", false)) { state.tokenize.push(tokenMacro("%", "%")); return style; } if (stream.match("{{", false)) { state.tokenize.push(tokenMacro("{", "}")); return style; } if (embed && stream.match("#{", false)) { state.tokenize.push(tokenNest("#{", "}", "meta")); return style; } var ch = stream.next(); if (ch == end) { state.tokenize.pop(); return style; } escaped = ch == "\\"; } else { stream.next(); escaped = false; } } return style; }; } return { startState: function () { return { tokenize: [tokenBase], currentIndent: 0, lastToken: null, blocks: [] }; }, token: function (stream, state) { var style = state.tokenize[state.tokenize.length - 1](stream, state); var token = stream.current(); if (style && style != "comment") { state.lastToken = token; } return style; }, indent: function (state, textAfter) { textAfter = textAfter.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g, ""); if (dedentKeywords.test(textAfter) || dedentPunctuals.test(textAfter)) { return config.indentUnit * (state.currentIndent - 1); } return config.indentUnit * state.currentIndent; }, fold: "indent", electricInput: wordRegExp(dedentPunctualsArray.concat(dedentKeywordsArray), true), lineComment: '#' }; }); CodeMirror.defineMIME("text/x-crystal", "crystal"); }); wp-file-manager/lib/codemirror/mode/crystal/index.html000064400000005147151202472330017042 0ustar00 CodeMirror: Crystal mode

        Crystal mode

        MIME types defined: text/x-crystal.

        wp-file-manager/lib/codemirror/mode/css/css.js000064400000110535151202472330015300 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("css", function(config, parserConfig) { var inline = parserConfig.inline if (!parserConfig.propertyKeywords) parserConfig = CodeMirror.resolveMode("text/css"); var indentUnit = config.indentUnit, tokenHooks = parserConfig.tokenHooks, documentTypes = parserConfig.documentTypes || {}, mediaTypes = parserConfig.mediaTypes || {}, mediaFeatures = parserConfig.mediaFeatures || {}, mediaValueKeywords = parserConfig.mediaValueKeywords || {}, propertyKeywords = parserConfig.propertyKeywords || {}, nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {}, fontProperties = parserConfig.fontProperties || {}, counterDescriptors = parserConfig.counterDescriptors || {}, colorKeywords = parserConfig.colorKeywords || {}, valueKeywords = parserConfig.valueKeywords || {}, allowNested = parserConfig.allowNested, supportsAtComponent = parserConfig.supportsAtComponent === true; var type, override; function ret(style, tp) { type = tp; return style; } // Tokenizers function tokenBase(stream, state) { var ch = stream.next(); if (tokenHooks[ch]) { var result = tokenHooks[ch](stream, state); if (result !== false) return result; } if (ch == "@") { stream.eatWhile(/[\w\\\-]/); return ret("def", stream.current()); } else if (ch == "=" || (ch == "~" || ch == "|") && stream.eat("=")) { return ret(null, "compare"); } else if (ch == "\"" || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } else if (ch == "#") { stream.eatWhile(/[\w\\\-]/); return ret("atom", "hash"); } else if (ch == "!") { stream.match(/^\s*\w*/); return ret("keyword", "important"); } else if (/\d/.test(ch) || ch == "." && stream.eat(/\d/)) { stream.eatWhile(/[\w.%]/); return ret("number", "unit"); } else if (ch === "-") { if (/[\d.]/.test(stream.peek())) { stream.eatWhile(/[\w.%]/); return ret("number", "unit"); } else if (stream.match(/^-[\w\\\-]+/)) { stream.eatWhile(/[\w\\\-]/); if (stream.match(/^\s*:/, false)) return ret("variable-2", "variable-definition"); return ret("variable-2", "variable"); } else if (stream.match(/^\w+-/)) { return ret("meta", "meta"); } } else if (/[,+>*\/]/.test(ch)) { return ret(null, "select-op"); } else if (ch == "." && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) { return ret("qualifier", "qualifier"); } else if (/[:;{}\[\]\(\)]/.test(ch)) { return ret(null, ch); } else if ((ch == "u" && stream.match(/rl(-prefix)?\(/)) || (ch == "d" && stream.match("omain(")) || (ch == "r" && stream.match("egexp("))) { stream.backUp(1); state.tokenize = tokenParenthesized; return ret("property", "word"); } else if (/[\w\\\-]/.test(ch)) { stream.eatWhile(/[\w\\\-]/); return ret("property", "word"); } else { return ret(null, null); } } function tokenString(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) { if (quote == ")") stream.backUp(1); break; } escaped = !escaped && ch == "\\"; } if (ch == quote || !escaped && quote != ")") state.tokenize = null; return ret("string", "string"); }; } function tokenParenthesized(stream, state) { stream.next(); // Must be '(' if (!stream.match(/\s*[\"\')]/, false)) state.tokenize = tokenString(")"); else state.tokenize = null; return ret(null, "("); } // Context management function Context(type, indent, prev) { this.type = type; this.indent = indent; this.prev = prev; } function pushContext(state, stream, type, indent) { state.context = new Context(type, stream.indentation() + (indent === false ? 0 : indentUnit), state.context); return type; } function popContext(state) { if (state.context.prev) state.context = state.context.prev; return state.context.type; } function pass(type, stream, state) { return states[state.context.type](type, stream, state); } function popAndPass(type, stream, state, n) { for (var i = n || 1; i > 0; i--) state.context = state.context.prev; return pass(type, stream, state); } // Parser function wordAsValue(stream) { var word = stream.current().toLowerCase(); if (valueKeywords.hasOwnProperty(word)) override = "atom"; else if (colorKeywords.hasOwnProperty(word)) override = "keyword"; else override = "variable"; } var states = {}; states.top = function(type, stream, state) { if (type == "{") { return pushContext(state, stream, "block"); } else if (type == "}" && state.context.prev) { return popContext(state); } else if (supportsAtComponent && /@component/.test(type)) { return pushContext(state, stream, "atComponentBlock"); } else if (/^@(-moz-)?document$/.test(type)) { return pushContext(state, stream, "documentTypes"); } else if (/^@(media|supports|(-moz-)?document|import)$/.test(type)) { return pushContext(state, stream, "atBlock"); } else if (/^@(font-face|counter-style)/.test(type)) { state.stateArg = type; return "restricted_atBlock_before"; } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/.test(type)) { return "keyframes"; } else if (type && type.charAt(0) == "@") { return pushContext(state, stream, "at"); } else if (type == "hash") { override = "builtin"; } else if (type == "word") { override = "tag"; } else if (type == "variable-definition") { return "maybeprop"; } else if (type == "interpolation") { return pushContext(state, stream, "interpolation"); } else if (type == ":") { return "pseudo"; } else if (allowNested && type == "(") { return pushContext(state, stream, "parens"); } return state.context.type; }; states.block = function(type, stream, state) { if (type == "word") { var word = stream.current().toLowerCase(); if (propertyKeywords.hasOwnProperty(word)) { override = "property"; return "maybeprop"; } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) { override = "string-2"; return "maybeprop"; } else if (allowNested) { override = stream.match(/^\s*:(?:\s|$)/, false) ? "property" : "tag"; return "block"; } else { override += " error"; return "maybeprop"; } } else if (type == "meta") { return "block"; } else if (!allowNested && (type == "hash" || type == "qualifier")) { override = "error"; return "block"; } else { return states.top(type, stream, state); } }; states.maybeprop = function(type, stream, state) { if (type == ":") return pushContext(state, stream, "prop"); return pass(type, stream, state); }; states.prop = function(type, stream, state) { if (type == ";") return popContext(state); if (type == "{" && allowNested) return pushContext(state, stream, "propBlock"); if (type == "}" || type == "{") return popAndPass(type, stream, state); if (type == "(") return pushContext(state, stream, "parens"); if (type == "hash" && !/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(stream.current())) { override += " error"; } else if (type == "word") { wordAsValue(stream); } else if (type == "interpolation") { return pushContext(state, stream, "interpolation"); } return "prop"; }; states.propBlock = function(type, _stream, state) { if (type == "}") return popContext(state); if (type == "word") { override = "property"; return "maybeprop"; } return state.context.type; }; states.parens = function(type, stream, state) { if (type == "{" || type == "}") return popAndPass(type, stream, state); if (type == ")") return popContext(state); if (type == "(") return pushContext(state, stream, "parens"); if (type == "interpolation") return pushContext(state, stream, "interpolation"); if (type == "word") wordAsValue(stream); return "parens"; }; states.pseudo = function(type, stream, state) { if (type == "word") { override = "variable-3"; return state.context.type; } return pass(type, stream, state); }; states.documentTypes = function(type, stream, state) { if (type == "word" && documentTypes.hasOwnProperty(stream.current())) { override = "tag"; return state.context.type; } else { return states.atBlock(type, stream, state); } }; states.atBlock = function(type, stream, state) { if (type == "(") return pushContext(state, stream, "atBlock_parens"); if (type == "}" || type == ";") return popAndPass(type, stream, state); if (type == "{") return popContext(state) && pushContext(state, stream, allowNested ? "block" : "top"); if (type == "interpolation") return pushContext(state, stream, "interpolation"); if (type == "word") { var word = stream.current().toLowerCase(); if (word == "only" || word == "not" || word == "and" || word == "or") override = "keyword"; else if (mediaTypes.hasOwnProperty(word)) override = "attribute"; else if (mediaFeatures.hasOwnProperty(word)) override = "property"; else if (mediaValueKeywords.hasOwnProperty(word)) override = "keyword"; else if (propertyKeywords.hasOwnProperty(word)) override = "property"; else if (nonStandardPropertyKeywords.hasOwnProperty(word)) override = "string-2"; else if (valueKeywords.hasOwnProperty(word)) override = "atom"; else if (colorKeywords.hasOwnProperty(word)) override = "keyword"; else override = "error"; } return state.context.type; }; states.atComponentBlock = function(type, stream, state) { if (type == "}") return popAndPass(type, stream, state); if (type == "{") return popContext(state) && pushContext(state, stream, allowNested ? "block" : "top", false); if (type == "word") override = "error"; return state.context.type; }; states.atBlock_parens = function(type, stream, state) { if (type == ")") return popContext(state); if (type == "{" || type == "}") return popAndPass(type, stream, state, 2); return states.atBlock(type, stream, state); }; states.restricted_atBlock_before = function(type, stream, state) { if (type == "{") return pushContext(state, stream, "restricted_atBlock"); if (type == "word" && state.stateArg == "@counter-style") { override = "variable"; return "restricted_atBlock_before"; } return pass(type, stream, state); }; states.restricted_atBlock = function(type, stream, state) { if (type == "}") { state.stateArg = null; return popContext(state); } if (type == "word") { if ((state.stateArg == "@font-face" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) || (state.stateArg == "@counter-style" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase()))) override = "error"; else override = "property"; return "maybeprop"; } return "restricted_atBlock"; }; states.keyframes = function(type, stream, state) { if (type == "word") { override = "variable"; return "keyframes"; } if (type == "{") return pushContext(state, stream, "top"); return pass(type, stream, state); }; states.at = function(type, stream, state) { if (type == ";") return popContext(state); if (type == "{" || type == "}") return popAndPass(type, stream, state); if (type == "word") override = "tag"; else if (type == "hash") override = "builtin"; return "at"; }; states.interpolation = function(type, stream, state) { if (type == "}") return popContext(state); if (type == "{" || type == ";") return popAndPass(type, stream, state); if (type == "word") override = "variable"; else if (type != "variable" && type != "(" && type != ")") override = "error"; return "interpolation"; }; return { startState: function(base) { return {tokenize: null, state: inline ? "block" : "top", stateArg: null, context: new Context(inline ? "block" : "top", base || 0, null)}; }, token: function(stream, state) { if (!state.tokenize && stream.eatSpace()) return null; var style = (state.tokenize || tokenBase)(stream, state); if (style && typeof style == "object") { type = style[1]; style = style[0]; } override = style; state.state = states[state.state](type, stream, state); return override; }, indent: function(state, textAfter) { var cx = state.context, ch = textAfter && textAfter.charAt(0); var indent = cx.indent; if (cx.type == "prop" && (ch == "}" || ch == ")")) cx = cx.prev; if (cx.prev) { if (ch == "}" && (cx.type == "block" || cx.type == "top" || cx.type == "interpolation" || cx.type == "restricted_atBlock")) { // Resume indentation from parent context. cx = cx.prev; indent = cx.indent; } else if (ch == ")" && (cx.type == "parens" || cx.type == "atBlock_parens") || ch == "{" && (cx.type == "at" || cx.type == "atBlock")) { // Dedent relative to current context. indent = Math.max(0, cx.indent - indentUnit); cx = cx.prev; } } return indent; }, electricChars: "}", blockCommentStart: "/*", blockCommentEnd: "*/", fold: "brace" }; }); function keySet(array) { var keys = {}; for (var i = 0; i < array.length; ++i) { keys[array[i]] = true; } return keys; } var documentTypes_ = [ "domain", "regexp", "url", "url-prefix" ], documentTypes = keySet(documentTypes_); var mediaTypes_ = [ "all", "aural", "braille", "handheld", "print", "projection", "screen", "tty", "tv", "embossed" ], mediaTypes = keySet(mediaTypes_); var mediaFeatures_ = [ "width", "min-width", "max-width", "height", "min-height", "max-height", "device-width", "min-device-width", "max-device-width", "device-height", "min-device-height", "max-device-height", "aspect-ratio", "min-aspect-ratio", "max-aspect-ratio", "device-aspect-ratio", "min-device-aspect-ratio", "max-device-aspect-ratio", "color", "min-color", "max-color", "color-index", "min-color-index", "max-color-index", "monochrome", "min-monochrome", "max-monochrome", "resolution", "min-resolution", "max-resolution", "scan", "grid", "orientation", "device-pixel-ratio", "min-device-pixel-ratio", "max-device-pixel-ratio", "pointer", "any-pointer", "hover", "any-hover" ], mediaFeatures = keySet(mediaFeatures_); var mediaValueKeywords_ = [ "landscape", "portrait", "none", "coarse", "fine", "on-demand", "hover", "interlace", "progressive" ], mediaValueKeywords = keySet(mediaValueKeywords_); var propertyKeywords_ = [ "align-content", "align-items", "align-self", "alignment-adjust", "alignment-baseline", "anchor-point", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "appearance", "azimuth", "backface-visibility", "background", "background-attachment", "background-blend-mode", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "baseline-shift", "binding", "bleed", "bookmark-label", "bookmark-level", "bookmark-state", "bookmark-target", "border", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "clear", "clip", "color", "color-profile", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "content", "counter-increment", "counter-reset", "crop", "cue", "cue-after", "cue-before", "cursor", "direction", "display", "dominant-baseline", "drop-initial-after-adjust", "drop-initial-after-align", "drop-initial-before-adjust", "drop-initial-before-align", "drop-initial-size", "drop-initial-value", "elevation", "empty-cells", "fit", "fit-position", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "float-offset", "flow-from", "flow-into", "font", "font-feature-settings", "font-family", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-synthesis", "font-variant", "font-variant-alternates", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-weight", "grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-gap", "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-gap", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "hanging-punctuation", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "inline-box-align", "justify-content", "left", "letter-spacing", "line-break", "line-height", "line-stacking", "line-stacking-ruby", "line-stacking-shift", "line-stacking-strategy", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marker-offset", "marks", "marquee-direction", "marquee-loop", "marquee-play-count", "marquee-speed", "marquee-style", "max-height", "max-width", "min-height", "min-width", "move-to", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-style", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "page", "page-break-after", "page-break-before", "page-break-inside", "page-policy", "pause", "pause-after", "pause-before", "perspective", "perspective-origin", "pitch", "pitch-range", "play-during", "position", "presentation-level", "punctuation-trim", "quotes", "region-break-after", "region-break-before", "region-break-inside", "region-fragment", "rendering-intent", "resize", "rest", "rest-after", "rest-before", "richness", "right", "rotation", "rotation-point", "ruby-align", "ruby-overhang", "ruby-position", "ruby-span", "shape-image-threshold", "shape-inside", "shape-margin", "shape-outside", "size", "speak", "speak-as", "speak-header", "speak-numeral", "speak-punctuation", "speech-rate", "stress", "string-set", "tab-size", "table-layout", "target", "target-name", "target-new", "target-position", "text-align", "text-align-last", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-skip", "text-decoration-style", "text-emphasis", "text-emphasis-color", "text-emphasis-position", "text-emphasis-style", "text-height", "text-indent", "text-justify", "text-outline", "text-overflow", "text-shadow", "text-size-adjust", "text-space-collapse", "text-transform", "text-underline-position", "text-wrap", "top", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", "voice-balance", "voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate", "voice-stress", "voice-volume", "volume", "white-space", "widows", "width", "word-break", "word-spacing", "word-wrap", "z-index", // SVG-specific "clip-path", "clip-rule", "mask", "enable-background", "filter", "flood-color", "flood-opacity", "lighting-color", "stop-color", "stop-opacity", "pointer-events", "color-interpolation", "color-interpolation-filters", "color-rendering", "fill", "fill-opacity", "fill-rule", "image-rendering", "marker", "marker-end", "marker-mid", "marker-start", "shape-rendering", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "text-rendering", "baseline-shift", "dominant-baseline", "glyph-orientation-horizontal", "glyph-orientation-vertical", "text-anchor", "writing-mode" ], propertyKeywords = keySet(propertyKeywords_); var nonStandardPropertyKeywords_ = [ "scrollbar-arrow-color", "scrollbar-base-color", "scrollbar-dark-shadow-color", "scrollbar-face-color", "scrollbar-highlight-color", "scrollbar-shadow-color", "scrollbar-3d-light-color", "scrollbar-track-color", "shape-inside", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button", "searchfield-results-decoration", "zoom" ], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_); var fontProperties_ = [ "font-family", "src", "unicode-range", "font-variant", "font-feature-settings", "font-stretch", "font-weight", "font-style" ], fontProperties = keySet(fontProperties_); var counterDescriptors_ = [ "additive-symbols", "fallback", "negative", "pad", "prefix", "range", "speak-as", "suffix", "symbols", "system" ], counterDescriptors = keySet(counterDescriptors_); var colorKeywords_ = [ "aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "grey", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen" ], colorKeywords = keySet(colorKeywords_); var valueKeywords_ = [ "above", "absolute", "activeborder", "additive", "activecaption", "afar", "after-white-space", "ahead", "alias", "all", "all-scroll", "alphabetic", "alternate", "always", "amharic", "amharic-abegede", "antialiased", "appworkspace", "arabic-indic", "armenian", "asterisks", "attr", "auto", "avoid", "avoid-column", "avoid-page", "avoid-region", "background", "backwards", "baseline", "below", "bidi-override", "binary", "bengali", "blink", "block", "block-axis", "bold", "bolder", "border", "border-box", "both", "bottom", "break", "break-all", "break-word", "bullets", "button", "button-bevel", "buttonface", "buttonhighlight", "buttonshadow", "buttontext", "calc", "cambodian", "capitalize", "caps-lock-indicator", "caption", "captiontext", "caret", "cell", "center", "checkbox", "circle", "cjk-decimal", "cjk-earthly-branch", "cjk-heavenly-stem", "cjk-ideographic", "clear", "clip", "close-quote", "col-resize", "collapse", "color", "color-burn", "color-dodge", "column", "column-reverse", "compact", "condensed", "contain", "content", "content-box", "context-menu", "continuous", "copy", "counter", "counters", "cover", "crop", "cross", "crosshair", "currentcolor", "cursive", "cyclic", "darken", "dashed", "decimal", "decimal-leading-zero", "default", "default-button", "dense", "destination-atop", "destination-in", "destination-out", "destination-over", "devanagari", "difference", "disc", "discard", "disclosure-closed", "disclosure-open", "document", "dot-dash", "dot-dot-dash", "dotted", "double", "down", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out", "element", "ellipse", "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede", "ethiopic-abegede-am-et", "ethiopic-abegede-gez", "ethiopic-abegede-ti-er", "ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er", "ethiopic-halehame-aa-et", "ethiopic-halehame-am-et", "ethiopic-halehame-gez", "ethiopic-halehame-om-et", "ethiopic-halehame-sid-et", "ethiopic-halehame-so-et", "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig", "ethiopic-numeric", "ew-resize", "exclusion", "expanded", "extends", "extra-condensed", "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "flex", "flex-end", "flex-start", "footnotes", "forwards", "from", "geometricPrecision", "georgian", "graytext", "grid", "groove", "gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hard-light", "hebrew", "help", "hidden", "hide", "higher", "highlight", "highlighttext", "hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "hue", "icon", "ignore", "inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline", "inline-axis", "inline-block", "inline-flex", "inline-grid", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "japanese-formal", "japanese-informal", "justify", "kannada", "katakana", "katakana-iroha", "keep-all", "khmer", "korean-hangul-formal", "korean-hanja-formal", "korean-hanja-informal", "landscape", "lao", "large", "larger", "left", "level", "lighter", "lighten", "line-through", "linear", "linear-gradient", "lines", "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek", "lower-hexadecimal", "lower-latin", "lower-norwegian", "lower-roman", "lowercase", "ltr", "luminosity", "malayalam", "match", "matrix", "matrix3d", "media-controls-background", "media-current-time-display", "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button", "media-rewind-button", "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display", "media-volume-slider", "media-volume-slider-container", "media-volume-sliderthumb", "medium", "menu", "menulist", "menulist-button", "menulist-text", "menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic", "mix", "mongolian", "monospace", "move", "multiple", "multiply", "myanmar", "n-resize", "narrower", "ne-resize", "nesw-resize", "no-close-quote", "no-drop", "no-open-quote", "no-repeat", "none", "normal", "not-allowed", "nowrap", "ns-resize", "numbers", "numeric", "nw-resize", "nwse-resize", "oblique", "octal", "open-quote", "optimizeLegibility", "optimizeSpeed", "oriya", "oromo", "outset", "outside", "outside-shape", "overlay", "overline", "padding", "padding-box", "painted", "page", "paused", "persian", "perspective", "plus-darker", "plus-lighter", "pointer", "polygon", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d", "progress", "push-button", "radial-gradient", "radio", "read-only", "read-write", "read-write-plaintext-only", "rectangle", "region", "relative", "repeat", "repeating-linear-gradient", "repeating-radial-gradient", "repeat-x", "repeat-y", "reset", "reverse", "rgb", "rgba", "ridge", "right", "rotate", "rotate3d", "rotateX", "rotateY", "rotateZ", "round", "row", "row-resize", "row-reverse", "rtl", "run-in", "running", "s-resize", "sans-serif", "saturation", "scale", "scale3d", "scaleX", "scaleY", "scaleZ", "screen", "scroll", "scrollbar", "se-resize", "searchfield", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button", "searchfield-results-decoration", "semi-condensed", "semi-expanded", "separate", "serif", "show", "sidama", "simp-chinese-formal", "simp-chinese-informal", "single", "skew", "skewX", "skewY", "skip-white-space", "slide", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow", "small", "small-caps", "small-caption", "smaller", "soft-light", "solid", "somali", "source-atop", "source-in", "source-out", "source-over", "space", "space-around", "space-between", "spell-out", "square", "square-button", "start", "static", "status-bar", "stretch", "stroke", "sub", "subpixel-antialiased", "super", "sw-resize", "symbolic", "symbols", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row", "table-row-group", "tamil", "telugu", "text", "text-bottom", "text-top", "textarea", "textfield", "thai", "thick", "thin", "threeddarkshadow", "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "tibetan", "tigre", "tigrinya-er", "tigrinya-er-abegede", "tigrinya-et", "tigrinya-et-abegede", "to", "top", "trad-chinese-formal", "trad-chinese-informal", "translate", "translate3d", "translateX", "translateY", "translateZ", "transparent", "ultra-condensed", "ultra-expanded", "underline", "up", "upper-alpha", "upper-armenian", "upper-greek", "upper-hexadecimal", "upper-latin", "upper-norwegian", "upper-roman", "uppercase", "urdu", "url", "var", "vertical", "vertical-text", "visible", "visibleFill", "visiblePainted", "visibleStroke", "visual", "w-resize", "wait", "wave", "wider", "window", "windowframe", "windowtext", "words", "wrap", "wrap-reverse", "x-large", "x-small", "xor", "xx-large", "xx-small" ], valueKeywords = keySet(valueKeywords_); var allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_) .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_) .concat(valueKeywords_); CodeMirror.registerHelper("hintWords", "css", allWords); function tokenCComment(stream, state) { var maybeEnd = false, ch; while ((ch = stream.next()) != null) { if (maybeEnd && ch == "/") { state.tokenize = null; break; } maybeEnd = (ch == "*"); } return ["comment", "comment"]; } CodeMirror.defineMIME("text/css", { documentTypes: documentTypes, mediaTypes: mediaTypes, mediaFeatures: mediaFeatures, mediaValueKeywords: mediaValueKeywords, propertyKeywords: propertyKeywords, nonStandardPropertyKeywords: nonStandardPropertyKeywords, fontProperties: fontProperties, counterDescriptors: counterDescriptors, colorKeywords: colorKeywords, valueKeywords: valueKeywords, tokenHooks: { "/": function(stream, state) { if (!stream.eat("*")) return false; state.tokenize = tokenCComment; return tokenCComment(stream, state); } }, name: "css" }); CodeMirror.defineMIME("text/x-scss", { mediaTypes: mediaTypes, mediaFeatures: mediaFeatures, mediaValueKeywords: mediaValueKeywords, propertyKeywords: propertyKeywords, nonStandardPropertyKeywords: nonStandardPropertyKeywords, colorKeywords: colorKeywords, valueKeywords: valueKeywords, fontProperties: fontProperties, allowNested: true, tokenHooks: { "/": function(stream, state) { if (stream.eat("/")) { stream.skipToEnd(); return ["comment", "comment"]; } else if (stream.eat("*")) { state.tokenize = tokenCComment; return tokenCComment(stream, state); } else { return ["operator", "operator"]; } }, ":": function(stream) { if (stream.match(/\s*\{/)) return [null, "{"]; return false; }, "$": function(stream) { stream.match(/^[\w-]+/); if (stream.match(/^\s*:/, false)) return ["variable-2", "variable-definition"]; return ["variable-2", "variable"]; }, "#": function(stream) { if (!stream.eat("{")) return false; return [null, "interpolation"]; } }, name: "css", helperType: "scss" }); CodeMirror.defineMIME("text/x-less", { mediaTypes: mediaTypes, mediaFeatures: mediaFeatures, mediaValueKeywords: mediaValueKeywords, propertyKeywords: propertyKeywords, nonStandardPropertyKeywords: nonStandardPropertyKeywords, colorKeywords: colorKeywords, valueKeywords: valueKeywords, fontProperties: fontProperties, allowNested: true, tokenHooks: { "/": function(stream, state) { if (stream.eat("/")) { stream.skipToEnd(); return ["comment", "comment"]; } else if (stream.eat("*")) { state.tokenize = tokenCComment; return tokenCComment(stream, state); } else { return ["operator", "operator"]; } }, "@": function(stream) { if (stream.eat("{")) return [null, "interpolation"]; if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/, false)) return false; stream.eatWhile(/[\w\\\-]/); if (stream.match(/^\s*:/, false)) return ["variable-2", "variable-definition"]; return ["variable-2", "variable"]; }, "&": function() { return ["atom", "atom"]; } }, name: "css", helperType: "less" }); CodeMirror.defineMIME("text/x-gss", { documentTypes: documentTypes, mediaTypes: mediaTypes, mediaFeatures: mediaFeatures, propertyKeywords: propertyKeywords, nonStandardPropertyKeywords: nonStandardPropertyKeywords, fontProperties: fontProperties, counterDescriptors: counterDescriptors, colorKeywords: colorKeywords, valueKeywords: valueKeywords, supportsAtComponent: true, tokenHooks: { "/": function(stream, state) { if (!stream.eat("*")) return false; state.tokenize = tokenCComment; return tokenCComment(stream, state); } }, name: "css", helperType: "gss" }); }); wp-file-manager/lib/codemirror/mode/css/gss.html000064400000005334151202472330015634 0ustar00 CodeMirror: Closure Stylesheets (GSS) mode

        Closure Stylesheets (GSS) mode

        A mode for Closure Stylesheets (GSS).

        MIME type defined: text/x-gss.

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/css/gss_test.js000064400000000714151202472330016340 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { "use strict"; var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-gss"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "gss"); } MT("atComponent", "[def @component] {", "[tag foo] {", " [property color]: [keyword black];", "}", "}"); })(); wp-file-manager/lib/codemirror/mode/css/index.html000064400000003570151202472330016147 0ustar00 CodeMirror: CSS mode

        CSS mode

        MIME types defined: text/css, text/x-scss (demo), text/x-less (demo).

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/css/less.html000064400000007742151202472330016013 0ustar00 CodeMirror: LESS mode

        LESS mode

        The LESS mode is a sub-mode of the CSS mode (defined in css.js).

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/css/less_test.js000064400000003517151202472330016516 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { "use strict"; var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-less"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "less"); } MT("variable", "[variable-2 @base]: [atom #f04615];", "[qualifier .class] {", " [property width]: [variable percentage]([number 0.5]); [comment // returns `50%`]", " [property color]: [variable saturate]([variable-2 @base], [number 5%]);", "}"); MT("amp", "[qualifier .child], [qualifier .sibling] {", " [qualifier .parent] [atom &] {", " [property color]: [keyword black];", " }", " [atom &] + [atom &] {", " [property color]: [keyword red];", " }", "}"); MT("mixin", "[qualifier .mixin] ([variable dark]; [variable-2 @color]) {", " [property color]: [atom darken]([variable-2 @color], [number 10%]);", "}", "[qualifier .mixin] ([variable light]; [variable-2 @color]) {", " [property color]: [atom lighten]([variable-2 @color], [number 10%]);", "}", "[qualifier .mixin] ([variable-2 @_]; [variable-2 @color]) {", " [property display]: [atom block];", "}", "[variable-2 @switch]: [variable light];", "[qualifier .class] {", " [qualifier .mixin]([variable-2 @switch]; [atom #888]);", "}"); MT("nest", "[qualifier .one] {", " [def @media] ([property width]: [number 400px]) {", " [property font-size]: [number 1.2em];", " [def @media] [attribute print] [keyword and] [property color] {", " [property color]: [keyword blue];", " }", " }", "}"); MT("interpolation", ".@{[variable foo]} { [property font-weight]: [atom bold]; }"); })(); wp-file-manager/lib/codemirror/mode/css/scss.html000064400000005266151202472330016017 0ustar00 CodeMirror: SCSS mode

        SCSS mode

        The SCSS mode is a sub-mode of the CSS mode (defined in css.js).

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/css/scss_test.js000064400000006064151202472330016523 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-scss"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "scss"); } MT('url_with_quotation', "[tag foo] { [property background]:[atom url]([string test.jpg]) }"); MT('url_with_double_quotes', "[tag foo] { [property background]:[atom url]([string \"test.jpg\"]) }"); MT('url_with_single_quotes', "[tag foo] { [property background]:[atom url]([string \'test.jpg\']) }"); MT('string', "[def @import] [string \"compass/css3\"]"); MT('important_keyword', "[tag foo] { [property background]:[atom url]([string \'test.jpg\']) [keyword !important] }"); MT('variable', "[variable-2 $blue]:[atom #333]"); MT('variable_as_attribute', "[tag foo] { [property color]:[variable-2 $blue] }"); MT('numbers', "[tag foo] { [property padding]:[number 10px] [number 10] [number 10em] [number 8in] }"); MT('number_percentage', "[tag foo] { [property width]:[number 80%] }"); MT('selector', "[builtin #hello][qualifier .world]{}"); MT('singleline_comment', "[comment // this is a comment]"); MT('multiline_comment', "[comment /*foobar*/]"); MT('attribute_with_hyphen', "[tag foo] { [property font-size]:[number 10px] }"); MT('string_after_attribute', "[tag foo] { [property content]:[string \"::\"] }"); MT('directives', "[def @include] [qualifier .mixin]"); MT('basic_structure', "[tag p] { [property background]:[keyword red]; }"); MT('nested_structure', "[tag p] { [tag a] { [property color]:[keyword red]; } }"); MT('mixin', "[def @mixin] [tag table-base] {}"); MT('number_without_semicolon', "[tag p] {[property width]:[number 12]}", "[tag a] {[property color]:[keyword red];}"); MT('atom_in_nested_block', "[tag p] { [tag a] { [property color]:[atom #000]; } }"); MT('interpolation_in_property', "[tag foo] { #{[variable-2 $hello]}:[number 2]; }"); MT('interpolation_in_selector', "[tag foo]#{[variable-2 $hello]} { [property color]:[atom #000]; }"); MT('interpolation_error', "[tag foo]#{[variable foo]} { [property color]:[atom #000]; }"); MT("divide_operator", "[tag foo] { [property width]:[number 4] [operator /] [number 2] }"); MT('nested_structure_with_id_selector', "[tag p] { [builtin #hello] { [property color]:[keyword red]; } }"); MT('indent_mixin', "[def @mixin] [tag container] (", " [variable-2 $a]: [number 10],", " [variable-2 $b]: [number 10])", "{}"); MT('indent_nested', "[tag foo] {", " [tag bar] {", " }", "}"); MT('indent_parentheses', "[tag foo] {", " [property color]: [atom darken]([variable-2 $blue],", " [number 9%]);", "}"); MT('indent_vardef', "[variable-2 $name]:", " [string 'val'];", "[tag tag] {", " [tag inner] {", " [property margin]: [number 3px];", " }", "}"); })(); wp-file-manager/lib/codemirror/mode/css/test.js000064400000015201151202472330015461 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "css"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } // Error, because "foobarhello" is neither a known type or property, but // property was expected (after "and"), and it should be in parentheses. MT("atMediaUnknownType", "[def @media] [attribute screen] [keyword and] [error foobarhello] { }"); // Soft error, because "foobarhello" is not a known property or type. MT("atMediaUnknownProperty", "[def @media] [attribute screen] [keyword and] ([error foobarhello]) { }"); // Make sure nesting works with media queries MT("atMediaMaxWidthNested", "[def @media] [attribute screen] [keyword and] ([property max-width]: [number 25px]) { [tag foo] { } }"); MT("atMediaFeatureValueKeyword", "[def @media] ([property orientation]: [keyword landscape]) { }"); MT("atMediaUnknownFeatureValueKeyword", "[def @media] ([property orientation]: [error upsidedown]) { }"); MT("tagSelector", "[tag foo] { }"); MT("classSelector", "[qualifier .foo-bar_hello] { }"); MT("idSelector", "[builtin #foo] { [error #foo] }"); MT("tagSelectorUnclosed", "[tag foo] { [property margin]: [number 0] } [tag bar] { }"); MT("tagStringNoQuotes", "[tag foo] { [property font-family]: [variable hello] [variable world]; }"); MT("tagStringDouble", "[tag foo] { [property font-family]: [string \"hello world\"]; }"); MT("tagStringSingle", "[tag foo] { [property font-family]: [string 'hello world']; }"); MT("tagColorKeyword", "[tag foo] {", " [property color]: [keyword black];", " [property color]: [keyword navy];", " [property color]: [keyword yellow];", "}"); MT("tagColorHex3", "[tag foo] { [property background]: [atom #fff]; }"); MT("tagColorHex4", "[tag foo] { [property background]: [atom #ffff]; }"); MT("tagColorHex6", "[tag foo] { [property background]: [atom #ffffff]; }"); MT("tagColorHex8", "[tag foo] { [property background]: [atom #ffffffff]; }"); MT("tagColorHex5Invalid", "[tag foo] { [property background]: [atom&error #fffff]; }"); MT("tagColorHexInvalid", "[tag foo] { [property background]: [atom&error #ffg]; }"); MT("tagNegativeNumber", "[tag foo] { [property margin]: [number -5px]; }"); MT("tagPositiveNumber", "[tag foo] { [property padding]: [number 5px]; }"); MT("tagVendor", "[tag foo] { [meta -foo-][property box-sizing]: [meta -foo-][atom border-box]; }"); MT("tagBogusProperty", "[tag foo] { [property&error barhelloworld]: [number 0]; }"); MT("tagTwoProperties", "[tag foo] { [property margin]: [number 0]; [property padding]: [number 0]; }"); MT("tagTwoPropertiesURL", "[tag foo] { [property background]: [atom url]([string //example.com/foo.png]); [property padding]: [number 0]; }"); MT("indent_tagSelector", "[tag strong], [tag em] {", " [property background]: [atom rgba](", " [number 255], [number 255], [number 0], [number .2]", " );", "}"); MT("indent_atMedia", "[def @media] {", " [tag foo] {", " [property color]:", " [keyword yellow];", " }", "}"); MT("indent_comma", "[tag foo] {", " [property font-family]: [variable verdana],", " [atom sans-serif];", "}"); MT("indent_parentheses", "[tag foo]:[variable-3 before] {", " [property background]: [atom url](", "[string blahblah]", "[string etc]", "[string ]) [keyword !important];", "}"); MT("font_face", "[def @font-face] {", " [property font-family]: [string 'myfont'];", " [error nonsense]: [string 'abc'];", " [property src]: [atom url]([string http://blah]),", " [atom url]([string http://foo]);", "}"); MT("empty_url", "[def @import] [atom url]() [attribute screen];"); MT("parens", "[qualifier .foo] {", " [property background-image]: [variable fade]([atom #000], [number 20%]);", " [property border-image]: [atom linear-gradient](", " [atom to] [atom bottom],", " [variable fade]([atom #000], [number 20%]) [number 0%],", " [variable fade]([atom #000], [number 20%]) [number 100%]", " );", "}"); MT("css_variable", ":[variable-3 root] {", " [variable-2 --main-color]: [atom #06c];", "}", "[tag h1][builtin #foo] {", " [property color]: [atom var]([variable-2 --main-color]);", "}"); MT("supports", "[def @supports] ([keyword not] (([property text-align-last]: [atom justify]) [keyword or] ([meta -moz-][property text-align-last]: [atom justify])) {", " [property text-align-last]: [atom justify];", "}"); MT("document", "[def @document] [tag url]([string http://blah]),", " [tag url-prefix]([string https://]),", " [tag domain]([string blah.com]),", " [tag regexp]([string \".*blah.+\"]) {", " [builtin #id] {", " [property background-color]: [keyword white];", " }", " [tag foo] {", " [property font-family]: [variable Verdana], [atom sans-serif];", " }", "}"); MT("document_url", "[def @document] [tag url]([string http://blah]) { [qualifier .class] { } }"); MT("document_urlPrefix", "[def @document] [tag url-prefix]([string https://]) { [builtin #id] { } }"); MT("document_domain", "[def @document] [tag domain]([string blah.com]) { [tag foo] { } }"); MT("document_regexp", "[def @document] [tag regexp]([string \".*blah.+\"]) { [builtin #id] { } }"); MT("counter-style", "[def @counter-style] [variable binary] {", " [property system]: [atom numeric];", " [property symbols]: [number 0] [number 1];", " [property suffix]: [string \".\"];", " [property range]: [atom infinite];", " [property speak-as]: [atom numeric];", "}"); MT("counter-style-additive-symbols", "[def @counter-style] [variable simple-roman] {", " [property system]: [atom additive];", " [property additive-symbols]: [number 10] [variable X], [number 5] [variable V], [number 1] [variable I];", " [property range]: [number 1] [number 49];", "}"); MT("counter-style-use", "[tag ol][qualifier .roman] { [property list-style]: [variable simple-roman]; }"); MT("counter-style-symbols", "[tag ol] { [property list-style]: [atom symbols]([atom cyclic] [string \"*\"] [string \"\\2020\"] [string \"\\2021\"] [string \"\\A7\"]); }"); })(); wp-file-manager/lib/codemirror/mode/cypher/cypher.js000064400000014205151202472330016501 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // By the Neo4j Team and contributors. // https://github.com/neo4j-contrib/CodeMirror (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var wordRegexp = function(words) { return new RegExp("^(?:" + words.join("|") + ")$", "i"); }; CodeMirror.defineMode("cypher", function(config) { var tokenBase = function(stream/*, state*/) { var ch = stream.next(); if (ch === "\"" || ch === "'") { stream.match(/.+?["']/); return "string"; } if (/[{}\(\),\.;\[\]]/.test(ch)) { curPunc = ch; return "node"; } else if (ch === "/" && stream.eat("/")) { stream.skipToEnd(); return "comment"; } else if (operatorChars.test(ch)) { stream.eatWhile(operatorChars); return null; } else { stream.eatWhile(/[_\w\d]/); if (stream.eat(":")) { stream.eatWhile(/[\w\d_\-]/); return "atom"; } var word = stream.current(); if (funcs.test(word)) return "builtin"; if (preds.test(word)) return "def"; if (keywords.test(word)) return "keyword"; return "variable"; } }; var pushContext = function(state, type, col) { return state.context = { prev: state.context, indent: state.indent, col: col, type: type }; }; var popContext = function(state) { state.indent = state.context.indent; return state.context = state.context.prev; }; var indentUnit = config.indentUnit; var curPunc; var funcs = wordRegexp(["abs", "acos", "allShortestPaths", "asin", "atan", "atan2", "avg", "ceil", "coalesce", "collect", "cos", "cot", "count", "degrees", "e", "endnode", "exp", "extract", "filter", "floor", "haversin", "head", "id", "keys", "labels", "last", "left", "length", "log", "log10", "lower", "ltrim", "max", "min", "node", "nodes", "percentileCont", "percentileDisc", "pi", "radians", "rand", "range", "reduce", "rel", "relationship", "relationships", "replace", "reverse", "right", "round", "rtrim", "shortestPath", "sign", "sin", "size", "split", "sqrt", "startnode", "stdev", "stdevp", "str", "substring", "sum", "tail", "tan", "timestamp", "toFloat", "toInt", "toString", "trim", "type", "upper"]); var preds = wordRegexp(["all", "and", "any", "contains", "exists", "has", "in", "none", "not", "or", "single", "xor"]); var keywords = wordRegexp(["as", "asc", "ascending", "assert", "by", "case", "commit", "constraint", "create", "csv", "cypher", "delete", "desc", "descending", "detach", "distinct", "drop", "else", "end", "ends", "explain", "false", "fieldterminator", "foreach", "from", "headers", "in", "index", "is", "join", "limit", "load", "match", "merge", "null", "on", "optional", "order", "periodic", "profile", "remove", "return", "scan", "set", "skip", "start", "starts", "then", "true", "union", "unique", "unwind", "using", "when", "where", "with"]); var operatorChars = /[*+\-<>=&|~%^]/; return { startState: function(/*base*/) { return { tokenize: tokenBase, context: null, indent: 0, col: 0 }; }, token: function(stream, state) { if (stream.sol()) { if (state.context && (state.context.align == null)) { state.context.align = false; } state.indent = stream.indentation(); } if (stream.eatSpace()) { return null; } var style = state.tokenize(stream, state); if (style !== "comment" && state.context && (state.context.align == null) && state.context.type !== "pattern") { state.context.align = true; } if (curPunc === "(") { pushContext(state, ")", stream.column()); } else if (curPunc === "[") { pushContext(state, "]", stream.column()); } else if (curPunc === "{") { pushContext(state, "}", stream.column()); } else if (/[\]\}\)]/.test(curPunc)) { while (state.context && state.context.type === "pattern") { popContext(state); } if (state.context && curPunc === state.context.type) { popContext(state); } } else if (curPunc === "." && state.context && state.context.type === "pattern") { popContext(state); } else if (/atom|string|variable/.test(style) && state.context) { if (/[\}\]]/.test(state.context.type)) { pushContext(state, "pattern", stream.column()); } else if (state.context.type === "pattern" && !state.context.align) { state.context.align = true; state.context.col = stream.column(); } } return style; }, indent: function(state, textAfter) { var firstChar = textAfter && textAfter.charAt(0); var context = state.context; if (/[\]\}]/.test(firstChar)) { while (context && context.type === "pattern") { context = context.prev; } } var closing = context && firstChar === context.type; if (!context) return 0; if (context.type === "keywords") return CodeMirror.commands.newlineAndIndent; if (context.align) return context.col + (closing ? 0 : 1); return context.indent + (closing ? 0 : indentUnit); } }; }); CodeMirror.modeExtensions["cypher"] = { autoFormatLineBreaks: function(text) { var i, lines, reProcessedPortion; var lines = text.split("\n"); var reProcessedPortion = /\s+\b(return|where|order by|match|with|skip|limit|create|delete|set)\b\s/g; for (var i = 0; i < lines.length; i++) lines[i] = lines[i].replace(reProcessedPortion, " \n$1 ").trim(); return lines.join("\n"); } }; CodeMirror.defineMIME("application/x-cypher-query", "cypher"); }); wp-file-manager/lib/codemirror/mode/cypher/index.html000064400000003564151202472330016654 0ustar00 CodeMirror: Cypher Mode for CodeMirror

        Cypher Mode for CodeMirror

        MIME types defined: application/x-cypher-query

        wp-file-manager/lib/codemirror/mode/d/d.js000064400000016616151202472330014373 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("d", function(config, parserConfig) { var indentUnit = config.indentUnit, statementIndentUnit = parserConfig.statementIndentUnit || indentUnit, keywords = parserConfig.keywords || {}, builtin = parserConfig.builtin || {}, blockKeywords = parserConfig.blockKeywords || {}, atoms = parserConfig.atoms || {}, hooks = parserConfig.hooks || {}, multiLineStrings = parserConfig.multiLineStrings; var isOperatorChar = /[+\-*&%=<>!?|\/]/; var curPunc; function tokenBase(stream, state) { var ch = stream.next(); if (hooks[ch]) { var result = hooks[ch](stream, state); if (result !== false) return result; } if (ch == '"' || ch == "'" || ch == "`") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (/[\[\]{}\(\),;\:\.]/.test(ch)) { curPunc = ch; return null; } if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } if (ch == "/") { if (stream.eat("+")) { state.tokenize = tokenComment; return tokenNestedComment(stream, state); } if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\$_\xa1-\uffff]/); var cur = stream.current(); if (keywords.propertyIsEnumerable(cur)) { if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement"; return "keyword"; } if (builtin.propertyIsEnumerable(cur)) { if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement"; return "builtin"; } if (atoms.propertyIsEnumerable(cur)) return "atom"; return "variable"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) {end = true; break;} escaped = !escaped && next == "\\"; } if (end || !(escaped || multiLineStrings)) state.tokenize = null; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = null; break; } maybeEnd = (ch == "*"); } return "comment"; } function tokenNestedComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = null; break; } maybeEnd = (ch == "+"); } return "comment"; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { var indent = state.indented; if (state.context && state.context.type == "statement") indent = state.context.indented; return state.context = new Context(indent, col, type, null, state.context); } function popContext(state) { var t = state.context.type; if (t == ")" || t == "]" || t == "}") state.indented = state.context.indented; return state.context = state.context.prev; } // Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) return null; curPunc = null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment" || style == "meta") return style; if (ctx.align == null) ctx.align = true; if ((curPunc == ";" || curPunc == ":" || curPunc == ",") && ctx.type == "statement") popContext(state); else if (curPunc == "{") pushContext(state, stream.column(), "}"); else if (curPunc == "[") pushContext(state, stream.column(), "]"); else if (curPunc == "(") pushContext(state, stream.column(), ")"); else if (curPunc == "}") { while (ctx.type == "statement") ctx = popContext(state); if (ctx.type == "}") ctx = popContext(state); while (ctx.type == "statement") ctx = popContext(state); } else if (curPunc == ctx.type) popContext(state); else if (((ctx.type == "}" || ctx.type == "top") && curPunc != ';') || (ctx.type == "statement" && curPunc == "newstatement")) pushContext(state, stream.column(), "statement"); state.startOfLine = false; return style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase && state.tokenize != null) return CodeMirror.Pass; var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev; var closing = firstChar == ctx.type; if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit); else if (ctx.align) return ctx.column + (closing ? 0 : 1); else return ctx.indented + (closing ? 0 : indentUnit); }, electricChars: "{}" }; }); function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var blockKeywords = "body catch class do else enum for foreach foreach_reverse if in interface mixin " + "out scope struct switch try union unittest version while with"; CodeMirror.defineMIME("text/x-d", { name: "d", keywords: words("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue " + "debug default delegate delete deprecated export extern final finally function goto immutable " + "import inout invariant is lazy macro module new nothrow override package pragma private " + "protected public pure ref return shared short static super synchronized template this " + "throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters " + blockKeywords), blockKeywords: words(blockKeywords), builtin: words("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte " + "ucent uint ulong ushort wchar wstring void size_t sizediff_t"), atoms: words("exit failure success true false null"), hooks: { "@": function(stream, _state) { stream.eatWhile(/[\w\$_]/); return "meta"; } } }); }); wp-file-manager/lib/codemirror/mode/d/index.html000064400000014325151202472330015602 0ustar00 CodeMirror: D mode

        D mode

        Simple mode that handle D-Syntax (DLang Homepage).

        MIME types defined: text/x-d .

        wp-file-manager/lib/codemirror/mode/dart/dart.js000064400000011772151202472330015607 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../clike/clike")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../clike/clike"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var keywords = ("this super static final const abstract class extends external factory " + "implements get native operator set typedef with enum throw rethrow " + "assert break case continue default in return new deferred async await " + "try catch finally do else for if switch while import library export " + "part of show hide is as").split(" "); var blockKeywords = "try catch finally do else for if switch while".split(" "); var atoms = "true false null".split(" "); var builtins = "void bool num int double dynamic var String".split(" "); function set(words) { var obj = {}; for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } function pushInterpolationStack(state) { (state.interpolationStack || (state.interpolationStack = [])).push(state.tokenize); } function popInterpolationStack(state) { return (state.interpolationStack || (state.interpolationStack = [])).pop(); } function sizeInterpolationStack(state) { return state.interpolationStack ? state.interpolationStack.length : 0; } CodeMirror.defineMIME("application/dart", { name: "clike", keywords: set(keywords), blockKeywords: set(blockKeywords), builtin: set(builtins), atoms: set(atoms), hooks: { "@": function(stream) { stream.eatWhile(/[\w\$_\.]/); return "meta"; }, // custom string handling to deal with triple-quoted strings and string interpolation "'": function(stream, state) { return tokenString("'", stream, state, false); }, "\"": function(stream, state) { return tokenString("\"", stream, state, false); }, "r": function(stream, state) { var peek = stream.peek(); if (peek == "'" || peek == "\"") { return tokenString(stream.next(), stream, state, true); } return false; }, "}": function(_stream, state) { // "}" is end of interpolation, if interpolation stack is non-empty if (sizeInterpolationStack(state) > 0) { state.tokenize = popInterpolationStack(state); return null; } return false; }, "/": function(stream, state) { if (!stream.eat("*")) return false state.tokenize = tokenNestedComment(1) return state.tokenize(stream, state) } } }); function tokenString(quote, stream, state, raw) { var tripleQuoted = false; if (stream.eat(quote)) { if (stream.eat(quote)) tripleQuoted = true; else return "string"; //empty string } function tokenStringHelper(stream, state) { var escaped = false; while (!stream.eol()) { if (!raw && !escaped && stream.peek() == "$") { pushInterpolationStack(state); state.tokenize = tokenInterpolation; return "string"; } var next = stream.next(); if (next == quote && !escaped && (!tripleQuoted || stream.match(quote + quote))) { state.tokenize = null; break; } escaped = !raw && !escaped && next == "\\"; } return "string"; } state.tokenize = tokenStringHelper; return tokenStringHelper(stream, state); } function tokenInterpolation(stream, state) { stream.eat("$"); if (stream.eat("{")) { // let clike handle the content of ${...}, // we take over again when "}" appears (see hooks). state.tokenize = null; } else { state.tokenize = tokenInterpolationIdentifier; } return null; } function tokenInterpolationIdentifier(stream, state) { stream.eatWhile(/[\w_]/); state.tokenize = popInterpolationStack(state); return "variable"; } function tokenNestedComment(depth) { return function (stream, state) { var ch while (ch = stream.next()) { if (ch == "*" && stream.eat("/")) { if (depth == 1) { state.tokenize = null break } else { state.tokenize = tokenNestedComment(depth - 1) return state.tokenize(stream, state) } } else if (ch == "/" && stream.eat("*")) { state.tokenize = tokenNestedComment(depth + 1) return state.tokenize(stream, state) } } return "comment" } } CodeMirror.registerHelper("hintWords", "application/dart", keywords.concat(atoms).concat(builtins)); // This is needed to make loading through meta.js work. CodeMirror.defineMode("dart", function(conf) { return CodeMirror.getMode(conf, "application/dart"); }, "clike"); }); wp-file-manager/lib/codemirror/mode/dart/index.html000064400000003133151202472330016304 0ustar00 CodeMirror: Dart mode

        Dart mode

        wp-file-manager/lib/codemirror/mode/diff/diff.js000064400000002162151202472330015534 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("diff", function() { var TOKEN_NAMES = { '+': 'positive', '-': 'negative', '@': 'meta' }; return { token: function(stream) { var tw_pos = stream.string.search(/[\t ]+?$/); if (!stream.sol() || tw_pos === 0) { stream.skipToEnd(); return ("error " + ( TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, ''); } var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd(); if (tw_pos === -1) { stream.skipToEnd(); } else { stream.pos = tw_pos; } return token_name; } }; }); CodeMirror.defineMIME("text/x-diff", "diff"); }); wp-file-manager/lib/codemirror/mode/diff/index.html000064400000010471151202472330016265 0ustar00 CodeMirror: Diff mode

        Diff mode

        MIME types defined: text/x-diff.

        wp-file-manager/lib/codemirror/mode/django/django.js000064400000027017151202472330016426 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../../addon/mode/overlay")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../../addon/mode/overlay"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("django:inner", function() { var keywords = ["block", "endblock", "for", "endfor", "true", "false", "filter", "endfilter", "loop", "none", "self", "super", "if", "elif", "endif", "as", "else", "import", "with", "endwith", "without", "context", "ifequal", "endifequal", "ifnotequal", "endifnotequal", "extends", "include", "load", "comment", "endcomment", "empty", "url", "static", "trans", "blocktrans", "endblocktrans", "now", "regroup", "lorem", "ifchanged", "endifchanged", "firstof", "debug", "cycle", "csrf_token", "autoescape", "endautoescape", "spaceless", "endspaceless", "ssi", "templatetag", "verbatim", "endverbatim", "widthratio"], filters = ["add", "addslashes", "capfirst", "center", "cut", "date", "default", "default_if_none", "dictsort", "dictsortreversed", "divisibleby", "escape", "escapejs", "filesizeformat", "first", "floatformat", "force_escape", "get_digit", "iriencode", "join", "last", "length", "length_is", "linebreaks", "linebreaksbr", "linenumbers", "ljust", "lower", "make_list", "phone2numeric", "pluralize", "pprint", "random", "removetags", "rjust", "safe", "safeseq", "slice", "slugify", "stringformat", "striptags", "time", "timesince", "timeuntil", "title", "truncatechars", "truncatechars_html", "truncatewords", "truncatewords_html", "unordered_list", "upper", "urlencode", "urlize", "urlizetrunc", "wordcount", "wordwrap", "yesno"], operators = ["==", "!=", "<", ">", "<=", ">="], wordOperators = ["in", "not", "or", "and"]; keywords = new RegExp("^\\b(" + keywords.join("|") + ")\\b"); filters = new RegExp("^\\b(" + filters.join("|") + ")\\b"); operators = new RegExp("^\\b(" + operators.join("|") + ")\\b"); wordOperators = new RegExp("^\\b(" + wordOperators.join("|") + ")\\b"); // We have to return "null" instead of null, in order to avoid string // styling as the default, when using Django templates inside HTML // element attributes function tokenBase (stream, state) { // Attempt to identify a variable, template or comment tag respectively if (stream.match("{{")) { state.tokenize = inVariable; return "tag"; } else if (stream.match("{%")) { state.tokenize = inTag; return "tag"; } else if (stream.match("{#")) { state.tokenize = inComment; return "comment"; } // Ignore completely any stream series that do not match the // Django template opening tags. while (stream.next() != null && !stream.match(/\{[{%#]/, false)) {} return null; } // A string can be included in either single or double quotes (this is // the delimiter). Mark everything as a string until the start delimiter // occurs again. function inString (delimiter, previousTokenizer) { return function (stream, state) { if (!state.escapeNext && stream.eat(delimiter)) { state.tokenize = previousTokenizer; } else { if (state.escapeNext) { state.escapeNext = false; } var ch = stream.next(); // Take into account the backslash for escaping characters, such as // the string delimiter. if (ch == "\\") { state.escapeNext = true; } } return "string"; }; } // Apply Django template variable syntax highlighting function inVariable (stream, state) { // Attempt to match a dot that precedes a property if (state.waitDot) { state.waitDot = false; if (stream.peek() != ".") { return "null"; } // Dot followed by a non-word character should be considered an error. if (stream.match(/\.\W+/)) { return "error"; } else if (stream.eat(".")) { state.waitProperty = true; return "null"; } else { throw Error ("Unexpected error while waiting for property."); } } // Attempt to match a pipe that precedes a filter if (state.waitPipe) { state.waitPipe = false; if (stream.peek() != "|") { return "null"; } // Pipe followed by a non-word character should be considered an error. if (stream.match(/\.\W+/)) { return "error"; } else if (stream.eat("|")) { state.waitFilter = true; return "null"; } else { throw Error ("Unexpected error while waiting for filter."); } } // Highlight properties if (state.waitProperty) { state.waitProperty = false; if (stream.match(/\b(\w+)\b/)) { state.waitDot = true; // A property can be followed by another property state.waitPipe = true; // A property can be followed by a filter return "property"; } } // Highlight filters if (state.waitFilter) { state.waitFilter = false; if (stream.match(filters)) { return "variable-2"; } } // Ignore all white spaces if (stream.eatSpace()) { state.waitProperty = false; return "null"; } // Identify numbers if (stream.match(/\b\d+(\.\d+)?\b/)) { return "number"; } // Identify strings if (stream.match("'")) { state.tokenize = inString("'", state.tokenize); return "string"; } else if (stream.match('"')) { state.tokenize = inString('"', state.tokenize); return "string"; } // Attempt to find the variable if (stream.match(/\b(\w+)\b/) && !state.foundVariable) { state.waitDot = true; state.waitPipe = true; // A property can be followed by a filter return "variable"; } // If found closing tag reset if (stream.match("}}")) { state.waitProperty = null; state.waitFilter = null; state.waitDot = null; state.waitPipe = null; state.tokenize = tokenBase; return "tag"; } // If nothing was found, advance to the next character stream.next(); return "null"; } function inTag (stream, state) { // Attempt to match a dot that precedes a property if (state.waitDot) { state.waitDot = false; if (stream.peek() != ".") { return "null"; } // Dot followed by a non-word character should be considered an error. if (stream.match(/\.\W+/)) { return "error"; } else if (stream.eat(".")) { state.waitProperty = true; return "null"; } else { throw Error ("Unexpected error while waiting for property."); } } // Attempt to match a pipe that precedes a filter if (state.waitPipe) { state.waitPipe = false; if (stream.peek() != "|") { return "null"; } // Pipe followed by a non-word character should be considered an error. if (stream.match(/\.\W+/)) { return "error"; } else if (stream.eat("|")) { state.waitFilter = true; return "null"; } else { throw Error ("Unexpected error while waiting for filter."); } } // Highlight properties if (state.waitProperty) { state.waitProperty = false; if (stream.match(/\b(\w+)\b/)) { state.waitDot = true; // A property can be followed by another property state.waitPipe = true; // A property can be followed by a filter return "property"; } } // Highlight filters if (state.waitFilter) { state.waitFilter = false; if (stream.match(filters)) { return "variable-2"; } } // Ignore all white spaces if (stream.eatSpace()) { state.waitProperty = false; return "null"; } // Identify numbers if (stream.match(/\b\d+(\.\d+)?\b/)) { return "number"; } // Identify strings if (stream.match("'")) { state.tokenize = inString("'", state.tokenize); return "string"; } else if (stream.match('"')) { state.tokenize = inString('"', state.tokenize); return "string"; } // Attempt to match an operator if (stream.match(operators)) { return "operator"; } // Attempt to match a word operator if (stream.match(wordOperators)) { return "keyword"; } // Attempt to match a keyword var keywordMatch = stream.match(keywords); if (keywordMatch) { if (keywordMatch[0] == "comment") { state.blockCommentTag = true; } return "keyword"; } // Attempt to match a variable if (stream.match(/\b(\w+)\b/)) { state.waitDot = true; state.waitPipe = true; // A property can be followed by a filter return "variable"; } // If found closing tag reset if (stream.match("%}")) { state.waitProperty = null; state.waitFilter = null; state.waitDot = null; state.waitPipe = null; // If the tag that closes is a block comment tag, we want to mark the // following code as comment, until the tag closes. if (state.blockCommentTag) { state.blockCommentTag = false; // Release the "lock" state.tokenize = inBlockComment; } else { state.tokenize = tokenBase; } return "tag"; } // If nothing was found, advance to the next character stream.next(); return "null"; } // Mark everything as comment inside the tag and the tag itself. function inComment (stream, state) { if (stream.match(/^.*?#\}/)) state.tokenize = tokenBase else stream.skipToEnd() return "comment"; } // Mark everything as a comment until the `blockcomment` tag closes. function inBlockComment (stream, state) { if (stream.match(/\{%\s*endcomment\s*%\}/, false)) { state.tokenize = inTag; stream.match("{%"); return "tag"; } else { stream.next(); return "comment"; } } return { startState: function () { return {tokenize: tokenBase}; }, token: function (stream, state) { return state.tokenize(stream, state); }, blockCommentStart: "{% comment %}", blockCommentEnd: "{% endcomment %}" }; }); CodeMirror.defineMode("django", function(config) { var htmlBase = CodeMirror.getMode(config, "text/html"); var djangoInner = CodeMirror.getMode(config, "django:inner"); return CodeMirror.overlayMode(htmlBase, djangoInner); }); CodeMirror.defineMIME("text/x-django", "django"); }); wp-file-manager/lib/codemirror/mode/django/index.html000064400000004035151202472330016616 0ustar00 CodeMirror: Django template mode

        Django template mode

        Mode for HTML with embedded Django template markup.

        MIME types defined: text/x-django

        wp-file-manager/lib/codemirror/mode/dockerfile/dockerfile.js000064400000004255151202472330020137 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../../addon/mode/simple")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../../addon/mode/simple"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; // Collect all Dockerfile directives var instructions = ["from", "maintainer", "run", "cmd", "expose", "env", "add", "copy", "entrypoint", "volume", "user", "workdir", "onbuild"], instructionRegex = "(" + instructions.join('|') + ")", instructionOnlyLine = new RegExp(instructionRegex + "\\s*$", "i"), instructionWithArguments = new RegExp(instructionRegex + "(\\s+)", "i"); CodeMirror.defineSimpleMode("dockerfile", { start: [ // Block comment: This is a line starting with a comment { regex: /#.*$/, token: "comment" }, // Highlight an instruction without any arguments (for convenience) { regex: instructionOnlyLine, token: "variable-2" }, // Highlight an instruction followed by arguments { regex: instructionWithArguments, token: ["variable-2", null], next: "arguments" }, { regex: /./, token: null } ], arguments: [ { // Line comment without instruction arguments is an error regex: /#.*$/, token: "error", next: "start" }, { regex: /[^#]+\\$/, token: null }, { // Match everything except for the inline comment regex: /[^#]+/, token: null, next: "start" }, { regex: /$/, token: null, next: "start" }, // Fail safe return to start { token: null, next: "start" } ], meta: { lineComment: "#" } }); CodeMirror.defineMIME("text/x-dockerfile", "dockerfile"); }); wp-file-manager/lib/codemirror/mode/dockerfile/index.html000064400000004333151202472330017464 0ustar00 CodeMirror: Dockerfile mode

        Dockerfile mode

        Dockerfile syntax highlighting for CodeMirror. Depends on the simplemode addon.

        MIME types defined: text/x-dockerfile

        wp-file-manager/lib/codemirror/mode/dtd/dtd.js000064400000011316151202472330015243 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /* DTD mode Ported to CodeMirror by Peter Kroon Report bugs/issues here: https://github.com/codemirror/CodeMirror/issues GitHub: @peterkroon */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("dtd", function(config) { var indentUnit = config.indentUnit, type; function ret(style, tp) {type = tp; return style;} function tokenBase(stream, state) { var ch = stream.next(); if (ch == "<" && stream.eat("!") ) { if (stream.eatWhile(/[\-]/)) { state.tokenize = tokenSGMLComment; return tokenSGMLComment(stream, state); } else if (stream.eatWhile(/[\w]/)) return ret("keyword", "doindent"); } else if (ch == "<" && stream.eat("?")) { //xml declaration state.tokenize = inBlock("meta", "?>"); return ret("meta", ch); } else if (ch == "#" && stream.eatWhile(/[\w]/)) return ret("atom", "tag"); else if (ch == "|") return ret("keyword", "seperator"); else if (ch.match(/[\(\)\[\]\-\.,\+\?>]/)) return ret(null, ch);//if(ch === ">") return ret(null, "endtag"); else else if (ch.match(/[\[\]]/)) return ret("rule", ch); else if (ch == "\"" || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } else if (stream.eatWhile(/[a-zA-Z\?\+\d]/)) { var sc = stream.current(); if( sc.substr(sc.length-1,sc.length).match(/\?|\+/) !== null )stream.backUp(1); return ret("tag", "tag"); } else if (ch == "%" || ch == "*" ) return ret("number", "number"); else { stream.eatWhile(/[\w\\\-_%.{,]/); return ret(null, null); } } function tokenSGMLComment(stream, state) { var dashes = 0, ch; while ((ch = stream.next()) != null) { if (dashes >= 2 && ch == ">") { state.tokenize = tokenBase; break; } dashes = (ch == "-") ? dashes + 1 : 0; } return ret("comment", "comment"); } function tokenString(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) { state.tokenize = tokenBase; break; } escaped = !escaped && ch == "\\"; } return ret("string", "tag"); }; } function inBlock(style, terminator) { return function(stream, state) { while (!stream.eol()) { if (stream.match(terminator)) { state.tokenize = tokenBase; break; } stream.next(); } return style; }; } return { startState: function(base) { return {tokenize: tokenBase, baseIndent: base || 0, stack: []}; }, token: function(stream, state) { if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); var context = state.stack[state.stack.length-1]; if (stream.current() == "[" || type === "doindent" || type == "[") state.stack.push("rule"); else if (type === "endtag") state.stack[state.stack.length-1] = "endtag"; else if (stream.current() == "]" || type == "]" || (type == ">" && context == "rule")) state.stack.pop(); else if (type == "[") state.stack.push("["); return style; }, indent: function(state, textAfter) { var n = state.stack.length; if( textAfter.match(/\]\s+|\]/) )n=n-1; else if(textAfter.substr(textAfter.length-1, textAfter.length) === ">"){ if(textAfter.substr(0,1) === "<") {} else if( type == "doindent" && textAfter.length > 1 ) {} else if( type == "doindent")n--; else if( type == ">" && textAfter.length > 1) {} else if( type == "tag" && textAfter !== ">") {} else if( type == "tag" && state.stack[state.stack.length-1] == "rule")n--; else if( type == "tag")n++; else if( textAfter === ">" && state.stack[state.stack.length-1] == "rule" && type === ">")n--; else if( textAfter === ">" && state.stack[state.stack.length-1] == "rule") {} else if( textAfter.substr(0,1) !== "<" && textAfter.substr(0,1) === ">" )n=n-1; else if( textAfter === ">") {} else n=n-1; //over rule them all if(type == null || type == "]")n--; } return state.baseIndent + n * indentUnit; }, electricChars: "]>" }; }); CodeMirror.defineMIME("application/xml-dtd", "dtd"); }); wp-file-manager/lib/codemirror/mode/dtd/index.html000064400000006411151202472330016127 0ustar00 CodeMirror: DTD mode

        DTD mode

        MIME types defined: application/xml-dtd.

        wp-file-manager/lib/codemirror/mode/dylan/dylan.js000064400000023256151202472330016141 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("dylan", function(_config) { // Words var words = { // Words that introduce unnamed definitions like "define interface" unnamedDefinition: ["interface"], // Words that introduce simple named definitions like "define library" namedDefinition: ["module", "library", "macro", "C-struct", "C-union", "C-function", "C-callable-wrapper" ], // Words that introduce type definitions like "define class". // These are also parameterized like "define method" and are // appended to otherParameterizedDefinitionWords typeParameterizedDefinition: ["class", "C-subtype", "C-mapped-subtype"], // Words that introduce trickier definitions like "define method". // These require special definitions to be added to startExpressions otherParameterizedDefinition: ["method", "function", "C-variable", "C-address" ], // Words that introduce module constant definitions. // These must also be simple definitions and are // appended to otherSimpleDefinitionWords constantSimpleDefinition: ["constant"], // Words that introduce module variable definitions. // These must also be simple definitions and are // appended to otherSimpleDefinitionWords variableSimpleDefinition: ["variable"], // Other words that introduce simple definitions // (without implicit bodies). otherSimpleDefinition: ["generic", "domain", "C-pointer-type", "table" ], // Words that begin statements with implicit bodies. statement: ["if", "block", "begin", "method", "case", "for", "select", "when", "unless", "until", "while", "iterate", "profiling", "dynamic-bind" ], // Patterns that act as separators in compound statements. // This may include any general pattern that must be indented // specially. separator: ["finally", "exception", "cleanup", "else", "elseif", "afterwards" ], // Keywords that do not require special indentation handling, // but which should be highlighted other: ["above", "below", "by", "from", "handler", "in", "instance", "let", "local", "otherwise", "slot", "subclass", "then", "to", "keyed-by", "virtual" ], // Condition signaling function calls signalingCalls: ["signal", "error", "cerror", "break", "check-type", "abort" ] }; words["otherDefinition"] = words["unnamedDefinition"] .concat(words["namedDefinition"]) .concat(words["otherParameterizedDefinition"]); words["definition"] = words["typeParameterizedDefinition"] .concat(words["otherDefinition"]); words["parameterizedDefinition"] = words["typeParameterizedDefinition"] .concat(words["otherParameterizedDefinition"]); words["simpleDefinition"] = words["constantSimpleDefinition"] .concat(words["variableSimpleDefinition"]) .concat(words["otherSimpleDefinition"]); words["keyword"] = words["statement"] .concat(words["separator"]) .concat(words["other"]); // Patterns var symbolPattern = "[-_a-zA-Z?!*@<>$%]+"; var symbol = new RegExp("^" + symbolPattern); var patterns = { // Symbols with special syntax symbolKeyword: symbolPattern + ":", symbolClass: "<" + symbolPattern + ">", symbolGlobal: "\\*" + symbolPattern + "\\*", symbolConstant: "\\$" + symbolPattern }; var patternStyles = { symbolKeyword: "atom", symbolClass: "tag", symbolGlobal: "variable-2", symbolConstant: "variable-3" }; // Compile all patterns to regular expressions for (var patternName in patterns) if (patterns.hasOwnProperty(patternName)) patterns[patternName] = new RegExp("^" + patterns[patternName]); // Names beginning "with-" and "without-" are commonly // used as statement macro patterns["keyword"] = [/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/]; var styles = {}; styles["keyword"] = "keyword"; styles["definition"] = "def"; styles["simpleDefinition"] = "def"; styles["signalingCalls"] = "builtin"; // protected words lookup table var wordLookup = {}; var styleLookup = {}; [ "keyword", "definition", "simpleDefinition", "signalingCalls" ].forEach(function(type) { words[type].forEach(function(word) { wordLookup[word] = type; styleLookup[word] = styles[type]; }); }); function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } function tokenBase(stream, state) { // String var ch = stream.peek(); if (ch == "'" || ch == '"') { stream.next(); return chain(stream, state, tokenString(ch, "string")); } // Comment else if (ch == "/") { stream.next(); if (stream.eat("*")) { return chain(stream, state, tokenComment); } else if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } stream.backUp(1); } // Decimal else if (/[+\-\d\.]/.test(ch)) { if (stream.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i) || stream.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i) || stream.match(/^[+-]?\d+/)) { return "number"; } } // Hash else if (ch == "#") { stream.next(); // Symbol with string syntax ch = stream.peek(); if (ch == '"') { stream.next(); return chain(stream, state, tokenString('"', "string")); } // Binary number else if (ch == "b") { stream.next(); stream.eatWhile(/[01]/); return "number"; } // Hex number else if (ch == "x") { stream.next(); stream.eatWhile(/[\da-f]/i); return "number"; } // Octal number else if (ch == "o") { stream.next(); stream.eatWhile(/[0-7]/); return "number"; } // Token concatenation in macros else if (ch == '#') { stream.next(); return "punctuation"; } // Sequence literals else if ((ch == '[') || (ch == '(')) { stream.next(); return "bracket"; // Hash symbol } else if (stream.match(/f|t|all-keys|include|key|next|rest/i)) { return "atom"; } else { stream.eatWhile(/[-a-zA-Z]/); return "error"; } } else if (ch == "~") { stream.next(); ch = stream.peek(); if (ch == "=") { stream.next(); ch = stream.peek(); if (ch == "=") { stream.next(); return "operator"; } return "operator"; } return "operator"; } else if (ch == ":") { stream.next(); ch = stream.peek(); if (ch == "=") { stream.next(); return "operator"; } else if (ch == ":") { stream.next(); return "punctuation"; } } else if ("[](){}".indexOf(ch) != -1) { stream.next(); return "bracket"; } else if (".,".indexOf(ch) != -1) { stream.next(); return "punctuation"; } else if (stream.match("end")) { return "keyword"; } for (var name in patterns) { if (patterns.hasOwnProperty(name)) { var pattern = patterns[name]; if ((pattern instanceof Array && pattern.some(function(p) { return stream.match(p); })) || stream.match(pattern)) return patternStyles[name]; } } if (/[+\-*\/^=<>&|]/.test(ch)) { stream.next(); return "operator"; } if (stream.match("define")) { return "def"; } else { stream.eatWhile(/[\w\-]/); // Keyword if (wordLookup[stream.current()]) { return styleLookup[stream.current()]; } else if (stream.current().match(symbol)) { return "variable"; } else { stream.next(); return "variable-2"; } } } function tokenComment(stream, state) { var maybeEnd = false, maybeNested = false, nestedCount = 0, ch; while ((ch = stream.next())) { if (ch == "/" && maybeEnd) { if (nestedCount > 0) { nestedCount--; } else { state.tokenize = tokenBase; break; } } else if (ch == "*" && maybeNested) { nestedCount++; } maybeEnd = (ch == "*"); maybeNested = (ch == "/"); } return "comment"; } function tokenString(quote, style) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) { end = true; break; } escaped = !escaped && next == "\\"; } if (end || !escaped) { state.tokenize = tokenBase; } return style; }; } // Interface return { startState: function() { return { tokenize: tokenBase, currentIndent: 0 }; }, token: function(stream, state) { if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); return style; }, blockCommentStart: "/*", blockCommentEnd: "*/" }; }); CodeMirror.defineMIME("text/x-dylan", "dylan"); }); wp-file-manager/lib/codemirror/mode/dylan/index.html000064400000031350151202472330016463 0ustar00 CodeMirror: Dylan mode

        Dylan mode

        MIME types defined: text/x-dylan.

        wp-file-manager/lib/codemirror/mode/dylan/test.js000064400000005262151202472330016006 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "dylan"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT('comments', '[comment // This is a line comment]', '[comment /* This is a block comment */]', '[comment /* This is a multi]', '[comment line comment]', '[comment */]', '[comment /* And this is a /*]', '[comment /* nested */ comment */]'); MT('unary_operators', '[operator -][variable a]', '[operator -] [variable a]', '[operator ~][variable a]', '[operator ~] [variable a]'); MT('binary_operators', '[variable a] [operator +] [variable b]', '[variable a] [operator -] [variable b]', '[variable a] [operator *] [variable b]', '[variable a] [operator /] [variable b]', '[variable a] [operator ^] [variable b]', '[variable a] [operator =] [variable b]', '[variable a] [operator ==] [variable b]', '[variable a] [operator ~=] [variable b]', '[variable a] [operator ~==] [variable b]', '[variable a] [operator <] [variable b]', '[variable a] [operator <=] [variable b]', '[variable a] [operator >] [variable b]', '[variable a] [operator >=] [variable b]', '[variable a] [operator &] [variable b]', '[variable a] [operator |] [variable b]', '[variable a] [operator :=] [variable b]'); MT('integers', '[number 1]', '[number 123]', '[number -123]', '[number +456]', '[number #b010]', '[number #o073]', '[number #xabcDEF123]'); MT('floats', '[number .3]', '[number -1.]', '[number -2.335]', '[number +3.78d1]', '[number 3.78s-1]', '[number -3.32e+5]'); MT('characters_and_strings', "[string 'a']", "[string '\\\\'']", '[string ""]', '[string "a"]', '[string "abc def"]', '[string "More escaped characters: \\\\\\\\ \\\\a \\\\b \\\\e \\\\f \\\\n \\\\r \\\\t \\\\0 ..."]'); MT('brackets', '[bracket #[[]]]', '[bracket #()]', '[bracket #(][number 1][bracket )]', '[bracket [[][number 1][punctuation ,] [number 3][bracket ]]]', '[bracket ()]', '[bracket {}]', '[keyword if] [bracket (][variable foo][bracket )]', '[bracket (][number 1][bracket )]', '[bracket [[][number 1][bracket ]]]'); MT('hash_words', '[punctuation ##]', '[atom #f]', '[atom #F]', '[atom #t]', '[atom #T]', '[atom #all-keys]', '[atom #include]', '[atom #key]', '[atom #next]', '[atom #rest]', '[string #"foo"]', '[error #invalid]'); })(); wp-file-manager/lib/codemirror/mode/ebnf/ebnf.js000064400000013705151202472330015545 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("ebnf", function (config) { var commentType = {slash: 0, parenthesis: 1}; var stateType = {comment: 0, _string: 1, characterClass: 2}; var bracesMode = null; if (config.bracesMode) bracesMode = CodeMirror.getMode(config, config.bracesMode); return { startState: function () { return { stringType: null, commentType: null, braced: 0, lhs: true, localState: null, stack: [], inDefinition: false }; }, token: function (stream, state) { if (!stream) return; //check for state changes if (state.stack.length === 0) { //strings if ((stream.peek() == '"') || (stream.peek() == "'")) { state.stringType = stream.peek(); stream.next(); // Skip quote state.stack.unshift(stateType._string); } else if (stream.match(/^\/\*/)) { //comments starting with /* state.stack.unshift(stateType.comment); state.commentType = commentType.slash; } else if (stream.match(/^\(\*/)) { //comments starting with (* state.stack.unshift(stateType.comment); state.commentType = commentType.parenthesis; } } //return state //stack has switch (state.stack[0]) { case stateType._string: while (state.stack[0] === stateType._string && !stream.eol()) { if (stream.peek() === state.stringType) { stream.next(); // Skip quote state.stack.shift(); // Clear flag } else if (stream.peek() === "\\") { stream.next(); stream.next(); } else { stream.match(/^.[^\\\"\']*/); } } return state.lhs ? "property string" : "string"; // Token style case stateType.comment: while (state.stack[0] === stateType.comment && !stream.eol()) { if (state.commentType === commentType.slash && stream.match(/\*\//)) { state.stack.shift(); // Clear flag state.commentType = null; } else if (state.commentType === commentType.parenthesis && stream.match(/\*\)/)) { state.stack.shift(); // Clear flag state.commentType = null; } else { stream.match(/^.[^\*]*/); } } return "comment"; case stateType.characterClass: while (state.stack[0] === stateType.characterClass && !stream.eol()) { if (!(stream.match(/^[^\]\\]+/) || stream.match(/^\\./))) { state.stack.shift(); } } return "operator"; } var peek = stream.peek(); if (bracesMode !== null && (state.braced || peek === "{")) { if (state.localState === null) state.localState = CodeMirror.startState(bracesMode); var token = bracesMode.token(stream, state.localState), text = stream.current(); if (!token) { for (var i = 0; i < text.length; i++) { if (text[i] === "{") { if (state.braced === 0) { token = "matchingbracket"; } state.braced++; } else if (text[i] === "}") { state.braced--; if (state.braced === 0) { token = "matchingbracket"; } } } } return token; } //no stack switch (peek) { case "[": stream.next(); state.stack.unshift(stateType.characterClass); return "bracket"; case ":": case "|": case ";": stream.next(); return "operator"; case "%": if (stream.match("%%")) { return "header"; } else if (stream.match(/[%][A-Za-z]+/)) { return "keyword"; } else if (stream.match(/[%][}]/)) { return "matchingbracket"; } break; case "/": if (stream.match(/[\/][A-Za-z]+/)) { return "keyword"; } case "\\": if (stream.match(/[\][a-z]+/)) { return "string-2"; } case ".": if (stream.match(".")) { return "atom"; } case "*": case "-": case "+": case "^": if (stream.match(peek)) { return "atom"; } case "$": if (stream.match("$$")) { return "builtin"; } else if (stream.match(/[$][0-9]+/)) { return "variable-3"; } case "<": if (stream.match(/<<[a-zA-Z_]+>>/)) { return "builtin"; } } if (stream.match(/^\/\//)) { stream.skipToEnd(); return "comment"; } else if (stream.match(/return/)) { return "operator"; } else if (stream.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)) { if (stream.match(/(?=[\(.])/)) { return "variable"; } else if (stream.match(/(?=[\s\n]*[:=])/)) { return "def"; } return "variable-2"; } else if (["[", "]", "(", ")"].indexOf(stream.peek()) != -1) { stream.next(); return "bracket"; } else if (!stream.eatSpace()) { stream.next(); } return null; } }; }); CodeMirror.defineMIME("text/x-ebnf", "ebnf"); }); wp-file-manager/lib/codemirror/mode/ebnf/index.html000064400000004622151202472330016270 0ustar00 CodeMirror: EBNF Mode

        EBNF Mode (bracesMode setting = "javascript")

        The EBNF Mode

        Created by Robert Plummer

        wp-file-manager/lib/codemirror/mode/ecl/ecl.js000064400000021213151202472330015220 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("ecl", function(config) { function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } function metaHook(stream, state) { if (!state.startOfLine) return false; stream.skipToEnd(); return "meta"; } var indentUnit = config.indentUnit; var keyword = words("abs acos allnodes ascii asin asstring atan atan2 ave case choose choosen choosesets clustersize combine correlation cos cosh count covariance cron dataset dedup define denormalize distribute distributed distribution ebcdic enth error evaluate event eventextra eventname exists exp failcode failmessage fetch fromunicode getisvalid global graph group hash hash32 hash64 hashcrc hashmd5 having if index intformat isvalid iterate join keyunicode length library limit ln local log loop map matched matchlength matchposition matchtext matchunicode max merge mergejoin min nolocal nonempty normalize parse pipe power preload process project pull random range rank ranked realformat recordof regexfind regexreplace regroup rejected rollup round roundup row rowdiff sample set sin sinh sizeof soapcall sort sorted sqrt stepped stored sum table tan tanh thisnode topn tounicode transfer trim truncate typeof ungroup unicodeorder variance which workunit xmldecode xmlencode xmltext xmlunicode"); var variable = words("apply assert build buildindex evaluate fail keydiff keypatch loadxml nothor notify output parallel sequential soapcall wait"); var variable_2 = words("__compressed__ all and any as atmost before beginc++ best between case const counter csv descend encrypt end endc++ endmacro except exclusive expire export extend false few first flat from full function group header heading hole ifblock import in interface joined keep keyed last left limit load local locale lookup macro many maxcount maxlength min skew module named nocase noroot noscan nosort not of only opt or outer overwrite packed partition penalty physicallength pipe quote record relationship repeat return right scan self separator service shared skew skip sql store terminator thor threshold token transform trim true type unicodeorder unsorted validate virtual whole wild within xml xpath"); var variable_3 = words("ascii big_endian boolean data decimal ebcdic integer pattern qstring real record rule set of string token udecimal unicode unsigned varstring varunicode"); var builtin = words("checkpoint deprecated failcode failmessage failure global independent onwarning persist priority recovery stored success wait when"); var blockKeywords = words("catch class do else finally for if switch try while"); var atoms = words("true false null"); var hooks = {"#": metaHook}; var isOperatorChar = /[+\-*&%=<>!?|\/]/; var curPunc; function tokenBase(stream, state) { var ch = stream.next(); if (hooks[ch]) { var result = hooks[ch](stream, state); if (result !== false) return result; } if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (/[\[\]{}\(\),;\:\.]/.test(ch)) { curPunc = ch; return null; } if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } if (ch == "/") { if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\$_]/); var cur = stream.current().toLowerCase(); if (keyword.propertyIsEnumerable(cur)) { if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement"; return "keyword"; } else if (variable.propertyIsEnumerable(cur)) { if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement"; return "variable"; } else if (variable_2.propertyIsEnumerable(cur)) { if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement"; return "variable-2"; } else if (variable_3.propertyIsEnumerable(cur)) { if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement"; return "variable-3"; } else if (builtin.propertyIsEnumerable(cur)) { if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement"; return "builtin"; } else { //Data types are of from KEYWORD## var i = cur.length - 1; while(i >= 0 && (!isNaN(cur[i]) || cur[i] == '_')) --i; if (i > 0) { var cur2 = cur.substr(0, i + 1); if (variable_3.propertyIsEnumerable(cur2)) { if (blockKeywords.propertyIsEnumerable(cur2)) curPunc = "newstatement"; return "variable-3"; } } } if (atoms.propertyIsEnumerable(cur)) return "atom"; return null; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) {end = true; break;} escaped = !escaped && next == "\\"; } if (end || !escaped) state.tokenize = tokenBase; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { return state.context = new Context(state.indented, col, type, null, state.context); } function popContext(state) { var t = state.context.type; if (t == ")" || t == "]" || t == "}") state.indented = state.context.indented; return state.context = state.context.prev; } // Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) return null; curPunc = null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment" || style == "meta") return style; if (ctx.align == null) ctx.align = true; if ((curPunc == ";" || curPunc == ":") && ctx.type == "statement") popContext(state); else if (curPunc == "{") pushContext(state, stream.column(), "}"); else if (curPunc == "[") pushContext(state, stream.column(), "]"); else if (curPunc == "(") pushContext(state, stream.column(), ")"); else if (curPunc == "}") { while (ctx.type == "statement") ctx = popContext(state); if (ctx.type == "}") ctx = popContext(state); while (ctx.type == "statement") ctx = popContext(state); } else if (curPunc == ctx.type) popContext(state); else if (ctx.type == "}" || ctx.type == "top" || (ctx.type == "statement" && curPunc == "newstatement")) pushContext(state, stream.column(), "statement"); state.startOfLine = false; return style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase && state.tokenize != null) return 0; var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev; var closing = firstChar == ctx.type; if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : indentUnit); else if (ctx.align) return ctx.column + (closing ? 0 : 1); else return ctx.indented + (closing ? 0 : indentUnit); }, electricChars: "{}" }; }); CodeMirror.defineMIME("text/x-ecl", "ecl"); }); wp-file-manager/lib/codemirror/mode/ecl/index.html000064400000002601151202472330016114 0ustar00 CodeMirror: ECL mode

        ECL mode

        Based on CodeMirror's clike mode. For more information see HPCC Systems web site.

        MIME types defined: text/x-ecl.

        wp-file-manager/lib/codemirror/mode/eiffel/eiffel.js000064400000007240151202472330016402 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("eiffel", function() { function wordObj(words) { var o = {}; for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true; return o; } var keywords = wordObj([ 'note', 'across', 'when', 'variant', 'until', 'unique', 'undefine', 'then', 'strip', 'select', 'retry', 'rescue', 'require', 'rename', 'reference', 'redefine', 'prefix', 'once', 'old', 'obsolete', 'loop', 'local', 'like', 'is', 'inspect', 'infix', 'include', 'if', 'frozen', 'from', 'external', 'export', 'ensure', 'end', 'elseif', 'else', 'do', 'creation', 'create', 'check', 'alias', 'agent', 'separate', 'invariant', 'inherit', 'indexing', 'feature', 'expanded', 'deferred', 'class', 'Void', 'True', 'Result', 'Precursor', 'False', 'Current', 'create', 'attached', 'detachable', 'as', 'and', 'implies', 'not', 'or' ]); var operators = wordObj([":=", "and then","and", "or","<<",">>"]); function chain(newtok, stream, state) { state.tokenize.push(newtok); return newtok(stream, state); } function tokenBase(stream, state) { if (stream.eatSpace()) return null; var ch = stream.next(); if (ch == '"'||ch == "'") { return chain(readQuoted(ch, "string"), stream, state); } else if (ch == "-"&&stream.eat("-")) { stream.skipToEnd(); return "comment"; } else if (ch == ":"&&stream.eat("=")) { return "operator"; } else if (/[0-9]/.test(ch)) { stream.eatWhile(/[xXbBCc0-9\.]/); stream.eat(/[\?\!]/); return "ident"; } else if (/[a-zA-Z_0-9]/.test(ch)) { stream.eatWhile(/[a-zA-Z_0-9]/); stream.eat(/[\?\!]/); return "ident"; } else if (/[=+\-\/*^%<>~]/.test(ch)) { stream.eatWhile(/[=+\-\/*^%<>~]/); return "operator"; } else { return null; } } function readQuoted(quote, style, unescaped) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && (unescaped || !escaped)) { state.tokenize.pop(); break; } escaped = !escaped && ch == "%"; } return style; }; } return { startState: function() { return {tokenize: [tokenBase]}; }, token: function(stream, state) { var style = state.tokenize[state.tokenize.length-1](stream, state); if (style == "ident") { var word = stream.current(); style = keywords.propertyIsEnumerable(stream.current()) ? "keyword" : operators.propertyIsEnumerable(stream.current()) ? "operator" : /^[A-Z][A-Z_0-9]*$/g.test(word) ? "tag" : /^0[bB][0-1]+$/g.test(word) ? "number" : /^0[cC][0-7]+$/g.test(word) ? "number" : /^0[xX][a-fA-F0-9]+$/g.test(word) ? "number" : /^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(word) ? "number" : /^[0-9]+$/g.test(word) ? "number" : "variable"; } return style; }, lineComment: "--" }; }); CodeMirror.defineMIME("text/x-eiffel", "eiffel"); }); wp-file-manager/lib/codemirror/mode/eiffel/index.html000064400000031616151202472330016613 0ustar00 CodeMirror: Eiffel mode

        Eiffel mode

        MIME types defined: text/x-eiffel.

        Created by YNH.

        wp-file-manager/lib/codemirror/mode/elm/elm.js000064400000012660151202472330015252 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("elm", function() { function switchState(source, setState, f) { setState(f); return f(source, setState); } // These should all be Unicode extended, as per the Haskell 2010 report var smallRE = /[a-z_]/; var largeRE = /[A-Z]/; var digitRE = /[0-9]/; var hexitRE = /[0-9A-Fa-f]/; var octitRE = /[0-7]/; var idRE = /[a-z_A-Z0-9\']/; var symbolRE = /[-!#$%&*+.\/<=>?@\\^|~:\u03BB\u2192]/; var specialRE = /[(),;[\]`{}]/; var whiteCharRE = /[ \t\v\f]/; // newlines are handled in tokenizer function normal() { return function (source, setState) { if (source.eatWhile(whiteCharRE)) { return null; } var ch = source.next(); if (specialRE.test(ch)) { if (ch == '{' && source.eat('-')) { var t = "comment"; if (source.eat('#')) t = "meta"; return switchState(source, setState, ncomment(t, 1)); } return null; } if (ch == '\'') { if (source.eat('\\')) source.next(); // should handle other escapes here else source.next(); if (source.eat('\'')) return "string"; return "error"; } if (ch == '"') { return switchState(source, setState, stringLiteral); } if (largeRE.test(ch)) { source.eatWhile(idRE); if (source.eat('.')) return "qualifier"; return "variable-2"; } if (smallRE.test(ch)) { var isDef = source.pos === 1; source.eatWhile(idRE); return isDef ? "variable-3" : "variable"; } if (digitRE.test(ch)) { if (ch == '0') { if (source.eat(/[xX]/)) { source.eatWhile(hexitRE); // should require at least 1 return "integer"; } if (source.eat(/[oO]/)) { source.eatWhile(octitRE); // should require at least 1 return "number"; } } source.eatWhile(digitRE); var t = "number"; if (source.eat('.')) { t = "number"; source.eatWhile(digitRE); // should require at least 1 } if (source.eat(/[eE]/)) { t = "number"; source.eat(/[-+]/); source.eatWhile(digitRE); // should require at least 1 } return t; } if (symbolRE.test(ch)) { if (ch == '-' && source.eat(/-/)) { source.eatWhile(/-/); if (!source.eat(symbolRE)) { source.skipToEnd(); return "comment"; } } source.eatWhile(symbolRE); return "builtin"; } return "error"; } } function ncomment(type, nest) { if (nest == 0) { return normal(); } return function(source, setState) { var currNest = nest; while (!source.eol()) { var ch = source.next(); if (ch == '{' && source.eat('-')) { ++currNest; } else if (ch == '-' && source.eat('}')) { --currNest; if (currNest == 0) { setState(normal()); return type; } } } setState(ncomment(type, currNest)); return type; } } function stringLiteral(source, setState) { while (!source.eol()) { var ch = source.next(); if (ch == '"') { setState(normal()); return "string"; } if (ch == '\\') { if (source.eol() || source.eat(whiteCharRE)) { setState(stringGap); return "string"; } if (!source.eat('&')) source.next(); // should handle other escapes here } } setState(normal()); return "error"; } function stringGap(source, setState) { if (source.eat('\\')) { return switchState(source, setState, stringLiteral); } source.next(); setState(normal()); return "error"; } var wellKnownWords = (function() { var wkw = {}; var keywords = [ "case", "of", "as", "if", "then", "else", "let", "in", "infix", "infixl", "infixr", "type", "alias", "input", "output", "foreign", "loopback", "module", "where", "import", "exposing", "_", "..", "|", ":", "=", "\\", "\"", "->", "<-" ]; for (var i = keywords.length; i--;) wkw[keywords[i]] = "keyword"; return wkw; })(); return { startState: function () { return { f: normal() }; }, copyState: function (s) { return { f: s.f }; }, token: function(stream, state) { var t = state.f(stream, function(s) { state.f = s; }); var w = stream.current(); return (wellKnownWords.hasOwnProperty(w)) ? wellKnownWords[w] : t; } }; }); CodeMirror.defineMIME("text/x-elm", "elm"); }); wp-file-manager/lib/codemirror/mode/elm/index.html000064400000003150151202472330016126 0ustar00 CodeMirror: Elm mode

        Elm mode

        MIME types defined: text/x-elm.

        wp-file-manager/lib/codemirror/mode/erlang/erlang.js000064400000044645151202472330016450 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /*jshint unused:true, eqnull:true, curly:true, bitwise:true */ /*jshint undef:true, latedef:true, trailing:true */ /*global CodeMirror:true */ // erlang mode. // tokenizer -> token types -> CodeMirror styles // tokenizer maintains a parse stack // indenter uses the parse stack // TODO indenter: // bit syntax // old guard/bif/conversion clashes (e.g. "float/1") // type/spec/opaque (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMIME("text/x-erlang", "erlang"); CodeMirror.defineMode("erlang", function(cmCfg) { "use strict"; ///////////////////////////////////////////////////////////////////////////// // constants var typeWords = [ "-type", "-spec", "-export_type", "-opaque"]; var keywordWords = [ "after","begin","catch","case","cond","end","fun","if", "let","of","query","receive","try","when"]; var separatorRE = /[\->,;]/; var separatorWords = [ "->",";",","]; var operatorAtomWords = [ "and","andalso","band","bnot","bor","bsl","bsr","bxor", "div","not","or","orelse","rem","xor"]; var operatorSymbolRE = /[\+\-\*\/<>=\|:!]/; var operatorSymbolWords = [ "=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"]; var openParenRE = /[<\(\[\{]/; var openParenWords = [ "<<","(","[","{"]; var closeParenRE = /[>\)\]\}]/; var closeParenWords = [ "}","]",")",">>"]; var guardWords = [ "is_atom","is_binary","is_bitstring","is_boolean","is_float", "is_function","is_integer","is_list","is_number","is_pid", "is_port","is_record","is_reference","is_tuple", "atom","binary","bitstring","boolean","function","integer","list", "number","pid","port","record","reference","tuple"]; var bifWords = [ "abs","adler32","adler32_combine","alive","apply","atom_to_binary", "atom_to_list","binary_to_atom","binary_to_existing_atom", "binary_to_list","binary_to_term","bit_size","bitstring_to_list", "byte_size","check_process_code","contact_binary","crc32", "crc32_combine","date","decode_packet","delete_module", "disconnect_node","element","erase","exit","float","float_to_list", "garbage_collect","get","get_keys","group_leader","halt","hd", "integer_to_list","internal_bif","iolist_size","iolist_to_binary", "is_alive","is_atom","is_binary","is_bitstring","is_boolean", "is_float","is_function","is_integer","is_list","is_number","is_pid", "is_port","is_process_alive","is_record","is_reference","is_tuple", "length","link","list_to_atom","list_to_binary","list_to_bitstring", "list_to_existing_atom","list_to_float","list_to_integer", "list_to_pid","list_to_tuple","load_module","make_ref","module_loaded", "monitor_node","node","node_link","node_unlink","nodes","notalive", "now","open_port","pid_to_list","port_close","port_command", "port_connect","port_control","pre_loaded","process_flag", "process_info","processes","purge_module","put","register", "registered","round","self","setelement","size","spawn","spawn_link", "spawn_monitor","spawn_opt","split_binary","statistics", "term_to_binary","time","throw","tl","trunc","tuple_size", "tuple_to_list","unlink","unregister","whereis"]; // upper case: [A-Z] [Ø-Þ] [À-Ö] // lower case: [a-z] [ß-ö] [ø-ÿ] var anumRE = /[\w@Ø-ÞÀ-Öß-öø-ÿ]/; var escapesRE = /[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/; ///////////////////////////////////////////////////////////////////////////// // tokenizer function tokenizer(stream,state) { // in multi-line string if (state.in_string) { state.in_string = (!doubleQuote(stream)); return rval(state,stream,"string"); } // in multi-line atom if (state.in_atom) { state.in_atom = (!singleQuote(stream)); return rval(state,stream,"atom"); } // whitespace if (stream.eatSpace()) { return rval(state,stream,"whitespace"); } // attributes and type specs if (!peekToken(state) && stream.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/)) { if (is_member(stream.current(),typeWords)) { return rval(state,stream,"type"); }else{ return rval(state,stream,"attribute"); } } var ch = stream.next(); // comment if (ch == '%') { stream.skipToEnd(); return rval(state,stream,"comment"); } // colon if (ch == ":") { return rval(state,stream,"colon"); } // macro if (ch == '?') { stream.eatSpace(); stream.eatWhile(anumRE); return rval(state,stream,"macro"); } // record if (ch == "#") { stream.eatSpace(); stream.eatWhile(anumRE); return rval(state,stream,"record"); } // dollar escape if (ch == "$") { if (stream.next() == "\\" && !stream.match(escapesRE)) { return rval(state,stream,"error"); } return rval(state,stream,"number"); } // dot if (ch == ".") { return rval(state,stream,"dot"); } // quoted atom if (ch == '\'') { if (!(state.in_atom = (!singleQuote(stream)))) { if (stream.match(/\s*\/\s*[0-9]/,false)) { stream.match(/\s*\/\s*[0-9]/,true); return rval(state,stream,"fun"); // 'f'/0 style fun } if (stream.match(/\s*\(/,false) || stream.match(/\s*:/,false)) { return rval(state,stream,"function"); } } return rval(state,stream,"atom"); } // string if (ch == '"') { state.in_string = (!doubleQuote(stream)); return rval(state,stream,"string"); } // variable if (/[A-Z_Ø-ÞÀ-Ö]/.test(ch)) { stream.eatWhile(anumRE); return rval(state,stream,"variable"); } // atom/keyword/BIF/function if (/[a-z_ß-öø-ÿ]/.test(ch)) { stream.eatWhile(anumRE); if (stream.match(/\s*\/\s*[0-9]/,false)) { stream.match(/\s*\/\s*[0-9]/,true); return rval(state,stream,"fun"); // f/0 style fun } var w = stream.current(); if (is_member(w,keywordWords)) { return rval(state,stream,"keyword"); }else if (is_member(w,operatorAtomWords)) { return rval(state,stream,"operator"); }else if (stream.match(/\s*\(/,false)) { // 'put' and 'erlang:put' are bifs, 'foo:put' is not if (is_member(w,bifWords) && ((peekToken(state).token != ":") || (peekToken(state,2).token == "erlang"))) { return rval(state,stream,"builtin"); }else if (is_member(w,guardWords)) { return rval(state,stream,"guard"); }else{ return rval(state,stream,"function"); } }else if (lookahead(stream) == ":") { if (w == "erlang") { return rval(state,stream,"builtin"); } else { return rval(state,stream,"function"); } }else if (is_member(w,["true","false"])) { return rval(state,stream,"boolean"); }else{ return rval(state,stream,"atom"); } } // number var digitRE = /[0-9]/; var radixRE = /[0-9a-zA-Z]/; // 36#zZ style int if (digitRE.test(ch)) { stream.eatWhile(digitRE); if (stream.eat('#')) { // 36#aZ style integer if (!stream.eatWhile(radixRE)) { stream.backUp(1); //"36#" - syntax error } } else if (stream.eat('.')) { // float if (!stream.eatWhile(digitRE)) { stream.backUp(1); // "3." - probably end of function } else { if (stream.eat(/[eE]/)) { // float with exponent if (stream.eat(/[-+]/)) { if (!stream.eatWhile(digitRE)) { stream.backUp(2); // "2e-" - syntax error } } else { if (!stream.eatWhile(digitRE)) { stream.backUp(1); // "2e" - syntax error } } } } } return rval(state,stream,"number"); // normal integer } // open parens if (nongreedy(stream,openParenRE,openParenWords)) { return rval(state,stream,"open_paren"); } // close parens if (nongreedy(stream,closeParenRE,closeParenWords)) { return rval(state,stream,"close_paren"); } // separators if (greedy(stream,separatorRE,separatorWords)) { return rval(state,stream,"separator"); } // operators if (greedy(stream,operatorSymbolRE,operatorSymbolWords)) { return rval(state,stream,"operator"); } return rval(state,stream,null); } ///////////////////////////////////////////////////////////////////////////// // utilities function nongreedy(stream,re,words) { if (stream.current().length == 1 && re.test(stream.current())) { stream.backUp(1); while (re.test(stream.peek())) { stream.next(); if (is_member(stream.current(),words)) { return true; } } stream.backUp(stream.current().length-1); } return false; } function greedy(stream,re,words) { if (stream.current().length == 1 && re.test(stream.current())) { while (re.test(stream.peek())) { stream.next(); } while (0 < stream.current().length) { if (is_member(stream.current(),words)) { return true; }else{ stream.backUp(1); } } stream.next(); } return false; } function doubleQuote(stream) { return quote(stream, '"', '\\'); } function singleQuote(stream) { return quote(stream,'\'','\\'); } function quote(stream,quoteChar,escapeChar) { while (!stream.eol()) { var ch = stream.next(); if (ch == quoteChar) { return true; }else if (ch == escapeChar) { stream.next(); } } return false; } function lookahead(stream) { var m = stream.match(/([\n\s]+|%[^\n]*\n)*(.)/,false); return m ? m.pop() : ""; } function is_member(element,list) { return (-1 < list.indexOf(element)); } function rval(state,stream,type) { // parse stack pushToken(state,realToken(type,stream)); // map erlang token type to CodeMirror style class // erlang -> CodeMirror tag switch (type) { case "atom": return "atom"; case "attribute": return "attribute"; case "boolean": return "atom"; case "builtin": return "builtin"; case "close_paren": return null; case "colon": return null; case "comment": return "comment"; case "dot": return null; case "error": return "error"; case "fun": return "meta"; case "function": return "tag"; case "guard": return "property"; case "keyword": return "keyword"; case "macro": return "variable-2"; case "number": return "number"; case "open_paren": return null; case "operator": return "operator"; case "record": return "bracket"; case "separator": return null; case "string": return "string"; case "type": return "def"; case "variable": return "variable"; default: return null; } } function aToken(tok,col,ind,typ) { return {token: tok, column: col, indent: ind, type: typ}; } function realToken(type,stream) { return aToken(stream.current(), stream.column(), stream.indentation(), type); } function fakeToken(type) { return aToken(type,0,0,type); } function peekToken(state,depth) { var len = state.tokenStack.length; var dep = (depth ? depth : 1); if (len < dep) { return false; }else{ return state.tokenStack[len-dep]; } } function pushToken(state,token) { if (!(token.type == "comment" || token.type == "whitespace")) { state.tokenStack = maybe_drop_pre(state.tokenStack,token); state.tokenStack = maybe_drop_post(state.tokenStack); } } function maybe_drop_pre(s,token) { var last = s.length-1; if (0 < last && s[last].type === "record" && token.type === "dot") { s.pop(); }else if (0 < last && s[last].type === "group") { s.pop(); s.push(token); }else{ s.push(token); } return s; } function maybe_drop_post(s) { var last = s.length-1; if (s[last].type === "dot") { return []; } if (s[last].type === "fun" && s[last-1].token === "fun") { return s.slice(0,last-1); } switch (s[s.length-1].token) { case "}": return d(s,{g:["{"]}); case "]": return d(s,{i:["["]}); case ")": return d(s,{i:["("]}); case ">>": return d(s,{i:["<<"]}); case "end": return d(s,{i:["begin","case","fun","if","receive","try"]}); case ",": return d(s,{e:["begin","try","when","->", ",","(","[","{","<<"]}); case "->": return d(s,{r:["when"], m:["try","if","case","receive"]}); case ";": return d(s,{E:["case","fun","if","receive","try","when"]}); case "catch":return d(s,{e:["try"]}); case "of": return d(s,{e:["case"]}); case "after":return d(s,{e:["receive","try"]}); default: return s; } } function d(stack,tt) { // stack is a stack of Token objects. // tt is an object; {type:tokens} // type is a char, tokens is a list of token strings. // The function returns (possibly truncated) stack. // It will descend the stack, looking for a Token such that Token.token // is a member of tokens. If it does not find that, it will normally (but // see "E" below) return stack. If it does find a match, it will remove // all the Tokens between the top and the matched Token. // If type is "m", that is all it does. // If type is "i", it will also remove the matched Token and the top Token. // If type is "g", like "i", but add a fake "group" token at the top. // If type is "r", it will remove the matched Token, but not the top Token. // If type is "e", it will keep the matched Token but not the top Token. // If type is "E", it behaves as for type "e", except if there is no match, // in which case it will return an empty stack. for (var type in tt) { var len = stack.length-1; var tokens = tt[type]; for (var i = len-1; -1 < i ; i--) { if (is_member(stack[i].token,tokens)) { var ss = stack.slice(0,i); switch (type) { case "m": return ss.concat(stack[i]).concat(stack[len]); case "r": return ss.concat(stack[len]); case "i": return ss; case "g": return ss.concat(fakeToken("group")); case "E": return ss.concat(stack[i]); case "e": return ss.concat(stack[i]); } } } } return (type == "E" ? [] : stack); } ///////////////////////////////////////////////////////////////////////////// // indenter function indenter(state,textAfter) { var t; var unit = cmCfg.indentUnit; var wordAfter = wordafter(textAfter); var currT = peekToken(state,1); var prevT = peekToken(state,2); if (state.in_string || state.in_atom) { return CodeMirror.Pass; }else if (!prevT) { return 0; }else if (currT.token == "when") { return currT.column+unit; }else if (wordAfter === "when" && prevT.type === "function") { return prevT.indent+unit; }else if (wordAfter === "(" && currT.token === "fun") { return currT.column+3; }else if (wordAfter === "catch" && (t = getToken(state,["try"]))) { return t.column; }else if (is_member(wordAfter,["end","after","of"])) { t = getToken(state,["begin","case","fun","if","receive","try"]); return t ? t.column : CodeMirror.Pass; }else if (is_member(wordAfter,closeParenWords)) { t = getToken(state,openParenWords); return t ? t.column : CodeMirror.Pass; }else if (is_member(currT.token,[",","|","||"]) || is_member(wordAfter,[",","|","||"])) { t = postcommaToken(state); return t ? t.column+t.token.length : unit; }else if (currT.token == "->") { if (is_member(prevT.token, ["receive","case","if","try"])) { return prevT.column+unit+unit; }else{ return prevT.column+unit; } }else if (is_member(currT.token,openParenWords)) { return currT.column+currT.token.length; }else{ t = defaultToken(state); return truthy(t) ? t.column+unit : 0; } } function wordafter(str) { var m = str.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/); return truthy(m) && (m.index === 0) ? m[0] : ""; } function postcommaToken(state) { var objs = state.tokenStack.slice(0,-1); var i = getTokenIndex(objs,"type",["open_paren"]); return truthy(objs[i]) ? objs[i] : false; } function defaultToken(state) { var objs = state.tokenStack; var stop = getTokenIndex(objs,"type",["open_paren","separator","keyword"]); var oper = getTokenIndex(objs,"type",["operator"]); if (truthy(stop) && truthy(oper) && stop < oper) { return objs[stop+1]; } else if (truthy(stop)) { return objs[stop]; } else { return false; } } function getToken(state,tokens) { var objs = state.tokenStack; var i = getTokenIndex(objs,"token",tokens); return truthy(objs[i]) ? objs[i] : false; } function getTokenIndex(objs,propname,propvals) { for (var i = objs.length-1; -1 < i ; i--) { if (is_member(objs[i][propname],propvals)) { return i; } } return false; } function truthy(x) { return (x !== false) && (x != null); } ///////////////////////////////////////////////////////////////////////////// // this object defines the mode return { startState: function() { return {tokenStack: [], in_string: false, in_atom: false}; }, token: function(stream, state) { return tokenizer(stream, state); }, indent: function(state, textAfter) { return indenter(state,textAfter); }, lineComment: "%" }; }); }); wp-file-manager/lib/codemirror/mode/erlang/index.html000064400000004170151202472330016624 0ustar00 CodeMirror: Erlang mode

        Erlang mode

        MIME types defined: text/x-erlang.

        wp-file-manager/lib/codemirror/mode/factor/factor.js000064400000005547151202472330016462 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Factor syntax highlight - simple mode // // by Dimage Sapelkin (https://github.com/kerabromsmu) (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../../addon/mode/simple")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../../addon/mode/simple"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineSimpleMode("factor", { // The start state contains the rules that are intially used start: [ // comments {regex: /#?!.*/, token: "comment"}, // strings """, multiline --> state {regex: /"""/, token: "string", next: "string3"}, {regex: /"/, token: "string", next: "string"}, // numbers: dec, hex, unicode, bin, fractional, complex {regex: /(?:[+-]?)(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\d+.?\d*)/, token: "number"}, //{regex: /[+-]?/} //fractional // definition: defining word, defined word, etc {regex: /(\:)(\s+)(\S+)(\s+)(\()/, token: ["keyword", null, "def", null, "keyword"], next: "stack"}, // vocabulary using --> state {regex: /USING\:/, token: "keyword", next: "vocabulary"}, // vocabulary definition/use {regex: /(USE\:|IN\:)(\s+)(\S+)/, token: ["keyword", null, "variable-2"]}, // {regex: /<\S+>/, token: "builtin"}, // "keywords", incl. ; t f . [ ] { } defining words {regex: /;|t|f|if|\.|\[|\]|\{|\}|MAIN:/, token: "keyword"}, // any id (?) {regex: /\S+/, token: "variable"}, { regex: /./, token: null } ], vocabulary: [ {regex: /;/, token: "keyword", next: "start"}, {regex: /\S+/, token: "variable-2"}, { regex: /./, token: null } ], string: [ {regex: /(?:[^\\]|\\.)*?"/, token: "string", next: "start"}, {regex: /.*/, token: "string"} ], string3: [ {regex: /(?:[^\\]|\\.)*?"""/, token: "string", next: "start"}, {regex: /.*/, token: "string"} ], stack: [ {regex: /\)/, token: "meta", next: "start"}, {regex: /--/, token: "meta"}, {regex: /\S+/, token: "variable-3"}, { regex: /./, token: null } ], // The meta property contains global information about the mode. It // can contain properties like lineComment, which are supported by // all modes, and also directives like dontIndentStates, which are // specific to simple modes. meta: { dontIndentStates: ["start", "vocabulary", "string", "string3", "stack"], lineComment: [ "!", "#!" ] } }); CodeMirror.defineMIME("text/x-factor", "factor"); }); wp-file-manager/lib/codemirror/mode/factor/index.html000064400000003750151202472330016635 0ustar00 CodeMirror: Factor mode

        Factor mode

        Simple mode that handles Factor Syntax (Factor on WikiPedia).

        MIME types defined: text/x-factor.

        wp-file-manager/lib/codemirror/mode/fcl/fcl.js000064400000011137151202472330015226 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("fcl", function(config) { var indentUnit = config.indentUnit; var keywords = { "term": true, "method": true, "accu": true, "rule": true, "then": true, "is": true, "and": true, "or": true, "if": true, "default": true }; var start_blocks = { "var_input": true, "var_output": true, "fuzzify": true, "defuzzify": true, "function_block": true, "ruleblock": true }; var end_blocks = { "end_ruleblock": true, "end_defuzzify": true, "end_function_block": true, "end_fuzzify": true, "end_var": true }; var atoms = { "true": true, "false": true, "nan": true, "real": true, "min": true, "max": true, "cog": true, "cogs": true }; var isOperatorChar = /[+\-*&^%:=<>!|\/]/; function tokenBase(stream, state) { var ch = stream.next(); if (/[\d\.]/.test(ch)) { if (ch == ".") { stream.match(/^[0-9]+([eE][\-+]?[0-9]+)?/); } else if (ch == "0") { stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/); } else { stream.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/); } return "number"; } if (ch == "/" || ch == "(") { if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\$_\xa1-\uffff]/); var cur = stream.current().toLowerCase(); if (keywords.propertyIsEnumerable(cur) || start_blocks.propertyIsEnumerable(cur) || end_blocks.propertyIsEnumerable(cur)) { return "keyword"; } if (atoms.propertyIsEnumerable(cur)) return "atom"; return "variable"; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if ((ch == "/" || ch == ")") && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { return state.context = new Context(state.indented, col, type, null, state.context); } function popContext(state) { if (!state.context.prev) return; var t = state.context.type; if (t == "end_block") state.indented = state.context.indented; return state.context = state.context.prev; } // Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) return null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment") return style; if (ctx.align == null) ctx.align = true; var cur = stream.current().toLowerCase(); if (start_blocks.propertyIsEnumerable(cur)) pushContext(state, stream.column(), "end_block"); else if (end_blocks.propertyIsEnumerable(cur)) popContext(state); state.startOfLine = false; return style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase && state.tokenize != null) return 0; var ctx = state.context; var closing = end_blocks.propertyIsEnumerable(textAfter); if (ctx.align) return ctx.column + (closing ? 0 : 1); else return ctx.indented + (closing ? 0 : indentUnit); }, electricChars: "ryk", fold: "brace", blockCommentStart: "(*", blockCommentEnd: "*)", lineComment: "//" }; }); CodeMirror.defineMIME("text/x-fcl", "fcl"); }); wp-file-manager/lib/codemirror/mode/fcl/index.html000064400000006023151202472330016117 0ustar00 CodeMirror: FCL mode

        FCL mode

        MIME type: text/x-fcl

        wp-file-manager/lib/codemirror/mode/forth/forth.js000064400000012156151202472330016164 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Author: Aliaksei Chapyzhenka (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function toWordList(words) { var ret = []; words.split(' ').forEach(function(e){ ret.push({name: e}); }); return ret; } var coreWordList = toWordList( 'INVERT AND OR XOR\ 2* 2/ LSHIFT RSHIFT\ 0= = 0< < > U< MIN MAX\ 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP\ >R R> R@\ + - 1+ 1- ABS NEGATE\ S>D * M* UM*\ FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD\ HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2!\ ALIGN ALIGNED +! ALLOT\ CHAR [CHAR] [ ] BL\ FIND EXECUTE IMMEDIATE COUNT LITERAL STATE\ ; DOES> >BODY\ EVALUATE\ SOURCE >IN\ <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL\ FILL MOVE\ . CR EMIT SPACE SPACES TYPE U. .R U.R\ ACCEPT\ TRUE FALSE\ <> U> 0<> 0>\ NIP TUCK ROLL PICK\ 2>R 2R@ 2R>\ WITHIN UNUSED MARKER\ I J\ TO\ COMPILE, [COMPILE]\ SAVE-INPUT RESTORE-INPUT\ PAD ERASE\ 2LITERAL DNEGATE\ D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS\ M+ M*/ D. D.R 2ROT DU<\ CATCH THROW\ FREE RESIZE ALLOCATE\ CS-PICK CS-ROLL\ GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER\ PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER\ -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL'); var immediateWordList = toWordList('IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE'); CodeMirror.defineMode('forth', function() { function searchWordList (wordList, word) { var i; for (i = wordList.length - 1; i >= 0; i--) { if (wordList[i].name === word.toUpperCase()) { return wordList[i]; } } return undefined; } return { startState: function() { return { state: '', base: 10, coreWordList: coreWordList, immediateWordList: immediateWordList, wordList: [] }; }, token: function (stream, stt) { var mat; if (stream.eatSpace()) { return null; } if (stt.state === '') { // interpretation if (stream.match(/^(\]|:NONAME)(\s|$)/i)) { stt.state = ' compilation'; return 'builtin compilation'; } mat = stream.match(/^(\:)\s+(\S+)(\s|$)+/); if (mat) { stt.wordList.push({name: mat[2].toUpperCase()}); stt.state = ' compilation'; return 'def' + stt.state; } mat = stream.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i); if (mat) { stt.wordList.push({name: mat[2].toUpperCase()}); return 'def' + stt.state; } mat = stream.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/); if (mat) { return 'builtin' + stt.state; } } else { // compilation // ; [ if (stream.match(/^(\;|\[)(\s)/)) { stt.state = ''; stream.backUp(1); return 'builtin compilation'; } if (stream.match(/^(\;|\[)($)/)) { stt.state = ''; return 'builtin compilation'; } if (stream.match(/^(POSTPONE)\s+\S+(\s|$)+/)) { return 'builtin'; } } // dynamic wordlist mat = stream.match(/^(\S+)(\s+|$)/); if (mat) { if (searchWordList(stt.wordList, mat[1]) !== undefined) { return 'variable' + stt.state; } // comments if (mat[1] === '\\') { stream.skipToEnd(); return 'comment' + stt.state; } // core words if (searchWordList(stt.coreWordList, mat[1]) !== undefined) { return 'builtin' + stt.state; } if (searchWordList(stt.immediateWordList, mat[1]) !== undefined) { return 'keyword' + stt.state; } if (mat[1] === '(') { stream.eatWhile(function (s) { return s !== ')'; }); stream.eat(')'); return 'comment' + stt.state; } // // strings if (mat[1] === '.(') { stream.eatWhile(function (s) { return s !== ')'; }); stream.eat(')'); return 'string' + stt.state; } if (mat[1] === 'S"' || mat[1] === '."' || mat[1] === 'C"') { stream.eatWhile(function (s) { return s !== '"'; }); stream.eat('"'); return 'string' + stt.state; } // numbers if (mat[1] - 0xfffffffff) { return 'number' + stt.state; } // if (mat[1].match(/^[-+]?[0-9]+\.[0-9]*/)) { // return 'number' + stt.state; // } return 'atom' + stt.state; } } }; }); CodeMirror.defineMIME("text/x-forth", "forth"); }); wp-file-manager/lib/codemirror/mode/forth/index.html000064400000003367151202472330016505 0ustar00 CodeMirror: Forth mode

        Forth mode

        Simple mode that handle Forth-Syntax (Forth on WikiPedia).

        MIME types defined: text/x-forth.

        wp-file-manager/lib/codemirror/mode/fortran/fortran.js000064400000020756151202472330017053 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("fortran", function() { function words(array) { var keys = {}; for (var i = 0; i < array.length; ++i) { keys[array[i]] = true; } return keys; } var keywords = words([ "abstract", "accept", "allocatable", "allocate", "array", "assign", "asynchronous", "backspace", "bind", "block", "byte", "call", "case", "class", "close", "common", "contains", "continue", "cycle", "data", "deallocate", "decode", "deferred", "dimension", "do", "elemental", "else", "encode", "end", "endif", "entry", "enumerator", "equivalence", "exit", "external", "extrinsic", "final", "forall", "format", "function", "generic", "go", "goto", "if", "implicit", "import", "include", "inquire", "intent", "interface", "intrinsic", "module", "namelist", "non_intrinsic", "non_overridable", "none", "nopass", "nullify", "open", "optional", "options", "parameter", "pass", "pause", "pointer", "print", "private", "program", "protected", "public", "pure", "read", "recursive", "result", "return", "rewind", "save", "select", "sequence", "stop", "subroutine", "target", "then", "to", "type", "use", "value", "volatile", "where", "while", "write"]); var builtins = words(["abort", "abs", "access", "achar", "acos", "adjustl", "adjustr", "aimag", "aint", "alarm", "all", "allocated", "alog", "amax", "amin", "amod", "and", "anint", "any", "asin", "associated", "atan", "besj", "besjn", "besy", "besyn", "bit_size", "btest", "cabs", "ccos", "ceiling", "cexp", "char", "chdir", "chmod", "clog", "cmplx", "command_argument_count", "complex", "conjg", "cos", "cosh", "count", "cpu_time", "cshift", "csin", "csqrt", "ctime", "c_funloc", "c_loc", "c_associated", "c_null_ptr", "c_null_funptr", "c_f_pointer", "c_null_char", "c_alert", "c_backspace", "c_form_feed", "c_new_line", "c_carriage_return", "c_horizontal_tab", "c_vertical_tab", "dabs", "dacos", "dasin", "datan", "date_and_time", "dbesj", "dbesj", "dbesjn", "dbesy", "dbesy", "dbesyn", "dble", "dcos", "dcosh", "ddim", "derf", "derfc", "dexp", "digits", "dim", "dint", "dlog", "dlog", "dmax", "dmin", "dmod", "dnint", "dot_product", "dprod", "dsign", "dsinh", "dsin", "dsqrt", "dtanh", "dtan", "dtime", "eoshift", "epsilon", "erf", "erfc", "etime", "exit", "exp", "exponent", "extends_type_of", "fdate", "fget", "fgetc", "float", "floor", "flush", "fnum", "fputc", "fput", "fraction", "fseek", "fstat", "ftell", "gerror", "getarg", "get_command", "get_command_argument", "get_environment_variable", "getcwd", "getenv", "getgid", "getlog", "getpid", "getuid", "gmtime", "hostnm", "huge", "iabs", "iachar", "iand", "iargc", "ibclr", "ibits", "ibset", "ichar", "idate", "idim", "idint", "idnint", "ieor", "ierrno", "ifix", "imag", "imagpart", "index", "int", "ior", "irand", "isatty", "ishft", "ishftc", "isign", "iso_c_binding", "is_iostat_end", "is_iostat_eor", "itime", "kill", "kind", "lbound", "len", "len_trim", "lge", "lgt", "link", "lle", "llt", "lnblnk", "loc", "log", "logical", "long", "lshift", "lstat", "ltime", "matmul", "max", "maxexponent", "maxloc", "maxval", "mclock", "merge", "move_alloc", "min", "minexponent", "minloc", "minval", "mod", "modulo", "mvbits", "nearest", "new_line", "nint", "not", "or", "pack", "perror", "precision", "present", "product", "radix", "rand", "random_number", "random_seed", "range", "real", "realpart", "rename", "repeat", "reshape", "rrspacing", "rshift", "same_type_as", "scale", "scan", "second", "selected_int_kind", "selected_real_kind", "set_exponent", "shape", "short", "sign", "signal", "sinh", "sin", "sleep", "sngl", "spacing", "spread", "sqrt", "srand", "stat", "sum", "symlnk", "system", "system_clock", "tan", "tanh", "time", "tiny", "transfer", "transpose", "trim", "ttynam", "ubound", "umask", "unlink", "unpack", "verify", "xor", "zabs", "zcos", "zexp", "zlog", "zsin", "zsqrt"]); var dataTypes = words(["c_bool", "c_char", "c_double", "c_double_complex", "c_float", "c_float_complex", "c_funptr", "c_int", "c_int16_t", "c_int32_t", "c_int64_t", "c_int8_t", "c_int_fast16_t", "c_int_fast32_t", "c_int_fast64_t", "c_int_fast8_t", "c_int_least16_t", "c_int_least32_t", "c_int_least64_t", "c_int_least8_t", "c_intmax_t", "c_intptr_t", "c_long", "c_long_double", "c_long_double_complex", "c_long_long", "c_ptr", "c_short", "c_signed_char", "c_size_t", "character", "complex", "double", "integer", "logical", "real"]); var isOperatorChar = /[+\-*&=<>\/\:]/; var litOperator = new RegExp("(\.and\.|\.or\.|\.eq\.|\.lt\.|\.le\.|\.gt\.|\.ge\.|\.ne\.|\.not\.|\.eqv\.|\.neqv\.)", "i"); function tokenBase(stream, state) { if (stream.match(litOperator)){ return 'operator'; } var ch = stream.next(); if (ch == "!") { stream.skipToEnd(); return "comment"; } if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (/[\[\]\(\),]/.test(ch)) { return null; } if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\$_]/); var word = stream.current().toLowerCase(); if (keywords.hasOwnProperty(word)){ return 'keyword'; } if (builtins.hasOwnProperty(word) || dataTypes.hasOwnProperty(word)) { return 'builtin'; } return "variable"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) { end = true; break; } escaped = !escaped && next == "\\"; } if (end || !escaped) state.tokenize = null; return "string"; }; } // Interface return { startState: function() { return {tokenize: null}; }, token: function(stream, state) { if (stream.eatSpace()) return null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment" || style == "meta") return style; return style; } }; }); CodeMirror.defineMIME("text/x-fortran", "fortran"); }); wp-file-manager/lib/codemirror/mode/fortran/index.html000064400000004674151202472330017040 0ustar00 CodeMirror: Fortran mode

        Fortran mode

        MIME types defined: text/x-fortran.

        wp-file-manager/lib/codemirror/mode/gas/gas.js000064400000021266151202472330015246 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("gas", function(_config, parserConfig) { 'use strict'; // If an architecture is specified, its initialization function may // populate this array with custom parsing functions which will be // tried in the event that the standard functions do not find a match. var custom = []; // The symbol used to start a line comment changes based on the target // architecture. // If no architecture is pased in "parserConfig" then only multiline // comments will have syntax support. var lineCommentStartSymbol = ""; // These directives are architecture independent. // Machine specific directives should go in their respective // architecture initialization function. // Reference: // http://sourceware.org/binutils/docs/as/Pseudo-Ops.html#Pseudo-Ops var directives = { ".abort" : "builtin", ".align" : "builtin", ".altmacro" : "builtin", ".ascii" : "builtin", ".asciz" : "builtin", ".balign" : "builtin", ".balignw" : "builtin", ".balignl" : "builtin", ".bundle_align_mode" : "builtin", ".bundle_lock" : "builtin", ".bundle_unlock" : "builtin", ".byte" : "builtin", ".cfi_startproc" : "builtin", ".comm" : "builtin", ".data" : "builtin", ".def" : "builtin", ".desc" : "builtin", ".dim" : "builtin", ".double" : "builtin", ".eject" : "builtin", ".else" : "builtin", ".elseif" : "builtin", ".end" : "builtin", ".endef" : "builtin", ".endfunc" : "builtin", ".endif" : "builtin", ".equ" : "builtin", ".equiv" : "builtin", ".eqv" : "builtin", ".err" : "builtin", ".error" : "builtin", ".exitm" : "builtin", ".extern" : "builtin", ".fail" : "builtin", ".file" : "builtin", ".fill" : "builtin", ".float" : "builtin", ".func" : "builtin", ".global" : "builtin", ".gnu_attribute" : "builtin", ".hidden" : "builtin", ".hword" : "builtin", ".ident" : "builtin", ".if" : "builtin", ".incbin" : "builtin", ".include" : "builtin", ".int" : "builtin", ".internal" : "builtin", ".irp" : "builtin", ".irpc" : "builtin", ".lcomm" : "builtin", ".lflags" : "builtin", ".line" : "builtin", ".linkonce" : "builtin", ".list" : "builtin", ".ln" : "builtin", ".loc" : "builtin", ".loc_mark_labels" : "builtin", ".local" : "builtin", ".long" : "builtin", ".macro" : "builtin", ".mri" : "builtin", ".noaltmacro" : "builtin", ".nolist" : "builtin", ".octa" : "builtin", ".offset" : "builtin", ".org" : "builtin", ".p2align" : "builtin", ".popsection" : "builtin", ".previous" : "builtin", ".print" : "builtin", ".protected" : "builtin", ".psize" : "builtin", ".purgem" : "builtin", ".pushsection" : "builtin", ".quad" : "builtin", ".reloc" : "builtin", ".rept" : "builtin", ".sbttl" : "builtin", ".scl" : "builtin", ".section" : "builtin", ".set" : "builtin", ".short" : "builtin", ".single" : "builtin", ".size" : "builtin", ".skip" : "builtin", ".sleb128" : "builtin", ".space" : "builtin", ".stab" : "builtin", ".string" : "builtin", ".struct" : "builtin", ".subsection" : "builtin", ".symver" : "builtin", ".tag" : "builtin", ".text" : "builtin", ".title" : "builtin", ".type" : "builtin", ".uleb128" : "builtin", ".val" : "builtin", ".version" : "builtin", ".vtable_entry" : "builtin", ".vtable_inherit" : "builtin", ".warning" : "builtin", ".weak" : "builtin", ".weakref" : "builtin", ".word" : "builtin" }; var registers = {}; function x86(_parserConfig) { lineCommentStartSymbol = "#"; registers.ax = "variable"; registers.eax = "variable-2"; registers.rax = "variable-3"; registers.bx = "variable"; registers.ebx = "variable-2"; registers.rbx = "variable-3"; registers.cx = "variable"; registers.ecx = "variable-2"; registers.rcx = "variable-3"; registers.dx = "variable"; registers.edx = "variable-2"; registers.rdx = "variable-3"; registers.si = "variable"; registers.esi = "variable-2"; registers.rsi = "variable-3"; registers.di = "variable"; registers.edi = "variable-2"; registers.rdi = "variable-3"; registers.sp = "variable"; registers.esp = "variable-2"; registers.rsp = "variable-3"; registers.bp = "variable"; registers.ebp = "variable-2"; registers.rbp = "variable-3"; registers.ip = "variable"; registers.eip = "variable-2"; registers.rip = "variable-3"; registers.cs = "keyword"; registers.ds = "keyword"; registers.ss = "keyword"; registers.es = "keyword"; registers.fs = "keyword"; registers.gs = "keyword"; } function armv6(_parserConfig) { // Reference: // http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001l/QRC0001_UAL.pdf // http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf lineCommentStartSymbol = "@"; directives.syntax = "builtin"; registers.r0 = "variable"; registers.r1 = "variable"; registers.r2 = "variable"; registers.r3 = "variable"; registers.r4 = "variable"; registers.r5 = "variable"; registers.r6 = "variable"; registers.r7 = "variable"; registers.r8 = "variable"; registers.r9 = "variable"; registers.r10 = "variable"; registers.r11 = "variable"; registers.r12 = "variable"; registers.sp = "variable-2"; registers.lr = "variable-2"; registers.pc = "variable-2"; registers.r13 = registers.sp; registers.r14 = registers.lr; registers.r15 = registers.pc; custom.push(function(ch, stream) { if (ch === '#') { stream.eatWhile(/\w/); return "number"; } }); } var arch = (parserConfig.architecture || "x86").toLowerCase(); if (arch === "x86") { x86(parserConfig); } else if (arch === "arm" || arch === "armv6") { armv6(parserConfig); } function nextUntilUnescaped(stream, end) { var escaped = false, next; while ((next = stream.next()) != null) { if (next === end && !escaped) { return false; } escaped = !escaped && next === "\\"; } return escaped; } function clikeComment(stream, state) { var maybeEnd = false, ch; while ((ch = stream.next()) != null) { if (ch === "/" && maybeEnd) { state.tokenize = null; break; } maybeEnd = (ch === "*"); } return "comment"; } return { startState: function() { return { tokenize: null }; }, token: function(stream, state) { if (state.tokenize) { return state.tokenize(stream, state); } if (stream.eatSpace()) { return null; } var style, cur, ch = stream.next(); if (ch === "/") { if (stream.eat("*")) { state.tokenize = clikeComment; return clikeComment(stream, state); } } if (ch === lineCommentStartSymbol) { stream.skipToEnd(); return "comment"; } if (ch === '"') { nextUntilUnescaped(stream, '"'); return "string"; } if (ch === '.') { stream.eatWhile(/\w/); cur = stream.current().toLowerCase(); style = directives[cur]; return style || null; } if (ch === '=') { stream.eatWhile(/\w/); return "tag"; } if (ch === '{') { return "braket"; } if (ch === '}') { return "braket"; } if (/\d/.test(ch)) { if (ch === "0" && stream.eat("x")) { stream.eatWhile(/[0-9a-fA-F]/); return "number"; } stream.eatWhile(/\d/); return "number"; } if (/\w/.test(ch)) { stream.eatWhile(/\w/); if (stream.eat(":")) { return 'tag'; } cur = stream.current().toLowerCase(); style = registers[cur]; return style || null; } for (var i = 0; i < custom.length; i++) { style = custom[i](ch, stream, state); if (style) { return style; } } }, lineComment: lineCommentStartSymbol, blockCommentStart: "/*", blockCommentEnd: "*/" }; }); }); wp-file-manager/lib/codemirror/mode/gas/index.html000064400000003460151202472330016127 0ustar00 CodeMirror: Gas mode

        Gas mode

        Handles AT&T assembler syntax (more specifically this handles the GNU Assembler (gas) syntax.) It takes a single optional configuration parameter: architecture, which can be one of "ARM", "ARMv6" or "x86". Including the parameter adds syntax for the registers and special directives for the supplied architecture.

        MIME types defined: text/x-gas

        wp-file-manager/lib/codemirror/mode/gfm/gfm.js000064400000012021151202472330015231 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../markdown/markdown"), require("../../addon/mode/overlay")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../markdown/markdown", "../../addon/mode/overlay"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var urlRE = /^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i CodeMirror.defineMode("gfm", function(config, modeConfig) { var codeDepth = 0; function blankLine(state) { state.code = false; return null; } var gfmOverlay = { startState: function() { return { code: false, codeBlock: false, ateSpace: false }; }, copyState: function(s) { return { code: s.code, codeBlock: s.codeBlock, ateSpace: s.ateSpace }; }, token: function(stream, state) { state.combineTokens = null; // Hack to prevent formatting override inside code blocks (block and inline) if (state.codeBlock) { if (stream.match(/^```+/)) { state.codeBlock = false; return null; } stream.skipToEnd(); return null; } if (stream.sol()) { state.code = false; } if (stream.sol() && stream.match(/^```+/)) { stream.skipToEnd(); state.codeBlock = true; return null; } // If this block is changed, it may need to be updated in Markdown mode if (stream.peek() === '`') { stream.next(); var before = stream.pos; stream.eatWhile('`'); var difference = 1 + stream.pos - before; if (!state.code) { codeDepth = difference; state.code = true; } else { if (difference === codeDepth) { // Must be exact state.code = false; } } return null; } else if (state.code) { stream.next(); return null; } // Check if space. If so, links can be formatted later on if (stream.eatSpace()) { state.ateSpace = true; return null; } if (stream.sol() || state.ateSpace) { state.ateSpace = false; if (modeConfig.gitHubSpice !== false) { if(stream.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?:[a-f0-9]{7,40}\b)/)) { // User/Project@SHA // User@SHA // SHA state.combineTokens = true; return "link"; } else if (stream.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/)) { // User/Project#Num // User#Num // #Num state.combineTokens = true; return "link"; } } } if (stream.match(urlRE) && stream.string.slice(stream.start - 2, stream.start) != "](" && (stream.start == 0 || /\W/.test(stream.string.charAt(stream.start - 1)))) { // URLs // Taken from http://daringfireball.net/2010/07/improved_regex_for_matching_urls // And then (issue #1160) simplified to make it not crash the Chrome Regexp engine // And then limited url schemes to the CommonMark list, so foo:bar isn't matched as a URL state.combineTokens = true; return "link"; } stream.next(); return null; }, blankLine: blankLine }; var markdownConfig = { underscoresBreakWords: false, taskLists: true, fencedCodeBlocks: '```', strikethrough: true }; for (var attr in modeConfig) { markdownConfig[attr] = modeConfig[attr]; } markdownConfig.name = "markdown"; return CodeMirror.overlayMode(CodeMirror.getMode(config, markdownConfig), gfmOverlay); }, "markdown"); CodeMirror.defineMIME("text/x-gfm", "gfm"); }); wp-file-manager/lib/codemirror/mode/gfm/index.html000064400000005027151202472330016127 0ustar00 CodeMirror: GFM mode

        GFM mode

        Optionally depends on other modes for properly highlighted code blocks.

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/gfm/test.js000064400000016624151202472330015454 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({tabSize: 4}, "gfm"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } var modeHighlightFormatting = CodeMirror.getMode({tabSize: 4}, {name: "gfm", highlightFormatting: true}); function FT(name) { test.mode(name, modeHighlightFormatting, Array.prototype.slice.call(arguments, 1)); } FT("codeBackticks", "[comment&formatting&formatting-code `][comment foo][comment&formatting&formatting-code `]"); FT("doubleBackticks", "[comment&formatting&formatting-code ``][comment foo ` bar][comment&formatting&formatting-code ``]"); FT("codeBlock", "[comment&formatting&formatting-code-block ```css]", "[tag foo]", "[comment&formatting&formatting-code-block ```]"); FT("taskList", "[variable-2&formatting&formatting-list&formatting-list-ul - ][meta&formatting&formatting-task [ ]]][variable-2 foo]", "[variable-2&formatting&formatting-list&formatting-list-ul - ][property&formatting&formatting-task [x]]][variable-2 foo]"); FT("formatting_strikethrough", "[strikethrough&formatting&formatting-strikethrough ~~][strikethrough foo][strikethrough&formatting&formatting-strikethrough ~~]"); FT("formatting_strikethrough", "foo [strikethrough&formatting&formatting-strikethrough ~~][strikethrough bar][strikethrough&formatting&formatting-strikethrough ~~]"); MT("emInWordAsterisk", "foo[em *bar*]hello"); MT("emInWordUnderscore", "foo_bar_hello"); MT("emStrongUnderscore", "[strong __][em&strong _foo__][em _] bar"); MT("fencedCodeBlocks", "[comment ```]", "[comment foo]", "", "[comment ```]", "bar"); MT("fencedCodeBlockModeSwitching", "[comment ```javascript]", "[variable foo]", "", "[comment ```]", "bar"); MT("fencedCodeBlockModeSwitchingObjc", "[comment ```objective-c]", "[keyword @property] [variable NSString] [operator *] [variable foo];", "[comment ```]", "bar"); MT("fencedCodeBlocksNoTildes", "~~~", "foo", "~~~"); MT("taskListAsterisk", "[variable-2 * []] foo]", // Invalid; must have space or x between [] "[variable-2 * [ ]]bar]", // Invalid; must have space after ] "[variable-2 * [x]]hello]", // Invalid; must have space after ] "[variable-2 * ][meta [ ]]][variable-2 [world]]]", // Valid; tests reference style links " [variable-3 * ][property [x]]][variable-3 foo]"); // Valid; can be nested MT("taskListPlus", "[variable-2 + []] foo]", // Invalid; must have space or x between [] "[variable-2 + [ ]]bar]", // Invalid; must have space after ] "[variable-2 + [x]]hello]", // Invalid; must have space after ] "[variable-2 + ][meta [ ]]][variable-2 [world]]]", // Valid; tests reference style links " [variable-3 + ][property [x]]][variable-3 foo]"); // Valid; can be nested MT("taskListDash", "[variable-2 - []] foo]", // Invalid; must have space or x between [] "[variable-2 - [ ]]bar]", // Invalid; must have space after ] "[variable-2 - [x]]hello]", // Invalid; must have space after ] "[variable-2 - ][meta [ ]]][variable-2 [world]]]", // Valid; tests reference style links " [variable-3 - ][property [x]]][variable-3 foo]"); // Valid; can be nested MT("taskListNumber", "[variable-2 1. []] foo]", // Invalid; must have space or x between [] "[variable-2 2. [ ]]bar]", // Invalid; must have space after ] "[variable-2 3. [x]]hello]", // Invalid; must have space after ] "[variable-2 4. ][meta [ ]]][variable-2 [world]]]", // Valid; tests reference style links " [variable-3 1. ][property [x]]][variable-3 foo]"); // Valid; can be nested MT("SHA", "foo [link be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2] bar"); MT("SHAEmphasis", "[em *foo ][em&link be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2][em *]"); MT("shortSHA", "foo [link be6a8cc] bar"); MT("tooShortSHA", "foo be6a8c bar"); MT("longSHA", "foo be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd22 bar"); MT("badSHA", "foo be6a8cc1c1ecfe9489fb51e4869af15a13fc2cg2 bar"); MT("userSHA", "foo [link bar@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2] hello"); MT("userSHAEmphasis", "[em *foo ][em&link bar@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2][em *]"); MT("userProjectSHA", "foo [link bar/hello@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2] world"); MT("userProjectSHAEmphasis", "[em *foo ][em&link bar/hello@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2][em *]"); MT("num", "foo [link #1] bar"); MT("numEmphasis", "[em *foo ][em&link #1][em *]"); MT("badNum", "foo #1bar hello"); MT("userNum", "foo [link bar#1] hello"); MT("userNumEmphasis", "[em *foo ][em&link bar#1][em *]"); MT("userProjectNum", "foo [link bar/hello#1] world"); MT("userProjectNumEmphasis", "[em *foo ][em&link bar/hello#1][em *]"); MT("vanillaLink", "foo [link http://www.example.com/] bar"); MT("vanillaLinkNoScheme", "foo [link www.example.com] bar"); MT("vanillaLinkHttps", "foo [link https://www.example.com/] bar"); MT("vanillaLinkDataSchema", "foo [link data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==] bar"); MT("vanillaLinkPunctuation", "foo [link http://www.example.com/]. bar"); MT("vanillaLinkExtension", "foo [link http://www.example.com/index.html] bar"); MT("vanillaLinkEmphasis", "foo [em *][em&link http://www.example.com/index.html][em *] bar"); MT("notALink", "foo asfd:asdf bar"); MT("notALink", "[comment ```css]", "[tag foo] {[property color]:[keyword black];}", "[comment ```][link http://www.example.com/]"); MT("notALink", "[comment ``foo `bar` http://www.example.com/``] hello"); MT("notALink", "[comment `foo]", "[comment&link http://www.example.com/]", "[comment `] foo", "", "[link http://www.example.com/]"); MT("headerCodeBlockGithub", "[header&header-1 # heading]", "", "[comment ```]", "[comment code]", "[comment ```]", "", "Commit: [link be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2]", "Issue: [link #1]", "Link: [link http://www.example.com/]"); MT("strikethrough", "[strikethrough ~~foo~~]"); MT("strikethroughWithStartingSpace", "~~ foo~~"); MT("strikethroughUnclosedStrayTildes", "[strikethrough ~~foo~~~]"); MT("strikethroughUnclosedStrayTildes", "[strikethrough ~~foo ~~]"); MT("strikethroughUnclosedStrayTildes", "[strikethrough ~~foo ~~ bar]"); MT("strikethroughUnclosedStrayTildes", "[strikethrough ~~foo ~~ bar~~]hello"); MT("strikethroughOneLetter", "[strikethrough ~~a~~]"); MT("strikethroughWrapped", "[strikethrough ~~foo]", "[strikethrough foo~~]"); MT("strikethroughParagraph", "[strikethrough ~~foo]", "", "foo[strikethrough ~~bar]"); MT("strikethroughEm", "[strikethrough ~~foo][em&strikethrough *bar*][strikethrough ~~]"); MT("strikethroughEm", "[em *][em&strikethrough ~~foo~~][em *]"); MT("strikethroughStrong", "[strikethrough ~~][strong&strikethrough **foo**][strikethrough ~~]"); MT("strikethroughStrong", "[strong **][strong&strikethrough ~~foo~~][strong **]"); })(); wp-file-manager/lib/codemirror/mode/gherkin/gherkin.js000064400000031711151202472330016774 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /* Gherkin mode - http://www.cukes.info/ Report bugs/issues here: https://github.com/codemirror/CodeMirror/issues */ // Following Objs from Brackets implementation: https://github.com/tregusti/brackets-gherkin/blob/master/main.js //var Quotes = { // SINGLE: 1, // DOUBLE: 2 //}; //var regex = { // keywords: /(Feature| {2}(Scenario|In order to|As|I)| {4}(Given|When|Then|And))/ //}; (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("gherkin", function () { return { startState: function () { return { lineNumber: 0, tableHeaderLine: false, allowFeature: true, allowBackground: false, allowScenario: false, allowSteps: false, allowPlaceholders: false, allowMultilineArgument: false, inMultilineString: false, inMultilineTable: false, inKeywordLine: false }; }, token: function (stream, state) { if (stream.sol()) { state.lineNumber++; state.inKeywordLine = false; if (state.inMultilineTable) { state.tableHeaderLine = false; if (!stream.match(/\s*\|/, false)) { state.allowMultilineArgument = false; state.inMultilineTable = false; } } } stream.eatSpace(); if (state.allowMultilineArgument) { // STRING if (state.inMultilineString) { if (stream.match('"""')) { state.inMultilineString = false; state.allowMultilineArgument = false; } else { stream.match(/.*/); } return "string"; } // TABLE if (state.inMultilineTable) { if (stream.match(/\|\s*/)) { return "bracket"; } else { stream.match(/[^\|]*/); return state.tableHeaderLine ? "header" : "string"; } } // DETECT START if (stream.match('"""')) { // String state.inMultilineString = true; return "string"; } else if (stream.match("|")) { // Table state.inMultilineTable = true; state.tableHeaderLine = true; return "bracket"; } } // LINE COMMENT if (stream.match(/#.*/)) { return "comment"; // TAG } else if (!state.inKeywordLine && stream.match(/@\S+/)) { return "tag"; // FEATURE } else if (!state.inKeywordLine && state.allowFeature && stream.match(/(機能|功能|フィーチャ|기능|โครงหลัก|ความสามารถ|ความต้องการทางธุรกิจ|ಹೆಚ್ಚಳ|గుణము|ਮੁਹਾਂਦਰਾ|ਨਕਸ਼ ਨੁਹਾਰ|ਖਾਸੀਅਤ|रूप लेख|وِیژگی|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Үзенчәлеклелек|Свойство|Особина|Мөмкинлек|Могућност|Λειτουργία|Δυνατότητα|Właściwość|Vlastnosť|Trajto|Tính năng|Savybė|Pretty much|Požiadavka|Požadavek|Potrzeba biznesowa|Özellik|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Hwæt|Hwaet|Funzionalità|Funktionalitéit|Funktionalität|Funkcja|Funkcionalnost|Funkcionalitāte|Funkcia|Fungsi|Functionaliteit|Funcționalitate|Funcţionalitate|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Fīča|Feature|Eiginleiki|Egenskap|Egenskab|Característica|Caracteristica|Business Need|Aspekt|Arwedd|Ahoy matey!|Ability):/)) { state.allowScenario = true; state.allowBackground = true; state.allowPlaceholders = false; state.allowSteps = false; state.allowMultilineArgument = false; state.inKeywordLine = true; return "keyword"; // BACKGROUND } else if (!state.inKeywordLine && state.allowBackground && stream.match(/(背景|배경|แนวคิด|ಹಿನ್ನೆಲೆ|నేపథ్యం|ਪਿਛੋਕੜ|पृष्ठभूमि|زمینه|الخلفية|רקע|Тарих|Предыстория|Предистория|Позадина|Передумова|Основа|Контекст|Кереш|Υπόβαθρο|Założenia|Yo\-ho\-ho|Tausta|Taust|Situācija|Rerefons|Pozadina|Pozadie|Pozadí|Osnova|Latar Belakang|Kontext|Konteksts|Kontekstas|Kontekst|Háttér|Hannergrond|Grundlage|Geçmiş|Fundo|Fono|First off|Dis is what went down|Dasar|Contexto|Contexte|Context|Contesto|Cenário de Fundo|Cenario de Fundo|Cefndir|Bối cảnh|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|Ær|Aer|Achtergrond):/)) { state.allowPlaceholders = false; state.allowSteps = true; state.allowBackground = false; state.allowMultilineArgument = false; state.inKeywordLine = true; return "keyword"; // SCENARIO OUTLINE } else if (!state.inKeywordLine && state.allowScenario && stream.match(/(場景大綱|场景大纲|劇本大綱|剧本大纲|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|시나리오 개요|สรุปเหตุการณ์|โครงสร้างของเหตุการณ์|ವಿವರಣೆ|కథనం|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਟਕਥਾ ਢਾਂਚਾ|परिदृश्य रूपरेखा|سيناريو مخطط|الگوی سناریو|תבנית תרחיש|Сценарийның төзелеше|Сценарий структураси|Структура сценарію|Структура сценария|Структура сценарија|Скица|Рамка на сценарий|Концепт|Περιγραφή Σεναρίου|Wharrimean is|Template Situai|Template Senario|Template Keadaan|Tapausaihio|Szenariogrundriss|Szablon scenariusza|Swa hwær swa|Swa hwaer swa|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Shiver me timbers|Senaryo taslağı|Schema dello scenario|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenārijs pēc parauga|Scenarijaus šablonas|Reckon it's like|Raamstsenaarium|Plang vum Szenario|Plan du Scénario|Plan du scénario|Osnova scénáře|Osnova Scenára|Náčrt Scenáru|Náčrt Scénáře|Náčrt Scenára|MISHUN SRSLY|Menggariskan Senario|Lýsing Dæma|Lýsing Atburðarásar|Konturo de la scenaro|Koncept|Khung tình huống|Khung kịch bản|Forgatókönyv vázlat|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esbozo do escenario|Delineação do Cenário|Delineacao do Cenario|All y'all|Abstrakt Scenario|Abstract Scenario):/)) { state.allowPlaceholders = true; state.allowSteps = true; state.allowMultilineArgument = false; state.inKeywordLine = true; return "keyword"; // EXAMPLES } else if (state.allowScenario && stream.match(/(例子|例|サンプル|예|ชุดของเหตุการณ์|ชุดของตัวอย่าง|ಉದಾಹರಣೆಗಳು|ఉదాహరణలు|ਉਦਾਹਰਨਾਂ|उदाहरण|نمونه ها|امثلة|דוגמאות|Үрнәкләр|Сценарији|Примеры|Примери|Приклади|Мисоллар|Мисаллар|Σενάρια|Παραδείγματα|You'll wanna|Voorbeelden|Variantai|Tapaukset|Se þe|Se the|Se ðe|Scenarios|Scenariji|Scenarijai|Przykłady|Primjeri|Primeri|Příklady|Príklady|Piemēri|Példák|Pavyzdžiai|Paraugs|Örnekler|Juhtumid|Exemplos|Exemples|Exemple|Exempel|EXAMPLZ|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|Dữ liệu|Dead men tell no tales|Dæmi|Contoh|Cenários|Cenarios|Beispiller|Beispiele|Atburðarásir):/)) { state.allowPlaceholders = false; state.allowSteps = true; state.allowBackground = false; state.allowMultilineArgument = true; return "keyword"; // SCENARIO } else if (!state.inKeywordLine && state.allowScenario && stream.match(/(場景|场景|劇本|剧本|シナリオ|시나리오|เหตุการณ์|ಕಥಾಸಾರಾಂಶ|సన్నివేశం|ਪਟਕਥਾ|परिदृश्य|سيناريو|سناریو|תרחיש|Сценарій|Сценарио|Сценарий|Пример|Σενάριο|Tình huống|The thing of it is|Tapaus|Szenario|Swa|Stsenaarium|Skenario|Situai|Senaryo|Senario|Scenaro|Scenariusz|Scenariu|Scénario|Scenario|Scenarijus|Scenārijs|Scenarij|Scenarie|Scénář|Scenár|Primer|MISHUN|Kịch bản|Keadaan|Heave to|Forgatókönyv|Escenario|Escenari|Cenário|Cenario|Awww, look mate|Atburðarás):/)) { state.allowPlaceholders = false; state.allowSteps = true; state.allowBackground = false; state.allowMultilineArgument = false; state.inKeywordLine = true; return "keyword"; // STEPS } else if (!state.inKeywordLine && state.allowSteps && stream.match(/(那麼|那么|而且|當|当|并且|同時|同时|前提|假设|假設|假定|假如|但是|但し|並且|もし|ならば|ただし|しかし|かつ|하지만|조건|먼저|만일|만약|단|그리고|그러면|และ |เมื่อ |แต่ |ดังนั้น |กำหนดให้ |ಸ್ಥಿತಿಯನ್ನು |ಮತ್ತು |ನೀಡಿದ |ನಂತರ |ಆದರೆ |మరియు |చెప్పబడినది |కాని |ఈ పరిస్థితిలో |అప్పుడు |ਪਰ |ਤਦ |ਜੇਕਰ |ਜਿਵੇਂ ਕਿ |ਜਦੋਂ |ਅਤੇ |यदि |परन्तु |पर |तब |तदा |तथा |जब |चूंकि |किन्तु |कदा |और |अगर |و |هنگامی |متى |لكن |عندما |ثم |بفرض |با فرض |اما |اذاً |آنگاه |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Һәм |Унда |Тоді |Тогда |То |Также |Та |Пусть |Припустимо, що |Припустимо |Онда |Но |Нехай |Нәтиҗәдә |Лекин |Ләкин |Коли |Когда |Когато |Када |Кад |К тому же |І |И |Задато |Задати |Задате |Если |Допустим |Дано |Дадено |Вә |Ва |Бирок |Әмма |Әйтик |Әгәр |Аммо |Али |Але |Агар |А також |А |Τότε |Όταν |Και |Δεδομένου |Αλλά |Þurh |Þegar |Þa þe |Þá |Þa |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Za předpokladu |Za predpokladu |Youse know when youse got |Youse know like when |Yna |Yeah nah |Y'know |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |wann |Ve |Và |Und |Un |ugeholl |Too right |Thurh |Thì |Then y'all |Then |Tha the |Tha |Tetapi |Tapi |Tak |Tada |Tad |Stel |Soit |Siis |Și |Şi |Si |Sed |Se |Så |Quando |Quand |Quan |Pryd |Potom |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Niin |Nhưng |När |Når |Mutta |Men |Mas |Maka |Majd |Mając |Mais |Maar |mä |Ma |Lorsque |Lorsqu'|Logo |Let go and haul |Kun |Kuid |Kui |Kiedy |Khi |Ketika |Kemudian |Keď |Když |Kaj |Kai |Kada |Kad |Jeżeli |Jeśli |Ja |It's just unbelievable |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben seien |Gegeben sei |Gdy |Gangway! |Fakat |Étant donnés |Etant donnés |Étant données |Etant données |Étant donnée |Etant donnée |Étant donné |Etant donné |Et |És |Entonces |Entón |Então |Entao |En |Eğer ki |Ef |Eeldades |E |Ðurh |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Diberi |Dengan |Den youse gotta |DEN |De |Dato |Dați fiind |Daţi fiind |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |dann |Dan |Dados |Dado |Dadas |Dada |Ða ðe |Ða |Cuando |Cho |Cando |Când |Cand |Cal |But y'all |But at the end of the day I reckon |BUT |But |Buh |Blimey! |Biết |Bet |Bagi |Aye |awer |Avast! |Atunci |Atesa |Atès |Apabila |Anrhegedig a |Angenommen |And y'all |And |AN |An |an |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Ak |Adott |Ac |Aber |A zároveň |A tiež |A taktiež |A také |A |a |7 |\* )/)) { state.inStep = true; state.allowPlaceholders = true; state.allowMultilineArgument = true; state.inKeywordLine = true; return "keyword"; // INLINE STRING } else if (stream.match(/"[^"]*"?/)) { return "string"; // PLACEHOLDER } else if (state.allowPlaceholders && stream.match(/<[^>]*>?/)) { return "variable"; // Fall through } else { stream.next(); stream.eatWhile(/[^@"<#]/); return null; } } }; }); CodeMirror.defineMIME("text/x-feature", "gherkin"); }); wp-file-manager/lib/codemirror/mode/gherkin/index.html000064400000003036151202472330017003 0ustar00 CodeMirror: Gherkin mode

        Gherkin mode

        MIME types defined: text/x-feature.

        wp-file-manager/lib/codemirror/mode/go/go.js000064400000013501151202472330014725 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("go", function(config) { var indentUnit = config.indentUnit; var keywords = { "break":true, "case":true, "chan":true, "const":true, "continue":true, "default":true, "defer":true, "else":true, "fallthrough":true, "for":true, "func":true, "go":true, "goto":true, "if":true, "import":true, "interface":true, "map":true, "package":true, "range":true, "return":true, "select":true, "struct":true, "switch":true, "type":true, "var":true, "bool":true, "byte":true, "complex64":true, "complex128":true, "float32":true, "float64":true, "int8":true, "int16":true, "int32":true, "int64":true, "string":true, "uint8":true, "uint16":true, "uint32":true, "uint64":true, "int":true, "uint":true, "uintptr":true, "error": true }; var atoms = { "true":true, "false":true, "iota":true, "nil":true, "append":true, "cap":true, "close":true, "complex":true, "copy":true, "imag":true, "len":true, "make":true, "new":true, "panic":true, "print":true, "println":true, "real":true, "recover":true }; var isOperatorChar = /[+\-*&^%:=<>!|\/]/; var curPunc; function tokenBase(stream, state) { var ch = stream.next(); if (ch == '"' || ch == "'" || ch == "`") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (/[\d\.]/.test(ch)) { if (ch == ".") { stream.match(/^[0-9]+([eE][\-+]?[0-9]+)?/); } else if (ch == "0") { stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/); } else { stream.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/); } return "number"; } if (/[\[\]{}\(\),;\:\.]/.test(ch)) { curPunc = ch; return null; } if (ch == "/") { if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\$_\xa1-\uffff]/); var cur = stream.current(); if (keywords.propertyIsEnumerable(cur)) { if (cur == "case" || cur == "default") curPunc = "case"; return "keyword"; } if (atoms.propertyIsEnumerable(cur)) return "atom"; return "variable"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) {end = true; break;} escaped = !escaped && quote != "`" && next == "\\"; } if (end || !(escaped || quote == "`")) state.tokenize = tokenBase; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { return state.context = new Context(state.indented, col, type, null, state.context); } function popContext(state) { if (!state.context.prev) return; var t = state.context.type; if (t == ")" || t == "]" || t == "}") state.indented = state.context.indented; return state.context = state.context.prev; } // Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; if (ctx.type == "case") ctx.type = "}"; } if (stream.eatSpace()) return null; curPunc = null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment") return style; if (ctx.align == null) ctx.align = true; if (curPunc == "{") pushContext(state, stream.column(), "}"); else if (curPunc == "[") pushContext(state, stream.column(), "]"); else if (curPunc == "(") pushContext(state, stream.column(), ")"); else if (curPunc == "case") ctx.type = "case"; else if (curPunc == "}" && ctx.type == "}") ctx = popContext(state); else if (curPunc == ctx.type) popContext(state); state.startOfLine = false; return style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase && state.tokenize != null) return 0; var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); if (ctx.type == "case" && /^(?:case|default)\b/.test(textAfter)) { state.context.type = "}"; return ctx.indented; } var closing = firstChar == ctx.type; if (ctx.align) return ctx.column + (closing ? 0 : 1); else return ctx.indented + (closing ? 0 : indentUnit); }, electricChars: "{}):", fold: "brace", blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//" }; }); CodeMirror.defineMIME("text/x-go", "go"); }); wp-file-manager/lib/codemirror/mode/go/index.html000064400000004176151202472330015767 0ustar00 CodeMirror: Go mode

        Go mode

        MIME type: text/x-go

        wp-file-manager/lib/codemirror/mode/groovy/groovy.js000064400000017306151202472330016574 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("groovy", function(config) { function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var keywords = words( "abstract as assert boolean break byte case catch char class const continue def default " + "do double else enum extends final finally float for goto if implements import in " + "instanceof int interface long native new package private protected public return " + "short static strictfp super switch synchronized threadsafe throw throws transient " + "try void volatile while"); var blockKeywords = words("catch class do else finally for if switch try while enum interface def"); var standaloneKeywords = words("return break continue"); var atoms = words("null true false this"); var curPunc; function tokenBase(stream, state) { var ch = stream.next(); if (ch == '"' || ch == "'") { return startString(ch, stream, state); } if (/[\[\]{}\(\),;\:\.]/.test(ch)) { curPunc = ch; return null; } if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); if (stream.eat(/eE/)) { stream.eat(/\+\-/); stream.eatWhile(/\d/); } return "number"; } if (ch == "/") { if (stream.eat("*")) { state.tokenize.push(tokenComment); return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } if (expectExpression(state.lastToken, false)) { return startString(ch, stream, state); } } if (ch == "-" && stream.eat(">")) { curPunc = "->"; return null; } if (/[+\-*&%=<>!?|\/~]/.test(ch)) { stream.eatWhile(/[+\-*&%=<>|~]/); return "operator"; } stream.eatWhile(/[\w\$_]/); if (ch == "@") { stream.eatWhile(/[\w\$_\.]/); return "meta"; } if (state.lastToken == ".") return "property"; if (stream.eat(":")) { curPunc = "proplabel"; return "property"; } var cur = stream.current(); if (atoms.propertyIsEnumerable(cur)) { return "atom"; } if (keywords.propertyIsEnumerable(cur)) { if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement"; else if (standaloneKeywords.propertyIsEnumerable(cur)) curPunc = "standalone"; return "keyword"; } return "variable"; } tokenBase.isBase = true; function startString(quote, stream, state) { var tripleQuoted = false; if (quote != "/" && stream.eat(quote)) { if (stream.eat(quote)) tripleQuoted = true; else return "string"; } function t(stream, state) { var escaped = false, next, end = !tripleQuoted; while ((next = stream.next()) != null) { if (next == quote && !escaped) { if (!tripleQuoted) { break; } if (stream.match(quote + quote)) { end = true; break; } } if (quote == '"' && next == "$" && !escaped && stream.eat("{")) { state.tokenize.push(tokenBaseUntilBrace()); return "string"; } escaped = !escaped && next == "\\"; } if (end) state.tokenize.pop(); return "string"; } state.tokenize.push(t); return t(stream, state); } function tokenBaseUntilBrace() { var depth = 1; function t(stream, state) { if (stream.peek() == "}") { depth--; if (depth == 0) { state.tokenize.pop(); return state.tokenize[state.tokenize.length-1](stream, state); } } else if (stream.peek() == "{") { depth++; } return tokenBase(stream, state); } t.isBase = true; return t; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize.pop(); break; } maybeEnd = (ch == "*"); } return "comment"; } function expectExpression(last, newline) { return !last || last == "operator" || last == "->" || /[\.\[\{\(,;:]/.test(last) || last == "newstatement" || last == "keyword" || last == "proplabel" || (last == "standalone" && !newline); } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { return state.context = new Context(state.indented, col, type, null, state.context); } function popContext(state) { var t = state.context.type; if (t == ")" || t == "]" || t == "}") state.indented = state.context.indented; return state.context = state.context.prev; } // Interface return { startState: function(basecolumn) { return { tokenize: [tokenBase], context: new Context((basecolumn || 0) - config.indentUnit, 0, "top", false), indented: 0, startOfLine: true, lastToken: null }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; // Automatic semicolon insertion if (ctx.type == "statement" && !expectExpression(state.lastToken, true)) { popContext(state); ctx = state.context; } } if (stream.eatSpace()) return null; curPunc = null; var style = state.tokenize[state.tokenize.length-1](stream, state); if (style == "comment") return style; if (ctx.align == null) ctx.align = true; if ((curPunc == ";" || curPunc == ":") && ctx.type == "statement") popContext(state); // Handle indentation for {x -> \n ... } else if (curPunc == "->" && ctx.type == "statement" && ctx.prev.type == "}") { popContext(state); state.context.align = false; } else if (curPunc == "{") pushContext(state, stream.column(), "}"); else if (curPunc == "[") pushContext(state, stream.column(), "]"); else if (curPunc == "(") pushContext(state, stream.column(), ")"); else if (curPunc == "}") { while (ctx.type == "statement") ctx = popContext(state); if (ctx.type == "}") ctx = popContext(state); while (ctx.type == "statement") ctx = popContext(state); } else if (curPunc == ctx.type) popContext(state); else if (ctx.type == "}" || ctx.type == "top" || (ctx.type == "statement" && curPunc == "newstatement")) pushContext(state, stream.column(), "statement"); state.startOfLine = false; state.lastToken = curPunc || style; return style; }, indent: function(state, textAfter) { if (!state.tokenize[state.tokenize.length-1].isBase) return 0; var firstChar = textAfter && textAfter.charAt(0), ctx = state.context; if (ctx.type == "statement" && !expectExpression(state.lastToken, true)) ctx = ctx.prev; var closing = firstChar == ctx.type; if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : config.indentUnit); else if (ctx.align) return ctx.column + (closing ? 0 : 1); else return ctx.indented + (closing ? 0 : config.indentUnit); }, electricChars: "{}", closeBrackets: {triples: "'\""}, fold: "brace" }; }); CodeMirror.defineMIME("text/x-groovy", "groovy"); }); wp-file-manager/lib/codemirror/mode/groovy/index.html000064400000004201151202472330016674 0ustar00 CodeMirror: Groovy mode

        Groovy mode

        MIME types defined: text/x-groovy

        wp-file-manager/lib/codemirror/mode/haml/haml.js000064400000012351151202472330015557 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../ruby/ruby")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../ruby/ruby"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; // full haml mode. This handled embedded ruby and html fragments too CodeMirror.defineMode("haml", function(config) { var htmlMode = CodeMirror.getMode(config, {name: "htmlmixed"}); var rubyMode = CodeMirror.getMode(config, "ruby"); function rubyInQuote(endQuote) { return function(stream, state) { var ch = stream.peek(); if (ch == endQuote && state.rubyState.tokenize.length == 1) { // step out of ruby context as it seems to complete processing all the braces stream.next(); state.tokenize = html; return "closeAttributeTag"; } else { return ruby(stream, state); } }; } function ruby(stream, state) { if (stream.match("-#")) { stream.skipToEnd(); return "comment"; } return rubyMode.token(stream, state.rubyState); } function html(stream, state) { var ch = stream.peek(); // handle haml declarations. All declarations that cant be handled here // will be passed to html mode if (state.previousToken.style == "comment" ) { if (state.indented > state.previousToken.indented) { stream.skipToEnd(); return "commentLine"; } } if (state.startOfLine) { if (ch == "!" && stream.match("!!")) { stream.skipToEnd(); return "tag"; } else if (stream.match(/^%[\w:#\.]+=/)) { state.tokenize = ruby; return "hamlTag"; } else if (stream.match(/^%[\w:]+/)) { return "hamlTag"; } else if (ch == "/" ) { stream.skipToEnd(); return "comment"; } } if (state.startOfLine || state.previousToken.style == "hamlTag") { if ( ch == "#" || ch == ".") { stream.match(/[\w-#\.]*/); return "hamlAttribute"; } } // donot handle --> as valid ruby, make it HTML close comment instead if (state.startOfLine && !stream.match("-->", false) && (ch == "=" || ch == "-" )) { state.tokenize = ruby; return state.tokenize(stream, state); } if (state.previousToken.style == "hamlTag" || state.previousToken.style == "closeAttributeTag" || state.previousToken.style == "hamlAttribute") { if (ch == "(") { state.tokenize = rubyInQuote(")"); return state.tokenize(stream, state); } else if (ch == "{") { if (!stream.match(/^\{%.*/)) { state.tokenize = rubyInQuote("}"); return state.tokenize(stream, state); } } } return htmlMode.token(stream, state.htmlState); } return { // default to html mode startState: function() { var htmlState = CodeMirror.startState(htmlMode); var rubyState = CodeMirror.startState(rubyMode); return { htmlState: htmlState, rubyState: rubyState, indented: 0, previousToken: { style: null, indented: 0}, tokenize: html }; }, copyState: function(state) { return { htmlState : CodeMirror.copyState(htmlMode, state.htmlState), rubyState: CodeMirror.copyState(rubyMode, state.rubyState), indented: state.indented, previousToken: state.previousToken, tokenize: state.tokenize }; }, token: function(stream, state) { if (stream.sol()) { state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); state.startOfLine = false; // dont record comment line as we only want to measure comment line with // the opening comment block if (style && style != "commentLine") { state.previousToken = { style: style, indented: state.indented }; } // if current state is ruby and the previous token is not `,` reset the // tokenize to html if (stream.eol() && state.tokenize == ruby) { stream.backUp(1); var ch = stream.peek(); stream.next(); if (ch && ch != ",") { state.tokenize = html; } } // reprocess some of the specific style tag when finish setting previousToken if (style == "hamlTag") { style = "tag"; } else if (style == "commentLine") { style = "comment"; } else if (style == "hamlAttribute") { style = "attribute"; } else if (style == "closeAttributeTag") { style = null; } return style; } }; }, "htmlmixed", "ruby"); CodeMirror.defineMIME("text/x-haml", "haml"); }); wp-file-manager/lib/codemirror/mode/haml/index.html000064400000004027151202472330016276 0ustar00 CodeMirror: HAML mode

        HAML mode

        MIME types defined: text/x-haml.

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/haml/test.js000064400000005702151202472330015617 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({tabSize: 4, indentUnit: 2}, "haml"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } // Requires at least one media query MT("elementName", "[tag %h1] Hey There"); MT("oneElementPerLine", "[tag %h1] Hey There %h2"); MT("idSelector", "[tag %h1][attribute #test] Hey There"); MT("classSelector", "[tag %h1][attribute .hello] Hey There"); MT("docType", "[tag !!! XML]"); MT("comment", "[comment / Hello WORLD]"); MT("notComment", "[tag %h1] This is not a / comment "); MT("attributes", "[tag %a]([variable title][operator =][string \"test\"]){[atom :title] [operator =>] [string \"test\"]}"); MT("htmlCode", "[tag&bracket <][tag h1][tag&bracket >]Title[tag&bracket ]"); MT("rubyBlock", "[operator =][variable-2 @item]"); MT("selectorRubyBlock", "[tag %a.selector=] [variable-2 @item]"); MT("nestedRubyBlock", "[tag %a]", " [operator =][variable puts] [string \"test\"]"); MT("multilinePlaintext", "[tag %p]", " Hello,", " World"); MT("multilineRuby", "[tag %p]", " [comment -# this is a comment]", " [comment and this is a comment too]", " Date/Time", " [operator -] [variable now] [operator =] [tag DateTime][operator .][property now]", " [tag %strong=] [variable now]", " [operator -] [keyword if] [variable now] [operator >] [tag DateTime][operator .][property parse]([string \"December 31, 2006\"])", " [operator =][string \"Happy\"]", " [operator =][string \"Belated\"]", " [operator =][string \"Birthday\"]"); MT("multilineComment", "[comment /]", " [comment Multiline]", " [comment Comment]"); MT("hamlComment", "[comment -# this is a comment]"); MT("multilineHamlComment", "[comment -# this is a comment]", " [comment and this is a comment too]"); MT("multilineHTMLComment", "[comment ]"); MT("hamlAfterRubyTag", "[attribute .block]", " [tag %strong=] [variable now]", " [attribute .test]", " [operator =][variable now]", " [attribute .right]"); MT("stretchedRuby", "[operator =] [variable puts] [string \"Hello\"],", " [string \"World\"]"); MT("interpolationInHashAttribute", //"[tag %div]{[atom :id] [operator =>] [string \"#{][variable test][string }_#{][variable ting][string }\"]} test"); "[tag %div]{[atom :id] [operator =>] [string \"#{][variable test][string }_#{][variable ting][string }\"]} test"); MT("interpolationInHTMLAttribute", "[tag %div]([variable title][operator =][string \"#{][variable test][string }_#{][variable ting]()[string }\"]) Test"); })(); wp-file-manager/lib/codemirror/mode/handlebars/handlebars.js000064400000004174151202472330020127 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../../addon/mode/simple"), require("../../addon/mode/multiplex")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../../addon/mode/simple", "../../addon/mode/multiplex"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineSimpleMode("handlebars-tags", { start: [ { regex: /\{\{!--/, push: "dash_comment", token: "comment" }, { regex: /\{\{!/, push: "comment", token: "comment" }, { regex: /\{\{/, push: "handlebars", token: "tag" } ], handlebars: [ { regex: /\}\}/, pop: true, token: "tag" }, // Double and single quotes { regex: /"(?:[^\\"]|\\.)*"?/, token: "string" }, { regex: /'(?:[^\\']|\\.)*'?/, token: "string" }, // Handlebars keywords { regex: />|[#\/]([A-Za-z_]\w*)/, token: "keyword" }, { regex: /(?:else|this)\b/, token: "keyword" }, // Numeral { regex: /\d+/i, token: "number" }, // Atoms like = and . { regex: /=|~|@|true|false/, token: "atom" }, // Paths { regex: /(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/, token: "variable-2" } ], dash_comment: [ { regex: /--\}\}/, pop: true, token: "comment" }, // Commented code { regex: /./, token: "comment"} ], comment: [ { regex: /\}\}/, pop: true, token: "comment" }, { regex: /./, token: "comment" } ] }); CodeMirror.defineMode("handlebars", function(config, parserConfig) { var handlebars = CodeMirror.getMode(config, "handlebars-tags"); if (!parserConfig || !parserConfig.base) return handlebars; return CodeMirror.multiplexingMode( CodeMirror.getMode(config, parserConfig.base), {open: "{{", close: "}}", mode: handlebars, parseDelimiters: true} ); }); CodeMirror.defineMIME("text/x-handlebars-template", "handlebars"); }); wp-file-manager/lib/codemirror/mode/handlebars/index.html000064400000004224151202472330017457 0ustar00 CodeMirror: Handlebars mode

        Handlebars

        Handlebars syntax highlighting for CodeMirror.

        MIME types defined: text/x-handlebars-template

        Supported options: base to set the mode to wrap. For example, use

        mode: {name: "handlebars", base: "text/html"}

        to highlight an HTML template.

        wp-file-manager/lib/codemirror/mode/haskell/haskell.js000064400000017645151202472330016776 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("haskell", function(_config, modeConfig) { function switchState(source, setState, f) { setState(f); return f(source, setState); } // These should all be Unicode extended, as per the Haskell 2010 report var smallRE = /[a-z_]/; var largeRE = /[A-Z]/; var digitRE = /\d/; var hexitRE = /[0-9A-Fa-f]/; var octitRE = /[0-7]/; var idRE = /[a-z_A-Z0-9'\xa1-\uffff]/; var symbolRE = /[-!#$%&*+.\/<=>?@\\^|~:]/; var specialRE = /[(),;[\]`{}]/; var whiteCharRE = /[ \t\v\f]/; // newlines are handled in tokenizer function normal(source, setState) { if (source.eatWhile(whiteCharRE)) { return null; } var ch = source.next(); if (specialRE.test(ch)) { if (ch == '{' && source.eat('-')) { var t = "comment"; if (source.eat('#')) { t = "meta"; } return switchState(source, setState, ncomment(t, 1)); } return null; } if (ch == '\'') { if (source.eat('\\')) { source.next(); // should handle other escapes here } else { source.next(); } if (source.eat('\'')) { return "string"; } return "error"; } if (ch == '"') { return switchState(source, setState, stringLiteral); } if (largeRE.test(ch)) { source.eatWhile(idRE); if (source.eat('.')) { return "qualifier"; } return "variable-2"; } if (smallRE.test(ch)) { source.eatWhile(idRE); return "variable"; } if (digitRE.test(ch)) { if (ch == '0') { if (source.eat(/[xX]/)) { source.eatWhile(hexitRE); // should require at least 1 return "integer"; } if (source.eat(/[oO]/)) { source.eatWhile(octitRE); // should require at least 1 return "number"; } } source.eatWhile(digitRE); var t = "number"; if (source.match(/^\.\d+/)) { t = "number"; } if (source.eat(/[eE]/)) { t = "number"; source.eat(/[-+]/); source.eatWhile(digitRE); // should require at least 1 } return t; } if (ch == "." && source.eat(".")) return "keyword"; if (symbolRE.test(ch)) { if (ch == '-' && source.eat(/-/)) { source.eatWhile(/-/); if (!source.eat(symbolRE)) { source.skipToEnd(); return "comment"; } } var t = "variable"; if (ch == ':') { t = "variable-2"; } source.eatWhile(symbolRE); return t; } return "error"; } function ncomment(type, nest) { if (nest == 0) { return normal; } return function(source, setState) { var currNest = nest; while (!source.eol()) { var ch = source.next(); if (ch == '{' && source.eat('-')) { ++currNest; } else if (ch == '-' && source.eat('}')) { --currNest; if (currNest == 0) { setState(normal); return type; } } } setState(ncomment(type, currNest)); return type; }; } function stringLiteral(source, setState) { while (!source.eol()) { var ch = source.next(); if (ch == '"') { setState(normal); return "string"; } if (ch == '\\') { if (source.eol() || source.eat(whiteCharRE)) { setState(stringGap); return "string"; } if (source.eat('&')) { } else { source.next(); // should handle other escapes here } } } setState(normal); return "error"; } function stringGap(source, setState) { if (source.eat('\\')) { return switchState(source, setState, stringLiteral); } source.next(); setState(normal); return "error"; } var wellKnownWords = (function() { var wkw = {}; function setType(t) { return function () { for (var i = 0; i < arguments.length; i++) wkw[arguments[i]] = t; }; } setType("keyword")( "case", "class", "data", "default", "deriving", "do", "else", "foreign", "if", "import", "in", "infix", "infixl", "infixr", "instance", "let", "module", "newtype", "of", "then", "type", "where", "_"); setType("keyword")( "\.\.", ":", "::", "=", "\\", "\"", "<-", "->", "@", "~", "=>"); setType("builtin")( "!!", "$!", "$", "&&", "+", "++", "-", ".", "/", "/=", "<", "<=", "=<<", "==", ">", ">=", ">>", ">>=", "^", "^^", "||", "*", "**"); setType("builtin")( "Bool", "Bounded", "Char", "Double", "EQ", "Either", "Enum", "Eq", "False", "FilePath", "Float", "Floating", "Fractional", "Functor", "GT", "IO", "IOError", "Int", "Integer", "Integral", "Just", "LT", "Left", "Maybe", "Monad", "Nothing", "Num", "Ord", "Ordering", "Rational", "Read", "ReadS", "Real", "RealFloat", "RealFrac", "Right", "Show", "ShowS", "String", "True"); setType("builtin")( "abs", "acos", "acosh", "all", "and", "any", "appendFile", "asTypeOf", "asin", "asinh", "atan", "atan2", "atanh", "break", "catch", "ceiling", "compare", "concat", "concatMap", "const", "cos", "cosh", "curry", "cycle", "decodeFloat", "div", "divMod", "drop", "dropWhile", "either", "elem", "encodeFloat", "enumFrom", "enumFromThen", "enumFromThenTo", "enumFromTo", "error", "even", "exp", "exponent", "fail", "filter", "flip", "floatDigits", "floatRadix", "floatRange", "floor", "fmap", "foldl", "foldl1", "foldr", "foldr1", "fromEnum", "fromInteger", "fromIntegral", "fromRational", "fst", "gcd", "getChar", "getContents", "getLine", "head", "id", "init", "interact", "ioError", "isDenormalized", "isIEEE", "isInfinite", "isNaN", "isNegativeZero", "iterate", "last", "lcm", "length", "lex", "lines", "log", "logBase", "lookup", "map", "mapM", "mapM_", "max", "maxBound", "maximum", "maybe", "min", "minBound", "minimum", "mod", "negate", "not", "notElem", "null", "odd", "or", "otherwise", "pi", "pred", "print", "product", "properFraction", "putChar", "putStr", "putStrLn", "quot", "quotRem", "read", "readFile", "readIO", "readList", "readLn", "readParen", "reads", "readsPrec", "realToFrac", "recip", "rem", "repeat", "replicate", "return", "reverse", "round", "scaleFloat", "scanl", "scanl1", "scanr", "scanr1", "seq", "sequence", "sequence_", "show", "showChar", "showList", "showParen", "showString", "shows", "showsPrec", "significand", "signum", "sin", "sinh", "snd", "span", "splitAt", "sqrt", "subtract", "succ", "sum", "tail", "take", "takeWhile", "tan", "tanh", "toEnum", "toInteger", "toRational", "truncate", "uncurry", "undefined", "unlines", "until", "unwords", "unzip", "unzip3", "userError", "words", "writeFile", "zip", "zip3", "zipWith", "zipWith3"); var override = modeConfig.overrideKeywords; if (override) for (var word in override) if (override.hasOwnProperty(word)) wkw[word] = override[word]; return wkw; })(); return { startState: function () { return { f: normal }; }, copyState: function (s) { return { f: s.f }; }, token: function(stream, state) { var t = state.f(stream, function(s) { state.f = s; }); var w = stream.current(); return wellKnownWords.hasOwnProperty(w) ? wellKnownWords[w] : t; }, blockCommentStart: "{-", blockCommentEnd: "-}", lineComment: "--" }; }); CodeMirror.defineMIME("text/x-haskell", "haskell"); }); wp-file-manager/lib/codemirror/mode/haskell/index.html000064400000004222151202472330016775 0ustar00 CodeMirror: Haskell mode

        Haskell mode

        MIME types defined: text/x-haskell.

        wp-file-manager/lib/codemirror/mode/haskell-literate/haskell-literate.js000064400000002556151202472330022407 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function (mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../haskell/haskell")) else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../haskell/haskell"], mod) else // Plain browser env mod(CodeMirror) })(function (CodeMirror) { "use strict" CodeMirror.defineMode("haskell-literate", function (config, parserConfig) { var baseMode = CodeMirror.getMode(config, (parserConfig && parserConfig.base) || "haskell") return { startState: function () { return { inCode: false, baseState: CodeMirror.startState(baseMode) } }, token: function (stream, state) { if (stream.sol()) { if (state.inCode = stream.eat(">")) return "meta" } if (state.inCode) { return baseMode.token(stream, state.baseState) } else { stream.skipToEnd() return "comment" } }, innerMode: function (state) { return state.inCode ? {state: state.baseState, mode: baseMode} : null } } }, "haskell") CodeMirror.defineMIME("text/x-literate-haskell", "haskell-literate") }); wp-file-manager/lib/codemirror/mode/haskell-literate/index.html000064400000022245151202472330020611 0ustar00 CodeMirror: Haskell-literate mode

        Haskell literate mode

        MIME types defined: text/x-literate-haskell.

        Parser configuration parameters recognized: base to set the base mode (defaults to "haskell").

        wp-file-manager/lib/codemirror/mode/haxe/haxe.js000064400000042240151202472330015567 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("haxe", function(config, parserConfig) { var indentUnit = config.indentUnit; // Tokenizer function kw(type) {return {type: type, style: "keyword"};} var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c"); var operator = kw("operator"), atom = {type: "atom", style: "atom"}, attribute = {type:"attribute", style: "attribute"}; var type = kw("typedef"); var keywords = { "if": A, "while": A, "else": B, "do": B, "try": B, "return": C, "break": C, "continue": C, "new": C, "throw": C, "var": kw("var"), "inline":attribute, "static": attribute, "using":kw("import"), "public": attribute, "private": attribute, "cast": kw("cast"), "import": kw("import"), "macro": kw("macro"), "function": kw("function"), "catch": kw("catch"), "untyped": kw("untyped"), "callback": kw("cb"), "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"), "in": operator, "never": kw("property_access"), "trace":kw("trace"), "class": type, "abstract":type, "enum":type, "interface":type, "typedef":type, "extends":type, "implements":type, "dynamic":type, "true": atom, "false": atom, "null": atom }; var isOperatorChar = /[+\-*&%=<>!?|]/; function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } function toUnescaped(stream, end) { var escaped = false, next; while ((next = stream.next()) != null) { if (next == end && !escaped) return true; escaped = !escaped && next == "\\"; } } // Used as scratch variables to communicate multiple values without // consing up tons of objects. var type, content; function ret(tp, style, cont) { type = tp; content = cont; return style; } function haxeTokenBase(stream, state) { var ch = stream.next(); if (ch == '"' || ch == "'") { return chain(stream, state, haxeTokenString(ch)); } else if (/[\[\]{}\(\),;\:\.]/.test(ch)) { return ret(ch); } else if (ch == "0" && stream.eat(/x/i)) { stream.eatWhile(/[\da-f]/i); return ret("number", "number"); } else if (/\d/.test(ch) || ch == "-" && stream.eat(/\d/)) { stream.match(/^\d*(?:\.\d*(?!\.))?(?:[eE][+\-]?\d+)?/); return ret("number", "number"); } else if (state.reAllowed && (ch == "~" && stream.eat(/\//))) { toUnescaped(stream, "/"); stream.eatWhile(/[gimsu]/); return ret("regexp", "string-2"); } else if (ch == "/") { if (stream.eat("*")) { return chain(stream, state, haxeTokenComment); } else if (stream.eat("/")) { stream.skipToEnd(); return ret("comment", "comment"); } else { stream.eatWhile(isOperatorChar); return ret("operator", null, stream.current()); } } else if (ch == "#") { stream.skipToEnd(); return ret("conditional", "meta"); } else if (ch == "@") { stream.eat(/:/); stream.eatWhile(/[\w_]/); return ret ("metadata", "meta"); } else if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return ret("operator", null, stream.current()); } else { var word; if(/[A-Z]/.test(ch)) { stream.eatWhile(/[\w_<>]/); word = stream.current(); return ret("type", "variable-3", word); } else { stream.eatWhile(/[\w_]/); var word = stream.current(), known = keywords.propertyIsEnumerable(word) && keywords[word]; return (known && state.kwAllowed) ? ret(known.type, known.style, word) : ret("variable", "variable", word); } } } function haxeTokenString(quote) { return function(stream, state) { if (toUnescaped(stream, quote)) state.tokenize = haxeTokenBase; return ret("string", "string"); }; } function haxeTokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = haxeTokenBase; break; } maybeEnd = (ch == "*"); } return ret("comment", "comment"); } // Parser var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, "regexp": true}; function HaxeLexical(indented, column, type, align, prev, info) { this.indented = indented; this.column = column; this.type = type; this.prev = prev; this.info = info; if (align != null) this.align = align; } function inScope(state, varname) { for (var v = state.localVars; v; v = v.next) if (v.name == varname) return true; } function parseHaxe(state, style, type, content, stream) { var cc = state.cc; // Communicate our context to the combinators. // (Less wasteful than consing up a hundred closures on every call.) cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; if (!state.lexical.hasOwnProperty("align")) state.lexical.align = true; while(true) { var combinator = cc.length ? cc.pop() : statement; if (combinator(type, content)) { while(cc.length && cc[cc.length - 1].lex) cc.pop()(); if (cx.marked) return cx.marked; if (type == "variable" && inScope(state, content)) return "variable-2"; if (type == "variable" && imported(state, content)) return "variable-3"; return style; } } } function imported(state, typename) { if (/[a-z]/.test(typename.charAt(0))) return false; var len = state.importedtypes.length; for (var i = 0; i= 0; i--) cx.cc.push(arguments[i]); } function cont() { pass.apply(null, arguments); return true; } function inList(name, list) { for (var v = list; v; v = v.next) if (v.name == name) return true; return false; } function register(varname) { var state = cx.state; if (state.context) { cx.marked = "def"; if (inList(varname, state.localVars)) return; state.localVars = {name: varname, next: state.localVars}; } else if (state.globalVars) { if (inList(varname, state.globalVars)) return; state.globalVars = {name: varname, next: state.globalVars}; } } // Combinators var defaultVars = {name: "this", next: null}; function pushcontext() { if (!cx.state.context) cx.state.localVars = defaultVars; cx.state.context = {prev: cx.state.context, vars: cx.state.localVars}; } function popcontext() { cx.state.localVars = cx.state.context.vars; cx.state.context = cx.state.context.prev; } popcontext.lex = true; function pushlex(type, info) { var result = function() { var state = cx.state; state.lexical = new HaxeLexical(state.indented, cx.stream.column(), type, null, state.lexical, info); }; result.lex = true; return result; } function poplex() { var state = cx.state; if (state.lexical.prev) { if (state.lexical.type == ")") state.indented = state.lexical.indented; state.lexical = state.lexical.prev; } } poplex.lex = true; function expect(wanted) { function f(type) { if (type == wanted) return cont(); else if (wanted == ";") return pass(); else return cont(f); } return f; } function statement(type) { if (type == "@") return cont(metadef); if (type == "var") return cont(pushlex("vardef"), vardef1, expect(";"), poplex); if (type == "keyword a") return cont(pushlex("form"), expression, statement, poplex); if (type == "keyword b") return cont(pushlex("form"), statement, poplex); if (type == "{") return cont(pushlex("}"), pushcontext, block, poplex, popcontext); if (type == ";") return cont(); if (type == "attribute") return cont(maybeattribute); if (type == "function") return cont(functiondef); if (type == "for") return cont(pushlex("form"), expect("("), pushlex(")"), forspec1, expect(")"), poplex, statement, poplex); if (type == "variable") return cont(pushlex("stat"), maybelabel); if (type == "switch") return cont(pushlex("form"), expression, pushlex("}", "switch"), expect("{"), block, poplex, poplex); if (type == "case") return cont(expression, expect(":")); if (type == "default") return cont(expect(":")); if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"), statement, poplex, popcontext); if (type == "import") return cont(importdef, expect(";")); if (type == "typedef") return cont(typedef); return pass(pushlex("stat"), expression, expect(";"), poplex); } function expression(type) { if (atomicTypes.hasOwnProperty(type)) return cont(maybeoperator); if (type == "type" ) return cont(maybeoperator); if (type == "function") return cont(functiondef); if (type == "keyword c") return cont(maybeexpression); if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeoperator); if (type == "operator") return cont(expression); if (type == "[") return cont(pushlex("]"), commasep(maybeexpression, "]"), poplex, maybeoperator); if (type == "{") return cont(pushlex("}"), commasep(objprop, "}"), poplex, maybeoperator); return cont(); } function maybeexpression(type) { if (type.match(/[;\}\)\],]/)) return pass(); return pass(expression); } function maybeoperator(type, value) { if (type == "operator" && /\+\+|--/.test(value)) return cont(maybeoperator); if (type == "operator" || type == ":") return cont(expression); if (type == ";") return; if (type == "(") return cont(pushlex(")"), commasep(expression, ")"), poplex, maybeoperator); if (type == ".") return cont(property, maybeoperator); if (type == "[") return cont(pushlex("]"), expression, expect("]"), poplex, maybeoperator); } function maybeattribute(type) { if (type == "attribute") return cont(maybeattribute); if (type == "function") return cont(functiondef); if (type == "var") return cont(vardef1); } function metadef(type) { if(type == ":") return cont(metadef); if(type == "variable") return cont(metadef); if(type == "(") return cont(pushlex(")"), commasep(metaargs, ")"), poplex, statement); } function metaargs(type) { if(type == "variable") return cont(); } function importdef (type, value) { if(type == "variable" && /[A-Z]/.test(value.charAt(0))) { registerimport(value); return cont(); } else if(type == "variable" || type == "property" || type == "." || value == "*") return cont(importdef); } function typedef (type, value) { if(type == "variable" && /[A-Z]/.test(value.charAt(0))) { registerimport(value); return cont(); } else if (type == "type" && /[A-Z]/.test(value.charAt(0))) { return cont(); } } function maybelabel(type) { if (type == ":") return cont(poplex, statement); return pass(maybeoperator, expect(";"), poplex); } function property(type) { if (type == "variable") {cx.marked = "property"; return cont();} } function objprop(type) { if (type == "variable") cx.marked = "property"; if (atomicTypes.hasOwnProperty(type)) return cont(expect(":"), expression); } function commasep(what, end) { function proceed(type) { if (type == ",") return cont(what, proceed); if (type == end) return cont(); return cont(expect(end)); } return function(type) { if (type == end) return cont(); else return pass(what, proceed); }; } function block(type) { if (type == "}") return cont(); return pass(statement, block); } function vardef1(type, value) { if (type == "variable"){register(value); return cont(typeuse, vardef2);} return cont(); } function vardef2(type, value) { if (value == "=") return cont(expression, vardef2); if (type == ",") return cont(vardef1); } function forspec1(type, value) { if (type == "variable") { register(value); return cont(forin, expression) } else { return pass() } } function forin(_type, value) { if (value == "in") return cont(); } function functiondef(type, value) { //function names starting with upper-case letters are recognised as types, so cludging them together here. if (type == "variable" || type == "type") {register(value); return cont(functiondef);} if (value == "new") return cont(functiondef); if (type == "(") return cont(pushlex(")"), pushcontext, commasep(funarg, ")"), poplex, typeuse, statement, popcontext); } function typeuse(type) { if(type == ":") return cont(typestring); } function typestring(type) { if(type == "type") return cont(); if(type == "variable") return cont(); if(type == "{") return cont(pushlex("}"), commasep(typeprop, "}"), poplex); } function typeprop(type) { if(type == "variable") return cont(typeuse); } function funarg(type, value) { if (type == "variable") {register(value); return cont(typeuse);} } // Interface return { startState: function(basecolumn) { var defaulttypes = ["Int", "Float", "String", "Void", "Std", "Bool", "Dynamic", "Array"]; var state = { tokenize: haxeTokenBase, reAllowed: true, kwAllowed: true, cc: [], lexical: new HaxeLexical((basecolumn || 0) - indentUnit, 0, "block", false), localVars: parserConfig.localVars, importedtypes: defaulttypes, context: parserConfig.localVars && {vars: parserConfig.localVars}, indented: 0 }; if (parserConfig.globalVars && typeof parserConfig.globalVars == "object") state.globalVars = parserConfig.globalVars; return state; }, token: function(stream, state) { if (stream.sol()) { if (!state.lexical.hasOwnProperty("align")) state.lexical.align = false; state.indented = stream.indentation(); } if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); if (type == "comment") return style; state.reAllowed = !!(type == "operator" || type == "keyword c" || type.match(/^[\[{}\(,;:]$/)); state.kwAllowed = type != '.'; return parseHaxe(state, style, type, content, stream); }, indent: function(state, textAfter) { if (state.tokenize != haxeTokenBase) return 0; var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical; if (lexical.type == "stat" && firstChar == "}") lexical = lexical.prev; var type = lexical.type, closing = firstChar == type; if (type == "vardef") return lexical.indented + 4; else if (type == "form" && firstChar == "{") return lexical.indented; else if (type == "stat" || type == "form") return lexical.indented + indentUnit; else if (lexical.info == "switch" && !closing) return lexical.indented + (/^(?:case|default)\b/.test(textAfter) ? indentUnit : 2 * indentUnit); else if (lexical.align) return lexical.column + (closing ? 0 : 1); else return lexical.indented + (closing ? 0 : indentUnit); }, electricChars: "{}", blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//" }; }); CodeMirror.defineMIME("text/x-haxe", "haxe"); CodeMirror.defineMode("hxml", function () { return { startState: function () { return { define: false, inString: false }; }, token: function (stream, state) { var ch = stream.peek(); var sol = stream.sol(); ///* comments */ if (ch == "#") { stream.skipToEnd(); return "comment"; } if (sol && ch == "-") { var style = "variable-2"; stream.eat(/-/); if (stream.peek() == "-") { stream.eat(/-/); style = "keyword a"; } if (stream.peek() == "D") { stream.eat(/[D]/); style = "keyword c"; state.define = true; } stream.eatWhile(/[A-Z]/i); return style; } var ch = stream.peek(); if (state.inString == false && ch == "'") { state.inString = true; ch = stream.next(); } if (state.inString == true) { if (stream.skipTo("'")) { } else { stream.skipToEnd(); } if (stream.peek() == "'") { stream.next(); state.inString = false; } return "string"; } stream.next(); return null; }, lineComment: "#" }; }); CodeMirror.defineMIME("text/x-hxml", "hxml"); }); wp-file-manager/lib/codemirror/mode/haxe/index.html000064400000005021151202472330016275 0ustar00 CodeMirror: Haxe mode

        Haxe mode

        Hxml mode:

        MIME types defined: text/x-haxe, text/x-hxml.

        wp-file-manager/lib/codemirror/mode/htmlembedded/htmlembedded.js000064400000002611151202472330020747 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../../addon/mode/multiplex")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../../addon/mode/multiplex"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("htmlembedded", function(config, parserConfig) { return CodeMirror.multiplexingMode(CodeMirror.getMode(config, "htmlmixed"), { open: parserConfig.open || parserConfig.scriptStartRegex || "<%", close: parserConfig.close || parserConfig.scriptEndRegex || "%>", mode: CodeMirror.getMode(config, parserConfig.scriptingModeSpec) }); }, "htmlmixed"); CodeMirror.defineMIME("application/x-ejs", {name: "htmlembedded", scriptingModeSpec:"javascript"}); CodeMirror.defineMIME("application/x-aspx", {name: "htmlembedded", scriptingModeSpec:"text/x-csharp"}); CodeMirror.defineMIME("application/x-jsp", {name: "htmlembedded", scriptingModeSpec:"text/x-java"}); CodeMirror.defineMIME("application/x-erb", {name: "htmlembedded", scriptingModeSpec:"ruby"}); }); wp-file-manager/lib/codemirror/mode/htmlembedded/index.html000064400000004046151202472330017774 0ustar00 CodeMirror: Html Embedded Scripts mode

        Html Embedded Scripts mode

        Mode for html embedded scripts like JSP and ASP.NET. Depends on multiplex and HtmlMixed which in turn depends on JavaScript, CSS and XML.
        Other dependencies include those of the scripting language chosen.

        MIME types defined: application/x-aspx (ASP.NET), application/x-ejs (Embedded Javascript), application/x-jsp (JavaServer Pages) and application/x-erb

        wp-file-manager/lib/codemirror/mode/htmlmixed/htmlmixed.js000064400000012726151202472330017711 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../xml/xml"), require("../javascript/javascript"), require("../css/css")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../xml/xml", "../javascript/javascript", "../css/css"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var defaultTags = { script: [ ["lang", /(javascript|babel)/i, "javascript"], ["type", /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^$/i, "javascript"], ["type", /./, "text/plain"], [null, null, "javascript"] ], style: [ ["lang", /^css$/i, "css"], ["type", /^(text\/)?(x-)?(stylesheet|css)$/i, "css"], ["type", /./, "text/plain"], [null, null, "css"] ] }; function maybeBackup(stream, pat, style) { var cur = stream.current(), close = cur.search(pat); if (close > -1) { stream.backUp(cur.length - close); } else if (cur.match(/<\/?$/)) { stream.backUp(cur.length); if (!stream.match(pat, false)) stream.match(cur); } return style; } var attrRegexpCache = {}; function getAttrRegexp(attr) { var regexp = attrRegexpCache[attr]; if (regexp) return regexp; return attrRegexpCache[attr] = new RegExp("\\s+" + attr + "\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"); } function getAttrValue(text, attr) { var match = text.match(getAttrRegexp(attr)) return match ? /^\s*(.*?)\s*$/.exec(match[2])[1] : "" } function getTagRegexp(tagName, anchored) { return new RegExp((anchored ? "^" : "") + "<\/\s*" + tagName + "\s*>", "i"); } function addTags(from, to) { for (var tag in from) { var dest = to[tag] || (to[tag] = []); var source = from[tag]; for (var i = source.length - 1; i >= 0; i--) dest.unshift(source[i]) } } function findMatchingMode(tagInfo, tagText) { for (var i = 0; i < tagInfo.length; i++) { var spec = tagInfo[i]; if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2]; } } CodeMirror.defineMode("htmlmixed", function (config, parserConfig) { var htmlMode = CodeMirror.getMode(config, { name: "xml", htmlMode: true, multilineTagIndentFactor: parserConfig.multilineTagIndentFactor, multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag }); var tags = {}; var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes; addTags(defaultTags, tags); if (configTags) addTags(configTags, tags); if (configScript) for (var i = configScript.length - 1; i >= 0; i--) tags.script.unshift(["type", configScript[i].matches, configScript[i].mode]) function html(stream, state) { var style = htmlMode.token(stream, state.htmlState), tag = /\btag\b/.test(style), tagName if (tag && !/[<>\s\/]/.test(stream.current()) && (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) && tags.hasOwnProperty(tagName)) { state.inTag = tagName + " " } else if (state.inTag && tag && />$/.test(stream.current())) { var inTag = /^([\S]+) (.*)/.exec(state.inTag) state.inTag = null var modeSpec = stream.current() == ">" && findMatchingMode(tags[inTag[1]], inTag[2]) var mode = CodeMirror.getMode(config, modeSpec) var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false); state.token = function (stream, state) { if (stream.match(endTagA, false)) { state.token = html; state.localState = state.localMode = null; return null; } return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState)); }; state.localMode = mode; state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, "")); } else if (state.inTag) { state.inTag += stream.current() if (stream.eol()) state.inTag += " " } return style; }; return { startState: function () { var state = CodeMirror.startState(htmlMode); return {token: html, inTag: null, localMode: null, localState: null, htmlState: state}; }, copyState: function (state) { var local; if (state.localState) { local = CodeMirror.copyState(state.localMode, state.localState); } return {token: state.token, inTag: state.inTag, localMode: state.localMode, localState: local, htmlState: CodeMirror.copyState(htmlMode, state.htmlState)}; }, token: function (stream, state) { return state.token(stream, state); }, indent: function (state, textAfter) { if (!state.localMode || /^\s*<\//.test(textAfter)) return htmlMode.indent(state.htmlState, textAfter); else if (state.localMode.indent) return state.localMode.indent(state.localState, textAfter); else return CodeMirror.Pass; }, innerMode: function (state) { return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode}; } }; }, "xml", "javascript", "css"); CodeMirror.defineMIME("text/html", "htmlmixed"); }); wp-file-manager/lib/codemirror/mode/htmlmixed/index.html000064400000005772151202472330017360 0ustar00 CodeMirror: HTML mixed mode

        HTML mixed mode

        The HTML mixed mode depends on the XML, JavaScript, and CSS modes.

        It takes an optional mode configuration option, scriptTypes, which can be used to add custom behavior for specific <script type="..."> tags. If given, it should hold an array of {matches, mode} objects, where matches is a string or regexp that matches the script type, and mode is either null, for script types that should stay in HTML mode, or a mode spec corresponding to the mode that should be used for the script.

        MIME types defined: text/html (redefined, only takes effect if you load this parser after the XML parser).

        wp-file-manager/lib/codemirror/mode/http/http.js000064400000005353151202472330015657 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("http", function() { function failFirstLine(stream, state) { stream.skipToEnd(); state.cur = header; return "error"; } function start(stream, state) { if (stream.match(/^HTTP\/\d\.\d/)) { state.cur = responseStatusCode; return "keyword"; } else if (stream.match(/^[A-Z]+/) && /[ \t]/.test(stream.peek())) { state.cur = requestPath; return "keyword"; } else { return failFirstLine(stream, state); } } function responseStatusCode(stream, state) { var code = stream.match(/^\d+/); if (!code) return failFirstLine(stream, state); state.cur = responseStatusText; var status = Number(code[0]); if (status >= 100 && status < 200) { return "positive informational"; } else if (status >= 200 && status < 300) { return "positive success"; } else if (status >= 300 && status < 400) { return "positive redirect"; } else if (status >= 400 && status < 500) { return "negative client-error"; } else if (status >= 500 && status < 600) { return "negative server-error"; } else { return "error"; } } function responseStatusText(stream, state) { stream.skipToEnd(); state.cur = header; return null; } function requestPath(stream, state) { stream.eatWhile(/\S/); state.cur = requestProtocol; return "string-2"; } function requestProtocol(stream, state) { if (stream.match(/^HTTP\/\d\.\d$/)) { state.cur = header; return "keyword"; } else { return failFirstLine(stream, state); } } function header(stream) { if (stream.sol() && !stream.eat(/[ \t]/)) { if (stream.match(/^.*?:/)) { return "atom"; } else { stream.skipToEnd(); return "error"; } } else { stream.skipToEnd(); return "string"; } } function body(stream) { stream.skipToEnd(); return null; } return { token: function(stream, state) { var cur = state.cur; if (cur != header && cur != body && stream.eatSpace()) return null; return cur(stream, state); }, blankLine: function(state) { state.cur = body; }, startState: function() { return {cur: start}; } }; }); CodeMirror.defineMIME("message/http", "http"); }); wp-file-manager/lib/codemirror/mode/http/index.html000064400000002561151202472330016335 0ustar00 CodeMirror: HTTP mode

        HTTP mode

        MIME types defined: message/http.

        wp-file-manager/lib/codemirror/mode/idl/idl.js000064400000035051151202472330015237 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function wordRegexp(words) { return new RegExp('^((' + words.join(')|(') + '))\\b', 'i'); }; var builtinArray = [ 'a_correlate', 'abs', 'acos', 'adapt_hist_equal', 'alog', 'alog2', 'alog10', 'amoeba', 'annotate', 'app_user_dir', 'app_user_dir_query', 'arg_present', 'array_equal', 'array_indices', 'arrow', 'ascii_template', 'asin', 'assoc', 'atan', 'axis', 'axis', 'bandpass_filter', 'bandreject_filter', 'barplot', 'bar_plot', 'beseli', 'beselj', 'beselk', 'besely', 'beta', 'biginteger', 'bilinear', 'bin_date', 'binary_template', 'bindgen', 'binomial', 'bit_ffs', 'bit_population', 'blas_axpy', 'blk_con', 'boolarr', 'boolean', 'boxplot', 'box_cursor', 'breakpoint', 'broyden', 'bubbleplot', 'butterworth', 'bytarr', 'byte', 'byteorder', 'bytscl', 'c_correlate', 'calendar', 'caldat', 'call_external', 'call_function', 'call_method', 'call_procedure', 'canny', 'catch', 'cd', 'cdf', 'ceil', 'chebyshev', 'check_math', 'chisqr_cvf', 'chisqr_pdf', 'choldc', 'cholsol', 'cindgen', 'cir_3pnt', 'clipboard', 'close', 'clust_wts', 'cluster', 'cluster_tree', 'cmyk_convert', 'code_coverage', 'color_convert', 'color_exchange', 'color_quan', 'color_range_map', 'colorbar', 'colorize_sample', 'colormap_applicable', 'colormap_gradient', 'colormap_rotation', 'colortable', 'comfit', 'command_line_args', 'common', 'compile_opt', 'complex', 'complexarr', 'complexround', 'compute_mesh_normals', 'cond', 'congrid', 'conj', 'constrained_min', 'contour', 'contour', 'convert_coord', 'convol', 'convol_fft', 'coord2to3', 'copy_lun', 'correlate', 'cos', 'cosh', 'cpu', 'cramer', 'createboxplotdata', 'create_cursor', 'create_struct', 'create_view', 'crossp', 'crvlength', 'ct_luminance', 'cti_test', 'cursor', 'curvefit', 'cv_coord', 'cvttobm', 'cw_animate', 'cw_animate_getp', 'cw_animate_load', 'cw_animate_run', 'cw_arcball', 'cw_bgroup', 'cw_clr_index', 'cw_colorsel', 'cw_defroi', 'cw_field', 'cw_filesel', 'cw_form', 'cw_fslider', 'cw_light_editor', 'cw_light_editor_get', 'cw_light_editor_set', 'cw_orient', 'cw_palette_editor', 'cw_palette_editor_get', 'cw_palette_editor_set', 'cw_pdmenu', 'cw_rgbslider', 'cw_tmpl', 'cw_zoom', 'db_exists', 'dblarr', 'dcindgen', 'dcomplex', 'dcomplexarr', 'define_key', 'define_msgblk', 'define_msgblk_from_file', 'defroi', 'defsysv', 'delvar', 'dendro_plot', 'dendrogram', 'deriv', 'derivsig', 'determ', 'device', 'dfpmin', 'diag_matrix', 'dialog_dbconnect', 'dialog_message', 'dialog_pickfile', 'dialog_printersetup', 'dialog_printjob', 'dialog_read_image', 'dialog_write_image', 'dictionary', 'digital_filter', 'dilate', 'dindgen', 'dissolve', 'dist', 'distance_measure', 'dlm_load', 'dlm_register', 'doc_library', 'double', 'draw_roi', 'edge_dog', 'efont', 'eigenql', 'eigenvec', 'ellipse', 'elmhes', 'emboss', 'empty', 'enable_sysrtn', 'eof', 'eos', 'erase', 'erf', 'erfc', 'erfcx', 'erode', 'errorplot', 'errplot', 'estimator_filter', 'execute', 'exit', 'exp', 'expand', 'expand_path', 'expint', 'extrac', 'extract_slice', 'f_cvf', 'f_pdf', 'factorial', 'fft', 'file_basename', 'file_chmod', 'file_copy', 'file_delete', 'file_dirname', 'file_expand_path', 'file_gunzip', 'file_gzip', 'file_info', 'file_lines', 'file_link', 'file_mkdir', 'file_move', 'file_poll_input', 'file_readlink', 'file_same', 'file_search', 'file_tar', 'file_test', 'file_untar', 'file_unzip', 'file_which', 'file_zip', 'filepath', 'findgen', 'finite', 'fix', 'flick', 'float', 'floor', 'flow3', 'fltarr', 'flush', 'format_axis_values', 'forward_function', 'free_lun', 'fstat', 'fulstr', 'funct', 'function', 'fv_test', 'fx_root', 'fz_roots', 'gamma', 'gamma_ct', 'gauss_cvf', 'gauss_pdf', 'gauss_smooth', 'gauss2dfit', 'gaussfit', 'gaussian_function', 'gaussint', 'get_drive_list', 'get_dxf_objects', 'get_kbrd', 'get_login_info', 'get_lun', 'get_screen_size', 'getenv', 'getwindows', 'greg2jul', 'grib', 'grid_input', 'grid_tps', 'grid3', 'griddata', 'gs_iter', 'h_eq_ct', 'h_eq_int', 'hanning', 'hash', 'hdf', 'hdf5', 'heap_free', 'heap_gc', 'heap_nosave', 'heap_refcount', 'heap_save', 'help', 'hilbert', 'hist_2d', 'hist_equal', 'histogram', 'hls', 'hough', 'hqr', 'hsv', 'i18n_multibytetoutf8', 'i18n_multibytetowidechar', 'i18n_utf8tomultibyte', 'i18n_widechartomultibyte', 'ibeta', 'icontour', 'iconvertcoord', 'idelete', 'identity', 'idl_base64', 'idl_container', 'idl_validname', 'idlexbr_assistant', 'idlitsys_createtool', 'idlunit', 'iellipse', 'igamma', 'igetcurrent', 'igetdata', 'igetid', 'igetproperty', 'iimage', 'image', 'image_cont', 'image_statistics', 'image_threshold', 'imaginary', 'imap', 'indgen', 'int_2d', 'int_3d', 'int_tabulated', 'intarr', 'interpol', 'interpolate', 'interval_volume', 'invert', 'ioctl', 'iopen', 'ir_filter', 'iplot', 'ipolygon', 'ipolyline', 'iputdata', 'iregister', 'ireset', 'iresolve', 'irotate', 'isa', 'isave', 'iscale', 'isetcurrent', 'isetproperty', 'ishft', 'isocontour', 'isosurface', 'isurface', 'itext', 'itranslate', 'ivector', 'ivolume', 'izoom', 'journal', 'json_parse', 'json_serialize', 'jul2greg', 'julday', 'keyword_set', 'krig2d', 'kurtosis', 'kw_test', 'l64indgen', 'la_choldc', 'la_cholmprove', 'la_cholsol', 'la_determ', 'la_eigenproblem', 'la_eigenql', 'la_eigenvec', 'la_elmhes', 'la_gm_linear_model', 'la_hqr', 'la_invert', 'la_least_square_equality', 'la_least_squares', 'la_linear_equation', 'la_ludc', 'la_lumprove', 'la_lusol', 'la_svd', 'la_tridc', 'la_trimprove', 'la_triql', 'la_trired', 'la_trisol', 'label_date', 'label_region', 'ladfit', 'laguerre', 'lambda', 'lambdap', 'lambertw', 'laplacian', 'least_squares_filter', 'leefilt', 'legend', 'legendre', 'linbcg', 'lindgen', 'linfit', 'linkimage', 'list', 'll_arc_distance', 'lmfit', 'lmgr', 'lngamma', 'lnp_test', 'loadct', 'locale_get', 'logical_and', 'logical_or', 'logical_true', 'lon64arr', 'lonarr', 'long', 'long64', 'lsode', 'lu_complex', 'ludc', 'lumprove', 'lusol', 'm_correlate', 'machar', 'make_array', 'make_dll', 'make_rt', 'map', 'mapcontinents', 'mapgrid', 'map_2points', 'map_continents', 'map_grid', 'map_image', 'map_patch', 'map_proj_forward', 'map_proj_image', 'map_proj_info', 'map_proj_init', 'map_proj_inverse', 'map_set', 'matrix_multiply', 'matrix_power', 'max', 'md_test', 'mean', 'meanabsdev', 'mean_filter', 'median', 'memory', 'mesh_clip', 'mesh_decimate', 'mesh_issolid', 'mesh_merge', 'mesh_numtriangles', 'mesh_obj', 'mesh_smooth', 'mesh_surfacearea', 'mesh_validate', 'mesh_volume', 'message', 'min', 'min_curve_surf', 'mk_html_help', 'modifyct', 'moment', 'morph_close', 'morph_distance', 'morph_gradient', 'morph_hitormiss', 'morph_open', 'morph_thin', 'morph_tophat', 'multi', 'n_elements', 'n_params', 'n_tags', 'ncdf', 'newton', 'noise_hurl', 'noise_pick', 'noise_scatter', 'noise_slur', 'norm', 'obj_class', 'obj_destroy', 'obj_hasmethod', 'obj_isa', 'obj_new', 'obj_valid', 'objarr', 'on_error', 'on_ioerror', 'online_help', 'openr', 'openu', 'openw', 'oplot', 'oploterr', 'orderedhash', 'p_correlate', 'parse_url', 'particle_trace', 'path_cache', 'path_sep', 'pcomp', 'plot', 'plot3d', 'plot', 'plot_3dbox', 'plot_field', 'ploterr', 'plots', 'polar_contour', 'polar_surface', 'polyfill', 'polyshade', 'pnt_line', 'point_lun', 'polarplot', 'poly', 'poly_2d', 'poly_area', 'poly_fit', 'polyfillv', 'polygon', 'polyline', 'polywarp', 'popd', 'powell', 'pref_commit', 'pref_get', 'pref_set', 'prewitt', 'primes', 'print', 'printf', 'printd', 'pro', 'product', 'profile', 'profiler', 'profiles', 'project_vol', 'ps_show_fonts', 'psafm', 'pseudo', 'ptr_free', 'ptr_new', 'ptr_valid', 'ptrarr', 'pushd', 'qgrid3', 'qhull', 'qromb', 'qromo', 'qsimp', 'query_*', 'query_ascii', 'query_bmp', 'query_csv', 'query_dicom', 'query_gif', 'query_image', 'query_jpeg', 'query_jpeg2000', 'query_mrsid', 'query_pict', 'query_png', 'query_ppm', 'query_srf', 'query_tiff', 'query_video', 'query_wav', 'r_correlate', 'r_test', 'radon', 'randomn', 'randomu', 'ranks', 'rdpix', 'read', 'readf', 'read_ascii', 'read_binary', 'read_bmp', 'read_csv', 'read_dicom', 'read_gif', 'read_image', 'read_interfile', 'read_jpeg', 'read_jpeg2000', 'read_mrsid', 'read_pict', 'read_png', 'read_ppm', 'read_spr', 'read_srf', 'read_sylk', 'read_tiff', 'read_video', 'read_wav', 'read_wave', 'read_x11_bitmap', 'read_xwd', 'reads', 'readu', 'real_part', 'rebin', 'recall_commands', 'recon3', 'reduce_colors', 'reform', 'region_grow', 'register_cursor', 'regress', 'replicate', 'replicate_inplace', 'resolve_all', 'resolve_routine', 'restore', 'retall', 'return', 'reverse', 'rk4', 'roberts', 'rot', 'rotate', 'round', 'routine_filepath', 'routine_info', 'rs_test', 's_test', 'save', 'savgol', 'scale3', 'scale3d', 'scatterplot', 'scatterplot3d', 'scope_level', 'scope_traceback', 'scope_varfetch', 'scope_varname', 'search2d', 'search3d', 'sem_create', 'sem_delete', 'sem_lock', 'sem_release', 'set_plot', 'set_shading', 'setenv', 'sfit', 'shade_surf', 'shade_surf_irr', 'shade_volume', 'shift', 'shift_diff', 'shmdebug', 'shmmap', 'shmunmap', 'shmvar', 'show3', 'showfont', 'signum', 'simplex', 'sin', 'sindgen', 'sinh', 'size', 'skewness', 'skip_lun', 'slicer3', 'slide_image', 'smooth', 'sobel', 'socket', 'sort', 'spawn', 'sph_4pnt', 'sph_scat', 'spher_harm', 'spl_init', 'spl_interp', 'spline', 'spline_p', 'sprsab', 'sprsax', 'sprsin', 'sprstp', 'sqrt', 'standardize', 'stddev', 'stop', 'strarr', 'strcmp', 'strcompress', 'streamline', 'streamline', 'stregex', 'stretch', 'string', 'strjoin', 'strlen', 'strlowcase', 'strmatch', 'strmessage', 'strmid', 'strpos', 'strput', 'strsplit', 'strtrim', 'struct_assign', 'struct_hide', 'strupcase', 'surface', 'surface', 'surfr', 'svdc', 'svdfit', 'svsol', 'swap_endian', 'swap_endian_inplace', 'symbol', 'systime', 't_cvf', 't_pdf', 't3d', 'tag_names', 'tan', 'tanh', 'tek_color', 'temporary', 'terminal_size', 'tetra_clip', 'tetra_surface', 'tetra_volume', 'text', 'thin', 'thread', 'threed', 'tic', 'time_test2', 'timegen', 'timer', 'timestamp', 'timestamptovalues', 'tm_test', 'toc', 'total', 'trace', 'transpose', 'tri_surf', 'triangulate', 'trigrid', 'triql', 'trired', 'trisol', 'truncate_lun', 'ts_coef', 'ts_diff', 'ts_fcast', 'ts_smooth', 'tv', 'tvcrs', 'tvlct', 'tvrd', 'tvscl', 'typename', 'uindgen', 'uint', 'uintarr', 'ul64indgen', 'ulindgen', 'ulon64arr', 'ulonarr', 'ulong', 'ulong64', 'uniq', 'unsharp_mask', 'usersym', 'value_locate', 'variance', 'vector', 'vector_field', 'vel', 'velovect', 'vert_t3d', 'voigt', 'volume', 'voronoi', 'voxel_proj', 'wait', 'warp_tri', 'watershed', 'wdelete', 'wf_draw', 'where', 'widget_base', 'widget_button', 'widget_combobox', 'widget_control', 'widget_displaycontextmenu', 'widget_draw', 'widget_droplist', 'widget_event', 'widget_info', 'widget_label', 'widget_list', 'widget_propertysheet', 'widget_slider', 'widget_tab', 'widget_table', 'widget_text', 'widget_tree', 'widget_tree_move', 'widget_window', 'wiener_filter', 'window', 'window', 'write_bmp', 'write_csv', 'write_gif', 'write_image', 'write_jpeg', 'write_jpeg2000', 'write_nrif', 'write_pict', 'write_png', 'write_ppm', 'write_spr', 'write_srf', 'write_sylk', 'write_tiff', 'write_video', 'write_wav', 'write_wave', 'writeu', 'wset', 'wshow', 'wtn', 'wv_applet', 'wv_cwt', 'wv_cw_wavelet', 'wv_denoise', 'wv_dwt', 'wv_fn_coiflet', 'wv_fn_daubechies', 'wv_fn_gaussian', 'wv_fn_haar', 'wv_fn_morlet', 'wv_fn_paul', 'wv_fn_symlet', 'wv_import_data', 'wv_import_wavelet', 'wv_plot3d_wps', 'wv_plot_multires', 'wv_pwt', 'wv_tool_denoise', 'xbm_edit', 'xdisplayfile', 'xdxf', 'xfont', 'xinteranimate', 'xloadct', 'xmanager', 'xmng_tmpl', 'xmtool', 'xobjview', 'xobjview_rotate', 'xobjview_write_image', 'xpalette', 'xpcolor', 'xplot3d', 'xregistered', 'xroi', 'xsq_test', 'xsurface', 'xvaredit', 'xvolume', 'xvolume_rotate', 'xvolume_write_image', 'xyouts', 'zlib_compress', 'zlib_uncompress', 'zoom', 'zoom_24' ]; var builtins = wordRegexp(builtinArray); var keywordArray = [ 'begin', 'end', 'endcase', 'endfor', 'endwhile', 'endif', 'endrep', 'endforeach', 'break', 'case', 'continue', 'for', 'foreach', 'goto', 'if', 'then', 'else', 'repeat', 'until', 'switch', 'while', 'do', 'pro', 'function' ]; var keywords = wordRegexp(keywordArray); CodeMirror.registerHelper("hintWords", "idl", builtinArray.concat(keywordArray)); var identifiers = new RegExp('^[_a-z\xa1-\uffff][_a-z0-9\xa1-\uffff]*', 'i'); var singleOperators = /[+\-*&=<>\/@#~$]/; var boolOperators = new RegExp('(and|or|eq|lt|le|gt|ge|ne|not)', 'i'); function tokenBase(stream) { // whitespaces if (stream.eatSpace()) return null; // Handle one line Comments if (stream.match(';')) { stream.skipToEnd(); return 'comment'; } // Handle Number Literals if (stream.match(/^[0-9\.+-]/, false)) { if (stream.match(/^[+-]?0x[0-9a-fA-F]+/)) return 'number'; if (stream.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/)) return 'number'; if (stream.match(/^[+-]?\d+([EeDd][+-]?\d+)?/)) return 'number'; } // Handle Strings if (stream.match(/^"([^"]|(""))*"/)) { return 'string'; } if (stream.match(/^'([^']|(''))*'/)) { return 'string'; } // Handle words if (stream.match(keywords)) { return 'keyword'; } if (stream.match(builtins)) { return 'builtin'; } if (stream.match(identifiers)) { return 'variable'; } if (stream.match(singleOperators) || stream.match(boolOperators)) { return 'operator'; } // Handle non-detected items stream.next(); return null; }; CodeMirror.defineMode('idl', function() { return { token: function(stream) { return tokenBase(stream); } }; }); CodeMirror.defineMIME('text/x-idl', 'idl'); }); wp-file-manager/lib/codemirror/mode/idl/index.html000064400000003141151202472330016121 0ustar00 CodeMirror: IDL mode

        IDL mode

        MIME types defined: text/x-idl.

        wp-file-manager/lib/codemirror/mode/javascript/index.html000064400000010141151202472330017515 0ustar00 CodeMirror: JavaScript mode

        JavaScript mode

        JavaScript mode supports several configuration options:

        • json which will set the mode to expect JSON data rather than a JavaScript program.
        • jsonld which will set the mode to expect JSON-LD linked data rather than a JavaScript program (demo).
        • typescript which will activate additional syntax highlighting and some other things for TypeScript code (demo).
        • statementIndent which (given a number) will determine the amount of indentation to use for statements continued on a new line.
        • wordCharacters, a regexp that indicates which characters should be considered part of an identifier. Defaults to /[\w$]/, which does not handle non-ASCII identifiers. Can be set to something more elaborate to improve Unicode support.

        MIME types defined: text/javascript, application/json, application/ld+json, text/typescript, application/typescript.

        wp-file-manager/lib/codemirror/mode/javascript/javascript.js000064400000070217151202472330020236 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function expressionAllowed(stream, state, backUp) { return /^(?:operator|sof|keyword c|case|new|[\[{}\(,;:]|=>)$/.test(state.lastType) || (state.lastType == "quasi" && /\{\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0)))) } CodeMirror.defineMode("javascript", function(config, parserConfig) { var indentUnit = config.indentUnit; var statementIndent = parserConfig.statementIndent; var jsonldMode = parserConfig.jsonld; var jsonMode = parserConfig.json || jsonldMode; var isTS = parserConfig.typescript; var wordRE = parserConfig.wordCharacters || /[\w$\xa1-\uffff]/; // Tokenizer var keywords = function(){ function kw(type) {return {type: type, style: "keyword"};} var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c"); var operator = kw("operator"), atom = {type: "atom", style: "atom"}; var jsKeywords = { "if": kw("if"), "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B, "return": C, "break": C, "continue": C, "new": kw("new"), "delete": C, "throw": C, "debugger": C, "var": kw("var"), "const": kw("var"), "let": kw("var"), "function": kw("function"), "catch": kw("catch"), "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"), "in": operator, "typeof": operator, "instanceof": operator, "true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom, "this": kw("this"), "class": kw("class"), "super": kw("atom"), "yield": C, "export": kw("export"), "import": kw("import"), "extends": C, "await": C, "async": kw("async") }; // Extend the 'normal' keywords with the TypeScript language extensions if (isTS) { var type = {type: "variable", style: "variable-3"}; var tsKeywords = { // object-like things "interface": kw("class"), "implements": C, "namespace": C, "module": kw("module"), "enum": kw("module"), // scope modifiers "public": kw("modifier"), "private": kw("modifier"), "protected": kw("modifier"), "abstract": kw("modifier"), // operators "as": operator, // types "string": type, "number": type, "boolean": type, "any": type }; for (var attr in tsKeywords) { jsKeywords[attr] = tsKeywords[attr]; } } return jsKeywords; }(); var isOperatorChar = /[+\-*&%=<>!?|~^]/; var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/; function readRegexp(stream) { var escaped = false, next, inSet = false; while ((next = stream.next()) != null) { if (!escaped) { if (next == "/" && !inSet) return; if (next == "[") inSet = true; else if (inSet && next == "]") inSet = false; } escaped = !escaped && next == "\\"; } } // Used as scratch variables to communicate multiple values without // consing up tons of objects. var type, content; function ret(tp, style, cont) { type = tp; content = cont; return style; } function tokenBase(stream, state) { var ch = stream.next(); if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } else if (ch == "." && stream.match(/^\d+(?:[eE][+\-]?\d+)?/)) { return ret("number", "number"); } else if (ch == "." && stream.match("..")) { return ret("spread", "meta"); } else if (/[\[\]{}\(\),;\:\.]/.test(ch)) { return ret(ch); } else if (ch == "=" && stream.eat(">")) { return ret("=>", "operator"); } else if (ch == "0" && stream.eat(/x/i)) { stream.eatWhile(/[\da-f]/i); return ret("number", "number"); } else if (ch == "0" && stream.eat(/o/i)) { stream.eatWhile(/[0-7]/i); return ret("number", "number"); } else if (ch == "0" && stream.eat(/b/i)) { stream.eatWhile(/[01]/i); return ret("number", "number"); } else if (/\d/.test(ch)) { stream.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/); return ret("number", "number"); } else if (ch == "/") { if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } else if (stream.eat("/")) { stream.skipToEnd(); return ret("comment", "comment"); } else if (expressionAllowed(stream, state, 1)) { readRegexp(stream); stream.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/); return ret("regexp", "string-2"); } else { stream.eatWhile(isOperatorChar); return ret("operator", "operator", stream.current()); } } else if (ch == "`") { state.tokenize = tokenQuasi; return tokenQuasi(stream, state); } else if (ch == "#") { stream.skipToEnd(); return ret("error", "error"); } else if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return ret("operator", "operator", stream.current()); } else if (wordRE.test(ch)) { stream.eatWhile(wordRE); var word = stream.current(), known = keywords.propertyIsEnumerable(word) && keywords[word]; return (known && state.lastType != ".") ? ret(known.type, known.style, word) : ret("variable", "variable", word); } } function tokenString(quote) { return function(stream, state) { var escaped = false, next; if (jsonldMode && stream.peek() == "@" && stream.match(isJsonldKeyword)){ state.tokenize = tokenBase; return ret("jsonld-keyword", "meta"); } while ((next = stream.next()) != null) { if (next == quote && !escaped) break; escaped = !escaped && next == "\\"; } if (!escaped) state.tokenize = tokenBase; return ret("string", "string"); }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return ret("comment", "comment"); } function tokenQuasi(stream, state) { var escaped = false, next; while ((next = stream.next()) != null) { if (!escaped && (next == "`" || next == "$" && stream.eat("{"))) { state.tokenize = tokenBase; break; } escaped = !escaped && next == "\\"; } return ret("quasi", "string-2", stream.current()); } var brackets = "([{}])"; // This is a crude lookahead trick to try and notice that we're // parsing the argument patterns for a fat-arrow function before we // actually hit the arrow token. It only works if the arrow is on // the same line as the arguments and there's no strange noise // (comments) in between. Fallback is to only notice when we hit the // arrow, and not declare the arguments as locals for the arrow // body. function findFatArrow(stream, state) { if (state.fatArrowAt) state.fatArrowAt = null; var arrow = stream.string.indexOf("=>", stream.start); if (arrow < 0) return; var depth = 0, sawSomething = false; for (var pos = arrow - 1; pos >= 0; --pos) { var ch = stream.string.charAt(pos); var bracket = brackets.indexOf(ch); if (bracket >= 0 && bracket < 3) { if (!depth) { ++pos; break; } if (--depth == 0) { if (ch == "(") sawSomething = true; break; } } else if (bracket >= 3 && bracket < 6) { ++depth; } else if (wordRE.test(ch)) { sawSomething = true; } else if (/["'\/]/.test(ch)) { return; } else if (sawSomething && !depth) { ++pos; break; } } if (sawSomething && !depth) state.fatArrowAt = pos; } // Parser var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, "regexp": true, "this": true, "jsonld-keyword": true}; function JSLexical(indented, column, type, align, prev, info) { this.indented = indented; this.column = column; this.type = type; this.prev = prev; this.info = info; if (align != null) this.align = align; } function inScope(state, varname) { for (var v = state.localVars; v; v = v.next) if (v.name == varname) return true; for (var cx = state.context; cx; cx = cx.prev) { for (var v = cx.vars; v; v = v.next) if (v.name == varname) return true; } } function parseJS(state, style, type, content, stream) { var cc = state.cc; // Communicate our context to the combinators. // (Less wasteful than consing up a hundred closures on every call.) cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style; if (!state.lexical.hasOwnProperty("align")) state.lexical.align = true; while(true) { var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement; if (combinator(type, content)) { while(cc.length && cc[cc.length - 1].lex) cc.pop()(); if (cx.marked) return cx.marked; if (type == "variable" && inScope(state, content)) return "variable-2"; return style; } } } // Combinator utils var cx = {state: null, column: null, marked: null, cc: null}; function pass() { for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]); } function cont() { pass.apply(null, arguments); return true; } function register(varname) { function inList(list) { for (var v = list; v; v = v.next) if (v.name == varname) return true; return false; } var state = cx.state; cx.marked = "def"; if (state.context) { if (inList(state.localVars)) return; state.localVars = {name: varname, next: state.localVars}; } else { if (inList(state.globalVars)) return; if (parserConfig.globalVars) state.globalVars = {name: varname, next: state.globalVars}; } } // Combinators var defaultVars = {name: "this", next: {name: "arguments"}}; function pushcontext() { cx.state.context = {prev: cx.state.context, vars: cx.state.localVars}; cx.state.localVars = defaultVars; } function popcontext() { cx.state.localVars = cx.state.context.vars; cx.state.context = cx.state.context.prev; } function pushlex(type, info) { var result = function() { var state = cx.state, indent = state.indented; if (state.lexical.type == "stat") indent = state.lexical.indented; else for (var outer = state.lexical; outer && outer.type == ")" && outer.align; outer = outer.prev) indent = outer.indented; state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info); }; result.lex = true; return result; } function poplex() { var state = cx.state; if (state.lexical.prev) { if (state.lexical.type == ")") state.indented = state.lexical.indented; state.lexical = state.lexical.prev; } } poplex.lex = true; function expect(wanted) { function exp(type) { if (type == wanted) return cont(); else if (wanted == ";") return pass(); else return cont(exp); }; return exp; } function statement(type, value) { if (type == "var") return cont(pushlex("vardef", value.length), vardef, expect(";"), poplex); if (type == "keyword a") return cont(pushlex("form"), expression, statement, poplex); if (type == "keyword b") return cont(pushlex("form"), statement, poplex); if (type == "{") return cont(pushlex("}"), block, poplex); if (type == ";") return cont(); if (type == "if") { if (cx.state.lexical.info == "else" && cx.state.cc[cx.state.cc.length - 1] == poplex) cx.state.cc.pop()(); return cont(pushlex("form"), expression, statement, poplex, maybeelse); } if (type == "function") return cont(functiondef); if (type == "for") return cont(pushlex("form"), forspec, statement, poplex); if (type == "variable") return cont(pushlex("stat"), maybelabel); if (type == "switch") return cont(pushlex("form"), expression, pushlex("}", "switch"), expect("{"), block, poplex, poplex); if (type == "case") return cont(expression, expect(":")); if (type == "default") return cont(expect(":")); if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"), statement, poplex, popcontext); if (type == "class") return cont(pushlex("form"), className, poplex); if (type == "export") return cont(pushlex("stat"), afterExport, poplex); if (type == "import") return cont(pushlex("stat"), afterImport, poplex); if (type == "module") return cont(pushlex("form"), pattern, pushlex("}"), expect("{"), block, poplex, poplex) if (type == "async") return cont(statement) return pass(pushlex("stat"), expression, expect(";"), poplex); } function expression(type) { return expressionInner(type, false); } function expressionNoComma(type) { return expressionInner(type, true); } function expressionInner(type, noComma) { if (cx.state.fatArrowAt == cx.stream.start) { var body = noComma ? arrowBodyNoComma : arrowBody; if (type == "(") return cont(pushcontext, pushlex(")"), commasep(pattern, ")"), poplex, expect("=>"), body, popcontext); else if (type == "variable") return pass(pushcontext, pattern, expect("=>"), body, popcontext); } var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma; if (atomicTypes.hasOwnProperty(type)) return cont(maybeop); if (type == "function") return cont(functiondef, maybeop); if (type == "keyword c" || type == "async") return cont(noComma ? maybeexpressionNoComma : maybeexpression); if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeop); if (type == "operator" || type == "spread") return cont(noComma ? expressionNoComma : expression); if (type == "[") return cont(pushlex("]"), arrayLiteral, poplex, maybeop); if (type == "{") return contCommasep(objprop, "}", null, maybeop); if (type == "quasi") return pass(quasi, maybeop); if (type == "new") return cont(maybeTarget(noComma)); return cont(); } function maybeexpression(type) { if (type.match(/[;\}\)\],]/)) return pass(); return pass(expression); } function maybeexpressionNoComma(type) { if (type.match(/[;\}\)\],]/)) return pass(); return pass(expressionNoComma); } function maybeoperatorComma(type, value) { if (type == ",") return cont(expression); return maybeoperatorNoComma(type, value, false); } function maybeoperatorNoComma(type, value, noComma) { var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma; var expr = noComma == false ? expression : expressionNoComma; if (type == "=>") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext); if (type == "operator") { if (/\+\+|--/.test(value)) return cont(me); if (value == "?") return cont(expression, expect(":"), expr); return cont(expr); } if (type == "quasi") { return pass(quasi, me); } if (type == ";") return; if (type == "(") return contCommasep(expressionNoComma, ")", "call", me); if (type == ".") return cont(property, me); if (type == "[") return cont(pushlex("]"), maybeexpression, expect("]"), poplex, me); } function quasi(type, value) { if (type != "quasi") return pass(); if (value.slice(value.length - 2) != "${") return cont(quasi); return cont(expression, continueQuasi); } function continueQuasi(type) { if (type == "}") { cx.marked = "string-2"; cx.state.tokenize = tokenQuasi; return cont(quasi); } } function arrowBody(type) { findFatArrow(cx.stream, cx.state); return pass(type == "{" ? statement : expression); } function arrowBodyNoComma(type) { findFatArrow(cx.stream, cx.state); return pass(type == "{" ? statement : expressionNoComma); } function maybeTarget(noComma) { return function(type) { if (type == ".") return cont(noComma ? targetNoComma : target); else return pass(noComma ? expressionNoComma : expression); }; } function target(_, value) { if (value == "target") { cx.marked = "keyword"; return cont(maybeoperatorComma); } } function targetNoComma(_, value) { if (value == "target") { cx.marked = "keyword"; return cont(maybeoperatorNoComma); } } function maybelabel(type) { if (type == ":") return cont(poplex, statement); return pass(maybeoperatorComma, expect(";"), poplex); } function property(type) { if (type == "variable") {cx.marked = "property"; return cont();} } function objprop(type, value) { if (type == "async") { cx.marked = "property"; return cont(objprop); } else if (type == "variable" || cx.style == "keyword") { cx.marked = "property"; if (value == "get" || value == "set") return cont(getterSetter); return cont(afterprop); } else if (type == "number" || type == "string") { cx.marked = jsonldMode ? "property" : (cx.style + " property"); return cont(afterprop); } else if (type == "jsonld-keyword") { return cont(afterprop); } else if (type == "modifier") { return cont(objprop) } else if (type == "[") { return cont(expression, expect("]"), afterprop); } else if (type == "spread") { return cont(expression); } else if (type == ":") { return pass(afterprop) } } function getterSetter(type) { if (type != "variable") return pass(afterprop); cx.marked = "property"; return cont(functiondef); } function afterprop(type) { if (type == ":") return cont(expressionNoComma); if (type == "(") return pass(functiondef); } function commasep(what, end) { function proceed(type, value) { if (type == ",") { var lex = cx.state.lexical; if (lex.info == "call") lex.pos = (lex.pos || 0) + 1; return cont(function(type, value) { if (type == end || value == end) return pass() return pass(what) }, proceed); } if (type == end || value == end) return cont(); return cont(expect(end)); } return function(type, value) { if (type == end || value == end) return cont(); return pass(what, proceed); }; } function contCommasep(what, end, info) { for (var i = 3; i < arguments.length; i++) cx.cc.push(arguments[i]); return cont(pushlex(end, info), commasep(what, end), poplex); } function block(type) { if (type == "}") return cont(); return pass(statement, block); } function maybetype(type) { if (isTS && type == ":") return cont(typeexpr); } function maybedefault(_, value) { if (value == "=") return cont(expressionNoComma); } function typeexpr(type) { if (type == "variable") {cx.marked = "variable-3"; return cont(afterType);} if (type == "{") return cont(commasep(typeprop, "}")) if (type == "(") return cont(commasep(typearg, ")"), maybeReturnType) } function maybeReturnType(type) { if (type == "=>") return cont(typeexpr) } function typeprop(type) { if (type == "variable" || cx.style == "keyword") { cx.marked = "property" return cont(typeprop) } else if (type == ":") { return cont(typeexpr) } } function typearg(type) { if (type == "variable") return cont(typearg) else if (type == ":") return cont(typeexpr) } function afterType(type, value) { if (value == "<") return cont(commasep(typeexpr, ">"), afterType) if (type == "[") return cont(expect("]"), afterType) } function vardef() { return pass(pattern, maybetype, maybeAssign, vardefCont); } function pattern(type, value) { if (type == "modifier") return cont(pattern) if (type == "variable") { register(value); return cont(); } if (type == "spread") return cont(pattern); if (type == "[") return contCommasep(pattern, "]"); if (type == "{") return contCommasep(proppattern, "}"); } function proppattern(type, value) { if (type == "variable" && !cx.stream.match(/^\s*:/, false)) { register(value); return cont(maybeAssign); } if (type == "variable") cx.marked = "property"; if (type == "spread") return cont(pattern); if (type == "}") return pass(); return cont(expect(":"), pattern, maybeAssign); } function maybeAssign(_type, value) { if (value == "=") return cont(expressionNoComma); } function vardefCont(type) { if (type == ",") return cont(vardef); } function maybeelse(type, value) { if (type == "keyword b" && value == "else") return cont(pushlex("form", "else"), statement, poplex); } function forspec(type) { if (type == "(") return cont(pushlex(")"), forspec1, expect(")"), poplex); } function forspec1(type) { if (type == "var") return cont(vardef, expect(";"), forspec2); if (type == ";") return cont(forspec2); if (type == "variable") return cont(formaybeinof); return pass(expression, expect(";"), forspec2); } function formaybeinof(_type, value) { if (value == "in" || value == "of") { cx.marked = "keyword"; return cont(expression); } return cont(maybeoperatorComma, forspec2); } function forspec2(type, value) { if (type == ";") return cont(forspec3); if (value == "in" || value == "of") { cx.marked = "keyword"; return cont(expression); } return pass(expression, expect(";"), forspec3); } function forspec3(type) { if (type != ")") cont(expression); } function functiondef(type, value) { if (value == "*") {cx.marked = "keyword"; return cont(functiondef);} if (type == "variable") {register(value); return cont(functiondef);} if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, maybetype, statement, popcontext); } function funarg(type) { if (type == "spread") return cont(funarg); return pass(pattern, maybetype, maybedefault); } function className(type, value) { if (type == "variable") {register(value); return cont(classNameAfter);} } function classNameAfter(type, value) { if (value == "extends") return cont(isTS ? typeexpr : expression, classNameAfter); if (type == "{") return cont(pushlex("}"), classBody, poplex); } function classBody(type, value) { if (type == "variable" || cx.style == "keyword") { if (value == "static") { cx.marked = "keyword"; return cont(classBody); } cx.marked = "property"; if (value == "get" || value == "set") return cont(classGetterSetter, functiondef, classBody); return cont(functiondef, classBody); } if (value == "*") { cx.marked = "keyword"; return cont(classBody); } if (type == ";") return cont(classBody); if (type == "}") return cont(); } function classGetterSetter(type) { if (type != "variable") return pass(); cx.marked = "property"; return cont(); } function afterExport(_type, value) { if (value == "*") { cx.marked = "keyword"; return cont(maybeFrom, expect(";")); } if (value == "default") { cx.marked = "keyword"; return cont(expression, expect(";")); } return pass(statement); } function afterImport(type) { if (type == "string") return cont(); return pass(importSpec, maybeFrom); } function importSpec(type, value) { if (type == "{") return contCommasep(importSpec, "}"); if (type == "variable") register(value); if (value == "*") cx.marked = "keyword"; return cont(maybeAs); } function maybeAs(_type, value) { if (value == "as") { cx.marked = "keyword"; return cont(importSpec); } } function maybeFrom(_type, value) { if (value == "from") { cx.marked = "keyword"; return cont(expression); } } function arrayLiteral(type) { if (type == "]") return cont(); return pass(commasep(expressionNoComma, "]")); } function isContinuedStatement(state, textAfter) { return state.lastType == "operator" || state.lastType == "," || isOperatorChar.test(textAfter.charAt(0)) || /[,.]/.test(textAfter.charAt(0)); } // Interface return { startState: function(basecolumn) { var state = { tokenize: tokenBase, lastType: "sof", cc: [], lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, "block", false), localVars: parserConfig.localVars, context: parserConfig.localVars && {vars: parserConfig.localVars}, indented: basecolumn || 0 }; if (parserConfig.globalVars && typeof parserConfig.globalVars == "object") state.globalVars = parserConfig.globalVars; return state; }, token: function(stream, state) { if (stream.sol()) { if (!state.lexical.hasOwnProperty("align")) state.lexical.align = false; state.indented = stream.indentation(); findFatArrow(stream, state); } if (state.tokenize != tokenComment && stream.eatSpace()) return null; var style = state.tokenize(stream, state); if (type == "comment") return style; state.lastType = type == "operator" && (content == "++" || content == "--") ? "incdec" : type; return parseJS(state, style, type, content, stream); }, indent: function(state, textAfter) { if (state.tokenize == tokenComment) return CodeMirror.Pass; if (state.tokenize != tokenBase) return 0; var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical; // Kludge to prevent 'maybelse' from blocking lexical scope pops if (!/^\s*else\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) { var c = state.cc[i]; if (c == poplex) lexical = lexical.prev; else if (c != maybeelse) break; } if (lexical.type == "stat" && firstChar == "}") lexical = lexical.prev; if (statementIndent && lexical.type == ")" && lexical.prev.type == "stat") lexical = lexical.prev; var type = lexical.type, closing = firstChar == type; if (type == "vardef") return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? lexical.info + 1 : 0); else if (type == "form" && firstChar == "{") return lexical.indented; else if (type == "form") return lexical.indented + indentUnit; else if (type == "stat") return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0); else if (lexical.info == "switch" && !closing && parserConfig.doubleIndentSwitch != false) return lexical.indented + (/^(?:case|default)\b/.test(textAfter) ? indentUnit : 2 * indentUnit); else if (lexical.align) return lexical.column + (closing ? 0 : 1); else return lexical.indented + (closing ? 0 : indentUnit); }, electricInput: /^\s*(?:case .*?:|default:|\{|\})$/, blockCommentStart: jsonMode ? null : "/*", blockCommentEnd: jsonMode ? null : "*/", lineComment: jsonMode ? null : "//", fold: "brace", closeBrackets: "()[]{}''\"\"``", helperType: jsonMode ? "json" : "javascript", jsonldMode: jsonldMode, jsonMode: jsonMode, expressionAllowed: expressionAllowed, skipExpression: function(state) { var top = state.cc[state.cc.length - 1] if (top == expression || top == expressionNoComma) state.cc.pop() } }; }); CodeMirror.registerHelper("wordChars", "javascript", /[\w$]/); CodeMirror.defineMIME("text/javascript", "javascript"); CodeMirror.defineMIME("text/ecmascript", "javascript"); CodeMirror.defineMIME("application/javascript", "javascript"); CodeMirror.defineMIME("application/x-javascript", "javascript"); CodeMirror.defineMIME("application/ecmascript", "javascript"); CodeMirror.defineMIME("application/json", {name: "javascript", json: true}); CodeMirror.defineMIME("application/x-json", {name: "javascript", json: true}); CodeMirror.defineMIME("application/ld+json", {name: "javascript", jsonld: true}); CodeMirror.defineMIME("text/typescript", { name: "javascript", typescript: true }); CodeMirror.defineMIME("application/typescript", { name: "javascript", typescript: true }); }); wp-file-manager/lib/codemirror/mode/javascript/json-ld.html000064400000004146151202472330017764 0ustar00 CodeMirror: JSON-LD mode

        JSON-LD mode

        This is a specialization of the JavaScript mode.

        wp-file-manager/lib/codemirror/mode/javascript/test.js000064400000017221151202472330017043 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "javascript"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT("locals", "[keyword function] [def foo]([def a], [def b]) { [keyword var] [def c] [operator =] [number 10]; [keyword return] [variable-2 a] [operator +] [variable-2 c] [operator +] [variable d]; }"); MT("comma-and-binop", "[keyword function](){ [keyword var] [def x] [operator =] [number 1] [operator +] [number 2], [def y]; }"); MT("destructuring", "([keyword function]([def a], [[[def b], [def c] ]]) {", " [keyword let] {[def d], [property foo]: [def c][operator =][number 10], [def x]} [operator =] [variable foo]([variable-2 a]);", " [[[variable-2 c], [variable y] ]] [operator =] [variable-2 c];", "})();"); MT("destructure_trailing_comma", "[keyword let] {[def a], [def b],} [operator =] [variable foo];", "[keyword let] [def c];"); // Parser still in good state? MT("class_body", "[keyword class] [def Foo] {", " [property constructor]() {}", " [property sayName]() {", " [keyword return] [string-2 `foo${][variable foo][string-2 }oo`];", " }", "}"); MT("class", "[keyword class] [def Point] [keyword extends] [variable SuperThing] {", " [property get] [property prop]() { [keyword return] [number 24]; }", " [property constructor]([def x], [def y]) {", " [keyword super]([string 'something']);", " [keyword this].[property x] [operator =] [variable-2 x];", " }", "}"); MT("import", "[keyword function] [def foo]() {", " [keyword import] [def $] [keyword from] [string 'jquery'];", " [keyword import] { [def encrypt], [def decrypt] } [keyword from] [string 'crypto'];", "}"); MT("import_trailing_comma", "[keyword import] {[def foo], [def bar],} [keyword from] [string 'baz']") MT("const", "[keyword function] [def f]() {", " [keyword const] [[ [def a], [def b] ]] [operator =] [[ [number 1], [number 2] ]];", "}"); MT("for/of", "[keyword for]([keyword let] [def of] [keyword of] [variable something]) {}"); MT("generator", "[keyword function*] [def repeat]([def n]) {", " [keyword for]([keyword var] [def i] [operator =] [number 0]; [variable-2 i] [operator <] [variable-2 n]; [operator ++][variable-2 i])", " [keyword yield] [variable-2 i];", "}"); MT("quotedStringAddition", "[keyword let] [def f] [operator =] [variable a] [operator +] [string 'fatarrow'] [operator +] [variable c];"); MT("quotedFatArrow", "[keyword let] [def f] [operator =] [variable a] [operator +] [string '=>'] [operator +] [variable c];"); MT("fatArrow", "[variable array].[property filter]([def a] [operator =>] [variable-2 a] [operator +] [number 1]);", "[variable a];", // No longer in scope "[keyword let] [def f] [operator =] ([[ [def a], [def b] ]], [def c]) [operator =>] [variable-2 a] [operator +] [variable-2 c];", "[variable c];"); MT("spread", "[keyword function] [def f]([def a], [meta ...][def b]) {", " [variable something]([variable-2 a], [meta ...][variable-2 b]);", "}"); MT("quasi", "[variable re][string-2 `fofdlakj${][variable x] [operator +] ([variable re][string-2 `foo`]) [operator +] [number 1][string-2 }fdsa`] [operator +] [number 2]"); MT("quasi_no_function", "[variable x] [operator =] [string-2 `fofdlakj${][variable x] [operator +] [string-2 `foo`] [operator +] [number 1][string-2 }fdsa`] [operator +] [number 2]"); MT("indent_statement", "[keyword var] [def x] [operator =] [number 10]", "[variable x] [operator +=] [variable y] [operator +]", " [atom Infinity]", "[keyword debugger];"); MT("indent_if", "[keyword if] ([number 1])", " [keyword break];", "[keyword else] [keyword if] ([number 2])", " [keyword continue];", "[keyword else]", " [number 10];", "[keyword if] ([number 1]) {", " [keyword break];", "} [keyword else] [keyword if] ([number 2]) {", " [keyword continue];", "} [keyword else] {", " [number 10];", "}"); MT("indent_for", "[keyword for] ([keyword var] [def i] [operator =] [number 0];", " [variable i] [operator <] [number 100];", " [variable i][operator ++])", " [variable doSomething]([variable i]);", "[keyword debugger];"); MT("indent_c_style", "[keyword function] [def foo]()", "{", " [keyword debugger];", "}"); MT("indent_else", "[keyword for] (;;)", " [keyword if] ([variable foo])", " [keyword if] ([variable bar])", " [number 1];", " [keyword else]", " [number 2];", " [keyword else]", " [number 3];"); MT("indent_funarg", "[variable foo]([number 10000],", " [keyword function]([def a]) {", " [keyword debugger];", "};"); MT("indent_below_if", "[keyword for] (;;)", " [keyword if] ([variable foo])", " [number 1];", "[number 2];"); MT("multilinestring", "[keyword var] [def x] [operator =] [string 'foo\\]", "[string bar'];"); MT("scary_regexp", "[string-2 /foo[[/]]bar/];"); MT("indent_strange_array", "[keyword var] [def x] [operator =] [[", " [number 1],,", " [number 2],", "]];", "[number 10];"); MT("param_default", "[keyword function] [def foo]([def x] [operator =] [string-2 `foo${][number 10][string-2 }bar`]) {", " [keyword return] [variable-2 x];", "}"); MT("new_target", "[keyword function] [def F]([def target]) {", " [keyword if] ([variable-2 target] [operator &&] [keyword new].[keyword target].[property name]) {", " [keyword return] [keyword new]", " .[keyword target];", " }", "}"); var ts_mode = CodeMirror.getMode({indentUnit: 2}, "application/typescript") function TS(name) { test.mode(name, ts_mode, Array.prototype.slice.call(arguments, 1)) } TS("extend_type", "[keyword class] [def Foo] [keyword extends] [variable-3 Some][operator <][variable-3 Type][operator >] {}") TS("arrow_type", "[keyword let] [def x]: ([variable arg]: [variable-3 Type]) [operator =>] [variable-3 ReturnType]") var jsonld_mode = CodeMirror.getMode( {indentUnit: 2}, {name: "javascript", jsonld: true} ); function LD(name) { test.mode(name, jsonld_mode, Array.prototype.slice.call(arguments, 1)); } LD("json_ld_keywords", '{', ' [meta "@context"]: {', ' [meta "@base"]: [string "http://example.com"],', ' [meta "@vocab"]: [string "http://xmlns.com/foaf/0.1/"],', ' [property "likesFlavor"]: {', ' [meta "@container"]: [meta "@list"]', ' [meta "@reverse"]: [string "@beFavoriteOf"]', ' },', ' [property "nick"]: { [meta "@container"]: [meta "@set"] },', ' [property "nick"]: { [meta "@container"]: [meta "@index"] }', ' },', ' [meta "@graph"]: [[ {', ' [meta "@id"]: [string "http://dbpedia.org/resource/John_Lennon"],', ' [property "name"]: [string "John Lennon"],', ' [property "modified"]: {', ' [meta "@value"]: [string "2010-05-29T14:17:39+02:00"],', ' [meta "@type"]: [string "http://www.w3.org/2001/XMLSchema#dateTime"]', ' }', ' } ]]', '}'); LD("json_ld_fake", '{', ' [property "@fake"]: [string "@fake"],', ' [property "@contextual"]: [string "@identifier"],', ' [property "user@domain.com"]: [string "@graphical"],', ' [property "@ID"]: [string "@@ID"]', '}'); })(); wp-file-manager/lib/codemirror/mode/javascript/typescript.html000064400000003013151202472330020614 0ustar00 CodeMirror: TypeScript mode

        TypeScript mode

        This is a specialization of the JavaScript mode.

        wp-file-manager/lib/codemirror/mode/jinja2/index.html000064400000003333151202472330016531 0ustar00 CodeMirror: Jinja2 mode

        Jinja2 mode

        wp-file-manager/lib/codemirror/mode/jinja2/jinja2.js000064400000010274151202472330016251 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("jinja2", function() { var keywords = ["and", "as", "block", "endblock", "by", "cycle", "debug", "else", "elif", "extends", "filter", "endfilter", "firstof", "for", "endfor", "if", "endif", "ifchanged", "endifchanged", "ifequal", "endifequal", "ifnotequal", "endifnotequal", "in", "include", "load", "not", "now", "or", "parsed", "regroup", "reversed", "spaceless", "endspaceless", "ssi", "templatetag", "openblock", "closeblock", "openvariable", "closevariable", "openbrace", "closebrace", "opencomment", "closecomment", "widthratio", "url", "with", "endwith", "get_current_language", "trans", "endtrans", "noop", "blocktrans", "endblocktrans", "get_available_languages", "get_current_language_bidi", "plural"], operator = /^[+\-*&%=<>!?|~^]/, sign = /^[:\[\(\{]/, atom = ["true", "false"], number = /^(\d[+\-\*\/])?\d+(\.\d+)?/; keywords = new RegExp("((" + keywords.join(")|(") + "))\\b"); atom = new RegExp("((" + atom.join(")|(") + "))\\b"); function tokenBase (stream, state) { var ch = stream.peek(); //Comment if (state.incomment) { if(!stream.skipTo("#}")) { stream.skipToEnd(); } else { stream.eatWhile(/\#|}/); state.incomment = false; } return "comment"; //Tag } else if (state.intag) { //After operator if(state.operator) { state.operator = false; if(stream.match(atom)) { return "atom"; } if(stream.match(number)) { return "number"; } } //After sign if(state.sign) { state.sign = false; if(stream.match(atom)) { return "atom"; } if(stream.match(number)) { return "number"; } } if(state.instring) { if(ch == state.instring) { state.instring = false; } stream.next(); return "string"; } else if(ch == "'" || ch == '"') { state.instring = ch; stream.next(); return "string"; } else if(stream.match(state.intag + "}") || stream.eat("-") && stream.match(state.intag + "}")) { state.intag = false; return "tag"; } else if(stream.match(operator)) { state.operator = true; return "operator"; } else if(stream.match(sign)) { state.sign = true; } else { if(stream.eat(" ") || stream.sol()) { if(stream.match(keywords)) { return "keyword"; } if(stream.match(atom)) { return "atom"; } if(stream.match(number)) { return "number"; } if(stream.sol()) { stream.next(); } } else { stream.next(); } } return "variable"; } else if (stream.eat("{")) { if (ch = stream.eat("#")) { state.incomment = true; if(!stream.skipTo("#}")) { stream.skipToEnd(); } else { stream.eatWhile(/\#|}/); state.incomment = false; } return "comment"; //Open tag } else if (ch = stream.eat(/\{|%/)) { //Cache close tag state.intag = ch; if(ch == "{") { state.intag = "}"; } stream.eat("-"); return "tag"; } } stream.next(); }; return { startState: function () { return {tokenize: tokenBase}; }, token: function (stream, state) { return state.tokenize(stream, state); } }; }); }); wp-file-manager/lib/codemirror/mode/jsx/index.html000064400000004552151202472330016164 0ustar00 CodeMirror: JSX mode

        JSX mode

        JSX Mode for React's JavaScript syntax extension.

        MIME types defined: text/jsx, text/typescript-jsx.

        wp-file-manager/lib/codemirror/mode/jsx/jsx.js000064400000012113151202472330015321 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../xml/xml"), require("../javascript/javascript")) else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../xml/xml", "../javascript/javascript"], mod) else // Plain browser env mod(CodeMirror) })(function(CodeMirror) { "use strict" // Depth means the amount of open braces in JS context, in XML // context 0 means not in tag, 1 means in tag, and 2 means in tag // and js block comment. function Context(state, mode, depth, prev) { this.state = state; this.mode = mode; this.depth = depth; this.prev = prev } function copyContext(context) { return new Context(CodeMirror.copyState(context.mode, context.state), context.mode, context.depth, context.prev && copyContext(context.prev)) } CodeMirror.defineMode("jsx", function(config, modeConfig) { var xmlMode = CodeMirror.getMode(config, {name: "xml", allowMissing: true, multilineTagIndentPastTag: false}) var jsMode = CodeMirror.getMode(config, modeConfig && modeConfig.base || "javascript") function flatXMLIndent(state) { var tagName = state.tagName state.tagName = null var result = xmlMode.indent(state, "") state.tagName = tagName return result } function token(stream, state) { if (state.context.mode == xmlMode) return xmlToken(stream, state, state.context) else return jsToken(stream, state, state.context) } function xmlToken(stream, state, cx) { if (cx.depth == 2) { // Inside a JS /* */ comment if (stream.match(/^.*?\*\//)) cx.depth = 1 else stream.skipToEnd() return "comment" } if (stream.peek() == "{") { xmlMode.skipAttribute(cx.state) var indent = flatXMLIndent(cx.state), xmlContext = cx.state.context // If JS starts on same line as tag if (xmlContext && stream.match(/^[^>]*>\s*$/, false)) { while (xmlContext.prev && !xmlContext.startOfLine) xmlContext = xmlContext.prev // If tag starts the line, use XML indentation level if (xmlContext.startOfLine) indent -= config.indentUnit // Else use JS indentation level else if (cx.prev.state.lexical) indent = cx.prev.state.lexical.indented // Else if inside of tag } else if (cx.depth == 1) { indent += config.indentUnit } state.context = new Context(CodeMirror.startState(jsMode, indent), jsMode, 0, state.context) return null } if (cx.depth == 1) { // Inside of tag if (stream.peek() == "<") { // Tag inside of tag xmlMode.skipAttribute(cx.state) state.context = new Context(CodeMirror.startState(xmlMode, flatXMLIndent(cx.state)), xmlMode, 0, state.context) return null } else if (stream.match("//")) { stream.skipToEnd() return "comment" } else if (stream.match("/*")) { cx.depth = 2 return token(stream, state) } } var style = xmlMode.token(stream, cx.state), cur = stream.current(), stop if (/\btag\b/.test(style)) { if (/>$/.test(cur)) { if (cx.state.context) cx.depth = 0 else state.context = state.context.prev } else if (/^ -1) { stream.backUp(cur.length - stop) } return style } function jsToken(stream, state, cx) { if (stream.peek() == "<" && jsMode.expressionAllowed(stream, cx.state)) { jsMode.skipExpression(cx.state) state.context = new Context(CodeMirror.startState(xmlMode, jsMode.indent(cx.state, "")), xmlMode, 0, state.context) return null } var style = jsMode.token(stream, cx.state) if (!style && cx.depth != null) { var cur = stream.current() if (cur == "{") { cx.depth++ } else if (cur == "}") { if (--cx.depth == 0) state.context = state.context.prev } } return style } return { startState: function() { return {context: new Context(CodeMirror.startState(jsMode), jsMode)} }, copyState: function(state) { return {context: copyContext(state.context)} }, token: token, indent: function(state, textAfter, fullLine) { return state.context.mode.indent(state.context.state, textAfter, fullLine) }, innerMode: function(state) { return state.context } } }, "xml", "javascript") CodeMirror.defineMIME("text/jsx", "jsx") CodeMirror.defineMIME("text/typescript-jsx", {name: "jsx", base: {name: "javascript", typescript: true}}) }); wp-file-manager/lib/codemirror/mode/jsx/test.js000064400000005626151202472330015507 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "jsx") function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)) } MT("selfclose", "[keyword var] [def x] [operator =] [bracket&tag <] [tag foo] [bracket&tag />] [operator +] [number 1];") MT("openclose", "([bracket&tag <][tag foo][bracket&tag >]hello [atom &][bracket&tag ][operator ++])") MT("attr", "([bracket&tag <][tag foo] [attribute abc]=[string 'value'][bracket&tag >]hello [atom &][bracket&tag ][operator ++])") MT("braced_attr", "([bracket&tag <][tag foo] [attribute abc]={[number 10]}[bracket&tag >]hello [atom &][bracket&tag ][operator ++])") MT("braced_text", "([bracket&tag <][tag foo][bracket&tag >]hello {[number 10]} [atom &][bracket&tag ][operator ++])") MT("nested_tag", "([bracket&tag <][tag foo][bracket&tag ><][tag bar][bracket&tag >][operator ++])") MT("nested_jsx", "[keyword return] (", " [bracket&tag <][tag foo][bracket&tag >]", " say {[number 1] [operator +] [bracket&tag <][tag bar] [attribute attr]={[number 10]}[bracket&tag />]}!", " [bracket&tag ][operator ++]", ")") MT("preserve_js_context", "[variable x] [operator =] [string-2 `quasi${][bracket&tag <][tag foo][bracket&tag />][string-2 }quoted`]") MT("line_comment", "([bracket&tag <][tag foo] [comment // hello]", " [bracket&tag >][operator ++])") MT("line_comment_not_in_tag", "([bracket&tag <][tag foo][bracket&tag >] // hello", " [bracket&tag ][operator ++])") MT("block_comment", "([bracket&tag <][tag foo] [comment /* hello]", "[comment line 2]", "[comment line 3 */] [bracket&tag >][operator ++])") MT("block_comment_not_in_tag", "([bracket&tag <][tag foo][bracket&tag >]/* hello", " line 2", " line 3 */ [bracket&tag ][operator ++])") MT("missing_attr", "([bracket&tag <][tag foo] [attribute selected][bracket&tag />][operator ++])") MT("indent_js", "([bracket&tag <][tag foo][bracket&tag >]", " [bracket&tag <][tag bar] [attribute baz]={[keyword function]() {", " [keyword return] [number 10]", " }}[bracket&tag />]", " [bracket&tag ])") MT("spread", "([bracket&tag <][tag foo] [attribute bar]={[meta ...][variable baz] [operator /][number 2]}[bracket&tag />])") MT("tag_attribute", "([bracket&tag <][tag foo] [attribute bar]=[bracket&tag <][tag foo][bracket&tag />/>][operator ++])") })() wp-file-manager/lib/codemirror/mode/julia/index.html000064400000004507151202472330016464 0ustar00 CodeMirror: Julia mode

        Julia mode

        MIME types defined: text/x-julia.

        wp-file-manager/lib/codemirror/mode/julia/julia.js000064400000026246151202472330016135 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("julia", function(_conf, parserConf) { var ERRORCLASS = 'error'; function wordRegexp(words, end) { if (typeof end === 'undefined') { end = "\\b"; } return new RegExp("^((" + words.join(")|(") + "))" + end); } var octChar = "\\\\[0-7]{1,3}"; var hexChar = "\\\\x[A-Fa-f0-9]{1,2}"; var specialChar = "\\\\[abfnrtv0%?'\"\\\\]"; var singleChar = "([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])"; var operators = parserConf.operators || /^\.?[|&^\\%*+\-<>!=\/]=?|\?|~|:|\$|\.[<>]|<<=?|>>>?=?|\.[<>=]=|->?|\/\/|\bin\b(?!\()|[\u2208\u2209](?!\()/; var delimiters = parserConf.delimiters || /^[;,()[\]{}]/; var identifiers = parserConf.identifiers || /^[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/; var charsList = [octChar, hexChar, specialChar, singleChar]; var blockOpeners = ["begin", "function", "type", "immutable", "let", "macro", "for", "while", "quote", "if", "else", "elseif", "try", "finally", "catch", "do"]; var blockClosers = ["end", "else", "elseif", "catch", "finally"]; var keywordList = ['if', 'else', 'elseif', 'while', 'for', 'begin', 'let', 'end', 'do', 'try', 'catch', 'finally', 'return', 'break', 'continue', 'global', 'local', 'const', 'export', 'import', 'importall', 'using', 'function', 'macro', 'module', 'baremodule', 'type', 'immutable', 'quote', 'typealias', 'abstract', 'bitstype']; var builtinList = ['true', 'false', 'nothing', 'NaN', 'Inf']; //var stringPrefixes = new RegExp("^[br]?('|\")") var stringPrefixes = /^(`|"{3}|([brv]?"))/; var chars = wordRegexp(charsList, "'"); var keywords = wordRegexp(keywordList); var builtins = wordRegexp(builtinList); var openers = wordRegexp(blockOpeners); var closers = wordRegexp(blockClosers); var macro = /^@[_A-Za-z][\w]*/; var symbol = /^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/; var typeAnnotation = /^::[^,;"{()=$\s]+({[^}]*}+)*/; function inArray(state) { var ch = currentScope(state); if (ch == '[') { return true; } return false; } function currentScope(state) { if (state.scopes.length == 0) { return null; } return state.scopes[state.scopes.length - 1]; } // tokenizers function tokenBase(stream, state) { // Handle multiline comments if (stream.match(/^#=/, false)) { state.tokenize = tokenComment; return state.tokenize(stream, state); } // Handle scope changes var leavingExpr = state.leavingExpr; if (stream.sol()) { leavingExpr = false; } state.leavingExpr = false; if (leavingExpr) { if (stream.match(/^'+/)) { return 'operator'; } } if (stream.match(/^\.{2,3}/)) { return 'operator'; } if (stream.eatSpace()) { return null; } var ch = stream.peek(); // Handle single line comments if (ch === '#') { stream.skipToEnd(); return 'comment'; } if (ch === '[') { state.scopes.push('['); } if (ch === '(') { state.scopes.push('('); } var scope = currentScope(state); if (scope == '[' && ch === ']') { state.scopes.pop(); state.leavingExpr = true; } if (scope == '(' && ch === ')') { state.scopes.pop(); state.leavingExpr = true; } var match; if (!inArray(state) && (match=stream.match(openers, false))) { state.scopes.push(match); } if (!inArray(state) && stream.match(closers, false)) { state.scopes.pop(); } if (inArray(state)) { if (state.lastToken == 'end' && stream.match(/^:/)) { return 'operator'; } if (stream.match(/^end/)) { return 'number'; } } if (stream.match(/^=>/)) { return 'operator'; } // Handle Number Literals if (stream.match(/^[0-9\.]/, false)) { var imMatcher = RegExp(/^im\b/); var numberLiteral = false; // Floats if (stream.match(/^\d*\.(?!\.)\d*([Eef][\+\-]?\d+)?/i)) { numberLiteral = true; } if (stream.match(/^\d+\.(?!\.)\d*/)) { numberLiteral = true; } if (stream.match(/^\.\d+/)) { numberLiteral = true; } if (stream.match(/^0x\.[0-9a-f]+p[\+\-]?\d+/i)) { numberLiteral = true; } // Integers if (stream.match(/^0x[0-9a-f]+/i)) { numberLiteral = true; } // Hex if (stream.match(/^0b[01]+/i)) { numberLiteral = true; } // Binary if (stream.match(/^0o[0-7]+/i)) { numberLiteral = true; } // Octal if (stream.match(/^[1-9]\d*(e[\+\-]?\d+)?/)) { numberLiteral = true; } // Decimal // Zero by itself with no other piece of number. if (stream.match(/^0(?![\dx])/i)) { numberLiteral = true; } if (numberLiteral) { // Integer literals may be "long" stream.match(imMatcher); state.leavingExpr = true; return 'number'; } } if (stream.match(/^<:/)) { return 'operator'; } if (stream.match(typeAnnotation)) { return 'builtin'; } // Handle symbols if (!leavingExpr && stream.match(symbol) || stream.match(/:\./)) { return 'builtin'; } // Handle parametric types if (stream.match(/^{[^}]*}(?=\()/)) { return 'builtin'; } // Handle operators and Delimiters if (stream.match(operators)) { return 'operator'; } // Handle Chars if (stream.match(/^'/)) { state.tokenize = tokenChar; return state.tokenize(stream, state); } // Handle Strings if (stream.match(stringPrefixes)) { state.tokenize = tokenStringFactory(stream.current()); return state.tokenize(stream, state); } if (stream.match(macro)) { return 'meta'; } if (stream.match(delimiters)) { return null; } if (stream.match(keywords)) { return 'keyword'; } if (stream.match(builtins)) { return 'builtin'; } var isDefinition = state.isDefinition || state.lastToken == 'function' || state.lastToken == 'macro' || state.lastToken == 'type' || state.lastToken == 'immutable'; if (stream.match(identifiers)) { if (isDefinition) { if (stream.peek() === '.') { state.isDefinition = true; return 'variable'; } state.isDefinition = false; return 'def'; } if (stream.match(/^({[^}]*})*\(/, false)) { return callOrDef(stream, state); } state.leavingExpr = true; return 'variable'; } // Handle non-detected items stream.next(); return ERRORCLASS; } function callOrDef(stream, state) { var match = stream.match(/^(\(\s*)/); if (match) { if (state.firstParenPos < 0) state.firstParenPos = state.scopes.length; state.scopes.push('('); state.charsAdvanced += match[1].length; } if (currentScope(state) == '(' && stream.match(/^\)/)) { state.scopes.pop(); state.charsAdvanced += 1; if (state.scopes.length <= state.firstParenPos) { var isDefinition = stream.match(/^\s*?=(?!=)/, false); stream.backUp(state.charsAdvanced); state.firstParenPos = -1; state.charsAdvanced = 0; if (isDefinition) return 'def'; return 'builtin'; } } // Unfortunately javascript does not support multiline strings, so we have // to undo anything done upto here if a function call or definition splits // over two or more lines. if (stream.match(/^$/g, false)) { stream.backUp(state.charsAdvanced); while (state.scopes.length > state.firstParenPos) state.scopes.pop(); state.firstParenPos = -1; state.charsAdvanced = 0; return 'builtin'; } state.charsAdvanced += stream.match(/^([^()]*)/)[1].length; return callOrDef(stream, state); } function tokenComment(stream, state) { if (stream.match(/^#=/)) { state.weakScopes++; } if (!stream.match(/.*?(?=(#=|=#))/)) { stream.skipToEnd(); } if (stream.match(/^=#/)) { state.weakScopes--; if (state.weakScopes == 0) state.tokenize = tokenBase; } return 'comment'; } function tokenChar(stream, state) { var isChar = false, match; if (stream.match(chars)) { isChar = true; } else if (match = stream.match(/\\u([a-f0-9]{1,4})(?=')/i)) { var value = parseInt(match[1], 16); if (value <= 55295 || value >= 57344) { // (U+0,U+D7FF), (U+E000,U+FFFF) isChar = true; stream.next(); } } else if (match = stream.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)) { var value = parseInt(match[1], 16); if (value <= 1114111) { // U+10FFFF isChar = true; stream.next(); } } if (isChar) { state.leavingExpr = true; state.tokenize = tokenBase; return 'string'; } if (!stream.match(/^[^']+(?=')/)) { stream.skipToEnd(); } if (stream.match(/^'/)) { state.tokenize = tokenBase; } return ERRORCLASS; } function tokenStringFactory(delimiter) { while ('bruv'.indexOf(delimiter.charAt(0).toLowerCase()) >= 0) { delimiter = delimiter.substr(1); } var OUTCLASS = 'string'; function tokenString(stream, state) { while (!stream.eol()) { stream.eatWhile(/[^"\\]/); if (stream.eat('\\')) { stream.next(); } else if (stream.match(delimiter)) { state.tokenize = tokenBase; state.leavingExpr = true; return OUTCLASS; } else { stream.eat(/["]/); } } return OUTCLASS; } tokenString.isString = true; return tokenString; } var external = { startState: function() { return { tokenize: tokenBase, scopes: [], weakScopes: 0, lastToken: null, leavingExpr: false, isDefinition: false, charsAdvanced: 0, firstParenPos: -1 }; }, token: function(stream, state) { var style = state.tokenize(stream, state); var current = stream.current(); if (current && style) { state.lastToken = current; } // Handle '.' connected identifiers if (current === '.') { style = stream.match(identifiers, false) || stream.match(macro, false) || stream.match(/\(/, false) ? 'operator' : ERRORCLASS; } return style; }, indent: function(state, textAfter) { var delta = 0; if (textAfter == "]" || textAfter == ")" || textAfter == "end" || textAfter == "else" || textAfter == "elseif" || textAfter == "catch" || textAfter == "finally") { delta = -1; } return (state.scopes.length + delta) * _conf.indentUnit; }, electricInput: /(end|else(if)?|catch|finally)$/, lineComment: "#", fold: "indent" }; return external; }); CodeMirror.defineMIME("text/x-julia", "julia"); }); wp-file-manager/lib/codemirror/mode/livescript/index.html000064400000023163151202472330017543 0ustar00 CodeMirror: LiveScript mode

        LiveScript mode

        MIME types defined: text/x-livescript.

        The LiveScript mode was written by Kenneth Bentley.

        wp-file-manager/lib/codemirror/mode/livescript/livescript.js000064400000016764151202472330020301 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /** * Link to the project's GitHub page: * https://github.com/duralog/CodeMirror */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('livescript', function(){ var tokenBase = function(stream, state) { var next_rule = state.next || "start"; if (next_rule) { state.next = state.next; var nr = Rules[next_rule]; if (nr.splice) { for (var i$ = 0; i$ < nr.length; ++i$) { var r = nr[i$]; if (r.regex && stream.match(r.regex)) { state.next = r.next || state.next; return r.token; } } stream.next(); return 'error'; } if (stream.match(r = Rules[next_rule])) { if (r.regex && stream.match(r.regex)) { state.next = r.next; return r.token; } else { stream.next(); return 'error'; } } } stream.next(); return 'error'; }; var external = { startState: function(){ return { next: 'start', lastToken: {style: null, indent: 0, content: ""} }; }, token: function(stream, state){ while (stream.pos == stream.start) var style = tokenBase(stream, state); state.lastToken = { style: style, indent: stream.indentation(), content: stream.current() }; return style.replace(/\./g, ' '); }, indent: function(state){ var indentation = state.lastToken.indent; if (state.lastToken.content.match(indenter)) { indentation += 2; } return indentation; } }; return external; }); var identifier = '(?![\\d\\s])[$\\w\\xAA-\\uFFDC](?:(?!\\s)[$\\w\\xAA-\\uFFDC]|-[A-Za-z])*'; var indenter = RegExp('(?:[({[=:]|[-~]>|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*' + identifier + ')?))\\s*$'); var keywordend = '(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))'; var stringfill = { token: 'string', regex: '.+' }; var Rules = { start: [ { token: 'comment.doc', regex: '/\\*', next: 'comment' }, { token: 'comment', regex: '#.*' }, { token: 'keyword', regex: '(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)' + keywordend }, { token: 'constant.language', regex: '(?:true|false|yes|no|on|off|null|void|undefined)' + keywordend }, { token: 'invalid.illegal', regex: '(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)' + keywordend }, { token: 'language.support.class', regex: '(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)' + keywordend }, { token: 'language.support.function', regex: '(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)' + keywordend }, { token: 'variable.language', regex: '(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)' + keywordend }, { token: 'identifier', regex: identifier + '\\s*:(?![:=])' }, { token: 'variable', regex: identifier }, { token: 'keyword.operator', regex: '(?:\\.{3}|\\s+\\?)' }, { token: 'keyword.variable', regex: '(?:@+|::|\\.\\.)', next: 'key' }, { token: 'keyword.operator', regex: '\\.\\s*', next: 'key' }, { token: 'string', regex: '\\\\\\S[^\\s,;)}\\]]*' }, { token: 'string.doc', regex: '\'\'\'', next: 'qdoc' }, { token: 'string.doc', regex: '"""', next: 'qqdoc' }, { token: 'string', regex: '\'', next: 'qstring' }, { token: 'string', regex: '"', next: 'qqstring' }, { token: 'string', regex: '`', next: 'js' }, { token: 'string', regex: '<\\[', next: 'words' }, { token: 'string.regex', regex: '//', next: 'heregex' }, { token: 'string.regex', regex: '\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}', next: 'key' }, { token: 'constant.numeric', regex: '(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)' }, { token: 'lparen', regex: '[({[]' }, { token: 'rparen', regex: '[)}\\]]', next: 'key' }, { token: 'keyword.operator', regex: '\\S+' }, { token: 'text', regex: '\\s+' } ], heregex: [ { token: 'string.regex', regex: '.*?//[gimy$?]{0,4}', next: 'start' }, { token: 'string.regex', regex: '\\s*#{' }, { token: 'comment.regex', regex: '\\s+(?:#.*)?' }, { token: 'string.regex', regex: '\\S+' } ], key: [ { token: 'keyword.operator', regex: '[.?@!]+' }, { token: 'identifier', regex: identifier, next: 'start' }, { token: 'text', regex: '', next: 'start' } ], comment: [ { token: 'comment.doc', regex: '.*?\\*/', next: 'start' }, { token: 'comment.doc', regex: '.+' } ], qdoc: [ { token: 'string', regex: ".*?'''", next: 'key' }, stringfill ], qqdoc: [ { token: 'string', regex: '.*?"""', next: 'key' }, stringfill ], qstring: [ { token: 'string', regex: '[^\\\\\']*(?:\\\\.[^\\\\\']*)*\'', next: 'key' }, stringfill ], qqstring: [ { token: 'string', regex: '[^\\\\"]*(?:\\\\.[^\\\\"]*)*"', next: 'key' }, stringfill ], js: [ { token: 'string', regex: '[^\\\\`]*(?:\\\\.[^\\\\`]*)*`', next: 'key' }, stringfill ], words: [ { token: 'string', regex: '.*?\\]>', next: 'key' }, stringfill ] }; for (var idx in Rules) { var r = Rules[idx]; if (r.splice) { for (var i = 0, len = r.length; i < len; ++i) { var rr = r[i]; if (typeof rr.regex === 'string') { Rules[idx][i].regex = new RegExp('^' + rr.regex); } } } else if (typeof rr.regex === 'string') { Rules[idx].regex = new RegExp('^' + r.regex); } } CodeMirror.defineMIME('text/x-livescript', 'livescript'); }); wp-file-manager/lib/codemirror/mode/lua/index.html000064400000004031151202472330016131 0ustar00 CodeMirror: Lua mode

        Lua mode

        Loosely based on Franciszek Wawrzak's CodeMirror 1 mode. One configuration parameter is supported, specials, to which you can provide an array of strings to have those identifiers highlighted with the lua-special style.

        MIME types defined: text/x-lua.

        wp-file-manager/lib/codemirror/mode/lua/lua.js000064400000013476151202472330015270 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // LUA mode. Ported to CodeMirror 2 from Franciszek Wawrzak's // CodeMirror 1 mode. // highlights keywords, strings, comments (no leveling supported! ("[==[")), tokens, basic indenting (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("lua", function(config, parserConfig) { var indentUnit = config.indentUnit; function prefixRE(words) { return new RegExp("^(?:" + words.join("|") + ")", "i"); } function wordRE(words) { return new RegExp("^(?:" + words.join("|") + ")$", "i"); } var specials = wordRE(parserConfig.specials || []); // long list of standard functions from lua manual var builtins = wordRE([ "_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load", "loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require", "select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall", "coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield", "debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable", "debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable", "debug.setupvalue","debug.traceback", "close","flush","lines","read","seek","setvbuf","write", "io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin", "io.stdout","io.tmpfile","io.type","io.write", "math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg", "math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max", "math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh", "math.sqrt","math.tan","math.tanh", "os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale", "os.time","os.tmpname", "package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload", "package.seeall", "string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub", "string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper", "table.concat","table.insert","table.maxn","table.remove","table.sort" ]); var keywords = wordRE(["and","break","elseif","false","nil","not","or","return", "true","function", "end", "if", "then", "else", "do", "while", "repeat", "until", "for", "in", "local" ]); var indentTokens = wordRE(["function", "if","repeat","do", "\\(", "{"]); var dedentTokens = wordRE(["end", "until", "\\)", "}"]); var dedentPartial = prefixRE(["end", "until", "\\)", "}", "else", "elseif"]); function readBracket(stream) { var level = 0; while (stream.eat("=")) ++level; stream.eat("["); return level; } function normal(stream, state) { var ch = stream.next(); if (ch == "-" && stream.eat("-")) { if (stream.eat("[") && stream.eat("[")) return (state.cur = bracketed(readBracket(stream), "comment"))(stream, state); stream.skipToEnd(); return "comment"; } if (ch == "\"" || ch == "'") return (state.cur = string(ch))(stream, state); if (ch == "[" && /[\[=]/.test(stream.peek())) return (state.cur = bracketed(readBracket(stream), "string"))(stream, state); if (/\d/.test(ch)) { stream.eatWhile(/[\w.%]/); return "number"; } if (/[\w_]/.test(ch)) { stream.eatWhile(/[\w\\\-_.]/); return "variable"; } return null; } function bracketed(level, style) { return function(stream, state) { var curlev = null, ch; while ((ch = stream.next()) != null) { if (curlev == null) {if (ch == "]") curlev = 0;} else if (ch == "=") ++curlev; else if (ch == "]" && curlev == level) { state.cur = normal; break; } else curlev = null; } return style; }; } function string(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) break; escaped = !escaped && ch == "\\"; } if (!escaped) state.cur = normal; return "string"; }; } return { startState: function(basecol) { return {basecol: basecol || 0, indentDepth: 0, cur: normal}; }, token: function(stream, state) { if (stream.eatSpace()) return null; var style = state.cur(stream, state); var word = stream.current(); if (style == "variable") { if (keywords.test(word)) style = "keyword"; else if (builtins.test(word)) style = "builtin"; else if (specials.test(word)) style = "variable-2"; } if ((style != "comment") && (style != "string")){ if (indentTokens.test(word)) ++state.indentDepth; else if (dedentTokens.test(word)) --state.indentDepth; } return style; }, indent: function(state, textAfter) { var closing = dedentPartial.test(textAfter); return state.basecol + indentUnit * (state.indentDepth - (closing ? 1 : 0)); }, lineComment: "--", blockCommentStart: "--[[", blockCommentEnd: "]]" }; }); CodeMirror.defineMIME("text/x-lua", "lua"); }); wp-file-manager/lib/codemirror/mode/markdown/index.html000064400000025315151202472330017202 0ustar00 CodeMirror: Markdown mode

        Markdown mode

        You might want to use the Github-Flavored Markdown mode instead, which adds support for fenced code blocks and a few other things.

        Optionally depends on the XML mode for properly highlighted inline XML blocks.

        MIME types defined: text/x-markdown.

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/markdown/markdown.js000064400000062252151202472330017366 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../xml/xml"), require("../meta")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../xml/xml", "../meta"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { var htmlMode = CodeMirror.getMode(cmCfg, "text/html"); var htmlModeMissing = htmlMode.name == "null" function getMode(name) { if (CodeMirror.findModeByName) { var found = CodeMirror.findModeByName(name); if (found) name = found.mime || found.mimes[0]; } var mode = CodeMirror.getMode(cmCfg, name); return mode.name == "null" ? null : mode; } // Should characters that affect highlighting be highlighted separate? // Does not include characters that will be output (such as `1.` and `-` for lists) if (modeCfg.highlightFormatting === undefined) modeCfg.highlightFormatting = false; // Maximum number of nested blockquotes. Set to 0 for infinite nesting. // Excess `>` will emit `error` token. if (modeCfg.maxBlockquoteDepth === undefined) modeCfg.maxBlockquoteDepth = 0; // Should underscores in words open/close em/strong? if (modeCfg.underscoresBreakWords === undefined) modeCfg.underscoresBreakWords = true; // Use `fencedCodeBlocks` to configure fenced code blocks. false to // disable, string to specify a precise regexp that the fence should // match, and true to allow three or more backticks or tildes (as // per CommonMark). // Turn on task lists? ("- [ ] " and "- [x] ") if (modeCfg.taskLists === undefined) modeCfg.taskLists = false; // Turn on strikethrough syntax if (modeCfg.strikethrough === undefined) modeCfg.strikethrough = false; // Allow token types to be overridden by user-provided token types. if (modeCfg.tokenTypeOverrides === undefined) modeCfg.tokenTypeOverrides = {}; var tokenTypes = { header: "header", code: "comment", quote: "quote", list1: "variable-2", list2: "variable-3", list3: "keyword", hr: "hr", image: "image", imageAltText: "image-alt-text", imageMarker: "image-marker", formatting: "formatting", linkInline: "link", linkEmail: "link", linkText: "link", linkHref: "string", em: "em", strong: "strong", strikethrough: "strikethrough" }; for (var tokenType in tokenTypes) { if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) { tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType]; } } var hrRE = /^([*\-_])(?:\s*\1){2,}\s*$/ , ulRE = /^[*\-+]\s+/ , olRE = /^[0-9]+([.)])\s+/ , taskListRE = /^\[(x| )\](?=\s)/ // Must follow ulRE or olRE , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/ , setextHeaderRE = /^ *(?:\={1,}|-{1,})\s*$/ , textRE = /^[^#!\[\]*_\\<>` "'(~]+/ , fencedCodeRE = new RegExp("^(" + (modeCfg.fencedCodeBlocks === true ? "~~~+|```+" : modeCfg.fencedCodeBlocks) + ")[ \\t]*([\\w+#\-]*)"); function switchInline(stream, state, f) { state.f = state.inline = f; return f(stream, state); } function switchBlock(stream, state, f) { state.f = state.block = f; return f(stream, state); } function lineIsEmpty(line) { return !line || !/\S/.test(line.string) } // Blocks function blankLine(state) { // Reset linkTitle state state.linkTitle = false; // Reset EM state state.em = false; // Reset STRONG state state.strong = false; // Reset strikethrough state state.strikethrough = false; // Reset state.quote state.quote = 0; // Reset state.indentedCode state.indentedCode = false; if (htmlModeMissing && state.f == htmlBlock) { state.f = inlineNormal; state.block = blockNormal; } // Reset state.trailingSpace state.trailingSpace = 0; state.trailingSpaceNewLine = false; // Mark this line as blank state.prevLine = state.thisLine state.thisLine = null return null; } function blockNormal(stream, state) { var sol = stream.sol(); var prevLineIsList = state.list !== false, prevLineIsIndentedCode = state.indentedCode; state.indentedCode = false; if (prevLineIsList) { if (state.indentationDiff >= 0) { // Continued list if (state.indentationDiff < 4) { // Only adjust indentation if *not* a code block state.indentation -= state.indentationDiff; } state.list = null; } else if (state.indentation > 0) { state.list = null; } else { // No longer a list state.list = false; } } var match = null; if (state.indentationDiff >= 4) { stream.skipToEnd(); if (prevLineIsIndentedCode || lineIsEmpty(state.prevLine)) { state.indentation -= 4; state.indentedCode = true; return tokenTypes.code; } else { return null; } } else if (stream.eatSpace()) { return null; } else if ((match = stream.match(atxHeaderRE)) && match[1].length <= 6) { state.header = match[1].length; if (modeCfg.highlightFormatting) state.formatting = "header"; state.f = state.inline; return getType(state); } else if (!lineIsEmpty(state.prevLine) && !state.quote && !prevLineIsList && !prevLineIsIndentedCode && (match = stream.match(setextHeaderRE))) { state.header = match[0].charAt(0) == '=' ? 1 : 2; if (modeCfg.highlightFormatting) state.formatting = "header"; state.f = state.inline; return getType(state); } else if (stream.eat('>')) { state.quote = sol ? 1 : state.quote + 1; if (modeCfg.highlightFormatting) state.formatting = "quote"; stream.eatSpace(); return getType(state); } else if (stream.peek() === '[') { return switchInline(stream, state, footnoteLink); } else if (stream.match(hrRE, true)) { state.hr = true; return tokenTypes.hr; } else if ((lineIsEmpty(state.prevLine) || prevLineIsList) && (stream.match(ulRE, false) || stream.match(olRE, false))) { var listType = null; if (stream.match(ulRE, true)) { listType = 'ul'; } else { stream.match(olRE, true); listType = 'ol'; } state.indentation = stream.column() + stream.current().length; state.list = true; // While this list item's marker's indentation // is less than the deepest list item's content's indentation, // pop the deepest list item indentation off the stack. while (state.listStack && stream.column() < state.listStack[state.listStack.length - 1]) { state.listStack.pop(); } // Add this list item's content's indentation to the stack state.listStack.push(state.indentation); if (modeCfg.taskLists && stream.match(taskListRE, false)) { state.taskList = true; } state.f = state.inline; if (modeCfg.highlightFormatting) state.formatting = ["list", "list-" + listType]; return getType(state); } else if (modeCfg.fencedCodeBlocks && (match = stream.match(fencedCodeRE, true))) { state.fencedChars = match[1] // try switching mode state.localMode = getMode(match[2]); if (state.localMode) state.localState = CodeMirror.startState(state.localMode); state.f = state.block = local; if (modeCfg.highlightFormatting) state.formatting = "code-block"; state.code = -1 return getType(state); } return switchInline(stream, state, state.inline); } function htmlBlock(stream, state) { var style = htmlMode.token(stream, state.htmlState); if (!htmlModeMissing) { var inner = CodeMirror.innerMode(htmlMode, state.htmlState) if ((inner.mode.name == "xml" && inner.state.tagStart === null && (!inner.state.context && inner.state.tokenize.isInText)) || (state.md_inside && stream.current().indexOf(">") > -1)) { state.f = inlineNormal; state.block = blockNormal; state.htmlState = null; } } return style; } function local(stream, state) { if (state.fencedChars && stream.match(state.fencedChars, false)) { state.localMode = state.localState = null; state.f = state.block = leavingLocal; return null; } else if (state.localMode) { return state.localMode.token(stream, state.localState); } else { stream.skipToEnd(); return tokenTypes.code; } } function leavingLocal(stream, state) { stream.match(state.fencedChars); state.block = blockNormal; state.f = inlineNormal; state.fencedChars = null; if (modeCfg.highlightFormatting) state.formatting = "code-block"; state.code = 1 var returnType = getType(state); state.code = 0 return returnType; } // Inline function getType(state) { var styles = []; if (state.formatting) { styles.push(tokenTypes.formatting); if (typeof state.formatting === "string") state.formatting = [state.formatting]; for (var i = 0; i < state.formatting.length; i++) { styles.push(tokenTypes.formatting + "-" + state.formatting[i]); if (state.formatting[i] === "header") { styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.header); } // Add `formatting-quote` and `formatting-quote-#` for blockquotes // Add `error` instead if the maximum blockquote nesting depth is passed if (state.formatting[i] === "quote") { if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) { styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.quote); } else { styles.push("error"); } } } } if (state.taskOpen) { styles.push("meta"); return styles.length ? styles.join(' ') : null; } if (state.taskClosed) { styles.push("property"); return styles.length ? styles.join(' ') : null; } if (state.linkHref) { styles.push(tokenTypes.linkHref, "url"); } else { // Only apply inline styles to non-url text if (state.strong) { styles.push(tokenTypes.strong); } if (state.em) { styles.push(tokenTypes.em); } if (state.strikethrough) { styles.push(tokenTypes.strikethrough); } if (state.linkText) { styles.push(tokenTypes.linkText); } if (state.code) { styles.push(tokenTypes.code); } if (state.image) { styles.push(tokenTypes.image); } if (state.imageAltText) { styles.push(tokenTypes.imageAltText, "link"); } if (state.imageMarker) { styles.push(tokenTypes.imageMarker); } } if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + "-" + state.header); } if (state.quote) { styles.push(tokenTypes.quote); // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) { styles.push(tokenTypes.quote + "-" + state.quote); } else { styles.push(tokenTypes.quote + "-" + modeCfg.maxBlockquoteDepth); } } if (state.list !== false) { var listMod = (state.listStack.length - 1) % 3; if (!listMod) { styles.push(tokenTypes.list1); } else if (listMod === 1) { styles.push(tokenTypes.list2); } else { styles.push(tokenTypes.list3); } } if (state.trailingSpaceNewLine) { styles.push("trailing-space-new-line"); } else if (state.trailingSpace) { styles.push("trailing-space-" + (state.trailingSpace % 2 ? "a" : "b")); } return styles.length ? styles.join(' ') : null; } function handleText(stream, state) { if (stream.match(textRE, true)) { return getType(state); } return undefined; } function inlineNormal(stream, state) { var style = state.text(stream, state); if (typeof style !== 'undefined') return style; if (state.list) { // List marker (*, +, -, 1., etc) state.list = null; return getType(state); } if (state.taskList) { var taskOpen = stream.match(taskListRE, true)[1] !== "x"; if (taskOpen) state.taskOpen = true; else state.taskClosed = true; if (modeCfg.highlightFormatting) state.formatting = "task"; state.taskList = false; return getType(state); } state.taskOpen = false; state.taskClosed = false; if (state.header && stream.match(/^#+$/, true)) { if (modeCfg.highlightFormatting) state.formatting = "header"; return getType(state); } // Get sol() value now, before character is consumed var sol = stream.sol(); var ch = stream.next(); // Matches link titles present on next line if (state.linkTitle) { state.linkTitle = false; var matchCh = ch; if (ch === '(') { matchCh = ')'; } matchCh = (matchCh+'').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); var regex = '^\\s*(?:[^' + matchCh + '\\\\]+|\\\\\\\\|\\\\.)' + matchCh; if (stream.match(new RegExp(regex), true)) { return tokenTypes.linkHref; } } // If this block is changed, it may need to be updated in GFM mode if (ch === '`') { var previousFormatting = state.formatting; if (modeCfg.highlightFormatting) state.formatting = "code"; stream.eatWhile('`'); var count = stream.current().length if (state.code == 0) { state.code = count return getType(state) } else if (count == state.code) { // Must be exact var t = getType(state) state.code = 0 return t } else { state.formatting = previousFormatting return getType(state) } } else if (state.code) { return getType(state); } if (ch === '\\') { stream.next(); if (modeCfg.highlightFormatting) { var type = getType(state); var formattingEscape = tokenTypes.formatting + "-escape"; return type ? type + " " + formattingEscape : formattingEscape; } } if (ch === '!' && stream.match(/\[[^\]]*\] ?(?:\(|\[)/, false)) { state.imageMarker = true; state.image = true; if (modeCfg.highlightFormatting) state.formatting = "image"; return getType(state); } if (ch === '[' && state.imageMarker) { state.imageMarker = false; state.imageAltText = true if (modeCfg.highlightFormatting) state.formatting = "image"; return getType(state); } if (ch === ']' && state.imageAltText) { if (modeCfg.highlightFormatting) state.formatting = "image"; var type = getType(state); state.imageAltText = false; state.image = false; state.inline = state.f = linkHref; return type; } if (ch === '[' && stream.match(/[^\]]*\](\(.*\)| ?\[.*?\])/, false) && !state.image) { state.linkText = true; if (modeCfg.highlightFormatting) state.formatting = "link"; return getType(state); } if (ch === ']' && state.linkText && stream.match(/\(.*?\)| ?\[.*?\]/, false)) { if (modeCfg.highlightFormatting) state.formatting = "link"; var type = getType(state); state.linkText = false; state.inline = state.f = linkHref; return type; } if (ch === '<' && stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/, false)) { state.f = state.inline = linkInline; if (modeCfg.highlightFormatting) state.formatting = "link"; var type = getType(state); if (type){ type += " "; } else { type = ""; } return type + tokenTypes.linkInline; } if (ch === '<' && stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/, false)) { state.f = state.inline = linkInline; if (modeCfg.highlightFormatting) state.formatting = "link"; var type = getType(state); if (type){ type += " "; } else { type = ""; } return type + tokenTypes.linkEmail; } if (ch === '<' && stream.match(/^(!--|\w)/, false)) { var end = stream.string.indexOf(">", stream.pos); if (end != -1) { var atts = stream.string.substring(stream.start, end); if (/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(atts)) state.md_inside = true; } stream.backUp(1); state.htmlState = CodeMirror.startState(htmlMode); return switchBlock(stream, state, htmlBlock); } if (ch === '<' && stream.match(/^\/\w*?>/)) { state.md_inside = false; return "tag"; } var ignoreUnderscore = false; if (!modeCfg.underscoresBreakWords) { if (ch === '_' && stream.peek() !== '_' && stream.match(/(\w)/, false)) { var prevPos = stream.pos - 2; if (prevPos >= 0) { var prevCh = stream.string.charAt(prevPos); if (prevCh !== '_' && prevCh.match(/(\w)/, false)) { ignoreUnderscore = true; } } } } if (ch === '*' || (ch === '_' && !ignoreUnderscore)) { if (sol && stream.peek() === ' ') { // Do nothing, surrounded by newline and space } else if (state.strong === ch && stream.eat(ch)) { // Remove STRONG if (modeCfg.highlightFormatting) state.formatting = "strong"; var t = getType(state); state.strong = false; return t; } else if (!state.strong && stream.eat(ch)) { // Add STRONG state.strong = ch; if (modeCfg.highlightFormatting) state.formatting = "strong"; return getType(state); } else if (state.em === ch) { // Remove EM if (modeCfg.highlightFormatting) state.formatting = "em"; var t = getType(state); state.em = false; return t; } else if (!state.em) { // Add EM state.em = ch; if (modeCfg.highlightFormatting) state.formatting = "em"; return getType(state); } } else if (ch === ' ') { if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces if (stream.peek() === ' ') { // Surrounded by spaces, ignore return getType(state); } else { // Not surrounded by spaces, back up pointer stream.backUp(1); } } } if (modeCfg.strikethrough) { if (ch === '~' && stream.eatWhile(ch)) { if (state.strikethrough) {// Remove strikethrough if (modeCfg.highlightFormatting) state.formatting = "strikethrough"; var t = getType(state); state.strikethrough = false; return t; } else if (stream.match(/^[^\s]/, false)) {// Add strikethrough state.strikethrough = true; if (modeCfg.highlightFormatting) state.formatting = "strikethrough"; return getType(state); } } else if (ch === ' ') { if (stream.match(/^~~/, true)) { // Probably surrounded by space if (stream.peek() === ' ') { // Surrounded by spaces, ignore return getType(state); } else { // Not surrounded by spaces, back up pointer stream.backUp(2); } } } } if (ch === ' ') { if (stream.match(/ +$/, false)) { state.trailingSpace++; } else if (state.trailingSpace) { state.trailingSpaceNewLine = true; } } return getType(state); } function linkInline(stream, state) { var ch = stream.next(); if (ch === ">") { state.f = state.inline = inlineNormal; if (modeCfg.highlightFormatting) state.formatting = "link"; var type = getType(state); if (type){ type += " "; } else { type = ""; } return type + tokenTypes.linkInline; } stream.match(/^[^>]+/, true); return tokenTypes.linkInline; } function linkHref(stream, state) { // Check if space, and return NULL if so (to avoid marking the space) if(stream.eatSpace()){ return null; } var ch = stream.next(); if (ch === '(' || ch === '[') { state.f = state.inline = getLinkHrefInside(ch === "(" ? ")" : "]", 0); if (modeCfg.highlightFormatting) state.formatting = "link-string"; state.linkHref = true; return getType(state); } return 'error'; } var linkRE = { ")": /^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/, "]": /^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\\]]|\\.)*\])*?(?=\])/ } function getLinkHrefInside(endChar) { return function(stream, state) { var ch = stream.next(); if (ch === endChar) { state.f = state.inline = inlineNormal; if (modeCfg.highlightFormatting) state.formatting = "link-string"; var returnState = getType(state); state.linkHref = false; return returnState; } stream.match(linkRE[endChar]) state.linkHref = true; return getType(state); }; } function footnoteLink(stream, state) { if (stream.match(/^([^\]\\]|\\.)*\]:/, false)) { state.f = footnoteLinkInside; stream.next(); // Consume [ if (modeCfg.highlightFormatting) state.formatting = "link"; state.linkText = true; return getType(state); } return switchInline(stream, state, inlineNormal); } function footnoteLinkInside(stream, state) { if (stream.match(/^\]:/, true)) { state.f = state.inline = footnoteUrl; if (modeCfg.highlightFormatting) state.formatting = "link"; var returnType = getType(state); state.linkText = false; return returnType; } stream.match(/^([^\]\\]|\\.)+/, true); return tokenTypes.linkText; } function footnoteUrl(stream, state) { // Check if space, and return NULL if so (to avoid marking the space) if(stream.eatSpace()){ return null; } // Match URL stream.match(/^[^\s]+/, true); // Check for link title if (stream.peek() === undefined) { // End of line, set flag to check next line state.linkTitle = true; } else { // More content on line, check if link title stream.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/, true); } state.f = state.inline = inlineNormal; return tokenTypes.linkHref + " url"; } var mode = { startState: function() { return { f: blockNormal, prevLine: null, thisLine: null, block: blockNormal, htmlState: null, indentation: 0, inline: inlineNormal, text: handleText, formatting: false, linkText: false, linkHref: false, linkTitle: false, code: 0, em: false, strong: false, header: 0, hr: false, taskList: false, list: false, listStack: [], quote: 0, trailingSpace: 0, trailingSpaceNewLine: false, strikethrough: false, fencedChars: null }; }, copyState: function(s) { return { f: s.f, prevLine: s.prevLine, thisLine: s.thisLine, block: s.block, htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState), indentation: s.indentation, localMode: s.localMode, localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null, inline: s.inline, text: s.text, formatting: false, linkTitle: s.linkTitle, code: s.code, em: s.em, strong: s.strong, strikethrough: s.strikethrough, header: s.header, hr: s.hr, taskList: s.taskList, list: s.list, listStack: s.listStack.slice(0), quote: s.quote, indentedCode: s.indentedCode, trailingSpace: s.trailingSpace, trailingSpaceNewLine: s.trailingSpaceNewLine, md_inside: s.md_inside, fencedChars: s.fencedChars }; }, token: function(stream, state) { // Reset state.formatting state.formatting = false; if (stream != state.thisLine) { var forceBlankLine = state.header || state.hr; // Reset state.header and state.hr state.header = 0; state.hr = false; if (stream.match(/^\s*$/, true) || forceBlankLine) { blankLine(state); if (!forceBlankLine) return null state.prevLine = null } state.prevLine = state.thisLine state.thisLine = stream // Reset state.taskList state.taskList = false; // Reset state.trailingSpace state.trailingSpace = 0; state.trailingSpaceNewLine = false; state.f = state.block; var indentation = stream.match(/^\s*/, true)[0].replace(/\t/g, ' ').length; state.indentationDiff = Math.min(indentation - state.indentation, 4); state.indentation = state.indentation + state.indentationDiff; if (indentation > 0) return null; } return state.f(stream, state); }, innerMode: function(state) { if (state.block == htmlBlock) return {state: state.htmlState, mode: htmlMode}; if (state.localState) return {state: state.localState, mode: state.localMode}; return {state: state, mode: mode}; }, blankLine: blankLine, getType: getType, fold: "markdown" }; return mode; }, "xml"); CodeMirror.defineMIME("text/x-markdown", "markdown"); }); wp-file-manager/lib/codemirror/mode/markdown/test.js000064400000071736151202472330016532 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({tabSize: 4}, "markdown"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } var modeHighlightFormatting = CodeMirror.getMode({tabSize: 4}, {name: "markdown", highlightFormatting: true}); function FT(name) { test.mode(name, modeHighlightFormatting, Array.prototype.slice.call(arguments, 1)); } var modeAtxNoSpace = CodeMirror.getMode({tabSize: 4}, {name: "markdown", allowAtxHeaderWithoutSpace: true}); function AtxNoSpaceTest(name) { test.mode(name, modeAtxNoSpace, Array.prototype.slice.call(arguments, 1)); } var modeFenced = CodeMirror.getMode({tabSize: 4}, {name: "markdown", fencedCodeBlocks: true}); function FencedTest(name) { test.mode(name, modeFenced, Array.prototype.slice.call(arguments, 1)); } var modeOverrideClasses = CodeMirror.getMode({tabsize: 4}, { name: "markdown", strikethrough: true, tokenTypeOverrides: { "header" : "override-header", "code" : "override-code", "quote" : "override-quote", "list1" : "override-list1", "list2" : "override-list2", "list3" : "override-list3", "hr" : "override-hr", "image" : "override-image", "imageAltText": "override-image-alt-text", "imageMarker": "override-image-marker", "linkInline" : "override-link-inline", "linkEmail" : "override-link-email", "linkText" : "override-link-text", "linkHref" : "override-link-href", "em" : "override-em", "strong" : "override-strong", "strikethrough" : "override-strikethrough" }}); function TokenTypeOverrideTest(name) { test.mode(name, modeOverrideClasses, Array.prototype.slice.call(arguments, 1)); } var modeFormattingOverride = CodeMirror.getMode({tabsize: 4}, { name: "markdown", highlightFormatting: true, tokenTypeOverrides: { "formatting" : "override-formatting" }}); function FormatTokenTypeOverrideTest(name) { test.mode(name, modeFormattingOverride, Array.prototype.slice.call(arguments, 1)); } FT("formatting_emAsterisk", "[em&formatting&formatting-em *][em foo][em&formatting&formatting-em *]"); FT("formatting_emUnderscore", "[em&formatting&formatting-em _][em foo][em&formatting&formatting-em _]"); FT("formatting_strongAsterisk", "[strong&formatting&formatting-strong **][strong foo][strong&formatting&formatting-strong **]"); FT("formatting_strongUnderscore", "[strong&formatting&formatting-strong __][strong foo][strong&formatting&formatting-strong __]"); FT("formatting_codeBackticks", "[comment&formatting&formatting-code `][comment foo][comment&formatting&formatting-code `]"); FT("formatting_doubleBackticks", "[comment&formatting&formatting-code ``][comment foo ` bar][comment&formatting&formatting-code ``]"); FT("formatting_atxHeader", "[header&header-1&formatting&formatting-header&formatting-header-1 # ][header&header-1 foo # bar ][header&header-1&formatting&formatting-header&formatting-header-1 #]"); FT("formatting_setextHeader", "foo", "[header&header-1&formatting&formatting-header&formatting-header-1 =]"); FT("formatting_blockquote", "[quote"e-1&formatting&formatting-quote&formatting-quote-1 > ][quote"e-1 foo]"); FT("formatting_list", "[variable-2&formatting&formatting-list&formatting-list-ul - ][variable-2 foo]"); FT("formatting_list", "[variable-2&formatting&formatting-list&formatting-list-ol 1. ][variable-2 foo]"); FT("formatting_link", "[link&formatting&formatting-link [][link foo][link&formatting&formatting-link ]]][string&formatting&formatting-link-string&url (][string&url http://example.com/][string&formatting&formatting-link-string&url )]"); FT("formatting_linkReference", "[link&formatting&formatting-link [][link foo][link&formatting&formatting-link ]]][string&formatting&formatting-link-string&url [][string&url bar][string&formatting&formatting-link-string&url ]]]", "[link&formatting&formatting-link [][link bar][link&formatting&formatting-link ]]:] [string&url http://example.com/]"); FT("formatting_linkWeb", "[link&formatting&formatting-link <][link http://example.com/][link&formatting&formatting-link >]"); FT("formatting_linkEmail", "[link&formatting&formatting-link <][link user@example.com][link&formatting&formatting-link >]"); FT("formatting_escape", "[formatting-escape \\*]"); FT("formatting_image", "[formatting&formatting-image&image&image-marker !][formatting&formatting-image&image&image-alt-text&link [[][image&image-alt-text&link alt text][formatting&formatting-image&image&image-alt-text&link ]]][formatting&formatting-link-string&string&url (][url&string http://link.to/image.jpg][formatting&formatting-link-string&string&url )]"); MT("plainText", "foo"); // Don't style single trailing space MT("trailingSpace1", "foo "); // Two or more trailing spaces should be styled with line break character MT("trailingSpace2", "foo[trailing-space-a ][trailing-space-new-line ]"); MT("trailingSpace3", "foo[trailing-space-a ][trailing-space-b ][trailing-space-new-line ]"); MT("trailingSpace4", "foo[trailing-space-a ][trailing-space-b ][trailing-space-a ][trailing-space-new-line ]"); // Code blocks using 4 spaces (regardless of CodeMirror.tabSize value) MT("codeBlocksUsing4Spaces", " [comment foo]"); // Code blocks using 4 spaces with internal indentation MT("codeBlocksUsing4SpacesIndentation", " [comment bar]", " [comment hello]", " [comment world]", " [comment foo]", "bar"); // Code blocks should end even after extra indented lines MT("codeBlocksWithTrailingIndentedLine", " [comment foo]", " [comment bar]", " [comment baz]", " ", "hello"); // Code blocks using 1 tab (regardless of CodeMirror.indentWithTabs value) MT("codeBlocksUsing1Tab", "\t[comment foo]"); // No code blocks directly after paragraph // http://spec.commonmark.org/0.19/#example-65 MT("noCodeBlocksAfterParagraph", "Foo", " Bar"); // Inline code using backticks MT("inlineCodeUsingBackticks", "foo [comment `bar`]"); // Block code using single backtick (shouldn't work) MT("blockCodeSingleBacktick", "[comment `]", "[comment foo]", "[comment `]"); // Unclosed backticks // Instead of simply marking as CODE, it would be nice to have an // incomplete flag for CODE, that is styled slightly different. MT("unclosedBackticks", "foo [comment `bar]"); // Per documentation: "To include a literal backtick character within a // code span, you can use multiple backticks as the opening and closing // delimiters" MT("doubleBackticks", "[comment ``foo ` bar``]"); // Tests based on Dingus // http://daringfireball.net/projects/markdown/dingus // // Multiple backticks within an inline code block MT("consecutiveBackticks", "[comment `foo```bar`]"); // Multiple backticks within an inline code block with a second code block MT("consecutiveBackticks", "[comment `foo```bar`] hello [comment `world`]"); // Unclosed with several different groups of backticks MT("unclosedBackticks", "[comment ``foo ``` bar` hello]"); // Closed with several different groups of backticks MT("closedBackticks", "[comment ``foo ``` bar` hello``] world"); // atx headers // http://daringfireball.net/projects/markdown/syntax#header MT("atxH1", "[header&header-1 # foo]"); MT("atxH2", "[header&header-2 ## foo]"); MT("atxH3", "[header&header-3 ### foo]"); MT("atxH4", "[header&header-4 #### foo]"); MT("atxH5", "[header&header-5 ##### foo]"); MT("atxH6", "[header&header-6 ###### foo]"); // http://spec.commonmark.org/0.19/#example-24 MT("noAtxH7", "####### foo"); // http://spec.commonmark.org/0.19/#example-25 MT("noAtxH1WithoutSpace", "#5 bolt"); // CommonMark requires a space after # but most parsers don't AtxNoSpaceTest("atxNoSpaceAllowed_H1NoSpace", "[header&header-1 #foo]"); AtxNoSpaceTest("atxNoSpaceAllowed_H4NoSpace", "[header&header-4 ####foo]"); AtxNoSpaceTest("atxNoSpaceAllowed_H1Space", "[header&header-1 # foo]"); // Inline styles should be parsed inside headers MT("atxH1inline", "[header&header-1 # foo ][header&header-1&em *bar*]"); // Setext headers - H1, H2 // Per documentation, "Any number of underlining =’s or -’s will work." // http://daringfireball.net/projects/markdown/syntax#header // Ideally, the text would be marked as `header` as well, but this is // not really feasible at the moment. So, instead, we're testing against // what works today, to avoid any regressions. // // Check if single underlining = works MT("setextH1", "foo", "[header&header-1 =]"); // Check if 3+ ='s work MT("setextH1", "foo", "[header&header-1 ===]"); // Check if single underlining - works MT("setextH2", "foo", "[header&header-2 -]"); // Check if 3+ -'s work MT("setextH2", "foo", "[header&header-2 ---]"); // http://spec.commonmark.org/0.19/#example-45 MT("setextH2AllowSpaces", "foo", " [header&header-2 ---- ]"); // http://spec.commonmark.org/0.19/#example-44 MT("noSetextAfterIndentedCodeBlock", " [comment foo]", "[hr ---]"); // http://spec.commonmark.org/0.19/#example-51 MT("noSetextAfterQuote", "[quote"e-1 > foo]", "[hr ---]"); MT("noSetextAfterList", "[variable-2 - foo]", "[hr ---]"); // Single-line blockquote with trailing space MT("blockquoteSpace", "[quote"e-1 > foo]"); // Single-line blockquote MT("blockquoteNoSpace", "[quote"e-1 >foo]"); // No blank line before blockquote MT("blockquoteNoBlankLine", "foo", "[quote"e-1 > bar]"); // Nested blockquote MT("blockquoteSpace", "[quote"e-1 > foo]", "[quote"e-1 >][quote"e-2 > foo]", "[quote"e-1 >][quote"e-2 >][quote"e-3 > foo]"); // Single-line blockquote followed by normal paragraph MT("blockquoteThenParagraph", "[quote"e-1 >foo]", "", "bar"); // Multi-line blockquote (lazy mode) MT("multiBlockquoteLazy", "[quote"e-1 >foo]", "[quote"e-1 bar]"); // Multi-line blockquote followed by normal paragraph (lazy mode) MT("multiBlockquoteLazyThenParagraph", "[quote"e-1 >foo]", "[quote"e-1 bar]", "", "hello"); // Multi-line blockquote (non-lazy mode) MT("multiBlockquote", "[quote"e-1 >foo]", "[quote"e-1 >bar]"); // Multi-line blockquote followed by normal paragraph (non-lazy mode) MT("multiBlockquoteThenParagraph", "[quote"e-1 >foo]", "[quote"e-1 >bar]", "", "hello"); // Header with leading space after continued blockquote (#3287, negative indentation) MT("headerAfterContinuedBlockquote", "[quote"e-1 > foo]", "[quote"e-1 bar]", "", " [header&header-1 # hello]"); // Check list types MT("listAsterisk", "foo", "bar", "", "[variable-2 * foo]", "[variable-2 * bar]"); MT("listPlus", "foo", "bar", "", "[variable-2 + foo]", "[variable-2 + bar]"); MT("listDash", "foo", "bar", "", "[variable-2 - foo]", "[variable-2 - bar]"); MT("listNumber", "foo", "bar", "", "[variable-2 1. foo]", "[variable-2 2. bar]"); // Lists require a preceding blank line (per Dingus) MT("listBogus", "foo", "1. bar", "2. hello"); // List after hr MT("listAfterHr", "[hr ---]", "[variable-2 - bar]"); // List after header MT("listAfterHeader", "[header&header-1 # foo]", "[variable-2 - bar]"); // hr after list MT("hrAfterList", "[variable-2 - foo]", "[hr -----]"); // Formatting in lists (*) MT("listAsteriskFormatting", "[variable-2 * ][variable-2&em *foo*][variable-2 bar]", "[variable-2 * ][variable-2&strong **foo**][variable-2 bar]", "[variable-2 * ][variable-2&strong **][variable-2&em&strong *foo**][variable-2&em *][variable-2 bar]", "[variable-2 * ][variable-2&comment `foo`][variable-2 bar]"); // Formatting in lists (+) MT("listPlusFormatting", "[variable-2 + ][variable-2&em *foo*][variable-2 bar]", "[variable-2 + ][variable-2&strong **foo**][variable-2 bar]", "[variable-2 + ][variable-2&strong **][variable-2&em&strong *foo**][variable-2&em *][variable-2 bar]", "[variable-2 + ][variable-2&comment `foo`][variable-2 bar]"); // Formatting in lists (-) MT("listDashFormatting", "[variable-2 - ][variable-2&em *foo*][variable-2 bar]", "[variable-2 - ][variable-2&strong **foo**][variable-2 bar]", "[variable-2 - ][variable-2&strong **][variable-2&em&strong *foo**][variable-2&em *][variable-2 bar]", "[variable-2 - ][variable-2&comment `foo`][variable-2 bar]"); // Formatting in lists (1.) MT("listNumberFormatting", "[variable-2 1. ][variable-2&em *foo*][variable-2 bar]", "[variable-2 2. ][variable-2&strong **foo**][variable-2 bar]", "[variable-2 3. ][variable-2&strong **][variable-2&em&strong *foo**][variable-2&em *][variable-2 bar]", "[variable-2 4. ][variable-2&comment `foo`][variable-2 bar]"); // Paragraph lists MT("listParagraph", "[variable-2 * foo]", "", "[variable-2 * bar]"); // Multi-paragraph lists // // 4 spaces MT("listMultiParagraph", "[variable-2 * foo]", "", "[variable-2 * bar]", "", " [variable-2 hello]"); // 4 spaces, extra blank lines (should still be list, per Dingus) MT("listMultiParagraphExtra", "[variable-2 * foo]", "", "[variable-2 * bar]", "", "", " [variable-2 hello]"); // 4 spaces, plus 1 space (should still be list, per Dingus) MT("listMultiParagraphExtraSpace", "[variable-2 * foo]", "", "[variable-2 * bar]", "", " [variable-2 hello]", "", " [variable-2 world]"); // 1 tab MT("listTab", "[variable-2 * foo]", "", "[variable-2 * bar]", "", "\t[variable-2 hello]"); // No indent MT("listNoIndent", "[variable-2 * foo]", "", "[variable-2 * bar]", "", "hello"); MT("listCommonMarkIndentationCode", "[variable-2 * Code blocks also affect]", " [variable-3 * The next level starts where the contents start.]", " [variable-3 * Anything less than that will keep the item on the same level.]", " [variable-3 * Each list item can indent the first level further and further.]", " [variable-3 * For the most part, this makes sense while writing a list.]", " [keyword * This means two items with same indentation can be different levels.]", " [keyword * Each level has an indent requirement that can change between items.]", " [keyword * A list item that meets this will be part of the next level.]", " [variable-3 * Otherwise, it will be part of the level where it does meet this.]", " [variable-2 * World]"); // Blockquote MT("blockquote", "[variable-2 * foo]", "", "[variable-2 * bar]", "", " [variable-2"e"e-1 > hello]"); // Code block MT("blockquoteCode", "[variable-2 * foo]", "", "[variable-2 * bar]", "", " [comment > hello]", "", " [variable-2 world]"); // Code block followed by text MT("blockquoteCodeText", "[variable-2 * foo]", "", " [variable-2 bar]", "", " [comment hello]", "", " [variable-2 world]"); // Nested list MT("listAsteriskNested", "[variable-2 * foo]", "", " [variable-3 * bar]"); MT("listPlusNested", "[variable-2 + foo]", "", " [variable-3 + bar]"); MT("listDashNested", "[variable-2 - foo]", "", " [variable-3 - bar]"); MT("listNumberNested", "[variable-2 1. foo]", "", " [variable-3 2. bar]"); MT("listMixed", "[variable-2 * foo]", "", " [variable-3 + bar]", "", " [keyword - hello]", "", " [variable-2 1. world]"); MT("listBlockquote", "[variable-2 * foo]", "", " [variable-3 + bar]", "", " [quote"e-1&variable-3 > hello]"); MT("listCode", "[variable-2 * foo]", "", " [variable-3 + bar]", "", " [comment hello]"); // Code with internal indentation MT("listCodeIndentation", "[variable-2 * foo]", "", " [comment bar]", " [comment hello]", " [comment world]", " [comment foo]", " [variable-2 bar]"); // List nesting edge cases MT("listNested", "[variable-2 * foo]", "", " [variable-3 * bar]", "", " [variable-3 hello]" ); MT("listNested", "[variable-2 * foo]", "", " [variable-3 * bar]", "", " [keyword * foo]" ); // Code followed by text MT("listCodeText", "[variable-2 * foo]", "", " [comment bar]", "", "hello"); // Following tests directly from official Markdown documentation // http://daringfireball.net/projects/markdown/syntax#hr MT("hrSpace", "[hr * * *]"); MT("hr", "[hr ***]"); MT("hrLong", "[hr *****]"); MT("hrSpaceDash", "[hr - - -]"); MT("hrDashLong", "[hr ---------------------------------------]"); //Images MT("Images", "[image&image-marker !][image&image-alt-text&link [[alt text]]][string&url (http://link.to/image.jpg)]") //Images with highlight alt text MT("imageEm", "[image&image-marker !][image&image-alt-text&link [[][image-alt-text&em&image&link *alt text*][image&image-alt-text&link ]]][string&url (http://link.to/image.jpg)]"); MT("imageStrong", "[image&image-marker !][image&image-alt-text&link [[][image-alt-text&strong&image&link **alt text**][image&image-alt-text&link ]]][string&url (http://link.to/image.jpg)]"); MT("imageEmStrong", "[image&image-marker !][image&image-alt-text&link [[][image-alt-text&image&strong&link **][image&image-alt-text&em&strong&link *alt text**][image&image-alt-text&em&link *][image&image-alt-text&link ]]][string&url (http://link.to/image.jpg)]"); // Inline link with title MT("linkTitle", "[link [[foo]]][string&url (http://example.com/ \"bar\")] hello"); // Inline link without title MT("linkNoTitle", "[link [[foo]]][string&url (http://example.com/)] bar"); // Inline link with image MT("linkImage", "[link [[][link&image&image-marker !][link&image&image-alt-text&link [[alt text]]][string&url (http://link.to/image.jpg)][link ]]][string&url (http://example.com/)] bar"); // Inline link with Em MT("linkEm", "[link [[][link&em *foo*][link ]]][string&url (http://example.com/)] bar"); // Inline link with Strong MT("linkStrong", "[link [[][link&strong **foo**][link ]]][string&url (http://example.com/)] bar"); // Inline link with EmStrong MT("linkEmStrong", "[link [[][link&strong **][link&em&strong *foo**][link&em *][link ]]][string&url (http://example.com/)] bar"); // Image with title MT("imageTitle", "[image&image-marker !][image&image-alt-text&link [[alt text]]][string&url (http://example.com/ \"bar\")] hello"); // Image without title MT("imageNoTitle", "[image&image-marker !][image&image-alt-text&link [[alt text]]][string&url (http://example.com/)] bar"); // Image with asterisks MT("imageAsterisks", "[image&image-marker !][image&image-alt-text&link [[ ][image&image-alt-text&em&link *alt text*][image&image-alt-text&link ]]][string&url (http://link.to/image.jpg)] bar"); // Not a link. Should be normal text due to square brackets being used // regularly in text, especially in quoted material, and no space is allowed // between square brackets and parentheses (per Dingus). MT("notALink", "[[foo]] (bar)"); // Reference-style links MT("linkReference", "[link [[foo]]][string&url [[bar]]] hello"); // Reference-style links with Em MT("linkReferenceEm", "[link [[][link&em *foo*][link ]]][string&url [[bar]]] hello"); // Reference-style links with Strong MT("linkReferenceStrong", "[link [[][link&strong **foo**][link ]]][string&url [[bar]]] hello"); // Reference-style links with EmStrong MT("linkReferenceEmStrong", "[link [[][link&strong **][link&em&strong *foo**][link&em *][link ]]][string&url [[bar]]] hello"); // Reference-style links with optional space separator (per documentation) // "You can optionally use a space to separate the sets of brackets" MT("linkReferenceSpace", "[link [[foo]]] [string&url [[bar]]] hello"); // Should only allow a single space ("...use *a* space...") MT("linkReferenceDoubleSpace", "[[foo]] [[bar]] hello"); // Reference-style links with implicit link name MT("linkImplicit", "[link [[foo]]][string&url [[]]] hello"); // @todo It would be nice if, at some point, the document was actually // checked to see if the referenced link exists // Link label, for reference-style links (taken from documentation) MT("labelNoTitle", "[link [[foo]]:] [string&url http://example.com/]"); MT("labelIndented", " [link [[foo]]:] [string&url http://example.com/]"); MT("labelSpaceTitle", "[link [[foo bar]]:] [string&url http://example.com/ \"hello\"]"); MT("labelDoubleTitle", "[link [[foo bar]]:] [string&url http://example.com/ \"hello\"] \"world\""); MT("labelTitleDoubleQuotes", "[link [[foo]]:] [string&url http://example.com/ \"bar\"]"); MT("labelTitleSingleQuotes", "[link [[foo]]:] [string&url http://example.com/ 'bar']"); MT("labelTitleParentheses", "[link [[foo]]:] [string&url http://example.com/ (bar)]"); MT("labelTitleInvalid", "[link [[foo]]:] [string&url http://example.com/] bar"); MT("labelLinkAngleBrackets", "[link [[foo]]:] [string&url \"bar\"]"); MT("labelTitleNextDoubleQuotes", "[link [[foo]]:] [string&url http://example.com/]", "[string \"bar\"] hello"); MT("labelTitleNextSingleQuotes", "[link [[foo]]:] [string&url http://example.com/]", "[string 'bar'] hello"); MT("labelTitleNextParentheses", "[link [[foo]]:] [string&url http://example.com/]", "[string (bar)] hello"); MT("labelTitleNextMixed", "[link [[foo]]:] [string&url http://example.com/]", "(bar\" hello"); MT("labelEscape", "[link [[foo \\]] ]]:] [string&url http://example.com/]"); MT("labelEscapeColon", "[link [[foo \\]]: bar]]:] [string&url http://example.com/]"); MT("labelEscapeEnd", "[[foo\\]]: http://example.com/"); MT("linkWeb", "[link ] foo"); MT("linkWebDouble", "[link ] foo [link ]"); MT("linkEmail", "[link ] foo"); MT("linkEmailDouble", "[link ] foo [link ]"); MT("emAsterisk", "[em *foo*] bar"); MT("emUnderscore", "[em _foo_] bar"); MT("emInWordAsterisk", "foo[em *bar*]hello"); MT("emInWordUnderscore", "foo[em _bar_]hello"); // Per documentation: "...surround an * or _ with spaces, it’ll be // treated as a literal asterisk or underscore." MT("emEscapedBySpaceIn", "foo [em _bar _ hello_] world"); MT("emEscapedBySpaceOut", "foo _ bar[em _hello_]world"); MT("emEscapedByNewline", "foo", "_ bar[em _hello_]world"); // Unclosed emphasis characters // Instead of simply marking as EM / STRONG, it would be nice to have an // incomplete flag for EM and STRONG, that is styled slightly different. MT("emIncompleteAsterisk", "foo [em *bar]"); MT("emIncompleteUnderscore", "foo [em _bar]"); MT("strongAsterisk", "[strong **foo**] bar"); MT("strongUnderscore", "[strong __foo__] bar"); MT("emStrongAsterisk", "[em *foo][em&strong **bar*][strong hello**] world"); MT("emStrongUnderscore", "[em _foo][em&strong __bar_][strong hello__] world"); // "...same character must be used to open and close an emphasis span."" MT("emStrongMixed", "[em _foo][em&strong **bar*hello__ world]"); MT("emStrongMixed", "[em *foo][em&strong __bar_hello** world]"); MT("linkWithNestedParens", "[link [[foo]]][string&url (bar(baz))]") // These characters should be escaped: // \ backslash // ` backtick // * asterisk // _ underscore // {} curly braces // [] square brackets // () parentheses // # hash mark // + plus sign // - minus sign (hyphen) // . dot // ! exclamation mark MT("escapeBacktick", "foo \\`bar\\`"); MT("doubleEscapeBacktick", "foo \\\\[comment `bar\\\\`]"); MT("escapeAsterisk", "foo \\*bar\\*"); MT("doubleEscapeAsterisk", "foo \\\\[em *bar\\\\*]"); MT("escapeUnderscore", "foo \\_bar\\_"); MT("doubleEscapeUnderscore", "foo \\\\[em _bar\\\\_]"); MT("escapeHash", "\\# foo"); MT("doubleEscapeHash", "\\\\# foo"); MT("escapeNewline", "\\", "[em *foo*]"); // Class override tests TokenTypeOverrideTest("overrideHeader1", "[override-header&override-header-1 # Foo]"); TokenTypeOverrideTest("overrideHeader2", "[override-header&override-header-2 ## Foo]"); TokenTypeOverrideTest("overrideHeader3", "[override-header&override-header-3 ### Foo]"); TokenTypeOverrideTest("overrideHeader4", "[override-header&override-header-4 #### Foo]"); TokenTypeOverrideTest("overrideHeader5", "[override-header&override-header-5 ##### Foo]"); TokenTypeOverrideTest("overrideHeader6", "[override-header&override-header-6 ###### Foo]"); TokenTypeOverrideTest("overrideCode", "[override-code `foo`]"); TokenTypeOverrideTest("overrideCodeBlock", "[override-code ```]", "[override-code foo]", "[override-code ```]"); TokenTypeOverrideTest("overrideQuote", "[override-quote&override-quote-1 > foo]", "[override-quote&override-quote-1 > bar]"); TokenTypeOverrideTest("overrideQuoteNested", "[override-quote&override-quote-1 > foo]", "[override-quote&override-quote-1 >][override-quote&override-quote-2 > bar]", "[override-quote&override-quote-1 >][override-quote&override-quote-2 >][override-quote&override-quote-3 > baz]"); TokenTypeOverrideTest("overrideLists", "[override-list1 - foo]", "", " [override-list2 + bar]", "", " [override-list3 * baz]", "", " [override-list1 1. qux]", "", " [override-list2 - quux]"); TokenTypeOverrideTest("overrideHr", "[override-hr * * *]"); TokenTypeOverrideTest("overrideImage", "[override-image&override-image-marker !][override-image&override-image-alt-text&link [[alt text]]][override-link-href&url (http://link.to/image.jpg)]"); TokenTypeOverrideTest("overrideLinkText", "[override-link-text [[foo]]][override-link-href&url (http://example.com)]"); TokenTypeOverrideTest("overrideLinkEmailAndInline", "[override-link-email <][override-link-inline foo@example.com>]"); TokenTypeOverrideTest("overrideEm", "[override-em *foo*]"); TokenTypeOverrideTest("overrideStrong", "[override-strong **foo**]"); TokenTypeOverrideTest("overrideStrikethrough", "[override-strikethrough ~~foo~~]"); FormatTokenTypeOverrideTest("overrideFormatting", "[override-formatting-escape \\*]"); // Tests to make sure GFM-specific things aren't getting through MT("taskList", "[variable-2 * [ ]] bar]"); MT("noFencedCodeBlocks", "~~~", "foo", "~~~"); FencedTest("fencedCodeBlocks", "[comment ```]", "[comment foo]", "[comment ```]", "bar"); FencedTest("fencedCodeBlocksMultipleChars", "[comment `````]", "[comment foo]", "[comment ```]", "[comment foo]", "[comment `````]", "bar"); FencedTest("fencedCodeBlocksTildes", "[comment ~~~]", "[comment foo]", "[comment ~~~]", "bar"); FencedTest("fencedCodeBlocksTildesMultipleChars", "[comment ~~~~~]", "[comment ~~~]", "[comment foo]", "[comment ~~~~~]", "bar"); FencedTest("fencedCodeBlocksMultipleChars", "[comment `````]", "[comment foo]", "[comment ```]", "[comment foo]", "[comment `````]", "bar"); FencedTest("fencedCodeBlocksMixed", "[comment ~~~]", "[comment ```]", "[comment foo]", "[comment ~~~]", "bar"); // Tests that require XML mode MT("xmlMode", "[tag&bracket <][tag div][tag&bracket >]", "*foo*", "[tag&bracket <][tag http://github.com][tag&bracket />]", "[tag&bracket ]", "[link ]"); MT("xmlModeWithMarkdownInside", "[tag&bracket <][tag div] [attribute markdown]=[string 1][tag&bracket >]", "[em *foo*]", "[link ]", "[tag
        ]", "[link ]", "[tag&bracket <][tag div][tag&bracket >]", "[tag&bracket ]"); })(); wp-file-manager/lib/codemirror/mode/mathematica/index.html000064400000004316151202472330017633 0ustar00 CodeMirror: Mathematica mode

        Mathematica mode

        MIME types defined: text/x-mathematica (Mathematica).

        wp-file-manager/lib/codemirror/mode/mathematica/mathematica.js000064400000012754151202472330020456 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Mathematica mode copyright (c) 2015 by Calin Barbat // Based on code by Patrick Scheibe (halirutan) // See: https://github.com/halirutan/Mathematica-Source-Highlighting/tree/master/src/lang-mma.js (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('mathematica', function(_config, _parserConfig) { // used pattern building blocks var Identifier = '[a-zA-Z\\$][a-zA-Z0-9\\$]*'; var pBase = "(?:\\d+)"; var pFloat = "(?:\\.\\d+|\\d+\\.\\d*|\\d+)"; var pFloatBase = "(?:\\.\\w+|\\w+\\.\\w*|\\w+)"; var pPrecision = "(?:`(?:`?"+pFloat+")?)"; // regular expressions var reBaseForm = new RegExp('(?:'+pBase+'(?:\\^\\^'+pFloatBase+pPrecision+'?(?:\\*\\^[+-]?\\d+)?))'); var reFloatForm = new RegExp('(?:' + pFloat + pPrecision + '?(?:\\*\\^[+-]?\\d+)?)'); var reIdInContext = new RegExp('(?:`?)(?:' + Identifier + ')(?:`(?:' + Identifier + '))*(?:`?)'); function tokenBase(stream, state) { var ch; // get next character ch = stream.next(); // string if (ch === '"') { state.tokenize = tokenString; return state.tokenize(stream, state); } // comment if (ch === '(') { if (stream.eat('*')) { state.commentLevel++; state.tokenize = tokenComment; return state.tokenize(stream, state); } } // go back one character stream.backUp(1); // look for numbers // Numbers in a baseform if (stream.match(reBaseForm, true, false)) { return 'number'; } // Mathematica numbers. Floats (1.2, .2, 1.) can have optionally a precision (`float) or an accuracy definition // (``float). Note: while 1.2` is possible 1.2`` is not. At the end an exponent (float*^+12) can follow. if (stream.match(reFloatForm, true, false)) { return 'number'; } /* In[23] and Out[34] */ if (stream.match(/(?:In|Out)\[[0-9]*\]/, true, false)) { return 'atom'; } // usage if (stream.match(/([a-zA-Z\$]+(?:`?[a-zA-Z0-9\$])*::usage)/, true, false)) { return 'meta'; } // message if (stream.match(/([a-zA-Z\$]+(?:`?[a-zA-Z0-9\$])*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/, true, false)) { return 'string-2'; } // this makes a look-ahead match for something like variable:{_Integer} // the match is then forwarded to the mma-patterns tokenizer. if (stream.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/, true, false)) { return 'variable-2'; } // catch variables which are used together with Blank (_), BlankSequence (__) or BlankNullSequence (___) // Cannot start with a number, but can have numbers at any other position. Examples // blub__Integer, a1_, b34_Integer32 if (stream.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/, true, false)) { return 'variable-2'; } if (stream.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/, true, false)) { return 'variable-2'; } if (stream.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/, true, false)) { return 'variable-2'; } // Named characters in Mathematica, like \[Gamma]. if (stream.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/, true, false)) { return 'variable-3'; } // Match all braces separately if (stream.match(/(?:\[|\]|{|}|\(|\))/, true, false)) { return 'bracket'; } // Catch Slots (#, ##, #3, ##9 and the V10 named slots #name). I have never seen someone using more than one digit after #, so we match // only one. if (stream.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/, true, false)) { return 'variable-2'; } // Literals like variables, keywords, functions if (stream.match(reIdInContext, true, false)) { return 'keyword'; } // operators. Note that operators like @@ or /; are matched separately for each symbol. if (stream.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/, true, false)) { return 'operator'; } // everything else is an error stream.next(); // advance the stream. return 'error'; } function tokenString(stream, state) { var next, end = false, escaped = false; while ((next = stream.next()) != null) { if (next === '"' && !escaped) { end = true; break; } escaped = !escaped && next === '\\'; } if (end && !escaped) { state.tokenize = tokenBase; } return 'string'; }; function tokenComment(stream, state) { var prev, next; while(state.commentLevel > 0 && (next = stream.next()) != null) { if (prev === '(' && next === '*') state.commentLevel++; if (prev === '*' && next === ')') state.commentLevel--; prev = next; } if (state.commentLevel <= 0) { state.tokenize = tokenBase; } return 'comment'; } return { startState: function() {return {tokenize: tokenBase, commentLevel: 0};}, token: function(stream, state) { if (stream.eatSpace()) return null; return state.tokenize(stream, state); }, blockCommentStart: "(*", blockCommentEnd: "*)" }; }); CodeMirror.defineMIME('text/x-mathematica', { name: 'mathematica' }); }); wp-file-manager/lib/codemirror/mode/mbox/index.html000064400000002415151202472330016321 0ustar00 CodeMirror: mbox mode

        mbox mode

        MIME types defined: application/mbox.

        wp-file-manager/lib/codemirror/mode/mbox/mbox.js000064400000007101151202472330015624 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var rfc2822 = [ "From", "Sender", "Reply-To", "To", "Cc", "Bcc", "Message-ID", "In-Reply-To", "References", "Resent-From", "Resent-Sender", "Resent-To", "Resent-Cc", "Resent-Bcc", "Resent-Message-ID", "Return-Path", "Received" ]; var rfc2822NoEmail = [ "Date", "Subject", "Comments", "Keywords", "Resent-Date" ]; CodeMirror.registerHelper("hintWords", "mbox", rfc2822.concat(rfc2822NoEmail)); var whitespace = /^[ \t]/; var separator = /^From /; // See RFC 4155 var rfc2822Header = new RegExp("^(" + rfc2822.join("|") + "): "); var rfc2822HeaderNoEmail = new RegExp("^(" + rfc2822NoEmail.join("|") + "): "); var header = /^[^:]+:/; // Optional fields defined in RFC 2822 var email = /^[^ ]+@[^ ]+/; var untilEmail = /^.*?(?=[^ ]+?@[^ ]+)/; var bracketedEmail = /^<.*?>/; var untilBracketedEmail = /^.*?(?=<.*>)/; function styleForHeader(header) { if (header === "Subject") return "header"; return "string"; } function readToken(stream, state) { if (stream.sol()) { // From last line state.inSeparator = false; if (state.inHeader && stream.match(whitespace)) { // Header folding return null; } else { state.inHeader = false; state.header = null; } if (stream.match(separator)) { state.inHeaders = true; state.inSeparator = true; return "atom"; } var match; var emailPermitted = false; if ((match = stream.match(rfc2822HeaderNoEmail)) || (emailPermitted = true) && (match = stream.match(rfc2822Header))) { state.inHeaders = true; state.inHeader = true; state.emailPermitted = emailPermitted; state.header = match[1]; return "atom"; } // Use vim's heuristics: recognize custom headers only if the line is in a // block of legitimate headers. if (state.inHeaders && (match = stream.match(header))) { state.inHeader = true; state.emailPermitted = true; state.header = match[1]; return "atom"; } state.inHeaders = false; stream.skipToEnd(); return null; } if (state.inSeparator) { if (stream.match(email)) return "link"; if (stream.match(untilEmail)) return "atom"; stream.skipToEnd(); return "atom"; } if (state.inHeader) { var style = styleForHeader(state.header); if (state.emailPermitted) { if (stream.match(bracketedEmail)) return style + " link"; if (stream.match(untilBracketedEmail)) return style; } stream.skipToEnd(); return style; } stream.skipToEnd(); return null; }; CodeMirror.defineMode("mbox", function() { return { startState: function() { return { // Is in a mbox separator inSeparator: false, // Is in a mail header inHeader: false, // If bracketed email is permitted. Only applicable when inHeader emailPermitted: false, // Name of current header header: null, // Is in a region of mail headers inHeaders: false }; }, token: readToken, blankLine: function(state) { state.inHeaders = state.inSeparator = state.inHeader = false; } }; }); CodeMirror.defineMIME("application/mbox", "mbox"); }); wp-file-manager/lib/codemirror/mode/mirc/index.html000064400000013260151202472330016306 0ustar00 CodeMirror: mIRC mode

        mIRC mode

        MIME types defined: text/mirc.

        wp-file-manager/lib/codemirror/mode/mirc/mirc.js000064400000023542151202472330015605 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE //mIRC mode by Ford_Lawnmower :: Based on Velocity mode by Steve O'Hara (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMIME("text/mirc", "mirc"); CodeMirror.defineMode("mirc", function() { function parseWords(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var specials = parseWords("$! $$ $& $? $+ $abook $abs $active $activecid " + "$activewid $address $addtok $agent $agentname $agentstat $agentver " + "$alias $and $anick $ansi2mirc $aop $appactive $appstate $asc $asctime " + "$asin $atan $avoice $away $awaymsg $awaytime $banmask $base $bfind " + "$binoff $biton $bnick $bvar $bytes $calc $cb $cd $ceil $chan $chanmodes " + "$chantypes $chat $chr $cid $clevel $click $cmdbox $cmdline $cnick $color " + "$com $comcall $comchan $comerr $compact $compress $comval $cos $count " + "$cr $crc $creq $crlf $ctime $ctimer $ctrlenter $date $day $daylight " + "$dbuh $dbuw $dccignore $dccport $dde $ddename $debug $decode $decompress " + "$deltok $devent $dialog $did $didreg $didtok $didwm $disk $dlevel $dll " + "$dllcall $dname $dns $duration $ebeeps $editbox $emailaddr $encode $error " + "$eval $event $exist $feof $ferr $fgetc $file $filename $filtered $finddir " + "$finddirn $findfile $findfilen $findtok $fline $floor $fopen $fread $fserve " + "$fulladdress $fulldate $fullname $fullscreen $get $getdir $getdot $gettok $gmt " + "$group $halted $hash $height $hfind $hget $highlight $hnick $hotline " + "$hotlinepos $ial $ialchan $ibl $idle $iel $ifmatch $ignore $iif $iil " + "$inelipse $ini $inmidi $inpaste $inpoly $input $inrect $inroundrect " + "$insong $instok $int $inwave $ip $isalias $isbit $isdde $isdir $isfile " + "$isid $islower $istok $isupper $keychar $keyrpt $keyval $knick $lactive " + "$lactivecid $lactivewid $left $len $level $lf $line $lines $link $lock " + "$lock $locked $log $logstamp $logstampfmt $longfn $longip $lower $ltimer " + "$maddress $mask $matchkey $matchtok $md5 $me $menu $menubar $menucontext " + "$menutype $mid $middir $mircdir $mircexe $mircini $mklogfn $mnick $mode " + "$modefirst $modelast $modespl $mouse $msfile $network $newnick $nick $nofile " + "$nopath $noqt $not $notags $notify $null $numeric $numok $oline $onpoly " + "$opnick $or $ord $os $passivedcc $pic $play $pnick $port $portable $portfree " + "$pos $prefix $prop $protect $puttok $qt $query $rand $r $rawmsg $read $readomo " + "$readn $regex $regml $regsub $regsubex $remove $remtok $replace $replacex " + "$reptok $result $rgb $right $round $scid $scon $script $scriptdir $scriptline " + "$sdir $send $server $serverip $sfile $sha1 $shortfn $show $signal $sin " + "$site $sline $snick $snicks $snotify $sock $sockbr $sockerr $sockname " + "$sorttok $sound $sqrt $ssl $sreq $sslready $status $strip $str $stripped " + "$syle $submenu $switchbar $tan $target $ticks $time $timer $timestamp " + "$timestampfmt $timezone $tip $titlebar $toolbar $treebar $trust $ulevel " + "$ulist $upper $uptime $url $usermode $v1 $v2 $var $vcmd $vcmdstat $vcmdver " + "$version $vnick $vol $wid $width $wildsite $wildtok $window $wrap $xor"); var keywords = parseWords("abook ajinvite alias aline ame amsg anick aop auser autojoin avoice " + "away background ban bcopy beep bread break breplace bset btrunc bunset bwrite " + "channel clear clearall cline clipboard close cnick color comclose comopen " + "comreg continue copy creq ctcpreply ctcps dcc dccserver dde ddeserver " + "debug dec describe dialog did didtok disable disconnect dlevel dline dll " + "dns dqwindow drawcopy drawdot drawfill drawline drawpic drawrect drawreplace " + "drawrot drawsave drawscroll drawtext ebeeps echo editbox emailaddr enable " + "events exit fclose filter findtext finger firewall flash flist flood flush " + "flushini font fopen fseek fsend fserve fullname fwrite ghide gload gmove " + "gopts goto gplay gpoint gqreq groups gshow gsize gstop gtalk gunload hadd " + "halt haltdef hdec hdel help hfree hinc hload hmake hop hsave ial ialclear " + "ialmark identd if ignore iline inc invite iuser join kick linesep links list " + "load loadbuf localinfo log mdi me menubar mkdir mnick mode msg nick noop notice " + "notify omsg onotice part partall pdcc perform play playctrl pop protect pvoice " + "qme qmsg query queryn quit raw reload remini remote remove rename renwin " + "reseterror resetidle return rlevel rline rmdir run ruser save savebuf saveini " + "say scid scon server set showmirc signam sline sockaccept sockclose socklist " + "socklisten sockmark sockopen sockpause sockread sockrename sockudp sockwrite " + "sound speak splay sreq strip switchbar timer timestamp titlebar tnick tokenize " + "toolbar topic tray treebar ulist unload unset unsetall updatenl url uwho " + "var vcadd vcmd vcrem vol while whois window winhelp write writeint if isalnum " + "isalpha isaop isavoice isban ischan ishop isignore isin isincs isletter islower " + "isnotify isnum ison isop isprotect isreg isupper isvoice iswm iswmcs " + "elseif else goto menu nicklist status title icon size option text edit " + "button check radio box scroll list combo link tab item"); var functions = parseWords("if elseif else and not or eq ne in ni for foreach while switch"); var isOperatorChar = /[+\-*&%=<>!?^\/\|]/; function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } function tokenBase(stream, state) { var beforeParams = state.beforeParams; state.beforeParams = false; var ch = stream.next(); if (/[\[\]{}\(\),\.]/.test(ch)) { if (ch == "(" && beforeParams) state.inParams = true; else if (ch == ")") state.inParams = false; return null; } else if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } else if (ch == "\\") { stream.eat("\\"); stream.eat(/./); return "number"; } else if (ch == "/" && stream.eat("*")) { return chain(stream, state, tokenComment); } else if (ch == ";" && stream.match(/ *\( *\(/)) { return chain(stream, state, tokenUnparsed); } else if (ch == ";" && !state.inParams) { stream.skipToEnd(); return "comment"; } else if (ch == '"') { stream.eat(/"/); return "keyword"; } else if (ch == "$") { stream.eatWhile(/[$_a-z0-9A-Z\.:]/); if (specials && specials.propertyIsEnumerable(stream.current().toLowerCase())) { return "keyword"; } else { state.beforeParams = true; return "builtin"; } } else if (ch == "%") { stream.eatWhile(/[^,^\s^\(^\)]/); state.beforeParams = true; return "string"; } else if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } else { stream.eatWhile(/[\w\$_{}]/); var word = stream.current().toLowerCase(); if (keywords && keywords.propertyIsEnumerable(word)) return "keyword"; if (functions && functions.propertyIsEnumerable(word)) { state.beforeParams = true; return "keyword"; } return null; } } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function tokenUnparsed(stream, state) { var maybeEnd = 0, ch; while (ch = stream.next()) { if (ch == ";" && maybeEnd == 2) { state.tokenize = tokenBase; break; } if (ch == ")") maybeEnd++; else if (ch != " ") maybeEnd = 0; } return "meta"; } return { startState: function() { return { tokenize: tokenBase, beforeParams: false, inParams: false }; }, token: function(stream, state) { if (stream.eatSpace()) return null; return state.tokenize(stream, state); } }; }); }); wp-file-manager/lib/codemirror/mode/mllike/index.html000064400000010524151202472330016631 0ustar00 CodeMirror: ML-like mode

        OCaml mode

        F# mode

        MIME types defined: text/x-ocaml (OCaml) and text/x-fsharp (F#).

        wp-file-manager/lib/codemirror/mode/mllike/mllike.js000064400000011632151202472330016450 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('mllike', function(_config, parserConfig) { var words = { 'let': 'keyword', 'rec': 'keyword', 'in': 'keyword', 'of': 'keyword', 'and': 'keyword', 'if': 'keyword', 'then': 'keyword', 'else': 'keyword', 'for': 'keyword', 'to': 'keyword', 'while': 'keyword', 'do': 'keyword', 'done': 'keyword', 'fun': 'keyword', 'function': 'keyword', 'val': 'keyword', 'type': 'keyword', 'mutable': 'keyword', 'match': 'keyword', 'with': 'keyword', 'try': 'keyword', 'open': 'builtin', 'ignore': 'builtin', 'begin': 'keyword', 'end': 'keyword' }; var extraWords = parserConfig.extraWords || {}; for (var prop in extraWords) { if (extraWords.hasOwnProperty(prop)) { words[prop] = parserConfig.extraWords[prop]; } } function tokenBase(stream, state) { var ch = stream.next(); if (ch === '"') { state.tokenize = tokenString; return state.tokenize(stream, state); } if (ch === '(') { if (stream.eat('*')) { state.commentLevel++; state.tokenize = tokenComment; return state.tokenize(stream, state); } } if (ch === '~') { stream.eatWhile(/\w/); return 'variable-2'; } if (ch === '`') { stream.eatWhile(/\w/); return 'quote'; } if (ch === '/' && parserConfig.slashComments && stream.eat('/')) { stream.skipToEnd(); return 'comment'; } if (/\d/.test(ch)) { stream.eatWhile(/[\d]/); if (stream.eat('.')) { stream.eatWhile(/[\d]/); } return 'number'; } if ( /[+\-*&%=<>!?|]/.test(ch)) { return 'operator'; } stream.eatWhile(/\w/); var cur = stream.current(); return words.hasOwnProperty(cur) ? words[cur] : 'variable'; } function tokenString(stream, state) { var next, end = false, escaped = false; while ((next = stream.next()) != null) { if (next === '"' && !escaped) { end = true; break; } escaped = !escaped && next === '\\'; } if (end && !escaped) { state.tokenize = tokenBase; } return 'string'; }; function tokenComment(stream, state) { var prev, next; while(state.commentLevel > 0 && (next = stream.next()) != null) { if (prev === '(' && next === '*') state.commentLevel++; if (prev === '*' && next === ')') state.commentLevel--; prev = next; } if (state.commentLevel <= 0) { state.tokenize = tokenBase; } return 'comment'; } return { startState: function() {return {tokenize: tokenBase, commentLevel: 0};}, token: function(stream, state) { if (stream.eatSpace()) return null; return state.tokenize(stream, state); }, blockCommentStart: "(*", blockCommentEnd: "*)", lineComment: parserConfig.slashComments ? "//" : null }; }); CodeMirror.defineMIME('text/x-ocaml', { name: 'mllike', extraWords: { 'succ': 'keyword', 'trace': 'builtin', 'exit': 'builtin', 'print_string': 'builtin', 'print_endline': 'builtin', 'true': 'atom', 'false': 'atom', 'raise': 'keyword' } }); CodeMirror.defineMIME('text/x-fsharp', { name: 'mllike', extraWords: { 'abstract': 'keyword', 'as': 'keyword', 'assert': 'keyword', 'base': 'keyword', 'class': 'keyword', 'default': 'keyword', 'delegate': 'keyword', 'downcast': 'keyword', 'downto': 'keyword', 'elif': 'keyword', 'exception': 'keyword', 'extern': 'keyword', 'finally': 'keyword', 'global': 'keyword', 'inherit': 'keyword', 'inline': 'keyword', 'interface': 'keyword', 'internal': 'keyword', 'lazy': 'keyword', 'let!': 'keyword', 'member' : 'keyword', 'module': 'keyword', 'namespace': 'keyword', 'new': 'keyword', 'null': 'keyword', 'override': 'keyword', 'private': 'keyword', 'public': 'keyword', 'return': 'keyword', 'return!': 'keyword', 'select': 'keyword', 'static': 'keyword', 'struct': 'keyword', 'upcast': 'keyword', 'use': 'keyword', 'use!': 'keyword', 'val': 'keyword', 'when': 'keyword', 'yield': 'keyword', 'yield!': 'keyword', 'List': 'builtin', 'Seq': 'builtin', 'Map': 'builtin', 'Set': 'builtin', 'int': 'builtin', 'string': 'builtin', 'raise': 'builtin', 'failwith': 'builtin', 'not': 'builtin', 'true': 'builtin', 'false': 'builtin' }, slashComments: true }); }); wp-file-manager/lib/codemirror/mode/modelica/index.html000064400000003727151202472330017140 0ustar00 CodeMirror: Modelica mode

        Modelica mode

        Simple mode that tries to handle Modelica as well as it can.

        MIME types defined: text/x-modelica (Modlica code).

        wp-file-manager/lib/codemirror/mode/modelica/modelica.js000064400000015422151202472330017251 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Modelica support for CodeMirror, copyright (c) by Lennart Ochel (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; CodeMirror.defineMode("modelica", function(config, parserConfig) { var indentUnit = config.indentUnit; var keywords = parserConfig.keywords || {}; var builtin = parserConfig.builtin || {}; var atoms = parserConfig.atoms || {}; var isSingleOperatorChar = /[;=\(:\),{}.*<>+\-\/^\[\]]/; var isDoubleOperatorChar = /(:=|<=|>=|==|<>|\.\+|\.\-|\.\*|\.\/|\.\^)/; var isDigit = /[0-9]/; var isNonDigit = /[_a-zA-Z]/; function tokenLineComment(stream, state) { stream.skipToEnd(); state.tokenize = null; return "comment"; } function tokenBlockComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (maybeEnd && ch == "/") { state.tokenize = null; break; } maybeEnd = (ch == "*"); } return "comment"; } function tokenString(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == '"' && !escaped) { state.tokenize = null; state.sol = false; break; } escaped = !escaped && ch == "\\"; } return "string"; } function tokenIdent(stream, state) { stream.eatWhile(isDigit); while (stream.eat(isDigit) || stream.eat(isNonDigit)) { } var cur = stream.current(); if(state.sol && (cur == "package" || cur == "model" || cur == "when" || cur == "connector")) state.level++; else if(state.sol && cur == "end" && state.level > 0) state.level--; state.tokenize = null; state.sol = false; if (keywords.propertyIsEnumerable(cur)) return "keyword"; else if (builtin.propertyIsEnumerable(cur)) return "builtin"; else if (atoms.propertyIsEnumerable(cur)) return "atom"; else return "variable"; } function tokenQIdent(stream, state) { while (stream.eat(/[^']/)) { } state.tokenize = null; state.sol = false; if(stream.eat("'")) return "variable"; else return "error"; } function tokenUnsignedNuber(stream, state) { stream.eatWhile(isDigit); if (stream.eat('.')) { stream.eatWhile(isDigit); } if (stream.eat('e') || stream.eat('E')) { if (!stream.eat('-')) stream.eat('+'); stream.eatWhile(isDigit); } state.tokenize = null; state.sol = false; return "number"; } // Interface return { startState: function() { return { tokenize: null, level: 0, sol: true }; }, token: function(stream, state) { if(state.tokenize != null) { return state.tokenize(stream, state); } if(stream.sol()) { state.sol = true; } // WHITESPACE if(stream.eatSpace()) { state.tokenize = null; return null; } var ch = stream.next(); // LINECOMMENT if(ch == '/' && stream.eat('/')) { state.tokenize = tokenLineComment; } // BLOCKCOMMENT else if(ch == '/' && stream.eat('*')) { state.tokenize = tokenBlockComment; } // TWO SYMBOL TOKENS else if(isDoubleOperatorChar.test(ch+stream.peek())) { stream.next(); state.tokenize = null; return "operator"; } // SINGLE SYMBOL TOKENS else if(isSingleOperatorChar.test(ch)) { state.tokenize = null; return "operator"; } // IDENT else if(isNonDigit.test(ch)) { state.tokenize = tokenIdent; } // Q-IDENT else if(ch == "'" && stream.peek() && stream.peek() != "'") { state.tokenize = tokenQIdent; } // STRING else if(ch == '"') { state.tokenize = tokenString; } // UNSIGNED_NUBER else if(isDigit.test(ch)) { state.tokenize = tokenUnsignedNuber; } // ERROR else { state.tokenize = null; return "error"; } return state.tokenize(stream, state); }, indent: function(state, textAfter) { if (state.tokenize != null) return CodeMirror.Pass; var level = state.level; if(/(algorithm)/.test(textAfter)) level--; if(/(equation)/.test(textAfter)) level--; if(/(initial algorithm)/.test(textAfter)) level--; if(/(initial equation)/.test(textAfter)) level--; if(/(end)/.test(textAfter)) level--; if(level > 0) return indentUnit*level; else return 0; }, blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//" }; }); function words(str) { var obj = {}, words = str.split(" "); for (var i=0; i CodeMirror: MscGen mode

        MscGen mode

        Xù mode

        MsGenny mode

        Simple mode for highlighting MscGen and two derived sequence chart languages.

        MIME types defined: text/x-mscgen text/x-xu text/x-msgenny

        wp-file-manager/lib/codemirror/mode/mscgen/mscgen.js000064400000014573151202472330016455 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // mode(s) for the sequence chart dsl's mscgen, xù and msgenny // For more information on mscgen, see the site of the original author: // http://www.mcternan.me.uk/mscgen // // This mode for mscgen and the two derivative languages were // originally made for use in the mscgen_js interpreter // (https://sverweij.github.io/mscgen_js) (function(mod) { if ( typeof exports == "object" && typeof module == "object")// CommonJS mod(require("../../lib/codemirror")); else if ( typeof define == "function" && define.amd)// AMD define(["../../lib/codemirror"], mod); else// Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var languages = { mscgen: { "keywords" : ["msc"], "options" : ["hscale", "width", "arcgradient", "wordwraparcs"], "attributes" : ["label", "idurl", "id", "url", "linecolor", "linecolour", "textcolor", "textcolour", "textbgcolor", "textbgcolour", "arclinecolor", "arclinecolour", "arctextcolor", "arctextcolour", "arctextbgcolor", "arctextbgcolour", "arcskip"], "brackets" : ["\\{", "\\}"], // [ and ] are brackets too, but these get handled in with lists "arcsWords" : ["note", "abox", "rbox", "box"], "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"], "singlecomment" : ["//", "#"], "operators" : ["="] }, xu: { "keywords" : ["msc"], "options" : ["hscale", "width", "arcgradient", "wordwraparcs", "watermark"], "attributes" : ["label", "idurl", "id", "url", "linecolor", "linecolour", "textcolor", "textcolour", "textbgcolor", "textbgcolour", "arclinecolor", "arclinecolour", "arctextcolor", "arctextcolour", "arctextbgcolor", "arctextbgcolour", "arcskip"], "brackets" : ["\\{", "\\}"], // [ and ] are brackets too, but these get handled in with lists "arcsWords" : ["note", "abox", "rbox", "box", "alt", "else", "opt", "break", "par", "seq", "strict", "neg", "critical", "ignore", "consider", "assert", "loop", "ref", "exc"], "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"], "singlecomment" : ["//", "#"], "operators" : ["="] }, msgenny: { "keywords" : null, "options" : ["hscale", "width", "arcgradient", "wordwraparcs", "watermark"], "attributes" : null, "brackets" : ["\\{", "\\}"], "arcsWords" : ["note", "abox", "rbox", "box", "alt", "else", "opt", "break", "par", "seq", "strict", "neg", "critical", "ignore", "consider", "assert", "loop", "ref", "exc"], "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"], "singlecomment" : ["//", "#"], "operators" : ["="] } } CodeMirror.defineMode("mscgen", function(_, modeConfig) { var language = languages[modeConfig && modeConfig.language || "mscgen"] return { startState: startStateFn, copyState: copyStateFn, token: produceTokenFunction(language), lineComment : "#", blockCommentStart : "/*", blockCommentEnd : "*/" }; }); CodeMirror.defineMIME("text/x-mscgen", "mscgen"); CodeMirror.defineMIME("text/x-xu", {name: "mscgen", language: "xu"}); CodeMirror.defineMIME("text/x-msgenny", {name: "mscgen", language: "msgenny"}); function wordRegexpBoundary(pWords) { return new RegExp("\\b(" + pWords.join("|") + ")\\b", "i"); } function wordRegexp(pWords) { return new RegExp("(" + pWords.join("|") + ")", "i"); } function startStateFn() { return { inComment : false, inString : false, inAttributeList : false, inScript : false }; } function copyStateFn(pState) { return { inComment : pState.inComment, inString : pState.inString, inAttributeList : pState.inAttributeList, inScript : pState.inScript }; } function produceTokenFunction(pConfig) { return function(pStream, pState) { if (pStream.match(wordRegexp(pConfig.brackets), true, true)) { return "bracket"; } /* comments */ if (!pState.inComment) { if (pStream.match(/\/\*[^\*\/]*/, true, true)) { pState.inComment = true; return "comment"; } if (pStream.match(wordRegexp(pConfig.singlecomment), true, true)) { pStream.skipToEnd(); return "comment"; } } if (pState.inComment) { if (pStream.match(/[^\*\/]*\*\//, true, true)) pState.inComment = false; else pStream.skipToEnd(); return "comment"; } /* strings */ if (!pState.inString && pStream.match(/\"(\\\"|[^\"])*/, true, true)) { pState.inString = true; return "string"; } if (pState.inString) { if (pStream.match(/[^\"]*\"/, true, true)) pState.inString = false; else pStream.skipToEnd(); return "string"; } /* keywords & operators */ if (!!pConfig.keywords && pStream.match(wordRegexpBoundary(pConfig.keywords), true, true)) return "keyword"; if (pStream.match(wordRegexpBoundary(pConfig.options), true, true)) return "keyword"; if (pStream.match(wordRegexpBoundary(pConfig.arcsWords), true, true)) return "keyword"; if (pStream.match(wordRegexp(pConfig.arcsOthers), true, true)) return "keyword"; if (!!pConfig.operators && pStream.match(wordRegexp(pConfig.operators), true, true)) return "operator"; /* attribute lists */ if (!pConfig.inAttributeList && !!pConfig.attributes && pStream.match(/\[/, true, true)) { pConfig.inAttributeList = true; return "bracket"; } if (pConfig.inAttributeList) { if (pConfig.attributes !== null && pStream.match(wordRegexpBoundary(pConfig.attributes), true, true)) { return "attribute"; } if (pStream.match(/]/, true, true)) { pConfig.inAttributeList = false; return "bracket"; } } pStream.next(); return "base"; }; } }); wp-file-manager/lib/codemirror/mode/mscgen/mscgen_test.js000064400000006777151202472330017523 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "mscgen"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT("empty chart", "[keyword msc][bracket {]", "[base ]", "[bracket }]" ); MT("comments", "[comment // a single line comment]", "[comment # another single line comment /* and */ ignored here]", "[comment /* A multi-line comment even though it contains]", "[comment msc keywords and \"quoted text\"*/]"); MT("strings", "[string \"// a string\"]", "[string \"a string running over]", "[string two lines\"]", "[string \"with \\\"escaped quote\"]" ); MT("xù/ msgenny keywords classify as 'base'", "[base watermark]", "[base alt loop opt ref else break par seq assert]" ); MT("mscgen options classify as keyword", "[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]" ); MT("mscgen arcs classify as keyword", "[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]", "[keyword |||...---]", "[keyword ..--==::]", "[keyword ->]", "[keyword <-]", "[keyword <->]", "[keyword =>]", "[keyword <=]", "[keyword <=>]", "[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]", "[keyword >>]", "[keyword <<]", "[keyword <<>>]", "[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]", "[keyword :>]", "[keyword <:]", "[keyword <:>]" ); MT("within an attribute list, attributes classify as attribute", "[bracket [[][attribute label]", "[attribute id]","[attribute url]","[attribute idurl]", "[attribute linecolor]","[attribute linecolour]","[attribute textcolor]","[attribute textcolour]","[attribute textbgcolor]","[attribute textbgcolour]", "[attribute arclinecolor]","[attribute arclinecolour]","[attribute arctextcolor]","[attribute arctextcolour]","[attribute arctextbgcolor]","[attribute arctextbgcolour]", "[attribute arcskip][bracket ]]]" ); MT("outside an attribute list, attributes classify as base", "[base label]", "[base id]","[base url]","[base idurl]", "[base linecolor]","[base linecolour]","[base textcolor]","[base textcolour]","[base textbgcolor]","[base textbgcolour]", "[base arclinecolor]","[base arclinecolour]","[base arctextcolor]","[base arctextcolour]","[base arctextbgcolor]","[base arctextbgcolour]", "[base arcskip]" ); MT("a typical program", "[comment # typical mscgen program]", "[keyword msc][base ][bracket {]", "[keyword wordwraparcs][operator =][string \"true\"][base , ][keyword hscale][operator =][string \"0.8\"][keyword arcgradient][operator =][base 30;]", "[base a][bracket [[][attribute label][operator =][string \"Entity A\"][bracket ]]][base ,]", "[base b][bracket [[][attribute label][operator =][string \"Entity B\"][bracket ]]][base ,]", "[base c][bracket [[][attribute label][operator =][string \"Entity C\"][bracket ]]][base ;]", "[base a ][keyword =>>][base b][bracket [[][attribute label][operator =][string \"Hello entity B\"][bracket ]]][base ;]", "[base a ][keyword <<][base b][bracket [[][attribute label][operator =][string \"Here's an answer dude!\"][bracket ]]][base ;]", "[base c ][keyword :>][base *][bracket [[][attribute label][operator =][string \"What about me?\"][base , ][attribute textcolor][operator =][base red][bracket ]]][base ;]", "[bracket }]" ); })(); wp-file-manager/lib/codemirror/mode/mscgen/msgenny_test.js000064400000006031151202472330017706 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-msgenny"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "msgenny"); } MT("comments", "[comment // a single line comment]", "[comment # another single line comment /* and */ ignored here]", "[comment /* A multi-line comment even though it contains]", "[comment msc keywords and \"quoted text\"*/]"); MT("strings", "[string \"// a string\"]", "[string \"a string running over]", "[string two lines\"]", "[string \"with \\\"escaped quote\"]" ); MT("xù/ msgenny keywords classify as 'keyword'", "[keyword watermark]", "[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]" ); MT("mscgen options classify as keyword", "[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]" ); MT("mscgen arcs classify as keyword", "[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]", "[keyword |||...---]", "[keyword ..--==::]", "[keyword ->]", "[keyword <-]", "[keyword <->]", "[keyword =>]", "[keyword <=]", "[keyword <=>]", "[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]", "[keyword >>]", "[keyword <<]", "[keyword <<>>]", "[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]", "[keyword :>]", "[keyword <:]", "[keyword <:>]" ); MT("within an attribute list, mscgen/ xù attributes classify as base", "[base [[label]", "[base idurl id url]", "[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]", "[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]", "[base arcskip]]]" ); MT("outside an attribute list, mscgen/ xù attributes classify as base", "[base label]", "[base idurl id url]", "[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]", "[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]", "[base arcskip]" ); MT("a typical program", "[comment # typical msgenny program]", "[keyword wordwraparcs][operator =][string \"true\"][base , ][keyword hscale][operator =][string \"0.8\"][base , ][keyword arcgradient][operator =][base 30;]", "[base a : ][string \"Entity A\"][base ,]", "[base b : Entity B,]", "[base c : Entity C;]", "[base a ][keyword =>>][base b: ][string \"Hello entity B\"][base ;]", "[base a ][keyword alt][base c][bracket {]", "[base a ][keyword <<][base b: ][string \"Here's an answer dude!\"][base ;]", "[keyword ---][base : ][string \"sorry, won't march - comm glitch\"]", "[base a ][keyword x-][base b: ][string \"Here's an answer dude! (won't arrive...)\"][base ;]", "[bracket }]", "[base c ][keyword :>][base *: What about me?;]" ); })(); wp-file-manager/lib/codemirror/mode/mscgen/xu_test.js000064400000007150151202472330016665 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-xu"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "xu"); } MT("empty chart", "[keyword msc][bracket {]", "[base ]", "[bracket }]" ); MT("comments", "[comment // a single line comment]", "[comment # another single line comment /* and */ ignored here]", "[comment /* A multi-line comment even though it contains]", "[comment msc keywords and \"quoted text\"*/]"); MT("strings", "[string \"// a string\"]", "[string \"a string running over]", "[string two lines\"]", "[string \"with \\\"escaped quote\"]" ); MT("xù/ msgenny keywords classify as 'keyword'", "[keyword watermark]", "[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]" ); MT("mscgen options classify as keyword", "[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]" ); MT("mscgen arcs classify as keyword", "[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]", "[keyword |||...---]", "[keyword ..--==::]", "[keyword ->]", "[keyword <-]", "[keyword <->]", "[keyword =>]", "[keyword <=]", "[keyword <=>]", "[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]", "[keyword >>]", "[keyword <<]", "[keyword <<>>]", "[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]", "[keyword :>]", "[keyword <:]", "[keyword <:>]" ); MT("within an attribute list, attributes classify as attribute", "[bracket [[][attribute label]", "[attribute id]","[attribute url]","[attribute idurl]", "[attribute linecolor]","[attribute linecolour]","[attribute textcolor]","[attribute textcolour]","[attribute textbgcolor]","[attribute textbgcolour]", "[attribute arclinecolor]","[attribute arclinecolour]","[attribute arctextcolor]","[attribute arctextcolour]","[attribute arctextbgcolor]","[attribute arctextbgcolour]", "[attribute arcskip][bracket ]]]" ); MT("outside an attribute list, attributes classify as base", "[base label]", "[base id]","[base url]","[base idurl]", "[base linecolor]","[base linecolour]","[base textcolor]","[base textcolour]","[base textbgcolor]","[base textbgcolour]", "[base arclinecolor]","[base arclinecolour]","[base arctextcolor]","[base arctextcolour]","[base arctextbgcolor]","[base arctextbgcolour]", "[base arcskip]" ); MT("a typical program", "[comment # typical mscgen program]", "[keyword msc][base ][bracket {]", "[keyword wordwraparcs][operator =][string \"true\"][keyword hscale][operator =][string \"0.8\"][keyword arcgradient][operator =][base 30;]", "[base a][bracket [[][attribute label][operator =][string \"Entity A\"][bracket ]]][base ,]", "[base b][bracket [[][attribute label][operator =][string \"Entity B\"][bracket ]]][base ,]", "[base c][bracket [[][attribute label][operator =][string \"Entity C\"][bracket ]]][base ;]", "[base a ][keyword =>>][base b][bracket [[][attribute label][operator =][string \"Hello entity B\"][bracket ]]][base ;]", "[base a ][keyword <<][base b][bracket [[][attribute label][operator =][string \"Here's an answer dude!\"][bracket ]]][base ;]", "[base c ][keyword :>][base *][bracket [[][attribute label][operator =][string \"What about me?\"][base , ][attribute textcolor][operator =][base red][bracket ]]][base ;]", "[bracket }]" ); })(); wp-file-manager/lib/codemirror/mode/mumps/index.html000064400000005060151202472330016514 0ustar00 CodeMirror: MUMPS mode

        MUMPS mode

        wp-file-manager/lib/codemirror/mode/mumps/mumps.js000064400000012352151202472330016220 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /* This MUMPS Language script was constructed using vbscript.js as a template. */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("mumps", function() { function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b", "i"); } var singleOperators = new RegExp("^[\\+\\-\\*/&#!_?\\\\<>=\\'\\[\\]]"); var doubleOperators = new RegExp("^(('=)|(<=)|(>=)|('>)|('<)|([[)|(]])|(^$))"); var singleDelimiters = new RegExp("^[\\.,:]"); var brackets = new RegExp("[()]"); var identifiers = new RegExp("^[%A-Za-z][A-Za-z0-9]*"); var commandKeywords = ["break","close","do","else","for","goto", "halt", "hang", "if", "job","kill","lock","merge","new","open", "quit", "read", "set", "tcommit", "trollback", "tstart", "use", "view", "write", "xecute", "b","c","d","e","f","g", "h", "i", "j","k","l","m","n","o", "q", "r", "s", "tc", "tro", "ts", "u", "v", "w", "x"]; // The following list includes instrinsic functions _and_ special variables var intrinsicFuncsWords = ["\\$ascii", "\\$char", "\\$data", "\\$ecode", "\\$estack", "\\$etrap", "\\$extract", "\\$find", "\\$fnumber", "\\$get", "\\$horolog", "\\$io", "\\$increment", "\\$job", "\\$justify", "\\$length", "\\$name", "\\$next", "\\$order", "\\$piece", "\\$qlength", "\\$qsubscript", "\\$query", "\\$quit", "\\$random", "\\$reverse", "\\$select", "\\$stack", "\\$test", "\\$text", "\\$translate", "\\$view", "\\$x", "\\$y", "\\$a", "\\$c", "\\$d", "\\$e", "\\$ec", "\\$es", "\\$et", "\\$f", "\\$fn", "\\$g", "\\$h", "\\$i", "\\$j", "\\$l", "\\$n", "\\$na", "\\$o", "\\$p", "\\$q", "\\$ql", "\\$qs", "\\$r", "\\$re", "\\$s", "\\$st", "\\$t", "\\$tr", "\\$v", "\\$z"]; var intrinsicFuncs = wordRegexp(intrinsicFuncsWords); var command = wordRegexp(commandKeywords); function tokenBase(stream, state) { if (stream.sol()) { state.label = true; state.commandMode = 0; } // The character has meaning in MUMPS. Ignoring consecutive // spaces would interfere with interpreting whether the next non-space // character belongs to the command or argument context. // Examine each character and update a mode variable whose interpretation is: // >0 => command 0 => argument <0 => command post-conditional var ch = stream.peek(); if (ch == " " || ch == "\t") { // Pre-process state.label = false; if (state.commandMode == 0) state.commandMode = 1; else if ((state.commandMode < 0) || (state.commandMode == 2)) state.commandMode = 0; } else if ((ch != ".") && (state.commandMode > 0)) { if (ch == ":") state.commandMode = -1; // SIS - Command post-conditional else state.commandMode = 2; } // Do not color parameter list as line tag if ((ch === "(") || (ch === "\u0009")) state.label = false; // MUMPS comment starts with ";" if (ch === ";") { stream.skipToEnd(); return "comment"; } // Number Literals // SIS/RLM - MUMPS permits canonic number followed by concatenate operator if (stream.match(/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?/)) return "number"; // Handle Strings if (ch == '"') { if (stream.skipTo('"')) { stream.next(); return "string"; } else { stream.skipToEnd(); return "error"; } } // Handle operators and Delimiters if (stream.match(doubleOperators) || stream.match(singleOperators)) return "operator"; // Prevents leading "." in DO block from falling through to error if (stream.match(singleDelimiters)) return null; if (brackets.test(ch)) { stream.next(); return "bracket"; } if (state.commandMode > 0 && stream.match(command)) return "variable-2"; if (stream.match(intrinsicFuncs)) return "builtin"; if (stream.match(identifiers)) return "variable"; // Detect dollar-sign when not a documented intrinsic function // "^" may introduce a GVN or SSVN - Color same as function if (ch === "$" || ch === "^") { stream.next(); return "builtin"; } // MUMPS Indirection if (ch === "@") { stream.next(); return "string-2"; } if (/[\w%]/.test(ch)) { stream.eatWhile(/[\w%]/); return "variable"; } // Handle non-detected items stream.next(); return "error"; } return { startState: function() { return { label: false, commandMode: 0 }; }, token: function(stream, state) { var style = tokenBase(stream, state); if (state.label) return "tag"; return style; } }; }); CodeMirror.defineMIME("text/x-mumps", "mumps"); }); wp-file-manager/lib/codemirror/mode/nginx/index.html000064400000012167151202472330016504 0ustar00 CodeMirror: NGINX mode

        NGINX mode

        MIME types defined: text/nginx.

        wp-file-manager/lib/codemirror/mode/nginx/nginx.js000064400000023664151202472330016174 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("nginx", function(config) { function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var keywords = words( /* ngxDirectiveControl */ "break return rewrite set" + /* ngxDirective */ " accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23" ); var keywords_block = words( /* ngxDirectiveBlock */ "http mail events server types location upstream charset_map limit_except if geo map" ); var keywords_important = words( /* ngxDirectiveImportant */ "include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files" ); var indentUnit = config.indentUnit, type; function ret(style, tp) {type = tp; return style;} function tokenBase(stream, state) { stream.eatWhile(/[\w\$_]/); var cur = stream.current(); if (keywords.propertyIsEnumerable(cur)) { return "keyword"; } else if (keywords_block.propertyIsEnumerable(cur)) { return "variable-2"; } else if (keywords_important.propertyIsEnumerable(cur)) { return "string-2"; } /**/ var ch = stream.next(); if (ch == "@") {stream.eatWhile(/[\w\\\-]/); return ret("meta", stream.current());} else if (ch == "/" && stream.eat("*")) { state.tokenize = tokenCComment; return tokenCComment(stream, state); } else if (ch == "<" && stream.eat("!")) { state.tokenize = tokenSGMLComment; return tokenSGMLComment(stream, state); } else if (ch == "=") ret(null, "compare"); else if ((ch == "~" || ch == "|") && stream.eat("=")) return ret(null, "compare"); else if (ch == "\"" || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } else if (ch == "#") { stream.skipToEnd(); return ret("comment", "comment"); } else if (ch == "!") { stream.match(/^\s*\w*/); return ret("keyword", "important"); } else if (/\d/.test(ch)) { stream.eatWhile(/[\w.%]/); return ret("number", "unit"); } else if (/[,.+>*\/]/.test(ch)) { return ret(null, "select-op"); } else if (/[;{}:\[\]]/.test(ch)) { return ret(null, ch); } else { stream.eatWhile(/[\w\\\-]/); return ret("variable", "variable"); } } function tokenCComment(stream, state) { var maybeEnd = false, ch; while ((ch = stream.next()) != null) { if (maybeEnd && ch == "/") { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return ret("comment", "comment"); } function tokenSGMLComment(stream, state) { var dashes = 0, ch; while ((ch = stream.next()) != null) { if (dashes >= 2 && ch == ">") { state.tokenize = tokenBase; break; } dashes = (ch == "-") ? dashes + 1 : 0; } return ret("comment", "comment"); } function tokenString(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) break; escaped = !escaped && ch == "\\"; } if (!escaped) state.tokenize = tokenBase; return ret("string", "string"); }; } return { startState: function(base) { return {tokenize: tokenBase, baseIndent: base || 0, stack: []}; }, token: function(stream, state) { if (stream.eatSpace()) return null; type = null; var style = state.tokenize(stream, state); var context = state.stack[state.stack.length-1]; if (type == "hash" && context == "rule") style = "atom"; else if (style == "variable") { if (context == "rule") style = "number"; else if (!context || context == "@media{") style = "tag"; } if (context == "rule" && /^[\{\};]$/.test(type)) state.stack.pop(); if (type == "{") { if (context == "@media") state.stack[state.stack.length-1] = "@media{"; else state.stack.push("{"); } else if (type == "}") state.stack.pop(); else if (type == "@media") state.stack.push("@media"); else if (context == "{" && type != "comment") state.stack.push("rule"); return style; }, indent: function(state, textAfter) { var n = state.stack.length; if (/^\}/.test(textAfter)) n -= state.stack[state.stack.length-1] == "rule" ? 2 : 1; return state.baseIndent + n * indentUnit; }, electricChars: "}" }; }); CodeMirror.defineMIME("text/x-nginx-conf", "nginx"); }); wp-file-manager/lib/codemirror/mode/nsis/index.html000064400000003344151202472330016332 0ustar00 CodeMirror: NSIS mode

        NSIS mode

        MIME types defined: text/x-nsis.

        wp-file-manager/lib/codemirror/mode/nsis/nsis.js000064400000016720151202472330015651 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Author: Jan T. Sott (http://github.com/idleberg) (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../../addon/mode/simple")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../../addon/mode/simple"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineSimpleMode("nsis",{ start:[ // Numbers {regex: /(?:[+-]?)(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\d+.?\d*)/, token: "number"}, // Strings { regex: /"(?:[^\\"]|\\.)*"?/, token: "string" }, { regex: /'(?:[^\\']|\\.)*'?/, token: "string" }, { regex: /`(?:[^\\`]|\\.)*`?/, token: "string" }, // Compile Time Commands {regex: /(?:\!(include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|finalize|getdllversion|system|tempfile|warning|verbose|define|undef|insertmacro|makensis|searchparse|searchreplace))\b/, token: "keyword"}, // Conditional Compilation {regex: /(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/, token: "keyword", indent: true}, {regex: /(?:\!(else|endif|macroend))\b/, token: "keyword", dedent: true}, // Runtime Commands {regex: /\b(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|IntCmp|IntCmpU|IntFmt|IntOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetPluginUnload|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegStr|WriteUninstaller|XPStyle)\b/, token: "keyword"}, {regex: /\b(?:Function|PageEx|Section(?:Group)?)\b/, token: "keyword", indent: true}, {regex: /\b(?:(Function|PageEx|Section(?:Group)?)End)\b/, token: "keyword", dedent: true}, // Command Options {regex: /\b(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/, token: "atom"}, {regex: /\b(?:admin|all|auto|both|bottom|bzip2|components|current|custom|directory|force|hide|highest|ifdiff|ifnewer|instfiles|lastused|leave|left|license|listonly|lzma|nevershow|none|normal|notset|right|show|silent|silentlog|textonly|top|try|un\.components|un\.custom|un\.directory|un\.instfiles|un\.license|uninstConfirm|user|Win10|Win7|Win8|WinVista|zlib)\b/, token: "builtin"}, // LogicLib.nsh {regex: /\$\{(?:And(?:If(?:Not)?|Unless)|Break|Case(?:Else)?|Continue|Default|Do(?:Until|While)?|Else(?:If(?:Not)?|Unless)?|End(?:If|Select|Switch)|Exit(?:Do|For|While)|For(?:Each)?|If(?:Cmd|Not(?:Then)?|Then)?|Loop(?:Until|While)?|Or(?:If(?:Not)?|Unless)|Select|Switch|Unless|While)\}/, token: "variable-2", indent: true}, // FileFunc.nsh {regex: /\$\{(?:BannerTrimPath|DirState|DriveSpace|Get(BaseName|Drives|ExeName|ExePath|FileAttributes|FileExt|FileName|FileVersion|Options|OptionsS|Parameters|Parent|Root|Size|Time)|Locate|RefreshShellIcons)\}/, token: "variable-2", dedent: true}, // Memento.nsh {regex: /\$\{(?:Memento(?:Section(?:Done|End|Restore|Save)?|UnselectedSection))\}/, token: "variable-2", dedent: true}, // TextFunc.nsh {regex: /\$\{(?:Config(?:Read|ReadS|Write|WriteS)|File(?:Join|ReadFromEnd|Recode)|Line(?:Find|Read|Sum)|Text(?:Compare|CompareS)|TrimNewLines)\}/, token: "variable-2", dedent: true}, // WinVer.nsh {regex: /\$\{(?:(?:At(?:Least|Most)|Is)(?:ServicePack|Win(?:7|8|10|95|98|200(?:0|3|8(?:R2)?)|ME|NT4|Vista|XP))|Is(?:NT|Server))\}/, token: "variable", dedent: true}, // WordFunc.nsh {regex: /\$\{(?:StrFilterS?|Version(?:Compare|Convert)|Word(?:AddS?|Find(?:(?:2|3)X)?S?|InsertS?|ReplaceS?))\}/, token: "variable-2", dedent: true}, // x64.nsh {regex: /\$\{(?:RunningX64)\}/, token: "variable", dedent: true}, {regex: /\$\{(?:Disable|Enable)X64FSRedirection\}/, token: "variable-2", dedent: true}, // Line Comment {regex: /(#|;).*/, token: "comment"}, // Block Comment {regex: /\/\*/, token: "comment", next: "comment"}, // Operator {regex: /[-+\/*=<>!]+/, token: "operator"}, // Variable {regex: /\$[\w]+/, token: "variable"}, // Constant {regex: /\${[\w]+}/,token: "variable-2"}, // Language String {regex: /\$\([\w]+\)/,token: "variable-3"} ], comment: [ {regex: /.*?\*\//, token: "comment", next: "start"}, {regex: /.*/, token: "comment"} ], meta: { electricInput: /^\s*((Function|PageEx|Section|Section(Group)?)End|(\!(endif|macroend))|\$\{(End(If|Unless|While)|Loop(Until)|Next)\})$/, blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: ["#", ";"] } }); CodeMirror.defineMIME("text/x-nsis", "nsis"); }); wp-file-manager/lib/codemirror/mode/ntriples/index.html000064400000002515151202472330017215 0ustar00 CodeMirror: NTriples mode

        NTriples mode

        MIME types defined: text/n-triples.

        wp-file-manager/lib/codemirror/mode/ntriples/ntriples.js000064400000014763151202472330017426 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /********************************************************** * This script provides syntax highlighting support for * the Ntriples format. * Ntriples format specification: * http://www.w3.org/TR/rdf-testcases/#ntriples ***********************************************************/ /* The following expression defines the defined ASF grammar transitions. pre_subject -> { ( writing_subject_uri | writing_bnode_uri ) -> pre_predicate -> writing_predicate_uri -> pre_object -> writing_object_uri | writing_object_bnode | ( writing_object_literal -> writing_literal_lang | writing_literal_type ) -> post_object -> BEGIN } otherwise { -> ERROR } */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("ntriples", function() { var Location = { PRE_SUBJECT : 0, WRITING_SUB_URI : 1, WRITING_BNODE_URI : 2, PRE_PRED : 3, WRITING_PRED_URI : 4, PRE_OBJ : 5, WRITING_OBJ_URI : 6, WRITING_OBJ_BNODE : 7, WRITING_OBJ_LITERAL : 8, WRITING_LIT_LANG : 9, WRITING_LIT_TYPE : 10, POST_OBJ : 11, ERROR : 12 }; function transitState(currState, c) { var currLocation = currState.location; var ret; // Opening. if (currLocation == Location.PRE_SUBJECT && c == '<') ret = Location.WRITING_SUB_URI; else if(currLocation == Location.PRE_SUBJECT && c == '_') ret = Location.WRITING_BNODE_URI; else if(currLocation == Location.PRE_PRED && c == '<') ret = Location.WRITING_PRED_URI; else if(currLocation == Location.PRE_OBJ && c == '<') ret = Location.WRITING_OBJ_URI; else if(currLocation == Location.PRE_OBJ && c == '_') ret = Location.WRITING_OBJ_BNODE; else if(currLocation == Location.PRE_OBJ && c == '"') ret = Location.WRITING_OBJ_LITERAL; // Closing. else if(currLocation == Location.WRITING_SUB_URI && c == '>') ret = Location.PRE_PRED; else if(currLocation == Location.WRITING_BNODE_URI && c == ' ') ret = Location.PRE_PRED; else if(currLocation == Location.WRITING_PRED_URI && c == '>') ret = Location.PRE_OBJ; else if(currLocation == Location.WRITING_OBJ_URI && c == '>') ret = Location.POST_OBJ; else if(currLocation == Location.WRITING_OBJ_BNODE && c == ' ') ret = Location.POST_OBJ; else if(currLocation == Location.WRITING_OBJ_LITERAL && c == '"') ret = Location.POST_OBJ; else if(currLocation == Location.WRITING_LIT_LANG && c == ' ') ret = Location.POST_OBJ; else if(currLocation == Location.WRITING_LIT_TYPE && c == '>') ret = Location.POST_OBJ; // Closing typed and language literal. else if(currLocation == Location.WRITING_OBJ_LITERAL && c == '@') ret = Location.WRITING_LIT_LANG; else if(currLocation == Location.WRITING_OBJ_LITERAL && c == '^') ret = Location.WRITING_LIT_TYPE; // Spaces. else if( c == ' ' && ( currLocation == Location.PRE_SUBJECT || currLocation == Location.PRE_PRED || currLocation == Location.PRE_OBJ || currLocation == Location.POST_OBJ ) ) ret = currLocation; // Reset. else if(currLocation == Location.POST_OBJ && c == '.') ret = Location.PRE_SUBJECT; // Error else ret = Location.ERROR; currState.location=ret; } return { startState: function() { return { location : Location.PRE_SUBJECT, uris : [], anchors : [], bnodes : [], langs : [], types : [] }; }, token: function(stream, state) { var ch = stream.next(); if(ch == '<') { transitState(state, ch); var parsedURI = ''; stream.eatWhile( function(c) { if( c != '#' && c != '>' ) { parsedURI += c; return true; } return false;} ); state.uris.push(parsedURI); if( stream.match('#', false) ) return 'variable'; stream.next(); transitState(state, '>'); return 'variable'; } if(ch == '#') { var parsedAnchor = ''; stream.eatWhile(function(c) { if(c != '>' && c != ' ') { parsedAnchor+= c; return true; } return false;}); state.anchors.push(parsedAnchor); return 'variable-2'; } if(ch == '>') { transitState(state, '>'); return 'variable'; } if(ch == '_') { transitState(state, ch); var parsedBNode = ''; stream.eatWhile(function(c) { if( c != ' ' ) { parsedBNode += c; return true; } return false;}); state.bnodes.push(parsedBNode); stream.next(); transitState(state, ' '); return 'builtin'; } if(ch == '"') { transitState(state, ch); stream.eatWhile( function(c) { return c != '"'; } ); stream.next(); if( stream.peek() != '@' && stream.peek() != '^' ) { transitState(state, '"'); } return 'string'; } if( ch == '@' ) { transitState(state, '@'); var parsedLang = ''; stream.eatWhile(function(c) { if( c != ' ' ) { parsedLang += c; return true; } return false;}); state.langs.push(parsedLang); stream.next(); transitState(state, ' '); return 'string-2'; } if( ch == '^' ) { stream.next(); transitState(state, '^'); var parsedType = ''; stream.eatWhile(function(c) { if( c != '>' ) { parsedType += c; return true; } return false;} ); state.types.push(parsedType); stream.next(); transitState(state, '>'); return 'variable'; } if( ch == ' ' ) { transitState(state, ch); } if( ch == '.' ) { transitState(state, ch); } } }; }); CodeMirror.defineMIME("text/n-triples", "ntriples"); }); wp-file-manager/lib/codemirror/mode/octave/index.html000064400000003415151202472330016636 0ustar00 CodeMirror: Octave mode

        Octave mode

        MIME types defined: text/x-octave.

        wp-file-manager/lib/codemirror/mode/octave/octave.js000064400000010557151202472330016465 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("octave", function() { function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b"); } var singleOperators = new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"); var singleDelimiters = new RegExp('^[\\(\\[\\{\\},:=;]'); var doubleOperators = new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"); var doubleDelimiters = new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"); var tripleDelimiters = new RegExp("^((>>=)|(<<=))"); var expressionEnd = new RegExp("^[\\]\\)]"); var identifiers = new RegExp("^[_A-Za-z\xa1-\uffff][_A-Za-z0-9\xa1-\uffff]*"); var builtins = wordRegexp([ 'error', 'eval', 'function', 'abs', 'acos', 'atan', 'asin', 'cos', 'cosh', 'exp', 'log', 'prod', 'sum', 'log10', 'max', 'min', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'reshape', 'break', 'zeros', 'default', 'margin', 'round', 'ones', 'rand', 'syn', 'ceil', 'floor', 'size', 'clear', 'zeros', 'eye', 'mean', 'std', 'cov', 'det', 'eig', 'inv', 'norm', 'rank', 'trace', 'expm', 'logm', 'sqrtm', 'linspace', 'plot', 'title', 'xlabel', 'ylabel', 'legend', 'text', 'grid', 'meshgrid', 'mesh', 'num2str', 'fft', 'ifft', 'arrayfun', 'cellfun', 'input', 'fliplr', 'flipud', 'ismember' ]); var keywords = wordRegexp([ 'return', 'case', 'switch', 'else', 'elseif', 'end', 'endif', 'endfunction', 'if', 'otherwise', 'do', 'for', 'while', 'try', 'catch', 'classdef', 'properties', 'events', 'methods', 'global', 'persistent', 'endfor', 'endwhile', 'printf', 'sprintf', 'disp', 'until', 'continue', 'pkg' ]); // tokenizers function tokenTranspose(stream, state) { if (!stream.sol() && stream.peek() === '\'') { stream.next(); state.tokenize = tokenBase; return 'operator'; } state.tokenize = tokenBase; return tokenBase(stream, state); } function tokenComment(stream, state) { if (stream.match(/^.*%}/)) { state.tokenize = tokenBase; return 'comment'; }; stream.skipToEnd(); return 'comment'; } function tokenBase(stream, state) { // whitespaces if (stream.eatSpace()) return null; // Handle one line Comments if (stream.match('%{')){ state.tokenize = tokenComment; stream.skipToEnd(); return 'comment'; } if (stream.match(/^[%#]/)){ stream.skipToEnd(); return 'comment'; } // Handle Number Literals if (stream.match(/^[0-9\.+-]/, false)) { if (stream.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/)) { stream.tokenize = tokenBase; return 'number'; }; if (stream.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/)) { return 'number'; }; if (stream.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/)) { return 'number'; }; } if (stream.match(wordRegexp(['nan','NaN','inf','Inf']))) { return 'number'; }; // Handle Strings if (stream.match(/^"([^"]|(""))*"/)) { return 'string'; } ; if (stream.match(/^'([^']|(''))*'/)) { return 'string'; } ; // Handle words if (stream.match(keywords)) { return 'keyword'; } ; if (stream.match(builtins)) { return 'builtin'; } ; if (stream.match(identifiers)) { return 'variable'; } ; if (stream.match(singleOperators) || stream.match(doubleOperators)) { return 'operator'; }; if (stream.match(singleDelimiters) || stream.match(doubleDelimiters) || stream.match(tripleDelimiters)) { return null; }; if (stream.match(expressionEnd)) { state.tokenize = tokenTranspose; return null; }; // Handle non-detected items stream.next(); return 'error'; }; return { startState: function() { return { tokenize: tokenBase }; }, token: function(stream, state) { var style = state.tokenize(stream, state); if (style === 'number' || style === 'variable'){ state.tokenize = tokenTranspose; } return style; } }; }); CodeMirror.defineMIME("text/x-octave", "octave"); }); wp-file-manager/lib/codemirror/mode/oz/index.html000064400000002555151202472330016011 0ustar00 CodeMirror: Oz mode

        Oz mode

        MIME type defined: text/x-oz.

        wp-file-manager/lib/codemirror/mode/oz/oz.js000064400000015002151202472330014771 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("oz", function (conf) { function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b"); } var singleOperators = /[\^@!\|<>#~\.\*\-\+\\/,=]/; var doubleOperators = /(<-)|(:=)|(=<)|(>=)|(<=)|(<:)|(>:)|(=:)|(\\=)|(\\=:)|(!!)|(==)|(::)/; var tripleOperators = /(:::)|(\.\.\.)|(=<:)|(>=:)/; var middle = ["in", "then", "else", "of", "elseof", "elsecase", "elseif", "catch", "finally", "with", "require", "prepare", "import", "export", "define", "do"]; var end = ["end"]; var atoms = wordRegexp(["true", "false", "nil", "unit"]); var commonKeywords = wordRegexp(["andthen", "at", "attr", "declare", "feat", "from", "lex", "mod", "mode", "orelse", "parser", "prod", "prop", "scanner", "self", "syn", "token"]); var openingKeywords = wordRegexp(["local", "proc", "fun", "case", "class", "if", "cond", "or", "dis", "choice", "not", "thread", "try", "raise", "lock", "for", "suchthat", "meth", "functor"]); var middleKeywords = wordRegexp(middle); var endKeywords = wordRegexp(end); // Tokenizers function tokenBase(stream, state) { if (stream.eatSpace()) { return null; } // Brackets if(stream.match(/[{}]/)) { return "bracket"; } // Special [] keyword if (stream.match(/(\[])/)) { return "keyword" } // Operators if (stream.match(tripleOperators) || stream.match(doubleOperators)) { return "operator"; } // Atoms if(stream.match(atoms)) { return 'atom'; } // Opening keywords var matched = stream.match(openingKeywords); if (matched) { if (!state.doInCurrentLine) state.currentIndent++; else state.doInCurrentLine = false; // Special matching for signatures if(matched[0] == "proc" || matched[0] == "fun") state.tokenize = tokenFunProc; else if(matched[0] == "class") state.tokenize = tokenClass; else if(matched[0] == "meth") state.tokenize = tokenMeth; return 'keyword'; } // Middle and other keywords if (stream.match(middleKeywords) || stream.match(commonKeywords)) { return "keyword" } // End keywords if (stream.match(endKeywords)) { state.currentIndent--; return 'keyword'; } // Eat the next char for next comparisons var ch = stream.next(); // Strings if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } // Numbers if (/[~\d]/.test(ch)) { if (ch == "~") { if(! /^[0-9]/.test(stream.peek())) return null; else if (( stream.next() == "0" && stream.match(/^[xX][0-9a-fA-F]+/)) || stream.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)) return "number"; } if ((ch == "0" && stream.match(/^[xX][0-9a-fA-F]+/)) || stream.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)) return "number"; return null; } // Comments if (ch == "%") { stream.skipToEnd(); return 'comment'; } else if (ch == "/") { if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } } // Single operators if(singleOperators.test(ch)) { return "operator"; } // If nothing match, we skip the entire alphanumerical block stream.eatWhile(/\w/); return "variable"; } function tokenClass(stream, state) { if (stream.eatSpace()) { return null; } stream.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/); state.tokenize = tokenBase; return "variable-3" } function tokenMeth(stream, state) { if (stream.eatSpace()) { return null; } stream.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/); state.tokenize = tokenBase; return "def" } function tokenFunProc(stream, state) { if (stream.eatSpace()) { return null; } if(!state.hasPassedFirstStage && stream.eat("{")) { state.hasPassedFirstStage = true; return "bracket"; } else if(state.hasPassedFirstStage) { stream.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/); state.hasPassedFirstStage = false; state.tokenize = tokenBase; return "def" } else { state.tokenize = tokenBase; return null; } } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function tokenString(quote) { return function (stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) { end = true; break; } escaped = !escaped && next == "\\"; } if (end || !escaped) state.tokenize = tokenBase; return "string"; }; } function buildElectricInputRegEx() { // Reindentation should occur on [] or on a match of any of // the block closing keywords, at the end of a line. var allClosings = middle.concat(end); return new RegExp("[\\[\\]]|(" + allClosings.join("|") + ")$"); } return { startState: function () { return { tokenize: tokenBase, currentIndent: 0, doInCurrentLine: false, hasPassedFirstStage: false }; }, token: function (stream, state) { if (stream.sol()) state.doInCurrentLine = 0; return state.tokenize(stream, state); }, indent: function (state, textAfter) { var trueText = textAfter.replace(/^\s+|\s+$/g, ''); if (trueText.match(endKeywords) || trueText.match(middleKeywords) || trueText.match(/(\[])/)) return conf.indentUnit * (state.currentIndent - 1); if (state.currentIndent < 0) return 0; return state.currentIndent * conf.indentUnit; }, fold: "indent", electricInput: buildElectricInputRegEx(), lineComment: "%", blockCommentStart: "/*", blockCommentEnd: "*/" }; }); CodeMirror.defineMIME("text/x-oz", "oz"); }); wp-file-manager/lib/codemirror/mode/pascal/index.html000064400000002640151202472330016617 0ustar00 CodeMirror: Pascal mode

        Pascal mode

        MIME types defined: text/x-pascal.

        wp-file-manager/lib/codemirror/mode/pascal/pascal.js000064400000005757151202472330016437 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("pascal", function() { function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var keywords = words("and array begin case const div do downto else end file for forward integer " + "boolean char function goto if in label mod nil not of or packed procedure " + "program record repeat set string then to type until var while with"); var atoms = {"null": true}; var isOperatorChar = /[+\-*&%=<>!?|\/]/; function tokenBase(stream, state) { var ch = stream.next(); if (ch == "#" && state.startOfLine) { stream.skipToEnd(); return "meta"; } if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (ch == "(" && stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (/[\[\]{}\(\),;\:\.]/.test(ch)) { return null; } if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } if (ch == "/") { if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\$_]/); var cur = stream.current(); if (keywords.propertyIsEnumerable(cur)) return "keyword"; if (atoms.propertyIsEnumerable(cur)) return "atom"; return "variable"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) {end = true; break;} escaped = !escaped && next == "\\"; } if (end || !escaped) state.tokenize = null; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == ")" && maybeEnd) { state.tokenize = null; break; } maybeEnd = (ch == "*"); } return "comment"; } // Interface return { startState: function() { return {tokenize: null}; }, token: function(stream, state) { if (stream.eatSpace()) return null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment" || style == "meta") return style; return style; }, electricChars: "{}" }; }); CodeMirror.defineMIME("text/x-pascal", "pascal"); }); wp-file-manager/lib/codemirror/mode/pegjs/index.html000064400000003542151202472330016466 0ustar00 CodeMirror: PEG.js Mode

        PEG.js Mode

        The PEG.js Mode

        Created by Forbes Lindesay.

        wp-file-manager/lib/codemirror/mode/pegjs/pegjs.js000064400000006771151202472330016146 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../javascript/javascript")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../javascript/javascript"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("pegjs", function (config) { var jsMode = CodeMirror.getMode(config, "javascript"); function identifier(stream) { return stream.match(/^[a-zA-Z_][a-zA-Z0-9_]*/); } return { startState: function () { return { inString: false, stringType: null, inComment: false, inCharacterClass: false, braced: 0, lhs: true, localState: null }; }, token: function (stream, state) { if (stream) //check for state changes if (!state.inString && !state.inComment && ((stream.peek() == '"') || (stream.peek() == "'"))) { state.stringType = stream.peek(); stream.next(); // Skip quote state.inString = true; // Update state } if (!state.inString && !state.inComment && stream.match(/^\/\*/)) { state.inComment = true; } //return state if (state.inString) { while (state.inString && !stream.eol()) { if (stream.peek() === state.stringType) { stream.next(); // Skip quote state.inString = false; // Clear flag } else if (stream.peek() === '\\') { stream.next(); stream.next(); } else { stream.match(/^.[^\\\"\']*/); } } return state.lhs ? "property string" : "string"; // Token style } else if (state.inComment) { while (state.inComment && !stream.eol()) { if (stream.match(/\*\//)) { state.inComment = false; // Clear flag } else { stream.match(/^.[^\*]*/); } } return "comment"; } else if (state.inCharacterClass) { while (state.inCharacterClass && !stream.eol()) { if (!(stream.match(/^[^\]\\]+/) || stream.match(/^\\./))) { state.inCharacterClass = false; } } } else if (stream.peek() === '[') { stream.next(); state.inCharacterClass = true; return 'bracket'; } else if (stream.match(/^\/\//)) { stream.skipToEnd(); return "comment"; } else if (state.braced || stream.peek() === '{') { if (state.localState === null) { state.localState = CodeMirror.startState(jsMode); } var token = jsMode.token(stream, state.localState); var text = stream.current(); if (!token) { for (var i = 0; i < text.length; i++) { if (text[i] === '{') { state.braced++; } else if (text[i] === '}') { state.braced--; } }; } return token; } else if (identifier(stream)) { if (stream.peek() === ':') { return 'variable'; } return 'variable-2'; } else if (['[', ']', '(', ')'].indexOf(stream.peek()) != -1) { stream.next(); return 'bracket'; } else if (!stream.eatSpace()) { stream.next(); } return null; } }; }, "javascript"); }); wp-file-manager/lib/codemirror/mode/perl/index.html000064400000003013151202472330016311 0ustar00 CodeMirror: Perl mode

        Perl mode

        MIME types defined: text/x-perl.

        wp-file-manager/lib/codemirror/mode/perl/perl.js000064400000155521151202472330015630 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // CodeMirror2 mode/perl/perl.js (text/x-perl) beta 0.10 (2011-11-08) // This is a part of CodeMirror from https://github.com/sabaca/CodeMirror_mode_perl (mail@sabaca.com) (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("perl",function(){ // http://perldoc.perl.org var PERL={ // null - magic touch // 1 - keyword // 2 - def // 3 - atom // 4 - operator // 5 - variable-2 (predefined) // [x,y] - x=1,2,3; y=must be defined if x{...} // PERL operators '->' : 4, '++' : 4, '--' : 4, '**' : 4, // ! ~ \ and unary + and - '=~' : 4, '!~' : 4, '*' : 4, '/' : 4, '%' : 4, 'x' : 4, '+' : 4, '-' : 4, '.' : 4, '<<' : 4, '>>' : 4, // named unary operators '<' : 4, '>' : 4, '<=' : 4, '>=' : 4, 'lt' : 4, 'gt' : 4, 'le' : 4, 'ge' : 4, '==' : 4, '!=' : 4, '<=>' : 4, 'eq' : 4, 'ne' : 4, 'cmp' : 4, '~~' : 4, '&' : 4, '|' : 4, '^' : 4, '&&' : 4, '||' : 4, '//' : 4, '..' : 4, '...' : 4, '?' : 4, ':' : 4, '=' : 4, '+=' : 4, '-=' : 4, '*=' : 4, // etc. ??? ',' : 4, '=>' : 4, '::' : 4, // list operators (rightward) 'not' : 4, 'and' : 4, 'or' : 4, 'xor' : 4, // PERL predefined variables (I know, what this is a paranoid idea, but may be needed for people, who learn PERL, and for me as well, ...and may be for you?;) 'BEGIN' : [5,1], 'END' : [5,1], 'PRINT' : [5,1], 'PRINTF' : [5,1], 'GETC' : [5,1], 'READ' : [5,1], 'READLINE' : [5,1], 'DESTROY' : [5,1], 'TIE' : [5,1], 'TIEHANDLE' : [5,1], 'UNTIE' : [5,1], 'STDIN' : 5, 'STDIN_TOP' : 5, 'STDOUT' : 5, 'STDOUT_TOP' : 5, 'STDERR' : 5, 'STDERR_TOP' : 5, '$ARG' : 5, '$_' : 5, '@ARG' : 5, '@_' : 5, '$LIST_SEPARATOR' : 5, '$"' : 5, '$PROCESS_ID' : 5, '$PID' : 5, '$$' : 5, '$REAL_GROUP_ID' : 5, '$GID' : 5, 'jQuery(' : 5, '$EFFECTIVE_GROUP_ID' : 5, '$EGID' : 5, '$)' : 5, '$PROGRAM_NAME' : 5, '$0' : 5, '$SUBSCRIPT_SEPARATOR' : 5, '$SUBSEP' : 5, '$;' : 5, '$REAL_USER_ID' : 5, '$UID' : 5, '$<' : 5, '$EFFECTIVE_USER_ID' : 5, '$EUID' : 5, '$>' : 5, '$a' : 5, '$b' : 5, '$COMPILING' : 5, '$^C' : 5, '$DEBUGGING' : 5, '$^D' : 5, '${^ENCODING}' : 5, '$ENV' : 5, '%ENV' : 5, '$SYSTEM_FD_MAX' : 5, '$^F' : 5, '@F' : 5, '${^GLOBAL_PHASE}' : 5, '$^H' : 5, '%^H' : 5, '@INC' : 5, '%INC' : 5, '$INPLACE_EDIT' : 5, '$^I' : 5, '$^M' : 5, '$OSNAME' : 5, '$^O' : 5, '${^OPEN}' : 5, '$PERLDB' : 5, '$^P' : 5, '$SIG' : 5, '%SIG' : 5, '$BASETIME' : 5, '$^T' : 5, '${^TAINT}' : 5, '${^UNICODE}' : 5, '${^UTF8CACHE}' : 5, '${^UTF8LOCALE}' : 5, '$PERL_VERSION' : 5, '$^V' : 5, '${^WIN32_SLOPPY_STAT}' : 5, '$EXECUTABLE_NAME' : 5, '$^X' : 5, '$1' : 5, // - regexp $1, $2... '$MATCH' : 5, '$&' : 5, '${^MATCH}' : 5, '$PREMATCH' : 5, '$`' : 5, '${^PREMATCH}' : 5, '$POSTMATCH' : 5, "$'" : 5, '${^POSTMATCH}' : 5, '$LAST_PAREN_MATCH' : 5, '$+' : 5, '$LAST_SUBMATCH_RESULT' : 5, '$^N' : 5, '@LAST_MATCH_END' : 5, '@+' : 5, '%LAST_PAREN_MATCH' : 5, '%+' : 5, '@LAST_MATCH_START' : 5, '@-' : 5, '%LAST_MATCH_START' : 5, '%-' : 5, '$LAST_REGEXP_CODE_RESULT' : 5, '$^R' : 5, '${^RE_DEBUG_FLAGS}' : 5, '${^RE_TRIE_MAXBUF}' : 5, '$ARGV' : 5, '@ARGV' : 5, 'ARGV' : 5, 'ARGVOUT' : 5, '$OUTPUT_FIELD_SEPARATOR' : 5, '$OFS' : 5, '$,' : 5, '$INPUT_LINE_NUMBER' : 5, '$NR' : 5, 'jQuery.' : 5, '$INPUT_RECORD_SEPARATOR' : 5, '$RS' : 5, '$/' : 5, '$OUTPUT_RECORD_SEPARATOR' : 5, '$ORS' : 5, '$\\' : 5, '$OUTPUT_AUTOFLUSH' : 5, '$|' : 5, '$ACCUMULATOR' : 5, '$^A' : 5, '$FORMAT_FORMFEED' : 5, '$^L' : 5, '$FORMAT_PAGE_NUMBER' : 5, '$%' : 5, '$FORMAT_LINES_LEFT' : 5, '$-' : 5, '$FORMAT_LINE_BREAK_CHARACTERS' : 5, '$:' : 5, '$FORMAT_LINES_PER_PAGE' : 5, '$=' : 5, '$FORMAT_TOP_NAME' : 5, '$^' : 5, '$FORMAT_NAME' : 5, '$~' : 5, '${^CHILD_ERROR_NATIVE}' : 5, '$EXTENDED_OS_ERROR' : 5, '$^E' : 5, '$EXCEPTIONS_BEING_CAUGHT' : 5, '$^S' : 5, '$WARNING' : 5, '$^W' : 5, '${^WARNING_BITS}' : 5, '$OS_ERROR' : 5, '$ERRNO' : 5, '$!' : 5, '%OS_ERROR' : 5, '%ERRNO' : 5, '%!' : 5, '$CHILD_ERROR' : 5, '$?' : 5, '$EVAL_ERROR' : 5, '$@' : 5, '$OFMT' : 5, '$#' : 5, '$*' : 5, '$ARRAY_BASE' : 5, '$[' : 5, '$OLD_PERL_VERSION' : 5, '$]' : 5, // PERL blocks 'if' :[1,1], elsif :[1,1], 'else' :[1,1], 'while' :[1,1], unless :[1,1], 'for' :[1,1], foreach :[1,1], // PERL functions 'abs' :1, // - absolute value function accept :1, // - accept an incoming socket connect alarm :1, // - schedule a SIGALRM 'atan2' :1, // - arctangent of Y/X in the range -PI to PI bind :1, // - binds an address to a socket binmode :1, // - prepare binary files for I/O bless :1, // - create an object bootstrap :1, // 'break' :1, // - break out of a "given" block caller :1, // - get context of the current subroutine call chdir :1, // - change your current working directory chmod :1, // - changes the permissions on a list of files chomp :1, // - remove a trailing record separator from a string chop :1, // - remove the last character from a string chown :1, // - change the ownership on a list of files chr :1, // - get character this number represents chroot :1, // - make directory new root for path lookups close :1, // - close file (or pipe or socket) handle closedir :1, // - close directory handle connect :1, // - connect to a remote socket 'continue' :[1,1], // - optional trailing block in a while or foreach 'cos' :1, // - cosine function crypt :1, // - one-way passwd-style encryption dbmclose :1, // - breaks binding on a tied dbm file dbmopen :1, // - create binding on a tied dbm file 'default' :1, // defined :1, // - test whether a value, variable, or function is defined 'delete' :1, // - deletes a value from a hash die :1, // - raise an exception or bail out 'do' :1, // - turn a BLOCK into a TERM dump :1, // - create an immediate core dump each :1, // - retrieve the next key/value pair from a hash endgrent :1, // - be done using group file endhostent :1, // - be done using hosts file endnetent :1, // - be done using networks file endprotoent :1, // - be done using protocols file endpwent :1, // - be done using passwd file endservent :1, // - be done using services file eof :1, // - test a filehandle for its end 'eval' :1, // - catch exceptions or compile and run code 'exec' :1, // - abandon this program to run another exists :1, // - test whether a hash key is present exit :1, // - terminate this program 'exp' :1, // - raise I to a power fcntl :1, // - file control system call fileno :1, // - return file descriptor from filehandle flock :1, // - lock an entire file with an advisory lock fork :1, // - create a new process just like this one format :1, // - declare a picture format with use by the write() function formline :1, // - internal function used for formats getc :1, // - get the next character from the filehandle getgrent :1, // - get next group record getgrgid :1, // - get group record given group user ID getgrnam :1, // - get group record given group name gethostbyaddr :1, // - get host record given its address gethostbyname :1, // - get host record given name gethostent :1, // - get next hosts record getlogin :1, // - return who logged in at this tty getnetbyaddr :1, // - get network record given its address getnetbyname :1, // - get networks record given name getnetent :1, // - get next networks record getpeername :1, // - find the other end of a socket connection getpgrp :1, // - get process group getppid :1, // - get parent process ID getpriority :1, // - get current nice value getprotobyname :1, // - get protocol record given name getprotobynumber :1, // - get protocol record numeric protocol getprotoent :1, // - get next protocols record getpwent :1, // - get next passwd record getpwnam :1, // - get passwd record given user login name getpwuid :1, // - get passwd record given user ID getservbyname :1, // - get services record given its name getservbyport :1, // - get services record given numeric port getservent :1, // - get next services record getsockname :1, // - retrieve the sockaddr for a given socket getsockopt :1, // - get socket options on a given socket given :1, // glob :1, // - expand filenames using wildcards gmtime :1, // - convert UNIX time into record or string using Greenwich time 'goto' :1, // - create spaghetti code grep :1, // - locate elements in a list test true against a given criterion hex :1, // - convert a string to a hexadecimal number 'import' :1, // - patch a module's namespace into your own index :1, // - find a substring within a string 'int' :1, // - get the integer portion of a number ioctl :1, // - system-dependent device control system call 'join' :1, // - join a list into a string using a separator keys :1, // - retrieve list of indices from a hash kill :1, // - send a signal to a process or process group last :1, // - exit a block prematurely lc :1, // - return lower-case version of a string lcfirst :1, // - return a string with just the next letter in lower case length :1, // - return the number of bytes in a string 'link' :1, // - create a hard link in the filesytem listen :1, // - register your socket as a server local : 2, // - create a temporary value for a global variable (dynamic scoping) localtime :1, // - convert UNIX time into record or string using local time lock :1, // - get a thread lock on a variable, subroutine, or method 'log' :1, // - retrieve the natural logarithm for a number lstat :1, // - stat a symbolic link m :null, // - match a string with a regular expression pattern map :1, // - apply a change to a list to get back a new list with the changes mkdir :1, // - create a directory msgctl :1, // - SysV IPC message control operations msgget :1, // - get SysV IPC message queue msgrcv :1, // - receive a SysV IPC message from a message queue msgsnd :1, // - send a SysV IPC message to a message queue my : 2, // - declare and assign a local variable (lexical scoping) 'new' :1, // next :1, // - iterate a block prematurely no :1, // - unimport some module symbols or semantics at compile time oct :1, // - convert a string to an octal number open :1, // - open a file, pipe, or descriptor opendir :1, // - open a directory ord :1, // - find a character's numeric representation our : 2, // - declare and assign a package variable (lexical scoping) pack :1, // - convert a list into a binary representation 'package' :1, // - declare a separate global namespace pipe :1, // - open a pair of connected filehandles pop :1, // - remove the last element from an array and return it pos :1, // - find or set the offset for the last/next m//g search print :1, // - output a list to a filehandle printf :1, // - output a formatted list to a filehandle prototype :1, // - get the prototype (if any) of a subroutine push :1, // - append one or more elements to an array q :null, // - singly quote a string qq :null, // - doubly quote a string qr :null, // - Compile pattern quotemeta :null, // - quote regular expression magic characters qw :null, // - quote a list of words qx :null, // - backquote quote a string rand :1, // - retrieve the next pseudorandom number read :1, // - fixed-length buffered input from a filehandle readdir :1, // - get a directory from a directory handle readline :1, // - fetch a record from a file readlink :1, // - determine where a symbolic link is pointing readpipe :1, // - execute a system command and collect standard output recv :1, // - receive a message over a Socket redo :1, // - start this loop iteration over again ref :1, // - find out the type of thing being referenced rename :1, // - change a filename require :1, // - load in external functions from a library at runtime reset :1, // - clear all variables of a given name 'return' :1, // - get out of a function early reverse :1, // - flip a string or a list rewinddir :1, // - reset directory handle rindex :1, // - right-to-left substring search rmdir :1, // - remove a directory s :null, // - replace a pattern with a string say :1, // - print with newline scalar :1, // - force a scalar context seek :1, // - reposition file pointer for random-access I/O seekdir :1, // - reposition directory pointer select :1, // - reset default output or do I/O multiplexing semctl :1, // - SysV semaphore control operations semget :1, // - get set of SysV semaphores semop :1, // - SysV semaphore operations send :1, // - send a message over a socket setgrent :1, // - prepare group file for use sethostent :1, // - prepare hosts file for use setnetent :1, // - prepare networks file for use setpgrp :1, // - set the process group of a process setpriority :1, // - set a process's nice value setprotoent :1, // - prepare protocols file for use setpwent :1, // - prepare passwd file for use setservent :1, // - prepare services file for use setsockopt :1, // - set some socket options shift :1, // - remove the first element of an array, and return it shmctl :1, // - SysV shared memory operations shmget :1, // - get SysV shared memory segment identifier shmread :1, // - read SysV shared memory shmwrite :1, // - write SysV shared memory shutdown :1, // - close down just half of a socket connection 'sin' :1, // - return the sine of a number sleep :1, // - block for some number of seconds socket :1, // - create a socket socketpair :1, // - create a pair of sockets 'sort' :1, // - sort a list of values splice :1, // - add or remove elements anywhere in an array 'split' :1, // - split up a string using a regexp delimiter sprintf :1, // - formatted print into a string 'sqrt' :1, // - square root function srand :1, // - seed the random number generator stat :1, // - get a file's status information state :1, // - declare and assign a state variable (persistent lexical scoping) study :1, // - optimize input data for repeated searches 'sub' :1, // - declare a subroutine, possibly anonymously 'substr' :1, // - get or alter a portion of a stirng symlink :1, // - create a symbolic link to a file syscall :1, // - execute an arbitrary system call sysopen :1, // - open a file, pipe, or descriptor sysread :1, // - fixed-length unbuffered input from a filehandle sysseek :1, // - position I/O pointer on handle used with sysread and syswrite system :1, // - run a separate program syswrite :1, // - fixed-length unbuffered output to a filehandle tell :1, // - get current seekpointer on a filehandle telldir :1, // - get current seekpointer on a directory handle tie :1, // - bind a variable to an object class tied :1, // - get a reference to the object underlying a tied variable time :1, // - return number of seconds since 1970 times :1, // - return elapsed time for self and child processes tr :null, // - transliterate a string truncate :1, // - shorten a file uc :1, // - return upper-case version of a string ucfirst :1, // - return a string with just the next letter in upper case umask :1, // - set file creation mode mask undef :1, // - remove a variable or function definition unlink :1, // - remove one link to a file unpack :1, // - convert binary structure into normal perl variables unshift :1, // - prepend more elements to the beginning of a list untie :1, // - break a tie binding to a variable use :1, // - load in a module at compile time utime :1, // - set a file's last access and modify times values :1, // - return a list of the values in a hash vec :1, // - test or set particular bits in a string wait :1, // - wait for any child process to die waitpid :1, // - wait for a particular child process to die wantarray :1, // - get void vs scalar vs list context of current subroutine call warn :1, // - print debugging info when :1, // write :1, // - print a picture record y :null}; // - transliterate a string var RXstyle="string-2"; var RXmodifiers=/[goseximacplud]/; // NOTE: "m", "s", "y" and "tr" need to correct real modifiers for each regexp type function tokenChain(stream,state,chain,style,tail){ // NOTE: chain.length > 2 is not working now (it's for s[...][...]geos;) state.chain=null; // 12 3tail state.style=null; state.tail=null; state.tokenize=function(stream,state){ var e=false,c,i=0; while(c=stream.next()){ if(c===chain[i]&&!e){ if(chain[++i]!==undefined){ state.chain=chain[i]; state.style=style; state.tail=tail;} else if(tail) stream.eatWhile(tail); state.tokenize=tokenPerl; return style;} e=!e&&c=="\\";} return style;}; return state.tokenize(stream,state);} function tokenSOMETHING(stream,state,string){ state.tokenize=function(stream,state){ if(stream.string==string) state.tokenize=tokenPerl; stream.skipToEnd(); return "string";}; return state.tokenize(stream,state);} function tokenPerl(stream,state){ if(stream.eatSpace()) return null; if(state.chain) return tokenChain(stream,state,state.chain,state.style,state.tail); if(stream.match(/^\-?[\d\.]/,false)) if(stream.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/)) return 'number'; if(stream.match(/^<<(?=\w)/)){ // NOTE: <"],RXstyle,RXmodifiers);} if(/[\^'"!~\/]/.test(c)){ eatSuffix(stream, 1); return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers);}} else if(c=="q"){ c=look(stream, 1); if(c=="("){ eatSuffix(stream, 2); return tokenChain(stream,state,[")"],"string");} if(c=="["){ eatSuffix(stream, 2); return tokenChain(stream,state,["]"],"string");} if(c=="{"){ eatSuffix(stream, 2); return tokenChain(stream,state,["}"],"string");} if(c=="<"){ eatSuffix(stream, 2); return tokenChain(stream,state,[">"],"string");} if(/[\^'"!~\/]/.test(c)){ eatSuffix(stream, 1); return tokenChain(stream,state,[stream.eat(c)],"string");}} else if(c=="w"){ c=look(stream, 1); if(c=="("){ eatSuffix(stream, 2); return tokenChain(stream,state,[")"],"bracket");} if(c=="["){ eatSuffix(stream, 2); return tokenChain(stream,state,["]"],"bracket");} if(c=="{"){ eatSuffix(stream, 2); return tokenChain(stream,state,["}"],"bracket");} if(c=="<"){ eatSuffix(stream, 2); return tokenChain(stream,state,[">"],"bracket");} if(/[\^'"!~\/]/.test(c)){ eatSuffix(stream, 1); return tokenChain(stream,state,[stream.eat(c)],"bracket");}} else if(c=="r"){ c=look(stream, 1); if(c=="("){ eatSuffix(stream, 2); return tokenChain(stream,state,[")"],RXstyle,RXmodifiers);} if(c=="["){ eatSuffix(stream, 2); return tokenChain(stream,state,["]"],RXstyle,RXmodifiers);} if(c=="{"){ eatSuffix(stream, 2); return tokenChain(stream,state,["}"],RXstyle,RXmodifiers);} if(c=="<"){ eatSuffix(stream, 2); return tokenChain(stream,state,[">"],RXstyle,RXmodifiers);} if(/[\^'"!~\/]/.test(c)){ eatSuffix(stream, 1); return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers);}} else if(/[\^'"!~\/(\[{<]/.test(c)){ if(c=="("){ eatSuffix(stream, 1); return tokenChain(stream,state,[")"],"string");} if(c=="["){ eatSuffix(stream, 1); return tokenChain(stream,state,["]"],"string");} if(c=="{"){ eatSuffix(stream, 1); return tokenChain(stream,state,["}"],"string");} if(c=="<"){ eatSuffix(stream, 1); return tokenChain(stream,state,[">"],"string");} if(/[\^'"!~\/]/.test(c)){ return tokenChain(stream,state,[stream.eat(c)],"string");}}}} if(ch=="m"){ var c=look(stream, -2); if(!(c&&/\w/.test(c))){ c=stream.eat(/[(\[{<\^'"!~\/]/); if(c){ if(/[\^'"!~\/]/.test(c)){ return tokenChain(stream,state,[c],RXstyle,RXmodifiers);} if(c=="("){ return tokenChain(stream,state,[")"],RXstyle,RXmodifiers);} if(c=="["){ return tokenChain(stream,state,["]"],RXstyle,RXmodifiers);} if(c=="{"){ return tokenChain(stream,state,["}"],RXstyle,RXmodifiers);} if(c=="<"){ return tokenChain(stream,state,[">"],RXstyle,RXmodifiers);}}}} if(ch=="s"){ var c=/[\/>\]})\w]/.test(look(stream, -2)); if(!c){ c=stream.eat(/[(\[{<\^'"!~\/]/); if(c){ if(c=="[") return tokenChain(stream,state,["]","]"],RXstyle,RXmodifiers); if(c=="{") return tokenChain(stream,state,["}","}"],RXstyle,RXmodifiers); if(c=="<") return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers); if(c=="(") return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers); return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}} if(ch=="y"){ var c=/[\/>\]})\w]/.test(look(stream, -2)); if(!c){ c=stream.eat(/[(\[{<\^'"!~\/]/); if(c){ if(c=="[") return tokenChain(stream,state,["]","]"],RXstyle,RXmodifiers); if(c=="{") return tokenChain(stream,state,["}","}"],RXstyle,RXmodifiers); if(c=="<") return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers); if(c=="(") return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers); return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}} if(ch=="t"){ var c=/[\/>\]})\w]/.test(look(stream, -2)); if(!c){ c=stream.eat("r");if(c){ c=stream.eat(/[(\[{<\^'"!~\/]/); if(c){ if(c=="[") return tokenChain(stream,state,["]","]"],RXstyle,RXmodifiers); if(c=="{") return tokenChain(stream,state,["}","}"],RXstyle,RXmodifiers); if(c=="<") return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers); if(c=="(") return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers); return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}} if(ch=="`"){ return tokenChain(stream,state,[ch],"variable-2");} if(ch=="/"){ if(!/~\s*$/.test(prefix(stream))) return "operator"; else return tokenChain(stream,state,[ch],RXstyle,RXmodifiers);} if(ch=="$"){ var p=stream.pos; if(stream.eatWhile(/\d/)||stream.eat("{")&&stream.eatWhile(/\d/)&&stream.eat("}")) return "variable-2"; else stream.pos=p;} if(/[$@%]/.test(ch)){ var p=stream.pos; if(stream.eat("^")&&stream.eat(/[A-Z]/)||!/[@$%&]/.test(look(stream, -2))&&stream.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){ var c=stream.current(); if(PERL[c]) return "variable-2";} stream.pos=p;} if(/[$@%&]/.test(ch)){ if(stream.eatWhile(/[\w$\[\]]/)||stream.eat("{")&&stream.eatWhile(/[\w$\[\]]/)&&stream.eat("}")){ var c=stream.current(); if(PERL[c]) return "variable-2"; else return "variable";}} if(ch=="#"){ if(look(stream, -2)!="$"){ stream.skipToEnd(); return "comment";}} if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(ch)){ var p=stream.pos; stream.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/); if(PERL[stream.current()]) return "operator"; else stream.pos=p;} if(ch=="_"){ if(stream.pos==1){ if(suffix(stream, 6)=="_END__"){ return tokenChain(stream,state,['\0'],"comment");} else if(suffix(stream, 7)=="_DATA__"){ return tokenChain(stream,state,['\0'],"variable-2");} else if(suffix(stream, 7)=="_C__"){ return tokenChain(stream,state,['\0'],"string");}}} if(/\w/.test(ch)){ var p=stream.pos; if(look(stream, -2)=="{"&&(look(stream, 0)=="}"||stream.eatWhile(/\w/)&&look(stream, 0)=="}")) return "string"; else stream.pos=p;} if(/[A-Z]/.test(ch)){ var l=look(stream, -2); var p=stream.pos; stream.eatWhile(/[A-Z_]/); if(/[\da-z]/.test(look(stream, 0))){ stream.pos=p;} else{ var c=PERL[stream.current()]; if(!c) return "meta"; if(c[1]) c=c[0]; if(l!=":"){ if(c==1) return "keyword"; else if(c==2) return "def"; else if(c==3) return "atom"; else if(c==4) return "operator"; else if(c==5) return "variable-2"; else return "meta";} else return "meta";}} if(/[a-zA-Z_]/.test(ch)){ var l=look(stream, -2); stream.eatWhile(/\w/); var c=PERL[stream.current()]; if(!c) return "meta"; if(c[1]) c=c[0]; if(l!=":"){ if(c==1) return "keyword"; else if(c==2) return "def"; else if(c==3) return "atom"; else if(c==4) return "operator"; else if(c==5) return "variable-2"; else return "meta";} else return "meta";} return null;} return { startState: function() { return { tokenize: tokenPerl, chain: null, style: null, tail: null }; }, token: function(stream, state) { return (state.tokenize || tokenPerl)(stream, state); }, lineComment: '#' }; }); CodeMirror.registerHelper("wordChars", "perl", /[\w$]/); CodeMirror.defineMIME("text/x-perl", "perl"); // it's like "peek", but need for look-ahead or look-behind if index < 0 function look(stream, c){ return stream.string.charAt(stream.pos+(c||0)); } // return a part of prefix of current stream from current position function prefix(stream, c){ if(c){ var x=stream.pos-c; return stream.string.substr((x>=0?x:0),c);} else{ return stream.string.substr(0,stream.pos-1); } } // return a part of suffix of current stream from current position function suffix(stream, c){ var y=stream.string.length; var x=y-stream.pos+1; return stream.string.substr(stream.pos,(c&&c=(y=stream.string.length-1)) stream.pos=y; else stream.pos=x; } }); wp-file-manager/lib/codemirror/mode/php/index.html000064400000003720151202472330016143 0ustar00 CodeMirror: PHP mode

        PHP mode

        Simple HTML/PHP mode based on the C-like mode. Depends on XML, JavaScript, CSS, HTMLMixed, and C-like modes.

        MIME types defined: application/x-httpd-php (HTML with PHP code), text/x-php (plain, non-wrapped PHP code).

        wp-file-manager/lib/codemirror/mode/php/php.js000064400000043460151202472330015300 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../clike/clike")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../clike/clike"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function keywords(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } // Helper for phpString function matchSequence(list, end, escapes) { if (list.length == 0) return phpString(end); return function (stream, state) { var patterns = list[0]; for (var i = 0; i < patterns.length; i++) if (stream.match(patterns[i][0])) { state.tokenize = matchSequence(list.slice(1), end); return patterns[i][1]; } state.tokenize = phpString(end, escapes); return "string"; }; } function phpString(closing, escapes) { return function(stream, state) { return phpString_(stream, state, closing, escapes); }; } function phpString_(stream, state, closing, escapes) { // "Complex" syntax if (escapes !== false && stream.match("${", false) || stream.match("{$", false)) { state.tokenize = null; return "string"; } // Simple syntax if (escapes !== false && stream.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/)) { // After the variable name there may appear array or object operator. if (stream.match("[", false)) { // Match array operator state.tokenize = matchSequence([ [["[", null]], [[/\d[\w\.]*/, "number"], [/\$[a-zA-Z_][a-zA-Z0-9_]*/, "variable-2"], [/[\w\$]+/, "variable"]], [["]", null]] ], closing, escapes); } if (stream.match(/\-\>\w/, false)) { // Match object operator state.tokenize = matchSequence([ [["->", null]], [[/[\w]+/, "variable"]] ], closing, escapes); } return "variable-2"; } var escaped = false; // Normal string while (!stream.eol() && (escaped || escapes === false || (!stream.match("{$", false) && !stream.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/, false)))) { if (!escaped && stream.match(closing)) { state.tokenize = null; state.tokStack.pop(); state.tokStack.pop(); break; } escaped = stream.next() == "\\" && !escaped; } return "string"; } var phpKeywords = "abstract and array as break case catch class clone const continue declare default " + "do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final " + "for foreach function global goto if implements interface instanceof namespace " + "new or private protected public static switch throw trait try use var while xor " + "die echo empty exit eval include include_once isset list require require_once return " + "print unset __halt_compiler self static parent yield insteadof finally"; var phpAtoms = "true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__"; var phpBuiltin = "func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count"; CodeMirror.registerHelper("hintWords", "php", [phpKeywords, phpAtoms, phpBuiltin].join(" ").split(" ")); CodeMirror.registerHelper("wordChars", "php", /[\w$]/); var phpConfig = { name: "clike", helperType: "php", keywords: keywords(phpKeywords), blockKeywords: keywords("catch do else elseif for foreach if switch try while finally"), defKeywords: keywords("class function interface namespace trait"), atoms: keywords(phpAtoms), builtin: keywords(phpBuiltin), multiLineStrings: true, hooks: { "$": function(stream) { stream.eatWhile(/[\w\$_]/); return "variable-2"; }, "<": function(stream, state) { var before; if (before = stream.match(/<<\s*/)) { var quoted = stream.eat(/['"]/); stream.eatWhile(/[\w\.]/); var delim = stream.current().slice(before[0].length + (quoted ? 2 : 1)); if (quoted) stream.eat(quoted); if (delim) { (state.tokStack || (state.tokStack = [])).push(delim, 0); state.tokenize = phpString(delim, quoted != "'"); return "string"; } } return false; }, "#": function(stream) { while (!stream.eol() && !stream.match("?>", false)) stream.next(); return "comment"; }, "/": function(stream) { if (stream.eat("/")) { while (!stream.eol() && !stream.match("?>", false)) stream.next(); return "comment"; } return false; }, '"': function(_stream, state) { (state.tokStack || (state.tokStack = [])).push('"', 0); state.tokenize = phpString('"'); return "string"; }, "{": function(_stream, state) { if (state.tokStack && state.tokStack.length) state.tokStack[state.tokStack.length - 1]++; return false; }, "}": function(_stream, state) { if (state.tokStack && state.tokStack.length > 0 && !--state.tokStack[state.tokStack.length - 1]) { state.tokenize = phpString(state.tokStack[state.tokStack.length - 2]); } return false; } } }; CodeMirror.defineMode("php", function(config, parserConfig) { var htmlMode = CodeMirror.getMode(config, "text/html"); var phpMode = CodeMirror.getMode(config, phpConfig); function dispatch(stream, state) { var isPHP = state.curMode == phpMode; if (stream.sol() && state.pending && state.pending != '"' && state.pending != "'") state.pending = null; if (!isPHP) { if (stream.match(/^<\?\w*/)) { state.curMode = phpMode; if (!state.php) state.php = CodeMirror.startState(phpMode, htmlMode.indent(state.html, "")) state.curState = state.php; return "meta"; } if (state.pending == '"' || state.pending == "'") { while (!stream.eol() && stream.next() != state.pending) {} var style = "string"; } else if (state.pending && stream.pos < state.pending.end) { stream.pos = state.pending.end; var style = state.pending.style; } else { var style = htmlMode.token(stream, state.curState); } if (state.pending) state.pending = null; var cur = stream.current(), openPHP = cur.search(/<\?/), m; if (openPHP != -1) { if (style == "string" && (m = cur.match(/[\'\"]$/)) && !/\?>/.test(cur)) state.pending = m[0]; else state.pending = {end: stream.pos, style: style}; stream.backUp(cur.length - openPHP); } return style; } else if (isPHP && state.php.tokenize == null && stream.match("?>")) { state.curMode = htmlMode; state.curState = state.html; if (!state.php.context.prev) state.php = null; return "meta"; } else { return phpMode.token(stream, state.curState); } } return { startState: function() { var html = CodeMirror.startState(htmlMode) var php = parserConfig.startOpen ? CodeMirror.startState(phpMode) : null return {html: html, php: php, curMode: parserConfig.startOpen ? phpMode : htmlMode, curState: parserConfig.startOpen ? php : html, pending: null}; }, copyState: function(state) { var html = state.html, htmlNew = CodeMirror.copyState(htmlMode, html), php = state.php, phpNew = php && CodeMirror.copyState(phpMode, php), cur; if (state.curMode == htmlMode) cur = htmlNew; else cur = phpNew; return {html: htmlNew, php: phpNew, curMode: state.curMode, curState: cur, pending: state.pending}; }, token: dispatch, indent: function(state, textAfter) { if ((state.curMode != phpMode && /^\s*<\//.test(textAfter)) || (state.curMode == phpMode && /^\?>/.test(textAfter))) return htmlMode.indent(state.html, textAfter); return state.curMode.indent(state.curState, textAfter); }, blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//", innerMode: function(state) { return {state: state.curState, mode: state.curMode}; } }; }, "htmlmixed", "clike"); CodeMirror.defineMIME("application/x-httpd-php", "php"); CodeMirror.defineMIME("application/x-httpd-php-open", {name: "php", startOpen: true}); CodeMirror.defineMIME("text/x-php", phpConfig); }); wp-file-manager/lib/codemirror/mode/php/test.js000064400000014767151202472330015500 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "php"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT('simple_test', '[meta ]'); MT('variable_interpolation_non_alphanumeric', '[meta $/$\\$}$\\\"$:$;$?$|$[[$]]$+$=aaa"]', '[meta ?>]'); MT('variable_interpolation_digits', '[meta ]'); MT('variable_interpolation_simple_syntax_1', '[meta ]'); MT('variable_interpolation_simple_syntax_2', '[meta ]'); MT('variable_interpolation_simple_syntax_3', '[meta [variable aaaaa][string .aaaaaa"];', '[keyword echo] [string "aaa][variable-2 $aaaa][string ->][variable-2 $aaaaa][string .aaaaaa"];', '[keyword echo] [string "aaa][variable-2 $aaaa]->[variable aaaaa][string [[2]].aaaaaa"];', '[keyword echo] [string "aaa][variable-2 $aaaa]->[variable aaaaa][string ->aaaa2.aaaaaa"];', '[meta ?>]'); MT('variable_interpolation_escaping', '[meta aaa.aaa"];', '[keyword echo] [string "aaa\\$aaaa[[2]]aaa.aaa"];', '[keyword echo] [string "aaa\\$aaaa[[asd]]aaa.aaa"];', '[keyword echo] [string "aaa{\\$aaaa->aaa.aaa"];', '[keyword echo] [string "aaa{\\$aaaa[[2]]aaa.aaa"];', '[keyword echo] [string "aaa{\\aaaaa[[asd]]aaa.aaa"];', '[keyword echo] [string "aaa\\${aaaa->aaa.aaa"];', '[keyword echo] [string "aaa\\${aaaa[[2]]aaa.aaa"];', '[keyword echo] [string "aaa\\${aaaa[[asd]]aaa.aaa"];', '[meta ?>]'); MT('variable_interpolation_complex_syntax_1', '[meta aaa.aaa"];', '[keyword echo] [string "aaa][variable-2 $]{[variable-2 $aaaa]}[string ->aaa.aaa"];', '[keyword echo] [string "aaa][variable-2 $]{[variable-2 $aaaa][[',' [number 42]',']]}[string ->aaa.aaa"];', '[keyword echo] [string "aaa][variable-2 $]{[variable aaaa][meta ?>]aaaaaa'); MT('variable_interpolation_complex_syntax_2', '[meta } $aaaaaa.aaa"];', '[keyword echo] [string "][variable-2 $]{[variable aaa][comment /*}?>*/][[',' [string "aaa][variable-2 $aaa][string {}][variable-2 $]{[variable aaa]}[string "]',']]}[string ->aaa.aaa"];', '[keyword echo] [string "][variable-2 $]{[variable aaa][comment /*} } $aaa } */]}[string ->aaa.aaa"];'); function build_recursive_monsters(nt, t, n){ var monsters = [t]; for (var i = 1; i <= n; ++i) monsters[i] = nt.join(monsters[i - 1]); return monsters; } var m1 = build_recursive_monsters( ['[string "][variable-2 $]{[variable aaa] [operator +] ', '}[string "]'], '[comment /* }?>} */] [string "aaa][variable-2 $aaa][string .aaa"]', 10 ); MT('variable_interpolation_complex_syntax_3_1', '[meta ]'); var m2 = build_recursive_monsters( ['[string "a][variable-2 $]{[variable aaa] [operator +] ', ' [operator +] ', '}[string .a"]'], '[comment /* }?>{{ */] [string "a?>}{{aa][variable-2 $aaa][string .a}a?>a"]', 5 ); MT('variable_interpolation_complex_syntax_3_2', '[meta ]'); function build_recursive_monsters_2(mf1, mf2, nt, t, n){ var monsters = [t]; for (var i = 1; i <= n; ++i) monsters[i] = nt[0] + mf1[i - 1] + nt[1] + mf2[i - 1] + nt[2] + monsters[i - 1] + nt[3]; return monsters; } var m3 = build_recursive_monsters_2( m1, m2, ['[string "a][variable-2 $]{[variable aaa] [operator +] ', ' [operator +] ', ' [operator +] ', '}[string .a"]'], '[comment /* }?>{{ */] [string "a?>}{{aa][variable-2 $aaa][string .a}a?>a"]', 4 ); MT('variable_interpolation_complex_syntax_3_3', '[meta ]'); MT("variable_interpolation_heredoc", "[meta CodeMirror: Pig Latin mode

        Pig Latin mode

        Simple mode that handles Pig Latin language.

        MIME type defined: text/x-pig (PIG code)

        wp-file-manager/lib/codemirror/mode/pig/pig.js000064400000013262151202472330015255 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /* * Pig Latin Mode for CodeMirror 2 * @author Prasanth Jayachandran * @link https://github.com/prasanthj/pig-codemirror-2 * This implementation is adapted from PL/SQL mode in CodeMirror 2. */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("pig", function(_config, parserConfig) { var keywords = parserConfig.keywords, builtins = parserConfig.builtins, types = parserConfig.types, multiLineStrings = parserConfig.multiLineStrings; var isOperatorChar = /[*+\-%<>=&?:\/!|]/; function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } function tokenComment(stream, state) { var isEnd = false; var ch; while(ch = stream.next()) { if(ch == "/" && isEnd) { state.tokenize = tokenBase; break; } isEnd = (ch == "*"); } return "comment"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while((next = stream.next()) != null) { if (next == quote && !escaped) { end = true; break; } escaped = !escaped && next == "\\"; } if (end || !(escaped || multiLineStrings)) state.tokenize = tokenBase; return "error"; }; } function tokenBase(stream, state) { var ch = stream.next(); // is a start of string? if (ch == '"' || ch == "'") return chain(stream, state, tokenString(ch)); // is it one of the special chars else if(/[\[\]{}\(\),;\.]/.test(ch)) return null; // is it a number? else if(/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } // multi line comment or operator else if (ch == "/") { if (stream.eat("*")) { return chain(stream, state, tokenComment); } else { stream.eatWhile(isOperatorChar); return "operator"; } } // single line comment or operator else if (ch=="-") { if(stream.eat("-")){ stream.skipToEnd(); return "comment"; } else { stream.eatWhile(isOperatorChar); return "operator"; } } // is it an operator else if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } else { // get the while word stream.eatWhile(/[\w\$_]/); // is it one of the listed keywords? if (keywords && keywords.propertyIsEnumerable(stream.current().toUpperCase())) { //keywords can be used as variables like flatten(group), group.$0 etc.. if (!stream.eat(")") && !stream.eat(".")) return "keyword"; } // is it one of the builtin functions? if (builtins && builtins.propertyIsEnumerable(stream.current().toUpperCase())) return "variable-2"; // is it one of the listed types? if (types && types.propertyIsEnumerable(stream.current().toUpperCase())) return "variable-3"; // default is a 'variable' return "variable"; } } // Interface return { startState: function() { return { tokenize: tokenBase, startOfLine: true }; }, token: function(stream, state) { if(stream.eatSpace()) return null; var style = state.tokenize(stream, state); return style; } }; }); (function() { function keywords(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } // builtin funcs taken from trunk revision 1303237 var pBuiltins = "ABS ACOS ARITY ASIN ATAN AVG BAGSIZE BINSTORAGE BLOOM BUILDBLOOM CBRT CEIL " + "CONCAT COR COS COSH COUNT COUNT_STAR COV CONSTANTSIZE CUBEDIMENSIONS DIFF DISTINCT DOUBLEABS " + "DOUBLEAVG DOUBLEBASE DOUBLEMAX DOUBLEMIN DOUBLEROUND DOUBLESUM EXP FLOOR FLOATABS FLOATAVG " + "FLOATMAX FLOATMIN FLOATROUND FLOATSUM GENERICINVOKER INDEXOF INTABS INTAVG INTMAX INTMIN " + "INTSUM INVOKEFORDOUBLE INVOKEFORFLOAT INVOKEFORINT INVOKEFORLONG INVOKEFORSTRING INVOKER " + "ISEMPTY JSONLOADER JSONMETADATA JSONSTORAGE LAST_INDEX_OF LCFIRST LOG LOG10 LOWER LONGABS " + "LONGAVG LONGMAX LONGMIN LONGSUM MAX MIN MAPSIZE MONITOREDUDF NONDETERMINISTIC OUTPUTSCHEMA " + "PIGSTORAGE PIGSTREAMING RANDOM REGEX_EXTRACT REGEX_EXTRACT_ALL REPLACE ROUND SIN SINH SIZE " + "SQRT STRSPLIT SUBSTRING SUM STRINGCONCAT STRINGMAX STRINGMIN STRINGSIZE TAN TANH TOBAG " + "TOKENIZE TOMAP TOP TOTUPLE TRIM TEXTLOADER TUPLESIZE UCFIRST UPPER UTF8STORAGECONVERTER "; // taken from QueryLexer.g var pKeywords = "VOID IMPORT RETURNS DEFINE LOAD FILTER FOREACH ORDER CUBE DISTINCT COGROUP " + "JOIN CROSS UNION SPLIT INTO IF OTHERWISE ALL AS BY USING INNER OUTER ONSCHEMA PARALLEL " + "PARTITION GROUP AND OR NOT GENERATE FLATTEN ASC DESC IS STREAM THROUGH STORE MAPREDUCE " + "SHIP CACHE INPUT OUTPUT STDERROR STDIN STDOUT LIMIT SAMPLE LEFT RIGHT FULL EQ GT LT GTE LTE " + "NEQ MATCHES TRUE FALSE DUMP"; // data types var pTypes = "BOOLEAN INT LONG FLOAT DOUBLE CHARARRAY BYTEARRAY BAG TUPLE MAP "; CodeMirror.defineMIME("text/x-pig", { name: "pig", builtins: keywords(pBuiltins), keywords: keywords(pKeywords), types: keywords(pTypes) }); CodeMirror.registerHelper("hintWords", "pig", (pBuiltins + pTypes + pKeywords).split(" ")); }()); }); wp-file-manager/lib/codemirror/mode/powershell/index.html000064400000016333151202472330017544 0ustar00 CodeMirror: Powershell mode

        PowerShell mode

        MIME types defined: application/x-powershell.

        wp-file-manager/lib/codemirror/mode/powershell/powershell.js000064400000031054151202472330020266 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { 'use strict'; if (typeof exports == 'object' && typeof module == 'object') // CommonJS mod(require('codemirror')); else if (typeof define == 'function' && define.amd) // AMD define(['codemirror'], mod); else // Plain browser env mod(window.CodeMirror); })(function(CodeMirror) { 'use strict'; CodeMirror.defineMode('powershell', function() { function buildRegexp(patterns, options) { options = options || {}; var prefix = options.prefix !== undefined ? options.prefix : '^'; var suffix = options.suffix !== undefined ? options.suffix : '\\b'; for (var i = 0; i < patterns.length; i++) { if (patterns[i] instanceof RegExp) { patterns[i] = patterns[i].source; } else { patterns[i] = patterns[i].replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); } } return new RegExp(prefix + '(' + patterns.join('|') + ')' + suffix, 'i'); } var notCharacterOrDash = '(?=[^A-Za-z\\d\\-_]|$)'; var varNames = /[\w\-:]/ var keywords = buildRegexp([ /begin|break|catch|continue|data|default|do|dynamicparam/, /else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in/, /param|process|return|switch|throw|trap|try|until|where|while/ ], { suffix: notCharacterOrDash }); var punctuation = /[\[\]{},;`\.]|@[({]/; var wordOperators = buildRegexp([ 'f', /b?not/, /[ic]?split/, 'join', /is(not)?/, 'as', /[ic]?(eq|ne|[gl][te])/, /[ic]?(not)?(like|match|contains)/, /[ic]?replace/, /b?(and|or|xor)/ ], { prefix: '-' }); var symbolOperators = /[+\-*\/%]=|\+\+|--|\.\.|[+\-*&^%:=!|\/]|<(?!#)|(?!#)>/; var operators = buildRegexp([wordOperators, symbolOperators], { suffix: '' }); var numbers = /^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i; var identifiers = /^[A-Za-z\_][A-Za-z\-\_\d]*\b/; var symbolBuiltins = /[A-Z]:|%|\?/i; var namedBuiltins = buildRegexp([ /Add-(Computer|Content|History|Member|PSSnapin|Type)/, /Checkpoint-Computer/, /Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/, /Compare-Object/, /Complete-Transaction/, /Connect-PSSession/, /ConvertFrom-(Csv|Json|SecureString|StringData)/, /Convert-Path/, /ConvertTo-(Csv|Html|Json|SecureString|Xml)/, /Copy-Item(Property)?/, /Debug-Process/, /Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/, /Disconnect-PSSession/, /Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/, /(Enter|Exit)-PSSession/, /Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/, /ForEach-Object/, /Format-(Custom|List|Table|Wide)/, new RegExp('Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential' + '|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job' + '|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration' + '|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)'), /Group-Object/, /Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/, /ImportSystemModules/, /Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/, /Join-Path/, /Limit-EventLog/, /Measure-(Command|Object)/, /Move-Item(Property)?/, new RegExp('New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile' + '|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)'), /Out-(Default|File|GridView|Host|Null|Printer|String)/, /Pause/, /(Pop|Push)-Location/, /Read-Host/, /Receive-(Job|PSSession)/, /Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/, /Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/, /Rename-(Computer|Item(Property)?)/, /Reset-ComputerMachinePassword/, /Resolve-Path/, /Restart-(Computer|Service)/, /Restore-Computer/, /Resume-(Job|Service)/, /Save-Help/, /Select-(Object|String|Xml)/, /Send-MailMessage/, new RegExp('Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug' + '|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)'), /Show-(Command|ControlPanelItem|EventLog)/, /Sort-Object/, /Split-Path/, /Start-(Job|Process|Service|Sleep|Transaction|Transcript)/, /Stop-(Computer|Job|Process|Service|Transcript)/, /Suspend-(Job|Service)/, /TabExpansion2/, /Tee-Object/, /Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/, /Trace-Command/, /Unblock-File/, /Undo-Transaction/, /Unregister-(Event|PSSessionConfiguration)/, /Update-(FormatData|Help|List|TypeData)/, /Use-Transaction/, /Wait-(Event|Job|Process)/, /Where-Object/, /Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/, /cd|help|mkdir|more|oss|prompt/, /ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/, /echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/, /group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/, /measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/, /rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/, /sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/ ], { prefix: '', suffix: '' }); var variableBuiltins = buildRegexp([ /[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/, /FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/, /MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/, /PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/, /PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/, /WarningPreference|WhatIfPreference/, /Event|EventArgs|EventSubscriber|Sender/, /Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/, /true|false|null/ ], { prefix: '\\$', suffix: '' }); var builtins = buildRegexp([symbolBuiltins, namedBuiltins, variableBuiltins], { suffix: notCharacterOrDash }); var grammar = { keyword: keywords, number: numbers, operator: operators, builtin: builtins, punctuation: punctuation, identifier: identifiers }; // tokenizers function tokenBase(stream, state) { // Handle Comments //var ch = stream.peek(); var parent = state.returnStack[state.returnStack.length - 1]; if (parent && parent.shouldReturnFrom(state)) { state.tokenize = parent.tokenize; state.returnStack.pop(); return state.tokenize(stream, state); } if (stream.eatSpace()) { return null; } if (stream.eat('(')) { state.bracketNesting += 1; return 'punctuation'; } if (stream.eat(')')) { state.bracketNesting -= 1; return 'punctuation'; } for (var key in grammar) { if (stream.match(grammar[key])) { return key; } } var ch = stream.next(); // single-quote string if (ch === "'") { return tokenSingleQuoteString(stream, state); } if (ch === '$') { return tokenVariable(stream, state); } // double-quote string if (ch === '"') { return tokenDoubleQuoteString(stream, state); } if (ch === '<' && stream.eat('#')) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (ch === '#') { stream.skipToEnd(); return 'comment'; } if (ch === '@') { var quoteMatch = stream.eat(/["']/); if (quoteMatch && stream.eol()) { state.tokenize = tokenMultiString; state.startQuote = quoteMatch[0]; return tokenMultiString(stream, state); } else if (stream.peek().match(/[({]/)) { return 'punctuation'; } else if (stream.peek().match(varNames)) { // splatted variable return tokenVariable(stream, state); } } return 'error'; } function tokenSingleQuoteString(stream, state) { var ch; while ((ch = stream.peek()) != null) { stream.next(); if (ch === "'" && !stream.eat("'")) { state.tokenize = tokenBase; return 'string'; } } return 'error'; } function tokenDoubleQuoteString(stream, state) { var ch; while ((ch = stream.peek()) != null) { if (ch === '$') { state.tokenize = tokenStringInterpolation; return 'string'; } stream.next(); if (ch === '`') { stream.next(); continue; } if (ch === '"' && !stream.eat('"')) { state.tokenize = tokenBase; return 'string'; } } return 'error'; } function tokenStringInterpolation(stream, state) { return tokenInterpolation(stream, state, tokenDoubleQuoteString); } function tokenMultiStringReturn(stream, state) { state.tokenize = tokenMultiString; state.startQuote = '"' return tokenMultiString(stream, state); } function tokenHereStringInterpolation(stream, state) { return tokenInterpolation(stream, state, tokenMultiStringReturn); } function tokenInterpolation(stream, state, parentTokenize) { if (stream.match('jQuery(')) { var savedBracketNesting = state.bracketNesting; state.returnStack.push({ /*jshint loopfunc:true */ shouldReturnFrom: function(state) { return state.bracketNesting === savedBracketNesting; }, tokenize: parentTokenize }); state.tokenize = tokenBase; state.bracketNesting += 1; return 'punctuation'; } else { stream.next(); state.returnStack.push({ shouldReturnFrom: function() { return true; }, tokenize: parentTokenize }); state.tokenize = tokenVariable; return state.tokenize(stream, state); } } function tokenComment(stream, state) { var maybeEnd = false, ch; while ((ch = stream.next()) != null) { if (maybeEnd && ch == '>') { state.tokenize = tokenBase; break; } maybeEnd = (ch === '#'); } return 'comment'; } function tokenVariable(stream, state) { var ch = stream.peek(); if (stream.eat('{')) { state.tokenize = tokenVariableWithBraces; return tokenVariableWithBraces(stream, state); } else if (ch != undefined && ch.match(varNames)) { stream.eatWhile(varNames); state.tokenize = tokenBase; return 'variable-2'; } else { state.tokenize = tokenBase; return 'error'; } } function tokenVariableWithBraces(stream, state) { var ch; while ((ch = stream.next()) != null) { if (ch === '}') { state.tokenize = tokenBase; break; } } return 'variable-2'; } function tokenMultiString(stream, state) { var quote = state.startQuote; if (stream.sol() && stream.match(new RegExp(quote + '@'))) { state.tokenize = tokenBase; } else if (quote === '"') { while (!stream.eol()) { var ch = stream.peek(); if (ch === '$') { state.tokenize = tokenHereStringInterpolation; return 'string'; } stream.next(); if (ch === '`') { stream.next(); } } } else { stream.skipToEnd(); } return 'string'; } var external = { startState: function() { return { returnStack: [], bracketNesting: 0, tokenize: tokenBase }; }, token: function(stream, state) { return state.tokenize(stream, state); }, blockCommentStart: '<#', blockCommentEnd: '#>', lineComment: '#', fold: 'brace' }; return external; }); CodeMirror.defineMIME('application/x-powershell', 'powershell'); }); wp-file-manager/lib/codemirror/mode/powershell/test.js000064400000005517151202472330017066 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "powershell"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT('comment', '[number 1][comment # A]'); MT('comment_multiline', '[number 1][comment <#]', '[comment ABC]', '[comment #>][number 2]'); [ '0', '1234', '12kb', '12mb', '12Gb', '12Tb', '12PB', '12L', '12D', '12lkb', '12dtb', '1.234', '1.234e56', '1.', '1.e2', '.2', '.2e34', '1.2MB', '1.kb', '.1dTB', '1.e1gb', '.2', '.2e34', '0x1', '0xabcdef', '0x3tb', '0xelmb' ].forEach(function(number) { MT("number_" + number, "[number " + number + "]"); }); MT('string_literal_escaping', "[string 'a''']"); MT('string_literal_variable', "[string 'a $x']"); MT('string_escaping_1', '[string "a `""]'); MT('string_escaping_2', '[string "a """]'); MT('string_variable_escaping', '[string "a `$x"]'); MT('string_variable', '[string "a ][variable-2 $x][string b"]'); MT('string_variable_spaces', '[string "a ][variable-2 ${x y}][string b"]'); MT('string_expression', '[string "a ][punctuation jQuery(][variable-2 $x][operator +][number 3][punctuation )][string b"]'); MT('string_expression_nested', '[string "A][punctuation jQuery(][string "a][punctuation jQuery(][string "w"][punctuation )][string b"][punctuation )][string B"]'); MT('string_heredoc', '[string @"]', '[string abc]', '[string "@]'); MT('string_heredoc_quotes', '[string @"]', '[string abc "\']', '[string "@]'); MT('string_heredoc_variable', '[string @"]', '[string a ][variable-2 $x][string b]', '[string "@]'); MT('string_heredoc_nested_string', '[string @"]', '[string a][punctuation jQuery(][string "w"][punctuation )][string b]', '[string "@]'); MT('string_heredoc_literal_quotes', "[string @']", '[string abc "\']', "[string '@]"); MT('array', "[punctuation @(][string 'a'][punctuation ,][string 'b'][punctuation )]"); MT('hash', "[punctuation @{][string 'key'][operator :][string 'value'][punctuation }]"); MT('variable', "[variable-2 $test]"); MT('variable_global', "[variable-2 $global:test]"); MT('variable_spaces', "[variable-2 ${test test}]"); MT('operator_splat', "[variable-2 @x]"); MT('variable_builtin', "[builtin $ErrorActionPreference]"); MT('variable_builtin_symbols', "[builtin $$]"); MT('operator', "[operator +]"); MT('operator_unary', "[operator +][number 3]"); MT('operator_long', "[operator -match]"); [ '(', ')', '[[', ']]', '{', '}', ',', '`', ';', '.' ].forEach(function(punctuation) { MT("punctuation_" + punctuation.replace(/^[\[\]]/,''), "[punctuation " + punctuation + "]"); }); MT('keyword', "[keyword if]"); MT('call_builtin', "[builtin Get-ChildItem]"); })(); wp-file-manager/lib/codemirror/mode/properties/index.html000064400000003023151202472330017544 0ustar00 CodeMirror: Properties files mode

        Properties files mode

        MIME types defined: text/x-properties, text/x-ini.

        wp-file-manager/lib/codemirror/mode/properties/properties.js000064400000004173151202472330020310 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("properties", function() { return { token: function(stream, state) { var sol = stream.sol() || state.afterSection; var eol = stream.eol(); state.afterSection = false; if (sol) { if (state.nextMultiline) { state.inMultiline = true; state.nextMultiline = false; } else { state.position = "def"; } } if (eol && ! state.nextMultiline) { state.inMultiline = false; state.position = "def"; } if (sol) { while(stream.eatSpace()) {} } var ch = stream.next(); if (sol && (ch === "#" || ch === "!" || ch === ";")) { state.position = "comment"; stream.skipToEnd(); return "comment"; } else if (sol && ch === "[") { state.afterSection = true; stream.skipTo("]"); stream.eat("]"); return "header"; } else if (ch === "=" || ch === ":") { state.position = "quote"; return null; } else if (ch === "\\" && state.position === "quote") { if (stream.eol()) { // end of line? // Multiline value state.nextMultiline = true; } } return state.position; }, startState: function() { return { position : "def", // Current position, "def", "quote" or "comment" nextMultiline : false, // Is the next line multiline value inMultiline : false, // Is the current line a multiline value afterSection : false // Did we just open a section }; } }; }); CodeMirror.defineMIME("text/x-properties", "properties"); CodeMirror.defineMIME("text/x-ini", "properties"); }); wp-file-manager/lib/codemirror/mode/protobuf/index.html000064400000003220151202472330017207 0ustar00 CodeMirror: ProtoBuf mode

        ProtoBuf mode

        MIME types defined: text/x-protobuf.

        wp-file-manager/lib/codemirror/mode/protobuf/protobuf.js000064400000004101151202472330017407 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b", "i"); }; var keywordArray = [ "package", "message", "import", "syntax", "required", "optional", "repeated", "reserved", "default", "extensions", "packed", "bool", "bytes", "double", "enum", "float", "string", "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64", "sfixed32", "sfixed64" ]; var keywords = wordRegexp(keywordArray); CodeMirror.registerHelper("hintWords", "protobuf", keywordArray); var identifiers = new RegExp("^[_A-Za-z\xa1-\uffff][_A-Za-z0-9\xa1-\uffff]*"); function tokenBase(stream) { // whitespaces if (stream.eatSpace()) return null; // Handle one line Comments if (stream.match("//")) { stream.skipToEnd(); return "comment"; } // Handle Number Literals if (stream.match(/^[0-9\.+-]/, false)) { if (stream.match(/^[+-]?0x[0-9a-fA-F]+/)) return "number"; if (stream.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/)) return "number"; if (stream.match(/^[+-]?\d+([EeDd][+-]?\d+)?/)) return "number"; } // Handle Strings if (stream.match(/^"([^"]|(""))*"/)) { return "string"; } if (stream.match(/^'([^']|(''))*'/)) { return "string"; } // Handle words if (stream.match(keywords)) { return "keyword"; } if (stream.match(identifiers)) { return "variable"; } ; // Handle non-detected items stream.next(); return null; }; CodeMirror.defineMode("protobuf", function() { return {token: tokenBase}; }); CodeMirror.defineMIME("text/x-protobuf", "protobuf"); }); wp-file-manager/lib/codemirror/mode/pug/index.html000064400000004671151202472330016155 0ustar00 CodeMirror: Pug Templating Mode

        Pug Templating Mode

        The Pug Templating Mode

        Created by Forbes Lindesay. Managed as part of a Brackets extension at https://github.com/ForbesLindesay/jade-brackets.

        MIME type defined: text/x-pug, text/x-jade.

        wp-file-manager/lib/codemirror/mode/pug/pug.js000064400000037256151202472330015316 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../javascript/javascript"), require("../css/css"), require("../htmlmixed/htmlmixed")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../javascript/javascript", "../css/css", "../htmlmixed/htmlmixed"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("pug", function (config) { // token types var KEYWORD = 'keyword'; var DOCTYPE = 'meta'; var ID = 'builtin'; var CLASS = 'qualifier'; var ATTRS_NEST = { '{': '}', '(': ')', '[': ']' }; var jsMode = CodeMirror.getMode(config, 'javascript'); function State() { this.javaScriptLine = false; this.javaScriptLineExcludesColon = false; this.javaScriptArguments = false; this.javaScriptArgumentsDepth = 0; this.isInterpolating = false; this.interpolationNesting = 0; this.jsState = CodeMirror.startState(jsMode); this.restOfLine = ''; this.isIncludeFiltered = false; this.isEach = false; this.lastTag = ''; this.scriptType = ''; // Attributes Mode this.isAttrs = false; this.attrsNest = []; this.inAttributeName = true; this.attributeIsType = false; this.attrValue = ''; // Indented Mode this.indentOf = Infinity; this.indentToken = ''; this.innerMode = null; this.innerState = null; this.innerModeForLine = false; } /** * Safely copy a state * * @return {State} */ State.prototype.copy = function () { var res = new State(); res.javaScriptLine = this.javaScriptLine; res.javaScriptLineExcludesColon = this.javaScriptLineExcludesColon; res.javaScriptArguments = this.javaScriptArguments; res.javaScriptArgumentsDepth = this.javaScriptArgumentsDepth; res.isInterpolating = this.isInterpolating; res.interpolationNesting = this.interpolationNesting; res.jsState = CodeMirror.copyState(jsMode, this.jsState); res.innerMode = this.innerMode; if (this.innerMode && this.innerState) { res.innerState = CodeMirror.copyState(this.innerMode, this.innerState); } res.restOfLine = this.restOfLine; res.isIncludeFiltered = this.isIncludeFiltered; res.isEach = this.isEach; res.lastTag = this.lastTag; res.scriptType = this.scriptType; res.isAttrs = this.isAttrs; res.attrsNest = this.attrsNest.slice(); res.inAttributeName = this.inAttributeName; res.attributeIsType = this.attributeIsType; res.attrValue = this.attrValue; res.indentOf = this.indentOf; res.indentToken = this.indentToken; res.innerModeForLine = this.innerModeForLine; return res; }; function javaScript(stream, state) { if (stream.sol()) { // if javaScriptLine was set at end of line, ignore it state.javaScriptLine = false; state.javaScriptLineExcludesColon = false; } if (state.javaScriptLine) { if (state.javaScriptLineExcludesColon && stream.peek() === ':') { state.javaScriptLine = false; state.javaScriptLineExcludesColon = false; return; } var tok = jsMode.token(stream, state.jsState); if (stream.eol()) state.javaScriptLine = false; return tok || true; } } function javaScriptArguments(stream, state) { if (state.javaScriptArguments) { if (state.javaScriptArgumentsDepth === 0 && stream.peek() !== '(') { state.javaScriptArguments = false; return; } if (stream.peek() === '(') { state.javaScriptArgumentsDepth++; } else if (stream.peek() === ')') { state.javaScriptArgumentsDepth--; } if (state.javaScriptArgumentsDepth === 0) { state.javaScriptArguments = false; return; } var tok = jsMode.token(stream, state.jsState); return tok || true; } } function yieldStatement(stream) { if (stream.match(/^yield\b/)) { return 'keyword'; } } function doctype(stream) { if (stream.match(/^(?:doctype) *([^\n]+)?/)) { return DOCTYPE; } } function interpolation(stream, state) { if (stream.match('#{')) { state.isInterpolating = true; state.interpolationNesting = 0; return 'punctuation'; } } function interpolationContinued(stream, state) { if (state.isInterpolating) { if (stream.peek() === '}') { state.interpolationNesting--; if (state.interpolationNesting < 0) { stream.next(); state.isInterpolating = false; return 'punctuation'; } } else if (stream.peek() === '{') { state.interpolationNesting++; } return jsMode.token(stream, state.jsState) || true; } } function caseStatement(stream, state) { if (stream.match(/^case\b/)) { state.javaScriptLine = true; return KEYWORD; } } function when(stream, state) { if (stream.match(/^when\b/)) { state.javaScriptLine = true; state.javaScriptLineExcludesColon = true; return KEYWORD; } } function defaultStatement(stream) { if (stream.match(/^default\b/)) { return KEYWORD; } } function extendsStatement(stream, state) { if (stream.match(/^extends?\b/)) { state.restOfLine = 'string'; return KEYWORD; } } function append(stream, state) { if (stream.match(/^append\b/)) { state.restOfLine = 'variable'; return KEYWORD; } } function prepend(stream, state) { if (stream.match(/^prepend\b/)) { state.restOfLine = 'variable'; return KEYWORD; } } function block(stream, state) { if (stream.match(/^block\b *(?:(prepend|append)\b)?/)) { state.restOfLine = 'variable'; return KEYWORD; } } function include(stream, state) { if (stream.match(/^include\b/)) { state.restOfLine = 'string'; return KEYWORD; } } function includeFiltered(stream, state) { if (stream.match(/^include:([a-zA-Z0-9\-]+)/, false) && stream.match('include')) { state.isIncludeFiltered = true; return KEYWORD; } } function includeFilteredContinued(stream, state) { if (state.isIncludeFiltered) { var tok = filter(stream, state); state.isIncludeFiltered = false; state.restOfLine = 'string'; return tok; } } function mixin(stream, state) { if (stream.match(/^mixin\b/)) { state.javaScriptLine = true; return KEYWORD; } } function call(stream, state) { if (stream.match(/^\+([-\w]+)/)) { if (!stream.match(/^\( *[-\w]+ *=/, false)) { state.javaScriptArguments = true; state.javaScriptArgumentsDepth = 0; } return 'variable'; } if (stream.match(/^\+#{/, false)) { stream.next(); state.mixinCallAfter = true; return interpolation(stream, state); } } function callArguments(stream, state) { if (state.mixinCallAfter) { state.mixinCallAfter = false; if (!stream.match(/^\( *[-\w]+ *=/, false)) { state.javaScriptArguments = true; state.javaScriptArgumentsDepth = 0; } return true; } } function conditional(stream, state) { if (stream.match(/^(if|unless|else if|else)\b/)) { state.javaScriptLine = true; return KEYWORD; } } function each(stream, state) { if (stream.match(/^(- *)?(each|for)\b/)) { state.isEach = true; return KEYWORD; } } function eachContinued(stream, state) { if (state.isEach) { if (stream.match(/^ in\b/)) { state.javaScriptLine = true; state.isEach = false; return KEYWORD; } else if (stream.sol() || stream.eol()) { state.isEach = false; } else if (stream.next()) { while (!stream.match(/^ in\b/, false) && stream.next()); return 'variable'; } } } function whileStatement(stream, state) { if (stream.match(/^while\b/)) { state.javaScriptLine = true; return KEYWORD; } } function tag(stream, state) { var captures; if (captures = stream.match(/^(\w(?:[-:\w]*\w)?)\/?/)) { state.lastTag = captures[1].toLowerCase(); if (state.lastTag === 'script') { state.scriptType = 'application/javascript'; } return 'tag'; } } function filter(stream, state) { if (stream.match(/^:([\w\-]+)/)) { var innerMode; if (config && config.innerModes) { innerMode = config.innerModes(stream.current().substring(1)); } if (!innerMode) { innerMode = stream.current().substring(1); } if (typeof innerMode === 'string') { innerMode = CodeMirror.getMode(config, innerMode); } setInnerMode(stream, state, innerMode); return 'atom'; } } function code(stream, state) { if (stream.match(/^(!?=|-)/)) { state.javaScriptLine = true; return 'punctuation'; } } function id(stream) { if (stream.match(/^#([\w-]+)/)) { return ID; } } function className(stream) { if (stream.match(/^\.([\w-]+)/)) { return CLASS; } } function attrs(stream, state) { if (stream.peek() == '(') { stream.next(); state.isAttrs = true; state.attrsNest = []; state.inAttributeName = true; state.attrValue = ''; state.attributeIsType = false; return 'punctuation'; } } function attrsContinued(stream, state) { if (state.isAttrs) { if (ATTRS_NEST[stream.peek()]) { state.attrsNest.push(ATTRS_NEST[stream.peek()]); } if (state.attrsNest[state.attrsNest.length - 1] === stream.peek()) { state.attrsNest.pop(); } else if (stream.eat(')')) { state.isAttrs = false; return 'punctuation'; } if (state.inAttributeName && stream.match(/^[^=,\)!]+/)) { if (stream.peek() === '=' || stream.peek() === '!') { state.inAttributeName = false; state.jsState = CodeMirror.startState(jsMode); if (state.lastTag === 'script' && stream.current().trim().toLowerCase() === 'type') { state.attributeIsType = true; } else { state.attributeIsType = false; } } return 'attribute'; } var tok = jsMode.token(stream, state.jsState); if (state.attributeIsType && tok === 'string') { state.scriptType = stream.current().toString(); } if (state.attrsNest.length === 0 && (tok === 'string' || tok === 'variable' || tok === 'keyword')) { try { Function('', 'var x ' + state.attrValue.replace(/,\s*$/, '').replace(/^!/, '')); state.inAttributeName = true; state.attrValue = ''; stream.backUp(stream.current().length); return attrsContinued(stream, state); } catch (ex) { //not the end of an attribute } } state.attrValue += stream.current(); return tok || true; } } function attributesBlock(stream, state) { if (stream.match(/^&attributes\b/)) { state.javaScriptArguments = true; state.javaScriptArgumentsDepth = 0; return 'keyword'; } } function indent(stream) { if (stream.sol() && stream.eatSpace()) { return 'indent'; } } function comment(stream, state) { if (stream.match(/^ *\/\/(-)?([^\n]*)/)) { state.indentOf = stream.indentation(); state.indentToken = 'comment'; return 'comment'; } } function colon(stream) { if (stream.match(/^: */)) { return 'colon'; } } function text(stream, state) { if (stream.match(/^(?:\| ?| )([^\n]+)/)) { return 'string'; } if (stream.match(/^(<[^\n]*)/, false)) { // html string setInnerMode(stream, state, 'htmlmixed'); state.innerModeForLine = true; return innerMode(stream, state, true); } } function dot(stream, state) { if (stream.eat('.')) { var innerMode = null; if (state.lastTag === 'script' && state.scriptType.toLowerCase().indexOf('javascript') != -1) { innerMode = state.scriptType.toLowerCase().replace(/"|'/g, ''); } else if (state.lastTag === 'style') { innerMode = 'css'; } setInnerMode(stream, state, innerMode); return 'dot'; } } function fail(stream) { stream.next(); return null; } function setInnerMode(stream, state, mode) { mode = CodeMirror.mimeModes[mode] || mode; mode = config.innerModes ? config.innerModes(mode) || mode : mode; mode = CodeMirror.mimeModes[mode] || mode; mode = CodeMirror.getMode(config, mode); state.indentOf = stream.indentation(); if (mode && mode.name !== 'null') { state.innerMode = mode; } else { state.indentToken = 'string'; } } function innerMode(stream, state, force) { if (stream.indentation() > state.indentOf || (state.innerModeForLine && !stream.sol()) || force) { if (state.innerMode) { if (!state.innerState) { state.innerState = state.innerMode.startState ? CodeMirror.startState(state.innerMode, stream.indentation()) : {}; } return stream.hideFirstChars(state.indentOf + 2, function () { return state.innerMode.token(stream, state.innerState) || true; }); } else { stream.skipToEnd(); return state.indentToken; } } else if (stream.sol()) { state.indentOf = Infinity; state.indentToken = null; state.innerMode = null; state.innerState = null; } } function restOfLine(stream, state) { if (stream.sol()) { // if restOfLine was set at end of line, ignore it state.restOfLine = ''; } if (state.restOfLine) { stream.skipToEnd(); var tok = state.restOfLine; state.restOfLine = ''; return tok; } } function startState() { return new State(); } function copyState(state) { return state.copy(); } /** * Get the next token in the stream * * @param {Stream} stream * @param {State} state */ function nextToken(stream, state) { var tok = innerMode(stream, state) || restOfLine(stream, state) || interpolationContinued(stream, state) || includeFilteredContinued(stream, state) || eachContinued(stream, state) || attrsContinued(stream, state) || javaScript(stream, state) || javaScriptArguments(stream, state) || callArguments(stream, state) || yieldStatement(stream, state) || doctype(stream, state) || interpolation(stream, state) || caseStatement(stream, state) || when(stream, state) || defaultStatement(stream, state) || extendsStatement(stream, state) || append(stream, state) || prepend(stream, state) || block(stream, state) || include(stream, state) || includeFiltered(stream, state) || mixin(stream, state) || call(stream, state) || conditional(stream, state) || each(stream, state) || whileStatement(stream, state) || tag(stream, state) || filter(stream, state) || code(stream, state) || id(stream, state) || className(stream, state) || attrs(stream, state) || attributesBlock(stream, state) || indent(stream, state) || text(stream, state) || comment(stream, state) || colon(stream, state) || dot(stream, state) || fail(stream, state); return tok === true ? null : tok; } return { startState: startState, copyState: copyState, token: nextToken }; }, 'javascript', 'css', 'htmlmixed'); CodeMirror.defineMIME('text/x-pug', 'pug'); CodeMirror.defineMIME('text/x-jade', 'pug'); }); wp-file-manager/lib/codemirror/mode/puppet/index.html000064400000006274151202472330016700 0ustar00 CodeMirror: Puppet mode

        Puppet mode

        MIME types defined: text/x-puppet.

        wp-file-manager/lib/codemirror/mode/puppet/puppet.js000064400000016620151202472330016552 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("puppet", function () { // Stores the words from the define method var words = {}; // Taken, mostly, from the Puppet official variable standards regex var variable_regex = /({)?([a-z][a-z0-9_]*)?((::[a-z][a-z0-9_]*)*::)?[a-zA-Z0-9_]+(})?/; // Takes a string of words separated by spaces and adds them as // keys with the value of the first argument 'style' function define(style, string) { var split = string.split(' '); for (var i = 0; i < split.length; i++) { words[split[i]] = style; } } // Takes commonly known puppet types/words and classifies them to a style define('keyword', 'class define site node include import inherits'); define('keyword', 'case if else in and elsif default or'); define('atom', 'false true running present absent file directory undef'); define('builtin', 'action augeas burst chain computer cron destination dport exec ' + 'file filebucket group host icmp iniface interface jump k5login limit log_level ' + 'log_prefix macauthorization mailalias maillist mcx mount nagios_command ' + 'nagios_contact nagios_contactgroup nagios_host nagios_hostdependency ' + 'nagios_hostescalation nagios_hostextinfo nagios_hostgroup nagios_service ' + 'nagios_servicedependency nagios_serviceescalation nagios_serviceextinfo ' + 'nagios_servicegroup nagios_timeperiod name notify outiface package proto reject ' + 'resources router schedule scheduled_task selboolean selmodule service source ' + 'sport ssh_authorized_key sshkey stage state table tidy todest toports tosource ' + 'user vlan yumrepo zfs zone zpool'); // After finding a start of a string ('|") this function attempts to find the end; // If a variable is encountered along the way, we display it differently when it // is encapsulated in a double-quoted string. function tokenString(stream, state) { var current, prev, found_var = false; while (!stream.eol() && (current = stream.next()) != state.pending) { if (current === '$' && prev != '\\' && state.pending == '"') { found_var = true; break; } prev = current; } if (found_var) { stream.backUp(1); } if (current == state.pending) { state.continueString = false; } else { state.continueString = true; } return "string"; } // Main function function tokenize(stream, state) { // Matches one whole word var word = stream.match(/[\w]+/, false); // Matches attributes (i.e. ensure => present ; 'ensure' would be matched) var attribute = stream.match(/(\s+)?\w+\s+=>.*/, false); // Matches non-builtin resource declarations // (i.e. "apache::vhost {" or "mycustomclasss {" would be matched) var resource = stream.match(/(\s+)?[\w:_]+(\s+)?{/, false); // Matches virtual and exported resources (i.e. @@user { ; and the like) var special_resource = stream.match(/(\s+)?[@]{1,2}[\w:_]+(\s+)?{/, false); // Finally advance the stream var ch = stream.next(); // Have we found a variable? if (ch === '$') { if (stream.match(variable_regex)) { // If so, and its in a string, assign it a different color return state.continueString ? 'variable-2' : 'variable'; } // Otherwise return an invalid variable return "error"; } // Should we still be looking for the end of a string? if (state.continueString) { // If so, go through the loop again stream.backUp(1); return tokenString(stream, state); } // Are we in a definition (class, node, define)? if (state.inDefinition) { // If so, return def (i.e. for 'class myclass {' ; 'myclass' would be matched) if (stream.match(/(\s+)?[\w:_]+(\s+)?/)) { return 'def'; } // Match the rest it the next time around stream.match(/\s+{/); state.inDefinition = false; } // Are we in an 'include' statement? if (state.inInclude) { // Match and return the included class stream.match(/(\s+)?\S+(\s+)?/); state.inInclude = false; return 'def'; } // Do we just have a function on our hands? // In 'ensure_resource("myclass")', 'ensure_resource' is matched if (stream.match(/(\s+)?\w+\(/)) { stream.backUp(1); return 'def'; } // Have we matched the prior attribute regex? if (attribute) { stream.match(/(\s+)?\w+/); return 'tag'; } // Do we have Puppet specific words? if (word && words.hasOwnProperty(word)) { // Negates the initial next() stream.backUp(1); // rs move the stream stream.match(/[\w]+/); // We want to process these words differently // do to the importance they have in Puppet if (stream.match(/\s+\S+\s+{/, false)) { state.inDefinition = true; } if (word == 'include') { state.inInclude = true; } // Returns their value as state in the prior define methods return words[word]; } // Is there a match on a reference? if (/(^|\s+)[A-Z][\w:_]+/.test(word)) { // Negate the next() stream.backUp(1); // Match the full reference stream.match(/(^|\s+)[A-Z][\w:_]+/); return 'def'; } // Have we matched the prior resource regex? if (resource) { stream.match(/(\s+)?[\w:_]+/); return 'def'; } // Have we matched the prior special_resource regex? if (special_resource) { stream.match(/(\s+)?[@]{1,2}/); return 'special'; } // Match all the comments. All of them. if (ch == "#") { stream.skipToEnd(); return "comment"; } // Have we found a string? if (ch == "'" || ch == '"') { // Store the type (single or double) state.pending = ch; // Perform the looping function to find the end return tokenString(stream, state); } // Match all the brackets if (ch == '{' || ch == '}') { return 'bracket'; } // Match characters that we are going to assume // are trying to be regex if (ch == '/') { stream.match(/.*?\//); return 'variable-3'; } // Match all the numbers if (ch.match(/[0-9]/)) { stream.eatWhile(/[0-9]+/); return 'number'; } // Match the '=' and '=>' operators if (ch == '=') { if (stream.peek() == '>') { stream.next(); } return "operator"; } // Keep advancing through all the rest stream.eatWhile(/[\w-]/); // Return a blank line for everything else return null; } // Start it all return { startState: function () { var state = {}; state.inDefinition = false; state.inInclude = false; state.continueString = false; state.pending = false; return state; }, token: function (stream, state) { // Strip the spaces, but regex will account for them eitherway if (stream.eatSpace()) return null; // Go through the main process return tokenize(stream, state); } }; }); CodeMirror.defineMIME("text/x-puppet", "puppet"); }); wp-file-manager/lib/codemirror/mode/python/index.html000064400000013476151202472330016706 0ustar00 CodeMirror: Python mode

        Python mode

        Cython mode

        Configuration Options for Python mode:

        • version - 2/3 - The version of Python to recognize. Default is 2.
        • singleLineStringErrors - true/false - If you have a single-line string that is not terminated at the end of the line, this will show subsequent lines as errors if true, otherwise it will consider the newline as the end of the string. Default is false.
        • hangingIndent - int - If you want to write long arguments to a function starting on a new line, how much that line should be indented. Defaults to one normal indentation unit.

        Advanced Configuration Options:

        Usefull for superset of python syntax like Enthought enaml, IPython magics and questionmark help

        • singleOperators - RegEx - Regular Expression for single operator matching, default :
          ^[\\+\\-\\*/%&|\\^~<>!]
          including
          @
          on Python 3
        • singleDelimiters - RegEx - Regular Expression for single delimiter matching, default :
          ^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]
        • doubleOperators - RegEx - Regular Expression for double operators matching, default :
          ^((==)|(!=)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))
        • doubleDelimiters - RegEx - Regular Expression for double delimiters matching, default :
          ^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))
        • tripleDelimiters - RegEx - Regular Expression for triple delimiters matching, default :
          ^((//=)|(>>=)|(<<=)|(\\*\\*=))
        • identifiers - RegEx - Regular Expression for identifier, default :
          ^[_A-Za-z][_A-Za-z0-9]*
          on Python 2 and
          ^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*
          on Python 3.
        • extra_keywords - list of string - List of extra words ton consider as keywords
        • extra_builtins - list of string - List of extra words ton consider as builtins

        MIME types defined: text/x-python and text/x-cython.

        wp-file-manager/lib/codemirror/mode/python/python.js000064400000030225151202472330016557 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b"); } var wordOperators = wordRegexp(["and", "or", "not", "is"]); var commonKeywords = ["as", "assert", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "lambda", "pass", "raise", "return", "try", "while", "with", "yield", "in"]; var commonBuiltins = ["abs", "all", "any", "bin", "bool", "bytearray", "callable", "chr", "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod", "enumerate", "eval", "filter", "float", "format", "frozenset", "getattr", "globals", "hasattr", "hash", "help", "hex", "id", "input", "int", "isinstance", "issubclass", "iter", "len", "list", "locals", "map", "max", "memoryview", "min", "next", "object", "oct", "open", "ord", "pow", "property", "range", "repr", "reversed", "round", "set", "setattr", "slice", "sorted", "staticmethod", "str", "sum", "super", "tuple", "type", "vars", "zip", "__import__", "NotImplemented", "Ellipsis", "__debug__"]; CodeMirror.registerHelper("hintWords", "python", commonKeywords.concat(commonBuiltins)); function top(state) { return state.scopes[state.scopes.length - 1]; } CodeMirror.defineMode("python", function(conf, parserConf) { var ERRORCLASS = "error"; var singleDelimiters = parserConf.singleDelimiters || /^[\(\)\[\]\{\}@,:`=;\.]/; var doubleOperators = parserConf.doubleOperators || /^([!<>]==|<>|<<|>>|\/\/|\*\*)/; var doubleDelimiters = parserConf.doubleDelimiters || /^(\+=|\-=|\*=|%=|\/=|&=|\|=|\^=)/; var tripleDelimiters = parserConf.tripleDelimiters || /^(\/\/=|>>=|<<=|\*\*=)/; var hangingIndent = parserConf.hangingIndent || conf.indentUnit; var myKeywords = commonKeywords, myBuiltins = commonBuiltins; if (parserConf.extra_keywords != undefined) myKeywords = myKeywords.concat(parserConf.extra_keywords); if (parserConf.extra_builtins != undefined) myBuiltins = myBuiltins.concat(parserConf.extra_builtins); var py3 = !(parserConf.version && Number(parserConf.version) < 3) if (py3) { // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator var singleOperators = parserConf.singleOperators || /^[\+\-\*\/%&|\^~<>!@]/; var identifiers = parserConf.identifiers|| /^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/; myKeywords = myKeywords.concat(["nonlocal", "False", "True", "None", "async", "await"]); myBuiltins = myBuiltins.concat(["ascii", "bytes", "exec", "print"]); var stringPrefixes = new RegExp("^(([rbuf]|(br))?('{3}|\"{3}|['\"]))", "i"); } else { var singleOperators = parserConf.singleOperators || /^[\+\-\*\/%&|\^~<>!]/; var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/; myKeywords = myKeywords.concat(["exec", "print"]); myBuiltins = myBuiltins.concat(["apply", "basestring", "buffer", "cmp", "coerce", "execfile", "file", "intern", "long", "raw_input", "reduce", "reload", "unichr", "unicode", "xrange", "False", "True", "None"]); var stringPrefixes = new RegExp("^(([rub]|(ur)|(br))?('{3}|\"{3}|['\"]))", "i"); } var keywords = wordRegexp(myKeywords); var builtins = wordRegexp(myBuiltins); // tokenizers function tokenBase(stream, state) { if (stream.sol()) state.indent = stream.indentation() // Handle scope changes if (stream.sol() && top(state).type == "py") { var scopeOffset = top(state).offset; if (stream.eatSpace()) { var lineOffset = stream.indentation(); if (lineOffset > scopeOffset) pushPyScope(state); else if (lineOffset < scopeOffset && dedent(stream, state)) state.errorToken = true; return null; } else { var style = tokenBaseInner(stream, state); if (scopeOffset > 0 && dedent(stream, state)) style += " " + ERRORCLASS; return style; } } return tokenBaseInner(stream, state); } function tokenBaseInner(stream, state) { if (stream.eatSpace()) return null; var ch = stream.peek(); // Handle Comments if (ch == "#") { stream.skipToEnd(); return "comment"; } // Handle Number Literals if (stream.match(/^[0-9\.]/, false)) { var floatLiteral = false; // Floats if (stream.match(/^\d*\.\d+(e[\+\-]?\d+)?/i)) { floatLiteral = true; } if (stream.match(/^\d+\.\d*/)) { floatLiteral = true; } if (stream.match(/^\.\d+/)) { floatLiteral = true; } if (floatLiteral) { // Float literals may be "imaginary" stream.eat(/J/i); return "number"; } // Integers var intLiteral = false; // Hex if (stream.match(/^0x[0-9a-f]+/i)) intLiteral = true; // Binary if (stream.match(/^0b[01]+/i)) intLiteral = true; // Octal if (stream.match(/^0o[0-7]+/i)) intLiteral = true; // Decimal if (stream.match(/^[1-9]\d*(e[\+\-]?\d+)?/)) { // Decimal literals may be "imaginary" stream.eat(/J/i); // TODO - Can you have imaginary longs? intLiteral = true; } // Zero by itself with no other piece of number. if (stream.match(/^0(?![\dx])/i)) intLiteral = true; if (intLiteral) { // Integer literals may be "long" stream.eat(/L/i); return "number"; } } // Handle Strings if (stream.match(stringPrefixes)) { state.tokenize = tokenStringFactory(stream.current()); return state.tokenize(stream, state); } // Handle operators and Delimiters if (stream.match(tripleDelimiters) || stream.match(doubleDelimiters)) return "punctuation"; if (stream.match(doubleOperators) || stream.match(singleOperators)) return "operator"; if (stream.match(singleDelimiters)) return "punctuation"; if (state.lastToken == "." && stream.match(identifiers)) return "property"; if (stream.match(keywords) || stream.match(wordOperators)) return "keyword"; if (stream.match(builtins)) return "builtin"; if (stream.match(/^(self|cls)\b/)) return "variable-2"; if (stream.match(identifiers)) { if (state.lastToken == "def" || state.lastToken == "class") return "def"; return "variable"; } // Handle non-detected items stream.next(); return ERRORCLASS; } function tokenStringFactory(delimiter) { while ("rubf".indexOf(delimiter.charAt(0).toLowerCase()) >= 0) delimiter = delimiter.substr(1); var singleline = delimiter.length == 1; var OUTCLASS = "string"; function tokenString(stream, state) { while (!stream.eol()) { stream.eatWhile(/[^'"\\]/); if (stream.eat("\\")) { stream.next(); if (singleline && stream.eol()) return OUTCLASS; } else if (stream.match(delimiter)) { state.tokenize = tokenBase; return OUTCLASS; } else { stream.eat(/['"]/); } } if (singleline) { if (parserConf.singleLineStringErrors) return ERRORCLASS; else state.tokenize = tokenBase; } return OUTCLASS; } tokenString.isString = true; return tokenString; } function pushPyScope(state) { while (top(state).type != "py") state.scopes.pop() state.scopes.push({offset: top(state).offset + conf.indentUnit, type: "py", align: null}) } function pushBracketScope(stream, state, type) { var align = stream.match(/^([\s\[\{\(]|#.*)*$/, false) ? null : stream.column() + 1 state.scopes.push({offset: state.indent + hangingIndent, type: type, align: align}) } function dedent(stream, state) { var indented = stream.indentation(); while (state.scopes.length > 1 && top(state).offset > indented) { if (top(state).type != "py") return true; state.scopes.pop(); } return top(state).offset != indented; } function tokenLexer(stream, state) { if (stream.sol()) state.beginningOfLine = true; var style = state.tokenize(stream, state); var current = stream.current(); // Handle decorators if (state.beginningOfLine && current == "@") return stream.match(identifiers, false) ? "meta" : py3 ? "operator" : ERRORCLASS; if (/\S/.test(current)) state.beginningOfLine = false; if ((style == "variable" || style == "builtin") && state.lastToken == "meta") style = "meta"; // Handle scope changes. if (current == "pass" || current == "return") state.dedent += 1; if (current == "lambda") state.lambda = true; if (current == ":" && !state.lambda && top(state).type == "py") pushPyScope(state); var delimiter_index = current.length == 1 ? "[({".indexOf(current) : -1; if (delimiter_index != -1) pushBracketScope(stream, state, "])}".slice(delimiter_index, delimiter_index+1)); delimiter_index = "])}".indexOf(current); if (delimiter_index != -1) { if (top(state).type == current) state.indent = state.scopes.pop().offset - hangingIndent else return ERRORCLASS; } if (state.dedent > 0 && stream.eol() && top(state).type == "py") { if (state.scopes.length > 1) state.scopes.pop(); state.dedent -= 1; } return style; } var external = { startState: function(basecolumn) { return { tokenize: tokenBase, scopes: [{offset: basecolumn || 0, type: "py", align: null}], indent: basecolumn || 0, lastToken: null, lambda: false, dedent: 0 }; }, token: function(stream, state) { var addErr = state.errorToken; if (addErr) state.errorToken = false; var style = tokenLexer(stream, state); if (style && style != "comment") state.lastToken = (style == "keyword" || style == "punctuation") ? stream.current() : style; if (style == "punctuation") style = null; if (stream.eol() && state.lambda) state.lambda = false; return addErr ? style + " " + ERRORCLASS : style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase) return state.tokenize.isString ? CodeMirror.Pass : 0; var scope = top(state), closing = scope.type == textAfter.charAt(0) if (scope.align != null) return scope.align - (closing ? 1 : 0) else return scope.offset - (closing ? hangingIndent : 0) }, electricInput: /^\s*[\}\]\)]$/, closeBrackets: {triples: "'\""}, lineComment: "#", fold: "indent" }; return external; }); CodeMirror.defineMIME("text/x-python", "python"); var words = function(str) { return str.split(" "); }; CodeMirror.defineMIME("text/x-cython", { name: "python", extra_keywords: words("by cdef cimport cpdef ctypedef enum except"+ "extern gil include nogil property public"+ "readonly struct union DEF IF ELIF ELSE") }); }); wp-file-manager/lib/codemirror/mode/python/test.js000064400000002223151202472330016212 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 4}, {name: "python", version: 3, singleLineStringErrors: false}); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } // Error, because "foobarhello" is neither a known type or property, but // property was expected (after "and"), and it should be in parentheses. MT("decoratorStartOfLine", "[meta @dec]", "[keyword def] [def function]():", " [keyword pass]"); MT("decoratorIndented", "[keyword class] [def Foo]:", " [meta @dec]", " [keyword def] [def function]():", " [keyword pass]"); MT("matmulWithSpace:", "[variable a] [operator @] [variable b]"); MT("matmulWithoutSpace:", "[variable a][operator @][variable b]"); MT("matmulSpaceBefore:", "[variable a] [operator @][variable b]"); MT("fValidStringPrefix", "[string f'this is a {formatted} string']"); MT("uValidStringPrefix", "[string u'this is an unicode string']"); })(); wp-file-manager/lib/codemirror/mode/q/index.html000064400000021406151202472330015615 0ustar00 CodeMirror: Q mode

        Q mode

        MIME type defined: text/x-q.

        wp-file-manager/lib/codemirror/mode/q/q.js000064400000014731151202472330014421 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("q",function(config){ var indentUnit=config.indentUnit, curPunc, keywords=buildRE(["abs","acos","aj","aj0","all","and","any","asc","asin","asof","atan","attr","avg","avgs","bin","by","ceiling","cols","cor","cos","count","cov","cross","csv","cut","delete","deltas","desc","dev","differ","distinct","div","do","each","ej","enlist","eval","except","exec","exit","exp","fby","fills","first","fkeys","flip","floor","from","get","getenv","group","gtime","hclose","hcount","hdel","hopen","hsym","iasc","idesc","if","ij","in","insert","inter","inv","key","keys","last","like","list","lj","load","log","lower","lsq","ltime","ltrim","mavg","max","maxs","mcount","md5","mdev","med","meta","min","mins","mmax","mmin","mmu","mod","msum","neg","next","not","null","or","over","parse","peach","pj","plist","prd","prds","prev","prior","rand","rank","ratios","raze","read0","read1","reciprocal","reverse","rload","rotate","rsave","rtrim","save","scan","select","set","setenv","show","signum","sin","sqrt","ss","ssr","string","sublist","sum","sums","sv","system","tables","tan","til","trim","txf","type","uj","ungroup","union","update","upper","upsert","value","var","view","views","vs","wavg","where","where","while","within","wj","wj1","wsum","xasc","xbar","xcol","xcols","xdesc","xexp","xgroup","xkey","xlog","xprev","xrank"]), E=/[|/&^!+:\\\-*%$=~#;@><,?_\'\"\[\(\]\)\s{}]/; function buildRE(w){return new RegExp("^("+w.join("|")+")$");} function tokenBase(stream,state){ var sol=stream.sol(),c=stream.next(); curPunc=null; if(sol) if(c=="/") return(state.tokenize=tokenLineComment)(stream,state); else if(c=="\\"){ if(stream.eol()||/\s/.test(stream.peek())) return stream.skipToEnd(),/^\\\s*$/.test(stream.current())?(state.tokenize=tokenCommentToEOF)(stream, state):state.tokenize=tokenBase,"comment"; else return state.tokenize=tokenBase,"builtin"; } if(/\s/.test(c)) return stream.peek()=="/"?(stream.skipToEnd(),"comment"):"whitespace"; if(c=='"') return(state.tokenize=tokenString)(stream,state); if(c=='`') return stream.eatWhile(/[A-Z|a-z|\d|_|:|\/|\.]/),"symbol"; if(("."==c&&/\d/.test(stream.peek()))||/\d/.test(c)){ var t=null; stream.backUp(1); if(stream.match(/^\d{4}\.\d{2}(m|\.\d{2}([D|T](\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)?)?)/) || stream.match(/^\d+D(\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)/) || stream.match(/^\d{2}:\d{2}(:\d{2}(\.\d{1,9})?)?/) || stream.match(/^\d+[ptuv]{1}/)) t="temporal"; else if(stream.match(/^0[NwW]{1}/) || stream.match(/^0x[\d|a-f|A-F]*/) || stream.match(/^[0|1]+[b]{1}/) || stream.match(/^\d+[chijn]{1}/) || stream.match(/-?\d*(\.\d*)?(e[+\-]?\d+)?(e|f)?/)) t="number"; return(t&&(!(c=stream.peek())||E.test(c)))?t:(stream.next(),"error"); } if(/[A-Z|a-z]|\./.test(c)) return stream.eatWhile(/[A-Z|a-z|\.|_|\d]/),keywords.test(stream.current())?"keyword":"variable"; if(/[|/&^!+:\\\-*%$=~#;@><\.,?_\']/.test(c)) return null; if(/[{}\(\[\]\)]/.test(c)) return null; return"error"; } function tokenLineComment(stream,state){ return stream.skipToEnd(),/\/\s*$/.test(stream.current())?(state.tokenize=tokenBlockComment)(stream,state):(state.tokenize=tokenBase),"comment"; } function tokenBlockComment(stream,state){ var f=stream.sol()&&stream.peek()=="\\"; stream.skipToEnd(); if(f&&/^\\\s*$/.test(stream.current())) state.tokenize=tokenBase; return"comment"; } function tokenCommentToEOF(stream){return stream.skipToEnd(),"comment";} function tokenString(stream,state){ var escaped=false,next,end=false; while((next=stream.next())){ if(next=="\""&&!escaped){end=true;break;} escaped=!escaped&&next=="\\"; } if(end)state.tokenize=tokenBase; return"string"; } function pushContext(state,type,col){state.context={prev:state.context,indent:state.indent,col:col,type:type};} function popContext(state){state.indent=state.context.indent;state.context=state.context.prev;} return{ startState:function(){ return{tokenize:tokenBase, context:null, indent:0, col:0}; }, token:function(stream,state){ if(stream.sol()){ if(state.context&&state.context.align==null) state.context.align=false; state.indent=stream.indentation(); } //if (stream.eatSpace()) return null; var style=state.tokenize(stream,state); if(style!="comment"&&state.context&&state.context.align==null&&state.context.type!="pattern"){ state.context.align=true; } if(curPunc=="(")pushContext(state,")",stream.column()); else if(curPunc=="[")pushContext(state,"]",stream.column()); else if(curPunc=="{")pushContext(state,"}",stream.column()); else if(/[\]\}\)]/.test(curPunc)){ while(state.context&&state.context.type=="pattern")popContext(state); if(state.context&&curPunc==state.context.type)popContext(state); } else if(curPunc=="."&&state.context&&state.context.type=="pattern")popContext(state); else if(/atom|string|variable/.test(style)&&state.context){ if(/[\}\]]/.test(state.context.type)) pushContext(state,"pattern",stream.column()); else if(state.context.type=="pattern"&&!state.context.align){ state.context.align=true; state.context.col=stream.column(); } } return style; }, indent:function(state,textAfter){ var firstChar=textAfter&&textAfter.charAt(0); var context=state.context; if(/[\]\}]/.test(firstChar)) while (context&&context.type=="pattern")context=context.prev; var closing=context&&firstChar==context.type; if(!context) return 0; else if(context.type=="pattern") return context.col; else if(context.align) return context.col+(closing?0:1); else return context.indent+(closing?0:indentUnit); } }; }); CodeMirror.defineMIME("text/x-q","q"); }); wp-file-manager/lib/codemirror/mode/r/index.html000064400000005016151202472330015615 0ustar00 CodeMirror: R mode

        R mode

        MIME types defined: text/x-rsrc.

        Development of the CodeMirror R mode was kindly sponsored by Ubalo.

        wp-file-manager/lib/codemirror/mode/r/r.js000064400000013055151202472330014421 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.registerHelper("wordChars", "r", /[\w.]/); CodeMirror.defineMode("r", function(config) { function wordObj(str) { var words = str.split(" "), res = {}; for (var i = 0; i < words.length; ++i) res[words[i]] = true; return res; } var atoms = wordObj("NULL NA Inf NaN NA_integer_ NA_real_ NA_complex_ NA_character_"); var builtins = wordObj("list quote bquote eval return call parse deparse"); var keywords = wordObj("if else repeat while function for in next break"); var blockkeywords = wordObj("if else repeat while function for"); var opChars = /[+\-*\/^<>=!&|~$:]/; var curPunc; function tokenBase(stream, state) { curPunc = null; var ch = stream.next(); if (ch == "#") { stream.skipToEnd(); return "comment"; } else if (ch == "0" && stream.eat("x")) { stream.eatWhile(/[\da-f]/i); return "number"; } else if (ch == "." && stream.eat(/\d/)) { stream.match(/\d*(?:e[+\-]?\d+)?/); return "number"; } else if (/\d/.test(ch)) { stream.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/); return "number"; } else if (ch == "'" || ch == '"') { state.tokenize = tokenString(ch); return "string"; } else if (ch == "." && stream.match(/.[.\d]+/)) { return "keyword"; } else if (/[\w\.]/.test(ch) && ch != "_") { stream.eatWhile(/[\w\.]/); var word = stream.current(); if (atoms.propertyIsEnumerable(word)) return "atom"; if (keywords.propertyIsEnumerable(word)) { // Block keywords start new blocks, except 'else if', which only starts // one new block for the 'if', no block for the 'else'. if (blockkeywords.propertyIsEnumerable(word) && !stream.match(/\s*if(\s+|$)/, false)) curPunc = "block"; return "keyword"; } if (builtins.propertyIsEnumerable(word)) return "builtin"; return "variable"; } else if (ch == "%") { if (stream.skipTo("%")) stream.next(); return "variable-2"; } else if (ch == "<" && stream.eat("-")) { return "arrow"; } else if (ch == "=" && state.ctx.argList) { return "arg-is"; } else if (opChars.test(ch)) { if (ch == "$") return "dollar"; stream.eatWhile(opChars); return "operator"; } else if (/[\(\){}\[\];]/.test(ch)) { curPunc = ch; if (ch == ";") return "semi"; return null; } else { return null; } } function tokenString(quote) { return function(stream, state) { if (stream.eat("\\")) { var ch = stream.next(); if (ch == "x") stream.match(/^[a-f0-9]{2}/i); else if ((ch == "u" || ch == "U") && stream.eat("{") && stream.skipTo("}")) stream.next(); else if (ch == "u") stream.match(/^[a-f0-9]{4}/i); else if (ch == "U") stream.match(/^[a-f0-9]{8}/i); else if (/[0-7]/.test(ch)) stream.match(/^[0-7]{1,2}/); return "string-2"; } else { var next; while ((next = stream.next()) != null) { if (next == quote) { state.tokenize = tokenBase; break; } if (next == "\\") { stream.backUp(1); break; } } return "string"; } }; } function push(state, type, stream) { state.ctx = {type: type, indent: state.indent, align: null, column: stream.column(), prev: state.ctx}; } function pop(state) { state.indent = state.ctx.indent; state.ctx = state.ctx.prev; } return { startState: function() { return {tokenize: tokenBase, ctx: {type: "top", indent: -config.indentUnit, align: false}, indent: 0, afterIdent: false}; }, token: function(stream, state) { if (stream.sol()) { if (state.ctx.align == null) state.ctx.align = false; state.indent = stream.indentation(); } if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); if (style != "comment" && state.ctx.align == null) state.ctx.align = true; var ctype = state.ctx.type; if ((curPunc == ";" || curPunc == "{" || curPunc == "}") && ctype == "block") pop(state); if (curPunc == "{") push(state, "}", stream); else if (curPunc == "(") { push(state, ")", stream); if (state.afterIdent) state.ctx.argList = true; } else if (curPunc == "[") push(state, "]", stream); else if (curPunc == "block") push(state, "block", stream); else if (curPunc == ctype) pop(state); state.afterIdent = style == "variable" || style == "keyword"; return style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase) return 0; var firstChar = textAfter && textAfter.charAt(0), ctx = state.ctx, closing = firstChar == ctx.type; if (ctx.type == "block") return ctx.indent + (firstChar == "{" ? 0 : config.indentUnit); else if (ctx.align) return ctx.column + (closing ? 0 : 1); else return ctx.indent + (closing ? 0 : config.indentUnit); }, lineComment: "#" }; }); CodeMirror.defineMIME("text/x-rsrc", "r"); }); wp-file-manager/lib/codemirror/mode/rpm/changes/index.html000064400000004204151202472330017560 0ustar00 CodeMirror: RPM changes mode

        RPM changes mode

        MIME types defined: text/x-rpm-changes.

        wp-file-manager/lib/codemirror/mode/rpm/index.html000064400000011017151202472330016150 0ustar00 CodeMirror: RPM changes mode

        RPM changes mode

        RPM spec mode

        MIME types defined: text/x-rpm-spec, text/x-rpm-changes.

        wp-file-manager/lib/codemirror/mode/rpm/rpm.js000064400000007277151202472330015324 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("rpm-changes", function() { var headerSeperator = /^-+$/; var headerLine = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /; var simpleEmail = /^[\w+.-]+@[\w.-]+/; return { token: function(stream) { if (stream.sol()) { if (stream.match(headerSeperator)) { return 'tag'; } if (stream.match(headerLine)) { return 'tag'; } } if (stream.match(simpleEmail)) { return 'string'; } stream.next(); return null; } }; }); CodeMirror.defineMIME("text/x-rpm-changes", "rpm-changes"); // Quick and dirty spec file highlighting CodeMirror.defineMode("rpm-spec", function() { var arch = /^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/; var preamble = /^[a-zA-Z0-9()]+:/; var section = /^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/; var control_flow_complex = /^%(ifnarch|ifarch|if)/; // rpm control flow macros var control_flow_simple = /^%(else|endif)/; // rpm control flow macros var operators = /^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/; // operators in control flow macros return { startState: function () { return { controlFlow: false, macroParameters: false, section: false }; }, token: function (stream, state) { var ch = stream.peek(); if (ch == "#") { stream.skipToEnd(); return "comment"; } if (stream.sol()) { if (stream.match(preamble)) { return "header"; } if (stream.match(section)) { return "atom"; } } if (stream.match(/^\$\w+/)) { return "def"; } // Variables like '$RPM_BUILD_ROOT' if (stream.match(/^\$\{\w+\}/)) { return "def"; } // Variables like '${RPM_BUILD_ROOT}' if (stream.match(control_flow_simple)) { return "keyword"; } if (stream.match(control_flow_complex)) { state.controlFlow = true; return "keyword"; } if (state.controlFlow) { if (stream.match(operators)) { return "operator"; } if (stream.match(/^(\d+)/)) { return "number"; } if (stream.eol()) { state.controlFlow = false; } } if (stream.match(arch)) { if (stream.eol()) { state.controlFlow = false; } return "number"; } // Macros like '%make_install' or '%attr(0775,root,root)' if (stream.match(/^%[\w]+/)) { if (stream.match(/^\(/)) { state.macroParameters = true; } return "keyword"; } if (state.macroParameters) { if (stream.match(/^\d+/)) { return "number";} if (stream.match(/^\)/)) { state.macroParameters = false; return "keyword"; } } // Macros like '%{defined fedora}' if (stream.match(/^%\{\??[\w \-\:\!]+\}/)) { if (stream.eol()) { state.controlFlow = false; } return "def"; } //TODO: Include bash script sub-parser (CodeMirror supports that) stream.next(); return null; } }; }); CodeMirror.defineMIME("text/x-rpm-spec", "rpm-spec"); }); wp-file-manager/lib/codemirror/mode/rst/index.html000064400000042551151202472330016171 0ustar00 CodeMirror: reStructuredText mode

        reStructuredText mode

        The python mode will be used for highlighting blocks containing Python/IPython terminal sessions: blocks starting with >>> (for Python) or In [num]: (for IPython). Further, the stex mode will be used for highlighting blocks containing LaTex code.

        MIME types defined: text/x-rst.

        wp-file-manager/lib/codemirror/mode/rst/rst.js000064400000042213151202472330015335 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../python/python"), require("../stex/stex"), require("../../addon/mode/overlay")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../python/python", "../stex/stex", "../../addon/mode/overlay"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('rst', function (config, options) { var rx_strong = /^\*\*[^\*\s](?:[^\*]*[^\*\s])?\*\*/; var rx_emphasis = /^\*[^\*\s](?:[^\*]*[^\*\s])?\*/; var rx_literal = /^``[^`\s](?:[^`]*[^`\s])``/; var rx_number = /^(?:[\d]+(?:[\.,]\d+)*)/; var rx_positive = /^(?:\s\+[\d]+(?:[\.,]\d+)*)/; var rx_negative = /^(?:\s\-[\d]+(?:[\.,]\d+)*)/; var rx_uri_protocol = "[Hh][Tt][Tt][Pp][Ss]?://"; var rx_uri_domain = "(?:[\\d\\w.-]+)\\.(?:\\w{2,6})"; var rx_uri_path = "(?:/[\\d\\w\\#\\%\\&\\-\\.\\,\\/\\:\\=\\?\\~]+)*"; var rx_uri = new RegExp("^" + rx_uri_protocol + rx_uri_domain + rx_uri_path); var overlay = { token: function (stream) { if (stream.match(rx_strong) && stream.match (/\W+|$/, false)) return 'strong'; if (stream.match(rx_emphasis) && stream.match (/\W+|$/, false)) return 'em'; if (stream.match(rx_literal) && stream.match (/\W+|$/, false)) return 'string-2'; if (stream.match(rx_number)) return 'number'; if (stream.match(rx_positive)) return 'positive'; if (stream.match(rx_negative)) return 'negative'; if (stream.match(rx_uri)) return 'link'; while (stream.next() != null) { if (stream.match(rx_strong, false)) break; if (stream.match(rx_emphasis, false)) break; if (stream.match(rx_literal, false)) break; if (stream.match(rx_number, false)) break; if (stream.match(rx_positive, false)) break; if (stream.match(rx_negative, false)) break; if (stream.match(rx_uri, false)) break; } return null; } }; var mode = CodeMirror.getMode( config, options.backdrop || 'rst-base' ); return CodeMirror.overlayMode(mode, overlay, true); // combine }, 'python', 'stex'); /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// CodeMirror.defineMode('rst-base', function (config) { /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// function format(string) { var args = Array.prototype.slice.call(arguments, 1); return string.replace(/{(\d+)}/g, function (match, n) { return typeof args[n] != 'undefined' ? args[n] : match; }); } /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// var mode_python = CodeMirror.getMode(config, 'python'); var mode_stex = CodeMirror.getMode(config, 'stex'); /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// var SEPA = "\\s+"; var TAIL = "(?:\\s*|\\W|$)", rx_TAIL = new RegExp(format('^{0}', TAIL)); var NAME = "(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\.\/:;<=>\\?]*[^\\W_])?)", rx_NAME = new RegExp(format('^{0}', NAME)); var NAME_WWS = "(?:[^\\W\\d_](?:[\\w\\s!\"#$%&'()\\*\\+,\\-\\.\/:;<=>\\?]*[^\\W_])?)"; var REF_NAME = format('(?:{0}|`{1}`)', NAME, NAME_WWS); var TEXT1 = "(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)"; var TEXT2 = "(?:[^\\`]+)", rx_TEXT2 = new RegExp(format('^{0}', TEXT2)); var rx_section = new RegExp( "^([!'#$%&\"()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])\\1{3,}\\s*$"); var rx_explicit = new RegExp( format('^\\.\\.{0}', SEPA)); var rx_link = new RegExp( format('^_{0}:{1}|^__:{1}', REF_NAME, TAIL)); var rx_directive = new RegExp( format('^{0}::{1}', REF_NAME, TAIL)); var rx_substitution = new RegExp( format('^\\|{0}\\|{1}{2}::{3}', TEXT1, SEPA, REF_NAME, TAIL)); var rx_footnote = new RegExp( format('^\\[(?:\\d+|#{0}?|\\*)]{1}', REF_NAME, TAIL)); var rx_citation = new RegExp( format('^\\[{0}\\]{1}', REF_NAME, TAIL)); var rx_substitution_ref = new RegExp( format('^\\|{0}\\|', TEXT1)); var rx_footnote_ref = new RegExp( format('^\\[(?:\\d+|#{0}?|\\*)]_', REF_NAME)); var rx_citation_ref = new RegExp( format('^\\[{0}\\]_', REF_NAME)); var rx_link_ref1 = new RegExp( format('^{0}__?', REF_NAME)); var rx_link_ref2 = new RegExp( format('^`{0}`_', TEXT2)); var rx_role_pre = new RegExp( format('^:{0}:`{1}`{2}', NAME, TEXT2, TAIL)); var rx_role_suf = new RegExp( format('^`{1}`:{0}:{2}', NAME, TEXT2, TAIL)); var rx_role = new RegExp( format('^:{0}:{1}', NAME, TAIL)); var rx_directive_name = new RegExp(format('^{0}', REF_NAME)); var rx_directive_tail = new RegExp(format('^::{0}', TAIL)); var rx_substitution_text = new RegExp(format('^\\|{0}\\|', TEXT1)); var rx_substitution_sepa = new RegExp(format('^{0}', SEPA)); var rx_substitution_name = new RegExp(format('^{0}', REF_NAME)); var rx_substitution_tail = new RegExp(format('^::{0}', TAIL)); var rx_link_head = new RegExp("^_"); var rx_link_name = new RegExp(format('^{0}|_', REF_NAME)); var rx_link_tail = new RegExp(format('^:{0}', TAIL)); var rx_verbatim = new RegExp('^::\\s*$'); var rx_examples = new RegExp('^\\s+(?:>>>|In \\[\\d+\\]:)\\s'); /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// function to_normal(stream, state) { var token = null; if (stream.sol() && stream.match(rx_examples, false)) { change(state, to_mode, { mode: mode_python, local: CodeMirror.startState(mode_python) }); } else if (stream.sol() && stream.match(rx_explicit)) { change(state, to_explicit); token = 'meta'; } else if (stream.sol() && stream.match(rx_section)) { change(state, to_normal); token = 'header'; } else if (phase(state) == rx_role_pre || stream.match(rx_role_pre, false)) { switch (stage(state)) { case 0: change(state, to_normal, context(rx_role_pre, 1)); stream.match(/^:/); token = 'meta'; break; case 1: change(state, to_normal, context(rx_role_pre, 2)); stream.match(rx_NAME); token = 'keyword'; if (stream.current().match(/^(?:math|latex)/)) { state.tmp_stex = true; } break; case 2: change(state, to_normal, context(rx_role_pre, 3)); stream.match(/^:`/); token = 'meta'; break; case 3: if (state.tmp_stex) { state.tmp_stex = undefined; state.tmp = { mode: mode_stex, local: CodeMirror.startState(mode_stex) }; } if (state.tmp) { if (stream.peek() == '`') { change(state, to_normal, context(rx_role_pre, 4)); state.tmp = undefined; break; } token = state.tmp.mode.token(stream, state.tmp.local); break; } change(state, to_normal, context(rx_role_pre, 4)); stream.match(rx_TEXT2); token = 'string'; break; case 4: change(state, to_normal, context(rx_role_pre, 5)); stream.match(/^`/); token = 'meta'; break; case 5: change(state, to_normal, context(rx_role_pre, 6)); stream.match(rx_TAIL); break; default: change(state, to_normal); } } else if (phase(state) == rx_role_suf || stream.match(rx_role_suf, false)) { switch (stage(state)) { case 0: change(state, to_normal, context(rx_role_suf, 1)); stream.match(/^`/); token = 'meta'; break; case 1: change(state, to_normal, context(rx_role_suf, 2)); stream.match(rx_TEXT2); token = 'string'; break; case 2: change(state, to_normal, context(rx_role_suf, 3)); stream.match(/^`:/); token = 'meta'; break; case 3: change(state, to_normal, context(rx_role_suf, 4)); stream.match(rx_NAME); token = 'keyword'; break; case 4: change(state, to_normal, context(rx_role_suf, 5)); stream.match(/^:/); token = 'meta'; break; case 5: change(state, to_normal, context(rx_role_suf, 6)); stream.match(rx_TAIL); break; default: change(state, to_normal); } } else if (phase(state) == rx_role || stream.match(rx_role, false)) { switch (stage(state)) { case 0: change(state, to_normal, context(rx_role, 1)); stream.match(/^:/); token = 'meta'; break; case 1: change(state, to_normal, context(rx_role, 2)); stream.match(rx_NAME); token = 'keyword'; break; case 2: change(state, to_normal, context(rx_role, 3)); stream.match(/^:/); token = 'meta'; break; case 3: change(state, to_normal, context(rx_role, 4)); stream.match(rx_TAIL); break; default: change(state, to_normal); } } else if (phase(state) == rx_substitution_ref || stream.match(rx_substitution_ref, false)) { switch (stage(state)) { case 0: change(state, to_normal, context(rx_substitution_ref, 1)); stream.match(rx_substitution_text); token = 'variable-2'; break; case 1: change(state, to_normal, context(rx_substitution_ref, 2)); if (stream.match(/^_?_?/)) token = 'link'; break; default: change(state, to_normal); } } else if (stream.match(rx_footnote_ref)) { change(state, to_normal); token = 'quote'; } else if (stream.match(rx_citation_ref)) { change(state, to_normal); token = 'quote'; } else if (stream.match(rx_link_ref1)) { change(state, to_normal); if (!stream.peek() || stream.peek().match(/^\W$/)) { token = 'link'; } } else if (phase(state) == rx_link_ref2 || stream.match(rx_link_ref2, false)) { switch (stage(state)) { case 0: if (!stream.peek() || stream.peek().match(/^\W$/)) { change(state, to_normal, context(rx_link_ref2, 1)); } else { stream.match(rx_link_ref2); } break; case 1: change(state, to_normal, context(rx_link_ref2, 2)); stream.match(/^`/); token = 'link'; break; case 2: change(state, to_normal, context(rx_link_ref2, 3)); stream.match(rx_TEXT2); break; case 3: change(state, to_normal, context(rx_link_ref2, 4)); stream.match(/^`_/); token = 'link'; break; default: change(state, to_normal); } } else if (stream.match(rx_verbatim)) { change(state, to_verbatim); } else { if (stream.next()) change(state, to_normal); } return token; } /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// function to_explicit(stream, state) { var token = null; if (phase(state) == rx_substitution || stream.match(rx_substitution, false)) { switch (stage(state)) { case 0: change(state, to_explicit, context(rx_substitution, 1)); stream.match(rx_substitution_text); token = 'variable-2'; break; case 1: change(state, to_explicit, context(rx_substitution, 2)); stream.match(rx_substitution_sepa); break; case 2: change(state, to_explicit, context(rx_substitution, 3)); stream.match(rx_substitution_name); token = 'keyword'; break; case 3: change(state, to_explicit, context(rx_substitution, 4)); stream.match(rx_substitution_tail); token = 'meta'; break; default: change(state, to_normal); } } else if (phase(state) == rx_directive || stream.match(rx_directive, false)) { switch (stage(state)) { case 0: change(state, to_explicit, context(rx_directive, 1)); stream.match(rx_directive_name); token = 'keyword'; if (stream.current().match(/^(?:math|latex)/)) state.tmp_stex = true; else if (stream.current().match(/^python/)) state.tmp_py = true; break; case 1: change(state, to_explicit, context(rx_directive, 2)); stream.match(rx_directive_tail); token = 'meta'; if (stream.match(/^latex\s*$/) || state.tmp_stex) { state.tmp_stex = undefined; change(state, to_mode, { mode: mode_stex, local: CodeMirror.startState(mode_stex) }); } break; case 2: change(state, to_explicit, context(rx_directive, 3)); if (stream.match(/^python\s*$/) || state.tmp_py) { state.tmp_py = undefined; change(state, to_mode, { mode: mode_python, local: CodeMirror.startState(mode_python) }); } break; default: change(state, to_normal); } } else if (phase(state) == rx_link || stream.match(rx_link, false)) { switch (stage(state)) { case 0: change(state, to_explicit, context(rx_link, 1)); stream.match(rx_link_head); stream.match(rx_link_name); token = 'link'; break; case 1: change(state, to_explicit, context(rx_link, 2)); stream.match(rx_link_tail); token = 'meta'; break; default: change(state, to_normal); } } else if (stream.match(rx_footnote)) { change(state, to_normal); token = 'quote'; } else if (stream.match(rx_citation)) { change(state, to_normal); token = 'quote'; } else { stream.eatSpace(); if (stream.eol()) { change(state, to_normal); } else { stream.skipToEnd(); change(state, to_comment); token = 'comment'; } } return token; } /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// function to_comment(stream, state) { return as_block(stream, state, 'comment'); } function to_verbatim(stream, state) { return as_block(stream, state, 'meta'); } function as_block(stream, state, token) { if (stream.eol() || stream.eatSpace()) { stream.skipToEnd(); return token; } else { change(state, to_normal); return null; } } /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// function to_mode(stream, state) { if (state.ctx.mode && state.ctx.local) { if (stream.sol()) { if (!stream.eatSpace()) change(state, to_normal); return null; } return state.ctx.mode.token(stream, state.ctx.local); } change(state, to_normal); return null; } /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// function context(phase, stage, mode, local) { return {phase: phase, stage: stage, mode: mode, local: local}; } function change(state, tok, ctx) { state.tok = tok; state.ctx = ctx || {}; } function stage(state) { return state.ctx.stage || 0; } function phase(state) { return state.ctx.phase; } /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// return { startState: function () { return {tok: to_normal, ctx: context(undefined, 0)}; }, copyState: function (state) { var ctx = state.ctx, tmp = state.tmp; if (ctx.local) ctx = {mode: ctx.mode, local: CodeMirror.copyState(ctx.mode, ctx.local)}; if (tmp) tmp = {mode: tmp.mode, local: CodeMirror.copyState(tmp.mode, tmp.local)}; return {tok: state.tok, ctx: ctx, tmp: tmp}; }, innerMode: function (state) { return state.tmp ? {state: state.tmp.local, mode: state.tmp.mode} : state.ctx.mode ? {state: state.ctx.local, mode: state.ctx.mode} : null; }, token: function (stream, state) { return state.tok(stream, state); } }; }, 'python', 'stex'); /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// CodeMirror.defineMIME('text/x-rst', 'rst'); /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// }); wp-file-manager/lib/codemirror/mode/ruby/index.html000064400000013165151202472330016341 0ustar00 CodeMirror: Ruby mode

        Ruby mode

        MIME types defined: text/x-ruby.

        Development of the CodeMirror Ruby mode was kindly sponsored by Ubalo.

        wp-file-manager/lib/codemirror/mode/ruby/ruby.js000064400000024331151202472330015660 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("ruby", function(config) { function wordObj(words) { var o = {}; for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true; return o; } var keywords = wordObj([ "alias", "and", "BEGIN", "begin", "break", "case", "class", "def", "defined?", "do", "else", "elsif", "END", "end", "ensure", "false", "for", "if", "in", "module", "next", "not", "or", "redo", "rescue", "retry", "return", "self", "super", "then", "true", "undef", "unless", "until", "when", "while", "yield", "nil", "raise", "throw", "catch", "fail", "loop", "callcc", "caller", "lambda", "proc", "public", "protected", "private", "require", "load", "require_relative", "extend", "autoload", "__END__", "__FILE__", "__LINE__", "__dir__" ]); var indentWords = wordObj(["def", "class", "case", "for", "while", "until", "module", "then", "catch", "loop", "proc", "begin"]); var dedentWords = wordObj(["end", "until"]); var matching = {"[": "]", "{": "}", "(": ")"}; var curPunc; function chain(newtok, stream, state) { state.tokenize.push(newtok); return newtok(stream, state); } function tokenBase(stream, state) { if (stream.sol() && stream.match("=begin") && stream.eol()) { state.tokenize.push(readBlockComment); return "comment"; } if (stream.eatSpace()) return null; var ch = stream.next(), m; if (ch == "`" || ch == "'" || ch == '"') { return chain(readQuoted(ch, "string", ch == '"' || ch == "`"), stream, state); } else if (ch == "/") { var currentIndex = stream.current().length; if (stream.skipTo("/")) { var search_till = stream.current().length; stream.backUp(stream.current().length - currentIndex); var balance = 0; // balance brackets while (stream.current().length < search_till) { var chchr = stream.next(); if (chchr == "(") balance += 1; else if (chchr == ")") balance -= 1; if (balance < 0) break; } stream.backUp(stream.current().length - currentIndex); if (balance == 0) return chain(readQuoted(ch, "string-2", true), stream, state); } return "operator"; } else if (ch == "%") { var style = "string", embed = true; if (stream.eat("s")) style = "atom"; else if (stream.eat(/[WQ]/)) style = "string"; else if (stream.eat(/[r]/)) style = "string-2"; else if (stream.eat(/[wxq]/)) { style = "string"; embed = false; } var delim = stream.eat(/[^\w\s=]/); if (!delim) return "operator"; if (matching.propertyIsEnumerable(delim)) delim = matching[delim]; return chain(readQuoted(delim, style, embed, true), stream, state); } else if (ch == "#") { stream.skipToEnd(); return "comment"; } else if (ch == "<" && (m = stream.match(/^<-?[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/))) { return chain(readHereDoc(m[1]), stream, state); } else if (ch == "0") { if (stream.eat("x")) stream.eatWhile(/[\da-fA-F]/); else if (stream.eat("b")) stream.eatWhile(/[01]/); else stream.eatWhile(/[0-7]/); return "number"; } else if (/\d/.test(ch)) { stream.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/); return "number"; } else if (ch == "?") { while (stream.match(/^\\[CM]-/)) {} if (stream.eat("\\")) stream.eatWhile(/\w/); else stream.next(); return "string"; } else if (ch == ":") { if (stream.eat("'")) return chain(readQuoted("'", "atom", false), stream, state); if (stream.eat('"')) return chain(readQuoted('"', "atom", true), stream, state); // :> :>> :< :<< are valid symbols if (stream.eat(/[\<\>]/)) { stream.eat(/[\<\>]/); return "atom"; } // :+ :- :/ :* :| :& :! are valid symbols if (stream.eat(/[\+\-\*\/\&\|\:\!]/)) { return "atom"; } // Symbols can't start by a digit if (stream.eat(/[a-zA-Z$@_\xa1-\uffff]/)) { stream.eatWhile(/[\w$\xa1-\uffff]/); // Only one ? ! = is allowed and only as the last character stream.eat(/[\?\!\=]/); return "atom"; } return "operator"; } else if (ch == "@" && stream.match(/^@?[a-zA-Z_\xa1-\uffff]/)) { stream.eat("@"); stream.eatWhile(/[\w\xa1-\uffff]/); return "variable-2"; } else if (ch == "$") { if (stream.eat(/[a-zA-Z_]/)) { stream.eatWhile(/[\w]/); } else if (stream.eat(/\d/)) { stream.eat(/\d/); } else { stream.next(); // Must be a special global like $: or $! } return "variable-3"; } else if (/[a-zA-Z_\xa1-\uffff]/.test(ch)) { stream.eatWhile(/[\w\xa1-\uffff]/); stream.eat(/[\?\!]/); if (stream.eat(":")) return "atom"; return "ident"; } else if (ch == "|" && (state.varList || state.lastTok == "{" || state.lastTok == "do")) { curPunc = "|"; return null; } else if (/[\(\)\[\]{}\\;]/.test(ch)) { curPunc = ch; return null; } else if (ch == "-" && stream.eat(">")) { return "arrow"; } else if (/[=+\-\/*:\.^%<>~|]/.test(ch)) { var more = stream.eatWhile(/[=+\-\/*:\.^%<>~|]/); if (ch == "." && !more) curPunc = "."; return "operator"; } else { return null; } } function tokenBaseUntilBrace(depth) { if (!depth) depth = 1; return function(stream, state) { if (stream.peek() == "}") { if (depth == 1) { state.tokenize.pop(); return state.tokenize[state.tokenize.length-1](stream, state); } else { state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth - 1); } } else if (stream.peek() == "{") { state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth + 1); } return tokenBase(stream, state); }; } function tokenBaseOnce() { var alreadyCalled = false; return function(stream, state) { if (alreadyCalled) { state.tokenize.pop(); return state.tokenize[state.tokenize.length-1](stream, state); } alreadyCalled = true; return tokenBase(stream, state); }; } function readQuoted(quote, style, embed, unescaped) { return function(stream, state) { var escaped = false, ch; if (state.context.type === 'read-quoted-paused') { state.context = state.context.prev; stream.eat("}"); } while ((ch = stream.next()) != null) { if (ch == quote && (unescaped || !escaped)) { state.tokenize.pop(); break; } if (embed && ch == "#" && !escaped) { if (stream.eat("{")) { if (quote == "}") { state.context = {prev: state.context, type: 'read-quoted-paused'}; } state.tokenize.push(tokenBaseUntilBrace()); break; } else if (/[@\$]/.test(stream.peek())) { state.tokenize.push(tokenBaseOnce()); break; } } escaped = !escaped && ch == "\\"; } return style; }; } function readHereDoc(phrase) { return function(stream, state) { if (stream.match(phrase)) state.tokenize.pop(); else stream.skipToEnd(); return "string"; }; } function readBlockComment(stream, state) { if (stream.sol() && stream.match("=end") && stream.eol()) state.tokenize.pop(); stream.skipToEnd(); return "comment"; } return { startState: function() { return {tokenize: [tokenBase], indented: 0, context: {type: "top", indented: -config.indentUnit}, continuedLine: false, lastTok: null, varList: false}; }, token: function(stream, state) { curPunc = null; if (stream.sol()) state.indented = stream.indentation(); var style = state.tokenize[state.tokenize.length-1](stream, state), kwtype; var thisTok = curPunc; if (style == "ident") { var word = stream.current(); style = state.lastTok == "." ? "property" : keywords.propertyIsEnumerable(stream.current()) ? "keyword" : /^[A-Z]/.test(word) ? "tag" : (state.lastTok == "def" || state.lastTok == "class" || state.varList) ? "def" : "variable"; if (style == "keyword") { thisTok = word; if (indentWords.propertyIsEnumerable(word)) kwtype = "indent"; else if (dedentWords.propertyIsEnumerable(word)) kwtype = "dedent"; else if ((word == "if" || word == "unless") && stream.column() == stream.indentation()) kwtype = "indent"; else if (word == "do" && state.context.indented < state.indented) kwtype = "indent"; } } if (curPunc || (style && style != "comment")) state.lastTok = thisTok; if (curPunc == "|") state.varList = !state.varList; if (kwtype == "indent" || /[\(\[\{]/.test(curPunc)) state.context = {prev: state.context, type: curPunc || style, indented: state.indented}; else if ((kwtype == "dedent" || /[\)\]\}]/.test(curPunc)) && state.context.prev) state.context = state.context.prev; if (stream.eol()) state.continuedLine = (curPunc == "\\" || style == "operator"); return style; }, indent: function(state, textAfter) { if (state.tokenize[state.tokenize.length-1] != tokenBase) return 0; var firstChar = textAfter && textAfter.charAt(0); var ct = state.context; var closing = ct.type == matching[firstChar] || ct.type == "keyword" && /^(?:end|until|else|elsif|when|rescue)\b/.test(textAfter); return ct.indented + (closing ? 0 : config.indentUnit) + (state.continuedLine ? config.indentUnit : 0); }, electricInput: /^\s*(?:end|rescue|\})$/, lineComment: "#" }; }); CodeMirror.defineMIME("text/x-ruby", "ruby"); }); wp-file-manager/lib/codemirror/mode/ruby/test.js000064400000000726151202472330015660 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "ruby"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT("divide_equal_operator", "[variable bar] [operator /=] [variable foo]"); MT("divide_equal_operator_no_spacing", "[variable foo][operator /=][number 42]"); })(); wp-file-manager/lib/codemirror/mode/rust/index.html000064400000002774151202472330016361 0ustar00 CodeMirror: Rust mode

        Rust mode

        MIME types defined: text/x-rustsrc.

        wp-file-manager/lib/codemirror/mode/rust/rust.js000064400000005721151202472330015712 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../../addon/mode/simple")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../../addon/mode/simple"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineSimpleMode("rust",{ start: [ // string and byte string {regex: /b?"/, token: "string", next: "string"}, // raw string and raw byte string {regex: /b?r"/, token: "string", next: "string_raw"}, {regex: /b?r#+"/, token: "string", next: "string_raw_hash"}, // character {regex: /'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/, token: "string-2"}, // byte {regex: /b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/, token: "string-2"}, {regex: /(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/, token: "number"}, {regex: /(let(?:\s+mut)?|fn|enum|mod|struct|type)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/, token: ["keyword", null, "def"]}, {regex: /(?:abstract|alignof|as|box|break|continue|const|crate|do|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/, token: "keyword"}, {regex: /\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/, token: "atom"}, {regex: /\b(?:true|false|Some|None|Ok|Err)\b/, token: "builtin"}, {regex: /\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/, token: ["keyword", null ,"def"]}, {regex: /#!?\[.*\]/, token: "meta"}, {regex: /\/\/.*/, token: "comment"}, {regex: /\/\*/, token: "comment", next: "comment"}, {regex: /[-+\/*=<>!]+/, token: "operator"}, {regex: /[a-zA-Z_]\w*!/,token: "variable-3"}, {regex: /[a-zA-Z_]\w*/, token: "variable"}, {regex: /[\{\[\(]/, indent: true}, {regex: /[\}\]\)]/, dedent: true} ], string: [ {regex: /"/, token: "string", next: "start"}, {regex: /(?:[^\\"]|\\(?:.|$))*/, token: "string"} ], string_raw: [ {regex: /"/, token: "string", next: "start"}, {regex: /[^"]*/, token: "string"} ], string_raw_hash: [ {regex: /"#+/, token: "string", next: "start"}, {regex: /(?:[^"]|"(?!#))*/, token: "string"} ], comment: [ {regex: /.*?\*\//, token: "comment", next: "start"}, {regex: /.*/, token: "comment"} ], meta: { dontIndentStates: ["comment"], electricInput: /^\s*\}$/, blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//", fold: "brace" } }); CodeMirror.defineMIME("text/x-rustsrc", "rust"); }); wp-file-manager/lib/codemirror/mode/rust/test.js000064400000001740151202472330015671 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 4}, "rust"); function MT(name) {test.mode(name, mode, Array.prototype.slice.call(arguments, 1));} MT('integer_test', '[number 123i32]', '[number 123u32]', '[number 123_u32]', '[number 0xff_u8]', '[number 0o70_i16]', '[number 0b1111_1111_1001_0000_i32]', '[number 0usize]'); MT('float_test', '[number 123.0f64]', '[number 0.1f64]', '[number 0.1f32]', '[number 12E+99_f64]'); MT('string-literals-test', '[string "foo"]', '[string r"foo"]', '[string "\\"foo\\""]', '[string r#""foo""#]', '[string "foo #\\"# bar"]', '[string b"foo"]', '[string br"foo"]', '[string b"\\"foo\\""]', '[string br#""foo""#]', '[string br##"foo #" bar"##]', "[string-2 'h']", "[string-2 b'h']"); })(); wp-file-manager/lib/codemirror/mode/sas/index.html000064400000003476151202472330016152 0ustar00 CodeMirror: SAS mode

        SAS mode

        MIME types defined: text/x-sas.

        wp-file-manager/lib/codemirror/mode/sas/sas.js000064400000037351151202472330015300 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // SAS mode copyright (c) 2016 Jared Dean, SAS Institute // Created by Jared Dean // TODO // indent and de-indent // identify macro variables //Definitions // comment -- text withing * ; or /* */ // keyword -- SAS language variable // variable -- macro variables starts with '&' or variable formats // variable-2 -- DATA Step, proc, or macro names // string -- text within ' ' or " " // operator -- numeric operator + / - * ** le eq ge ... and so on // builtin -- proc %macro data run mend // atom // def (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("sas", function () { var words = {}; var isDoubleOperatorSym = { eq: 'operator', lt: 'operator', le: 'operator', gt: 'operator', ge: 'operator', "in": 'operator', ne: 'operator', or: 'operator' }; var isDoubleOperatorChar = /(<=|>=|!=|<>)/; var isSingleOperatorChar = /[=\(:\),{}.*<>+\-\/^\[\]]/; // Takes a string of words separated by spaces and adds them as // keys with the value of the first argument 'style' function define(style, string, context) { if (context) { var split = string.split(' '); for (var i = 0; i < split.length; i++) { words[split[i]] = {style: style, state: context}; } } } //datastep define('def', 'stack pgm view source debug nesting nolist', ['inDataStep']); define('def', 'if while until for do do; end end; then else cancel', ['inDataStep']); define('def', 'label format _n_ _error_', ['inDataStep']); define('def', 'ALTER BUFNO BUFSIZE CNTLLEV COMPRESS DLDMGACTION ENCRYPT ENCRYPTKEY EXTENDOBSCOUNTER GENMAX GENNUM INDEX LABEL OBSBUF OUTREP PW PWREQ READ REPEMPTY REPLACE REUSE ROLE SORTEDBY SPILL TOBSNO TYPE WRITE FILECLOSE FIRSTOBS IN OBS POINTOBS WHERE WHEREUP IDXNAME IDXWHERE DROP KEEP RENAME', ['inDataStep']); define('def', 'filevar finfo finv fipname fipnamel fipstate first firstobs floor', ['inDataStep']); define('def', 'varfmt varinfmt varlabel varlen varname varnum varray varrayx vartype verify vformat vformatd vformatdx vformatn vformatnx vformatw vformatwx vformatx vinarray vinarrayx vinformat vinformatd vinformatdx vinformatn vinformatnx vinformatw vinformatwx vinformatx vlabel vlabelx vlength vlengthx vname vnamex vnferr vtype vtypex weekday', ['inDataStep']); define('def', 'zipfips zipname zipnamel zipstate', ['inDataStep']); define('def', 'put putc putn', ['inDataStep']); define('builtin', 'data run', ['inDataStep']); //proc define('def', 'data', ['inProc']); // flow control for macros define('def', '%if %end %end; %else %else; %do %do; %then', ['inMacro']); //everywhere define('builtin', 'proc run; quit; libname filename %macro %mend option options', ['ALL']); define('def', 'footnote title libname ods', ['ALL']); define('def', '%let %put %global %sysfunc %eval ', ['ALL']); // automatic macro variables http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#a003167023.htm define('variable', '&sysbuffr &syscc &syscharwidth &syscmd &sysdate &sysdate9 &sysday &sysdevic &sysdmg &sysdsn &sysencoding &sysenv &syserr &syserrortext &sysfilrc &syshostname &sysindex &sysinfo &sysjobid &syslast &syslckrc &syslibrc &syslogapplname &sysmacroname &sysmenv &sysmsg &sysncpu &sysodspath &sysparm &syspbuff &sysprocessid &sysprocessname &sysprocname &sysrc &sysscp &sysscpl &sysscpl &syssite &sysstartid &sysstartname &systcpiphostname &systime &sysuserid &sysver &sysvlong &sysvlong4 &syswarningtext', ['ALL']); //footnote[1-9]? title[1-9]? //options statement define('def', 'source2 nosource2 page pageno pagesize', ['ALL']); //proc and datastep define('def', '_all_ _character_ _cmd_ _freq_ _i_ _infile_ _last_ _msg_ _null_ _numeric_ _temporary_ _type_ abort abs addr adjrsq airy alpha alter altlog altprint and arcos array arsin as atan attrc attrib attrn authserver autoexec awscontrol awsdef awsmenu awsmenumerge awstitle backward band base betainv between blocksize blshift bnot bor brshift bufno bufsize bxor by byerr byline byte calculated call cards cards4 catcache cbufno cdf ceil center cexist change chisq cinv class cleanup close cnonct cntllev coalesce codegen col collate collin column comamid comaux1 comaux2 comdef compbl compound compress config continue convert cos cosh cpuid create cross crosstab css curobs cv daccdb daccdbsl daccsl daccsyd dacctab dairy datalines datalines4 datejul datepart datetime day dbcslang dbcstype dclose ddm delete delimiter depdb depdbsl depsl depsyd deptab dequote descending descript design= device dflang dhms dif digamma dim dinfo display distinct dkricond dkrocond dlm dnum do dopen doptname doptnum dread drop dropnote dsname dsnferr echo else emaildlg emailid emailpw emailserver emailsys encrypt end endsas engine eof eov erf erfc error errorcheck errors exist exp fappend fclose fcol fdelete feedback fetch fetchobs fexist fget file fileclose fileexist filefmt filename fileref fmterr fmtsearch fnonct fnote font fontalias fopen foptname foptnum force formatted formchar formdelim formdlim forward fpoint fpos fput fread frewind frlen from fsep fuzz fwrite gaminv gamma getoption getvarc getvarn go goto group gwindow hbar hbound helpenv helploc hms honorappearance hosthelp hostprint hour hpct html hvar ibessel ibr id if index indexc indexw initcmd initstmt inner input inputc inputn inr insert int intck intnx into intrr invaliddata irr is jbessel join juldate keep kentb kurtosis label lag last lbound leave left length levels lgamma lib library libref line linesize link list log log10 log2 logpdf logpmf logsdf lostcard lowcase lrecl ls macro macrogen maps mautosource max maxdec maxr mdy mean measures median memtype merge merror min minute missing missover mlogic mod mode model modify month mopen mort mprint mrecall msglevel msymtabmax mvarsize myy n nest netpv new news nmiss no nobatch nobs nocaps nocardimage nocenter nocharcode nocmdmac nocol nocum nodate nodbcs nodetails nodmr nodms nodmsbatch nodup nodupkey noduplicates noechoauto noequals noerrorabend noexitwindows nofullstimer noicon noimplmac noint nolist noloadlist nomiss nomlogic nomprint nomrecall nomsgcase nomstored nomultenvappl nonotes nonumber noobs noovp nopad nopercent noprint noprintinit normal norow norsasuser nosetinit nosplash nosymbolgen note notes notitle notitles notsorted noverbose noxsync noxwait npv null number numkeys nummousekeys nway obs on open order ordinal otherwise out outer outp= output over ovp p(1 5 10 25 50 75 90 95 99) pad pad2 paired parm parmcards path pathdll pathname pdf peek peekc pfkey pmf point poisson poke position printer probbeta probbnml probchi probf probgam probhypr probit probnegb probnorm probsig probt procleave prt ps pw pwreq qtr quote r ranbin rancau ranexp rangam range ranks rannor ranpoi rantbl rantri ranuni read recfm register regr remote remove rename repeat replace resolve retain return reuse reverse rewind right round rsquare rtf rtrace rtraceloc s s2 samploc sasautos sascontrol sasfrscr sasmsg sasmstore sasscript sasuser saving scan sdf second select selection separated seq serror set setcomm setot sign simple sin sinh siteinfo skewness skip sle sls sortedby sortpgm sortseq sortsize soundex spedis splashlocation split spool sqrt start std stderr stdin stfips stimer stname stnamel stop stopover subgroup subpopn substr sum sumwgt symbol symbolgen symget symput sysget sysin sysleave sysmsg sysparm sysprint sysprintfont sysprod sysrc system t table tables tan tanh tapeclose tbufsize terminal test then timepart tinv tnonct to today tol tooldef totper transformout translate trantab tranwrd trigamma trim trimn trunc truncover type unformatted uniform union until upcase update user usericon uss validate value var weight when where while wincharset window work workinit workterm write wsum xsync xwait yearcutoff yes yyq min max', ['inDataStep', 'inProc']); define('operator', 'and not ', ['inDataStep', 'inProc']); // Main function function tokenize(stream, state) { // Finally advance the stream var ch = stream.next(); // BLOCKCOMMENT if (ch === '/' && stream.eat('*')) { state.continueComment = true; return "comment"; } else if (state.continueComment === true) { // in comment block //comment ends at the beginning of the line if (ch === '*' && stream.peek() === '/') { stream.next(); state.continueComment = false; } else if (stream.skipTo('*')) { //comment is potentially later in line stream.skipTo('*'); stream.next(); if (stream.eat('/')) state.continueComment = false; } else { stream.skipToEnd(); } return "comment"; } // DoubleOperator match var doubleOperator = ch + stream.peek(); // Match all line comments. var myString = stream.string; var myRegexp = /(?:^\s*|[;]\s*)(\*.*?);/ig; var match = myRegexp.exec(myString); if (match !== null) { if (match.index === 0 && (stream.column() !== (match.index + match[0].length - 1))) { stream.backUp(stream.column()); stream.skipTo(';'); stream.next(); return 'comment'; } else if (match.index + 1 < stream.column() && stream.column() < match.index + match[0].length - 1) { // the ';' triggers the match so move one past it to start // the comment block that is why match.index+1 stream.backUp(stream.column() - match.index - 1); stream.skipTo(';'); stream.next(); return 'comment'; } } else if ((ch === '"' || ch === "'") && !state.continueString) { state.continueString = ch return "string" } else if (state.continueString) { if (state.continueString == ch) { state.continueString = null; } else if (stream.skipTo(state.continueString)) { // quote found on this line stream.next(); state.continueString = null; } else { stream.skipToEnd(); } return "string"; } else if (state.continueString !== null && stream.eol()) { stream.skipTo(state.continueString) || stream.skipToEnd(); return "string"; } else if (/[\d\.]/.test(ch)) { //find numbers if (ch === ".") stream.match(/^[0-9]+([eE][\-+]?[0-9]+)?/); else if (ch === "0") stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/); else stream.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/); return "number"; } else if (isDoubleOperatorChar.test(ch + stream.peek())) { // TWO SYMBOL TOKENS stream.next(); return "operator"; } else if (isDoubleOperatorSym.hasOwnProperty(doubleOperator)) { stream.next(); if (stream.peek() === ' ') return isDoubleOperatorSym[doubleOperator.toLowerCase()]; } else if (isSingleOperatorChar.test(ch)) { // SINGLE SYMBOL TOKENS return "operator"; } // Matches one whole word -- even if the word is a character var word; if (stream.match(/[%&;\w]+/, false) != null) { word = ch + stream.match(/[%&;\w]+/, true); if (/&/.test(word)) return 'variable' } else { word = ch; } // the word after DATA PROC or MACRO if (state.nextword) { stream.match(/[\w]+/); // match memname.libname if (stream.peek() === '.') stream.skipTo(' '); state.nextword = false; return 'variable-2'; } word = word.toLowerCase() // Are we in a DATA Step? if (state.inDataStep) { if (word === 'run;' || stream.match(/run\s;/)) { state.inDataStep = false; return 'builtin'; } // variable formats if ((word) && stream.next() === '.') { //either a format or libname.memname if (/\w/.test(stream.peek())) return 'variable-2'; else return 'variable'; } // do we have a DATA Step keyword if (word && words.hasOwnProperty(word) && (words[word].state.indexOf("inDataStep") !== -1 || words[word].state.indexOf("ALL") !== -1)) { //backup to the start of the word if (stream.start < stream.pos) stream.backUp(stream.pos - stream.start); //advance the length of the word and return for (var i = 0; i < word.length; ++i) stream.next(); return words[word].style; } } // Are we in an Proc statement? if (state.inProc) { if (word === 'run;' || word === 'quit;') { state.inProc = false; return 'builtin'; } // do we have a proc keyword if (word && words.hasOwnProperty(word) && (words[word].state.indexOf("inProc") !== -1 || words[word].state.indexOf("ALL") !== -1)) { stream.match(/[\w]+/); return words[word].style; } } // Are we in a Macro statement? if (state.inMacro) { if (word === '%mend') { if (stream.peek() === ';') stream.next(); state.inMacro = false; return 'builtin'; } if (word && words.hasOwnProperty(word) && (words[word].state.indexOf("inMacro") !== -1 || words[word].state.indexOf("ALL") !== -1)) { stream.match(/[\w]+/); return words[word].style; } return 'atom'; } // Do we have Keywords specific words? if (word && words.hasOwnProperty(word)) { // Negates the initial next() stream.backUp(1); // Actually move the stream stream.match(/[\w]+/); if (word === 'data' && /=/.test(stream.peek()) === false) { state.inDataStep = true; state.nextword = true; return 'builtin'; } if (word === 'proc') { state.inProc = true; state.nextword = true; return 'builtin'; } if (word === '%macro') { state.inMacro = true; state.nextword = true; return 'builtin'; } if (/title[1-9]/.test(word)) return 'def'; if (word === 'footnote') { stream.eat(/[1-9]/); return 'def'; } // Returns their value as state in the prior define methods if (state.inDataStep === true && words[word].state.indexOf("inDataStep") !== -1) return words[word].style; if (state.inProc === true && words[word].state.indexOf("inProc") !== -1) return words[word].style; if (state.inMacro === true && words[word].state.indexOf("inMacro") !== -1) return words[word].style; if (words[word].state.indexOf("ALL") !== -1) return words[word].style; return null; } // Unrecognized syntax return null; } return { startState: function () { return { inDataStep: false, inProc: false, inMacro: false, nextword: false, continueString: null, continueComment: false }; }, token: function (stream, state) { // Strip the spaces, but regex will account for them either way if (stream.eatSpace()) return null; // Go through the main process return tokenize(stream, state); }, blockCommentStart: "/*", blockCommentEnd: "*/" }; }); CodeMirror.defineMIME("text/x-sas", "sas"); }); wp-file-manager/lib/codemirror/mode/sass/index.html000064400000003043151202472330016323 0ustar00 CodeMirror: Sass mode

        Sass mode

        MIME types defined: text/x-sass.

        wp-file-manager/lib/codemirror/mode/sass/sass.js000064400000023513151202472330015641 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("sass", function(config) { function tokenRegexp(words) { return new RegExp("^" + words.join("|")); } var keywords = ["true", "false", "null", "auto"]; var keywordsRegexp = new RegExp("^" + keywords.join("|")); var operators = ["\\(", "\\)", "=", ">", "<", "==", ">=", "<=", "\\+", "-", "\\!=", "/", "\\*", "%", "and", "or", "not", ";","\\{","\\}",":"]; var opRegexp = tokenRegexp(operators); var pseudoElementsRegexp = /^::?[a-zA-Z_][\w\-]*/; function urlTokens(stream, state) { var ch = stream.peek(); if (ch === ")") { stream.next(); state.tokenizer = tokenBase; return "operator"; } else if (ch === "(") { stream.next(); stream.eatSpace(); return "operator"; } else if (ch === "'" || ch === '"') { state.tokenizer = buildStringTokenizer(stream.next()); return "string"; } else { state.tokenizer = buildStringTokenizer(")", false); return "string"; } } function comment(indentation, multiLine) { return function(stream, state) { if (stream.sol() && stream.indentation() <= indentation) { state.tokenizer = tokenBase; return tokenBase(stream, state); } if (multiLine && stream.skipTo("*/")) { stream.next(); stream.next(); state.tokenizer = tokenBase; } else { stream.skipToEnd(); } return "comment"; }; } function buildStringTokenizer(quote, greedy) { if (greedy == null) { greedy = true; } function stringTokenizer(stream, state) { var nextChar = stream.next(); var peekChar = stream.peek(); var previousChar = stream.string.charAt(stream.pos-2); var endingString = ((nextChar !== "\\" && peekChar === quote) || (nextChar === quote && previousChar !== "\\")); if (endingString) { if (nextChar !== quote && greedy) { stream.next(); } state.tokenizer = tokenBase; return "string"; } else if (nextChar === "#" && peekChar === "{") { state.tokenizer = buildInterpolationTokenizer(stringTokenizer); stream.next(); return "operator"; } else { return "string"; } } return stringTokenizer; } function buildInterpolationTokenizer(currentTokenizer) { return function(stream, state) { if (stream.peek() === "}") { stream.next(); state.tokenizer = currentTokenizer; return "operator"; } else { return tokenBase(stream, state); } }; } function indent(state) { if (state.indentCount == 0) { state.indentCount++; var lastScopeOffset = state.scopes[0].offset; var currentOffset = lastScopeOffset + config.indentUnit; state.scopes.unshift({ offset:currentOffset }); } } function dedent(state) { if (state.scopes.length == 1) return; state.scopes.shift(); } function tokenBase(stream, state) { var ch = stream.peek(); // Comment if (stream.match("/*")) { state.tokenizer = comment(stream.indentation(), true); return state.tokenizer(stream, state); } if (stream.match("//")) { state.tokenizer = comment(stream.indentation(), false); return state.tokenizer(stream, state); } // Interpolation if (stream.match("#{")) { state.tokenizer = buildInterpolationTokenizer(tokenBase); return "operator"; } // Strings if (ch === '"' || ch === "'") { stream.next(); state.tokenizer = buildStringTokenizer(ch); return "string"; } if(!state.cursorHalf){// state.cursorHalf === 0 // first half i.e. before : for key-value pairs // including selectors if (ch === ".") { stream.next(); if (stream.match(/^[\w-]+/)) { indent(state); return "atom"; } else if (stream.peek() === "#") { indent(state); return "atom"; } } if (ch === "#") { stream.next(); // ID selectors if (stream.match(/^[\w-]+/)) { indent(state); return "atom"; } if (stream.peek() === "#") { indent(state); return "atom"; } } // Variables if (ch === "$") { stream.next(); stream.eatWhile(/[\w-]/); return "variable-2"; } // Numbers if (stream.match(/^-?[0-9\.]+/)) return "number"; // Units if (stream.match(/^(px|em|in)\b/)) return "unit"; if (stream.match(keywordsRegexp)) return "keyword"; if (stream.match(/^url/) && stream.peek() === "(") { state.tokenizer = urlTokens; return "atom"; } if (ch === "=") { // Match shortcut mixin definition if (stream.match(/^=[\w-]+/)) { indent(state); return "meta"; } } if (ch === "+") { // Match shortcut mixin definition if (stream.match(/^\+[\w-]+/)){ return "variable-3"; } } if(ch === "@"){ if(stream.match(/@extend/)){ if(!stream.match(/\s*[\w]/)) dedent(state); } } // Indent Directives if (stream.match(/^@(else if|if|media|else|for|each|while|mixin|function)/)) { indent(state); return "meta"; } // Other Directives if (ch === "@") { stream.next(); stream.eatWhile(/[\w-]/); return "meta"; } if (stream.eatWhile(/[\w-]/)){ if(stream.match(/ *: *[\w-\+\$#!\("']/,false)){ return "property"; } else if(stream.match(/ *:/,false)){ indent(state); state.cursorHalf = 1; return "atom"; } else if(stream.match(/ *,/,false)){ return "atom"; } else{ indent(state); return "atom"; } } if(ch === ":"){ if (stream.match(pseudoElementsRegexp)){ // could be a pseudo-element return "keyword"; } stream.next(); state.cursorHalf=1; return "operator"; } } // cursorHalf===0 ends here else{ if (ch === "#") { stream.next(); // Hex numbers if (stream.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)){ if(!stream.peek()){ state.cursorHalf = 0; } return "number"; } } // Numbers if (stream.match(/^-?[0-9\.]+/)){ if(!stream.peek()){ state.cursorHalf = 0; } return "number"; } // Units if (stream.match(/^(px|em|in)\b/)){ if(!stream.peek()){ state.cursorHalf = 0; } return "unit"; } if (stream.match(keywordsRegexp)){ if(!stream.peek()){ state.cursorHalf = 0; } return "keyword"; } if (stream.match(/^url/) && stream.peek() === "(") { state.tokenizer = urlTokens; if(!stream.peek()){ state.cursorHalf = 0; } return "atom"; } // Variables if (ch === "$") { stream.next(); stream.eatWhile(/[\w-]/); if(!stream.peek()){ state.cursorHalf = 0; } return "variable-3"; } // bang character for !important, !default, etc. if (ch === "!") { stream.next(); if(!stream.peek()){ state.cursorHalf = 0; } return stream.match(/^[\w]+/) ? "keyword": "operator"; } if (stream.match(opRegexp)){ if(!stream.peek()){ state.cursorHalf = 0; } return "operator"; } // attributes if (stream.eatWhile(/[\w-]/)) { if(!stream.peek()){ state.cursorHalf = 0; } return "attribute"; } //stream.eatSpace(); if(!stream.peek()){ state.cursorHalf = 0; return null; } } // else ends here if (stream.match(opRegexp)) return "operator"; // If we haven't returned by now, we move 1 character // and return an error stream.next(); return null; } function tokenLexer(stream, state) { if (stream.sol()) state.indentCount = 0; var style = state.tokenizer(stream, state); var current = stream.current(); if (current === "@return" || current === "}"){ dedent(state); } if (style !== null) { var startOfToken = stream.pos - current.length; var withCurrentIndent = startOfToken + (config.indentUnit * state.indentCount); var newScopes = []; for (var i = 0; i < state.scopes.length; i++) { var scope = state.scopes[i]; if (scope.offset <= withCurrentIndent) newScopes.push(scope); } state.scopes = newScopes; } return style; } return { startState: function() { return { tokenizer: tokenBase, scopes: [{offset: 0, type: "sass"}], indentCount: 0, cursorHalf: 0, // cursor half tells us if cursor lies after (1) // or before (0) colon (well... more or less) definedVars: [], definedMixins: [] }; }, token: function(stream, state) { var style = tokenLexer(stream, state); state.lastToken = { style: style, content: stream.current() }; return style; }, indent: function(state) { return state.scopes[0].offset; } }; }); CodeMirror.defineMIME("text/x-sass", "sass"); }); wp-file-manager/lib/codemirror/mode/scheme/index.html000064400000004772151202472330016630 0ustar00 CodeMirror: Scheme mode

        Scheme mode

        MIME types defined: text/x-scheme.

        wp-file-manager/lib/codemirror/mode/scheme/scheme.js000064400000032177151202472330016435 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /** * Author: Koh Zi Han, based on implementation by Koh Zi Chun */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("scheme", function () { var BUILTIN = "builtin", COMMENT = "comment", STRING = "string", ATOM = "atom", NUMBER = "number", BRACKET = "bracket"; var INDENT_WORD_SKIP = 2; function makeKeywords(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var keywords = makeKeywords("λ case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"); var indentKeys = makeKeywords("define let letrec let* lambda"); function stateStack(indent, type, prev) { // represents a state stack object this.indent = indent; this.type = type; this.prev = prev; } function pushStack(state, indent, type) { state.indentStack = new stateStack(indent, type, state.indentStack); } function popStack(state) { state.indentStack = state.indentStack.prev; } var binaryMatcher = new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i); var octalMatcher = new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i); var hexMatcher = new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i); var decimalMatcher = new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i); function isBinaryNumber (stream) { return stream.match(binaryMatcher); } function isOctalNumber (stream) { return stream.match(octalMatcher); } function isDecimalNumber (stream, backup) { if (backup === true) { stream.backUp(1); } return stream.match(decimalMatcher); } function isHexNumber (stream) { return stream.match(hexMatcher); } return { startState: function () { return { indentStack: null, indentation: 0, mode: false, sExprComment: false }; }, token: function (stream, state) { if (state.indentStack == null && stream.sol()) { // update indentation, but only if indentStack is empty state.indentation = stream.indentation(); } // skip spaces if (stream.eatSpace()) { return null; } var returnType = null; switch(state.mode){ case "string": // multi-line string parsing mode var next, escaped = false; while ((next = stream.next()) != null) { if (next == "\"" && !escaped) { state.mode = false; break; } escaped = !escaped && next == "\\"; } returnType = STRING; // continue on in scheme-string mode break; case "comment": // comment parsing mode var next, maybeEnd = false; while ((next = stream.next()) != null) { if (next == "#" && maybeEnd) { state.mode = false; break; } maybeEnd = (next == "|"); } returnType = COMMENT; break; case "s-expr-comment": // s-expr commenting mode state.mode = false; if(stream.peek() == "(" || stream.peek() == "["){ // actually start scheme s-expr commenting mode state.sExprComment = 0; }else{ // if not we just comment the entire of the next token stream.eatWhile(/[^/s]/); // eat non spaces returnType = COMMENT; break; } default: // default parsing mode var ch = stream.next(); if (ch == "\"") { state.mode = "string"; returnType = STRING; } else if (ch == "'") { returnType = ATOM; } else if (ch == '#') { if (stream.eat("|")) { // Multi-line comment state.mode = "comment"; // toggle to comment mode returnType = COMMENT; } else if (stream.eat(/[tf]/i)) { // #t/#f (atom) returnType = ATOM; } else if (stream.eat(';')) { // S-Expr comment state.mode = "s-expr-comment"; returnType = COMMENT; } else { var numTest = null, hasExactness = false, hasRadix = true; if (stream.eat(/[ei]/i)) { hasExactness = true; } else { stream.backUp(1); // must be radix specifier } if (stream.match(/^#b/i)) { numTest = isBinaryNumber; } else if (stream.match(/^#o/i)) { numTest = isOctalNumber; } else if (stream.match(/^#x/i)) { numTest = isHexNumber; } else if (stream.match(/^#d/i)) { numTest = isDecimalNumber; } else if (stream.match(/^[-+0-9.]/, false)) { hasRadix = false; numTest = isDecimalNumber; // re-consume the intial # if all matches failed } else if (!hasExactness) { stream.eat('#'); } if (numTest != null) { if (hasRadix && !hasExactness) { // consume optional exactness after radix stream.match(/^#[ei]/i); } if (numTest(stream)) returnType = NUMBER; } } } else if (/^[-+0-9.]/.test(ch) && isDecimalNumber(stream, true)) { // match non-prefixed number, must be decimal returnType = NUMBER; } else if (ch == ";") { // comment stream.skipToEnd(); // rest of the line is a comment returnType = COMMENT; } else if (ch == "(" || ch == "[") { var keyWord = ''; var indentTemp = stream.column(), letter; /** Either (indent-word .. (non-indent-word .. (;something else, bracket, etc. */ while ((letter = stream.eat(/[^\s\(\[\;\)\]]/)) != null) { keyWord += letter; } if (keyWord.length > 0 && indentKeys.propertyIsEnumerable(keyWord)) { // indent-word pushStack(state, indentTemp + INDENT_WORD_SKIP, ch); } else { // non-indent word // we continue eating the spaces stream.eatSpace(); if (stream.eol() || stream.peek() == ";") { // nothing significant after // we restart indentation 1 space after pushStack(state, indentTemp + 1, ch); } else { pushStack(state, indentTemp + stream.current().length, ch); // else we match } } stream.backUp(stream.current().length - 1); // undo all the eating if(typeof state.sExprComment == "number") state.sExprComment++; returnType = BRACKET; } else if (ch == ")" || ch == "]") { returnType = BRACKET; if (state.indentStack != null && state.indentStack.type == (ch == ")" ? "(" : "[")) { popStack(state); if(typeof state.sExprComment == "number"){ if(--state.sExprComment == 0){ returnType = COMMENT; // final closing bracket state.sExprComment = false; // turn off s-expr commenting mode } } } } else { stream.eatWhile(/[\w\$_\-!$%&*+\.\/:<=>?@\^~]/); if (keywords && keywords.propertyIsEnumerable(stream.current())) { returnType = BUILTIN; } else returnType = "variable"; } } return (typeof state.sExprComment == "number") ? COMMENT : returnType; }, indent: function (state) { if (state.indentStack == null) return state.indentation; return state.indentStack.indent; }, closeBrackets: {pairs: "()[]{}\"\""}, lineComment: ";;" }; }); CodeMirror.defineMIME("text/x-scheme", "scheme"); }); wp-file-manager/lib/codemirror/mode/shell/index.html000064400000003321151202472330016460 0ustar00 CodeMirror: Shell mode

        Shell mode

        MIME types defined: text/x-sh.

        wp-file-manager/lib/codemirror/mode/shell/shell.js000064400000007320151202472330016133 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('shell', function() { var words = {}; function define(style, string) { var split = string.split(' '); for(var i = 0; i < split.length; i++) { words[split[i]] = style; } }; // Atoms define('atom', 'true false'); // Keywords define('keyword', 'if then do else elif while until for in esac fi fin ' + 'fil done exit set unset export function'); // Commands define('builtin', 'ab awk bash beep cat cc cd chown chmod chroot clear cp ' + 'curl cut diff echo find gawk gcc get git grep kill killall ln ls make ' + 'mkdir openssl mv nc node npm ping ps restart rm rmdir sed service sh ' + 'shopt shred source sort sleep ssh start stop su sudo tee telnet top ' + 'touch vi vim wall wc wget who write yes zsh'); function tokenBase(stream, state) { if (stream.eatSpace()) return null; var sol = stream.sol(); var ch = stream.next(); if (ch === '\\') { stream.next(); return null; } if (ch === '\'' || ch === '"' || ch === '`') { state.tokens.unshift(tokenString(ch)); return tokenize(stream, state); } if (ch === '#') { if (sol && stream.eat('!')) { stream.skipToEnd(); return 'meta'; // 'comment'? } stream.skipToEnd(); return 'comment'; } if (ch === '$') { state.tokens.unshift(tokenDollar); return tokenize(stream, state); } if (ch === '+' || ch === '=') { return 'operator'; } if (ch === '-') { stream.eat('-'); stream.eatWhile(/\w/); return 'attribute'; } if (/\d/.test(ch)) { stream.eatWhile(/\d/); if(stream.eol() || !/\w/.test(stream.peek())) { return 'number'; } } stream.eatWhile(/[\w-]/); var cur = stream.current(); if (stream.peek() === '=' && /\w+/.test(cur)) return 'def'; return words.hasOwnProperty(cur) ? words[cur] : null; } function tokenString(quote) { return function(stream, state) { var next, end = false, escaped = false; while ((next = stream.next()) != null) { if (next === quote && !escaped) { end = true; break; } if (next === '$' && !escaped && quote !== '\'') { escaped = true; stream.backUp(1); state.tokens.unshift(tokenDollar); break; } escaped = !escaped && next === '\\'; } if (end || !escaped) { state.tokens.shift(); } return (quote === '`' || quote === ')' ? 'quote' : 'string'); }; }; var tokenDollar = function(stream, state) { if (state.tokens.length > 1) stream.eat('$'); var ch = stream.next(), hungry = /\w/; if (ch === '{') hungry = /[^}]/; if (ch === '(') { state.tokens[0] = tokenString(')'); return tokenize(stream, state); } if (!/\d/.test(ch)) { stream.eatWhile(hungry); stream.eat('}'); } state.tokens.shift(); return 'def'; }; function tokenize(stream, state) { return (state.tokens[0] || tokenBase) (stream, state); }; return { startState: function() {return {tokens:[]};}, token: function(stream, state) { return tokenize(stream, state); }, lineComment: '#', fold: "brace" }; }); CodeMirror.defineMIME('text/x-sh', 'shell'); }); wp-file-manager/lib/codemirror/mode/shell/test.js000064400000003366151202472330016011 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({}, "shell"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT("var", "text [def $var] text"); MT("varBraces", "text[def ${var}]text"); MT("varVar", "text [def $a$b] text"); MT("varBracesVarBraces", "text[def ${a}${b}]text"); MT("singleQuotedVar", "[string 'text $var text']"); MT("singleQuotedVarBraces", "[string 'text ${var} text']"); MT("doubleQuotedVar", '[string "text ][def $var][string text"]'); MT("doubleQuotedVarBraces", '[string "text][def ${var}][string text"]'); MT("doubleQuotedVarPunct", '[string "text ][def $@][string text"]'); MT("doubleQuotedVarVar", '[string "][def $a$b][string "]'); MT("doubleQuotedVarBracesVarBraces", '[string "][def ${a}${b}][string "]'); MT("notAString", "text\\'text"); MT("escapes", "outside\\'\\\"\\`\\\\[string \"inside\\`\\'\\\"\\\\`\\$notAVar\"]outside\\$\\(notASubShell\\)"); MT("subshell", "[builtin echo] [quote jQuery(whoami)] s log, stardate [quote `date`]."); MT("doubleQuotedSubshell", "[builtin echo] [string \"][quote jQuery(whoami)][string 's log, stardate `date`.\"]"); MT("hashbang", "[meta #!/bin/bash]"); MT("comment", "text [comment # Blurb]"); MT("numbers", "[number 0] [number 1] [number 2]"); MT("keywords", "[keyword while] [atom true]; [keyword do]", " [builtin sleep] [number 3]", "[keyword done]"); MT("options", "[builtin ls] [attribute -l] [attribute --human-readable]"); MT("operator", "[def var][operator =]value"); })(); wp-file-manager/lib/codemirror/mode/sieve/index.html000064400000004437151202472330016475 0ustar00 CodeMirror: Sieve (RFC5228) mode

        Sieve (RFC5228) mode

        MIME types defined: application/sieve.

        wp-file-manager/lib/codemirror/mode/sieve/sieve.js000064400000010275151202472330016146 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("sieve", function(config) { function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var keywords = words("if elsif else stop require"); var atoms = words("true false not"); var indentUnit = config.indentUnit; function tokenBase(stream, state) { var ch = stream.next(); if (ch == "/" && stream.eat("*")) { state.tokenize = tokenCComment; return tokenCComment(stream, state); } if (ch === '#') { stream.skipToEnd(); return "comment"; } if (ch == "\"") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (ch == "(") { state._indent.push("("); // add virtual angel wings so that editor behaves... // ...more sane incase of broken brackets state._indent.push("{"); return null; } if (ch === "{") { state._indent.push("{"); return null; } if (ch == ")") { state._indent.pop(); state._indent.pop(); } if (ch === "}") { state._indent.pop(); return null; } if (ch == ",") return null; if (ch == ";") return null; if (/[{}\(\),;]/.test(ch)) return null; // 1*DIGIT "K" / "M" / "G" if (/\d/.test(ch)) { stream.eatWhile(/[\d]/); stream.eat(/[KkMmGg]/); return "number"; } // ":" (ALPHA / "_") *(ALPHA / DIGIT / "_") if (ch == ":") { stream.eatWhile(/[a-zA-Z_]/); stream.eatWhile(/[a-zA-Z0-9_]/); return "operator"; } stream.eatWhile(/\w/); var cur = stream.current(); // "text:" *(SP / HTAB) (hash-comment / CRLF) // *(multiline-literal / multiline-dotstart) // "." CRLF if ((cur == "text") && stream.eat(":")) { state.tokenize = tokenMultiLineString; return "string"; } if (keywords.propertyIsEnumerable(cur)) return "keyword"; if (atoms.propertyIsEnumerable(cur)) return "atom"; return null; } function tokenMultiLineString(stream, state) { state._multiLineString = true; // the first line is special it may contain a comment if (!stream.sol()) { stream.eatSpace(); if (stream.peek() == "#") { stream.skipToEnd(); return "comment"; } stream.skipToEnd(); return "string"; } if ((stream.next() == ".") && (stream.eol())) { state._multiLineString = false; state.tokenize = tokenBase; } return "string"; } function tokenCComment(stream, state) { var maybeEnd = false, ch; while ((ch = stream.next()) != null) { if (maybeEnd && ch == "/") { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function tokenString(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) break; escaped = !escaped && ch == "\\"; } if (!escaped) state.tokenize = tokenBase; return "string"; }; } return { startState: function(base) { return {tokenize: tokenBase, baseIndent: base || 0, _indent: []}; }, token: function(stream, state) { if (stream.eatSpace()) return null; return (state.tokenize || tokenBase)(stream, state);; }, indent: function(state, _textAfter) { var length = state._indent.length; if (_textAfter && (_textAfter[0] == "}")) length--; if (length <0) length = 0; return length * indentUnit; }, electricChars: "}" }; }); CodeMirror.defineMIME("application/sieve", "sieve"); }); wp-file-manager/lib/codemirror/mode/slim/index.html000064400000005567151202472330016333 0ustar00 CodeMirror: SLIM mode

        SLIM mode

        MIME types defined: application/x-slim.

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/slim/slim.js000064400000043152151202472330015630 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Slim Highlighting for CodeMirror copyright (c) HicknHack Software Gmbh (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../ruby/ruby")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../ruby/ruby"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("slim", function(config) { var htmlMode = CodeMirror.getMode(config, {name: "htmlmixed"}); var rubyMode = CodeMirror.getMode(config, "ruby"); var modes = { html: htmlMode, ruby: rubyMode }; var embedded = { ruby: "ruby", javascript: "javascript", css: "text/css", sass: "text/x-sass", scss: "text/x-scss", less: "text/x-less", styl: "text/x-styl", // no highlighting so far coffee: "coffeescript", asciidoc: "text/x-asciidoc", markdown: "text/x-markdown", textile: "text/x-textile", // no highlighting so far creole: "text/x-creole", // no highlighting so far wiki: "text/x-wiki", // no highlighting so far mediawiki: "text/x-mediawiki", // no highlighting so far rdoc: "text/x-rdoc", // no highlighting so far builder: "text/x-builder", // no highlighting so far nokogiri: "text/x-nokogiri", // no highlighting so far erb: "application/x-erb" }; var embeddedRegexp = function(map){ var arr = []; for(var key in map) arr.push(key); return new RegExp("^("+arr.join('|')+"):"); }(embedded); var styleMap = { "commentLine": "comment", "slimSwitch": "operator special", "slimTag": "tag", "slimId": "attribute def", "slimClass": "attribute qualifier", "slimAttribute": "attribute", "slimSubmode": "keyword special", "closeAttributeTag": null, "slimDoctype": null, "lineContinuation": null }; var closing = { "{": "}", "[": "]", "(": ")" }; var nameStartChar = "_a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD"; var nameChar = nameStartChar + "\\-0-9\xB7\u0300-\u036F\u203F-\u2040"; var nameRegexp = new RegExp("^[:"+nameStartChar+"](?::["+nameChar+"]|["+nameChar+"]*)"); var attributeNameRegexp = new RegExp("^[:"+nameStartChar+"][:\\."+nameChar+"]*(?=\\s*=)"); var wrappedAttributeNameRegexp = new RegExp("^[:"+nameStartChar+"][:\\."+nameChar+"]*"); var classNameRegexp = /^\.-?[_a-zA-Z]+[\w\-]*/; var classIdRegexp = /^#[_a-zA-Z]+[\w\-]*/; function backup(pos, tokenize, style) { var restore = function(stream, state) { state.tokenize = tokenize; if (stream.pos < pos) { stream.pos = pos; return style; } return state.tokenize(stream, state); }; return function(stream, state) { state.tokenize = restore; return tokenize(stream, state); }; } function maybeBackup(stream, state, pat, offset, style) { var cur = stream.current(); var idx = cur.search(pat); if (idx > -1) { state.tokenize = backup(stream.pos, state.tokenize, style); stream.backUp(cur.length - idx - offset); } return style; } function continueLine(state, column) { state.stack = { parent: state.stack, style: "continuation", indented: column, tokenize: state.line }; state.line = state.tokenize; } function finishContinue(state) { if (state.line == state.tokenize) { state.line = state.stack.tokenize; state.stack = state.stack.parent; } } function lineContinuable(column, tokenize) { return function(stream, state) { finishContinue(state); if (stream.match(/^\\$/)) { continueLine(state, column); return "lineContinuation"; } var style = tokenize(stream, state); if (stream.eol() && stream.current().match(/(?:^|[^\\])(?:\\\\)*\\$/)) { stream.backUp(1); } return style; }; } function commaContinuable(column, tokenize) { return function(stream, state) { finishContinue(state); var style = tokenize(stream, state); if (stream.eol() && stream.current().match(/,$/)) { continueLine(state, column); } return style; }; } function rubyInQuote(endQuote, tokenize) { // TODO: add multi line support return function(stream, state) { var ch = stream.peek(); if (ch == endQuote && state.rubyState.tokenize.length == 1) { // step out of ruby context as it seems to complete processing all the braces stream.next(); state.tokenize = tokenize; return "closeAttributeTag"; } else { return ruby(stream, state); } }; } function startRubySplat(tokenize) { var rubyState; var runSplat = function(stream, state) { if (state.rubyState.tokenize.length == 1 && !state.rubyState.context.prev) { stream.backUp(1); if (stream.eatSpace()) { state.rubyState = rubyState; state.tokenize = tokenize; return tokenize(stream, state); } stream.next(); } return ruby(stream, state); }; return function(stream, state) { rubyState = state.rubyState; state.rubyState = CodeMirror.startState(rubyMode); state.tokenize = runSplat; return ruby(stream, state); }; } function ruby(stream, state) { return rubyMode.token(stream, state.rubyState); } function htmlLine(stream, state) { if (stream.match(/^\\$/)) { return "lineContinuation"; } return html(stream, state); } function html(stream, state) { if (stream.match(/^#\{/)) { state.tokenize = rubyInQuote("}", state.tokenize); return null; } return maybeBackup(stream, state, /[^\\]#\{/, 1, htmlMode.token(stream, state.htmlState)); } function startHtmlLine(lastTokenize) { return function(stream, state) { var style = htmlLine(stream, state); if (stream.eol()) state.tokenize = lastTokenize; return style; }; } function startHtmlMode(stream, state, offset) { state.stack = { parent: state.stack, style: "html", indented: stream.column() + offset, // pipe + space tokenize: state.line }; state.line = state.tokenize = html; return null; } function comment(stream, state) { stream.skipToEnd(); return state.stack.style; } function commentMode(stream, state) { state.stack = { parent: state.stack, style: "comment", indented: state.indented + 1, tokenize: state.line }; state.line = comment; return comment(stream, state); } function attributeWrapper(stream, state) { if (stream.eat(state.stack.endQuote)) { state.line = state.stack.line; state.tokenize = state.stack.tokenize; state.stack = state.stack.parent; return null; } if (stream.match(wrappedAttributeNameRegexp)) { state.tokenize = attributeWrapperAssign; return "slimAttribute"; } stream.next(); return null; } function attributeWrapperAssign(stream, state) { if (stream.match(/^==?/)) { state.tokenize = attributeWrapperValue; return null; } return attributeWrapper(stream, state); } function attributeWrapperValue(stream, state) { var ch = stream.peek(); if (ch == '"' || ch == "\'") { state.tokenize = readQuoted(ch, "string", true, false, attributeWrapper); stream.next(); return state.tokenize(stream, state); } if (ch == '[') { return startRubySplat(attributeWrapper)(stream, state); } if (stream.match(/^(true|false|nil)\b/)) { state.tokenize = attributeWrapper; return "keyword"; } return startRubySplat(attributeWrapper)(stream, state); } function startAttributeWrapperMode(state, endQuote, tokenize) { state.stack = { parent: state.stack, style: "wrapper", indented: state.indented + 1, tokenize: tokenize, line: state.line, endQuote: endQuote }; state.line = state.tokenize = attributeWrapper; return null; } function sub(stream, state) { if (stream.match(/^#\{/)) { state.tokenize = rubyInQuote("}", state.tokenize); return null; } var subStream = new CodeMirror.StringStream(stream.string.slice(state.stack.indented), stream.tabSize); subStream.pos = stream.pos - state.stack.indented; subStream.start = stream.start - state.stack.indented; subStream.lastColumnPos = stream.lastColumnPos - state.stack.indented; subStream.lastColumnValue = stream.lastColumnValue - state.stack.indented; var style = state.subMode.token(subStream, state.subState); stream.pos = subStream.pos + state.stack.indented; return style; } function firstSub(stream, state) { state.stack.indented = stream.column(); state.line = state.tokenize = sub; return state.tokenize(stream, state); } function createMode(mode) { var query = embedded[mode]; var spec = CodeMirror.mimeModes[query]; if (spec) { return CodeMirror.getMode(config, spec); } var factory = CodeMirror.modes[query]; if (factory) { return factory(config, {name: query}); } return CodeMirror.getMode(config, "null"); } function getMode(mode) { if (!modes.hasOwnProperty(mode)) { return modes[mode] = createMode(mode); } return modes[mode]; } function startSubMode(mode, state) { var subMode = getMode(mode); var subState = CodeMirror.startState(subMode); state.subMode = subMode; state.subState = subState; state.stack = { parent: state.stack, style: "sub", indented: state.indented + 1, tokenize: state.line }; state.line = state.tokenize = firstSub; return "slimSubmode"; } function doctypeLine(stream, _state) { stream.skipToEnd(); return "slimDoctype"; } function startLine(stream, state) { var ch = stream.peek(); if (ch == '<') { return (state.tokenize = startHtmlLine(state.tokenize))(stream, state); } if (stream.match(/^[|']/)) { return startHtmlMode(stream, state, 1); } if (stream.match(/^\/(!|\[\w+])?/)) { return commentMode(stream, state); } if (stream.match(/^(-|==?[<>]?)/)) { state.tokenize = lineContinuable(stream.column(), commaContinuable(stream.column(), ruby)); return "slimSwitch"; } if (stream.match(/^doctype\b/)) { state.tokenize = doctypeLine; return "keyword"; } var m = stream.match(embeddedRegexp); if (m) { return startSubMode(m[1], state); } return slimTag(stream, state); } function slim(stream, state) { if (state.startOfLine) { return startLine(stream, state); } return slimTag(stream, state); } function slimTag(stream, state) { if (stream.eat('*')) { state.tokenize = startRubySplat(slimTagExtras); return null; } if (stream.match(nameRegexp)) { state.tokenize = slimTagExtras; return "slimTag"; } return slimClass(stream, state); } function slimTagExtras(stream, state) { if (stream.match(/^(<>?|> state.indented && state.last != "slimSubmode") { state.line = state.tokenize = state.stack.tokenize; state.stack = state.stack.parent; state.subMode = null; state.subState = null; } } if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); state.startOfLine = false; if (style) state.last = style; return styleMap.hasOwnProperty(style) ? styleMap[style] : style; }, blankLine: function(state) { if (state.subMode && state.subMode.blankLine) { return state.subMode.blankLine(state.subState); } }, innerMode: function(state) { if (state.subMode) return {state: state.subState, mode: state.subMode}; return {state: state, mode: mode}; } //indent: function(state) { // return state.indented; //} }; return mode; }, "htmlmixed", "ruby"); CodeMirror.defineMIME("text/x-slim", "slim"); CodeMirror.defineMIME("application/x-slim", "slim"); }); wp-file-manager/lib/codemirror/mode/slim/test.js000064400000006072151202472330015643 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Slim Highlighting for CodeMirror copyright (c) HicknHack Software Gmbh (function() { var mode = CodeMirror.getMode({tabSize: 4, indentUnit: 2}, "slim"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } // Requires at least one media query MT("elementName", "[tag h1] Hey There"); MT("oneElementPerLine", "[tag h1] Hey There .h2"); MT("idShortcut", "[attribute&def #test] Hey There"); MT("tagWithIdShortcuts", "[tag h1][attribute&def #test] Hey There"); MT("classShortcut", "[attribute&qualifier .hello] Hey There"); MT("tagWithIdAndClassShortcuts", "[tag h1][attribute&def #test][attribute&qualifier .hello] Hey There"); MT("docType", "[keyword doctype] xml"); MT("comment", "[comment / Hello WORLD]"); MT("notComment", "[tag h1] This is not a / comment "); MT("attributes", "[tag a]([attribute title]=[string \"test\"]) [attribute href]=[string \"link\"]}"); MT("multiLineAttributes", "[tag a]([attribute title]=[string \"test\"]", " ) [attribute href]=[string \"link\"]}"); MT("htmlCode", "[tag&bracket <][tag h1][tag&bracket >]Title[tag&bracket ]"); MT("rubyBlock", "[operator&special =][variable-2 @item]"); MT("selectorRubyBlock", "[tag a][attribute&qualifier .test][operator&special =] [variable-2 @item]"); MT("nestedRubyBlock", "[tag a]", " [operator&special =][variable puts] [string \"test\"]"); MT("multilinePlaintext", "[tag p]", " | Hello,", " World"); MT("multilineRuby", "[tag p]", " [comment /# this is a comment]", " [comment and this is a comment too]", " | Date/Time", " [operator&special -] [variable now] [operator =] [tag DateTime][operator .][property now]", " [tag strong][operator&special =] [variable now]", " [operator&special -] [keyword if] [variable now] [operator >] [tag DateTime][operator .][property parse]([string \"December 31, 2006\"])", " [operator&special =][string \"Happy\"]", " [operator&special =][string \"Belated\"]", " [operator&special =][string \"Birthday\"]"); MT("multilineComment", "[comment /]", " [comment Multiline]", " [comment Comment]"); MT("hamlAfterRubyTag", "[attribute&qualifier .block]", " [tag strong][operator&special =] [variable now]", " [attribute&qualifier .test]", " [operator&special =][variable now]", " [attribute&qualifier .right]"); MT("stretchedRuby", "[operator&special =] [variable puts] [string \"Hello\"],", " [string \"World\"]"); MT("interpolationInHashAttribute", "[tag div]{[attribute id] = [string \"]#{[variable test]}[string _]#{[variable ting]}[string \"]} test"); MT("interpolationInHTMLAttribute", "[tag div]([attribute title]=[string \"]#{[variable test]}[string _]#{[variable ting]()}[string \"]) Test"); })(); wp-file-manager/lib/codemirror/mode/smalltalk/index.html000064400000003560151202472330017342 0ustar00 CodeMirror: Smalltalk mode

        Smalltalk mode

        Simple Smalltalk mode.

        MIME types defined: text/x-stsrc.

        wp-file-manager/lib/codemirror/mode/smalltalk/smalltalk.js000064400000010677151202472330017676 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('smalltalk', function(config) { var specialChars = /[+\-\/\\*~<>=@%|&?!.,:;^]/; var keywords = /true|false|nil|self|super|thisContext/; var Context = function(tokenizer, parent) { this.next = tokenizer; this.parent = parent; }; var Token = function(name, context, eos) { this.name = name; this.context = context; this.eos = eos; }; var State = function() { this.context = new Context(next, null); this.expectVariable = true; this.indentation = 0; this.userIndentationDelta = 0; }; State.prototype.userIndent = function(indentation) { this.userIndentationDelta = indentation > 0 ? (indentation / config.indentUnit - this.indentation) : 0; }; var next = function(stream, context, state) { var token = new Token(null, context, false); var aChar = stream.next(); if (aChar === '"') { token = nextComment(stream, new Context(nextComment, context)); } else if (aChar === '\'') { token = nextString(stream, new Context(nextString, context)); } else if (aChar === '#') { if (stream.peek() === '\'') { stream.next(); token = nextSymbol(stream, new Context(nextSymbol, context)); } else { if (stream.eatWhile(/[^\s.{}\[\]()]/)) token.name = 'string-2'; else token.name = 'meta'; } } else if (aChar === '$') { if (stream.next() === '<') { stream.eatWhile(/[^\s>]/); stream.next(); } token.name = 'string-2'; } else if (aChar === '|' && state.expectVariable) { token.context = new Context(nextTemporaries, context); } else if (/[\[\]{}()]/.test(aChar)) { token.name = 'bracket'; token.eos = /[\[{(]/.test(aChar); if (aChar === '[') { state.indentation++; } else if (aChar === ']') { state.indentation = Math.max(0, state.indentation - 1); } } else if (specialChars.test(aChar)) { stream.eatWhile(specialChars); token.name = 'operator'; token.eos = aChar !== ';'; // ; cascaded message expression } else if (/\d/.test(aChar)) { stream.eatWhile(/[\w\d]/); token.name = 'number'; } else if (/[\w_]/.test(aChar)) { stream.eatWhile(/[\w\d_]/); token.name = state.expectVariable ? (keywords.test(stream.current()) ? 'keyword' : 'variable') : null; } else { token.eos = state.expectVariable; } return token; }; var nextComment = function(stream, context) { stream.eatWhile(/[^"]/); return new Token('comment', stream.eat('"') ? context.parent : context, true); }; var nextString = function(stream, context) { stream.eatWhile(/[^']/); return new Token('string', stream.eat('\'') ? context.parent : context, false); }; var nextSymbol = function(stream, context) { stream.eatWhile(/[^']/); return new Token('string-2', stream.eat('\'') ? context.parent : context, false); }; var nextTemporaries = function(stream, context) { var token = new Token(null, context, false); var aChar = stream.next(); if (aChar === '|') { token.context = context.parent; token.eos = true; } else { stream.eatWhile(/[^|]/); token.name = 'variable'; } return token; }; return { startState: function() { return new State; }, token: function(stream, state) { state.userIndent(stream.indentation()); if (stream.eatSpace()) { return null; } var token = state.context.next(stream, state.context, state); state.context = token.context; state.expectVariable = token.eos; return token.name; }, blankLine: function(state) { state.userIndent(0); }, indent: function(state, textAfter) { var i = state.context.next === next && textAfter && textAfter.charAt(0) === ']' ? -1 : state.userIndentationDelta; return (state.indentation + i) * config.indentUnit; }, electricChars: ']' }; }); CodeMirror.defineMIME('text/x-stsrc', {name: 'smalltalk'}); }); wp-file-manager/lib/codemirror/mode/smarty/index.html000064400000007605151202472330016701 0ustar00 CodeMirror: Smarty mode

        Smarty mode

        Mode for Smarty version 2 or 3, which allows for custom delimiter tags.

        Several configuration parameters are supported:

        • leftDelimiter and rightDelimiter, which should be strings that determine where the Smarty syntax starts and ends.
        • version, which should be 2 or 3.
        • baseMode, which can be a mode spec like "text/html" to set a different background mode.

        MIME types defined: text/x-smarty

        Smarty 2, custom delimiters

        Smarty 3

        wp-file-manager/lib/codemirror/mode/smarty/smarty.js000064400000015254151202472330016560 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /** * Smarty 2 and 3 mode. */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("smarty", function(config, parserConf) { var rightDelimiter = parserConf.rightDelimiter || "}"; var leftDelimiter = parserConf.leftDelimiter || "{"; var version = parserConf.version || 2; var baseMode = CodeMirror.getMode(config, parserConf.baseMode || "null"); var keyFunctions = ["debug", "extends", "function", "include", "literal"]; var regs = { operatorChars: /[+\-*&%=<>!?]/, validIdentifier: /[a-zA-Z0-9_]/, stringChar: /['"]/ }; var last; function cont(style, lastType) { last = lastType; return style; } function chain(stream, state, parser) { state.tokenize = parser; return parser(stream, state); } // Smarty 3 allows { and } surrounded by whitespace to NOT slip into Smarty mode function doesNotCount(stream, pos) { if (pos == null) pos = stream.pos; return version === 3 && leftDelimiter == "{" && (pos == stream.string.length || /\s/.test(stream.string.charAt(pos))); } function tokenTop(stream, state) { var string = stream.string; for (var scan = stream.pos;;) { var nextMatch = string.indexOf(leftDelimiter, scan); scan = nextMatch + leftDelimiter.length; if (nextMatch == -1 || !doesNotCount(stream, nextMatch + leftDelimiter.length)) break; } if (nextMatch == stream.pos) { stream.match(leftDelimiter); if (stream.eat("*")) { return chain(stream, state, tokenBlock("comment", "*" + rightDelimiter)); } else { state.depth++; state.tokenize = tokenSmarty; last = "startTag"; return "tag"; } } if (nextMatch > -1) stream.string = string.slice(0, nextMatch); var token = baseMode.token(stream, state.base); if (nextMatch > -1) stream.string = string; return token; } // parsing Smarty content function tokenSmarty(stream, state) { if (stream.match(rightDelimiter, true)) { if (version === 3) { state.depth--; if (state.depth <= 0) { state.tokenize = tokenTop; } } else { state.tokenize = tokenTop; } return cont("tag", null); } if (stream.match(leftDelimiter, true)) { state.depth++; return cont("tag", "startTag"); } var ch = stream.next(); if (ch == "$") { stream.eatWhile(regs.validIdentifier); return cont("variable-2", "variable"); } else if (ch == "|") { return cont("operator", "pipe"); } else if (ch == ".") { return cont("operator", "property"); } else if (regs.stringChar.test(ch)) { state.tokenize = tokenAttribute(ch); return cont("string", "string"); } else if (regs.operatorChars.test(ch)) { stream.eatWhile(regs.operatorChars); return cont("operator", "operator"); } else if (ch == "[" || ch == "]") { return cont("bracket", "bracket"); } else if (ch == "(" || ch == ")") { return cont("bracket", "operator"); } else if (/\d/.test(ch)) { stream.eatWhile(/\d/); return cont("number", "number"); } else { if (state.last == "variable") { if (ch == "@") { stream.eatWhile(regs.validIdentifier); return cont("property", "property"); } else if (ch == "|") { stream.eatWhile(regs.validIdentifier); return cont("qualifier", "modifier"); } } else if (state.last == "pipe") { stream.eatWhile(regs.validIdentifier); return cont("qualifier", "modifier"); } else if (state.last == "whitespace") { stream.eatWhile(regs.validIdentifier); return cont("attribute", "modifier"); } if (state.last == "property") { stream.eatWhile(regs.validIdentifier); return cont("property", null); } else if (/\s/.test(ch)) { last = "whitespace"; return null; } var str = ""; if (ch != "/") { str += ch; } var c = null; while (c = stream.eat(regs.validIdentifier)) { str += c; } for (var i=0, j=keyFunctions.length; i CodeMirror: Solr mode

        Solr mode

        MIME types defined: text/x-solr.

        wp-file-manager/lib/codemirror/mode/solr/solr.js000064400000005166151202472330015661 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("solr", function() { "use strict"; var isStringChar = /[^\s\|\!\+\-\*\?\~\^\&\:\(\)\[\]\{\}\^\"\\]/; var isOperatorChar = /[\|\!\+\-\*\?\~\^\&]/; var isOperatorString = /^(OR|AND|NOT|TO)$/i; function isNumber(word) { return parseFloat(word, 10).toString() === word; } function tokenString(quote) { return function(stream, state) { var escaped = false, next; while ((next = stream.next()) != null) { if (next == quote && !escaped) break; escaped = !escaped && next == "\\"; } if (!escaped) state.tokenize = tokenBase; return "string"; }; } function tokenOperator(operator) { return function(stream, state) { var style = "operator"; if (operator == "+") style += " positive"; else if (operator == "-") style += " negative"; else if (operator == "|") stream.eat(/\|/); else if (operator == "&") stream.eat(/\&/); else if (operator == "^") style += " boost"; state.tokenize = tokenBase; return style; }; } function tokenWord(ch) { return function(stream, state) { var word = ch; while ((ch = stream.peek()) && ch.match(isStringChar) != null) { word += stream.next(); } state.tokenize = tokenBase; if (isOperatorString.test(word)) return "operator"; else if (isNumber(word)) return "number"; else if (stream.peek() == ":") return "field"; else return "string"; }; } function tokenBase(stream, state) { var ch = stream.next(); if (ch == '"') state.tokenize = tokenString(ch); else if (isOperatorChar.test(ch)) state.tokenize = tokenOperator(ch); else if (isStringChar.test(ch)) state.tokenize = tokenWord(ch); return (state.tokenize != tokenBase) ? state.tokenize(stream, state) : null; } return { startState: function() { return { tokenize: tokenBase }; }, token: function(stream, state) { if (stream.eatSpace()) return null; return state.tokenize(stream, state); } }; }); CodeMirror.defineMIME("text/x-solr", "solr"); }); wp-file-manager/lib/codemirror/mode/soy/index.html000064400000003623151202472330016170 0ustar00 CodeMirror: Soy (Closure Template) mode

        Soy (Closure Template) mode

        A mode for Closure Templates (Soy).

        MIME type defined: text/x-soy.

        wp-file-manager/lib/codemirror/mode/soy/soy.js000064400000016715151202472330015351 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../htmlmixed/htmlmixed"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var indentingTags = ["template", "literal", "msg", "fallbackmsg", "let", "if", "elseif", "else", "switch", "case", "default", "foreach", "ifempty", "for", "call", "param", "deltemplate", "delcall", "log"]; CodeMirror.defineMode("soy", function(config) { var textMode = CodeMirror.getMode(config, "text/plain"); var modes = { html: CodeMirror.getMode(config, {name: "text/html", multilineTagIndentFactor: 2, multilineTagIndentPastTag: false}), attributes: textMode, text: textMode, uri: textMode, css: CodeMirror.getMode(config, "text/css"), js: CodeMirror.getMode(config, {name: "text/javascript", statementIndent: 2 * config.indentUnit}) }; function last(array) { return array[array.length - 1]; } function tokenUntil(stream, state, untilRegExp) { var oldString = stream.string; var match = untilRegExp.exec(oldString.substr(stream.pos)); if (match) { // We don't use backUp because it backs up just the position, not the state. // This uses an undocumented API. stream.string = oldString.substr(0, stream.pos + match.index); } var result = stream.hideFirstChars(state.indent, function() { return state.localMode.token(stream, state.localState); }); stream.string = oldString; return result; } return { startState: function() { return { kind: [], kindTag: [], soyState: [], indent: 0, localMode: modes.html, localState: CodeMirror.startState(modes.html) }; }, copyState: function(state) { return { tag: state.tag, // Last seen Soy tag. kind: state.kind.concat([]), // Values of kind="" attributes. kindTag: state.kindTag.concat([]), // Opened tags with kind="" attributes. soyState: state.soyState.concat([]), indent: state.indent, // Indentation of the following line. localMode: state.localMode, localState: CodeMirror.copyState(state.localMode, state.localState) }; }, token: function(stream, state) { var match; switch (last(state.soyState)) { case "comment": if (stream.match(/^.*?\*\//)) { state.soyState.pop(); } else { stream.skipToEnd(); } return "comment"; case "variable": if (stream.match(/^}/)) { state.indent -= 2 * config.indentUnit; state.soyState.pop(); return "variable-2"; } stream.next(); return null; case "tag": if (stream.match(/^\/?}/)) { if (state.tag == "/template" || state.tag == "/deltemplate") state.indent = 0; else state.indent -= (stream.current() == "/}" || indentingTags.indexOf(state.tag) == -1 ? 2 : 1) * config.indentUnit; state.soyState.pop(); return "keyword"; } else if (stream.match(/^([\w?]+)(?==)/)) { if (stream.current() == "kind" && (match = stream.match(/^="([^"]+)/, false))) { var kind = match[1]; state.kind.push(kind); state.kindTag.push(state.tag); state.localMode = modes[kind] || modes.html; state.localState = CodeMirror.startState(state.localMode); } return "attribute"; } else if (stream.match(/^"/)) { state.soyState.push("string"); return "string"; } stream.next(); return null; case "literal": if (stream.match(/^(?=\{\/literal})/)) { state.indent -= config.indentUnit; state.soyState.pop(); return this.token(stream, state); } return tokenUntil(stream, state, /\{\/literal}/); case "string": var match = stream.match(/^.*?("|\\[\s\S])/); if (!match) { stream.skipToEnd(); } else if (match[1] == "\"") { state.soyState.pop(); } return "string"; } if (stream.match(/^\/\*/)) { state.soyState.push("comment"); return "comment"; } else if (stream.match(stream.sol() ? /^\s*\/\/.*/ : /^\s+\/\/.*/)) { return "comment"; } else if (stream.match(/^\{\$[\w?]*/)) { state.indent += 2 * config.indentUnit; state.soyState.push("variable"); return "variable-2"; } else if (stream.match(/^\{literal}/)) { state.indent += config.indentUnit; state.soyState.push("literal"); return "keyword"; } else if (match = stream.match(/^\{([\/@\\]?[\w?]*)/)) { if (match[1] != "/switch") state.indent += (/^(\/|(else|elseif|case|default)$)/.test(match[1]) && state.tag != "switch" ? 1 : 2) * config.indentUnit; state.tag = match[1]; if (state.tag == "/" + last(state.kindTag)) { // We found the tag that opened the current kind="". state.kind.pop(); state.kindTag.pop(); state.localMode = modes[last(state.kind)] || modes.html; state.localState = CodeMirror.startState(state.localMode); } state.soyState.push("tag"); return "keyword"; } return tokenUntil(stream, state, /\{|\s+\/\/|\/\*/); }, indent: function(state, textAfter) { var indent = state.indent, top = last(state.soyState); if (top == "comment") return CodeMirror.Pass; if (top == "literal") { if (/^\{\/literal}/.test(textAfter)) indent -= config.indentUnit; } else { if (/^\s*\{\/(template|deltemplate)\b/.test(textAfter)) return 0; if (/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(textAfter)) indent -= config.indentUnit; if (state.tag != "switch" && /^\{(case|default)\b/.test(textAfter)) indent -= config.indentUnit; if (/^\{\/switch\b/.test(textAfter)) indent -= config.indentUnit; } if (indent && state.localMode.indent) indent += state.localMode.indent(state.localState, textAfter); return indent; }, innerMode: function(state) { if (state.soyState.length && last(state.soyState) != "literal") return null; else return {state: state.localState, mode: state.localMode}; }, electricInput: /^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/, lineComment: "//", blockCommentStart: "/*", blockCommentEnd: "*/", blockCommentContinue: " * ", fold: "indent" }; }, "htmlmixed"); CodeMirror.registerHelper("hintWords", "soy", indentingTags.concat( ["delpackage", "namespace", "alias", "print", "css", "debugger"])); CodeMirror.defineMIME("text/x-soy", "soy"); }); wp-file-manager/lib/codemirror/mode/sparql/index.html000064400000003355151202472330016662 0ustar00 CodeMirror: SPARQL mode

        SPARQL mode

        MIME types defined: application/sparql-query.

        wp-file-manager/lib/codemirror/mode/sparql/sparql.js000064400000014277151202472330016532 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("sparql", function(config) { var indentUnit = config.indentUnit; var curPunc; function wordRegexp(words) { return new RegExp("^(?:" + words.join("|") + ")$", "i"); } var ops = wordRegexp(["str", "lang", "langmatches", "datatype", "bound", "sameterm", "isiri", "isuri", "iri", "uri", "bnode", "count", "sum", "min", "max", "avg", "sample", "group_concat", "rand", "abs", "ceil", "floor", "round", "concat", "substr", "strlen", "replace", "ucase", "lcase", "encode_for_uri", "contains", "strstarts", "strends", "strbefore", "strafter", "year", "month", "day", "hours", "minutes", "seconds", "timezone", "tz", "now", "uuid", "struuid", "md5", "sha1", "sha256", "sha384", "sha512", "coalesce", "if", "strlang", "strdt", "isnumeric", "regex", "exists", "isblank", "isliteral", "a", "bind"]); var keywords = wordRegexp(["base", "prefix", "select", "distinct", "reduced", "construct", "describe", "ask", "from", "named", "where", "order", "limit", "offset", "filter", "optional", "graph", "by", "asc", "desc", "as", "having", "undef", "values", "group", "minus", "in", "not", "service", "silent", "using", "insert", "delete", "union", "true", "false", "with", "data", "copy", "to", "move", "add", "create", "drop", "clear", "load"]); var operatorChars = /[*+\-<>=&|\^\/!\?]/; function tokenBase(stream, state) { var ch = stream.next(); curPunc = null; if (ch == "$" || ch == "?") { if(ch == "?" && stream.match(/\s/, false)){ return "operator"; } stream.match(/^[\w\d]*/); return "variable-2"; } else if (ch == "<" && !stream.match(/^[\s\u00a0=]/, false)) { stream.match(/^[^\s\u00a0>]*>?/); return "atom"; } else if (ch == "\"" || ch == "'") { state.tokenize = tokenLiteral(ch); return state.tokenize(stream, state); } else if (/[{}\(\),\.;\[\]]/.test(ch)) { curPunc = ch; return "bracket"; } else if (ch == "#") { stream.skipToEnd(); return "comment"; } else if (operatorChars.test(ch)) { stream.eatWhile(operatorChars); return "operator"; } else if (ch == ":") { stream.eatWhile(/[\w\d\._\-]/); return "atom"; } else if (ch == "@") { stream.eatWhile(/[a-z\d\-]/i); return "meta"; } else { stream.eatWhile(/[_\w\d]/); if (stream.eat(":")) { stream.eatWhile(/[\w\d_\-]/); return "atom"; } var word = stream.current(); if (ops.test(word)) return "builtin"; else if (keywords.test(word)) return "keyword"; else return "variable"; } } function tokenLiteral(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) { state.tokenize = tokenBase; break; } escaped = !escaped && ch == "\\"; } return "string"; }; } function pushContext(state, type, col) { state.context = {prev: state.context, indent: state.indent, col: col, type: type}; } function popContext(state) { state.indent = state.context.indent; state.context = state.context.prev; } return { startState: function() { return {tokenize: tokenBase, context: null, indent: 0, col: 0}; }, token: function(stream, state) { if (stream.sol()) { if (state.context && state.context.align == null) state.context.align = false; state.indent = stream.indentation(); } if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); if (style != "comment" && state.context && state.context.align == null && state.context.type != "pattern") { state.context.align = true; } if (curPunc == "(") pushContext(state, ")", stream.column()); else if (curPunc == "[") pushContext(state, "]", stream.column()); else if (curPunc == "{") pushContext(state, "}", stream.column()); else if (/[\]\}\)]/.test(curPunc)) { while (state.context && state.context.type == "pattern") popContext(state); if (state.context && curPunc == state.context.type) { popContext(state); if (curPunc == "}" && state.context && state.context.type == "pattern") popContext(state); } } else if (curPunc == "." && state.context && state.context.type == "pattern") popContext(state); else if (/atom|string|variable/.test(style) && state.context) { if (/[\}\]]/.test(state.context.type)) pushContext(state, "pattern", stream.column()); else if (state.context.type == "pattern" && !state.context.align) { state.context.align = true; state.context.col = stream.column(); } } return style; }, indent: function(state, textAfter) { var firstChar = textAfter && textAfter.charAt(0); var context = state.context; if (/[\]\}]/.test(firstChar)) while (context && context.type == "pattern") context = context.prev; var closing = context && firstChar == context.type; if (!context) return 0; else if (context.type == "pattern") return context.col; else if (context.align) return context.col + (closing ? 0 : 1); else return context.indent + (closing ? 0 : indentUnit); }, lineComment: "#" }; }); CodeMirror.defineMIME("application/sparql-query", "sparql"); }); wp-file-manager/lib/codemirror/mode/spreadsheet/index.html000064400000002560151202472330017664 0ustar00 CodeMirror: Spreadsheet mode

        Spreadsheet mode

        MIME types defined: text/x-spreadsheet.

        The Spreadsheet Mode

        Created by Robert Plummer

        wp-file-manager/lib/codemirror/mode/spreadsheet/spreadsheet.js000064400000006103151202472330020531 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("spreadsheet", function () { return { startState: function () { return { stringType: null, stack: [] }; }, token: function (stream, state) { if (!stream) return; //check for state changes if (state.stack.length === 0) { //strings if ((stream.peek() == '"') || (stream.peek() == "'")) { state.stringType = stream.peek(); stream.next(); // Skip quote state.stack.unshift("string"); } } //return state //stack has switch (state.stack[0]) { case "string": while (state.stack[0] === "string" && !stream.eol()) { if (stream.peek() === state.stringType) { stream.next(); // Skip quote state.stack.shift(); // Clear flag } else if (stream.peek() === "\\") { stream.next(); stream.next(); } else { stream.match(/^.[^\\\"\']*/); } } return "string"; case "characterClass": while (state.stack[0] === "characterClass" && !stream.eol()) { if (!(stream.match(/^[^\]\\]+/) || stream.match(/^\\./))) state.stack.shift(); } return "operator"; } var peek = stream.peek(); //no stack switch (peek) { case "[": stream.next(); state.stack.unshift("characterClass"); return "bracket"; case ":": stream.next(); return "operator"; case "\\": if (stream.match(/\\[a-z]+/)) return "string-2"; else { stream.next(); return "atom"; } case ".": case ",": case ";": case "*": case "-": case "+": case "^": case "<": case "/": case "=": stream.next(); return "atom"; case "$": stream.next(); return "builtin"; } if (stream.match(/\d+/)) { if (stream.match(/^\w+/)) return "error"; return "number"; } else if (stream.match(/^[a-zA-Z_]\w*/)) { if (stream.match(/(?=[\(.])/, false)) return "keyword"; return "variable-2"; } else if (["[", "]", "(", ")", "{", "}"].indexOf(peek) != -1) { stream.next(); return "bracket"; } else if (!stream.eatSpace()) { stream.next(); } return null; } }; }); CodeMirror.defineMIME("text/x-spreadsheet", "spreadsheet"); }); wp-file-manager/lib/codemirror/mode/sql/index.html000064400000005657151202472330016166 0ustar00 CodeMirror: SQL Mode for CodeMirror

        SQL Mode for CodeMirror

        MIME types defined: text/x-sql, text/x-mysql, text/x-mariadb, text/x-cassandra, text/x-plsql, text/x-mssql, text/x-hive, text/x-pgsql, text/x-gql.

        wp-file-manager/lib/codemirror/mode/sql/sql.js000064400000102632151202472330015315 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("sql", function(config, parserConfig) { "use strict"; var client = parserConfig.client || {}, atoms = parserConfig.atoms || {"false": true, "true": true, "null": true}, builtin = parserConfig.builtin || {}, keywords = parserConfig.keywords || {}, operatorChars = parserConfig.operatorChars || /^[*+\-%<>!=&|~^]/, support = parserConfig.support || {}, hooks = parserConfig.hooks || {}, dateSQL = parserConfig.dateSQL || {"date" : true, "time" : true, "timestamp" : true}; function tokenBase(stream, state) { var ch = stream.next(); // call hooks from the mime type if (hooks[ch]) { var result = hooks[ch](stream, state); if (result !== false) return result; } if (support.hexNumber == true && ((ch == "0" && stream.match(/^[xX][0-9a-fA-F]+/)) || (ch == "x" || ch == "X") && stream.match(/^'[0-9a-fA-F]+'/))) { // hex // ref: http://dev.mysql.com/doc/refman/5.5/en/hexadecimal-literals.html return "number"; } else if (support.binaryNumber == true && (((ch == "b" || ch == "B") && stream.match(/^'[01]+'/)) || (ch == "0" && stream.match(/^b[01]+/)))) { // bitstring // ref: http://dev.mysql.com/doc/refman/5.5/en/bit-field-literals.html return "number"; } else if (ch.charCodeAt(0) > 47 && ch.charCodeAt(0) < 58) { // numbers // ref: http://dev.mysql.com/doc/refman/5.5/en/number-literals.html stream.match(/^[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/); support.decimallessFloat == true && stream.eat('.'); return "number"; } else if (ch == "?" && (stream.eatSpace() || stream.eol() || stream.eat(";"))) { // placeholders return "variable-3"; } else if (ch == "'" || (ch == '"' && support.doubleQuote)) { // strings // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html state.tokenize = tokenLiteral(ch); return state.tokenize(stream, state); } else if ((((support.nCharCast == true && (ch == "n" || ch == "N")) || (support.charsetCast == true && ch == "_" && stream.match(/[a-z][a-z0-9]*/i))) && (stream.peek() == "'" || stream.peek() == '"'))) { // charset casting: _utf8'str', N'str', n'str' // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html return "keyword"; } else if (/^[\(\),\;\[\]]/.test(ch)) { // no highlighting return null; } else if (support.commentSlashSlash && ch == "/" && stream.eat("/")) { // 1-line comment stream.skipToEnd(); return "comment"; } else if ((support.commentHash && ch == "#") || (ch == "-" && stream.eat("-") && (!support.commentSpaceRequired || stream.eat(" ")))) { // 1-line comments // ref: https://kb.askmonty.org/en/comment-syntax/ stream.skipToEnd(); return "comment"; } else if (ch == "/" && stream.eat("*")) { // multi-line comments // ref: https://kb.askmonty.org/en/comment-syntax/ state.tokenize = tokenComment; return state.tokenize(stream, state); } else if (ch == ".") { // .1 for 0.1 if (support.zerolessFloat == true && stream.match(/^(?:\d+(?:e[+-]?\d+)?)/i)) { return "number"; } // .table_name (ODBC) // // ref: http://dev.mysql.com/doc/refman/5.6/en/identifier-qualifiers.html if (support.ODBCdotTable == true && stream.match(/^[a-zA-Z_]+/)) { return "variable-2"; } } else if (operatorChars.test(ch)) { // operators stream.eatWhile(operatorChars); return null; } else if (ch == '{' && (stream.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/) || stream.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/))) { // dates (weird ODBC syntax) // ref: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html return "number"; } else { stream.eatWhile(/^[_\w\d]/); var word = stream.current().toLowerCase(); // dates (standard SQL syntax) // ref: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html if (dateSQL.hasOwnProperty(word) && (stream.match(/^( )+'[^']*'/) || stream.match(/^( )+"[^"]*"/))) return "number"; if (atoms.hasOwnProperty(word)) return "atom"; if (builtin.hasOwnProperty(word)) return "builtin"; if (keywords.hasOwnProperty(word)) return "keyword"; if (client.hasOwnProperty(word)) return "string-2"; return null; } } // 'string', with char specified in quote escaped by '\' function tokenLiteral(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) { state.tokenize = tokenBase; break; } escaped = !escaped && ch == "\\"; } return "string"; }; } function tokenComment(stream, state) { while (true) { if (stream.skipTo("*")) { stream.next(); if (stream.eat("/")) { state.tokenize = tokenBase; break; } } else { stream.skipToEnd(); break; } } return "comment"; } function pushContext(stream, state, type) { state.context = { prev: state.context, indent: stream.indentation(), col: stream.column(), type: type }; } function popContext(state) { state.indent = state.context.indent; state.context = state.context.prev; } return { startState: function() { return {tokenize: tokenBase, context: null}; }, token: function(stream, state) { if (stream.sol()) { if (state.context && state.context.align == null) state.context.align = false; } if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); if (style == "comment") return style; if (state.context && state.context.align == null) state.context.align = true; var tok = stream.current(); if (tok == "(") pushContext(stream, state, ")"); else if (tok == "[") pushContext(stream, state, "]"); else if (state.context && state.context.type == tok) popContext(state); return style; }, indent: function(state, textAfter) { var cx = state.context; if (!cx) return CodeMirror.Pass; var closing = textAfter.charAt(0) == cx.type; if (cx.align) return cx.col + (closing ? 0 : 1); else return cx.indent + (closing ? 0 : config.indentUnit); }, blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: support.commentSlashSlash ? "//" : support.commentHash ? "#" : null }; }); (function() { "use strict"; // `identifier` function hookIdentifier(stream) { // MySQL/MariaDB identifiers // ref: http://dev.mysql.com/doc/refman/5.6/en/identifier-qualifiers.html var ch; while ((ch = stream.next()) != null) { if (ch == "`" && !stream.eat("`")) return "variable-2"; } stream.backUp(stream.current().length - 1); return stream.eatWhile(/\w/) ? "variable-2" : null; } // variable token function hookVar(stream) { // variables // @@prefix.varName @varName // varName can be quoted with ` or ' or " // ref: http://dev.mysql.com/doc/refman/5.5/en/user-variables.html if (stream.eat("@")) { stream.match(/^session\./); stream.match(/^local\./); stream.match(/^global\./); } if (stream.eat("'")) { stream.match(/^.*'/); return "variable-2"; } else if (stream.eat('"')) { stream.match(/^.*"/); return "variable-2"; } else if (stream.eat("`")) { stream.match(/^.*`/); return "variable-2"; } else if (stream.match(/^[0-9a-zA-Z$\.\_]+/)) { return "variable-2"; } return null; }; // short client keyword token function hookClient(stream) { // \N means NULL // ref: http://dev.mysql.com/doc/refman/5.5/en/null-values.html if (stream.eat("N")) { return "atom"; } // \g, etc // ref: http://dev.mysql.com/doc/refman/5.5/en/mysql-commands.html return stream.match(/^[a-zA-Z.#!?]/) ? "variable-2" : null; } // these keywords are used by all SQL dialects (however, a mode can still overwrite it) var sqlKeywords = "alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit "; // turn a space-separated list into an array function set(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } // A generic SQL Mode. It's not a standard, it just try to support what is generally supported CodeMirror.defineMIME("text/x-sql", { name: "sql", keywords: set(sqlKeywords + "begin"), builtin: set("bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric"), atoms: set("false true null unknown"), operatorChars: /^[*+\-%<>!=]/, dateSQL: set("date time timestamp"), support: set("ODBCdotTable doubleQuote binaryNumber hexNumber") }); CodeMirror.defineMIME("text/x-mssql", { name: "sql", client: set("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"), keywords: set(sqlKeywords + "begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare"), builtin: set("bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table "), atoms: set("false true null unknown"), operatorChars: /^[*+\-%<>!=]/, dateSQL: set("date datetimeoffset datetime2 smalldatetime datetime time"), hooks: { "@": hookVar } }); CodeMirror.defineMIME("text/x-mysql", { name: "sql", client: set("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"), keywords: set(sqlKeywords + "accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"), builtin: set("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"), atoms: set("false true null unknown"), operatorChars: /^[*+\-%<>!=&|^]/, dateSQL: set("date time timestamp"), support: set("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"), hooks: { "@": hookVar, "`": hookIdentifier, "\\": hookClient } }); CodeMirror.defineMIME("text/x-mariadb", { name: "sql", client: set("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"), keywords: set(sqlKeywords + "accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"), builtin: set("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"), atoms: set("false true null unknown"), operatorChars: /^[*+\-%<>!=&|^]/, dateSQL: set("date time timestamp"), support: set("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"), hooks: { "@": hookVar, "`": hookIdentifier, "\\": hookClient } }); // the query language used by Apache Cassandra is called CQL, but this mime type // is called Cassandra to avoid confusion with Contextual Query Language CodeMirror.defineMIME("text/x-cassandra", { name: "sql", client: { }, keywords: set("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"), builtin: set("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"), atoms: set("false true infinity NaN"), operatorChars: /^[<>=]/, dateSQL: { }, support: set("commentSlashSlash decimallessFloat"), hooks: { } }); // this is based on Peter Raganitsch's 'plsql' mode CodeMirror.defineMIME("text/x-plsql", { name: "sql", client: set("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"), keywords: set("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"), builtin: set("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"), operatorChars: /^[*+\-%<>!=~]/, dateSQL: set("date time timestamp"), support: set("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber") }); // Created to support specific hive keywords CodeMirror.defineMIME("text/x-hive", { name: "sql", keywords: set("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external false fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger true unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with"), builtin: set("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype"), atoms: set("false true null unknown"), operatorChars: /^[*+\-%<>!=]/, dateSQL: set("date timestamp"), support: set("ODBCdotTable doubleQuote binaryNumber hexNumber") }); CodeMirror.defineMIME("text/x-pgsql", { name: "sql", client: set("source"), // http://www.postgresql.org/docs/9.5/static/sql-keywords-appendix.html keywords: set(sqlKeywords + "a abort abs absent absolute access according action ada add admin after aggregate all allocate also always analyse analyze any are array array_agg array_max_cardinality asensitive assertion assignment asymmetric at atomic attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli binary bit_length blob blocked bom both breadth c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain characteristics characters character_length character_set_catalog character_set_name character_set_schema char_length check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column columns column_name command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constraint constraints constraint_catalog constraint_name constraint_schema constructor contains content continue control conversion convert copy corr corresponding cost covar_pop covar_samp cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datetime_interval_code datetime_interval_precision day db deallocate dec declare default defaults deferrable deferred defined definer degree delimiter delimiters dense_rank depth deref derived describe descriptor deterministic diagnostics dictionary disable discard disconnect dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain dynamic dynamic_function dynamic_function_code each element else empty enable encoding encrypted end end-exec end_frame end_partition enforced enum equals escape event every except exception exclude excluding exclusive exec execute exists exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreign fortran forward found frame_row free freeze fs full function functions fusion g general generated get global go goto grant granted greatest grouping groups handler header hex hierarchy hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import including increment indent index indexes indicator inherit inherits initially inline inner inout input insensitive instance instantiable instead integrity intersect intersection invoker isnull isolation k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like_regex link listen ln load local localtime localtimestamp location locator lock locked logged lower m map mapping match matched materialized max maxvalue max_cardinality member merge message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized nothing notify notnull nowait nth_value ntile null nullable nullif nulls number object occurrences_regex octets octet_length of off offset oids old only open operator option options ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password percent percentile_cont percentile_disc percent_rank period permission placing plans pli policy portion position position_regex power precedes preceding prepare prepared preserve primary prior privileges procedural procedure program public quote range rank read reads reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns revoke right role rollback rollup routine routine_catalog routine_name routine_schema row rows row_count row_number rule savepoint scale schema schema_name scope scope_catalog scope_name scope_schema scroll search second section security selective self sensitive sequence sequences serializable server server_name session session_user setof sets share show similar simple size skip snapshot some source space specific specifictype specific_name sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset substring substring_regex succeeds sum symmetric sysid system system_time system_user t tables tablesample tablespace table_name temp template temporary then ties timezone_hour timezone_minute to token top_level_count trailing transaction transactions_committed transactions_rolled_back transaction_active transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted unique unknown unlink unlisten unlogged unnamed unnest until untyped upper uri usage user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of varbinary variadic var_pop var_samp verbose version versioning view views volatile when whenever whitespace width_bucket window within work wrapper write xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes loop repeat"), // http://www.postgresql.org/docs/9.5/static/datatype.html builtin: set("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"), atoms: set("false true null unknown"), operatorChars: /^[*+\-%<>!=&|^\/#@?~]/, dateSQL: set("date time timestamp"), support: set("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast") }); // Google's SQL-like query language, GQL CodeMirror.defineMIME("text/x-gql", { name: "sql", keywords: set("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"), atoms: set("false true"), builtin: set("blob datetime first key __key__ string integer double boolean null"), operatorChars: /^[*+\-%<>!=]/ }); }()); }); /* How Properties of Mime Types are used by SQL Mode ================================================= keywords: A list of keywords you want to be highlighted. builtin: A list of builtin types you want to be highlighted (if you want types to be of class "builtin" instead of "keyword"). operatorChars: All characters that must be handled as operators. client: Commands parsed and executed by the client (not the server). support: A list of supported syntaxes which are not common, but are supported by more than 1 DBMS. * ODBCdotTable: .tableName * zerolessFloat: .1 * doubleQuote * nCharCast: N'string' * charsetCast: _utf8'string' * commentHash: use # char for comments * commentSlashSlash: use // for comments * commentSpaceRequired: require a space after -- for comments atoms: Keywords that must be highlighted as atoms,. Some DBMS's support more atoms than others: UNKNOWN, INFINITY, UNDERFLOW, NaN... dateSQL: Used for date/time SQL standard syntax, because not all DBMS's support same temporal types. */ wp-file-manager/lib/codemirror/mode/stex/index.html000064400000010102151202472330016327 0ustar00 CodeMirror: sTeX mode

        sTeX mode

        MIME types defined: text/x-stex.

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/stex/stex.js000064400000015424151202472330015667 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /* * Author: Constantin Jucovschi (c.jucovschi@jacobs-university.de) * Licence: MIT */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("stex", function() { "use strict"; function pushCommand(state, command) { state.cmdState.push(command); } function peekCommand(state) { if (state.cmdState.length > 0) { return state.cmdState[state.cmdState.length - 1]; } else { return null; } } function popCommand(state) { var plug = state.cmdState.pop(); if (plug) { plug.closeBracket(); } } // returns the non-default plugin closest to the end of the list function getMostPowerful(state) { var context = state.cmdState; for (var i = context.length - 1; i >= 0; i--) { var plug = context[i]; if (plug.name == "DEFAULT") { continue; } return plug; } return { styleIdentifier: function() { return null; } }; } function addPluginPattern(pluginName, cmdStyle, styles) { return function () { this.name = pluginName; this.bracketNo = 0; this.style = cmdStyle; this.styles = styles; this.argument = null; // \begin and \end have arguments that follow. These are stored in the plugin this.styleIdentifier = function() { return this.styles[this.bracketNo - 1] || null; }; this.openBracket = function() { this.bracketNo++; return "bracket"; }; this.closeBracket = function() {}; }; } var plugins = {}; plugins["importmodule"] = addPluginPattern("importmodule", "tag", ["string", "builtin"]); plugins["documentclass"] = addPluginPattern("documentclass", "tag", ["", "atom"]); plugins["usepackage"] = addPluginPattern("usepackage", "tag", ["atom"]); plugins["begin"] = addPluginPattern("begin", "tag", ["atom"]); plugins["end"] = addPluginPattern("end", "tag", ["atom"]); plugins["DEFAULT"] = function () { this.name = "DEFAULT"; this.style = "tag"; this.styleIdentifier = this.openBracket = this.closeBracket = function() {}; }; function setState(state, f) { state.f = f; } // called when in a normal (no environment) context function normal(source, state) { var plug; // Do we look like '\command' ? If so, attempt to apply the plugin 'command' if (source.match(/^\\[a-zA-Z@]+/)) { var cmdName = source.current().slice(1); plug = plugins[cmdName] || plugins["DEFAULT"]; plug = new plug(); pushCommand(state, plug); setState(state, beginParams); return plug.style; } // escape characters if (source.match(/^\\[$&%#{}_]/)) { return "tag"; } // white space control characters if (source.match(/^\\[,;!\/\\]/)) { return "tag"; } // find if we're starting various math modes if (source.match("\\[")) { setState(state, function(source, state){ return inMathMode(source, state, "\\]"); }); return "keyword"; } if (source.match("$$")) { setState(state, function(source, state){ return inMathMode(source, state, "$$"); }); return "keyword"; } if (source.match("$")) { setState(state, function(source, state){ return inMathMode(source, state, "$"); }); return "keyword"; } var ch = source.next(); if (ch == "%") { source.skipToEnd(); return "comment"; } else if (ch == '}' || ch == ']') { plug = peekCommand(state); if (plug) { plug.closeBracket(ch); setState(state, beginParams); } else { return "error"; } return "bracket"; } else if (ch == '{' || ch == '[') { plug = plugins["DEFAULT"]; plug = new plug(); pushCommand(state, plug); return "bracket"; } else if (/\d/.test(ch)) { source.eatWhile(/[\w.%]/); return "atom"; } else { source.eatWhile(/[\w\-_]/); plug = getMostPowerful(state); if (plug.name == 'begin') { plug.argument = source.current(); } return plug.styleIdentifier(); } } function inMathMode(source, state, endModeSeq) { if (source.eatSpace()) { return null; } if (source.match(endModeSeq)) { setState(state, normal); return "keyword"; } if (source.match(/^\\[a-zA-Z@]+/)) { return "tag"; } if (source.match(/^[a-zA-Z]+/)) { return "variable-2"; } // escape characters if (source.match(/^\\[$&%#{}_]/)) { return "tag"; } // white space control characters if (source.match(/^\\[,;!\/]/)) { return "tag"; } // special math-mode characters if (source.match(/^[\^_&]/)) { return "tag"; } // non-special characters if (source.match(/^[+\-<>|=,\/@!*:;'"`~#?]/)) { return null; } if (source.match(/^(\d+\.\d*|\d*\.\d+|\d+)/)) { return "number"; } var ch = source.next(); if (ch == "{" || ch == "}" || ch == "[" || ch == "]" || ch == "(" || ch == ")") { return "bracket"; } if (ch == "%") { source.skipToEnd(); return "comment"; } return "error"; } function beginParams(source, state) { var ch = source.peek(), lastPlug; if (ch == '{' || ch == '[') { lastPlug = peekCommand(state); lastPlug.openBracket(ch); source.eat(ch); setState(state, normal); return "bracket"; } if (/[ \t\r]/.test(ch)) { source.eat(ch); return null; } setState(state, normal); popCommand(state); return normal(source, state); } return { startState: function() { return { cmdState: [], f: normal }; }, copyState: function(s) { return { cmdState: s.cmdState.slice(), f: s.f }; }, token: function(stream, state) { return state.f(stream, state); }, blankLine: function(state) { state.f = normal; state.cmdState.length = 0; }, lineComment: "%" }; }); CodeMirror.defineMIME("text/x-stex", "stex"); CodeMirror.defineMIME("text/x-latex", "stex"); }); wp-file-manager/lib/codemirror/mode/stex/test.js000064400000006042151202472330015657 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({tabSize: 4}, "stex"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT("word", "foo"); MT("twoWords", "foo bar"); MT("beginEndDocument", "[tag \\begin][bracket {][atom document][bracket }]", "[tag \\end][bracket {][atom document][bracket }]"); MT("beginEndEquation", "[tag \\begin][bracket {][atom equation][bracket }]", " E=mc^2", "[tag \\end][bracket {][atom equation][bracket }]"); MT("beginModule", "[tag \\begin][bracket {][atom module][bracket }[[]]]"); MT("beginModuleId", "[tag \\begin][bracket {][atom module][bracket }[[]id=bbt-size[bracket ]]]"); MT("importModule", "[tag \\importmodule][bracket [[][string b-b-t][bracket ]]{][builtin b-b-t][bracket }]"); MT("importModulePath", "[tag \\importmodule][bracket [[][tag \\KWARCslides][bracket {][string dmath/en/cardinality][bracket }]]{][builtin card][bracket }]"); MT("psForPDF", "[tag \\PSforPDF][bracket [[][atom 1][bracket ]]{]#1[bracket }]"); MT("comment", "[comment % foo]"); MT("tagComment", "[tag \\item][comment % bar]"); MT("commentTag", " [comment % \\item]"); MT("commentLineBreak", "[comment %]", "foo"); MT("tagErrorCurly", "[tag \\begin][error }][bracket {]"); MT("tagErrorSquare", "[tag \\item][error ]]][bracket {]"); MT("commentCurly", "[comment % }]"); MT("tagHash", "the [tag \\#] key"); MT("tagNumber", "a [tag \\$][atom 5] stetson"); MT("tagPercent", "[atom 100][tag \\%] beef"); MT("tagAmpersand", "L [tag \\&] N"); MT("tagUnderscore", "foo[tag \\_]bar"); MT("tagBracketOpen", "[tag \\emph][bracket {][tag \\{][bracket }]"); MT("tagBracketClose", "[tag \\emph][bracket {][tag \\}][bracket }]"); MT("tagLetterNumber", "section [tag \\S][atom 1]"); MT("textTagNumber", "para [tag \\P][atom 2]"); MT("thinspace", "x[tag \\,]y"); MT("thickspace", "x[tag \\;]y"); MT("negativeThinspace", "x[tag \\!]y"); MT("periodNotSentence", "J.\\ L.\\ is"); MT("periodSentence", "X[tag \\@]. The"); MT("italicCorrection", "[bracket {][tag \\em] If[tag \\/][bracket }] I"); MT("tagBracket", "[tag \\newcommand][bracket {][tag \\pop][bracket }]"); MT("inlineMathTagFollowedByNumber", "[keyword $][tag \\pi][number 2][keyword $]"); MT("inlineMath", "[keyword $][number 3][variable-2 x][tag ^][number 2.45]-[tag \\sqrt][bracket {][tag \\$\\alpha][bracket }] = [number 2][keyword $] other text"); MT("displayMath", "More [keyword $$]\t[variable-2 S][tag ^][variable-2 n][tag \\sum] [variable-2 i][keyword $$] other text"); MT("mathWithComment", "[keyword $][variable-2 x] [comment % $]", "[variable-2 y][keyword $] other text"); MT("lineBreakArgument", "[tag \\\\][bracket [[][atom 1cm][bracket ]]]"); })(); wp-file-manager/lib/codemirror/mode/stylus/index.html000064400000004650151202472330016722 0ustar00 CodeMirror: Stylus mode

        Stylus mode

        MIME types defined: text/x-styl.

        Created by Dmitry Kiselyov

        wp-file-manager/lib/codemirror/mode/stylus/stylus.js000064400000122210151202472330016617 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Stylus mode created by Dmitry Kiselyov http://git.io/AaRB (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("stylus", function(config) { var indentUnit = config.indentUnit, tagKeywords = keySet(tagKeywords_), tagVariablesRegexp = /^(a|b|i|s|col|em)$/i, propertyKeywords = keySet(propertyKeywords_), nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_), valueKeywords = keySet(valueKeywords_), colorKeywords = keySet(colorKeywords_), documentTypes = keySet(documentTypes_), documentTypesRegexp = wordRegexp(documentTypes_), mediaFeatures = keySet(mediaFeatures_), mediaTypes = keySet(mediaTypes_), fontProperties = keySet(fontProperties_), operatorsRegexp = /^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/, wordOperatorKeywordsRegexp = wordRegexp(wordOperatorKeywords_), blockKeywords = keySet(blockKeywords_), vendorPrefixesRegexp = new RegExp(/^\-(moz|ms|o|webkit)-/i), commonAtoms = keySet(commonAtoms_), firstWordMatch = "", states = {}, ch, style, type, override; /** * Tokenizers */ function tokenBase(stream, state) { firstWordMatch = stream.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/); state.context.line.firstWord = firstWordMatch ? firstWordMatch[0].replace(/^\s*/, "") : ""; state.context.line.indent = stream.indentation(); ch = stream.peek(); // Line comment if (stream.match("//")) { stream.skipToEnd(); return ["comment", "comment"]; } // Block comment if (stream.match("/*")) { state.tokenize = tokenCComment; return tokenCComment(stream, state); } // String if (ch == "\"" || ch == "'") { stream.next(); state.tokenize = tokenString(ch); return state.tokenize(stream, state); } // Def if (ch == "@") { stream.next(); stream.eatWhile(/[\w\\-]/); return ["def", stream.current()]; } // ID selector or Hex color if (ch == "#") { stream.next(); // Hex color if (stream.match(/^[0-9a-f]{6}|[0-9a-f]{3}/i)) { return ["atom", "atom"]; } // ID selector if (stream.match(/^[a-z][\w-]*/i)) { return ["builtin", "hash"]; } } // Vendor prefixes if (stream.match(vendorPrefixesRegexp)) { return ["meta", "vendor-prefixes"]; } // Numbers if (stream.match(/^-?[0-9]?\.?[0-9]/)) { stream.eatWhile(/[a-z%]/i); return ["number", "unit"]; } // !important|optional if (ch == "!") { stream.next(); return [stream.match(/^(important|optional)/i) ? "keyword": "operator", "important"]; } // Class if (ch == "." && stream.match(/^\.[a-z][\w-]*/i)) { return ["qualifier", "qualifier"]; } // url url-prefix domain regexp if (stream.match(documentTypesRegexp)) { if (stream.peek() == "(") state.tokenize = tokenParenthesized; return ["property", "word"]; } // Mixins / Functions if (stream.match(/^[a-z][\w-]*\(/i)) { stream.backUp(1); return ["keyword", "mixin"]; } // Block mixins if (stream.match(/^(\+|-)[a-z][\w-]*\(/i)) { stream.backUp(1); return ["keyword", "block-mixin"]; } // Parent Reference BEM naming if (stream.string.match(/^\s*&/) && stream.match(/^[-_]+[a-z][\w-]*/)) { return ["qualifier", "qualifier"]; } // / Root Reference & Parent Reference if (stream.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)) { stream.backUp(1); return ["variable-3", "reference"]; } if (stream.match(/^&{1}\s*$/)) { return ["variable-3", "reference"]; } // Word operator if (stream.match(wordOperatorKeywordsRegexp)) { return ["operator", "operator"]; } // Word if (stream.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)) { // Variable if (stream.match(/^(\.|\[)[\w-\'\"\]]+/i, false)) { if (!wordIsTag(stream.current())) { stream.match(/\./); return ["variable-2", "variable-name"]; } } return ["variable-2", "word"]; } // Operators if (stream.match(operatorsRegexp)) { return ["operator", stream.current()]; } // Delimiters if (/[:;,{}\[\]\(\)]/.test(ch)) { stream.next(); return [null, ch]; } // Non-detected items stream.next(); return [null, null]; } /** * Token comment */ function tokenCComment(stream, state) { var maybeEnd = false, ch; while ((ch = stream.next()) != null) { if (maybeEnd && ch == "/") { state.tokenize = null; break; } maybeEnd = (ch == "*"); } return ["comment", "comment"]; } /** * Token string */ function tokenString(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) { if (quote == ")") stream.backUp(1); break; } escaped = !escaped && ch == "\\"; } if (ch == quote || !escaped && quote != ")") state.tokenize = null; return ["string", "string"]; }; } /** * Token parenthesized */ function tokenParenthesized(stream, state) { stream.next(); // Must be "(" if (!stream.match(/\s*[\"\')]/, false)) state.tokenize = tokenString(")"); else state.tokenize = null; return [null, "("]; } /** * Context management */ function Context(type, indent, prev, line) { this.type = type; this.indent = indent; this.prev = prev; this.line = line || {firstWord: "", indent: 0}; } function pushContext(state, stream, type, indent) { indent = indent >= 0 ? indent : indentUnit; state.context = new Context(type, stream.indentation() + indent, state.context); return type; } function popContext(state, currentIndent) { var contextIndent = state.context.indent - indentUnit; currentIndent = currentIndent || false; state.context = state.context.prev; if (currentIndent) state.context.indent = contextIndent; return state.context.type; } function pass(type, stream, state) { return states[state.context.type](type, stream, state); } function popAndPass(type, stream, state, n) { for (var i = n || 1; i > 0; i--) state.context = state.context.prev; return pass(type, stream, state); } /** * Parser */ function wordIsTag(word) { return word.toLowerCase() in tagKeywords; } function wordIsProperty(word) { word = word.toLowerCase(); return word in propertyKeywords || word in fontProperties; } function wordIsBlock(word) { return word.toLowerCase() in blockKeywords; } function wordIsVendorPrefix(word) { return word.toLowerCase().match(vendorPrefixesRegexp); } function wordAsValue(word) { var wordLC = word.toLowerCase(); var override = "variable-2"; if (wordIsTag(word)) override = "tag"; else if (wordIsBlock(word)) override = "block-keyword"; else if (wordIsProperty(word)) override = "property"; else if (wordLC in valueKeywords || wordLC in commonAtoms) override = "atom"; else if (wordLC == "return" || wordLC in colorKeywords) override = "keyword"; // Font family else if (word.match(/^[A-Z]/)) override = "string"; return override; } function typeIsBlock(type, stream) { return ((endOfLine(stream) && (type == "{" || type == "]" || type == "hash" || type == "qualifier")) || type == "block-mixin"); } function typeIsInterpolation(type, stream) { return type == "{" && stream.match(/^\s*\$?[\w-]+/i, false); } function typeIsPseudo(type, stream) { return type == ":" && stream.match(/^[a-z-]+/, false); } function startOfLine(stream) { return stream.sol() || stream.string.match(new RegExp("^\\s*" + escapeRegExp(stream.current()))); } function endOfLine(stream) { return stream.eol() || stream.match(/^\s*$/, false); } function firstWordOfLine(line) { var re = /^\s*[-_]*[a-z0-9]+[\w-]*/i; var result = typeof line == "string" ? line.match(re) : line.string.match(re); return result ? result[0].replace(/^\s*/, "") : ""; } /** * Block */ states.block = function(type, stream, state) { if ((type == "comment" && startOfLine(stream)) || (type == "," && endOfLine(stream)) || type == "mixin") { return pushContext(state, stream, "block", 0); } if (typeIsInterpolation(type, stream)) { return pushContext(state, stream, "interpolation"); } if (endOfLine(stream) && type == "]") { if (!/^\s*(\.|#|:|\[|\*|&)/.test(stream.string) && !wordIsTag(firstWordOfLine(stream))) { return pushContext(state, stream, "block", 0); } } if (typeIsBlock(type, stream, state)) { return pushContext(state, stream, "block"); } if (type == "}" && endOfLine(stream)) { return pushContext(state, stream, "block", 0); } if (type == "variable-name") { if (stream.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/) || wordIsBlock(firstWordOfLine(stream))) { return pushContext(state, stream, "variableName"); } else { return pushContext(state, stream, "variableName", 0); } } if (type == "=") { if (!endOfLine(stream) && !wordIsBlock(firstWordOfLine(stream))) { return pushContext(state, stream, "block", 0); } return pushContext(state, stream, "block"); } if (type == "*") { if (endOfLine(stream) || stream.match(/\s*(,|\.|#|\[|:|{)/,false)) { override = "tag"; return pushContext(state, stream, "block"); } } if (typeIsPseudo(type, stream)) { return pushContext(state, stream, "pseudo"); } if (/@(font-face|media|supports|(-moz-)?document)/.test(type)) { return pushContext(state, stream, endOfLine(stream) ? "block" : "atBlock"); } if (/@(-(moz|ms|o|webkit)-)?keyframes$/.test(type)) { return pushContext(state, stream, "keyframes"); } if (/@extends?/.test(type)) { return pushContext(state, stream, "extend", 0); } if (type && type.charAt(0) == "@") { // Property Lookup if (stream.indentation() > 0 && wordIsProperty(stream.current().slice(1))) { override = "variable-2"; return "block"; } if (/(@import|@require|@charset)/.test(type)) { return pushContext(state, stream, "block", 0); } return pushContext(state, stream, "block"); } if (type == "reference" && endOfLine(stream)) { return pushContext(state, stream, "block"); } if (type == "(") { return pushContext(state, stream, "parens"); } if (type == "vendor-prefixes") { return pushContext(state, stream, "vendorPrefixes"); } if (type == "word") { var word = stream.current(); override = wordAsValue(word); if (override == "property") { if (startOfLine(stream)) { return pushContext(state, stream, "block", 0); } else { override = "atom"; return "block"; } } if (override == "tag") { // tag is a css value if (/embed|menu|pre|progress|sub|table/.test(word)) { if (wordIsProperty(firstWordOfLine(stream))) { override = "atom"; return "block"; } } // tag is an attribute if (stream.string.match(new RegExp("\\[\\s*" + word + "|" + word +"\\s*\\]"))) { override = "atom"; return "block"; } // tag is a variable if (tagVariablesRegexp.test(word)) { if ((startOfLine(stream) && stream.string.match(/=/)) || (!startOfLine(stream) && !stream.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/) && !wordIsTag(firstWordOfLine(stream)))) { override = "variable-2"; if (wordIsBlock(firstWordOfLine(stream))) return "block"; return pushContext(state, stream, "block", 0); } } if (endOfLine(stream)) return pushContext(state, stream, "block"); } if (override == "block-keyword") { override = "keyword"; // Postfix conditionals if (stream.current(/(if|unless)/) && !startOfLine(stream)) { return "block"; } return pushContext(state, stream, "block"); } if (word == "return") return pushContext(state, stream, "block", 0); // Placeholder selector if (override == "variable-2" && stream.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)) { return pushContext(state, stream, "block"); } } return state.context.type; }; /** * Parens */ states.parens = function(type, stream, state) { if (type == "(") return pushContext(state, stream, "parens"); if (type == ")") { if (state.context.prev.type == "parens") { return popContext(state); } if ((stream.string.match(/^[a-z][\w-]*\(/i) && endOfLine(stream)) || wordIsBlock(firstWordOfLine(stream)) || /(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(firstWordOfLine(stream)) || (!stream.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/) && wordIsTag(firstWordOfLine(stream)))) { return pushContext(state, stream, "block"); } if (stream.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/) || stream.string.match(/^\s*(\(|\)|[0-9])/) || stream.string.match(/^\s+[a-z][\w-]*\(/i) || stream.string.match(/^\s+[\$-]?[a-z]/i)) { return pushContext(state, stream, "block", 0); } if (endOfLine(stream)) return pushContext(state, stream, "block"); else return pushContext(state, stream, "block", 0); } if (type && type.charAt(0) == "@" && wordIsProperty(stream.current().slice(1))) { override = "variable-2"; } if (type == "word") { var word = stream.current(); override = wordAsValue(word); if (override == "tag" && tagVariablesRegexp.test(word)) { override = "variable-2"; } if (override == "property" || word == "to") override = "atom"; } if (type == "variable-name") { return pushContext(state, stream, "variableName"); } if (typeIsPseudo(type, stream)) { return pushContext(state, stream, "pseudo"); } return state.context.type; }; /** * Vendor prefixes */ states.vendorPrefixes = function(type, stream, state) { if (type == "word") { override = "property"; return pushContext(state, stream, "block", 0); } return popContext(state); }; /** * Pseudo */ states.pseudo = function(type, stream, state) { if (!wordIsProperty(firstWordOfLine(stream.string))) { stream.match(/^[a-z-]+/); override = "variable-3"; if (endOfLine(stream)) return pushContext(state, stream, "block"); return popContext(state); } return popAndPass(type, stream, state); }; /** * atBlock */ states.atBlock = function(type, stream, state) { if (type == "(") return pushContext(state, stream, "atBlock_parens"); if (typeIsBlock(type, stream, state)) { return pushContext(state, stream, "block"); } if (typeIsInterpolation(type, stream)) { return pushContext(state, stream, "interpolation"); } if (type == "word") { var word = stream.current().toLowerCase(); if (/^(only|not|and|or)$/.test(word)) override = "keyword"; else if (documentTypes.hasOwnProperty(word)) override = "tag"; else if (mediaTypes.hasOwnProperty(word)) override = "attribute"; else if (mediaFeatures.hasOwnProperty(word)) override = "property"; else if (nonStandardPropertyKeywords.hasOwnProperty(word)) override = "string-2"; else override = wordAsValue(stream.current()); if (override == "tag" && endOfLine(stream)) { return pushContext(state, stream, "block"); } } if (type == "operator" && /^(not|and|or)$/.test(stream.current())) { override = "keyword"; } return state.context.type; }; states.atBlock_parens = function(type, stream, state) { if (type == "{" || type == "}") return state.context.type; if (type == ")") { if (endOfLine(stream)) return pushContext(state, stream, "block"); else return pushContext(state, stream, "atBlock"); } if (type == "word") { var word = stream.current().toLowerCase(); override = wordAsValue(word); if (/^(max|min)/.test(word)) override = "property"; if (override == "tag") { tagVariablesRegexp.test(word) ? override = "variable-2" : override = "atom"; } return state.context.type; } return states.atBlock(type, stream, state); }; /** * Keyframes */ states.keyframes = function(type, stream, state) { if (stream.indentation() == "0" && ((type == "}" && startOfLine(stream)) || type == "]" || type == "hash" || type == "qualifier" || wordIsTag(stream.current()))) { return popAndPass(type, stream, state); } if (type == "{") return pushContext(state, stream, "keyframes"); if (type == "}") { if (startOfLine(stream)) return popContext(state, true); else return pushContext(state, stream, "keyframes"); } if (type == "unit" && /^[0-9]+\%$/.test(stream.current())) { return pushContext(state, stream, "keyframes"); } if (type == "word") { override = wordAsValue(stream.current()); if (override == "block-keyword") { override = "keyword"; return pushContext(state, stream, "keyframes"); } } if (/@(font-face|media|supports|(-moz-)?document)/.test(type)) { return pushContext(state, stream, endOfLine(stream) ? "block" : "atBlock"); } if (type == "mixin") { return pushContext(state, stream, "block", 0); } return state.context.type; }; /** * Interpolation */ states.interpolation = function(type, stream, state) { if (type == "{") popContext(state) && pushContext(state, stream, "block"); if (type == "}") { if (stream.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i) || (stream.string.match(/^\s*[a-z]/i) && wordIsTag(firstWordOfLine(stream)))) { return pushContext(state, stream, "block"); } if (!stream.string.match(/^(\{|\s*\&)/) || stream.match(/\s*[\w-]/,false)) { return pushContext(state, stream, "block", 0); } return pushContext(state, stream, "block"); } if (type == "variable-name") { return pushContext(state, stream, "variableName", 0); } if (type == "word") { override = wordAsValue(stream.current()); if (override == "tag") override = "atom"; } return state.context.type; }; /** * Extend/s */ states.extend = function(type, stream, state) { if (type == "[" || type == "=") return "extend"; if (type == "]") return popContext(state); if (type == "word") { override = wordAsValue(stream.current()); return "extend"; } return popContext(state); }; /** * Variable name */ states.variableName = function(type, stream, state) { if (type == "string" || type == "[" || type == "]" || stream.current().match(/^(\.|\$)/)) { if (stream.current().match(/^\.[\w-]+/i)) override = "variable-2"; return "variableName"; } return popAndPass(type, stream, state); }; return { startState: function(base) { return { tokenize: null, state: "block", context: new Context("block", base || 0, null) }; }, token: function(stream, state) { if (!state.tokenize && stream.eatSpace()) return null; style = (state.tokenize || tokenBase)(stream, state); if (style && typeof style == "object") { type = style[1]; style = style[0]; } override = style; state.state = states[state.state](type, stream, state); return override; }, indent: function(state, textAfter, line) { var cx = state.context, ch = textAfter && textAfter.charAt(0), indent = cx.indent, lineFirstWord = firstWordOfLine(textAfter), lineIndent = line.length - line.replace(/^\s*/, "").length, prevLineFirstWord = state.context.prev ? state.context.prev.line.firstWord : "", prevLineIndent = state.context.prev ? state.context.prev.line.indent : lineIndent; if (cx.prev && (ch == "}" && (cx.type == "block" || cx.type == "atBlock" || cx.type == "keyframes") || ch == ")" && (cx.type == "parens" || cx.type == "atBlock_parens") || ch == "{" && (cx.type == "at"))) { indent = cx.indent - indentUnit; cx = cx.prev; } else if (!(/(\})/.test(ch))) { if (/@|\$|\d/.test(ch) || /^\{/.test(textAfter) || /^\s*\/(\/|\*)/.test(textAfter) || /^\s*\/\*/.test(prevLineFirstWord) || /^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(textAfter) || /^(\+|-)?[a-z][\w-]*\(/i.test(textAfter) || /^return/.test(textAfter) || wordIsBlock(lineFirstWord)) { indent = lineIndent; } else if (/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(ch) || wordIsTag(lineFirstWord)) { if (/\,\s*$/.test(prevLineFirstWord)) { indent = prevLineIndent; } else if (/^\s+/.test(line) && (/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(prevLineFirstWord) || wordIsTag(prevLineFirstWord))) { indent = lineIndent <= prevLineIndent ? prevLineIndent : prevLineIndent + indentUnit; } else { indent = lineIndent; } } else if (!/,\s*$/.test(line) && (wordIsVendorPrefix(lineFirstWord) || wordIsProperty(lineFirstWord))) { if (wordIsBlock(prevLineFirstWord)) { indent = lineIndent <= prevLineIndent ? prevLineIndent : prevLineIndent + indentUnit; } else if (/^\{/.test(prevLineFirstWord)) { indent = lineIndent <= prevLineIndent ? lineIndent : prevLineIndent + indentUnit; } else if (wordIsVendorPrefix(prevLineFirstWord) || wordIsProperty(prevLineFirstWord)) { indent = lineIndent >= prevLineIndent ? prevLineIndent : lineIndent; } else if (/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(prevLineFirstWord) || /=\s*$/.test(prevLineFirstWord) || wordIsTag(prevLineFirstWord) || /^\$[\w-\.\[\]\'\"]/.test(prevLineFirstWord)) { indent = prevLineIndent + indentUnit; } else { indent = lineIndent; } } } return indent; }, electricChars: "}", lineComment: "//", fold: "indent" }; }); // developer.mozilla.org/en-US/docs/Web/HTML/Element var tagKeywords_ = ["a","abbr","address","area","article","aside","audio", "b", "base","bdi", "bdo","bgsound","blockquote","body","br","button","canvas","caption","cite", "code","col","colgroup","data","datalist","dd","del","details","dfn","div", "dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1", "h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe", "img","input","ins","kbd","keygen","label","legend","li","link","main","map", "mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes", "noscript","object","ol","optgroup","option","output","p","param","pre", "progress","q","rp","rt","ruby","s","samp","script","section","select", "small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track", "u","ul","var","video"]; // github.com/codemirror/CodeMirror/blob/master/mode/css/css.js var documentTypes_ = ["domain", "regexp", "url", "url-prefix"]; var mediaTypes_ = ["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"]; var mediaFeatures_ = ["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"]; var propertyKeywords_ = ["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"]; var nonStandardPropertyKeywords_ = ["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"]; var fontProperties_ = ["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]; var colorKeywords_ = ["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]; var valueKeywords_ = ["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around"]; var wordOperatorKeywords_ = ["in","and","or","not","is not","is a","is","isnt","defined","if unless"], blockKeywords_ = ["for","if","else","unless", "from", "to"], commonAtoms_ = ["null","true","false","href","title","type","not-allowed","readonly","disabled"], commonDef_ = ["@font-face", "@keyframes", "@media", "@viewport", "@page", "@host", "@supports", "@block", "@css"]; var hintWords = tagKeywords_.concat(documentTypes_,mediaTypes_,mediaFeatures_, propertyKeywords_,nonStandardPropertyKeywords_, colorKeywords_,valueKeywords_,fontProperties_, wordOperatorKeywords_,blockKeywords_, commonAtoms_,commonDef_); function wordRegexp(words) { words = words.sort(function(a,b){return b > a;}); return new RegExp("^((" + words.join(")|(") + "))\\b"); } function keySet(array) { var keys = {}; for (var i = 0; i < array.length; ++i) keys[array[i]] = true; return keys; } function escapeRegExp(text) { return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); } CodeMirror.registerHelper("hintWords", "stylus", hintWords); CodeMirror.defineMIME("text/x-styl", "stylus"); }); wp-file-manager/lib/codemirror/mode/swift/index.html000064400000004045151202472330016511 0ustar00 CodeMirror: Swift mode

        Swift mode

        A simple mode for Swift

        MIME types defined: text/x-swift (Swift code)

        wp-file-manager/lib/codemirror/mode/swift/swift.js000064400000014430151202472330016205 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Swift mode created by Michael Kaminsky https://github.com/mkaminsky11 (function(mod) { if (typeof exports == "object" && typeof module == "object") mod(require("../../lib/codemirror")) else if (typeof define == "function" && define.amd) define(["../../lib/codemirror"], mod) else mod(CodeMirror) })(function(CodeMirror) { "use strict" function wordSet(words) { var set = {} for (var i = 0; i < words.length; i++) set[words[i]] = true return set } var keywords = wordSet(["var","let","class","deinit","enum","extension","func","import","init","protocol", "static","struct","subscript","typealias","as","dynamicType","is","new","super", "self","Self","Type","__COLUMN__","__FILE__","__FUNCTION__","__LINE__","break","case", "continue","default","do","else","fallthrough","if","in","for","return","switch", "where","while","associativity","didSet","get","infix","inout","left","mutating", "none","nonmutating","operator","override","postfix","precedence","prefix","right", "set","unowned","weak","willSet"]) var definingKeywords = wordSet(["var","let","class","enum","extension","func","import","protocol","struct", "typealias","dynamicType","for"]) var atoms = wordSet(["Infinity","NaN","undefined","null","true","false","on","off","yes","no","nil","null", "this","super"]) var types = wordSet(["String","bool","int","string","double","Double","Int","Float","float","public", "private","extension"]) var operators = "+-/*%=|&<>#" var punc = ";,.(){}[]" var number = /^-?(?:(?:[\d_]+\.[_\d]*|\.[_\d]+|0o[0-7_\.]+|0b[01_\.]+)(?:e-?[\d_]+)?|0x[\d_a-f\.]+(?:p-?[\d_]+)?)/i var identifier = /^[_A-Za-z$][_A-Za-z$0-9]*/ var property = /^[@\.][_A-Za-z$][_A-Za-z$0-9]*/ var regexp = /^\/(?!\s)(?:\/\/)?(?:\\.|[^\/])+\// function tokenBase(stream, state, prev) { if (stream.sol()) state.indented = stream.indentation() if (stream.eatSpace()) return null var ch = stream.peek() if (ch == "/") { if (stream.match("//")) { stream.skipToEnd() return "comment" } if (stream.match("/*")) { state.tokenize.push(tokenComment) return tokenComment(stream, state) } if (stream.match(regexp)) return "string-2" } if (operators.indexOf(ch) > -1) { stream.next() return "operator" } if (punc.indexOf(ch) > -1) { stream.next() stream.match("..") return "punctuation" } if (ch == '"' || ch == "'") { stream.next() var tokenize = tokenString(ch) state.tokenize.push(tokenize) return tokenize(stream, state) } if (stream.match(number)) return "number" if (stream.match(property)) return "property" if (stream.match(identifier)) { var ident = stream.current() if (keywords.hasOwnProperty(ident)) { if (definingKeywords.hasOwnProperty(ident)) state.prev = "define" return "keyword" } if (types.hasOwnProperty(ident)) return "variable-2" if (atoms.hasOwnProperty(ident)) return "atom" if (prev == "define") return "def" return "variable" } stream.next() return null } function tokenUntilClosingParen() { var depth = 0 return function(stream, state, prev) { var inner = tokenBase(stream, state, prev) if (inner == "punctuation") { if (stream.current() == "(") ++depth else if (stream.current() == ")") { if (depth == 0) { stream.backUp(1) state.tokenize.pop() return state.tokenize[state.tokenize.length - 1](stream, state) } else --depth } } return inner } } function tokenString(quote) { return function(stream, state) { var ch, escaped = false while (ch = stream.next()) { if (escaped) { if (ch == "(") { state.tokenize.push(tokenUntilClosingParen()) return "string" } escaped = false } else if (ch == quote) { break } else { escaped = ch == "\\" } } state.tokenize.pop() return "string" } } function tokenComment(stream, state) { stream.match(/^(?:[^*]|\*(?!\/))*/) if (stream.match("*/")) state.tokenize.pop() return "comment" } function Context(prev, align, indented) { this.prev = prev this.align = align this.indented = indented } function pushContext(state, stream) { var align = stream.match(/^\s*($|\/[\/\*])/, false) ? null : stream.column() + 1 state.context = new Context(state.context, align, state.indented) } function popContext(state) { if (state.context) { state.indented = state.context.indented state.context = state.context.prev } } CodeMirror.defineMode("swift", function(config) { return { startState: function() { return { prev: null, context: null, indented: 0, tokenize: [] } }, token: function(stream, state) { var prev = state.prev state.prev = null var tokenize = state.tokenize[state.tokenize.length - 1] || tokenBase var style = tokenize(stream, state, prev) if (!style || style == "comment") state.prev = prev else if (!state.prev) state.prev = style if (style == "punctuation") { var bracket = /[\(\[\{]|([\]\)\}])/.exec(stream.current()) if (bracket) (bracket[1] ? popContext : pushContext)(state, stream) } return style }, indent: function(state, textAfter) { var cx = state.context if (!cx) return 0 var closing = /^[\]\}\)]/.test(textAfter) if (cx.align != null) return cx.align - (closing ? 1 : 0) return cx.indented + (closing ? 0 : config.indentUnit) }, electricInput: /^\s*[\)\}\]]$/, lineComment: "//", blockCommentStart: "/*", blockCommentEnd: "*/" } }) CodeMirror.defineMIME("text/x-swift","swift") }); wp-file-manager/lib/codemirror/mode/tcl/index.html000064400000014231151202472330016135 0ustar00 CodeMirror: Tcl mode

        Tcl mode

        MIME types defined: text/x-tcl.

        wp-file-manager/lib/codemirror/mode/tcl/tcl.js000064400000011470151202472330015262 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE //tcl mode by Ford_Lawnmower :: Based on Velocity mode by Steve O'Hara (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("tcl", function() { function parseWords(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var keywords = parseWords("Tcl safe after append array auto_execok auto_import auto_load " + "auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror " + "binary break catch cd close concat continue dde eof encoding error " + "eval exec exit expr fblocked fconfigure fcopy file fileevent filename " + "filename flush for foreach format gets glob global history http if " + "incr info interp join lappend lindex linsert list llength load lrange " + "lreplace lsearch lset lsort memory msgcat namespace open package parray " + "pid pkg::create pkg_mkIndex proc puts pwd re_syntax read regex regexp " + "registry regsub rename resource return scan seek set socket source split " + "string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord " + "tcl_wordBreakAfter tcl_startOfPreviousWord tcl_wordBreakBefore tcltest " + "tclvars tell time trace unknown unset update uplevel upvar variable " + "vwait"); var functions = parseWords("if elseif else and not or eq ne in ni for foreach while switch"); var isOperatorChar = /[+\-*&%=<>!?^\/\|]/; function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } function tokenBase(stream, state) { var beforeParams = state.beforeParams; state.beforeParams = false; var ch = stream.next(); if ((ch == '"' || ch == "'") && state.inParams) { return chain(stream, state, tokenString(ch)); } else if (/[\[\]{}\(\),;\.]/.test(ch)) { if (ch == "(" && beforeParams) state.inParams = true; else if (ch == ")") state.inParams = false; return null; } else if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } else if (ch == "#") { if (stream.eat("*")) return chain(stream, state, tokenComment); if (ch == "#" && stream.match(/ *\[ *\[/)) return chain(stream, state, tokenUnparsed); stream.skipToEnd(); return "comment"; } else if (ch == '"') { stream.skipTo(/"/); return "comment"; } else if (ch == "$") { stream.eatWhile(/[$_a-z0-9A-Z\.{:]/); stream.eatWhile(/}/); state.beforeParams = true; return "builtin"; } else if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "comment"; } else { stream.eatWhile(/[\w\$_{}\xa1-\uffff]/); var word = stream.current().toLowerCase(); if (keywords && keywords.propertyIsEnumerable(word)) return "keyword"; if (functions && functions.propertyIsEnumerable(word)) { state.beforeParams = true; return "keyword"; } return null; } } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) { end = true; break; } escaped = !escaped && next == "\\"; } if (end) state.tokenize = tokenBase; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "#" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function tokenUnparsed(stream, state) { var maybeEnd = 0, ch; while (ch = stream.next()) { if (ch == "#" && maybeEnd == 2) { state.tokenize = tokenBase; break; } if (ch == "]") maybeEnd++; else if (ch != " ") maybeEnd = 0; } return "meta"; } return { startState: function() { return { tokenize: tokenBase, beforeParams: false, inParams: false }; }, token: function(stream, state) { if (stream.eatSpace()) return null; return state.tokenize(stream, state); } }; }); CodeMirror.defineMIME("text/x-tcl", "tcl"); }); wp-file-manager/lib/codemirror/mode/textile/index.html000064400000010373151202472330017034 0ustar00 CodeMirror: Textile mode

        Textile mode

        MIME types defined: text/x-textile.

        Parsing/Highlighting Tests: normal, verbose.

        wp-file-manager/lib/codemirror/mode/textile/test.js000064400000022335151202472330016355 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({tabSize: 4}, 'textile'); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT('simpleParagraphs', 'Some text.', '', 'Some more text.'); /* * Phrase Modifiers */ MT('em', 'foo [em _bar_]'); MT('emBoogus', 'code_mirror'); MT('strong', 'foo [strong *bar*]'); MT('strongBogus', '3 * 3 = 9'); MT('italic', 'foo [em __bar__]'); MT('italicBogus', 'code__mirror'); MT('bold', 'foo [strong **bar**]'); MT('boldBogus', '3 ** 3 = 27'); MT('simpleLink', '[link "CodeMirror":http://codemirror.net]'); MT('referenceLink', '[link "CodeMirror":code_mirror]', 'Normal Text.', '[link [[code_mirror]]http://codemirror.net]'); MT('footCite', 'foo bar[qualifier [[1]]]'); MT('footCiteBogus', 'foo bar[[1a2]]'); MT('special-characters', 'Registered [tag (r)], ' + 'Trademark [tag (tm)], and ' + 'Copyright [tag (c)] 2008'); MT('cite', "A book is [keyword ??The Count of Monte Cristo??] by Dumas."); MT('additionAndDeletion', 'The news networks declared [negative -Al Gore-] ' + '[positive +George W. Bush+] the winner in Florida.'); MT('subAndSup', 'f(x, n) = log [builtin ~4~] x [builtin ^n^]'); MT('spanAndCode', 'A [quote %span element%] and [atom @code element@]'); MT('spanBogus', 'Percentage 25% is not a span.'); MT('citeBogus', 'Question? is not a citation.'); MT('codeBogus', 'user@example.com'); MT('subBogus', '~username'); MT('supBogus', 'foo ^ bar'); MT('deletionBogus', '3 - 3 = 0'); MT('additionBogus', '3 + 3 = 6'); MT('image', 'An image: [string !http://www.example.com/image.png!]'); MT('imageWithAltText', 'An image: [string !http://www.example.com/image.png (Alt Text)!]'); MT('imageWithUrl', 'An image: [string !http://www.example.com/image.png!:http://www.example.com/]'); /* * Headers */ MT('h1', '[header&header-1 h1. foo]'); MT('h2', '[header&header-2 h2. foo]'); MT('h3', '[header&header-3 h3. foo]'); MT('h4', '[header&header-4 h4. foo]'); MT('h5', '[header&header-5 h5. foo]'); MT('h6', '[header&header-6 h6. foo]'); MT('h7Bogus', 'h7. foo'); MT('multipleHeaders', '[header&header-1 h1. Heading 1]', '', 'Some text.', '', '[header&header-2 h2. Heading 2]', '', 'More text.'); MT('h1inline', '[header&header-1 h1. foo ][header&header-1&em _bar_][header&header-1 baz]'); /* * Lists */ MT('ul', 'foo', 'bar', '', '[variable-2 * foo]', '[variable-2 * bar]'); MT('ulNoBlank', 'foo', 'bar', '[variable-2 * foo]', '[variable-2 * bar]'); MT('ol', 'foo', 'bar', '', '[variable-2 # foo]', '[variable-2 # bar]'); MT('olNoBlank', 'foo', 'bar', '[variable-2 # foo]', '[variable-2 # bar]'); MT('ulFormatting', '[variable-2 * ][variable-2&em _foo_][variable-2 bar]', '[variable-2 * ][variable-2&strong *][variable-2&em&strong _foo_]' + '[variable-2&strong *][variable-2 bar]', '[variable-2 * ][variable-2&strong *foo*][variable-2 bar]'); MT('olFormatting', '[variable-2 # ][variable-2&em _foo_][variable-2 bar]', '[variable-2 # ][variable-2&strong *][variable-2&em&strong _foo_]' + '[variable-2&strong *][variable-2 bar]', '[variable-2 # ][variable-2&strong *foo*][variable-2 bar]'); MT('ulNested', '[variable-2 * foo]', '[variable-3 ** bar]', '[keyword *** bar]', '[variable-2 **** bar]', '[variable-3 ** bar]'); MT('olNested', '[variable-2 # foo]', '[variable-3 ## bar]', '[keyword ### bar]', '[variable-2 #### bar]', '[variable-3 ## bar]'); MT('ulNestedWithOl', '[variable-2 * foo]', '[variable-3 ## bar]', '[keyword *** bar]', '[variable-2 #### bar]', '[variable-3 ** bar]'); MT('olNestedWithUl', '[variable-2 # foo]', '[variable-3 ** bar]', '[keyword ### bar]', '[variable-2 **** bar]', '[variable-3 ## bar]'); MT('definitionList', '[number - coffee := Hot ][number&em _and_][number black]', '', 'Normal text.'); MT('definitionListSpan', '[number - coffee :=]', '', '[number Hot ][number&em _and_][number black =:]', '', 'Normal text.'); MT('boo', '[number - dog := woof woof]', '[number - cat := meow meow]', '[number - whale :=]', '[number Whale noises.]', '', '[number Also, ][number&em _splashing_][number . =:]'); /* * Attributes */ MT('divWithAttribute', '[punctuation div][punctuation&attribute (#my-id)][punctuation . foo bar]'); MT('divWithAttributeAnd2emRightPadding', '[punctuation div][punctuation&attribute (#my-id)((][punctuation . foo bar]'); MT('divWithClassAndId', '[punctuation div][punctuation&attribute (my-class#my-id)][punctuation . foo bar]'); MT('paragraphWithCss', 'p[attribute {color:red;}]. foo bar'); MT('paragraphNestedStyles', 'p. [strong *foo ][strong&em _bar_][strong *]'); MT('paragraphWithLanguage', 'p[attribute [[fr]]]. Parlez-vous français?'); MT('paragraphLeftAlign', 'p[attribute <]. Left'); MT('paragraphRightAlign', 'p[attribute >]. Right'); MT('paragraphRightAlign', 'p[attribute =]. Center'); MT('paragraphJustified', 'p[attribute <>]. Justified'); MT('paragraphWithLeftIndent1em', 'p[attribute (]. Left'); MT('paragraphWithRightIndent1em', 'p[attribute )]. Right'); MT('paragraphWithLeftIndent2em', 'p[attribute ((]. Left'); MT('paragraphWithRightIndent2em', 'p[attribute ))]. Right'); MT('paragraphWithLeftIndent3emRightIndent2em', 'p[attribute ((())]. Right'); MT('divFormatting', '[punctuation div. ][punctuation&strong *foo ]' + '[punctuation&strong&em _bar_][punctuation&strong *]'); MT('phraseModifierAttributes', 'p[attribute (my-class)]. This is a paragraph that has a class and' + ' this [em _][em&attribute (#special-phrase)][em emphasized phrase_]' + ' has an id.'); MT('linkWithClass', '[link "(my-class). This is a link with class":http://redcloth.org]'); /* * Layouts */ MT('paragraphLayouts', 'p. This is one paragraph.', '', 'p. This is another.'); MT('div', '[punctuation div. foo bar]'); MT('pre', '[operator pre. Text]'); MT('bq.', '[bracket bq. foo bar]', '', 'Normal text.'); MT('footnote', '[variable fn123. foo ][variable&strong *bar*]'); /* * Spanning Layouts */ MT('bq..ThenParagraph', '[bracket bq.. foo bar]', '', '[bracket More quote.]', 'p. Normal Text'); MT('bq..ThenH1', '[bracket bq.. foo bar]', '', '[bracket More quote.]', '[header&header-1 h1. Header Text]'); MT('bc..ThenParagraph', '[atom bc.. # Some ruby code]', '[atom obj = {foo: :bar}]', '[atom puts obj]', '', '[atom obj[[:love]] = "*love*"]', '[atom puts obj.love.upcase]', '', 'p. Normal text.'); MT('fn1..ThenParagraph', '[variable fn1.. foo bar]', '', '[variable More.]', 'p. Normal Text'); MT('pre..ThenParagraph', '[operator pre.. foo bar]', '', '[operator More.]', 'p. Normal Text'); /* * Tables */ MT('table', '[variable-3&operator |_. name |_. age|]', '[variable-3 |][variable-3&strong *Walter*][variable-3 | 5 |]', '[variable-3 |Florence| 6 |]', '', 'p. Normal text.'); MT('tableWithAttributes', '[variable-3&operator |_. name |_. age|]', '[variable-3 |][variable-3&attribute /2.][variable-3 Jim |]', '[variable-3 |][variable-3&attribute \\2{color: red}.][variable-3 Sam |]'); /* * HTML */ MT('html', '[comment
        ]', '[comment
        ]', '', '[header&header-1 h1. Welcome]', '', '[variable-2 * Item one]', '[variable-2 * Item two]', '', '[comment Example]', '', '[comment
        ]', '[comment
        ]'); MT('inlineHtml', 'I can use HTML directly in my [comment Textile].'); /* * No-Textile */ MT('notextile', '[string-2 notextile. *No* formatting]'); MT('notextileInline', 'Use [string-2 ==*asterisks*==] for [strong *strong*] text.'); MT('notextileWithPre', '[operator pre. *No* formatting]'); MT('notextileWithSpanningPre', '[operator pre.. *No* formatting]', '', '[operator *No* formatting]'); /* Only toggling phrases between non-word chars. */ MT('phrase-in-word', 'foo_bar_baz'); MT('phrase-non-word', '[negative -x-] aaa-bbb ccc-ddd [negative -eee-] fff [negative -ggg-]'); MT('phrase-lone-dash', 'foo - bar - baz'); })(); wp-file-manager/lib/codemirror/mode/textile/textile.js000064400000033022151202472330017047 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") { // CommonJS mod(require("../../lib/codemirror")); } else if (typeof define == "function" && define.amd) { // AMD define(["../../lib/codemirror"], mod); } else { // Plain browser env mod(CodeMirror); } })(function(CodeMirror) { "use strict"; var TOKEN_STYLES = { addition: "positive", attributes: "attribute", bold: "strong", cite: "keyword", code: "atom", definitionList: "number", deletion: "negative", div: "punctuation", em: "em", footnote: "variable", footCite: "qualifier", header: "header", html: "comment", image: "string", italic: "em", link: "link", linkDefinition: "link", list1: "variable-2", list2: "variable-3", list3: "keyword", notextile: "string-2", pre: "operator", p: "property", quote: "bracket", span: "quote", specialChar: "tag", strong: "strong", sub: "builtin", sup: "builtin", table: "variable-3", tableHeading: "operator" }; function startNewLine(stream, state) { state.mode = Modes.newLayout; state.tableHeading = false; if (state.layoutType === "definitionList" && state.spanningLayout && stream.match(RE("definitionListEnd"), false)) state.spanningLayout = false; } function handlePhraseModifier(stream, state, ch) { if (ch === "_") { if (stream.eat("_")) return togglePhraseModifier(stream, state, "italic", /__/, 2); else return togglePhraseModifier(stream, state, "em", /_/, 1); } if (ch === "*") { if (stream.eat("*")) { return togglePhraseModifier(stream, state, "bold", /\*\*/, 2); } return togglePhraseModifier(stream, state, "strong", /\*/, 1); } if (ch === "[") { if (stream.match(/\d+\]/)) state.footCite = true; return tokenStyles(state); } if (ch === "(") { var spec = stream.match(/^(r|tm|c)\)/); if (spec) return tokenStylesWith(state, TOKEN_STYLES.specialChar); } if (ch === "<" && stream.match(/(\w+)[^>]+>[^<]+<\/\1>/)) return tokenStylesWith(state, TOKEN_STYLES.html); if (ch === "?" && stream.eat("?")) return togglePhraseModifier(stream, state, "cite", /\?\?/, 2); if (ch === "=" && stream.eat("=")) return togglePhraseModifier(stream, state, "notextile", /==/, 2); if (ch === "-" && !stream.eat("-")) return togglePhraseModifier(stream, state, "deletion", /-/, 1); if (ch === "+") return togglePhraseModifier(stream, state, "addition", /\+/, 1); if (ch === "~") return togglePhraseModifier(stream, state, "sub", /~/, 1); if (ch === "^") return togglePhraseModifier(stream, state, "sup", /\^/, 1); if (ch === "%") return togglePhraseModifier(stream, state, "span", /%/, 1); if (ch === "@") return togglePhraseModifier(stream, state, "code", /@/, 1); if (ch === "!") { var type = togglePhraseModifier(stream, state, "image", /(?:\([^\)]+\))?!/, 1); stream.match(/^:\S+/); // optional Url portion return type; } return tokenStyles(state); } function togglePhraseModifier(stream, state, phraseModifier, closeRE, openSize) { var charBefore = stream.pos > openSize ? stream.string.charAt(stream.pos - openSize - 1) : null; var charAfter = stream.peek(); if (state[phraseModifier]) { if ((!charAfter || /\W/.test(charAfter)) && charBefore && /\S/.test(charBefore)) { var type = tokenStyles(state); state[phraseModifier] = false; return type; } } else if ((!charBefore || /\W/.test(charBefore)) && charAfter && /\S/.test(charAfter) && stream.match(new RegExp("^.*\\S" + closeRE.source + "(?:\\W|$)"), false)) { state[phraseModifier] = true; state.mode = Modes.attributes; } return tokenStyles(state); }; function tokenStyles(state) { var disabled = textileDisabled(state); if (disabled) return disabled; var styles = []; if (state.layoutType) styles.push(TOKEN_STYLES[state.layoutType]); styles = styles.concat(activeStyles( state, "addition", "bold", "cite", "code", "deletion", "em", "footCite", "image", "italic", "link", "span", "strong", "sub", "sup", "table", "tableHeading")); if (state.layoutType === "header") styles.push(TOKEN_STYLES.header + "-" + state.header); return styles.length ? styles.join(" ") : null; } function textileDisabled(state) { var type = state.layoutType; switch(type) { case "notextile": case "code": case "pre": return TOKEN_STYLES[type]; default: if (state.notextile) return TOKEN_STYLES.notextile + (type ? (" " + TOKEN_STYLES[type]) : ""); return null; } } function tokenStylesWith(state, extraStyles) { var disabled = textileDisabled(state); if (disabled) return disabled; var type = tokenStyles(state); if (extraStyles) return type ? (type + " " + extraStyles) : extraStyles; else return type; } function activeStyles(state) { var styles = []; for (var i = 1; i < arguments.length; ++i) { if (state[arguments[i]]) styles.push(TOKEN_STYLES[arguments[i]]); } return styles; } function blankLine(state) { var spanningLayout = state.spanningLayout, type = state.layoutType; for (var key in state) if (state.hasOwnProperty(key)) delete state[key]; state.mode = Modes.newLayout; if (spanningLayout) { state.layoutType = type; state.spanningLayout = true; } } var REs = { cache: {}, single: { bc: "bc", bq: "bq", definitionList: /- [^(?::=)]+:=+/, definitionListEnd: /.*=:\s*$/, div: "div", drawTable: /\|.*\|/, foot: /fn\d+/, header: /h[1-6]/, html: /\s*<(?:\/)?(\w+)(?:[^>]+)?>(?:[^<]+<\/\1>)?/, link: /[^"]+":\S/, linkDefinition: /\[[^\s\]]+\]\S+/, list: /(?:#+|\*+)/, notextile: "notextile", para: "p", pre: "pre", table: "table", tableCellAttributes: /[\/\\]\d+/, tableHeading: /\|_\./, tableText: /[^"_\*\[\(\?\+~\^%@|-]+/, text: /[^!"_=\*\[\(<\?\+~\^%@-]+/ }, attributes: { align: /(?:<>|<|>|=)/, selector: /\([^\(][^\)]+\)/, lang: /\[[^\[\]]+\]/, pad: /(?:\(+|\)+){1,2}/, css: /\{[^\}]+\}/ }, createRe: function(name) { switch (name) { case "drawTable": return REs.makeRe("^", REs.single.drawTable, "$"); case "html": return REs.makeRe("^", REs.single.html, "(?:", REs.single.html, ")*", "$"); case "linkDefinition": return REs.makeRe("^", REs.single.linkDefinition, "$"); case "listLayout": return REs.makeRe("^", REs.single.list, RE("allAttributes"), "*\\s+"); case "tableCellAttributes": return REs.makeRe("^", REs.choiceRe(REs.single.tableCellAttributes, RE("allAttributes")), "+\\."); case "type": return REs.makeRe("^", RE("allTypes")); case "typeLayout": return REs.makeRe("^", RE("allTypes"), RE("allAttributes"), "*\\.\\.?", "(\\s+|$)"); case "attributes": return REs.makeRe("^", RE("allAttributes"), "+"); case "allTypes": return REs.choiceRe(REs.single.div, REs.single.foot, REs.single.header, REs.single.bc, REs.single.bq, REs.single.notextile, REs.single.pre, REs.single.table, REs.single.para); case "allAttributes": return REs.choiceRe(REs.attributes.selector, REs.attributes.css, REs.attributes.lang, REs.attributes.align, REs.attributes.pad); default: return REs.makeRe("^", REs.single[name]); } }, makeRe: function() { var pattern = ""; for (var i = 0; i < arguments.length; ++i) { var arg = arguments[i]; pattern += (typeof arg === "string") ? arg : arg.source; } return new RegExp(pattern); }, choiceRe: function() { var parts = [arguments[0]]; for (var i = 1; i < arguments.length; ++i) { parts[i * 2 - 1] = "|"; parts[i * 2] = arguments[i]; } parts.unshift("(?:"); parts.push(")"); return REs.makeRe.apply(null, parts); } }; function RE(name) { return (REs.cache[name] || (REs.cache[name] = REs.createRe(name))); } var Modes = { newLayout: function(stream, state) { if (stream.match(RE("typeLayout"), false)) { state.spanningLayout = false; return (state.mode = Modes.blockType)(stream, state); } var newMode; if (!textileDisabled(state)) { if (stream.match(RE("listLayout"), false)) newMode = Modes.list; else if (stream.match(RE("drawTable"), false)) newMode = Modes.table; else if (stream.match(RE("linkDefinition"), false)) newMode = Modes.linkDefinition; else if (stream.match(RE("definitionList"))) newMode = Modes.definitionList; else if (stream.match(RE("html"), false)) newMode = Modes.html; } return (state.mode = (newMode || Modes.text))(stream, state); }, blockType: function(stream, state) { var match, type; state.layoutType = null; if (match = stream.match(RE("type"))) type = match[0]; else return (state.mode = Modes.text)(stream, state); if (match = type.match(RE("header"))) { state.layoutType = "header"; state.header = parseInt(match[0][1]); } else if (type.match(RE("bq"))) { state.layoutType = "quote"; } else if (type.match(RE("bc"))) { state.layoutType = "code"; } else if (type.match(RE("foot"))) { state.layoutType = "footnote"; } else if (type.match(RE("notextile"))) { state.layoutType = "notextile"; } else if (type.match(RE("pre"))) { state.layoutType = "pre"; } else if (type.match(RE("div"))) { state.layoutType = "div"; } else if (type.match(RE("table"))) { state.layoutType = "table"; } state.mode = Modes.attributes; return tokenStyles(state); }, text: function(stream, state) { if (stream.match(RE("text"))) return tokenStyles(state); var ch = stream.next(); if (ch === '"') return (state.mode = Modes.link)(stream, state); return handlePhraseModifier(stream, state, ch); }, attributes: function(stream, state) { state.mode = Modes.layoutLength; if (stream.match(RE("attributes"))) return tokenStylesWith(state, TOKEN_STYLES.attributes); else return tokenStyles(state); }, layoutLength: function(stream, state) { if (stream.eat(".") && stream.eat(".")) state.spanningLayout = true; state.mode = Modes.text; return tokenStyles(state); }, list: function(stream, state) { var match = stream.match(RE("list")); state.listDepth = match[0].length; var listMod = (state.listDepth - 1) % 3; if (!listMod) state.layoutType = "list1"; else if (listMod === 1) state.layoutType = "list2"; else state.layoutType = "list3"; state.mode = Modes.attributes; return tokenStyles(state); }, link: function(stream, state) { state.mode = Modes.text; if (stream.match(RE("link"))) { stream.match(/\S+/); return tokenStylesWith(state, TOKEN_STYLES.link); } return tokenStyles(state); }, linkDefinition: function(stream, state) { stream.skipToEnd(); return tokenStylesWith(state, TOKEN_STYLES.linkDefinition); }, definitionList: function(stream, state) { stream.match(RE("definitionList")); state.layoutType = "definitionList"; if (stream.match(/\s*$/)) state.spanningLayout = true; else state.mode = Modes.attributes; return tokenStyles(state); }, html: function(stream, state) { stream.skipToEnd(); return tokenStylesWith(state, TOKEN_STYLES.html); }, table: function(stream, state) { state.layoutType = "table"; return (state.mode = Modes.tableCell)(stream, state); }, tableCell: function(stream, state) { if (stream.match(RE("tableHeading"))) state.tableHeading = true; else stream.eat("|"); state.mode = Modes.tableCellAttributes; return tokenStyles(state); }, tableCellAttributes: function(stream, state) { state.mode = Modes.tableText; if (stream.match(RE("tableCellAttributes"))) return tokenStylesWith(state, TOKEN_STYLES.attributes); else return tokenStyles(state); }, tableText: function(stream, state) { if (stream.match(RE("tableText"))) return tokenStyles(state); if (stream.peek() === "|") { // end of cell state.mode = Modes.tableCell; return tokenStyles(state); } return handlePhraseModifier(stream, state, stream.next()); } }; CodeMirror.defineMode("textile", function() { return { startState: function() { return { mode: Modes.newLayout }; }, token: function(stream, state) { if (stream.sol()) startNewLine(stream, state); return state.mode(stream, state); }, blankLine: blankLine }; }); CodeMirror.defineMIME("text/x-textile", "textile"); }); wp-file-manager/lib/codemirror/mode/tiddlywiki/index.html000064400000010743151202472330017534 0ustar00 CodeMirror: TiddlyWiki mode

        TiddlyWiki mode

        TiddlyWiki mode supports a single configuration.

        MIME types defined: text/x-tiddlywiki.

        wp-file-manager/lib/codemirror/mode/tiddlywiki/tiddlywiki.css000064400000000334151202472330020421 0ustar00span.cm-underlined { text-decoration: underline; } span.cm-strikethrough { text-decoration: line-through; } span.cm-brace { color: #170; font-weight: bold; } span.cm-table { color: blue; font-weight: bold; } wp-file-manager/lib/codemirror/mode/tiddlywiki/tiddlywiki.js000064400000020476151202472330020256 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /*** |''Name''|tiddlywiki.js| |''Description''|Enables TiddlyWikiy syntax highlighting using CodeMirror| |''Author''|PMario| |''Version''|0.1.7| |''Status''|''stable''| |''Source''|[[GitHub|https://github.com/pmario/CodeMirror2/blob/tw-syntax/mode/tiddlywiki]]| |''Documentation''|http://codemirror.tiddlyspace.com/| |''License''|[[MIT License|http://www.opensource.org/licenses/mit-license.php]]| |''CoreVersion''|2.5.0| |''Requires''|codemirror.js| |''Keywords''|syntax highlighting color code mirror codemirror| ! Info CoreVersion parameter is needed for TiddlyWiki only! ***/ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("tiddlywiki", function () { // Tokenizer var textwords = {}; var keywords = { "allTags": true, "closeAll": true, "list": true, "newJournal": true, "newTiddler": true, "permaview": true, "saveChanges": true, "search": true, "slider": true, "tabs": true, "tag": true, "tagging": true, "tags": true, "tiddler": true, "timeline": true, "today": true, "version": true, "option": true, "with": true, "filter": true }; var isSpaceName = /[\w_\-]/i, reHR = /^\-\-\-\-+$/, //
        reWikiCommentStart = /^\/\*\*\*$/, // /*** reWikiCommentStop = /^\*\*\*\/$/, // ***/ reBlockQuote = /^<<<$/, reJsCodeStart = /^\/\/\{\{\{$/, // //{{{ js block start reJsCodeStop = /^\/\/\}\}\}$/, // //}}} js stop reXmlCodeStart = /^$/, // xml block start reXmlCodeStop = /^$/, // xml stop reCodeBlockStart = /^\{\{\{$/, // {{{ TW text div block start reCodeBlockStop = /^\}\}\}$/, // }}} TW text stop reUntilCodeStop = /.*?\}\}\}/; function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } function tokenBase(stream, state) { var sol = stream.sol(), ch = stream.peek(); state.block = false; // indicates the start of a code block. // check start of blocks if (sol && /[<\/\*{}\-]/.test(ch)) { if (stream.match(reCodeBlockStart)) { state.block = true; return chain(stream, state, twTokenCode); } if (stream.match(reBlockQuote)) return 'quote'; if (stream.match(reWikiCommentStart) || stream.match(reWikiCommentStop)) return 'comment'; if (stream.match(reJsCodeStart) || stream.match(reJsCodeStop) || stream.match(reXmlCodeStart) || stream.match(reXmlCodeStop)) return 'comment'; if (stream.match(reHR)) return 'hr'; } stream.next(); if (sol && /[\/\*!#;:>|]/.test(ch)) { if (ch == "!") { // tw header stream.skipToEnd(); return "header"; } if (ch == "*") { // tw list stream.eatWhile('*'); return "comment"; } if (ch == "#") { // tw numbered list stream.eatWhile('#'); return "comment"; } if (ch == ";") { // definition list, term stream.eatWhile(';'); return "comment"; } if (ch == ":") { // definition list, description stream.eatWhile(':'); return "comment"; } if (ch == ">") { // single line quote stream.eatWhile(">"); return "quote"; } if (ch == '|') return 'header'; } if (ch == '{' && stream.match(/\{\{/)) return chain(stream, state, twTokenCode); // rudimentary html:// file:// link matching. TW knows much more ... if (/[hf]/i.test(ch) && /[ti]/i.test(stream.peek()) && stream.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i)) return "link"; // just a little string indicator, don't want to have the whole string covered if (ch == '"') return 'string'; if (ch == '~') // _no_ CamelCase indicator should be bold return 'brace'; if (/[\[\]]/.test(ch) && stream.match(ch)) // check for [[..]] return 'brace'; if (ch == "@") { // check for space link. TODO fix @@...@@ highlighting stream.eatWhile(isSpaceName); return "link"; } if (/\d/.test(ch)) { // numbers stream.eatWhile(/\d/); return "number"; } if (ch == "/") { // tw invisible comment if (stream.eat("%")) { return chain(stream, state, twTokenComment); } else if (stream.eat("/")) { // return chain(stream, state, twTokenEm); } } if (ch == "_" && stream.eat("_")) // tw underline return chain(stream, state, twTokenUnderline); // strikethrough and mdash handling if (ch == "-" && stream.eat("-")) { // if strikethrough looks ugly, change CSS. if (stream.peek() != ' ') return chain(stream, state, twTokenStrike); // mdash if (stream.peek() == ' ') return 'brace'; } if (ch == "'" && stream.eat("'")) // tw bold return chain(stream, state, twTokenStrong); if (ch == "<" && stream.eat("<")) // tw macro return chain(stream, state, twTokenMacro); // core macro handling stream.eatWhile(/[\w\$_]/); return textwords.propertyIsEnumerable(stream.current()) ? "keyword" : null } // tw invisible comment function twTokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "%"); } return "comment"; } // tw strong / bold function twTokenStrong(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "'" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "'"); } return "strong"; } // tw code function twTokenCode(stream, state) { var sb = state.block; if (sb && stream.current()) { return "comment"; } if (!sb && stream.match(reUntilCodeStop)) { state.tokenize = tokenBase; return "comment"; } if (sb && stream.sol() && stream.match(reCodeBlockStop)) { state.tokenize = tokenBase; return "comment"; } stream.next(); return "comment"; } // tw em / italic function twTokenEm(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "/"); } return "em"; } // tw underlined text function twTokenUnderline(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "_" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "_"); } return "underlined"; } // tw strike through text looks ugly // change CSS if needed function twTokenStrike(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "-" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "-"); } return "strikethrough"; } // macro function twTokenMacro(stream, state) { if (stream.current() == '<<') { return 'macro'; } var ch = stream.next(); if (!ch) { state.tokenize = tokenBase; return null; } if (ch == ">") { if (stream.peek() == '>') { stream.next(); state.tokenize = tokenBase; return "macro"; } } stream.eatWhile(/[\w\$_]/); return keywords.propertyIsEnumerable(stream.current()) ? "keyword" : null } // Interface return { startState: function () { return {tokenize: tokenBase}; }, token: function (stream, state) { if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); return style; } }; }); CodeMirror.defineMIME("text/x-tiddlywiki", "tiddlywiki"); }); wp-file-manager/lib/codemirror/mode/tiki/index.html000064400000003321151202472330016311 0ustar00 CodeMirror: Tiki wiki mode

        Tiki wiki mode

        wp-file-manager/lib/codemirror/mode/tiki/tiki.css000064400000000667151202472330016000 0ustar00.cm-tw-syntaxerror { color: #FFF; background-color: #900; } .cm-tw-deleted { text-decoration: line-through; } .cm-tw-header5 { font-weight: bold; } .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/ padding-left: 10px; } .cm-tw-box { border-top-width: 0px !important; border-style: solid; border-width: 1px; border-color: inherit; } .cm-tw-underline { text-decoration: underline; }wp-file-manager/lib/codemirror/mode/tiki/tiki.js000064400000020452151202472330015616 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('tiki', function(config) { function inBlock(style, terminator, returnTokenizer) { return function(stream, state) { while (!stream.eol()) { if (stream.match(terminator)) { state.tokenize = inText; break; } stream.next(); } if (returnTokenizer) state.tokenize = returnTokenizer; return style; }; } function inLine(style) { return function(stream, state) { while(!stream.eol()) { stream.next(); } state.tokenize = inText; return style; }; } function inText(stream, state) { function chain(parser) { state.tokenize = parser; return parser(stream, state); } var sol = stream.sol(); var ch = stream.next(); //non start of line switch (ch) { //switch is generally much faster than if, so it is used here case "{": //plugin stream.eat("/"); stream.eatSpace(); stream.eatWhile(/[^\s\u00a0=\"\'\/?(}]/); state.tokenize = inPlugin; return "tag"; case "_": //bold if (stream.eat("_")) return chain(inBlock("strong", "__", inText)); break; case "'": //italics if (stream.eat("'")) return chain(inBlock("em", "''", inText)); break; case "(":// Wiki Link if (stream.eat("(")) return chain(inBlock("variable-2", "))", inText)); break; case "[":// Weblink return chain(inBlock("variable-3", "]", inText)); break; case "|": //table if (stream.eat("|")) return chain(inBlock("comment", "||")); break; case "-": if (stream.eat("=")) {//titleBar return chain(inBlock("header string", "=-", inText)); } else if (stream.eat("-")) {//deleted return chain(inBlock("error tw-deleted", "--", inText)); } break; case "=": //underline if (stream.match("==")) return chain(inBlock("tw-underline", "===", inText)); break; case ":": if (stream.eat(":")) return chain(inBlock("comment", "::")); break; case "^": //box return chain(inBlock("tw-box", "^")); break; case "~": //np if (stream.match("np~")) return chain(inBlock("meta", "~/np~")); break; } //start of line types if (sol) { switch (ch) { case "!": //header at start of line if (stream.match('!!!!!')) { return chain(inLine("header string")); } else if (stream.match('!!!!')) { return chain(inLine("header string")); } else if (stream.match('!!!')) { return chain(inLine("header string")); } else if (stream.match('!!')) { return chain(inLine("header string")); } else { return chain(inLine("header string")); } break; case "*": //unordered list line item, or
      • at start of line case "#": //ordered list line item, or
      • at start of line case "+": //ordered list line item, or
      • at start of line return chain(inLine("tw-listitem bracket")); break; } } //stream.eatWhile(/[&{]/); was eating up plugins, turned off to act less like html and more like tiki return null; } var indentUnit = config.indentUnit; // Return variables for tokenizers var pluginName, type; function inPlugin(stream, state) { var ch = stream.next(); var peek = stream.peek(); if (ch == "}") { state.tokenize = inText; //type = ch == ")" ? "endPlugin" : "selfclosePlugin"; inPlugin return "tag"; } else if (ch == "(" || ch == ")") { return "bracket"; } else if (ch == "=") { type = "equals"; if (peek == ">") { ch = stream.next(); peek = stream.peek(); } //here we detect values directly after equal character with no quotes if (!/[\'\"]/.test(peek)) { state.tokenize = inAttributeNoQuote(); } //end detect values return "operator"; } else if (/[\'\"]/.test(ch)) { state.tokenize = inAttribute(ch); return state.tokenize(stream, state); } else { stream.eatWhile(/[^\s\u00a0=\"\'\/?]/); return "keyword"; } } function inAttribute(quote) { return function(stream, state) { while (!stream.eol()) { if (stream.next() == quote) { state.tokenize = inPlugin; break; } } return "string"; }; } function inAttributeNoQuote() { return function(stream, state) { while (!stream.eol()) { var ch = stream.next(); var peek = stream.peek(); if (ch == " " || ch == "," || /[ )}]/.test(peek)) { state.tokenize = inPlugin; break; } } return "string"; }; } var curState, setStyle; function pass() { for (var i = arguments.length - 1; i >= 0; i--) curState.cc.push(arguments[i]); } function cont() { pass.apply(null, arguments); return true; } function pushContext(pluginName, startOfLine) { var noIndent = curState.context && curState.context.noIndent; curState.context = { prev: curState.context, pluginName: pluginName, indent: curState.indented, startOfLine: startOfLine, noIndent: noIndent }; } function popContext() { if (curState.context) curState.context = curState.context.prev; } function element(type) { if (type == "openPlugin") {curState.pluginName = pluginName; return cont(attributes, endplugin(curState.startOfLine));} else if (type == "closePlugin") { var err = false; if (curState.context) { err = curState.context.pluginName != pluginName; popContext(); } else { err = true; } if (err) setStyle = "error"; return cont(endcloseplugin(err)); } else if (type == "string") { if (!curState.context || curState.context.name != "!cdata") pushContext("!cdata"); if (curState.tokenize == inText) popContext(); return cont(); } else return cont(); } function endplugin(startOfLine) { return function(type) { if ( type == "selfclosePlugin" || type == "endPlugin" ) return cont(); if (type == "endPlugin") {pushContext(curState.pluginName, startOfLine); return cont();} return cont(); }; } function endcloseplugin(err) { return function(type) { if (err) setStyle = "error"; if (type == "endPlugin") return cont(); return pass(); }; } function attributes(type) { if (type == "keyword") {setStyle = "attribute"; return cont(attributes);} if (type == "equals") return cont(attvalue, attributes); return pass(); } function attvalue(type) { if (type == "keyword") {setStyle = "string"; return cont();} if (type == "string") return cont(attvaluemaybe); return pass(); } function attvaluemaybe(type) { if (type == "string") return cont(attvaluemaybe); else return pass(); } return { startState: function() { return {tokenize: inText, cc: [], indented: 0, startOfLine: true, pluginName: null, context: null}; }, token: function(stream, state) { if (stream.sol()) { state.startOfLine = true; state.indented = stream.indentation(); } if (stream.eatSpace()) return null; setStyle = type = pluginName = null; var style = state.tokenize(stream, state); if ((style || type) && style != "comment") { curState = state; while (true) { var comb = state.cc.pop() || element; if (comb(type || style)) break; } } state.startOfLine = false; return setStyle || style; }, indent: function(state, textAfter) { var context = state.context; if (context && context.noIndent) return 0; if (context && /^{\//.test(textAfter)) context = context.prev; while (context && !context.startOfLine) context = context.prev; if (context) return context.indent + indentUnit; else return 0; }, electricChars: "/" }; }); CodeMirror.defineMIME("text/tiki", "tiki"); }); wp-file-manager/lib/codemirror/mode/toml/index.html000064400000003460151202472330016330 0ustar00 CodeMirror: TOML Mode

        TOML Mode

        The TOML Mode

        Created by Forbes Lindesay.

        MIME type defined: text/x-toml.

        wp-file-manager/lib/codemirror/mode/toml/toml.js000064400000005521151202472330015644 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("toml", function () { return { startState: function () { return { inString: false, stringType: "", lhs: true, inArray: 0 }; }, token: function (stream, state) { //check for state changes if (!state.inString && ((stream.peek() == '"') || (stream.peek() == "'"))) { state.stringType = stream.peek(); stream.next(); // Skip quote state.inString = true; // Update state } if (stream.sol() && state.inArray === 0) { state.lhs = true; } //return state if (state.inString) { while (state.inString && !stream.eol()) { if (stream.peek() === state.stringType) { stream.next(); // Skip quote state.inString = false; // Clear flag } else if (stream.peek() === '\\') { stream.next(); stream.next(); } else { stream.match(/^.[^\\\"\']*/); } } return state.lhs ? "property string" : "string"; // Token style } else if (state.inArray && stream.peek() === ']') { stream.next(); state.inArray--; return 'bracket'; } else if (state.lhs && stream.peek() === '[' && stream.skipTo(']')) { stream.next();//skip closing ] // array of objects has an extra open & close [] if (stream.peek() === ']') stream.next(); return "atom"; } else if (stream.peek() === "#") { stream.skipToEnd(); return "comment"; } else if (stream.eatSpace()) { return null; } else if (state.lhs && stream.eatWhile(function (c) { return c != '=' && c != ' '; })) { return "property"; } else if (state.lhs && stream.peek() === "=") { stream.next(); state.lhs = false; return null; } else if (!state.lhs && stream.match(/^\d\d\d\d[\d\-\:\.T]*Z/)) { return 'atom'; //date } else if (!state.lhs && (stream.match('true') || stream.match('false'))) { return 'atom'; } else if (!state.lhs && stream.peek() === '[') { state.inArray++; stream.next(); return 'bracket'; } else if (!state.lhs && stream.match(/^\-?\d+(?:\.\d+)?/)) { return 'number'; } else if (!stream.eatSpace()) { stream.next(); } return null; } }; }); CodeMirror.defineMIME('text/x-toml', 'toml'); }); wp-file-manager/lib/codemirror/mode/tornado/index.html000064400000003413151202472330017021 0ustar00 CodeMirror: Tornado template mode

        Tornado template mode

        Mode for HTML with embedded Tornado template markup.

        MIME types defined: text/x-tornado

        wp-file-manager/lib/codemirror/mode/tornado/tornado.js000064400000004700151202472330017030 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../../addon/mode/overlay")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../../addon/mode/overlay"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("tornado:inner", function() { var keywords = ["and","as","assert","autoescape","block","break","class","comment","context", "continue","datetime","def","del","elif","else","end","escape","except", "exec","extends","false","finally","for","from","global","if","import","in", "include","is","json_encode","lambda","length","linkify","load","module", "none","not","or","pass","print","put","raise","raw","return","self","set", "squeeze","super","true","try","url_escape","while","with","without","xhtml_escape","yield"]; keywords = new RegExp("^((" + keywords.join(")|(") + "))\\b"); function tokenBase (stream, state) { stream.eatWhile(/[^\{]/); var ch = stream.next(); if (ch == "{") { if (ch = stream.eat(/\{|%|#/)) { state.tokenize = inTag(ch); return "tag"; } } } function inTag (close) { if (close == "{") { close = "}"; } return function (stream, state) { var ch = stream.next(); if ((ch == close) && stream.eat("}")) { state.tokenize = tokenBase; return "tag"; } if (stream.match(keywords)) { return "keyword"; } return close == "#" ? "comment" : "string"; }; } return { startState: function () { return {tokenize: tokenBase}; }, token: function (stream, state) { return state.tokenize(stream, state); } }; }); CodeMirror.defineMode("tornado", function(config) { var htmlBase = CodeMirror.getMode(config, "text/html"); var tornadoInner = CodeMirror.getMode(config, "tornado:inner"); return CodeMirror.overlayMode(htmlBase, tornadoInner); }); CodeMirror.defineMIME("text/x-tornado", "tornado"); }); wp-file-manager/lib/codemirror/mode/troff/index.html000064400000010561151202472330016475 0ustar00 CodeMirror: troff mode

        troff

        MIME types defined: troff.

        wp-file-manager/lib/codemirror/mode/troff/troff.js000064400000004530151202472330016155 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) define(["../../lib/codemirror"], mod); else mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('troff', function() { var words = {}; function tokenBase(stream) { if (stream.eatSpace()) return null; var sol = stream.sol(); var ch = stream.next(); if (ch === '\\') { if (stream.match('fB') || stream.match('fR') || stream.match('fI') || stream.match('u') || stream.match('d') || stream.match('%') || stream.match('&')) { return 'string'; } if (stream.match('m[')) { stream.skipTo(']'); stream.next(); return 'string'; } if (stream.match('s+') || stream.match('s-')) { stream.eatWhile(/[\d-]/); return 'string'; } if (stream.match('\(') || stream.match('*\(')) { stream.eatWhile(/[\w-]/); return 'string'; } return 'string'; } if (sol && (ch === '.' || ch === '\'')) { if (stream.eat('\\') && stream.eat('\"')) { stream.skipToEnd(); return 'comment'; } } if (sol && ch === '.') { if (stream.match('B ') || stream.match('I ') || stream.match('R ')) { return 'attribute'; } if (stream.match('TH ') || stream.match('SH ') || stream.match('SS ') || stream.match('HP ')) { stream.skipToEnd(); return 'quote'; } if ((stream.match(/[A-Z]/) && stream.match(/[A-Z]/)) || (stream.match(/[a-z]/) && stream.match(/[a-z]/))) { return 'attribute'; } } stream.eatWhile(/[\w-]/); var cur = stream.current(); return words.hasOwnProperty(cur) ? words[cur] : null; } function tokenize(stream, state) { return (state.tokens[0] || tokenBase) (stream, state); }; return { startState: function() {return {tokens:[]};}, token: function(stream, state) { return tokenize(stream, state); } }; }); CodeMirror.defineMIME('text/troff', 'troff'); CodeMirror.defineMIME('text/x-troff', 'troff'); CodeMirror.defineMIME('application/x-troff', 'troff'); }); wp-file-manager/lib/codemirror/mode/ttcn/index.html000064400000006642151202472330016332 0ustar00 CodeMirror: TTCN mode

        TTCN example


        Language: Testing and Test Control Notation (TTCN)

        MIME types defined: text/x-ttcn, text/x-ttcn3, text/x-ttcnpp.


        The development of this mode has been sponsored by Ericsson .

        Coded by Asmelash Tsegay Gebretsadkan

        wp-file-manager/lib/codemirror/mode/ttcn/ttcn.js000064400000023653151202472330015644 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("ttcn", function(config, parserConfig) { var indentUnit = config.indentUnit, keywords = parserConfig.keywords || {}, builtin = parserConfig.builtin || {}, timerOps = parserConfig.timerOps || {}, portOps = parserConfig.portOps || {}, configOps = parserConfig.configOps || {}, verdictOps = parserConfig.verdictOps || {}, sutOps = parserConfig.sutOps || {}, functionOps = parserConfig.functionOps || {}, verdictConsts = parserConfig.verdictConsts || {}, booleanConsts = parserConfig.booleanConsts || {}, otherConsts = parserConfig.otherConsts || {}, types = parserConfig.types || {}, visibilityModifiers = parserConfig.visibilityModifiers || {}, templateMatch = parserConfig.templateMatch || {}, multiLineStrings = parserConfig.multiLineStrings, indentStatements = parserConfig.indentStatements !== false; var isOperatorChar = /[+\-*&@=<>!\/]/; var curPunc; function tokenBase(stream, state) { var ch = stream.next(); if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (/[\[\]{}\(\),;\\:\?\.]/.test(ch)) { curPunc = ch; return "punctuation"; } if (ch == "#"){ stream.skipToEnd(); return "atom preprocessor"; } if (ch == "%"){ stream.eatWhile(/\b/); return "atom ttcn3Macros"; } if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } if (ch == "/") { if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } if (isOperatorChar.test(ch)) { if(ch == "@"){ if(stream.match("try") || stream.match("catch") || stream.match("lazy")){ return "keyword"; } } stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\$_\xa1-\uffff]/); var cur = stream.current(); if (keywords.propertyIsEnumerable(cur)) return "keyword"; if (builtin.propertyIsEnumerable(cur)) return "builtin"; if (timerOps.propertyIsEnumerable(cur)) return "def timerOps"; if (configOps.propertyIsEnumerable(cur)) return "def configOps"; if (verdictOps.propertyIsEnumerable(cur)) return "def verdictOps"; if (portOps.propertyIsEnumerable(cur)) return "def portOps"; if (sutOps.propertyIsEnumerable(cur)) return "def sutOps"; if (functionOps.propertyIsEnumerable(cur)) return "def functionOps"; if (verdictConsts.propertyIsEnumerable(cur)) return "string verdictConsts"; if (booleanConsts.propertyIsEnumerable(cur)) return "string booleanConsts"; if (otherConsts.propertyIsEnumerable(cur)) return "string otherConsts"; if (types.propertyIsEnumerable(cur)) return "builtin types"; if (visibilityModifiers.propertyIsEnumerable(cur)) return "builtin visibilityModifiers"; if (templateMatch.propertyIsEnumerable(cur)) return "atom templateMatch"; return "variable"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped){ var afterQuote = stream.peek(); //look if the character after the quote is like the B in '10100010'B if (afterQuote){ afterQuote = afterQuote.toLowerCase(); if(afterQuote == "b" || afterQuote == "h" || afterQuote == "o") stream.next(); } end = true; break; } escaped = !escaped && next == "\\"; } if (end || !(escaped || multiLineStrings)) state.tokenize = null; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = null; break; } maybeEnd = (ch == "*"); } return "comment"; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { var indent = state.indented; if (state.context && state.context.type == "statement") indent = state.context.indented; return state.context = new Context(indent, col, type, null, state.context); } function popContext(state) { var t = state.context.type; if (t == ")" || t == "]" || t == "}") state.indented = state.context.indented; return state.context = state.context.prev; } //Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) return null; curPunc = null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment") return style; if (ctx.align == null) ctx.align = true; if ((curPunc == ";" || curPunc == ":" || curPunc == ",") && ctx.type == "statement"){ popContext(state); } else if (curPunc == "{") pushContext(state, stream.column(), "}"); else if (curPunc == "[") pushContext(state, stream.column(), "]"); else if (curPunc == "(") pushContext(state, stream.column(), ")"); else if (curPunc == "}") { while (ctx.type == "statement") ctx = popContext(state); if (ctx.type == "}") ctx = popContext(state); while (ctx.type == "statement") ctx = popContext(state); } else if (curPunc == ctx.type) popContext(state); else if (indentStatements && (((ctx.type == "}" || ctx.type == "top") && curPunc != ';') || (ctx.type == "statement" && curPunc == "newstatement"))) pushContext(state, stream.column(), "statement"); state.startOfLine = false; return style; }, electricChars: "{}", blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//", fold: "brace" }; }); function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } function def(mimes, mode) { if (typeof mimes == "string") mimes = [mimes]; var words = []; function add(obj) { if (obj) for (var prop in obj) if (obj.hasOwnProperty(prop)) words.push(prop); } add(mode.keywords); add(mode.builtin); add(mode.timerOps); add(mode.portOps); if (words.length) { mode.helperType = mimes[0]; CodeMirror.registerHelper("hintWords", mimes[0], words); } for (var i = 0; i < mimes.length; ++i) CodeMirror.defineMIME(mimes[i], mode); } def(["text/x-ttcn", "text/x-ttcn3", "text/x-ttcnpp"], { name: "ttcn", keywords: words("activate address alive all alt altstep and and4b any" + " break case component const continue control deactivate" + " display do else encode enumerated except exception" + " execute extends extension external for from function" + " goto group if import in infinity inout interleave" + " label language length log match message mixed mod" + " modifies module modulepar mtc noblock not not4b nowait" + " of on optional or or4b out override param pattern port" + " procedure record recursive rem repeat return runs select" + " self sender set signature system template testcase to" + " type union value valueof var variant while with xor xor4b"), builtin: words("bit2hex bit2int bit2oct bit2str char2int char2oct encvalue" + " decomp decvalue float2int float2str hex2bit hex2int" + " hex2oct hex2str int2bit int2char int2float int2hex" + " int2oct int2str int2unichar isbound ischosen ispresent" + " isvalue lengthof log2str oct2bit oct2char oct2hex oct2int" + " oct2str regexp replace rnd sizeof str2bit str2float" + " str2hex str2int str2oct substr unichar2int unichar2char" + " enum2int"), types: words("anytype bitstring boolean char charstring default float" + " hexstring integer objid octetstring universal verdicttype timer"), timerOps: words("read running start stop timeout"), portOps: words("call catch check clear getcall getreply halt raise receive" + " reply send trigger"), configOps: words("create connect disconnect done kill killed map unmap"), verdictOps: words("getverdict setverdict"), sutOps: words("action"), functionOps: words("apply derefers refers"), verdictConsts: words("error fail inconc none pass"), booleanConsts: words("true false"), otherConsts: words("null NULL omit"), visibilityModifiers: words("private public friend"), templateMatch: words("complement ifpresent subset superset permutation"), multiLineStrings: true }); }); wp-file-manager/lib/codemirror/mode/ttcn-cfg/index.html000064400000007025151202472330017063 0ustar00 CodeMirror: TTCN-CFG mode

        TTCN-CFG example


        Language: Testing and Test Control Notation - Configuration files (TTCN-CFG)

        MIME types defined: text/x-ttcn-cfg.


        The development of this mode has been sponsored by Ericsson .

        Coded by Asmelash Tsegay Gebretsadkan

        wp-file-manager/lib/codemirror/mode/ttcn-cfg/ttcn-cfg.js000064400000017261151202472330017134 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("ttcn-cfg", function(config, parserConfig) { var indentUnit = config.indentUnit, keywords = parserConfig.keywords || {}, fileNCtrlMaskOptions = parserConfig.fileNCtrlMaskOptions || {}, externalCommands = parserConfig.externalCommands || {}, multiLineStrings = parserConfig.multiLineStrings, indentStatements = parserConfig.indentStatements !== false; var isOperatorChar = /[\|]/; var curPunc; function tokenBase(stream, state) { var ch = stream.next(); if (ch == '"' || ch == "'") { state.tokenize = tokenString(ch); return state.tokenize(stream, state); } if (/[:=]/.test(ch)) { curPunc = ch; return "punctuation"; } if (ch == "#"){ stream.skipToEnd(); return "comment"; } if (/\d/.test(ch)) { stream.eatWhile(/[\w\.]/); return "number"; } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } if (ch == "["){ stream.eatWhile(/[\w_\]]/); return "number sectionTitle"; } stream.eatWhile(/[\w\$_]/); var cur = stream.current(); if (keywords.propertyIsEnumerable(cur)) return "keyword"; if (fileNCtrlMaskOptions.propertyIsEnumerable(cur)) return "negative fileNCtrlMaskOptions"; if (externalCommands.propertyIsEnumerable(cur)) return "negative externalCommands"; return "variable"; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped){ var afterNext = stream.peek(); //look if the character if the quote is like the B in '10100010'B if (afterNext){ afterNext = afterNext.toLowerCase(); if(afterNext == "b" || afterNext == "h" || afterNext == "o") stream.next(); } end = true; break; } escaped = !escaped && next == "\\"; } if (end || !(escaped || multiLineStrings)) state.tokenize = null; return "string"; }; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { var indent = state.indented; if (state.context && state.context.type == "statement") indent = state.context.indented; return state.context = new Context(indent, col, type, null, state.context); } function popContext(state) { var t = state.context.type; if (t == ")" || t == "]" || t == "}") state.indented = state.context.indented; return state.context = state.context.prev; } //Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) return null; curPunc = null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment") return style; if (ctx.align == null) ctx.align = true; if ((curPunc == ";" || curPunc == ":" || curPunc == ",") && ctx.type == "statement"){ popContext(state); } else if (curPunc == "{") pushContext(state, stream.column(), "}"); else if (curPunc == "[") pushContext(state, stream.column(), "]"); else if (curPunc == "(") pushContext(state, stream.column(), ")"); else if (curPunc == "}") { while (ctx.type == "statement") ctx = popContext(state); if (ctx.type == "}") ctx = popContext(state); while (ctx.type == "statement") ctx = popContext(state); } else if (curPunc == ctx.type) popContext(state); else if (indentStatements && (((ctx.type == "}" || ctx.type == "top") && curPunc != ';') || (ctx.type == "statement" && curPunc == "newstatement"))) pushContext(state, stream.column(), "statement"); state.startOfLine = false; return style; }, electricChars: "{}", lineComment: "#", fold: "brace" }; }); function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } CodeMirror.defineMIME("text/x-ttcn-cfg", { name: "ttcn-cfg", keywords: words("Yes No LogFile FileMask ConsoleMask AppendFile" + " TimeStampFormat LogEventTypes SourceInfoFormat" + " LogEntityName LogSourceInfo DiskFullAction" + " LogFileNumber LogFileSize MatchingHints Detailed" + " Compact SubCategories Stack Single None Seconds" + " DateTime Time Stop Error Retry Delete TCPPort KillTimer" + " NumHCs UnixSocketsEnabled LocalAddress"), fileNCtrlMaskOptions: words("TTCN_EXECUTOR TTCN_ERROR TTCN_WARNING" + " TTCN_PORTEVENT TTCN_TIMEROP TTCN_VERDICTOP" + " TTCN_DEFAULTOP TTCN_TESTCASE TTCN_ACTION" + " TTCN_USER TTCN_FUNCTION TTCN_STATISTICS" + " TTCN_PARALLEL TTCN_MATCHING TTCN_DEBUG" + " EXECUTOR ERROR WARNING PORTEVENT TIMEROP" + " VERDICTOP DEFAULTOP TESTCASE ACTION USER" + " FUNCTION STATISTICS PARALLEL MATCHING DEBUG" + " LOG_ALL LOG_NOTHING ACTION_UNQUALIFIED" + " DEBUG_ENCDEC DEBUG_TESTPORT" + " DEBUG_UNQUALIFIED DEFAULTOP_ACTIVATE" + " DEFAULTOP_DEACTIVATE DEFAULTOP_EXIT" + " DEFAULTOP_UNQUALIFIED ERROR_UNQUALIFIED" + " EXECUTOR_COMPONENT EXECUTOR_CONFIGDATA" + " EXECUTOR_EXTCOMMAND EXECUTOR_LOGOPTIONS" + " EXECUTOR_RUNTIME EXECUTOR_UNQUALIFIED" + " FUNCTION_RND FUNCTION_UNQUALIFIED" + " MATCHING_DONE MATCHING_MCSUCCESS" + " MATCHING_MCUNSUCC MATCHING_MMSUCCESS" + " MATCHING_MMUNSUCC MATCHING_PCSUCCESS" + " MATCHING_PCUNSUCC MATCHING_PMSUCCESS" + " MATCHING_PMUNSUCC MATCHING_PROBLEM" + " MATCHING_TIMEOUT MATCHING_UNQUALIFIED" + " PARALLEL_PORTCONN PARALLEL_PORTMAP" + " PARALLEL_PTC PARALLEL_UNQUALIFIED" + " PORTEVENT_DUALRECV PORTEVENT_DUALSEND" + " PORTEVENT_MCRECV PORTEVENT_MCSEND" + " PORTEVENT_MMRECV PORTEVENT_MMSEND" + " PORTEVENT_MQUEUE PORTEVENT_PCIN" + " PORTEVENT_PCOUT PORTEVENT_PMIN" + " PORTEVENT_PMOUT PORTEVENT_PQUEUE" + " PORTEVENT_STATE PORTEVENT_UNQUALIFIED" + " STATISTICS_UNQUALIFIED STATISTICS_VERDICT" + " TESTCASE_FINISH TESTCASE_START" + " TESTCASE_UNQUALIFIED TIMEROP_GUARD" + " TIMEROP_READ TIMEROP_START TIMEROP_STOP" + " TIMEROP_TIMEOUT TIMEROP_UNQUALIFIED" + " USER_UNQUALIFIED VERDICTOP_FINAL" + " VERDICTOP_GETVERDICT VERDICTOP_SETVERDICT" + " VERDICTOP_UNQUALIFIED WARNING_UNQUALIFIED"), externalCommands: words("BeginControlPart EndControlPart BeginTestCase" + " EndTestCase"), multiLineStrings: true }); });wp-file-manager/lib/codemirror/mode/turtle/index.html000064400000002676151202472330016704 0ustar00 CodeMirror: Turtle mode

        Turtle mode

        MIME types defined: text/turtle.

        wp-file-manager/lib/codemirror/mode/turtle/turtle.js000064400000011361151202472330016553 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("turtle", function(config) { var indentUnit = config.indentUnit; var curPunc; function wordRegexp(words) { return new RegExp("^(?:" + words.join("|") + ")$", "i"); } var ops = wordRegexp([]); var keywords = wordRegexp(["@prefix", "@base", "a"]); var operatorChars = /[*+\-<>=&|]/; function tokenBase(stream, state) { var ch = stream.next(); curPunc = null; if (ch == "<" && !stream.match(/^[\s\u00a0=]/, false)) { stream.match(/^[^\s\u00a0>]*>?/); return "atom"; } else if (ch == "\"" || ch == "'") { state.tokenize = tokenLiteral(ch); return state.tokenize(stream, state); } else if (/[{}\(\),\.;\[\]]/.test(ch)) { curPunc = ch; return null; } else if (ch == "#") { stream.skipToEnd(); return "comment"; } else if (operatorChars.test(ch)) { stream.eatWhile(operatorChars); return null; } else if (ch == ":") { return "operator"; } else { stream.eatWhile(/[_\w\d]/); if(stream.peek() == ":") { return "variable-3"; } else { var word = stream.current(); if(keywords.test(word)) { return "meta"; } if(ch >= "A" && ch <= "Z") { return "comment"; } else { return "keyword"; } } var word = stream.current(); if (ops.test(word)) return null; else if (keywords.test(word)) return "meta"; else return "variable"; } } function tokenLiteral(quote) { return function(stream, state) { var escaped = false, ch; while ((ch = stream.next()) != null) { if (ch == quote && !escaped) { state.tokenize = tokenBase; break; } escaped = !escaped && ch == "\\"; } return "string"; }; } function pushContext(state, type, col) { state.context = {prev: state.context, indent: state.indent, col: col, type: type}; } function popContext(state) { state.indent = state.context.indent; state.context = state.context.prev; } return { startState: function() { return {tokenize: tokenBase, context: null, indent: 0, col: 0}; }, token: function(stream, state) { if (stream.sol()) { if (state.context && state.context.align == null) state.context.align = false; state.indent = stream.indentation(); } if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); if (style != "comment" && state.context && state.context.align == null && state.context.type != "pattern") { state.context.align = true; } if (curPunc == "(") pushContext(state, ")", stream.column()); else if (curPunc == "[") pushContext(state, "]", stream.column()); else if (curPunc == "{") pushContext(state, "}", stream.column()); else if (/[\]\}\)]/.test(curPunc)) { while (state.context && state.context.type == "pattern") popContext(state); if (state.context && curPunc == state.context.type) popContext(state); } else if (curPunc == "." && state.context && state.context.type == "pattern") popContext(state); else if (/atom|string|variable/.test(style) && state.context) { if (/[\}\]]/.test(state.context.type)) pushContext(state, "pattern", stream.column()); else if (state.context.type == "pattern" && !state.context.align) { state.context.align = true; state.context.col = stream.column(); } } return style; }, indent: function(state, textAfter) { var firstChar = textAfter && textAfter.charAt(0); var context = state.context; if (/[\]\}]/.test(firstChar)) while (context && context.type == "pattern") context = context.prev; var closing = context && firstChar == context.type; if (!context) return 0; else if (context.type == "pattern") return context.col; else if (context.align) return context.col + (closing ? 0 : 1); else return context.indent + (closing ? 0 : indentUnit); }, lineComment: "#" }; }); CodeMirror.defineMIME("text/turtle", "turtle"); }); wp-file-manager/lib/codemirror/mode/twig/index.html000064400000002532151202472330016326 0ustar00 CodeMirror: Twig mode

        Twig mode

        wp-file-manager/lib/codemirror/mode/twig/twig.js000064400000010732151202472330015642 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../../addon/mode/multiplex")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../../addon/mode/multiplex"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("twig:inner", function() { var keywords = ["and", "as", "autoescape", "endautoescape", "block", "do", "endblock", "else", "elseif", "extends", "for", "endfor", "embed", "endembed", "filter", "endfilter", "flush", "from", "if", "endif", "in", "is", "include", "import", "not", "or", "set", "spaceless", "endspaceless", "with", "endwith", "trans", "endtrans", "blocktrans", "endblocktrans", "macro", "endmacro", "use", "verbatim", "endverbatim"], operator = /^[+\-*&%=<>!?|~^]/, sign = /^[:\[\(\{]/, atom = ["true", "false", "null", "empty", "defined", "divisibleby", "divisible by", "even", "odd", "iterable", "sameas", "same as"], number = /^(\d[+\-\*\/])?\d+(\.\d+)?/; keywords = new RegExp("((" + keywords.join(")|(") + "))\\b"); atom = new RegExp("((" + atom.join(")|(") + "))\\b"); function tokenBase (stream, state) { var ch = stream.peek(); //Comment if (state.incomment) { if (!stream.skipTo("#}")) { stream.skipToEnd(); } else { stream.eatWhile(/\#|}/); state.incomment = false; } return "comment"; //Tag } else if (state.intag) { //After operator if (state.operator) { state.operator = false; if (stream.match(atom)) { return "atom"; } if (stream.match(number)) { return "number"; } } //After sign if (state.sign) { state.sign = false; if (stream.match(atom)) { return "atom"; } if (stream.match(number)) { return "number"; } } if (state.instring) { if (ch == state.instring) { state.instring = false; } stream.next(); return "string"; } else if (ch == "'" || ch == '"') { state.instring = ch; stream.next(); return "string"; } else if (stream.match(state.intag + "}") || stream.eat("-") && stream.match(state.intag + "}")) { state.intag = false; return "tag"; } else if (stream.match(operator)) { state.operator = true; return "operator"; } else if (stream.match(sign)) { state.sign = true; } else { if (stream.eat(" ") || stream.sol()) { if (stream.match(keywords)) { return "keyword"; } if (stream.match(atom)) { return "atom"; } if (stream.match(number)) { return "number"; } if (stream.sol()) { stream.next(); } } else { stream.next(); } } return "variable"; } else if (stream.eat("{")) { if (ch = stream.eat("#")) { state.incomment = true; if (!stream.skipTo("#}")) { stream.skipToEnd(); } else { stream.eatWhile(/\#|}/); state.incomment = false; } return "comment"; //Open tag } else if (ch = stream.eat(/\{|%/)) { //Cache close tag state.intag = ch; if (ch == "{") { state.intag = "}"; } stream.eat("-"); return "tag"; } } stream.next(); }; return { startState: function () { return {}; }, token: function (stream, state) { return tokenBase(stream, state); } }; }); CodeMirror.defineMode("twig", function(config, parserConfig) { var twigInner = CodeMirror.getMode(config, "twig:inner"); if (!parserConfig || !parserConfig.base) return twigInner; return CodeMirror.multiplexingMode( CodeMirror.getMode(config, parserConfig.base), { open: /\{[{#%]/, close: /[}#%]\}/, mode: twigInner, parseDelimiters: true } ); }); CodeMirror.defineMIME("text/x-twig", "twig"); }); wp-file-manager/lib/codemirror/mode/vb/index.html000064400000006304151202472330015764 0ustar00 CodeMirror: VB.NET mode

        VB.NET mode

        
          

        MIME type defined: text/x-vb.

        wp-file-manager/lib/codemirror/mode/vb/vb.js000064400000021106151202472330014731 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("vb", function(conf, parserConf) { var ERRORCLASS = 'error'; function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b", "i"); } var singleOperators = new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"); var singleDelimiters = new RegExp('^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]'); var doubleOperators = new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"); var doubleDelimiters = new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"); var tripleDelimiters = new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"); var identifiers = new RegExp("^[_A-Za-z][_A-Za-z0-9]*"); var openingKeywords = ['class','module', 'sub','enum','select','while','if','function', 'get','set','property', 'try']; var middleKeywords = ['else','elseif','case', 'catch']; var endKeywords = ['next','loop']; var operatorKeywords = ['and', 'or', 'not', 'xor', 'in']; var wordOperators = wordRegexp(operatorKeywords); var commonKeywords = ['as', 'dim', 'break', 'continue','optional', 'then', 'until', 'goto', 'byval','byref','new','handles','property', 'return', 'const','private', 'protected', 'friend', 'public', 'shared', 'static', 'true','false']; var commontypes = ['integer','string','double','decimal','boolean','short','char', 'float','single']; var keywords = wordRegexp(commonKeywords); var types = wordRegexp(commontypes); var stringPrefixes = '"'; var opening = wordRegexp(openingKeywords); var middle = wordRegexp(middleKeywords); var closing = wordRegexp(endKeywords); var doubleClosing = wordRegexp(['end']); var doOpening = wordRegexp(['do']); var indentInfo = null; CodeMirror.registerHelper("hintWords", "vb", openingKeywords.concat(middleKeywords).concat(endKeywords) .concat(operatorKeywords).concat(commonKeywords).concat(commontypes)); function indent(_stream, state) { state.currentIndent++; } function dedent(_stream, state) { state.currentIndent--; } // tokenizers function tokenBase(stream, state) { if (stream.eatSpace()) { return null; } var ch = stream.peek(); // Handle Comments if (ch === "'") { stream.skipToEnd(); return 'comment'; } // Handle Number Literals if (stream.match(/^((&H)|(&O))?[0-9\.a-f]/i, false)) { var floatLiteral = false; // Floats if (stream.match(/^\d*\.\d+F?/i)) { floatLiteral = true; } else if (stream.match(/^\d+\.\d*F?/)) { floatLiteral = true; } else if (stream.match(/^\.\d+F?/)) { floatLiteral = true; } if (floatLiteral) { // Float literals may be "imaginary" stream.eat(/J/i); return 'number'; } // Integers var intLiteral = false; // Hex if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; } // Octal else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; } // Decimal else if (stream.match(/^[1-9]\d*F?/)) { // Decimal literals may be "imaginary" stream.eat(/J/i); // TODO - Can you have imaginary longs? intLiteral = true; } // Zero by itself with no other piece of number. else if (stream.match(/^0(?![\dx])/i)) { intLiteral = true; } if (intLiteral) { // Integer literals may be "long" stream.eat(/L/i); return 'number'; } } // Handle Strings if (stream.match(stringPrefixes)) { state.tokenize = tokenStringFactory(stream.current()); return state.tokenize(stream, state); } // Handle operators and Delimiters if (stream.match(tripleDelimiters) || stream.match(doubleDelimiters)) { return null; } if (stream.match(doubleOperators) || stream.match(singleOperators) || stream.match(wordOperators)) { return 'operator'; } if (stream.match(singleDelimiters)) { return null; } if (stream.match(doOpening)) { indent(stream,state); state.doInCurrentLine = true; return 'keyword'; } if (stream.match(opening)) { if (! state.doInCurrentLine) indent(stream,state); else state.doInCurrentLine = false; return 'keyword'; } if (stream.match(middle)) { return 'keyword'; } if (stream.match(doubleClosing)) { dedent(stream,state); dedent(stream,state); return 'keyword'; } if (stream.match(closing)) { dedent(stream,state); return 'keyword'; } if (stream.match(types)) { return 'keyword'; } if (stream.match(keywords)) { return 'keyword'; } if (stream.match(identifiers)) { return 'variable'; } // Handle non-detected items stream.next(); return ERRORCLASS; } function tokenStringFactory(delimiter) { var singleline = delimiter.length == 1; var OUTCLASS = 'string'; return function(stream, state) { while (!stream.eol()) { stream.eatWhile(/[^'"]/); if (stream.match(delimiter)) { state.tokenize = tokenBase; return OUTCLASS; } else { stream.eat(/['"]/); } } if (singleline) { if (parserConf.singleLineStringErrors) { return ERRORCLASS; } else { state.tokenize = tokenBase; } } return OUTCLASS; }; } function tokenLexer(stream, state) { var style = state.tokenize(stream, state); var current = stream.current(); // Handle '.' connected identifiers if (current === '.') { style = state.tokenize(stream, state); current = stream.current(); if (style === 'variable') { return 'variable'; } else { return ERRORCLASS; } } var delimiter_index = '[({'.indexOf(current); if (delimiter_index !== -1) { indent(stream, state ); } if (indentInfo === 'dedent') { if (dedent(stream, state)) { return ERRORCLASS; } } delimiter_index = '])}'.indexOf(current); if (delimiter_index !== -1) { if (dedent(stream, state)) { return ERRORCLASS; } } return style; } var external = { electricChars:"dDpPtTfFeE ", startState: function() { return { tokenize: tokenBase, lastToken: null, currentIndent: 0, nextLineIndent: 0, doInCurrentLine: false }; }, token: function(stream, state) { if (stream.sol()) { state.currentIndent += state.nextLineIndent; state.nextLineIndent = 0; state.doInCurrentLine = 0; } var style = tokenLexer(stream, state); state.lastToken = {style:style, content: stream.current()}; return style; }, indent: function(state, textAfter) { var trueText = textAfter.replace(/^\s+|\s+$/g, '') ; if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return conf.indentUnit*(state.currentIndent-1); if(state.currentIndent < 0) return 0; return state.currentIndent * conf.indentUnit; }, lineComment: "'" }; return external; }); CodeMirror.defineMIME("text/x-vb", "vb"); }); wp-file-manager/lib/codemirror/mode/vbscript/index.html000064400000002755151202472330017217 0ustar00 CodeMirror: VBScript mode

        VBScript mode

        MIME types defined: text/vbscript.

        wp-file-manager/lib/codemirror/mode/vbscript/vbscript.js000064400000032741151202472330017412 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE /* For extra ASP classic objects, initialize CodeMirror instance with this option: isASP: true E.G.: var editor = CodeMirror.fromTextArea(document.getElementById("code"), { lineNumbers: true, isASP: true }); */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("vbscript", function(conf, parserConf) { var ERRORCLASS = 'error'; function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b", "i"); } var singleOperators = new RegExp("^[\\+\\-\\*/&\\\\\\^<>=]"); var doubleOperators = new RegExp("^((<>)|(<=)|(>=))"); var singleDelimiters = new RegExp('^[\\.,]'); var brakets = new RegExp('^[\\(\\)]'); var identifiers = new RegExp("^[A-Za-z][_A-Za-z0-9]*"); var openingKeywords = ['class','sub','select','while','if','function', 'property', 'with', 'for']; var middleKeywords = ['else','elseif','case']; var endKeywords = ['next','loop','wend']; var wordOperators = wordRegexp(['and', 'or', 'not', 'xor', 'is', 'mod', 'eqv', 'imp']); var commonkeywords = ['dim', 'redim', 'then', 'until', 'randomize', 'byval','byref','new','property', 'exit', 'in', 'const','private', 'public', 'get','set','let', 'stop', 'on error resume next', 'on error goto 0', 'option explicit', 'call', 'me']; //This list was from: http://msdn.microsoft.com/en-us/library/f8tbc79x(v=vs.84).aspx var atomWords = ['true', 'false', 'nothing', 'empty', 'null']; //This list was from: http://msdn.microsoft.com/en-us/library/3ca8tfek(v=vs.84).aspx var builtinFuncsWords = ['abs', 'array', 'asc', 'atn', 'cbool', 'cbyte', 'ccur', 'cdate', 'cdbl', 'chr', 'cint', 'clng', 'cos', 'csng', 'cstr', 'date', 'dateadd', 'datediff', 'datepart', 'dateserial', 'datevalue', 'day', 'escape', 'eval', 'execute', 'exp', 'filter', 'formatcurrency', 'formatdatetime', 'formatnumber', 'formatpercent', 'getlocale', 'getobject', 'getref', 'hex', 'hour', 'inputbox', 'instr', 'instrrev', 'int', 'fix', 'isarray', 'isdate', 'isempty', 'isnull', 'isnumeric', 'isobject', 'join', 'lbound', 'lcase', 'left', 'len', 'loadpicture', 'log', 'ltrim', 'rtrim', 'trim', 'maths', 'mid', 'minute', 'month', 'monthname', 'msgbox', 'now', 'oct', 'replace', 'rgb', 'right', 'rnd', 'round', 'scriptengine', 'scriptenginebuildversion', 'scriptenginemajorversion', 'scriptengineminorversion', 'second', 'setlocale', 'sgn', 'sin', 'space', 'split', 'sqr', 'strcomp', 'string', 'strreverse', 'tan', 'time', 'timer', 'timeserial', 'timevalue', 'typename', 'ubound', 'ucase', 'unescape', 'vartype', 'weekday', 'weekdayname', 'year']; //This list was from: http://msdn.microsoft.com/en-us/library/ydz4cfk3(v=vs.84).aspx var builtinConsts = ['vbBlack', 'vbRed', 'vbGreen', 'vbYellow', 'vbBlue', 'vbMagenta', 'vbCyan', 'vbWhite', 'vbBinaryCompare', 'vbTextCompare', 'vbSunday', 'vbMonday', 'vbTuesday', 'vbWednesday', 'vbThursday', 'vbFriday', 'vbSaturday', 'vbUseSystemDayOfWeek', 'vbFirstJan1', 'vbFirstFourDays', 'vbFirstFullWeek', 'vbGeneralDate', 'vbLongDate', 'vbShortDate', 'vbLongTime', 'vbShortTime', 'vbObjectError', 'vbOKOnly', 'vbOKCancel', 'vbAbortRetryIgnore', 'vbYesNoCancel', 'vbYesNo', 'vbRetryCancel', 'vbCritical', 'vbQuestion', 'vbExclamation', 'vbInformation', 'vbDefaultButton1', 'vbDefaultButton2', 'vbDefaultButton3', 'vbDefaultButton4', 'vbApplicationModal', 'vbSystemModal', 'vbOK', 'vbCancel', 'vbAbort', 'vbRetry', 'vbIgnore', 'vbYes', 'vbNo', 'vbCr', 'VbCrLf', 'vbFormFeed', 'vbLf', 'vbNewLine', 'vbNullChar', 'vbNullString', 'vbTab', 'vbVerticalTab', 'vbUseDefault', 'vbTrue', 'vbFalse', 'vbEmpty', 'vbNull', 'vbInteger', 'vbLong', 'vbSingle', 'vbDouble', 'vbCurrency', 'vbDate', 'vbString', 'vbObject', 'vbError', 'vbBoolean', 'vbVariant', 'vbDataObject', 'vbDecimal', 'vbByte', 'vbArray']; //This list was from: http://msdn.microsoft.com/en-us/library/hkc375ea(v=vs.84).aspx var builtinObjsWords = ['WScript', 'err', 'debug', 'RegExp']; var knownProperties = ['description', 'firstindex', 'global', 'helpcontext', 'helpfile', 'ignorecase', 'length', 'number', 'pattern', 'source', 'value', 'count']; var knownMethods = ['clear', 'execute', 'raise', 'replace', 'test', 'write', 'writeline', 'close', 'open', 'state', 'eof', 'update', 'addnew', 'end', 'createobject', 'quit']; var aspBuiltinObjsWords = ['server', 'response', 'request', 'session', 'application']; var aspKnownProperties = ['buffer', 'cachecontrol', 'charset', 'contenttype', 'expires', 'expiresabsolute', 'isclientconnected', 'pics', 'status', //response 'clientcertificate', 'cookies', 'form', 'querystring', 'servervariables', 'totalbytes', //request 'contents', 'staticobjects', //application 'codepage', 'lcid', 'sessionid', 'timeout', //session 'scripttimeout']; //server var aspKnownMethods = ['addheader', 'appendtolog', 'binarywrite', 'end', 'flush', 'redirect', //response 'binaryread', //request 'remove', 'removeall', 'lock', 'unlock', //application 'abandon', //session 'getlasterror', 'htmlencode', 'mappath', 'transfer', 'urlencode']; //server var knownWords = knownMethods.concat(knownProperties); builtinObjsWords = builtinObjsWords.concat(builtinConsts); if (conf.isASP){ builtinObjsWords = builtinObjsWords.concat(aspBuiltinObjsWords); knownWords = knownWords.concat(aspKnownMethods, aspKnownProperties); }; var keywords = wordRegexp(commonkeywords); var atoms = wordRegexp(atomWords); var builtinFuncs = wordRegexp(builtinFuncsWords); var builtinObjs = wordRegexp(builtinObjsWords); var known = wordRegexp(knownWords); var stringPrefixes = '"'; var opening = wordRegexp(openingKeywords); var middle = wordRegexp(middleKeywords); var closing = wordRegexp(endKeywords); var doubleClosing = wordRegexp(['end']); var doOpening = wordRegexp(['do']); var noIndentWords = wordRegexp(['on error resume next', 'exit']); var comment = wordRegexp(['rem']); function indent(_stream, state) { state.currentIndent++; } function dedent(_stream, state) { state.currentIndent--; } // tokenizers function tokenBase(stream, state) { if (stream.eatSpace()) { return 'space'; //return null; } var ch = stream.peek(); // Handle Comments if (ch === "'") { stream.skipToEnd(); return 'comment'; } if (stream.match(comment)){ stream.skipToEnd(); return 'comment'; } // Handle Number Literals if (stream.match(/^((&H)|(&O))?[0-9\.]/i, false) && !stream.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i, false)) { var floatLiteral = false; // Floats if (stream.match(/^\d*\.\d+/i)) { floatLiteral = true; } else if (stream.match(/^\d+\.\d*/)) { floatLiteral = true; } else if (stream.match(/^\.\d+/)) { floatLiteral = true; } if (floatLiteral) { // Float literals may be "imaginary" stream.eat(/J/i); return 'number'; } // Integers var intLiteral = false; // Hex if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; } // Octal else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; } // Decimal else if (stream.match(/^[1-9]\d*F?/)) { // Decimal literals may be "imaginary" stream.eat(/J/i); // TODO - Can you have imaginary longs? intLiteral = true; } // Zero by itself with no other piece of number. else if (stream.match(/^0(?![\dx])/i)) { intLiteral = true; } if (intLiteral) { // Integer literals may be "long" stream.eat(/L/i); return 'number'; } } // Handle Strings if (stream.match(stringPrefixes)) { state.tokenize = tokenStringFactory(stream.current()); return state.tokenize(stream, state); } // Handle operators and Delimiters if (stream.match(doubleOperators) || stream.match(singleOperators) || stream.match(wordOperators)) { return 'operator'; } if (stream.match(singleDelimiters)) { return null; } if (stream.match(brakets)) { return "bracket"; } if (stream.match(noIndentWords)) { state.doInCurrentLine = true; return 'keyword'; } if (stream.match(doOpening)) { indent(stream,state); state.doInCurrentLine = true; return 'keyword'; } if (stream.match(opening)) { if (! state.doInCurrentLine) indent(stream,state); else state.doInCurrentLine = false; return 'keyword'; } if (stream.match(middle)) { return 'keyword'; } if (stream.match(doubleClosing)) { dedent(stream,state); dedent(stream,state); return 'keyword'; } if (stream.match(closing)) { if (! state.doInCurrentLine) dedent(stream,state); else state.doInCurrentLine = false; return 'keyword'; } if (stream.match(keywords)) { return 'keyword'; } if (stream.match(atoms)) { return 'atom'; } if (stream.match(known)) { return 'variable-2'; } if (stream.match(builtinFuncs)) { return 'builtin'; } if (stream.match(builtinObjs)){ return 'variable-2'; } if (stream.match(identifiers)) { return 'variable'; } // Handle non-detected items stream.next(); return ERRORCLASS; } function tokenStringFactory(delimiter) { var singleline = delimiter.length == 1; var OUTCLASS = 'string'; return function(stream, state) { while (!stream.eol()) { stream.eatWhile(/[^'"]/); if (stream.match(delimiter)) { state.tokenize = tokenBase; return OUTCLASS; } else { stream.eat(/['"]/); } } if (singleline) { if (parserConf.singleLineStringErrors) { return ERRORCLASS; } else { state.tokenize = tokenBase; } } return OUTCLASS; }; } function tokenLexer(stream, state) { var style = state.tokenize(stream, state); var current = stream.current(); // Handle '.' connected identifiers if (current === '.') { style = state.tokenize(stream, state); current = stream.current(); if (style && (style.substr(0, 8) === 'variable' || style==='builtin' || style==='keyword')){//|| knownWords.indexOf(current.substring(1)) > -1) { if (style === 'builtin' || style === 'keyword') style='variable'; if (knownWords.indexOf(current.substr(1)) > -1) style='variable-2'; return style; } else { return ERRORCLASS; } } return style; } var external = { electricChars:"dDpPtTfFeE ", startState: function() { return { tokenize: tokenBase, lastToken: null, currentIndent: 0, nextLineIndent: 0, doInCurrentLine: false, ignoreKeyword: false }; }, token: function(stream, state) { if (stream.sol()) { state.currentIndent += state.nextLineIndent; state.nextLineIndent = 0; state.doInCurrentLine = 0; } var style = tokenLexer(stream, state); state.lastToken = {style:style, content: stream.current()}; if (style==='space') style=null; return style; }, indent: function(state, textAfter) { var trueText = textAfter.replace(/^\s+|\s+$/g, '') ; if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return conf.indentUnit*(state.currentIndent-1); if(state.currentIndent < 0) return 0; return state.currentIndent * conf.indentUnit; } }; return external; }); CodeMirror.defineMIME("text/vbscript", "vbscript"); }); wp-file-manager/lib/codemirror/mode/velocity/index.html000064400000006344151202472330017217 0ustar00 CodeMirror: Velocity mode

        Velocity mode

        MIME types defined: text/velocity.

        wp-file-manager/lib/codemirror/mode/velocity/velocity.js000064400000015672151202472330017422 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("velocity", function() { function parseWords(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var keywords = parseWords("#end #else #break #stop #[[ #]] " + "#{end} #{else} #{break} #{stop}"); var functions = parseWords("#if #elseif #foreach #set #include #parse #macro #define #evaluate " + "#{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}"); var specials = parseWords("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent"); var isOperatorChar = /[+\-*&%=<>!?:\/|]/; function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } function tokenBase(stream, state) { var beforeParams = state.beforeParams; state.beforeParams = false; var ch = stream.next(); // start of unparsed string? if ((ch == "'") && !state.inString && state.inParams) { state.lastTokenWasBuiltin = false; return chain(stream, state, tokenString(ch)); } // start of parsed string? else if ((ch == '"')) { state.lastTokenWasBuiltin = false; if (state.inString) { state.inString = false; return "string"; } else if (state.inParams) return chain(stream, state, tokenString(ch)); } // is it one of the special signs []{}().,;? Seperator? else if (/[\[\]{}\(\),;\.]/.test(ch)) { if (ch == "(" && beforeParams) state.inParams = true; else if (ch == ")") { state.inParams = false; state.lastTokenWasBuiltin = true; } return null; } // start of a number value? else if (/\d/.test(ch)) { state.lastTokenWasBuiltin = false; stream.eatWhile(/[\w\.]/); return "number"; } // multi line comment? else if (ch == "#" && stream.eat("*")) { state.lastTokenWasBuiltin = false; return chain(stream, state, tokenComment); } // unparsed content? else if (ch == "#" && stream.match(/ *\[ *\[/)) { state.lastTokenWasBuiltin = false; return chain(stream, state, tokenUnparsed); } // single line comment? else if (ch == "#" && stream.eat("#")) { state.lastTokenWasBuiltin = false; stream.skipToEnd(); return "comment"; } // variable? else if (ch == "$") { stream.eatWhile(/[\w\d\$_\.{}]/); // is it one of the specials? if (specials && specials.propertyIsEnumerable(stream.current())) { return "keyword"; } else { state.lastTokenWasBuiltin = true; state.beforeParams = true; return "builtin"; } } // is it a operator? else if (isOperatorChar.test(ch)) { state.lastTokenWasBuiltin = false; stream.eatWhile(isOperatorChar); return "operator"; } else { // get the whole word stream.eatWhile(/[\w\$_{}@]/); var word = stream.current(); // is it one of the listed keywords? if (keywords && keywords.propertyIsEnumerable(word)) return "keyword"; // is it one of the listed functions? if (functions && functions.propertyIsEnumerable(word) || (stream.current().match(/^#@?[a-z0-9_]+ *$/i) && stream.peek()=="(") && !(functions && functions.propertyIsEnumerable(word.toLowerCase()))) { state.beforeParams = true; state.lastTokenWasBuiltin = false; return "keyword"; } if (state.inString) { state.lastTokenWasBuiltin = false; return "string"; } if (stream.pos > word.length && stream.string.charAt(stream.pos-word.length-1)=="." && state.lastTokenWasBuiltin) return "builtin"; // default: just a "word" state.lastTokenWasBuiltin = false; return null; } } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if ((next == quote) && !escaped) { end = true; break; } if (quote=='"' && stream.peek() == '$' && !escaped) { state.inString = true; end = true; break; } escaped = !escaped && next == "\\"; } if (end) state.tokenize = tokenBase; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "#" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function tokenUnparsed(stream, state) { var maybeEnd = 0, ch; while (ch = stream.next()) { if (ch == "#" && maybeEnd == 2) { state.tokenize = tokenBase; break; } if (ch == "]") maybeEnd++; else if (ch != " ") maybeEnd = 0; } return "meta"; } // Interface return { startState: function() { return { tokenize: tokenBase, beforeParams: false, inParams: false, inString: false, lastTokenWasBuiltin: false }; }, token: function(stream, state) { if (stream.eatSpace()) return null; return state.tokenize(stream, state); }, blockCommentStart: "#*", blockCommentEnd: "*#", lineComment: "##", fold: "velocity" }; }); CodeMirror.defineMIME("text/velocity", "velocity"); }); wp-file-manager/lib/codemirror/mode/verilog/index.html000064400000005073151202472330017026 0ustar00 CodeMirror: Verilog/SystemVerilog mode

        SystemVerilog mode

        Syntax highlighting and indentation for the Verilog and SystemVerilog languages (IEEE 1800).

        Configuration options:

        • noIndentKeywords - List of keywords which should not cause indentation to increase. E.g. ["package", "module"]. Default: None

        MIME types defined: text/x-verilog and text/x-systemverilog.

        wp-file-manager/lib/codemirror/mode/verilog/test.js000064400000015171151202472330016346 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 4}, "verilog"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT("binary_literals", "[number 1'b0]", "[number 1'b1]", "[number 1'bx]", "[number 1'bz]", "[number 1'bX]", "[number 1'bZ]", "[number 1'B0]", "[number 1'B1]", "[number 1'Bx]", "[number 1'Bz]", "[number 1'BX]", "[number 1'BZ]", "[number 1'b0]", "[number 1'b1]", "[number 2'b01]", "[number 2'bxz]", "[number 2'b11]", "[number 2'b10]", "[number 2'b1Z]", "[number 12'b0101_0101_0101]", "[number 1'b 0]", "[number 'b0101]" ); MT("octal_literals", "[number 3'o7]", "[number 3'O7]", "[number 3'so7]", "[number 3'SO7]" ); MT("decimal_literals", "[number 0]", "[number 1]", "[number 7]", "[number 123_456]", "[number 'd33]", "[number 8'd255]", "[number 8'D255]", "[number 8'sd255]", "[number 8'SD255]", "[number 32'd123]", "[number 32 'd123]", "[number 32 'd 123]" ); MT("hex_literals", "[number 4'h0]", "[number 4'ha]", "[number 4'hF]", "[number 4'hx]", "[number 4'hz]", "[number 4'hX]", "[number 4'hZ]", "[number 32'hdc78]", "[number 32'hDC78]", "[number 32 'hDC78]", "[number 32'h DC78]", "[number 32 'h DC78]", "[number 32'h44x7]", "[number 32'hFFF?]" ); MT("real_number_literals", "[number 1.2]", "[number 0.1]", "[number 2394.26331]", "[number 1.2E12]", "[number 1.2e12]", "[number 1.30e-2]", "[number 0.1e-0]", "[number 23E10]", "[number 29E-2]", "[number 236.123_763_e-12]" ); MT("operators", "[meta ^]" ); MT("keywords", "[keyword logic]", "[keyword logic] [variable foo]", "[keyword reg] [variable abc]" ); MT("variables", "[variable _leading_underscore]", "[variable _if]", "[number 12] [variable foo]", "[variable foo] [number 14]" ); MT("tick_defines", "[def `FOO]", "[def `foo]", "[def `FOO_bar]" ); MT("system_calls", "[meta $display]", "[meta $vpi_printf]" ); MT("line_comment", "[comment // Hello world]"); // Alignment tests MT("align_port_map_style1", /** * mod mod(.a(a), * .b(b) * ); */ "[variable mod] [variable mod][bracket (].[variable a][bracket (][variable a][bracket )],", " .[variable b][bracket (][variable b][bracket )]", " [bracket )];", "" ); MT("align_port_map_style2", /** * mod mod( * .a(a), * .b(b) * ); */ "[variable mod] [variable mod][bracket (]", " .[variable a][bracket (][variable a][bracket )],", " .[variable b][bracket (][variable b][bracket )]", "[bracket )];", "" ); // Indentation tests MT("indent_single_statement_if", "[keyword if] [bracket (][variable foo][bracket )]", " [keyword break];", "" ); MT("no_indent_after_single_line_if", "[keyword if] [bracket (][variable foo][bracket )] [keyword break];", "" ); MT("indent_after_if_begin_same_line", "[keyword if] [bracket (][variable foo][bracket )] [keyword begin]", " [keyword break];", " [keyword break];", "[keyword end]", "" ); MT("indent_after_if_begin_next_line", "[keyword if] [bracket (][variable foo][bracket )]", " [keyword begin]", " [keyword break];", " [keyword break];", " [keyword end]", "" ); MT("indent_single_statement_if_else", "[keyword if] [bracket (][variable foo][bracket )]", " [keyword break];", "[keyword else]", " [keyword break];", "" ); MT("indent_if_else_begin_same_line", "[keyword if] [bracket (][variable foo][bracket )] [keyword begin]", " [keyword break];", " [keyword break];", "[keyword end] [keyword else] [keyword begin]", " [keyword break];", " [keyword break];", "[keyword end]", "" ); MT("indent_if_else_begin_next_line", "[keyword if] [bracket (][variable foo][bracket )]", " [keyword begin]", " [keyword break];", " [keyword break];", " [keyword end]", "[keyword else]", " [keyword begin]", " [keyword break];", " [keyword break];", " [keyword end]", "" ); MT("indent_if_nested_without_begin", "[keyword if] [bracket (][variable foo][bracket )]", " [keyword if] [bracket (][variable foo][bracket )]", " [keyword if] [bracket (][variable foo][bracket )]", " [keyword break];", "" ); MT("indent_case", "[keyword case] [bracket (][variable state][bracket )]", " [variable FOO]:", " [keyword break];", " [variable BAR]:", " [keyword break];", "[keyword endcase]", "" ); MT("unindent_after_end_with_preceding_text", "[keyword begin]", " [keyword break]; [keyword end]", "" ); MT("export_function_one_line_does_not_indent", "[keyword export] [string \"DPI-C\"] [keyword function] [variable helloFromSV];", "" ); MT("export_task_one_line_does_not_indent", "[keyword export] [string \"DPI-C\"] [keyword task] [variable helloFromSV];", "" ); MT("export_function_two_lines_indents_properly", "[keyword export]", " [string \"DPI-C\"] [keyword function] [variable helloFromSV];", "" ); MT("export_task_two_lines_indents_properly", "[keyword export]", " [string \"DPI-C\"] [keyword task] [variable helloFromSV];", "" ); MT("import_function_one_line_does_not_indent", "[keyword import] [string \"DPI-C\"] [keyword function] [variable helloFromC];", "" ); MT("import_task_one_line_does_not_indent", "[keyword import] [string \"DPI-C\"] [keyword task] [variable helloFromC];", "" ); MT("import_package_single_line_does_not_indent", "[keyword import] [variable p]::[variable x];", "[keyword import] [variable p]::[variable y];", "" ); MT("covergroup_with_function_indents_properly", "[keyword covergroup] [variable cg] [keyword with] [keyword function] [variable sample][bracket (][keyword bit] [variable b][bracket )];", " [variable c] : [keyword coverpoint] [variable c];", "[keyword endgroup]: [variable cg]", "" ); })(); wp-file-manager/lib/codemirror/mode/verilog/verilog.js000064400000045414151202472330017041 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("verilog", function(config, parserConfig) { var indentUnit = config.indentUnit, statementIndentUnit = parserConfig.statementIndentUnit || indentUnit, dontAlignCalls = parserConfig.dontAlignCalls, noIndentKeywords = parserConfig.noIndentKeywords || [], multiLineStrings = parserConfig.multiLineStrings, hooks = parserConfig.hooks || {}; function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } /** * Keywords from IEEE 1800-2012 */ var keywords = words( "accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind " + "bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config " + "const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable " + "dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup " + "endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask " + "enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin " + "function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import " + "incdir include initial inout input inside instance int integer interconnect interface intersect join join_any " + "join_none large let liblist library local localparam logic longint macromodule matches medium modport module " + "nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed " + "parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup " + "pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg " + "reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime " + "s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify " + "specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on " + "table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior " + "trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void " + "wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor"); /** Operators from IEEE 1800-2012 unary_operator ::= + | - | ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~ binary_operator ::= + | - | * | / | % | == | != | === | !== | ==? | !=? | && | || | ** | < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> | << | >>> | <<< | -> | <-> inc_or_dec_operator ::= ++ | -- unary_module_path_operator ::= ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~ binary_module_path_operator ::= == | != | && | || | & | | | ^ | ^~ | ~^ */ var isOperatorChar = /[\+\-\*\/!~&|^%=?:]/; var isBracketChar = /[\[\]{}()]/; var unsignedNumber = /\d[0-9_]*/; var decimalLiteral = /\d*\s*'s?d\s*\d[0-9_]*/i; var binaryLiteral = /\d*\s*'s?b\s*[xz01][xz01_]*/i; var octLiteral = /\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i; var hexLiteral = /\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i; var realLiteral = /(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i; var closingBracketOrWord = /^((\w+)|[)}\]])/; var closingBracket = /[)}\]]/; var curPunc; var curKeyword; // Block openings which are closed by a matching keyword in the form of ("end" + keyword) // E.g. "task" => "endtask" var blockKeywords = words( "case checker class clocking config function generate interface module package" + "primitive program property specify sequence table task" ); // Opening/closing pairs var openClose = {}; for (var keyword in blockKeywords) { openClose[keyword] = "end" + keyword; } openClose["begin"] = "end"; openClose["casex"] = "endcase"; openClose["casez"] = "endcase"; openClose["do" ] = "while"; openClose["fork" ] = "join;join_any;join_none"; openClose["covergroup"] = "endgroup"; for (var i in noIndentKeywords) { var keyword = noIndentKeywords[i]; if (openClose[keyword]) { openClose[keyword] = undefined; } } // Keywords which open statements that are ended with a semi-colon var statementKeywords = words("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while"); function tokenBase(stream, state) { var ch = stream.peek(), style; if (hooks[ch] && (style = hooks[ch](stream, state)) != false) return style; if (hooks.tokenBase && (style = hooks.tokenBase(stream, state)) != false) return style; if (/[,;:\.]/.test(ch)) { curPunc = stream.next(); return null; } if (isBracketChar.test(ch)) { curPunc = stream.next(); return "bracket"; } // Macros (tick-defines) if (ch == '`') { stream.next(); if (stream.eatWhile(/[\w\$_]/)) { return "def"; } else { return null; } } // System calls if (ch == '$') { stream.next(); if (stream.eatWhile(/[\w\$_]/)) { return "meta"; } else { return null; } } // Time literals if (ch == '#') { stream.next(); stream.eatWhile(/[\d_.]/); return "def"; } // Strings if (ch == '"') { stream.next(); state.tokenize = tokenString(ch); return state.tokenize(stream, state); } // Comments if (ch == "/") { stream.next(); if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } stream.backUp(1); } // Numeric literals if (stream.match(realLiteral) || stream.match(decimalLiteral) || stream.match(binaryLiteral) || stream.match(octLiteral) || stream.match(hexLiteral) || stream.match(unsignedNumber) || stream.match(realLiteral)) { return "number"; } // Operators if (stream.eatWhile(isOperatorChar)) { return "meta"; } // Keywords / plain variables if (stream.eatWhile(/[\w\$_]/)) { var cur = stream.current(); if (keywords[cur]) { if (openClose[cur]) { curPunc = "newblock"; } if (statementKeywords[cur]) { curPunc = "newstatement"; } curKeyword = cur; return "keyword"; } return "variable"; } stream.next(); return null; } function tokenString(quote) { return function(stream, state) { var escaped = false, next, end = false; while ((next = stream.next()) != null) { if (next == quote && !escaped) {end = true; break;} escaped = !escaped && next == "\\"; } if (end || !(escaped || multiLineStrings)) state.tokenize = tokenBase; return "string"; }; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if (ch == "/" && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { var indent = state.indented; var c = new Context(indent, col, type, null, state.context); return state.context = c; } function popContext(state) { var t = state.context.type; if (t == ")" || t == "]" || t == "}") { state.indented = state.context.indented; } return state.context = state.context.prev; } function isClosing(text, contextClosing) { if (text == contextClosing) { return true; } else { // contextClosing may be multiple keywords separated by ; var closingKeywords = contextClosing.split(";"); for (var i in closingKeywords) { if (text == closingKeywords[i]) { return true; } } return false; } } function buildElectricInputRegEx() { // Reindentation should occur on any bracket char: {}()[] // or on a match of any of the block closing keywords, at // the end of a line var allClosings = []; for (var i in openClose) { if (openClose[i]) { var closings = openClose[i].split(";"); for (var j in closings) { allClosings.push(closings[j]); } } } var re = new RegExp("[{}()\\[\\]]|(" + allClosings.join("|") + ")$"); return re; } // Interface return { // Regex to force current line to reindent electricInput: buildElectricInputRegEx(), startState: function(basecolumn) { var state = { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; if (hooks.startState) hooks.startState(state); return state; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (hooks.token) hooks.token(stream, state); if (stream.eatSpace()) return null; curPunc = null; curKeyword = null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment" || style == "meta" || style == "variable") return style; if (ctx.align == null) ctx.align = true; if (curPunc == ctx.type) { popContext(state); } else if ((curPunc == ";" && ctx.type == "statement") || (ctx.type && isClosing(curKeyword, ctx.type))) { ctx = popContext(state); while (ctx && ctx.type == "statement") ctx = popContext(state); } else if (curPunc == "{") { pushContext(state, stream.column(), "}"); } else if (curPunc == "[") { pushContext(state, stream.column(), "]"); } else if (curPunc == "(") { pushContext(state, stream.column(), ")"); } else if (ctx && ctx.type == "endcase" && curPunc == ":") { pushContext(state, stream.column(), "statement"); } else if (curPunc == "newstatement") { pushContext(state, stream.column(), "statement"); } else if (curPunc == "newblock") { if (curKeyword == "function" && ctx && (ctx.type == "statement" || ctx.type == "endgroup")) { // The 'function' keyword can appear in some other contexts where it actually does not // indicate a function (import/export DPI and covergroup definitions). // Do nothing in this case } else if (curKeyword == "task" && ctx && ctx.type == "statement") { // Same thing for task } else { var close = openClose[curKeyword]; pushContext(state, stream.column(), close); } } state.startOfLine = false; return style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase && state.tokenize != null) return CodeMirror.Pass; if (hooks.indent) { var fromHook = hooks.indent(state); if (fromHook >= 0) return fromHook; } var ctx = state.context, firstChar = textAfter && textAfter.charAt(0); if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev; var closing = false; var possibleClosing = textAfter.match(closingBracketOrWord); if (possibleClosing) closing = isClosing(possibleClosing[0], ctx.type); if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit); else if (closingBracket.test(ctx.type) && ctx.align && !dontAlignCalls) return ctx.column + (closing ? 0 : 1); else if (ctx.type == ")" && !closing) return ctx.indented + statementIndentUnit; else return ctx.indented + (closing ? 0 : indentUnit); }, blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//" }; }); CodeMirror.defineMIME("text/x-verilog", { name: "verilog" }); CodeMirror.defineMIME("text/x-systemverilog", { name: "verilog" }); // TLVVerilog mode var tlvchScopePrefixes = { ">": "property", "->": "property", "-": "hr", "|": "link", "?$": "qualifier", "?*": "qualifier", "@-": "variable-3", "@": "variable-3", "?": "qualifier" }; function tlvGenIndent(stream, state) { var tlvindentUnit = 2; var rtnIndent = -1, indentUnitRq = 0, curIndent = stream.indentation(); switch (state.tlvCurCtlFlowChar) { case "\\": curIndent = 0; break; case "|": if (state.tlvPrevPrevCtlFlowChar == "@") { indentUnitRq = -2; //-2 new pipe rq after cur pipe break; } if (tlvchScopePrefixes[state.tlvPrevCtlFlowChar]) indentUnitRq = 1; // +1 new scope break; case "M": // m4 if (state.tlvPrevPrevCtlFlowChar == "@") { indentUnitRq = -2; //-2 new inst rq after pipe break; } if (tlvchScopePrefixes[state.tlvPrevCtlFlowChar]) indentUnitRq = 1; // +1 new scope break; case "@": if (state.tlvPrevCtlFlowChar == "S") indentUnitRq = -1; // new pipe stage after stmts if (state.tlvPrevCtlFlowChar == "|") indentUnitRq = 1; // 1st pipe stage break; case "S": if (state.tlvPrevCtlFlowChar == "@") indentUnitRq = 1; // flow in pipe stage if (tlvchScopePrefixes[state.tlvPrevCtlFlowChar]) indentUnitRq = 1; // +1 new scope break; } var statementIndentUnit = tlvindentUnit; rtnIndent = curIndent + (indentUnitRq*statementIndentUnit); return rtnIndent >= 0 ? rtnIndent : curIndent; } CodeMirror.defineMIME("text/x-tlv", { name: "verilog", hooks: { "\\": function(stream, state) { var vxIndent = 0, style = false; var curPunc = stream.string; if ((stream.sol()) && ((/\\SV/.test(stream.string)) || (/\\TLV/.test(stream.string)))) { curPunc = (/\\TLV_version/.test(stream.string)) ? "\\TLV_version" : stream.string; stream.skipToEnd(); if (curPunc == "\\SV" && state.vxCodeActive) {state.vxCodeActive = false;}; if ((/\\TLV/.test(curPunc) && !state.vxCodeActive) || (curPunc=="\\TLV_version" && state.vxCodeActive)) {state.vxCodeActive = true;}; style = "keyword"; state.tlvCurCtlFlowChar = state.tlvPrevPrevCtlFlowChar = state.tlvPrevCtlFlowChar = ""; if (state.vxCodeActive == true) { state.tlvCurCtlFlowChar = "\\"; vxIndent = tlvGenIndent(stream, state); } state.vxIndentRq = vxIndent; } return style; }, tokenBase: function(stream, state) { var vxIndent = 0, style = false; var tlvisOperatorChar = /[\[\]=:]/; var tlvkpScopePrefixs = { "**":"variable-2", "*":"variable-2", "$$":"variable", "$":"variable", "^^":"attribute", "^":"attribute"}; var ch = stream.peek(); var vxCurCtlFlowCharValueAtStart = state.tlvCurCtlFlowChar; if (state.vxCodeActive == true) { if (/[\[\]{}\(\);\:]/.test(ch)) { // bypass nesting and 1 char punc style = "meta"; stream.next(); } else if (ch == "/") { stream.next(); if (stream.eat("/")) { stream.skipToEnd(); style = "comment"; state.tlvCurCtlFlowChar = "S"; } else { stream.backUp(1); } } else if (ch == "@") { // pipeline stage style = tlvchScopePrefixes[ch]; state.tlvCurCtlFlowChar = "@"; stream.next(); stream.eatWhile(/[\w\$_]/); } else if (stream.match(/\b[mM]4+/, true)) { // match: function(pattern, consume, caseInsensitive) // m4 pre proc stream.skipTo("("); style = "def"; state.tlvCurCtlFlowChar = "M"; } else if (ch == "!" && stream.sol()) { // v stmt in tlv region // state.tlvCurCtlFlowChar = "S"; style = "comment"; stream.next(); } else if (tlvisOperatorChar.test(ch)) { // operators stream.eatWhile(tlvisOperatorChar); style = "operator"; } else if (ch == "#") { // phy hier state.tlvCurCtlFlowChar = (state.tlvCurCtlFlowChar == "") ? ch : state.tlvCurCtlFlowChar; stream.next(); stream.eatWhile(/[+-]\d/); style = "tag"; } else if (tlvkpScopePrefixs.propertyIsEnumerable(ch)) { // special TLV operators style = tlvkpScopePrefixs[ch]; state.tlvCurCtlFlowChar = state.tlvCurCtlFlowChar == "" ? "S" : state.tlvCurCtlFlowChar; // stmt stream.next(); stream.match(/[a-zA-Z_0-9]+/); } else if (style = tlvchScopePrefixes[ch] || false) { // special TLV operators state.tlvCurCtlFlowChar = state.tlvCurCtlFlowChar == "" ? ch : state.tlvCurCtlFlowChar; stream.next(); stream.match(/[a-zA-Z_0-9]+/); } if (state.tlvCurCtlFlowChar != vxCurCtlFlowCharValueAtStart) { // flow change vxIndent = tlvGenIndent(stream, state); state.vxIndentRq = vxIndent; } } return style; }, token: function(stream, state) { if (state.vxCodeActive == true && stream.sol() && state.tlvCurCtlFlowChar != "") { state.tlvPrevPrevCtlFlowChar = state.tlvPrevCtlFlowChar; state.tlvPrevCtlFlowChar = state.tlvCurCtlFlowChar; state.tlvCurCtlFlowChar = ""; } }, indent: function(state) { return (state.vxCodeActive == true) ? state.vxIndentRq : -1; }, startState: function(state) { state.tlvCurCtlFlowChar = ""; state.tlvPrevCtlFlowChar = ""; state.tlvPrevPrevCtlFlowChar = ""; state.vxCodeActive = true; state.vxIndentRq = 0; } } }); }); wp-file-manager/lib/codemirror/mode/vhdl/index.html000064400000004666151202472330016323 0ustar00 CodeMirror: VHDL mode

        VHDL mode

        Syntax highlighting and indentation for the VHDL language.

        Configuration options:

        • atoms - List of atom words. Default: "null"
        • hooks - List of meta hooks. Default: ["`", "$"]
        • multiLineStrings - Whether multi-line strings are accepted. Default: false

        MIME types defined: text/x-vhdl.

        wp-file-manager/lib/codemirror/mode/vhdl/vhdl.js000064400000015060151202472330015607 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Originally written by Alf Nielsen, re-written by Michael Zhou (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function words(str) { var obj = {}, words = str.split(","); for (var i = 0; i < words.length; ++i) { var allCaps = words[i].toUpperCase(); var firstCap = words[i].charAt(0).toUpperCase() + words[i].slice(1); obj[words[i]] = true; obj[allCaps] = true; obj[firstCap] = true; } return obj; } function metaHook(stream) { stream.eatWhile(/[\w\$_]/); return "meta"; } CodeMirror.defineMode("vhdl", function(config, parserConfig) { var indentUnit = config.indentUnit, atoms = parserConfig.atoms || words("null"), hooks = parserConfig.hooks || {"`": metaHook, "$": metaHook}, multiLineStrings = parserConfig.multiLineStrings; var keywords = words("abs,access,after,alias,all,and,architecture,array,assert,attribute,begin,block," + "body,buffer,bus,case,component,configuration,constant,disconnect,downto,else,elsif,end,end block,end case," + "end component,end for,end generate,end if,end loop,end process,end record,end units,entity,exit,file,for," + "function,generate,generic,generic map,group,guarded,if,impure,in,inertial,inout,is,label,library,linkage," + "literal,loop,map,mod,nand,new,next,nor,null,of,on,open,or,others,out,package,package body,port,port map," + "postponed,procedure,process,pure,range,record,register,reject,rem,report,return,rol,ror,select,severity,signal," + "sla,sll,sra,srl,subtype,then,to,transport,type,unaffected,units,until,use,variable,wait,when,while,with,xnor,xor"); var blockKeywords = words("architecture,entity,begin,case,port,else,elsif,end,for,function,if"); var isOperatorChar = /[&|~> CodeMirror: Vue.js mode

        Vue.js mode

        MIME types defined: text/x-vue

        wp-file-manager/lib/codemirror/mode/vue/vue.js000064400000004702151202472330015314 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function (mod) { "use strict"; if (typeof exports === "object" && typeof module === "object") {// CommonJS mod(require("../../lib/codemirror"), require("../../addon/mode/overlay"), require("../xml/xml"), require("../javascript/javascript"), require("../coffeescript/coffeescript"), require("../css/css"), require("../sass/sass"), require("../stylus/stylus"), require("../pug/pug"), require("../handlebars/handlebars")); } else if (typeof define === "function" && define.amd) { // AMD define(["../../lib/codemirror", "../../addon/mode/overlay", "../xml/xml", "../javascript/javascript", "../coffeescript/coffeescript", "../css/css", "../sass/sass", "../stylus/stylus", "../pug/pug", "../handlebars/handlebars"], mod); } else { // Plain browser env mod(CodeMirror); } })(function (CodeMirror) { var tagLanguages = { script: [ ["lang", /coffee(script)?/, "coffeescript"], ["type", /^(?:text|application)\/(?:x-)?coffee(?:script)?$/, "coffeescript"] ], style: [ ["lang", /^stylus$/i, "stylus"], ["lang", /^sass$/i, "sass"], ["type", /^(text\/)?(x-)?styl(us)?$/i, "stylus"], ["type", /^text\/sass/i, "sass"] ], template: [ ["lang", /^vue-template$/i, "vue"], ["lang", /^pug$/i, "pug"], ["lang", /^handlebars$/i, "handlebars"], ["type", /^(text\/)?(x-)?pug$/i, "pug"], ["type", /^text\/x-handlebars-template$/i, "handlebars"], [null, null, "vue-template"] ] }; CodeMirror.defineMode("vue-template", function (config, parserConfig) { var mustacheOverlay = { token: function (stream) { if (stream.match(/^\{\{.*?\}\}/)) return "meta mustache"; while (stream.next() && !stream.match("{{", false)) {} return null; } }; return CodeMirror.overlayMode(CodeMirror.getMode(config, parserConfig.backdrop || "text/html"), mustacheOverlay); }); CodeMirror.defineMode("vue", function (config) { return CodeMirror.getMode(config, {name: "htmlmixed", tags: tagLanguages}); }, "htmlmixed", "xml", "javascript", "coffeescript", "css", "sass", "stylus", "pug", "handlebars"); CodeMirror.defineMIME("script/x-vue", "vue"); }); wp-file-manager/lib/codemirror/mode/webidl/index.html000064400000004173151202472330016625 0ustar00 CodeMirror: Web IDL mode

        Web IDL mode

        MIME type defined: text/x-webidl.

        wp-file-manager/lib/codemirror/mode/webidl/webidl.js000064400000013230151202472330016426 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; function wordRegexp(words) { return new RegExp("^((" + words.join(")|(") + "))\\b"); }; var builtinArray = [ "Clamp", "Constructor", "EnforceRange", "Exposed", "ImplicitThis", "Global", "PrimaryGlobal", "LegacyArrayClass", "LegacyUnenumerableNamedProperties", "LenientThis", "NamedConstructor", "NewObject", "NoInterfaceObject", "OverrideBuiltins", "PutForwards", "Replaceable", "SameObject", "TreatNonObjectAsNull", "TreatNullAs", "EmptyString", "Unforgeable", "Unscopeable" ]; var builtins = wordRegexp(builtinArray); var typeArray = [ "unsigned", "short", "long", // UnsignedIntegerType "unrestricted", "float", "double", // UnrestrictedFloatType "boolean", "byte", "octet", // Rest of PrimitiveType "Promise", // PromiseType "ArrayBuffer", "DataView", "Int8Array", "Int16Array", "Int32Array", "Uint8Array", "Uint16Array", "Uint32Array", "Uint8ClampedArray", "Float32Array", "Float64Array", // BufferRelatedType "ByteString", "DOMString", "USVString", "sequence", "object", "RegExp", "Error", "DOMException", "FrozenArray", // Rest of NonAnyType "any", // Rest of SingleType "void" // Rest of ReturnType ]; var types = wordRegexp(typeArray); var keywordArray = [ "attribute", "callback", "const", "deleter", "dictionary", "enum", "getter", "implements", "inherit", "interface", "iterable", "legacycaller", "maplike", "partial", "required", "serializer", "setlike", "setter", "static", "stringifier", "typedef", // ArgumentNameKeyword except // "unrestricted" "optional", "readonly", "or" ]; var keywords = wordRegexp(keywordArray); var atomArray = [ "true", "false", // BooleanLiteral "Infinity", "NaN", // FloatLiteral "null" // Rest of ConstValue ]; var atoms = wordRegexp(atomArray); CodeMirror.registerHelper("hintWords", "webidl", builtinArray.concat(typeArray).concat(keywordArray).concat(atomArray)); var startDefArray = ["callback", "dictionary", "enum", "interface"]; var startDefs = wordRegexp(startDefArray); var endDefArray = ["typedef"]; var endDefs = wordRegexp(endDefArray); var singleOperators = /^[:<=>?]/; var integers = /^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/; var floats = /^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/; var identifiers = /^_?[A-Za-z][0-9A-Z_a-z-]*/; var identifiersEnd = /^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/; var strings = /^"[^"]*"/; var multilineComments = /^\/\*.*?\*\//; var multilineCommentsStart = /^\/\*.*/; var multilineCommentsEnd = /^.*?\*\//; function readToken(stream, state) { // whitespace if (stream.eatSpace()) return null; // comment if (state.inComment) { if (stream.match(multilineCommentsEnd)) { state.inComment = false; return "comment"; } stream.skipToEnd(); return "comment"; } if (stream.match("//")) { stream.skipToEnd(); return "comment"; } if (stream.match(multilineComments)) return "comment"; if (stream.match(multilineCommentsStart)) { state.inComment = true; return "comment"; } // integer and float if (stream.match(/^-?[0-9\.]/, false)) { if (stream.match(integers) || stream.match(floats)) return "number"; } // string if (stream.match(strings)) return "string"; // identifier if (state.startDef && stream.match(identifiers)) return "def"; if (state.endDef && stream.match(identifiersEnd)) { state.endDef = false; return "def"; } if (stream.match(keywords)) return "keyword"; if (stream.match(types)) { var lastToken = state.lastToken; var nextToken = (stream.match(/^\s*(.+?)\b/, false) || [])[1]; if (lastToken === ":" || lastToken === "implements" || nextToken === "implements" || nextToken === "=") { // Used as identifier return "builtin"; } else { // Used as type return "variable-3"; } } if (stream.match(builtins)) return "builtin"; if (stream.match(atoms)) return "atom"; if (stream.match(identifiers)) return "variable"; // other if (stream.match(singleOperators)) return "operator"; // unrecognized stream.next(); return null; }; CodeMirror.defineMode("webidl", function() { return { startState: function() { return { // Is in multiline comment inComment: false, // Last non-whitespace, matched token lastToken: "", // Next token is a definition startDef: false, // Last token of the statement is a definition endDef: false }; }, token: function(stream, state) { var style = readToken(stream, state); if (style) { var cur = stream.current(); state.lastToken = cur; if (style === "keyword") { state.startDef = startDefs.test(cur); state.endDef = state.endDef || endDefs.test(cur); } else { state.startDef = false; } } return style; } }; }); CodeMirror.defineMIME("text/x-webidl", "webidl"); }); wp-file-manager/lib/codemirror/mode/xml/index.html000064400000004173151202472330016157 0ustar00 CodeMirror: XML mode

        XML mode

        The XML mode supports these configuration parameters:

        htmlMode (boolean)
        This switches the mode to parse HTML instead of XML. This means attributes do not have to be quoted, and some elements (such as br) do not require a closing tag.
        matchClosing (boolean)
        Controls whether the mode checks that close tags match the corresponding opening tag, and highlights mismatches as errors. Defaults to true.
        alignCDATA (boolean)
        Setting this to true will force the opening tag of CDATA blocks to not be indented.

        MIME types defined: application/xml, text/html.

        wp-file-manager/lib/codemirror/mode/xml/test.js000064400000003336151202472330015477 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function() { var mode = CodeMirror.getMode({indentUnit: 2}, "xml"), mname = "xml"; function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), mname); } MT("matching", "[tag&bracket <][tag top][tag&bracket >]", " text", " [tag&bracket <][tag inner][tag&bracket />]", "[tag&bracket ]"); MT("nonmatching", "[tag&bracket <][tag top][tag&bracket >]", " [tag&bracket <][tag inner][tag&bracket />]", " [tag&bracket ]"); MT("doctype", "[meta ]", "[tag&bracket <][tag top][tag&bracket />]"); MT("cdata", "[tag&bracket <][tag top][tag&bracket >]", " [atom ]", "[tag&bracket ]"); // HTML tests mode = CodeMirror.getMode({indentUnit: 2}, "text/html"); MT("selfclose", "[tag&bracket <][tag html][tag&bracket >]", " [tag&bracket <][tag link] [attribute rel]=[string stylesheet] [attribute href]=[string \"/foobar\"][tag&bracket >]", "[tag&bracket ]"); MT("list", "[tag&bracket <][tag ol][tag&bracket >]", " [tag&bracket <][tag li][tag&bracket >]one", " [tag&bracket <][tag li][tag&bracket >]two", "[tag&bracket ]"); MT("valueless", "[tag&bracket <][tag input] [attribute type]=[string checkbox] [attribute checked][tag&bracket />]"); MT("pThenArticle", "[tag&bracket <][tag p][tag&bracket >]", " foo", "[tag&bracket <][tag article][tag&bracket >]bar"); })(); wp-file-manager/lib/codemirror/mode/xml/xml.js000064400000030432151202472330015315 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var htmlConfig = { autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true, 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true, 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true, 'track': true, 'wbr': true, 'menuitem': true}, implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true, 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true, 'th': true, 'tr': true}, contextGrabbers: { 'dd': {'dd': true, 'dt': true}, 'dt': {'dd': true, 'dt': true}, 'li': {'li': true}, 'option': {'option': true, 'optgroup': true}, 'optgroup': {'optgroup': true}, 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true, 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true, 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true, 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true, 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true}, 'rp': {'rp': true, 'rt': true}, 'rt': {'rp': true, 'rt': true}, 'tbody': {'tbody': true, 'tfoot': true}, 'td': {'td': true, 'th': true}, 'tfoot': {'tbody': true}, 'th': {'td': true, 'th': true}, 'thead': {'tbody': true, 'tfoot': true}, 'tr': {'tr': true} }, doNotIndent: {"pre": true}, allowUnquoted: true, allowMissing: true, caseFold: true } var xmlConfig = { autoSelfClosers: {}, implicitlyClosed: {}, contextGrabbers: {}, doNotIndent: {}, allowUnquoted: false, allowMissing: false, caseFold: false } CodeMirror.defineMode("xml", function(editorConf, config_) { var indentUnit = editorConf.indentUnit var config = {} var defaults = config_.htmlMode ? htmlConfig : xmlConfig for (var prop in defaults) config[prop] = defaults[prop] for (var prop in config_) config[prop] = config_[prop] // Return variables for tokenizers var type, setStyle; function inText(stream, state) { function chain(parser) { state.tokenize = parser; return parser(stream, state); } var ch = stream.next(); if (ch == "<") { if (stream.eat("!")) { if (stream.eat("[")) { if (stream.match("CDATA[")) return chain(inBlock("atom", "]]>")); else return null; } else if (stream.match("--")) { return chain(inBlock("comment", "-->")); } else if (stream.match("DOCTYPE", true, true)) { stream.eatWhile(/[\w\._\-]/); return chain(doctype(1)); } else { return null; } } else if (stream.eat("?")) { stream.eatWhile(/[\w\._\-]/); state.tokenize = inBlock("meta", "?>"); return "meta"; } else { type = stream.eat("/") ? "closeTag" : "openTag"; state.tokenize = inTag; return "tag bracket"; } } else if (ch == "&") { var ok; if (stream.eat("#")) { if (stream.eat("x")) { ok = stream.eatWhile(/[a-fA-F\d]/) && stream.eat(";"); } else { ok = stream.eatWhile(/[\d]/) && stream.eat(";"); } } else { ok = stream.eatWhile(/[\w\.\-:]/) && stream.eat(";"); } return ok ? "atom" : "error"; } else { stream.eatWhile(/[^&<]/); return null; } } inText.isInText = true; function inTag(stream, state) { var ch = stream.next(); if (ch == ">" || (ch == "/" && stream.eat(">"))) { state.tokenize = inText; type = ch == ">" ? "endTag" : "selfcloseTag"; return "tag bracket"; } else if (ch == "=") { type = "equals"; return null; } else if (ch == "<") { state.tokenize = inText; state.state = baseState; state.tagName = state.tagStart = null; var next = state.tokenize(stream, state); return next ? next + " tag error" : "tag error"; } else if (/[\'\"]/.test(ch)) { state.tokenize = inAttribute(ch); state.stringStartCol = stream.column(); return state.tokenize(stream, state); } else { stream.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/); return "word"; } } function inAttribute(quote) { var closure = function(stream, state) { while (!stream.eol()) { if (stream.next() == quote) { state.tokenize = inTag; break; } } return "string"; }; closure.isInAttribute = true; return closure; } function inBlock(style, terminator) { return function(stream, state) { while (!stream.eol()) { if (stream.match(terminator)) { state.tokenize = inText; break; } stream.next(); } return style; }; } function doctype(depth) { return function(stream, state) { var ch; while ((ch = stream.next()) != null) { if (ch == "<") { state.tokenize = doctype(depth + 1); return state.tokenize(stream, state); } else if (ch == ">") { if (depth == 1) { state.tokenize = inText; break; } else { state.tokenize = doctype(depth - 1); return state.tokenize(stream, state); } } } return "meta"; }; } function Context(state, tagName, startOfLine) { this.prev = state.context; this.tagName = tagName; this.indent = state.indented; this.startOfLine = startOfLine; if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent)) this.noIndent = true; } function popContext(state) { if (state.context) state.context = state.context.prev; } function maybePopContext(state, nextTagName) { var parentTagName; while (true) { if (!state.context) { return; } parentTagName = state.context.tagName; if (!config.contextGrabbers.hasOwnProperty(parentTagName) || !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) { return; } popContext(state); } } function baseState(type, stream, state) { if (type == "openTag") { state.tagStart = stream.column(); return tagNameState; } else if (type == "closeTag") { return closeTagNameState; } else { return baseState; } } function tagNameState(type, stream, state) { if (type == "word") { state.tagName = stream.current(); setStyle = "tag"; return attrState; } else { setStyle = "error"; return tagNameState; } } function closeTagNameState(type, stream, state) { if (type == "word") { var tagName = stream.current(); if (state.context && state.context.tagName != tagName && config.implicitlyClosed.hasOwnProperty(state.context.tagName)) popContext(state); if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) { setStyle = "tag"; return closeState; } else { setStyle = "tag error"; return closeStateErr; } } else { setStyle = "error"; return closeStateErr; } } function closeState(type, _stream, state) { if (type != "endTag") { setStyle = "error"; return closeState; } popContext(state); return baseState; } function closeStateErr(type, stream, state) { setStyle = "error"; return closeState(type, stream, state); } function attrState(type, _stream, state) { if (type == "word") { setStyle = "attribute"; return attrEqState; } else if (type == "endTag" || type == "selfcloseTag") { var tagName = state.tagName, tagStart = state.tagStart; state.tagName = state.tagStart = null; if (type == "selfcloseTag" || config.autoSelfClosers.hasOwnProperty(tagName)) { maybePopContext(state, tagName); } else { maybePopContext(state, tagName); state.context = new Context(state, tagName, tagStart == state.indented); } return baseState; } setStyle = "error"; return attrState; } function attrEqState(type, stream, state) { if (type == "equals") return attrValueState; if (!config.allowMissing) setStyle = "error"; return attrState(type, stream, state); } function attrValueState(type, stream, state) { if (type == "string") return attrContinuedState; if (type == "word" && config.allowUnquoted) {setStyle = "string"; return attrState;} setStyle = "error"; return attrState(type, stream, state); } function attrContinuedState(type, stream, state) { if (type == "string") return attrContinuedState; return attrState(type, stream, state); } return { startState: function(baseIndent) { var state = {tokenize: inText, state: baseState, indented: baseIndent || 0, tagName: null, tagStart: null, context: null} if (baseIndent != null) state.baseIndent = baseIndent return state }, token: function(stream, state) { if (!state.tagName && stream.sol()) state.indented = stream.indentation(); if (stream.eatSpace()) return null; type = null; var style = state.tokenize(stream, state); if ((style || type) && style != "comment") { setStyle = null; state.state = state.state(type || style, stream, state); if (setStyle) style = setStyle == "error" ? style + " error" : setStyle; } return style; }, indent: function(state, textAfter, fullLine) { var context = state.context; // Indent multi-line strings (e.g. css). if (state.tokenize.isInAttribute) { if (state.tagStart == state.indented) return state.stringStartCol + 1; else return state.indented + indentUnit; } if (context && context.noIndent) return CodeMirror.Pass; if (state.tokenize != inTag && state.tokenize != inText) return fullLine ? fullLine.match(/^(\s*)/)[0].length : 0; // Indent the starts of attribute names. if (state.tagName) { if (config.multilineTagIndentPastTag !== false) return state.tagStart + state.tagName.length + 2; else return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1); } if (config.alignCDATA && /$/, blockCommentStart: "", configuration: config.htmlMode ? "html" : "xml", helperType: config.htmlMode ? "html" : "xml", skipAttribute: function(state) { if (state.state == attrValueState) state.state = attrState } }; }); CodeMirror.defineMIME("text/xml", "xml"); CodeMirror.defineMIME("application/xml", "xml"); if (!CodeMirror.mimeModes.hasOwnProperty("text/html")) CodeMirror.defineMIME("text/html", {name: "xml", htmlMode: true}); }); wp-file-manager/lib/codemirror/mode/xquery/index.html000064400000020641151202472330016712 0ustar00 CodeMirror: XQuery mode

        XQuery mode

        MIME types defined: application/xquery.

        Development of the CodeMirror XQuery mode was sponsored by MarkLogic and developed by Mike Brevoort.

        wp-file-manager/lib/codemirror/mode/xquery/test.js000064400000011764151202472330016240 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Don't take these too seriously -- the expected results appear to be // based on the results of actual runs without any serious manual // verification. If a change you made causes them to fail, the test is // as likely to wrong as the code. (function() { var mode = CodeMirror.getMode({tabSize: 4}, "xquery"); function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } MT("eviltest", "[keyword xquery] [keyword version] [variable "1][keyword .][atom 0][keyword -][variable ml"][def&variable ;] [comment (: this is : a \"comment\" :)]", " [keyword let] [variable $let] [keyword :=] [variable <x] [variable attr][keyword =][variable "value">"test"<func>][def&variable ;function]() [variable $var] {[keyword function]()} {[variable $var]}[variable <][keyword /][variable func><][keyword /][variable x>]", " [keyword let] [variable $joe][keyword :=][atom 1]", " [keyword return] [keyword element] [variable element] {", " [keyword attribute] [variable attribute] { [atom 1] },", " [keyword element] [variable test] { [variable 'a'] }, [keyword attribute] [variable foo] { [variable "bar"] },", " [def&variable fn:doc]()[[ [variable foo][keyword /][variable @bar] [keyword eq] [variable $let] ]],", " [keyword //][variable x] } [comment (: a more 'evil' test :)]", " [comment (: Modified Blakeley example (: with nested comment :) ... :)]", " [keyword declare] [keyword private] [keyword function] [def&variable local:declare]() {()}[variable ;]", " [keyword declare] [keyword private] [keyword function] [def&variable local:private]() {()}[variable ;]", " [keyword declare] [keyword private] [keyword function] [def&variable local:function]() {()}[variable ;]", " [keyword declare] [keyword private] [keyword function] [def&variable local:local]() {()}[variable ;]", " [keyword let] [variable $let] [keyword :=] [variable <let>let] [variable $let] [keyword :=] [variable "let"<][keyword /let][variable >]", " [keyword return] [keyword element] [variable element] {", " [keyword attribute] [variable attribute] { [keyword try] { [def&variable xdmp:version]() } [keyword catch]([variable $e]) { [def&variable xdmp:log]([variable $e]) } },", " [keyword attribute] [variable fn:doc] { [variable "bar"] [variable castable] [keyword as] [atom xs:string] },", " [keyword element] [variable text] { [keyword text] { [variable "text"] } },", " [def&variable fn:doc]()[[ [qualifier child::][variable eq][keyword /]([variable @bar] [keyword |] [qualifier attribute::][variable attribute]) [keyword eq] [variable $let] ]],", " [keyword //][variable fn:doc]", " }"); MT("testEmptySequenceKeyword", "[string \"foo\"] [keyword instance] [keyword of] [keyword empty-sequence]()"); MT("testMultiAttr", "[tag

        ][variable hello] [variable world][tag

        ]"); MT("test namespaced variable", "[keyword declare] [keyword namespace] [variable e] [keyword =] [string \"http://example.com/ANamespace\"][variable ;declare] [keyword variable] [variable $e:exampleComThisVarIsNotRecognized] [keyword as] [keyword element]([keyword *]) [variable external;]"); MT("test EQName variable", "[keyword declare] [keyword variable] [variable $\"http://www.example.com/ns/my\":var] [keyword :=] [atom 12][variable ;]", "[tag ]{[variable $\"http://www.example.com/ns/my\":var]}[tag ]"); MT("test EQName function", "[keyword declare] [keyword function] [def&variable \"http://www.example.com/ns/my\":fn] ([variable $a] [keyword as] [atom xs:integer]) [keyword as] [atom xs:integer] {", " [variable $a] [keyword +] [atom 2]", "}[variable ;]", "[tag ]{[def&variable \"http://www.example.com/ns/my\":fn]([atom 12])}[tag ]"); MT("test EQName function with single quotes", "[keyword declare] [keyword function] [def&variable 'http://www.example.com/ns/my':fn] ([variable $a] [keyword as] [atom xs:integer]) [keyword as] [atom xs:integer] {", " [variable $a] [keyword +] [atom 2]", "}[variable ;]", "[tag ]{[def&variable 'http://www.example.com/ns/my':fn]([atom 12])}[tag ]"); MT("testProcessingInstructions", "[def&variable data]([comment&meta ]) [keyword instance] [keyword of] [atom xs:string]"); MT("testQuoteEscapeDouble", "[keyword let] [variable $rootfolder] [keyword :=] [string \"c:\\builds\\winnt\\HEAD\\qa\\scripts\\\"]", "[keyword let] [variable $keysfolder] [keyword :=] [def&variable concat]([variable $rootfolder], [string \"keys\\\"])"); })(); wp-file-manager/lib/codemirror/mode/xquery/xquery.js000064400000034206151202472330016612 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("xquery", function() { // The keywords object is set to the result of this self executing // function. Each keyword is a property of the keywords object whose // value is {type: atype, style: astyle} var keywords = function(){ // convenience functions used to build keywords object function kw(type) {return {type: type, style: "keyword"};} var A = kw("keyword a") , B = kw("keyword b") , C = kw("keyword c") , operator = kw("operator") , atom = {type: "atom", style: "atom"} , punctuation = {type: "punctuation", style: null} , qualifier = {type: "axis_specifier", style: "qualifier"}; // kwObj is what is return from this function at the end var kwObj = { 'if': A, 'switch': A, 'while': A, 'for': A, 'else': B, 'then': B, 'try': B, 'finally': B, 'catch': B, 'element': C, 'attribute': C, 'let': C, 'implements': C, 'import': C, 'module': C, 'namespace': C, 'return': C, 'super': C, 'this': C, 'throws': C, 'where': C, 'private': C, ',': punctuation, 'null': atom, 'fn:false()': atom, 'fn:true()': atom }; // a list of 'basic' keywords. For each add a property to kwObj with the value of // {type: basic[i], style: "keyword"} e.g. 'after' --> {type: "after", style: "keyword"} var basic = ['after','ancestor','ancestor-or-self','and','as','ascending','assert','attribute','before', 'by','case','cast','child','comment','declare','default','define','descendant','descendant-or-self', 'descending','document','document-node','element','else','eq','every','except','external','following', 'following-sibling','follows','for','function','if','import','in','instance','intersect','item', 'let','module','namespace','node','node','of','only','or','order','parent','precedes','preceding', 'preceding-sibling','processing-instruction','ref','return','returns','satisfies','schema','schema-element', 'self','some','sortby','stable','text','then','to','treat','typeswitch','union','variable','version','where', 'xquery', 'empty-sequence']; for(var i=0, l=basic.length; i < l; i++) { kwObj[basic[i]] = kw(basic[i]);}; // a list of types. For each add a property to kwObj with the value of // {type: "atom", style: "atom"} var types = ['xs:string', 'xs:float', 'xs:decimal', 'xs:double', 'xs:integer', 'xs:boolean', 'xs:date', 'xs:dateTime', 'xs:time', 'xs:duration', 'xs:dayTimeDuration', 'xs:time', 'xs:yearMonthDuration', 'numeric', 'xs:hexBinary', 'xs:base64Binary', 'xs:anyURI', 'xs:QName', 'xs:byte','xs:boolean','xs:anyURI','xf:yearMonthDuration']; for(var i=0, l=types.length; i < l; i++) { kwObj[types[i]] = atom;}; // each operator will add a property to kwObj with value of {type: "operator", style: "keyword"} var operators = ['eq', 'ne', 'lt', 'le', 'gt', 'ge', ':=', '=', '>', '>=', '<', '<=', '.', '|', '?', 'and', 'or', 'div', 'idiv', 'mod', '*', '/', '+', '-']; for(var i=0, l=operators.length; i < l; i++) { kwObj[operators[i]] = operator;}; // each axis_specifiers will add a property to kwObj with value of {type: "axis_specifier", style: "qualifier"} var axis_specifiers = ["self::", "attribute::", "child::", "descendant::", "descendant-or-self::", "parent::", "ancestor::", "ancestor-or-self::", "following::", "preceding::", "following-sibling::", "preceding-sibling::"]; for(var i=0, l=axis_specifiers.length; i < l; i++) { kwObj[axis_specifiers[i]] = qualifier; }; return kwObj; }(); function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } // the primary mode tokenizer function tokenBase(stream, state) { var ch = stream.next(), mightBeFunction = false, isEQName = isEQNameAhead(stream); // an XML tag (if not in some sub, chained tokenizer) if (ch == "<") { if(stream.match("!--", true)) return chain(stream, state, tokenXMLComment); if(stream.match("![CDATA", false)) { state.tokenize = tokenCDATA; return "tag"; } if(stream.match("?", false)) { return chain(stream, state, tokenPreProcessing); } var isclose = stream.eat("/"); stream.eatSpace(); var tagName = "", c; while ((c = stream.eat(/[^\s\u00a0=<>\"\'\/?]/))) tagName += c; return chain(stream, state, tokenTag(tagName, isclose)); } // start code block else if(ch == "{") { pushStateStack(state,{ type: "codeblock"}); return null; } // end code block else if(ch == "}") { popStateStack(state); return null; } // if we're in an XML block else if(isInXmlBlock(state)) { if(ch == ">") return "tag"; else if(ch == "/" && stream.eat(">")) { popStateStack(state); return "tag"; } else return "variable"; } // if a number else if (/\d/.test(ch)) { stream.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/); return "atom"; } // comment start else if (ch === "(" && stream.eat(":")) { pushStateStack(state, { type: "comment"}); return chain(stream, state, tokenComment); } // quoted string else if ( !isEQName && (ch === '"' || ch === "'")) return chain(stream, state, tokenString(ch)); // variable else if(ch === "$") { return chain(stream, state, tokenVariable); } // assignment else if(ch ===":" && stream.eat("=")) { return "keyword"; } // open paren else if(ch === "(") { pushStateStack(state, { type: "paren"}); return null; } // close paren else if(ch === ")") { popStateStack(state); return null; } // open paren else if(ch === "[") { pushStateStack(state, { type: "bracket"}); return null; } // close paren else if(ch === "]") { popStateStack(state); return null; } else { var known = keywords.propertyIsEnumerable(ch) && keywords[ch]; // if there's a EQName ahead, consume the rest of the string portion, it's likely a function if(isEQName && ch === '\"') while(stream.next() !== '"'){} if(isEQName && ch === '\'') while(stream.next() !== '\''){} // gobble up a word if the character is not known if(!known) stream.eatWhile(/[\w\$_-]/); // gobble a colon in the case that is a lib func type call fn:doc var foundColon = stream.eat(":"); // if there's not a second colon, gobble another word. Otherwise, it's probably an axis specifier // which should get matched as a keyword if(!stream.eat(":") && foundColon) { stream.eatWhile(/[\w\$_-]/); } // if the next non whitespace character is an open paren, this is probably a function (if not a keyword of other sort) if(stream.match(/^[ \t]*\(/, false)) { mightBeFunction = true; } // is the word a keyword? var word = stream.current(); known = keywords.propertyIsEnumerable(word) && keywords[word]; // if we think it's a function call but not yet known, // set style to variable for now for lack of something better if(mightBeFunction && !known) known = {type: "function_call", style: "variable def"}; // if the previous word was element, attribute, axis specifier, this word should be the name of that if(isInXmlConstructor(state)) { popStateStack(state); return "variable"; } // as previously checked, if the word is element,attribute, axis specifier, call it an "xmlconstructor" and // push the stack so we know to look for it on the next word if(word == "element" || word == "attribute" || known.type == "axis_specifier") pushStateStack(state, {type: "xmlconstructor"}); // if the word is known, return the details of that else just call this a generic 'word' return known ? known.style : "variable"; } } // handle comments, including nested function tokenComment(stream, state) { var maybeEnd = false, maybeNested = false, nestedCount = 0, ch; while (ch = stream.next()) { if (ch == ")" && maybeEnd) { if(nestedCount > 0) nestedCount--; else { popStateStack(state); break; } } else if(ch == ":" && maybeNested) { nestedCount++; } maybeEnd = (ch == ":"); maybeNested = (ch == "("); } return "comment"; } // tokenizer for string literals // optionally pass a tokenizer function to set state.tokenize back to when finished function tokenString(quote, f) { return function(stream, state) { var ch; if(isInString(state) && stream.current() == quote) { popStateStack(state); if(f) state.tokenize = f; return "string"; } pushStateStack(state, { type: "string", name: quote, tokenize: tokenString(quote, f) }); // if we're in a string and in an XML block, allow an embedded code block if(stream.match("{", false) && isInXmlAttributeBlock(state)) { state.tokenize = tokenBase; return "string"; } while (ch = stream.next()) { if (ch == quote) { popStateStack(state); if(f) state.tokenize = f; break; } else { // if we're in a string and in an XML block, allow an embedded code block in an attribute if(stream.match("{", false) && isInXmlAttributeBlock(state)) { state.tokenize = tokenBase; return "string"; } } } return "string"; }; } // tokenizer for variables function tokenVariable(stream, state) { var isVariableChar = /[\w\$_-]/; // a variable may start with a quoted EQName so if the next character is quote, consume to the next quote if(stream.eat("\"")) { while(stream.next() !== '\"'){}; stream.eat(":"); } else { stream.eatWhile(isVariableChar); if(!stream.match(":=", false)) stream.eat(":"); } stream.eatWhile(isVariableChar); state.tokenize = tokenBase; return "variable"; } // tokenizer for XML tags function tokenTag(name, isclose) { return function(stream, state) { stream.eatSpace(); if(isclose && stream.eat(">")) { popStateStack(state); state.tokenize = tokenBase; return "tag"; } // self closing tag without attributes? if(!stream.eat("/")) pushStateStack(state, { type: "tag", name: name, tokenize: tokenBase}); if(!stream.eat(">")) { state.tokenize = tokenAttribute; return "tag"; } else { state.tokenize = tokenBase; } return "tag"; }; } // tokenizer for XML attributes function tokenAttribute(stream, state) { var ch = stream.next(); if(ch == "/" && stream.eat(">")) { if(isInXmlAttributeBlock(state)) popStateStack(state); if(isInXmlBlock(state)) popStateStack(state); return "tag"; } if(ch == ">") { if(isInXmlAttributeBlock(state)) popStateStack(state); return "tag"; } if(ch == "=") return null; // quoted string if (ch == '"' || ch == "'") return chain(stream, state, tokenString(ch, tokenAttribute)); if(!isInXmlAttributeBlock(state)) pushStateStack(state, { type: "attribute", tokenize: tokenAttribute}); stream.eat(/[a-zA-Z_:]/); stream.eatWhile(/[-a-zA-Z0-9_:.]/); stream.eatSpace(); // the case where the attribute has not value and the tag was closed if(stream.match(">", false) || stream.match("/", false)) { popStateStack(state); state.tokenize = tokenBase; } return "attribute"; } // handle comments, including nested function tokenXMLComment(stream, state) { var ch; while (ch = stream.next()) { if (ch == "-" && stream.match("->", true)) { state.tokenize = tokenBase; return "comment"; } } } // handle CDATA function tokenCDATA(stream, state) { var ch; while (ch = stream.next()) { if (ch == "]" && stream.match("]", true)) { state.tokenize = tokenBase; return "comment"; } } } // handle preprocessing instructions function tokenPreProcessing(stream, state) { var ch; while (ch = stream.next()) { if (ch == "?" && stream.match(">", true)) { state.tokenize = tokenBase; return "comment meta"; } } } // functions to test the current context of the state function isInXmlBlock(state) { return isIn(state, "tag"); } function isInXmlAttributeBlock(state) { return isIn(state, "attribute"); } function isInXmlConstructor(state) { return isIn(state, "xmlconstructor"); } function isInString(state) { return isIn(state, "string"); } function isEQNameAhead(stream) { // assume we've already eaten a quote (") if(stream.current() === '"') return stream.match(/^[^\"]+\"\:/, false); else if(stream.current() === '\'') return stream.match(/^[^\"]+\'\:/, false); else return false; } function isIn(state, type) { return (state.stack.length && state.stack[state.stack.length - 1].type == type); } function pushStateStack(state, newState) { state.stack.push(newState); } function popStateStack(state) { state.stack.pop(); var reinstateTokenize = state.stack.length && state.stack[state.stack.length-1].tokenize; state.tokenize = reinstateTokenize || tokenBase; } // the interface for the mode API return { startState: function() { return { tokenize: tokenBase, cc: [], stack: [] }; }, token: function(stream, state) { if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); return style; }, blockCommentStart: "(:", blockCommentEnd: ":)" }; }); CodeMirror.defineMIME("application/xquery", "xquery"); }); wp-file-manager/lib/codemirror/mode/yacas/index.html000064400000004200151202472330016446 0ustar00 CodeMirror: yacas mode

        yacas mode

        MIME types defined: text/x-yacas (yacas).

        wp-file-manager/lib/codemirror/mode/yacas/yacas.js000064400000012460151202472330016116 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE // Yacas mode copyright (c) 2015 by Grzegorz Mazur // Loosely based on mathematica mode by Calin Barbat (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('yacas', function(_config, _parserConfig) { function words(str) { var obj = {}, words = str.split(" "); for (var i = 0; i < words.length; ++i) obj[words[i]] = true; return obj; } var bodiedOps = words("Assert BackQuote D Defun Deriv For ForEach FromFile " + "FromString Function Integrate InverseTaylor Limit " + "LocalSymbols Macro MacroRule MacroRulePattern " + "NIntegrate Rule RulePattern Subst TD TExplicitSum " + "TSum Taylor Taylor1 Taylor2 Taylor3 ToFile " + "ToStdout ToString TraceRule Until While"); // patterns var pFloatForm = "(?:(?:\\.\\d+|\\d+\\.\\d*|\\d+)(?:[eE][+-]?\\d+)?)"; var pIdentifier = "(?:[a-zA-Z\\$'][a-zA-Z0-9\\$']*)"; // regular expressions var reFloatForm = new RegExp(pFloatForm); var reIdentifier = new RegExp(pIdentifier); var rePattern = new RegExp(pIdentifier + "?_" + pIdentifier); var reFunctionLike = new RegExp(pIdentifier + "\\s*\\("); function tokenBase(stream, state) { var ch; // get next character ch = stream.next(); // string if (ch === '"') { state.tokenize = tokenString; return state.tokenize(stream, state); } // comment if (ch === '/') { if (stream.eat('*')) { state.tokenize = tokenComment; return state.tokenize(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } // go back one character stream.backUp(1); // update scope info var m = stream.match(/^(\w+)\s*\(/, false); if (m !== null && bodiedOps.hasOwnProperty(m[1])) state.scopes.push('bodied'); var scope = currentScope(state); if (scope === 'bodied' && ch === '[') state.scopes.pop(); if (ch === '[' || ch === '{' || ch === '(') state.scopes.push(ch); scope = currentScope(state); if (scope === '[' && ch === ']' || scope === '{' && ch === '}' || scope === '(' && ch === ')') state.scopes.pop(); if (ch === ';') { while (scope === 'bodied') { state.scopes.pop(); scope = currentScope(state); } } // look for ordered rules if (stream.match(/\d+ *#/, true, false)) { return 'qualifier'; } // look for numbers if (stream.match(reFloatForm, true, false)) { return 'number'; } // look for placeholders if (stream.match(rePattern, true, false)) { return 'variable-3'; } // match all braces separately if (stream.match(/(?:\[|\]|{|}|\(|\))/, true, false)) { return 'bracket'; } // literals looking like function calls if (stream.match(reFunctionLike, true, false)) { stream.backUp(1); return 'variable'; } // all other identifiers if (stream.match(reIdentifier, true, false)) { return 'variable-2'; } // operators; note that operators like @@ or /; are matched separately for each symbol. if (stream.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/, true, false)) { return 'operator'; } // everything else is an error return 'error'; } function tokenString(stream, state) { var next, end = false, escaped = false; while ((next = stream.next()) != null) { if (next === '"' && !escaped) { end = true; break; } escaped = !escaped && next === '\\'; } if (end && !escaped) { state.tokenize = tokenBase; } return 'string'; }; function tokenComment(stream, state) { var prev, next; while((next = stream.next()) != null) { if (prev === '*' && next === '/') { state.tokenize = tokenBase; break; } prev = next; } return 'comment'; } function currentScope(state) { var scope = null; if (state.scopes.length > 0) scope = state.scopes[state.scopes.length - 1]; return scope; } return { startState: function() { return { tokenize: tokenBase, scopes: [] }; }, token: function(stream, state) { if (stream.eatSpace()) return null; return state.tokenize(stream, state); }, indent: function(state, textAfter) { if (state.tokenize !== tokenBase && state.tokenize !== null) return CodeMirror.Pass; var delta = 0; if (textAfter === ']' || textAfter === '];' || textAfter === '}' || textAfter === '};' || textAfter === ');') delta = -1; return (state.scopes.length + delta) * _config.indentUnit; }, electricChars: "{}[]();", blockCommentStart: "/*", blockCommentEnd: "*/", lineComment: "//" }; }); CodeMirror.defineMIME('text/x-yacas', { name: 'yacas' }); }); wp-file-manager/lib/codemirror/mode/yaml/index.html000064400000004062151202472330016316 0ustar00 CodeMirror: YAML mode

        YAML mode

        MIME types defined: text/x-yaml.

        wp-file-manager/lib/codemirror/mode/yaml/yaml.js000064400000007101151202472330015616 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("yaml", function() { var cons = ['true', 'false', 'on', 'off', 'yes', 'no']; var keywordRegex = new RegExp("\\b(("+cons.join(")|(")+"))$", 'i'); return { token: function(stream, state) { var ch = stream.peek(); var esc = state.escaped; state.escaped = false; /* comments */ if (ch == "#" && (stream.pos == 0 || /\s/.test(stream.string.charAt(stream.pos - 1)))) { stream.skipToEnd(); return "comment"; } if (stream.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/)) return "string"; if (state.literal && stream.indentation() > state.keyCol) { stream.skipToEnd(); return "string"; } else if (state.literal) { state.literal = false; } if (stream.sol()) { state.keyCol = 0; state.pair = false; state.pairStart = false; /* document start */ if(stream.match(/---/)) { return "def"; } /* document end */ if (stream.match(/\.\.\./)) { return "def"; } /* array list item */ if (stream.match(/\s*-\s+/)) { return 'meta'; } } /* inline pairs/lists */ if (stream.match(/^(\{|\}|\[|\])/)) { if (ch == '{') state.inlinePairs++; else if (ch == '}') state.inlinePairs--; else if (ch == '[') state.inlineList++; else state.inlineList--; return 'meta'; } /* list seperator */ if (state.inlineList > 0 && !esc && ch == ',') { stream.next(); return 'meta'; } /* pairs seperator */ if (state.inlinePairs > 0 && !esc && ch == ',') { state.keyCol = 0; state.pair = false; state.pairStart = false; stream.next(); return 'meta'; } /* start of value of a pair */ if (state.pairStart) { /* block literals */ if (stream.match(/^\s*(\||\>)\s*/)) { state.literal = true; return 'meta'; }; /* references */ if (stream.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i)) { return 'variable-2'; } /* numbers */ if (state.inlinePairs == 0 && stream.match(/^\s*-?[0-9\.\,]+\s?$/)) { return 'number'; } if (state.inlinePairs > 0 && stream.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/)) { return 'number'; } /* keywords */ if (stream.match(keywordRegex)) { return 'keyword'; } } /* pairs (associative arrays) -> key */ if (!state.pair && stream.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)) { state.pair = true; state.keyCol = stream.indentation(); return "atom"; } if (state.pair && stream.match(/^:\s*/)) { state.pairStart = true; return 'meta'; } /* nothing found, continue */ state.pairStart = false; state.escaped = (ch == '\\'); stream.next(); return null; }, startState: function() { return { pair: false, pairStart: false, keyCol: 0, inlinePairs: 0, inlineList: 0, literal: false, escaped: false }; } }; }); CodeMirror.defineMIME("text/x-yaml", "yaml"); }); wp-file-manager/lib/codemirror/mode/yaml-frontmatter/index.html000064400000006000151202472330020653 0ustar00 CodeMirror: YAML front matter mode

        YAML front matter mode

        Defines a mode that parses a YAML frontmatter at the start of a file, switching to a base mode at the end of that. Takes a mode configuration option base to configure the base mode, which defaults to "gfm".

        wp-file-manager/lib/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js000064400000004364151202472330022534 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function (mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../yaml/yaml")) else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../yaml/yaml"], mod) else // Plain browser env mod(CodeMirror) })(function (CodeMirror) { var START = 0, FRONTMATTER = 1, BODY = 2 // a mixed mode for Markdown text with an optional YAML front matter CodeMirror.defineMode("yaml-frontmatter", function (config, parserConfig) { var yamlMode = CodeMirror.getMode(config, "yaml") var innerMode = CodeMirror.getMode(config, parserConfig && parserConfig.base || "gfm") function curMode(state) { return state.state == BODY ? innerMode : yamlMode } return { startState: function () { return { state: START, inner: CodeMirror.startState(yamlMode) } }, copyState: function (state) { return { state: state.state, inner: CodeMirror.copyState(curMode(state), state.inner) } }, token: function (stream, state) { if (state.state == START) { if (stream.match(/---/, false)) { state.state = FRONTMATTER return yamlMode.token(stream, state.inner) } else { state.state = BODY state.inner = CodeMirror.startState(innerMode) return innerMode.token(stream, state.inner) } } else if (state.state == FRONTMATTER) { var end = stream.sol() && stream.match(/---/, false) var style = yamlMode.token(stream, state.inner) if (end) { state.state = BODY state.inner = CodeMirror.startState(innerMode) } return style } else { return innerMode.token(stream, state.inner) } }, innerMode: function (state) { return {mode: curMode(state), state: state.inner} }, blankLine: function (state) { var mode = curMode(state) if (mode.blankLine) return mode.blankLine(state.inner) } } }) }); wp-file-manager/lib/codemirror/mode/z80/index.html000064400000002576151202472330016005 0ustar00 CodeMirror: Z80 assembly mode

        Z80 assembly mode

        MIME types defined: text/x-z80, text/x-ez80.

        wp-file-manager/lib/codemirror/mode/z80/z80.js000064400000006771151202472330014770 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode('z80', function(_config, parserConfig) { var ez80 = parserConfig.ez80; var keywords1, keywords2; if (ez80) { keywords1 = /^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\.([sl]?i)?[sl])?\b/i; keywords2 = /^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i; } else { keywords1 = /^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i; keywords2 = /^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i; } var variables1 = /^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i; var variables2 = /^(n?[zc]|p[oe]?|m)\b/i; var errors = /^([hl][xy]|i[xy][hl]|slia|sll)\b/i; var numbers = /^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i; return { startState: function() { return { context: 0 }; }, token: function(stream, state) { if (!stream.column()) state.context = 0; if (stream.eatSpace()) return null; var w; if (stream.eatWhile(/\w/)) { if (ez80 && stream.eat('.')) { stream.eatWhile(/\w/); } w = stream.current(); if (stream.indentation()) { if ((state.context == 1 || state.context == 4) && variables1.test(w)) { state.context = 4; return 'var2'; } if (state.context == 2 && variables2.test(w)) { state.context = 4; return 'var3'; } if (keywords1.test(w)) { state.context = 1; return 'keyword'; } else if (keywords2.test(w)) { state.context = 2; return 'keyword'; } else if (state.context == 4 && numbers.test(w)) { return 'number'; } if (errors.test(w)) return 'error'; } else if (stream.match(numbers)) { return 'number'; } else { return null; } } else if (stream.eat(';')) { stream.skipToEnd(); return 'comment'; } else if (stream.eat('"')) { while (w = stream.next()) { if (w == '"') break; if (w == '\\') stream.next(); } return 'string'; } else if (stream.eat('\'')) { if (stream.match(/\\?.'/)) return 'number'; } else if (stream.eat('.') || stream.sol() && stream.eat('#')) { state.context = 5; if (stream.eatWhile(/\w/)) return 'def'; } else if (stream.eat('$')) { if (stream.eatWhile(/[\da-f]/i)) return 'number'; } else if (stream.eat('%')) { if (stream.eatWhile(/[01]/)) return 'number'; } else { stream.next(); } return null; } }; }); CodeMirror.defineMIME("text/x-z80", "z80"); CodeMirror.defineMIME("text/x-ez80", { name: "z80", ez80: true }); }); wp-file-manager/lib/codemirror/mode/index.html000064400000020011151202472330015344 0ustar00 CodeMirror: Language Modes

        Language modes

        This is a list of every mode in the distribution. Each mode lives in a subdirectory of the mode/ directory, and typically defines a single JavaScript file that implements the mode. Loading such file will make the language available to CodeMirror, through the mode option.

        wp-file-manager/lib/codemirror/mode/meta.js000064400000034327151202472330014652 0ustar00// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.modeInfo = [ {name: "APL", mime: "text/apl", mode: "apl", ext: ["dyalog", "apl"]}, {name: "PGP", mimes: ["application/pgp", "application/pgp-keys", "application/pgp-signature"], mode: "asciiarmor", ext: ["pgp"]}, {name: "ASN.1", mime: "text/x-ttcn-asn", mode: "asn.1", ext: ["asn", "asn1"]}, {name: "Asterisk", mime: "text/x-asterisk", mode: "asterisk", file: /^extensions\.conf$/i}, {name: "Brainfuck", mime: "text/x-brainfuck", mode: "brainfuck", ext: ["b", "bf"]}, {name: "C", mime: "text/x-csrc", mode: "clike", ext: ["c", "h"]}, {name: "C++", mime: "text/x-c++src", mode: "clike", ext: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"], alias: ["cpp"]}, {name: "Cobol", mime: "text/x-cobol", mode: "cobol", ext: ["cob", "cpy"]}, {name: "C#", mime: "text/x-csharp", mode: "clike", ext: ["cs"], alias: ["csharp"]}, {name: "Clojure", mime: "text/x-clojure", mode: "clojure", ext: ["clj", "cljc", "cljx"]}, {name: "ClojureScript", mime: "text/x-clojurescript", mode: "clojure", ext: ["cljs"]}, {name: "Closure Stylesheets (GSS)", mime: "text/x-gss", mode: "css", ext: ["gss"]}, {name: "CMake", mime: "text/x-cmake", mode: "cmake", ext: ["cmake", "cmake.in"], file: /^CMakeLists.txt$/}, {name: "CoffeeScript", mime: "text/x-coffeescript", mode: "coffeescript", ext: ["coffee"], alias: ["coffee", "coffee-script"]}, {name: "Common Lisp", mime: "text/x-common-lisp", mode: "commonlisp", ext: ["cl", "lisp", "el"], alias: ["lisp"]}, {name: "Cypher", mime: "application/x-cypher-query", mode: "cypher", ext: ["cyp", "cypher"]}, {name: "Cython", mime: "text/x-cython", mode: "python", ext: ["pyx", "pxd", "pxi"]}, {name: "Crystal", mime: "text/x-crystal", mode: "crystal", ext: ["cr"]}, {name: "CSS", mime: "text/css", mode: "css", ext: ["css"]}, {name: "CQL", mime: "text/x-cassandra", mode: "sql", ext: ["cql"]}, {name: "D", mime: "text/x-d", mode: "d", ext: ["d"]}, {name: "Dart", mimes: ["application/dart", "text/x-dart"], mode: "dart", ext: ["dart"]}, {name: "diff", mime: "text/x-diff", mode: "diff", ext: ["diff", "patch"]}, {name: "Django", mime: "text/x-django", mode: "django"}, {name: "Dockerfile", mime: "text/x-dockerfile", mode: "dockerfile", file: /^Dockerfile$/}, {name: "DTD", mime: "application/xml-dtd", mode: "dtd", ext: ["dtd"]}, {name: "Dylan", mime: "text/x-dylan", mode: "dylan", ext: ["dylan", "dyl", "intr"]}, {name: "EBNF", mime: "text/x-ebnf", mode: "ebnf"}, {name: "ECL", mime: "text/x-ecl", mode: "ecl", ext: ["ecl"]}, {name: "edn", mime: "application/edn", mode: "clojure", ext: ["edn"]}, {name: "Eiffel", mime: "text/x-eiffel", mode: "eiffel", ext: ["e"]}, {name: "Elm", mime: "text/x-elm", mode: "elm", ext: ["elm"]}, {name: "Embedded Javascript", mime: "application/x-ejs", mode: "htmlembedded", ext: ["ejs"]}, {name: "Embedded Ruby", mime: "application/x-erb", mode: "htmlembedded", ext: ["erb"]}, {name: "Erlang", mime: "text/x-erlang", mode: "erlang", ext: ["erl"]}, {name: "Factor", mime: "text/x-factor", mode: "factor", ext: ["factor"]}, {name: "FCL", mime: "text/x-fcl", mode: "fcl"}, {name: "Forth", mime: "text/x-forth", mode: "forth", ext: ["forth", "fth", "4th"]}, {name: "Fortran", mime: "text/x-fortran", mode: "fortran", ext: ["f", "for", "f77", "f90"]}, {name: "F#", mime: "text/x-fsharp", mode: "mllike", ext: ["fs"], alias: ["fsharp"]}, {name: "Gas", mime: "text/x-gas", mode: "gas", ext: ["s"]}, {name: "Gherkin", mime: "text/x-feature", mode: "gherkin", ext: ["feature"]}, {name: "GitHub Flavored Markdown", mime: "text/x-gfm", mode: "gfm", file: /^(readme|contributing|history).md$/i}, {name: "Go", mime: "text/x-go", mode: "go", ext: ["go"]}, {name: "Groovy", mime: "text/x-groovy", mode: "groovy", ext: ["groovy", "gradle"]}, {name: "HAML", mime: "text/x-haml", mode: "haml", ext: ["haml"]}, {name: "Haskell", mime: "text/x-haskell", mode: "haskell", ext: ["hs"]}, {name: "Haskell (Literate)", mime: "text/x-literate-haskell", mode: "haskell-literate", ext: ["lhs"]}, {name: "Haxe", mime: "text/x-haxe", mode: "haxe", ext: ["hx"]}, {name: "HXML", mime: "text/x-hxml", mode: "haxe", ext: ["hxml"]}, {name: "ASP.NET", mime: "application/x-aspx", mode: "htmlembedded", ext: ["aspx"], alias: ["asp", "aspx"]}, {name: "HTML", mime: "text/html", mode: "htmlmixed", ext: ["html", "htm"], alias: ["xhtml"]}, {name: "HTTP", mime: "message/http", mode: "http"}, {name: "IDL", mime: "text/x-idl", mode: "idl", ext: ["pro"]}, {name: "Pug", mime: "text/x-pug", mode: "pug", ext: ["jade", "pug"], alias: ["jade"]}, {name: "Java", mime: "text/x-java", mode: "clike", ext: ["java"]}, {name: "Java Server Pages", mime: "application/x-jsp", mode: "htmlembedded", ext: ["jsp"], alias: ["jsp"]}, {name: "JavaScript", mimes: ["text/javascript", "text/ecmascript", "application/javascript", "application/x-javascript", "application/ecmascript"], mode: "javascript", ext: ["js"], alias: ["ecmascript", "js", "node"]}, {name: "JSON", mimes: ["application/json", "application/x-json"], mode: "javascript", ext: ["json", "map"], alias: ["json5"]}, {name: "JSON-LD", mime: "application/ld+json", mode: "javascript", ext: ["jsonld"], alias: ["jsonld"]}, {name: "JSX", mime: "text/jsx", mode: "jsx", ext: ["jsx"]}, {name: "Jinja2", mime: "null", mode: "jinja2"}, {name: "Julia", mime: "text/x-julia", mode: "julia", ext: ["jl"]}, {name: "Kotlin", mime: "text/x-kotlin", mode: "clike", ext: ["kt"]}, {name: "LESS", mime: "text/x-less", mode: "css", ext: ["less"]}, {name: "LiveScript", mime: "text/x-livescript", mode: "livescript", ext: ["ls"], alias: ["ls"]}, {name: "Lua", mime: "text/x-lua", mode: "lua", ext: ["lua"]}, {name: "Markdown", mime: "text/x-markdown", mode: "markdown", ext: ["markdown", "md", "mkd"]}, {name: "mIRC", mime: "text/mirc", mode: "mirc"}, {name: "MariaDB SQL", mime: "text/x-mariadb", mode: "sql"}, {name: "Mathematica", mime: "text/x-mathematica", mode: "mathematica", ext: ["m", "nb"]}, {name: "Modelica", mime: "text/x-modelica", mode: "modelica", ext: ["mo"]}, {name: "MUMPS", mime: "text/x-mumps", mode: "mumps", ext: ["mps"]}, {name: "MS SQL", mime: "text/x-mssql", mode: "sql"}, {name: "mbox", mime: "application/mbox", mode: "mbox", ext: ["mbox"]}, {name: "MySQL", mime: "text/x-mysql", mode: "sql"}, {name: "Nginx", mime: "text/x-nginx-conf", mode: "nginx", file: /nginx.*\.conf$/i}, {name: "NSIS", mime: "text/x-nsis", mode: "nsis", ext: ["nsh", "nsi"]}, {name: "NTriples", mime: "text/n-triples", mode: "ntriples", ext: ["nt"]}, {name: "Objective C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"], alias: ["objective-c", "objc"]}, {name: "OCaml", mime: "text/x-ocaml", mode: "mllike", ext: ["ml", "mli", "mll", "mly"]}, {name: "Octave", mime: "text/x-octave", mode: "octave", ext: ["m"]}, {name: "Oz", mime: "text/x-oz", mode: "oz", ext: ["oz"]}, {name: "Pascal", mime: "text/x-pascal", mode: "pascal", ext: ["p", "pas"]}, {name: "PEG.js", mime: "null", mode: "pegjs", ext: ["jsonld"]}, {name: "Perl", mime: "text/x-perl", mode: "perl", ext: ["pl", "pm"]}, {name: "PHP", mime: "application/x-httpd-php", mode: "php", ext: ["php", "php3", "php4", "php5", "phtml"]}, {name: "Pig", mime: "text/x-pig", mode: "pig", ext: ["pig"]}, {name: "Plain Text", mime: "text/plain", mode: "null", ext: ["txt", "text", "conf", "def", "list", "log"]}, {name: "PLSQL", mime: "text/x-plsql", mode: "sql", ext: ["pls"]}, {name: "PowerShell", mime: "application/x-powershell", mode: "powershell", ext: ["ps1", "psd1", "psm1"]}, {name: "Properties files", mime: "text/x-properties", mode: "properties", ext: ["properties", "ini", "in"], alias: ["ini", "properties"]}, {name: "ProtoBuf", mime: "text/x-protobuf", mode: "protobuf", ext: ["proto"]}, {name: "Python", mime: "text/x-python", mode: "python", ext: ["BUILD", "bzl", "py", "pyw"], file: /^(BUCK|BUILD)$/}, {name: "Puppet", mime: "text/x-puppet", mode: "puppet", ext: ["pp"]}, {name: "Q", mime: "text/x-q", mode: "q", ext: ["q"]}, {name: "R", mime: "text/x-rsrc", mode: "r", ext: ["r"], alias: ["rscript"]}, {name: "reStructuredText", mime: "text/x-rst", mode: "rst", ext: ["rst"], alias: ["rst"]}, {name: "RPM Changes", mime: "text/x-rpm-changes", mode: "rpm"}, {name: "RPM Spec", mime: "text/x-rpm-spec", mode: "rpm", ext: ["spec"]}, {name: "Ruby", mime: "text/x-ruby", mode: "ruby", ext: ["rb"], alias: ["jruby", "macruby", "rake", "rb", "rbx"]}, {name: "Rust", mime: "text/x-rustsrc", mode: "rust", ext: ["rs"]}, {name: "SAS", mime: "text/x-sas", mode: "sas", ext: ["sas"]}, {name: "Sass", mime: "text/x-sass", mode: "sass", ext: ["sass"]}, {name: "Scala", mime: "text/x-scala", mode: "clike", ext: ["scala"]}, {name: "Scheme", mime: "text/x-scheme", mode: "scheme", ext: ["scm", "ss"]}, {name: "SCSS", mime: "text/x-scss", mode: "css", ext: ["scss"]}, {name: "Shell", mime: "text/x-sh", mode: "shell", ext: ["sh", "ksh", "bash"], alias: ["bash", "sh", "zsh"], file: /^PKGBUILD$/}, {name: "Sieve", mime: "application/sieve", mode: "sieve", ext: ["siv", "sieve"]}, {name: "Slim", mimes: ["text/x-slim", "application/x-slim"], mode: "slim", ext: ["slim"]}, {name: "Smalltalk", mime: "text/x-stsrc", mode: "smalltalk", ext: ["st"]}, {name: "Smarty", mime: "text/x-smarty", mode: "smarty", ext: ["tpl"]}, {name: "Solr", mime: "text/x-solr", mode: "solr"}, {name: "Soy", mime: "text/x-soy", mode: "soy", ext: ["soy"], alias: ["closure template"]}, {name: "SPARQL", mime: "application/sparql-query", mode: "sparql", ext: ["rq", "sparql"], alias: ["sparul"]}, {name: "Spreadsheet", mime: "text/x-spreadsheet", mode: "spreadsheet", alias: ["excel", "formula"]}, {name: "SQL", mime: "text/x-sql", mode: "sql", ext: ["sql"]}, {name: "Squirrel", mime: "text/x-squirrel", mode: "clike", ext: ["nut"]}, {name: "Swift", mime: "text/x-swift", mode: "swift", ext: ["swift"]}, {name: "sTeX", mime: "text/x-stex", mode: "stex"}, {name: "LaTeX", mime: "text/x-latex", mode: "stex", ext: ["text", "ltx"], alias: ["tex"]}, {name: "SystemVerilog", mime: "text/x-systemverilog", mode: "verilog", ext: ["v"]}, {name: "Tcl", mime: "text/x-tcl", mode: "tcl", ext: ["tcl"]}, {name: "Textile", mime: "text/x-textile", mode: "textile", ext: ["textile"]}, {name: "TiddlyWiki ", mime: "text/x-tiddlywiki", mode: "tiddlywiki"}, {name: "Tiki wiki", mime: "text/tiki", mode: "tiki"}, {name: "TOML", mime: "text/x-toml", mode: "toml", ext: ["toml"]}, {name: "Tornado", mime: "text/x-tornado", mode: "tornado"}, {name: "troff", mime: "text/troff", mode: "troff", ext: ["1", "2", "3", "4", "5", "6", "7", "8", "9"]}, {name: "TTCN", mime: "text/x-ttcn", mode: "ttcn", ext: ["ttcn", "ttcn3", "ttcnpp"]}, {name: "TTCN_CFG", mime: "text/x-ttcn-cfg", mode: "ttcn-cfg", ext: ["cfg"]}, {name: "Turtle", mime: "text/turtle", mode: "turtle", ext: ["ttl"]}, {name: "TypeScript", mime: "application/typescript", mode: "javascript", ext: ["ts"], alias: ["ts"]}, {name: "Twig", mime: "text/x-twig", mode: "twig"}, {name: "Web IDL", mime: "text/x-webidl", mode: "webidl", ext: ["webidl"]}, {name: "VB.NET", mime: "text/x-vb", mode: "vb", ext: ["vb"]}, {name: "VBScript", mime: "text/vbscript", mode: "vbscript", ext: ["vbs"]}, {name: "Velocity", mime: "text/velocity", mode: "velocity", ext: ["vtl"]}, {name: "Verilog", mime: "text/x-verilog", mode: "verilog", ext: ["v"]}, {name: "VHDL", mime: "text/x-vhdl", mode: "vhdl", ext: ["vhd", "vhdl"]}, {name: "XML", mimes: ["application/xml", "text/xml"], mode: "xml", ext: ["xml", "xsl", "xsd"], alias: ["rss", "wsdl", "xsd"]}, {name: "XQuery", mime: "application/xquery", mode: "xquery", ext: ["xy", "xquery"]}, {name: "Yacas", mime: "text/x-yacas", mode: "yacas", ext: ["ys"]}, {name: "YAML", mime: "text/x-yaml", mode: "yaml", ext: ["yaml", "yml"], alias: ["yml"]}, {name: "Z80", mime: "text/x-z80", mode: "z80", ext: ["z80"]}, {name: "mscgen", mime: "text/x-mscgen", mode: "mscgen", ext: ["mscgen", "mscin", "msc"]}, {name: "xu", mime: "text/x-xu", mode: "mscgen", ext: ["xu"]}, {name: "msgenny", mime: "text/x-msgenny", mode: "mscgen", ext: ["msgenny"]} ]; // Ensure all modes have a mime property for backwards compatibility for (var i = 0; i < CodeMirror.modeInfo.length; i++) { var info = CodeMirror.modeInfo[i]; if (info.mimes) info.mime = info.mimes[0]; } CodeMirror.findModeByMIME = function(mime) { mime = mime.toLowerCase(); for (var i = 0; i < CodeMirror.modeInfo.length; i++) { var info = CodeMirror.modeInfo[i]; if (info.mime == mime) return info; if (info.mimes) for (var j = 0; j < info.mimes.length; j++) if (info.mimes[j] == mime) return info; } }; CodeMirror.findModeByExtension = function(ext) { for (var i = 0; i < CodeMirror.modeInfo.length; i++) { var info = CodeMirror.modeInfo[i]; if (info.ext) for (var j = 0; j < info.ext.length; j++) if (info.ext[j] == ext) return info; } }; CodeMirror.findModeByFileName = function(filename) { for (var i = 0; i < CodeMirror.modeInfo.length; i++) { var info = CodeMirror.modeInfo[i]; if (info.file && info.file.test(filename)) return info; } var dot = filename.lastIndexOf("."); var ext = dot > -1 && filename.substring(dot + 1, filename.length); if (ext) return CodeMirror.findModeByExtension(ext); }; CodeMirror.findModeByName = function(name) { name = name.toLowerCase(); for (var i = 0; i < CodeMirror.modeInfo.length; i++) { var info = CodeMirror.modeInfo[i]; if (info.name.toLowerCase() == name) return info; if (info.alias) for (var j = 0; j < info.alias.length; j++) if (info.alias[j].toLowerCase() == name) return info; } }; }); wp-file-manager/lib/codemirror/theme/3024-day.css000064400000003703151202472330015413 0ustar00/* Name: 3024 day Author: Jan T. Sott (http://github.com/idleberg) CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ .cm-s-3024-day.CodeMirror { background: #f7f7f7; color: #3a3432; } .cm-s-3024-day div.CodeMirror-selected { background: #d6d5d4; } .cm-s-3024-day .CodeMirror-line::selection, .cm-s-3024-day .CodeMirror-line > span::selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d6d5d4; } .cm-s-3024-day .CodeMirror-line::-moz-selection, .cm-s-3024-day .CodeMirror-line > span::-moz-selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d9d9d9; } .cm-s-3024-day .CodeMirror-gutters { background: #f7f7f7; border-right: 0px; } .cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; } .cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; } .cm-s-3024-day .CodeMirror-linenumber { color: #807d7c; } .cm-s-3024-day .CodeMirror-cursor { border-left: 1px solid #5c5855; } .cm-s-3024-day span.cm-comment { color: #cdab53; } .cm-s-3024-day span.cm-atom { color: #a16a94; } .cm-s-3024-day span.cm-number { color: #a16a94; } .cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute { color: #01a252; } .cm-s-3024-day span.cm-keyword { color: #db2d20; } .cm-s-3024-day span.cm-string { color: #fded02; } .cm-s-3024-day span.cm-variable { color: #01a252; } .cm-s-3024-day span.cm-variable-2 { color: #01a0e4; } .cm-s-3024-day span.cm-def { color: #e8bbd0; } .cm-s-3024-day span.cm-bracket { color: #3a3432; } .cm-s-3024-day span.cm-tag { color: #db2d20; } .cm-s-3024-day span.cm-link { color: #a16a94; } .cm-s-3024-day span.cm-error { background: #db2d20; color: #5c5855; } .cm-s-3024-day .CodeMirror-activeline-background { background: #e8f2ff; } .cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important; } wp-file-manager/lib/css/commands.css000064400000046265151202472330013404 0ustar00/******************************************************************/ /* COMMANDS STYLES */ /******************************************************************/ /********************** COMMAND "RESIZE" ****************************/ .elfinder-resize-container { margin-top: .3em; } .elfinder-resize-type { float: left; margin-bottom: .4em; } .elfinder-resize-control { float: left; } .elfinder-resize-control input[type=number] { border: 1px solid #aaa; text-align: right; width: 4.5em; } .elfinder-mobile .elfinder-resize-control input[type=number] { width: 3.5em; } .elfinder-resize-control input.elfinder-resize-bg { text-align: center; width: 5em; direction: ltr; } .elfinder-dialog-resize .elfinder-resize-control-panel { margin-top: 10px; } .elfinder-dialog-resize .elfinder-resize-imgrotate, .elfinder-dialog-resize .elfinder-resize-pallet { cursor: pointer; } .elfinder-dialog-resize .elfinder-resize-picking { cursor: crosshair; } .elfinder-dialog-resize .elfinder-resize-grid8 + button { padding-top: 2px; padding-bottom: 2px; } .elfinder-resize-preview { width: 400px; height: 400px; padding: 10px; background: #fff; border: 1px solid #aaa; float: right; position: relative; overflow: hidden; text-align: left; direction: ltr; } .elfinder-resize-handle { position: relative; } .elfinder-resize-handle-hline, .elfinder-resize-handle-vline { position: absolute; background-image: url("../img/crop.gif"); } .elfinder-resize-handle-hline { width: 100%; height: 1px !important; background-repeat: repeat-x; } .elfinder-resize-handle-vline { width: 1px !important; height: 100%; background-repeat: repeat-y; } .elfinder-resize-handle-hline-top { top: 0; left: 0; } .elfinder-resize-handle-hline-bottom { bottom: 0; left: 0; } .elfinder-resize-handle-vline-left { top: 0; left: 0; } .elfinder-resize-handle-vline-right { top: 0; right: 0; } .elfinder-resize-handle-point { position: absolute; width: 8px; height: 8px; border: 1px solid #777; background: transparent; } .elfinder-resize-handle-point-n { top: 0; left: 50%; margin-top: -5px; margin-left: -5px; } .elfinder-resize-handle-point-ne { top: 0; right: 0; margin-top: -5px; margin-right: -5px; } .elfinder-resize-handle-point-e { top: 50%; right: 0; margin-top: -5px; margin-right: -5px; } .elfinder-resize-handle-point-se { bottom: 0; right: 0; margin-bottom: -5px; margin-right: -5px; } .elfinder-resize-handle-point-s { bottom: 0; left: 50%; margin-bottom: -5px; margin-left: -5px; } .elfinder-resize-handle-point-sw { bottom: 0; left: 0; margin-bottom: -5px; margin-left: -5px; } .elfinder-resize-handle-point-w { top: 50%; left: 0; margin-top: -5px; margin-left: -5px; } .elfinder-resize-handle-point-nw { top: 0; left: 0; margin-top: -5px; margin-left: -5px; } .elfinder-dialog.elfinder-dialog-resize .ui-resizable-e { width: 10px; height: 100%; } .elfinder-dialog.elfinder-dialog-resize .ui-resizable-s { width: 100%; height: 10px; } .elfinder-resize-loading { position: absolute; width: 200px; height: 30px; top: 50%; margin-top: -25px; left: 50%; margin-left: -100px; text-align: center; background: url(../img/progress.gif) center bottom repeat-x; } .elfinder-resize-row { margin-bottom: 9px; position: relative; } .elfinder-resize-label { float: left; width: 80px; padding-top: 3px; } .elfinder-resize-checkbox-label { border: 1px solid transparent; } .elfinder-dialog-resize .elfinder-resize-whctrls { margin: -20px 5px 0 5px; } .elfinder-ltr .elfinder-dialog-resize .elfinder-resize-whctrls { float: right; } .elfinder-rtl .elfinder-dialog-resize .elfinder-resize-whctrls { float: left; } .elfinder-dialog-resize .ui-resizable-e, .elfinder-dialog-resize .ui-resizable-w { height: 100%; width: 10px; } .elfinder-dialog-resize .ui-resizable-s, .elfinder-dialog-resize .ui-resizable-n { width: 100%; height: 10px; } .elfinder-dialog-resize .ui-resizable-e { margin-right: -7px; } .elfinder-dialog-resize .ui-resizable-w { margin-left: -7px; } .elfinder-dialog-resize .ui-resizable-s { margin-bottom: -7px; } .elfinder-dialog-resize .ui-resizable-n { margin-top: -7px; } .elfinder-dialog-resize .ui-resizable-se, .elfinder-dialog-resize .ui-resizable-sw, .elfinder-dialog-resize .ui-resizable-ne, .elfinder-dialog-resize .ui-resizable-nw { width: 10px; height: 10px; } .elfinder-dialog-resize .ui-resizable-se { background: transparent; bottom: 0; right: 0; margin-right: -7px; margin-bottom: -7px; } .elfinder-dialog-resize .ui-resizable-sw { margin-left: -7px; margin-bottom: -7px; } .elfinder-dialog-resize .ui-resizable-ne { margin-right: -7px; margin-top: -7px; } .elfinder-dialog-resize .ui-resizable-nw { margin-left: -7px; margin-top: -7px; } .elfinder-touch .elfinder-dialog-resize .ui-resizable-s, .elfinder-touch .elfinder-dialog-resize .ui-resizable-n { height: 20px; } .elfinder-touch .elfinder-dialog-resize .ui-resizable-e, .elfinder-touch .elfinder-dialog-resize .ui-resizable-w { width: 20px; } .elfinder-touch .elfinder-dialog-resize .ui-resizable-se, .elfinder-touch .elfinder-dialog-resize .ui-resizable-sw, .elfinder-touch .elfinder-dialog-resize .ui-resizable-ne, .elfinder-touch .elfinder-dialog-resize .ui-resizable-nw { width: 30px; height: 30px; } .elfinder-touch .elfinder-dialog-resize .elfinder-resize-preview .ui-resizable-se { width: 30px; height: 30px; margin: 0; } .elfinder-dialog-resize .ui-icon-grip-solid-vertical { position: absolute; top: 50%; right: 0; margin-top: -8px; margin-right: -11px; } .elfinder-dialog-resize .ui-icon-grip-solid-horizontal { position: absolute; left: 50%; bottom: 0; margin-left: -8px; margin-bottom: -11px;; } .elfinder-dialog-resize .elfinder-resize-row .ui-buttonset { float: right; } .elfinder-dialog-resize .elfinder-resize-degree input, .elfinder-dialog-resize input.elfinder-resize-quality { width: 3.5em; } .elfinder-mobile .elfinder-dialog-resize .elfinder-resize-degree input, .elfinder-mobile .elfinder-dialog-resize input.elfinder-resize-quality { width: 2.5em; } .elfinder-dialog-resize .elfinder-resize-degree button.ui-button { padding: 6px 8px; } .elfinder-dialog-resize button.ui-button span { padding: 0; } .elfinder-dialog-resize .elfinder-resize-jpgsize { font-size: 90%; } .ui-widget-content .elfinder-resize-container .elfinder-resize-rotate-slider { width: 195px; margin: 10px 7px; background-color: #fafafa; } .elfinder-dialog-resize .elfinder-resize-type span.ui-checkboxradio-icon { display: none; } .elfinder-resize-preset-container { box-sizing: border-box; border-radius: 5px; } /********************** COMMAND "EDIT" ****************************/ /* edit text file textarea */ .elfinder-file-edit { width: 100%; height: 100%; margin: 0; padding: 2px; border: 1px solid #ccc; box-sizing: border-box; resize: none; } .elfinder-touch .elfinder-file-edit { font-size: 16px; } /* edit area */ .elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor { background-color: #fff; } .elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor .elfinder-edit-imageeditor { width: 100%; height: 300px; max-height: 100%; text-align: center; } .elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor .elfinder-edit-imageeditor * { -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; user-select: none; } .elfinder-edit-imageeditor .tui-image-editor-main-container .tui-image-editor-main { top: 0; } .elfinder-edit-imageeditor .tui-image-editor-main-container .tui-image-editor-header { display: none; } .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-crop .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-flip .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-rotate .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-draw .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-shape .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-icon .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-text .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-mask .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-filter .tui-image-editor-wrap { height: calc(100% - 150px); } /* bottom margen for softkeyboard on fullscreen mode */ .elfinder-touch.elfinder-fullscreen-native textarea.elfinder-file-edit { padding-bottom: 20em; margin-bottom: -20em; } .elfinder-dialog-edit .ui-dialog-buttonpane .elfinder-dialog-confirm-encoding { font-size: 12px; } .ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras { margin: 0 1em 0 .2em; float: left; } .ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras-quality { padding-top: 6px; } .ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras select { font-size: 12px; margin-top: 1px; min-height: 28px; } .elfinder-dialog-edit .ui-dialog-buttonpane .ui-icon { cursor: pointer; } .elfinder-edit-spinner { position: absolute; top: 50%; text-align: center; width: 100%; font-size: 16pt; } .elfinder-dialog-edit .elfinder-edit-spinner .elfinder-spinner, .elfinder-dialog-edit .elfinder-edit-spinner .elfinder-spinner-text { float: none; } .elfinder-dialog-edit .elfinder-toast > div { width: 280px; } .elfinder-edit-onlineconvert-button { display: inline-block; width: 180px; min-height: 30px; vertical-align: top; } .elfinder-edit-onlineconvert-button button, .elfinder-edit-onlineconvert-bottom-btn button { cursor: pointer; } .elfinder-edit-onlineconvert-bottom-btn button.elfinder-button-ios-multiline { -webkit-appearance: none; border-radius: 16px; color: #000; text-align: center; padding: 8px; background-color: #eee; background-image: -webkit-linear-gradient(top, hsl(0,0%,98%) 0%,hsl(0,0%,77%) 100%); background-image: linear-gradient(to bottom, hsl(0,0%,98%) 0%,hsl(0,0%,77%) 100%); } .elfinder-edit-onlineconvert-button .elfinder-button-icon { margin: 0 10px; vertical-align: middle; cursor: pointer; } .elfinder-edit-onlineconvert-bottom-btn { text-align: center; margin: 10px 0 0; } .elfinder-edit-onlineconvert-link { margin-top: 1em; text-align: center; } .elfinder-edit-onlineconvert-link .elfinder-button-icon { background-image: url("../img/editor-icons.png"); background-repeat: no-repeat; background-position: 0 -144px; margin-bottom: -3px; } .elfinder-edit-onlineconvert-link a { text-decoration: none; } /********************** COMMAND "SORT" ****************************/ /* for list table header sort triangle icon */ div.elfinder-cwd-wrapper-list tr.ui-state-default td { position: relative; } div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { position: absolute; top: 4px; left: 0; right: 0; margin: auto 0px auto auto; } .elfinder-touch div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { top: 7px; } .elfinder-rtl div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { margin-right: 5px; } /********************** COMMAND "HELP" ****************************/ /* help dialog */ .elfinder-help { margin-bottom: .5em; -webkit-overflow-scrolling: touch; } /* fix tabs */ .elfinder-help .ui-tabs-panel { padding: .5em; overflow: auto; padding: 10px; } .elfinder-dialog .ui-tabs .ui-tabs-nav li { overflow: hidden; } .elfinder-dialog .ui-tabs .ui-tabs-nav li a { padding: .2em .8em; display: inline-block; } .elfinder-touch .elfinder-dialog .ui-tabs .ui-tabs-nav li a { padding: .5em .5em; } .elfinder-dialog .ui-tabs-active a { background: inherit; } .elfinder-help-shortcuts { height: auto; padding: 10px; margin: 0; box-sizing: border-box; } .elfinder-help-shortcut { white-space: nowrap; clear: both; } .elfinder-help-shortcut-pattern { float: left; width: 160px; } .elfinder-help-logo { width: 100px; height: 96px; float: left; margin-right: 1em; background: url('../img/logo.png') center center no-repeat; } .elfinder-help h3 { font-size: 1.5em; margin: .2em 0 .3em 0; } .elfinder-help-separator { clear: both; padding: .5em; } .elfinder-help-link { display: inline-block; margin-right: 12px; padding: 2px 0; white-space: nowrap; } .elfinder-rtl .elfinder-help-link { margin-right: 0; margin-left: 12px; } .elfinder-help .ui-priority-secondary { font-size: .9em; } .elfinder-help .ui-priority-primary { margin-bottom: 7px; } .elfinder-help-team { clear: both; text-align: right; border-bottom: 1px solid #ccc; margin: .5em 0; font-size: .9em; } .elfinder-help-team div { float: left; } .elfinder-help-license { font-size: .9em; } .elfinder-help-disabled { font-weight: bold; text-align: center; margin: 90px 0; } .elfinder-help .elfinder-dont-panic { display: block; border: 1px solid transparent; width: 200px; height: 200px; margin: 30px auto; text-decoration: none; text-align: center; position: relative; background: #d90004; -moz-box-shadow: 5px 5px 9px #111; -webkit-box-shadow: 5px 5px 9px #111; box-shadow: 5px 5px 9px #111; background: -moz-radial-gradient(80px 80px, circle farthest-corner, #d90004 35%, #960004 100%); background: -webkit-gradient(radial, 80 80, 60, 80 80, 120, from(#d90004), to(#960004)); -moz-border-radius: 100px; -webkit-border-radius: 100px; border-radius: 100px; outline: none; } .elfinder-help .elfinder-dont-panic span { font-size: 3em; font-weight: bold; text-align: center; color: #fff; position: absolute; left: 0; top: 45px; } ul.elfinder-help-integrations ul { margin-bottom: 1em; padding: 0; margin: 0 1em 1em; } ul.elfinder-help-integrations a { text-decoration: none; } ul.elfinder-help-integrations a:hover { text-decoration: underline; } .elfinder-help-debug { height: 100%; padding: 0; margin: 0; overflow: none; border: none; } .elfinder-help-debug .ui-tabs-panel { padding: 0; margin: 0; overflow: auto; } .elfinder-help-debug fieldset { margin-bottom: 10px; border-color: #778899; border-radius: 10px; } .elfinder-help-debug legend { font-size: 1.2em; font-weight: bold; color: #2e8b57; } .elfinder-help-debug dl { margin: 0; } .elfinder-help-debug dt { color: #778899; } .elfinder-help-debug dt:before { content: "["; } .elfinder-help-debug dt:after { content: "]"; } .elfinder-help-debug dd { margin-left: 1em; } .elfinder-help-debug dd span { /*font-size: 1.2em;*/ } /********************** COMMAND "PREFERENCE" ****************************/ .elfinder-dialog .elfinder-preference .ui-tabs-nav { margin-bottom: 1px; height: auto; } /* fix tabs */ .elfinder-preference .ui-tabs-panel { padding: 10px 10px 0; overflow: auto; box-sizing: border-box; -webkit-overflow-scrolling: touch; } .elfinder-preference a.ui-state-hover, .elfinder-preference label.ui-state-hover { border: none; } .elfinder-preference dl { width: 100%; display: inline-block; margin: .5em 0; } .elfinder-preference dt { display: block; width: 200px; clear: left; float: left; max-width: 50%; } .elfinder-rtl .elfinder-preference dt { clear: right; float: right; } .elfinder-preference dd { margin-bottom: 1em; } .elfinder-preference dt label { cursor: pointer; } .elfinder-preference dd label, .elfinder-preference dd input[type=checkbox] { white-space: nowrap; display: inline-block; cursor: pointer; } .elfinder-preference dt.elfinder-preference-checkboxes { width: 100%; max-width: none; } .elfinder-preference dd.elfinder-preference-checkboxes { padding-top: 3ex; } .elfinder-preference select { max-width: 100%; } .elfinder-preference dd.elfinder-preference-iconSize .ui-slider { width: 50%; max-width: 100px; display: inline-block; margin: 0 10px; } .elfinder-preference button { margin: 0 16px; } .elfinder-preference button + button { margin: 0 -10px; } .elfinder-preference .elfinder-preference-taball .elfinder-reference-hide-taball { display: none; } .elfinder-preference-theme fieldset { margin-bottom: 10px; } .elfinder-preference-theme legend a { font-size: 1.8em; text-decoration: none; cursor: pointer; } .elfinder-preference-theme dt { width: 20%; word-break: break-all; } .elfinder-preference-theme dt:after { content: " :"; } .elfinder-preference-theme dd { margin-inline-start: 20%; } .elfinder-preference img.elfinder-preference-theme-image { display: block; margin-left: auto; margin-right: auto; max-width: 90%; max-height: 200px; cursor: pointer; } .elfinder-preference-theme-btn { text-align: center; } .elfinder-preference-theme button.elfinder-preference-theme-default { display: inline; margin: 0 10px; font-size: 8pt; } /********************** COMMAND "INFO" ****************************/ .elfinder-rtl .elfinder-info-title .elfinder-cwd-icon:before { right: 33px; left: auto; } .elfinder-info-title .elfinder-cwd-icon.elfinder-cwd-bgurl:after { content: none; } /********************** COMMAND "UPLOAD" ****************************/ .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { position: absolute; bottom: 2px; width: 16px; height: 16px; padding: 10px; border: none; overflow: hidden; cursor: pointer; } .elfinder-ltr .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { left: 2px; } .elfinder-rtl .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { right: 2px; } /********************** COMMAND "RM" ****************************/ .elfinder-ltr .elfinder-rm-title .elfinder-cwd-icon:before { left: 38px; } .elfinder-rtl .elfinder-rm-title .elfinder-cwd-icon:before { right: 86px; left: auto; } .elfinder-rm-title .elfinder-cwd-icon.elfinder-cwd-bgurl:after { content: none; } /********************** COMMAND "RENAME" ****************************/ .elfinder-rename-batch div { margin: 5px 8px; } .elfinder-rename-batch .elfinder-rename-batch-name input { width: 100%; font-size: 1.6em; } .elfinder-rename-batch-type { text-align: center; } .elfinder-rename-batch .elfinder-rename-batch-type label { margin: 2px; font-size: .9em; } .elfinder-rename-batch-preview { padding: 0 8px; font-size: 1.1em; min-height: 4ex; } .CodeMirror { background: inherit !important; } wp-file-manager/lib/css/common.css000064400000015356151202472330013070 0ustar00/*********************************************/ /* COMMON ELFINDER STUFFS */ /*********************************************/ /* for old jQuery UI */ @font-face { font-family: 'Noto Sans'; src: url('./../fonts/notosans/NotoSans-Regular.eot'); src: url('./../fonts/notosans/NotoSans-Regular.eot?#iefix') format('embedded-opentype'), url('./../fonts/notosans/NotoSans-Regular.woff2') format('woff2'), url('./../fonts/notosans/NotoSans-Regular.woff') format('woff'), url('./../fonts/notosans/NotoSans-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; font-display: swap; } .ui-front { z-index: 100; } /* style reset */ div.elfinder *, div.elfinder :after, div.elfinder :before { box-sizing: content-box; } div.elfinder fieldset { display: block; margin-inline-start: 2px; margin-inline-end: 2px; padding-block-start: 0.35em; padding-inline-start: 0.75em; padding-inline-end: 0.75em; padding-block-end: 0.625em; min-inline-size: min-content; border-width: 2px; border-style: groove; border-color: threedface; border-image: initial; } div.elfinder legend { display: block; padding-inline-start: 2px; padding-inline-end: 2px; border-width: initial; border-style: none; border-color: initial; border-image: initial; width: auto; margin-bottom: 0; } /* base container */ div.elfinder { padding: 0; position: relative; display: block; visibility: visible; font-size: 18px; font-family: Verdana, Arial, Helvetica, sans-serif; } /* prevent auto zoom on iOS */ .elfinder-ios input, .elfinder-ios select, .elfinder-ios textarea { font-size: 16px !important; } /* full screen mode */ .elfinder.elfinder-fullscreen > .ui-resizable-handle { display: none; } .elfinder-font-mono { line-height: 2ex; } /* in lazy execution status */ .elfinder.elfinder-processing * { cursor: progress !important } .elfinder.elfinder-processing.elfinder-touch .elfinder-workzone:after { position: absolute; top: 0; width: 100%; height: 3px; content: ''; left: 0; background-image: url(../img/progress.gif); opacity: .6; pointer-events: none; } /* for disable select of Touch devices */ .elfinder *:not(input):not(textarea):not(select):not([contenteditable=true]), .elfinder-contextmenu *:not(input):not(textarea):not(select):not([contenteditable=true]) { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; user-select: none; } .elfinder .overflow-scrolling-touch { -webkit-overflow-scrolling: touch; } /* right to left enviroment */ .elfinder-rtl { text-align: right; direction: rtl; } /* nav and cwd container */ .elfinder-workzone { padding: 0; position: relative; overflow: hidden; } /* dir/file permissions and symlink markers */ .elfinder-lock, .elfinder-perms, .elfinder-symlink { position: absolute; width: 16px; height: 16px; background-image: url(../img/toolbar.png); background-repeat: no-repeat; background-position: 0 -528px; } .elfinder-symlink { } /* noaccess */ .elfinder-na .elfinder-perms { background-position: 0 -96px; } /* read only */ .elfinder-ro .elfinder-perms { background-position: 0 -64px; } /* write only */ .elfinder-wo .elfinder-perms { background-position: 0 -80px; } /* volume type group */ .elfinder-group .elfinder-perms { background-position: 0 0px; } /* locked */ .elfinder-lock { background-position: 0 -656px; } /* drag helper */ .elfinder-drag-helper { top: 0px; left: 0px; width: 70px; height: 60px; padding: 0 0 0 25px; z-index: 100000; will-change: left, top; } .elfinder-drag-helper.html5-native { position: absolute; top: -1000px; left: -1000px; } /* drag helper status icon (default no-drop) */ .elfinder-drag-helper-icon-status { position: absolute; width: 16px; height: 16px; left: 42px; top: 60px; background: url('../img/toolbar.png') 0 -96px no-repeat; display: block; } /* show "up-arrow" icon for move item */ .elfinder-drag-helper-move .elfinder-drag-helper-icon-status { background-position: 0 -720px; } /* show "plus" icon when ctrl/shift pressed */ .elfinder-drag-helper-plus .elfinder-drag-helper-icon-status { background-position: 0 -544px; } /* files num in drag helper */ .elfinder-drag-num { display: inline-box; position: absolute; top: 0; left: 0; width: auto; height: 14px; text-align: center; padding: 1px 3px 1px 3px; font-weight: bold; color: #fff; background-color: red; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } /* icon in drag helper */ .elfinder-drag-helper .elfinder-cwd-icon { margin: 0 0 0 -24px; float: left; } /* transparent overlay */ .elfinder-overlay { position: absolute; opacity: .2; filter: Alpha(Opacity=20); } /* panels under/below cwd (for search field etc) */ .elfinder .elfinder-panel { position: relative; background-image: none; padding: 7px 12px; } /* for html5 drag and drop */ [draggable=true] { -khtml-user-drag: element; } /* for place holder to content editable elements */ .elfinder [contentEditable=true]:empty:not(:focus):before { content: attr(data-ph); } /* bottom tray */ .elfinder div.elfinder-bottomtray { position: fixed; bottom: 0; max-width: 100%; opacity: .8; } .elfinder div.elfinder-bottomtray > div { top: initial; right: initial; left: initial; } .elfinder.elfinder-ltr div.elfinder-bottomtray { left: 0; } .elfinder.elfinder-rtl div.elfinder-bottomtray { right: 0; } /* tooltip */ .elfinder-ui-tooltip, .elfinder .elfinder-ui-tooltip { font-size: 14px; padding: 2px 4px; } /* progressbar */ .elfinder-ui-progressbar { pointer-events: none; position: absolute; width: 0; height: 2px; top: 0px; border-radius: 2px; filter: blur(1px); } .elfinder-ltr .elfinder-ui-progressbar { left: 0; } .elfinder-rtl .elfinder-ui-progressbar { right: 0; } /* Word Break Pop*/ .ui-dialog.elfinder-dialog-info .elfinder-info-title .elfinder-cwd-icon + strong{ float: left; width: calc(100% - 65px); word-break: break-all; display: block; } .ui-dialog.elfinder-dialog-info .elfinder-info-tb .elfinder-info-path, .ui-dialog.elfinder-dialog-info .elfinder-info-tb .elfinder-info-link{ word-break: break-all; } /*for default theme css*/ .wrap.wp-filemanager-wrap .ui-front.ui-dialog.ui-widget.ui-widget-content.ui-corner-all.ui-draggable.std42-dialog .ui-dialog-content.ui-widget-content .ui-helper-clearfix.elfinder-rm-title span.elfinder-cwd-icon:before { left: 0; top: 6px; } wp-file-manager/lib/css/contextmenu.css000064400000013571151202472330014146 0ustar00/* menu and submenu */ .elfinder .elfinder-contextmenu, .elfinder .elfinder-contextmenu-sub { position: absolute; border: 1px solid #aaa; background: #fff; color: #555; padding: 4px 0; top: 0; left: 0; z-index: 9999 !important; } /* submenu */ .elfinder .elfinder-contextmenu-sub { top: 5px; } /* submenu in rtl/ltr enviroment */ .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub { margin-left: -5px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub { margin-right: -5px; } /* menu item */ .elfinder .elfinder-contextmenu-header { margin-top: -4px; padding: 0 .5em .2ex; border: none; text-align: center; } .elfinder .elfinder-contextmenu-header span { font-weight: normal; font-size: 0.8em; font-weight: bolder; } .elfinder .elfinder-contextmenu-item { position: relative; display: block; padding: 4px 30px; text-decoration: none; white-space: nowrap; cursor: default; } .elfinder .elfinder-contextmenu-item.ui-state-active { border: none; } .elfinder .elfinder-contextmenu-item .ui-icon { width: 16px; height: 16px; position: absolute; left: auto; right: auto; top: 50%; margin-top: -8px; } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item .ui-icon { left: 2px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item .ui-icon { right: 0px; } .elfinder-touch .elfinder-contextmenu-item { padding: 12px 38px; } /* root icon of each volume */ .elfinder-navbar-root-local.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_local.svg"); background-size: contain; } .elfinder-navbar-root-trash.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_trash.svg"); background-size: contain; } .elfinder-navbar-root-ftp.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_ftp.svg"); background-size: contain; } .elfinder-navbar-root-sql.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_sql.svg"); background-size: contain; } .elfinder-navbar-root-dropbox.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_dropbox.svg"); background-size: contain; } .elfinder-navbar-root-googledrive.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_googledrive.svg"); background-size: contain; } .elfinder-navbar-root-onedrive.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_onedrive.svg"); background-size: contain; } .elfinder-navbar-root-box.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_box.svg"); background-size: contain; } .elfinder-navbar-root-zip.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_zip.svg"); background-size: contain; } .elfinder-navbar-root-network.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_network.svg"); background-size: contain; } /* text in item */ .elfinder .elfinder-contextmenu .elfinder-contextmenu-item span { display: block; } /* submenu item in rtl/ltr enviroment */ .elfinder .elfinder-contextmenu-sub .elfinder-contextmenu-item { padding-left: 12px; padding-right: 12px; } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item { text-align: left; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item { text-align: right; } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon { padding-left: 28px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon { padding-right: 28px; } .elfinder-touch .elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon { padding-left: 36px; } .elfinder-touch .elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon { padding-right: 36px; } /* command/submenu icon */ .elfinder .elfinder-contextmenu-extra-icon, .elfinder .elfinder-contextmenu-arrow, .elfinder .elfinder-contextmenu-icon { position: absolute; top: 50%; margin-top: -8px; overflow: hidden; } .elfinder-touch .elfinder-button-icon.elfinder-contextmenu-icon { transform-origin: center center; } /* command icon in rtl/ltr enviroment */ .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-icon { left: 8px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-icon { right: 8px; } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-extra-icon { right: 8px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-extra-icon { left: 8px; } /* arrow icon */ .elfinder .elfinder-contextmenu-arrow { width: 16px; height: 16px; background: url('../img/arrows-normal.png') 5px 4px no-repeat; } /* arrow icon in rtl/ltr enviroment */ .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-arrow { right: 5px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-arrow { left: 5px; background-position: 0 -10px; } /* command extra icon's , tag */ .elfinder .elfinder-contextmenu-extra-icon a, .elfinder .elfinder-contextmenu-extra-icon span { position: relative; width: 100%; height: 100%; margin: 0; color: transparent !important; text-decoration: none; cursor: pointer; } /* disable ui border/bg image on hover */ .elfinder .elfinder-contextmenu .ui-state-hover { border: 0 solid; background-image: none; } /* separator */ .elfinder .elfinder-contextmenu-separator { height: 0px; border-top: 1px solid #ccc; margin: 0 1px; } /* for CSS style priority to ui-state-disabled - "background-image: none" */ .elfinder .elfinder-contextmenu-item .elfinder-button-icon.ui-state-disabled { background-image: url('../img/toolbar.png'); } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-extra-icon{ display:none !important; }wp-file-manager/lib/css/cwd.css000064400000105221151202472330012344 0ustar00/******************************************************************/ /* CURRENT DIRECTORY STYLES */ /******************************************************************/ /* cwd container to avoid selectable on scrollbar */ .elfinder-cwd-wrapper { overflow: auto; position: relative; padding: 2px; margin: 0; } .elfinder-cwd-wrapper-list { padding: 0; } /* container */ .elfinder-cwd { position: absolute; top: 0; cursor: default; padding: 0; margin: 0; -ms-touch-action: auto; touch-action: auto; min-width: 100%; } .elfinder-ltr .elfinder-cwd { left: 0; } .elfinder-rtl .elfinder-cwd { right: 0; } .elfinder-cwd.elfinder-table-header-sticky { position: -webkit-sticky; position: -ms-sticky; position: sticky; top: 0; left: auto; right: auto; width: -webkit-max-content; width: -moz-max-content; width: -ms-max-content; width: max-content; height: 0; overflow: visible; } .elfinder-cwd.elfinder-table-header-sticky table { border-top: 2px solid; padding-top: 0; } .elfinder-cwd.elfinder-table-header-sticky td { display: inline-block; } .elfinder-droppable-active .elfinder-cwd.elfinder-table-header-sticky table { border-top: 2px solid transparent; } /* fixed table header container */ .elfinder-cwd-fixheader .elfinder-cwd { position: relative; } /* container active on dropenter */ .elfinder .elfinder-cwd-wrapper.elfinder-droppable-active { outline: 2px solid #8cafed; outline-offset: -2px; } .elfinder-cwd-wrapper-empty .elfinder-cwd:after { display: block; position: absolute; height: auto; width: 90%; width: calc(100% - 20px); position: absolute; top: 50%; left: 50%; -ms-transform: translateY(-50%) translateX(-50%); -webkit-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); line-height: 1.5em; text-align: center; white-space: pre-wrap; opacity: 0.6; filter: Alpha(Opacity=60); font-weight: bold; } .elfinder-cwd-file .elfinder-cwd-select { position: absolute; top: 0px; left: 0px; background-color: transparent; opacity: .4; filter: Alpha(Opacity=40); } .elfinder-mobile .elfinder-cwd-file .elfinder-cwd-select { width: 30px; height: 30px; } .elfinder-cwd-file.ui-selected .elfinder-cwd-select { opacity: .8; filter: Alpha(Opacity=80); } .elfinder-rtl .elfinder-cwd-file .elfinder-cwd-select { left: auto; right: 0px; } .elfinder .elfinder-cwd-selectall { position: absolute; width: 30px; height: 30px; top: 0px; opacity: .8; filter: Alpha(Opacity=80); } .elfinder .elfinder-workzone.elfinder-cwd-wrapper-empty .elfinder-cwd-selectall { display: none; } /************************** ICONS VIEW ********************************/ .elfinder-ltr .elfinder-workzone .elfinder-cwd-selectall { text-align: right; right: 18px; left: auto; } .elfinder-rtl .elfinder-workzone .elfinder-cwd-selectall { text-align: left; right: auto; left: 18px; } .elfinder-ltr.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall { right: 0px; } .elfinder-rtl.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall { left: 0px; } .elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-select.ui-state-hover { background-color: transparent; } /* file container */ .elfinder-cwd-view-icons .elfinder-cwd-file { width: 120px; height: 90px; padding-bottom: 2px; cursor: default; border: none; position: relative; } .elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-active { border: none; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-icons .elfinder-cwd-file { float: left; margin: 0 3px 2px 0; } .elfinder-rtl .elfinder-cwd-view-icons .elfinder-cwd-file { float: right; margin: 0 0 5px 3px; } /* remove ui hover class border */ .elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-hover { border: 0 solid; } /* icon wrapper to create selected highlight around icon */ .elfinder-cwd-view-icons .elfinder-cwd-file-wrapper { width: 52px; height: 52px; margin: 1px auto 1px auto; padding: 2px; position: relative; } /*** Custom Icon Size size1 - size3 ***/ /* type badge */ .elfinder-cwd-size1 .elfinder-cwd-icon:before, .elfinder-cwd-size2 .elfinder-cwd-icon:before, .elfinder-cwd-size3 .elfinder-cwd-icon:before { top: 3px; display: block; } /* size1 */ .elfinder-cwd-size1.elfinder-cwd-view-icons .elfinder-cwd-file { width: 120px; height: 112px; } .elfinder-cwd-size1.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper { width: 74px; height: 74px; } .elfinder-cwd-size1 .elfinder-cwd-icon { -ms-transform-origin: top center; -ms-transform: scale(1.5); -webkit-transform-origin: top center; -webkit-transform: scale(1.5); transform-origin: top center; transform: scale(1.5); } .elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl:before { -ms-transform-origin: top left; -ms-transform: scale(1.18) translate(0, 15%); -webkit-transform-origin: top left; -webkit-transform: scale(1.18) translate(0, 15%); transform-origin: top left; transform: scale(1.18) translate(0, 15%); } .elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl:after { -ms-transform: scale(1) translate(10px, -5px); -webkit-transform: scale(1) translate(10px, -5px); transform: scale(1) translate(10px, -5px); } .elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl { -ms-transform-origin: center center; -ms-transform: scale(1); -webkit-transform-origin: center center; -webkit-transform: scale(1); transform-origin: center center; transform: scale(1); width: 72px; height: 72px; -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; } /* size2 */ .elfinder-cwd-size2.elfinder-cwd-view-icons .elfinder-cwd-file { width: 140px; height: 134px; } .elfinder-cwd-size2.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper { width: 98px; height: 98px; } .elfinder-cwd-size2 .elfinder-cwd-icon { -ms-transform-origin: top center; -ms-transform: scale(2); -webkit-transform-origin: top center; -webkit-transform: scale(2); transform-origin: top center; transform: scale(2); } .elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl:before { -ms-transform-origin: top left; -ms-transform: scale(1.55) translate(0, 18%); -webkit-transform-origin: top left; -webkit-transform: scale(1.55) translate(0, 18%); transform-origin: top left; transform: scale(1.55) translate(0, 18%); } .elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl:after { -ms-transform: scale(1.1) translate(0px, 10px); -webkit-transform: scale(1.1) translate(0px, 10px); transform: scale(1.1) translate(0px, 10px); } .elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl { -ms-transform-origin: center center; -ms-transform: scale(1); -webkit-transform-origin: center center; -webkit-transform: scale(1); transform-origin: center center; transform: scale(1); width: 96px; height: 96px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } /* size3 */ .elfinder-cwd-size3.elfinder-cwd-view-icons .elfinder-cwd-file { width: 174px; height: 158px; } .elfinder-cwd-size3.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper { width: 122px; height: 72px; } .elfinder-cwd-size3 .elfinder-cwd-icon { -ms-transform-origin: top center; -ms-transform: scale(1.5); -webkit-transform-origin: top center; -webkit-transform: scale(1.5); transform-origin: top center; transform: scale(1.5); } .elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl:before { -ms-transform-origin: top left; -ms-transform: scale(1.18) translate(0, 20%); -webkit-transform-origin: top left; -webkit-transform: scale(1.18) translate(0, 20%); transform-origin: top left; transform: scale(1.18) translate(0, 20%); } .elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl:after { -ms-transform: scale(1.2) translate(-9px, 22px); -webkit-transform: scale(1.2) translate(-9px, 22px); transform: scale(1.2) translate(-9px, 22px); } .elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl { -ms-transform-origin: center center; -ms-transform: scale(1); -webkit-transform-origin: center center; -webkit-transform: scale(1); transform-origin: center center; transform: scale(1); width: 72px; height: 72px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; } /* file name place */ .elfinder-cwd-view-icons .elfinder-cwd-filename { text-align: center; max-height: 2.4em; line-height: 1.2em; white-space: pre-line; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; margin: 3px 1px 0 1px; padding: 1px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; /* for webkit CSS3 */ word-break: break-word; overflow-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } /* permissions/symlink markers */ .elfinder-cwd-view-icons .elfinder-perms { bottom: 4px; right: 2px; } .elfinder-cwd-view-icons .elfinder-lock { top: -3px; right: -2px; } .elfinder-cwd-view-icons .elfinder-symlink { bottom: 6px; left: 0px; } /* icon/thumbnail */ .elfinder-cwd-icon { display: block; width: 48px; height: 48px; margin: 0 auto; background-image: url('../img/icons-big.svg'); background-image: url('../img/icons-big.png') \9; background-position: 0 0; background-repeat: no-repeat; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; } /* volume icon of root in folder */ .elfinder-navbar-root-local .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-local td .elfinder-cwd-icon { background-image: url("../img/volume_icon_local.svg"); background-image: url("../img/volume_icon_local.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-trash .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-trash.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-trash td .elfinder-cwd-icon { background-image: url("../img/volume_icon_trash.svg"); background-image: url("../img/volume_icon_trash.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-trash.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-ftp .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-ftp td .elfinder-cwd-icon { background-image: url("../img/volume_icon_ftp.svg"); background-image: url("../img/volume_icon_ftp.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-sql .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-sql td .elfinder-cwd-icon { background-image: url("../img/volume_icon_sql.svg"); background-image: url("../img/volume_icon_sql.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-dropbox .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-dropbox td .elfinder-cwd-icon { background-image: url("../img/volume_icon_dropbox.svg"); background-image: url("../img/volume_icon_dropbox.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-googledrive .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-googledrive td .elfinder-cwd-icon { background-image: url("../img/volume_icon_googledrive.svg"); background-image: url("../img/volume_icon_googledrive.png") \9; background-position: 0 0; background-size: contain; } .elfinder-navbar-root-onedrive .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-onedrive td .elfinder-cwd-icon { background-image: url("../img/volume_icon_onedrive.svg"); background-image: url("../img/volume_icon_onedrive.png") \9; background-position: 0 0; background-size: contain; } .elfinder-navbar-root-box .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-box td .elfinder-cwd-icon { background-image: url("../img/volume_icon_box.svg"); background-image: url("../img/volume_icon_box.png") \9; background-position: 0 0; background-size: contain; } .elfinder-navbar-root-zip .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-zip.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-zip td .elfinder-cwd-icon { background-image: url("../img/volume_icon_zip.svg"); background-image: url("../img/volume_icon_zip.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-network .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-network td .elfinder-cwd-icon { background-image: url("../img/volume_icon_network.svg"); background-image: url("../img/volume_icon_network.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } /* type badge in "icons" view */ .elfinder-cwd-icon:before { content: none; position: absolute; left: 0px; top: 5px; min-width: 20px; max-width: 84px; text-align: center; padding: 0px 4px 1px; border-radius: 4px; font-family: Verdana; font-size: 10px; line-height: 1.3em; -webkit-transform: scale(0.9); -moz-transform: scale(0.9); -ms-transform: scale(0.9); -o-transform: scale(0.9); transform: scale(0.9); } .elfinder-cwd-view-icons .elfinder-cwd-icon.elfinder-cwd-bgurl:before { left: -10px; } /* addtional type badge name */ .elfinder-cwd-icon.elfinder-cwd-icon-mp2t:before { content: 'ts' } .elfinder-cwd-icon.elfinder-cwd-icon-dash-xml:before { content: 'dash' } .elfinder-cwd-icon.elfinder-cwd-icon-x-mpegurl:before { content: 'hls' } .elfinder-cwd-icon.elfinder-cwd-icon-x-c:before { content: 'c++' } /* thumbnail image */ .elfinder-cwd-icon.elfinder-cwd-bgurl { background-position: center center; background-repeat: no-repeat; -moz-background-size: contain; background-size: contain; } /* thumbnail self */ .elfinder-cwd-icon.elfinder-cwd-bgurl.elfinder-cwd-bgself { -moz-background-size: cover; background-size: cover; } /* thumbnail crop*/ .elfinder-cwd-icon.elfinder-cwd-bgurl { -moz-background-size: cover; background-size: cover; } .elfinder-cwd-icon.elfinder-cwd-bgurl:after { content: ' '; } .elfinder-cwd-bgurl:after { position: relative; display: inline-block; top: 36px; left: -38px; width: 48px; height: 48px; background-image: url('../img/icons-big.svg'); background-image: url('../img/icons-big.png') \9; background-repeat: no-repeat; background-size: auto !important; opacity: .8; filter: Alpha(Opacity=60); -webkit-transform-origin: 54px -24px; -webkit-transform: scale(.6); -moz-transform-origin: 54px -24px; -moz-transform: scale(.6); -ms-transform-origin: 54px -24px; -ms-transform: scale(.6); -o-transform-origin: 54px -24px; -o-transform: scale(.6); transform-origin: 54px -24px; transform: scale(.6); } /* thumbnail image and draging icon */ .elfinder-cwd-icon.elfinder-cwd-icon-drag { width: 48px; height: 48px; } /* thumbnail image and draging icon overlay none */ .elfinder-cwd-icon.elfinder-cwd-icon-drag:before, .elfinder-cwd-icon.elfinder-cwd-icon-drag:after, .elfinder-cwd-icon-image.elfinder-cwd-bgurl:after, .elfinder-cwd-icon-directory.elfinder-cwd-bgurl:after { content: none; } /* "opened folder" icon on dragover */ .elfinder-cwd .elfinder-droppable-active .elfinder-cwd-icon { background-position: 0 -100px; } .elfinder-cwd .elfinder-droppable-active { outline: 2px solid #8cafed; outline-offset: -2px; } /* mimetypes icons */ .elfinder-cwd-icon-directory { background-position: 0 -50px; } .elfinder-cwd-icon-application:after, .elfinder-cwd-icon-application { background-position: 0 -150px; } .elfinder-cwd-icon-text:after, .elfinder-cwd-icon-text { background-position: 0 -1350px; } .elfinder-cwd-icon-plain:after, .elfinder-cwd-icon-plain, .elfinder-cwd-icon-x-empty:after, .elfinder-cwd-icon-x-empty { background-position: 0 -200px; } .elfinder-cwd-icon-image:after, .elfinder-cwd-icon-vnd-adobe-photoshop:after, .elfinder-cwd-icon-image, .elfinder-cwd-icon-vnd-adobe-photoshop { background-position: 0 -250px; } .elfinder-cwd-icon-postscript:after, .elfinder-cwd-icon-postscript { background-position: 0 -1550px; } .elfinder-cwd-icon-audio:after, .elfinder-cwd-icon-audio { background-position: 0 -300px; } .elfinder-cwd-icon-video:after, .elfinder-cwd-icon-video, .elfinder-cwd-icon-flash-video, .elfinder-cwd-icon-dash-xml, .elfinder-cwd-icon-vnd-apple-mpegurl, .elfinder-cwd-icon-x-mpegurl { background-position: 0 -350px; } .elfinder-cwd-icon-rtf:after, .elfinder-cwd-icon-rtfd:after, .elfinder-cwd-icon-rtf, .elfinder-cwd-icon-rtfd { background-position: 0 -400px; } .elfinder-cwd-icon-pdf:after, .elfinder-cwd-icon-pdf { background-position: 0 -450px; } .elfinder-cwd-icon-ms-excel, .elfinder-cwd-icon-ms-excel:after, .elfinder-cwd-icon-vnd-ms-excel, .elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-excel:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template:after { background-position: 0 -1450px } .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet, .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template, .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template:after, .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet:after { background-position: 0 -1700px } .elfinder-cwd-icon-vnd-ms-powerpoint, .elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template:after { background-position: 0 -1400px } .elfinder-cwd-icon-vnd-oasis-opendocument-presentation, .elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template, .elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template:after, .elfinder-cwd-icon-vnd-oasis-opendocument-presentation:after { background-position: 0 -1650px } .elfinder-cwd-icon-msword, .elfinder-cwd-icon-msword:after, .elfinder-cwd-icon-vnd-ms-word, .elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-word:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template:after { background-position: 0 -1500px } .elfinder-cwd-icon-vnd-oasis-opendocument-text, .elfinder-cwd-icon-vnd-oasis-opendocument-text-master, .elfinder-cwd-icon-vnd-oasis-opendocument-text-master:after, .elfinder-cwd-icon-vnd-oasis-opendocument-text-template, .elfinder-cwd-icon-vnd-oasis-opendocument-text-template:after, .elfinder-cwd-icon-vnd-oasis-opendocument-text-web, .elfinder-cwd-icon-vnd-oasis-opendocument-text-web:after, .elfinder-cwd-icon-vnd-oasis-opendocument-text:after { background-position: 0 -1750px } .elfinder-cwd-icon-vnd-ms-office, .elfinder-cwd-icon-vnd-ms-office:after { background-position: 0 -500px } .elfinder-cwd-icon-vnd-oasis-opendocument-chart, .elfinder-cwd-icon-vnd-oasis-opendocument-chart:after, .elfinder-cwd-icon-vnd-oasis-opendocument-database, .elfinder-cwd-icon-vnd-oasis-opendocument-database:after, .elfinder-cwd-icon-vnd-oasis-opendocument-formula, .elfinder-cwd-icon-vnd-oasis-opendocument-formula:after, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template:after, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics:after, .elfinder-cwd-icon-vnd-oasis-opendocument-image, .elfinder-cwd-icon-vnd-oasis-opendocument-image:after, .elfinder-cwd-icon-vnd-openofficeorg-extension, .elfinder-cwd-icon-vnd-openofficeorg-extension:after { background-position: 0 -1600px } .elfinder-cwd-icon-html:after, .elfinder-cwd-icon-html { background-position: 0 -550px; } .elfinder-cwd-icon-css:after, .elfinder-cwd-icon-css { background-position: 0 -600px; } .elfinder-cwd-icon-javascript:after, .elfinder-cwd-icon-x-javascript:after, .elfinder-cwd-icon-javascript, .elfinder-cwd-icon-x-javascript { background-position: 0 -650px; } .elfinder-cwd-icon-x-perl:after, .elfinder-cwd-icon-x-perl { background-position: 0 -700px; } .elfinder-cwd-icon-x-python:after, .elfinder-cwd-icon-x-python { background-position: 0 -750px; } .elfinder-cwd-icon-x-ruby:after, .elfinder-cwd-icon-x-ruby { background-position: 0 -800px; } .elfinder-cwd-icon-x-sh:after, .elfinder-cwd-icon-x-shellscript:after, .elfinder-cwd-icon-x-sh, .elfinder-cwd-icon-x-shellscript { background-position: 0 -850px; } .elfinder-cwd-icon-x-c:after, .elfinder-cwd-icon-x-csrc:after, .elfinder-cwd-icon-x-chdr:after, .elfinder-cwd-icon-x-c--:after, .elfinder-cwd-icon-x-c--src:after, .elfinder-cwd-icon-x-c--hdr:after, .elfinder-cwd-icon-x-java:after, .elfinder-cwd-icon-x-java-source:after, .elfinder-cwd-icon-x-c, .elfinder-cwd-icon-x-csrc, .elfinder-cwd-icon-x-chdr, .elfinder-cwd-icon-x-c--, .elfinder-cwd-icon-x-c--src, .elfinder-cwd-icon-x-c--hdr, .elfinder-cwd-icon-x-java, .elfinder-cwd-icon-x-java-source { background-position: 0 -900px; } .elfinder-cwd-icon-x-php:after, .elfinder-cwd-icon-x-php { background-position: 0 -950px; } .elfinder-cwd-icon-xml:after, .elfinder-cwd-icon-xml { background-position: 0 -1000px; } .elfinder-cwd-icon-zip:after, .elfinder-cwd-icon-x-zip:after, .elfinder-cwd-icon-x-xz:after, .elfinder-cwd-icon-x-7z-compressed:after, .elfinder-cwd-icon-zip, .elfinder-cwd-icon-x-zip, .elfinder-cwd-icon-x-xz, .elfinder-cwd-icon-x-7z-compressed { background-position: 0 -1050px; } .elfinder-cwd-icon-x-gzip:after, .elfinder-cwd-icon-x-tar:after, .elfinder-cwd-icon-x-gzip, .elfinder-cwd-icon-x-tar { background-position: 0 -1100px; } .elfinder-cwd-icon-x-bzip:after, .elfinder-cwd-icon-x-bzip2:after, .elfinder-cwd-icon-x-bzip, .elfinder-cwd-icon-x-bzip2 { background-position: 0 -1150px; } .elfinder-cwd-icon-x-rar:after, .elfinder-cwd-icon-x-rar-compressed:after, .elfinder-cwd-icon-x-rar, .elfinder-cwd-icon-x-rar-compressed { background-position: 0 -1200px; } .elfinder-cwd-icon-x-shockwave-flash:after, .elfinder-cwd-icon-x-shockwave-flash { background-position: 0 -1250px; } .elfinder-cwd-icon-group { background-position: 0 -1300px; } /* textfield inside icon */ .elfinder-cwd-filename input { width: 100%; border: none; margin: 0; padding: 0; } .elfinder-cwd-view-icons input { text-align: center; } .elfinder-cwd-view-icons textarea { width: 100%; border: 0px solid; margin: 0; padding: 0; text-align: center; overflow: hidden; resize: none; } .elfinder-cwd-view-icons { text-align: center; } /************************************ LIST VIEW ************************************/ .elfinder-cwd-wrapper.elfinder-cwd-fixheader .elfinder-cwd::after { display: none; } .elfinder-cwd table { width: 100%; border-collapse: separate; border: 0 solid; margin: 0 0 10px 0; border-spacing: 0; box-sizing: padding-box; padding: 2px; position: relative; } .elfinder-cwd table td { /* fix conflict with Bootstrap CSS */ box-sizing: content-box; } .elfinder-cwd-wrapper-list.elfinder-cwd-fixheader { position: absolute; overflow: hidden; } .elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before { content: ''; position: absolute; width: 100%; top: 0; height: 3px; background-color: white; } .elfinder-droppable-active + .elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before { background-color: #8cafed; } .elfinder .elfinder-workzone div.elfinder-cwd-fixheader table { table-layout: fixed; } .elfinder .elfinder-cwd table tbody.elfinder-cwd-fixheader { position: relative; } .elfinder-ltr .elfinder-cwd thead .elfinder-cwd-selectall { text-align: left; right: auto; left: 0px; padding-top: 3px; } .elfinder-rtl .elfinder-cwd thead .elfinder-cwd-selectall { text-align: right; right: 0px; left: auto; padding-top: 3px; } .elfinder-touch .elfinder-cwd thead .elfinder-cwd-selectall { padding-top: 4px; } .elfinder .elfinder-cwd table thead tr { border-left: 0 solid; border-top: 0 solid; border-right: 0 solid; } .elfinder .elfinder-cwd table thead td { padding: 4px 14px; padding-right: 25px; } .elfinder-ltr .elfinder-cwd.elfinder-has-checkbox table thead td:first-child { padding: 4px 14px 4px 22px; } .elfinder-rtl .elfinder-cwd.elfinder-has-checkbox table thead td:first-child { padding: 4px 22px 4px 14px; } .elfinder-touch .elfinder-cwd table thead td, .elfinder-touch .elfinder-cwd.elfinder-has-checkbox table thead td:first-child { padding-top: 8px; padding-bottom: 8px; } .elfinder .elfinder-cwd table thead td.ui-state-active { background: #ebf1f6; background: -moz-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ebf1f6), color-stop(50%, #abd3ee), color-stop(51%, #89c3eb), color-stop(100%, #d5ebfb)); background: -webkit-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); background: -o-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); background: -ms-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); background: linear-gradient(to bottom, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebf1f6', endColorstr='#d5ebfb', GradientType=0); } .elfinder .elfinder-cwd table td { padding: 0 12px; white-space: pre; overflow: hidden; text-align: right; cursor: default; border: 0 solid; } .elfinder .elfinder-cwd table tbody td:first-child { position: relative } .elfinder .elfinder-cwd table td div { box-sizing: content-box; } tr.elfinder-cwd-file td .elfinder-cwd-select { padding-top: 3px; } .elfinder-mobile tr.elfinder-cwd-file td .elfinder-cwd-select { width: 40px; } .elfinder-touch tr.elfinder-cwd-file td .elfinder-cwd-select { padding-top: 10px; } .elfinder-touch .elfinder-cwd tr td { padding: 10px 12px; } .elfinder-touch .elfinder-cwd tr.elfinder-cwd-file td { padding: 13px 12px; } .elfinder-ltr .elfinder-cwd table td { text-align: left; } .elfinder-ltr .elfinder-cwd table td:first-child { text-align: left; } .elfinder-rtl .elfinder-cwd table td { text-align: left; } .elfinder-rtl .elfinder-cwd table td:first-child { text-align: right; } .elfinder-odd-row { background: #eee; } /* filename container */ .elfinder-cwd-view-list .elfinder-cwd-file-wrapper { width: 97%; position: relative; } /* filename container in ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper { margin-left: 8px; } .elfinder-rtl .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper { margin-right: 8px; } .elfinder-cwd-view-list .elfinder-cwd-filename { padding-top: 4px; padding-bottom: 4px; display: inline-block; } .elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-filename { padding-left: 23px; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-filename { padding-right: 23px; } /* premissions/symlink marker */ .elfinder-cwd-view-list .elfinder-perms, .elfinder-cwd-view-list .elfinder-lock, .elfinder-cwd-view-list .elfinder-symlink { margin-top: -6px; opacity: .6; filter: Alpha(Opacity=60); } .elfinder-cwd-view-list .elfinder-perms { bottom: -4px; } .elfinder-cwd-view-list .elfinder-lock { top: 0px; } .elfinder-cwd-view-list .elfinder-symlink { bottom: -4px; } /* markers in ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-list .elfinder-perms { left: 8px; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-perms { right: -8px; } .elfinder-ltr .elfinder-cwd-view-list .elfinder-lock { left: 10px; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-lock { right: -10px; } .elfinder-ltr .elfinder-cwd-view-list .elfinder-symlink { left: -7px; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-symlink { right: 7px; } /* file icon */ .elfinder-cwd-view-list td .elfinder-cwd-icon { width: 16px; height: 16px; position: absolute; top: 50%; margin-top: -8px; background-image: url(../img/icons-small.png); } /* icon in ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-icon { left: 0; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-icon { right: 0; } /* type badge, thumbnail image overlay */ .elfinder-cwd-view-list .elfinder-cwd-icon:before, .elfinder-cwd-view-list .elfinder-cwd-icon:after { content: none; } /* table header resize handle */ .elfinder-cwd-view-list thead td .ui-resizable-handle { height: 100%; top: 3px; } .elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-handle { top: -4px; margin: 10px; } .elfinder-cwd-view-list thead td .ui-resizable-e { right: -7px; } .elfinder-cwd-view-list thead td .ui-resizable-w { left: -7px; } .elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-e { right: -16px; } .elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-w { left: -16px; } /* empty message */ .elfinder-cwd-wrapper-empty .elfinder-cwd-view-list.elfinder-cwd:after { margin-top: 0; } /* overlay message board */ .elfinder-cwd-message-board { position: absolute; position: -webkit-sticky; position: sticky; width: 100%; height: calc(100% - 0.01px); /* for Firefox scroll problem */ top: 0; left: 0; margin: 0; padding: 0; pointer-events: none; background-color: transparent; } /* overlay message board for trash */ .elfinder-cwd-wrapper-trash .elfinder-cwd-message-board { background-image: url(../img/trashmesh.png); } .elfinder-cwd-message-board .elfinder-cwd-trash { position: absolute; bottom: 0; font-size: 30px; width: 100%; text-align: right; display: none; } .elfinder-rtl .elfinder-cwd-message-board .elfinder-cwd-trash { text-align: left; } .elfinder-mobile .elfinder-cwd-message-board .elfinder-cwd-trash { font-size: 20px; } .elfinder-cwd-wrapper-trash .elfinder-cwd-message-board .elfinder-cwd-trash { display: block; opacity: .3; } /* overlay message board for expires */ .elfinder-cwd-message-board .elfinder-cwd-expires { position: absolute; bottom: 0; font-size: 24px; width: 100%; text-align: right; opacity: .25; } .elfinder-rtl .elfinder-cwd-message-board .elfinder-cwd-expires { text-align: left; } .elfinder-mobile .elfinder-cwd-message-board .elfinder-cwd-expires { font-size: 20px; } wp-file-manager/lib/css/dialog.css000064400000036311151202472330013031 0ustar00/*********************************************/ /* DIALOGS STYLES */ /*********************************************/ /* common dialogs class */ .std42-dialog { padding: 0; position: absolute; left: auto; right: auto; box-sizing: border-box; } .std42-dialog.elfinder-dialog-minimized { overFlow: hidden; position: relative; float: left; width: auto; cursor: pointer; } .elfinder-rtl .std42-dialog.elfinder-dialog-minimized { float: right; } .std42-dialog input { border: 1px solid; } /* titlebar */ .std42-dialog .ui-dialog-titlebar { border-left: 0 solid transparent; border-top: 0 solid transparent; border-right: 0 solid transparent; font-weight: normal; padding: .2em 1em; } .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar { padding: 0 .5em; height: 20px; } .elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar { padding: .3em .5em; } .std42-dialog.ui-draggable-disabled .ui-dialog-titlebar { cursor: default; } .std42-dialog .ui-dialog-titlebar .ui-widget-header { border: none; cursor: pointer; } .std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title { display: inherit; word-break: break-all; } .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title { display: list-item; display: -moz-inline-box; white-space: nowrap; word-break: normal; overflow: hidden; word-wrap: normal; overflow-wrap: normal; max-width: -webkit-calc(100% - 24px); max-width: -moz-calc(100% - 24px); max-width: calc(100% - 24px); } .elfinder-touch .std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title { padding-top: .15em; } .elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title { max-width: -webkit-calc(100% - 36px); max-width: -moz-calc(100% - 36px); max-width: calc(100% - 36px); } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button { position: relative; float: left; top: 10px; left: -10px; right: 10px; width: 20px; height: 20px; padding: 1px; margin: -10px 1px 0 1px; background-color: transparent; background-image: none; } .elfinder-touch .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button { -moz-transform: scale(1.2); zoom: 1.2; padding-left: 6px; padding-right: 6px; height: 24px; } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button-right { float: right; } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button.elfinder-titlebar-button-right { left: 10px; right: -10px; } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon { width: 17px; height: 17px; border-width: 1px; opacity: .7; filter: Alpha(Opacity=70); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } .elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon { opacity: .5; filter: Alpha(Opacity=50); } .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon { opacity: 1; filter: Alpha(Opacity=100); } .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar select { display: none; } .elfinder-spinner { width: 14px; height: 14px; background: url("../img/spinner-mini.gif") center center no-repeat; margin: 0 5px; display: inline-block; vertical-align: middle; } .elfinder-ltr .elfinder-spinner, .elfinder-ltr .elfinder-spinner-text { float: left; } .elfinder-rtl .elfinder-spinner, .elfinder-rtl .elfinder-spinner-text { float: right; } /* resize handle for touch devices */ .elfinder-touch .std42-dialog.ui-dialog:not(ui-resizable-disabled) .ui-resizable-se { width: 12px; height: 12px; -moz-transform-origin: bottom right; -moz-transform: scale(1.5); zoom: 1.5; right: -7px; bottom: -7px; margin: 3px 7px 7px 3px; background-position: -64px -224px; } .elfinder-rtl .elfinder-dialog .ui-dialog-titlebar { text-align: right; } /* content */ .std42-dialog .ui-dialog-content { padding: .3em .5em; } .elfinder .std42-dialog .ui-dialog-content, .elfinder .std42-dialog .ui-dialog-content * { -webkit-user-select: auto; -moz-user-select: text; -khtml-user-select: text; user-select: text; } .elfinder .std42-dialog .ui-dialog-content label { border: none; } /* buttons */ .std42-dialog .ui-dialog-buttonpane { border: 0 solid; margin: 0; padding: .5em; text-align: right; } .elfinder-rtl .std42-dialog .ui-dialog-buttonpane { text-align: left; } .std42-dialog .ui-dialog-buttonpane button { margin: .2em 0 0 .4em; padding: .2em; outline: 0px solid; } .std42-dialog .ui-dialog-buttonpane button span { padding: 2px 9px; } .std42-dialog .ui-dialog-buttonpane button span.ui-icon { padding: 2px; } .elfinder-dialog .ui-resizable-e, .elfinder-dialog .ui-resizable-s { width: 0; height: 0; } .std42-dialog .ui-button input { cursor: pointer; } .std42-dialog select { border: 1px solid #ccc; } /* error/notify/confirm dialogs icon */ .elfinder-dialog-icon { position: absolute; width: 32px; height: 32px; left: 10px; bottom: 8%; margin-top: -15px; background: url("../img/dialogs.png") 0 0 no-repeat; } .elfinder-rtl .elfinder-dialog-icon { left: auto; right: 10px; } /*********************** ERROR DIALOG **************************/ .elfinder-dialog-error .ui-dialog-content, .elfinder-dialog-confirm .ui-dialog-content { padding-left: 56px; min-height: 35px; } .elfinder-rtl .elfinder-dialog-error .ui-dialog-content, .elfinder-rtl .elfinder-dialog-confirm .ui-dialog-content { padding-left: 0; padding-right: 56px; } .elfinder-dialog-error .elfinder-err-var { word-break: break-all; } /*********************** NOTIFY DIALOG **************************/ .elfinder-dialog-notify { top : 36px; width : 280px; } .elfinder-ltr .elfinder-dialog-notify { right : 12px; } .elfinder-rtl .elfinder-dialog-notify { left : 12px; } .elfinder-dialog-notify .ui-dialog-titlebar { overflow: hidden; } .elfinder.elfinder-touch > .elfinder-dialog-notify .ui-dialog-titlebar { height: 10px; } .elfinder > .elfinder-dialog-notify .ui-dialog-titlebar .elfinder-titlebar-button { top: 2px; } .elfinder.elfinder-touch > .elfinder-dialog-notify .ui-dialog-titlebar .elfinder-titlebar-button { top: 4px; } .elfinder > .elfinder-dialog-notify .ui-dialog-titlebar .elfinder-titlebar-button { right: 18px; } .elfinder > .elfinder-dialog-notify .ui-dialog-titlebar .elfinder-titlebar-button.elfinder-titlebar-button-right { left: 18px; right: -18px; } .ui-dialog-titlebar .elfinder-ui-progressbar { position: absolute; top: 17px; } .elfinder-touch .ui-dialog-titlebar .elfinder-ui-progressbar { top: 26px; } .elfinder-dialog-notify.elfinder-titlebar-button-hide .ui-dialog-titlebar-close { display: none; } .elfinder-dialog-notify.elfinder-dialog-minimized.elfinder-titlebar-button-hide .ui-dialog-titlebar span.elfinder-dialog-title { max-width: initial; } .elfinder-dialog-notify .ui-dialog-content { padding: 0; } /* one notification container */ .elfinder-notify { border-bottom: 1px solid #ccc; position: relative; padding: .5em; text-align: center; overflow: hidden; } .elfinder-ltr .elfinder-notify { padding-left: 36px; } .elfinder-rtl .elfinder-notify { padding-right: 36px; } .elfinder-notify:last-child { border: 0 solid; } /* progressbar */ .elfinder-notify-progressbar { width: 180px; height: 8px; border: 1px solid #aaa; background: #f5f5f5; margin: 5px auto; overflow: hidden; } .elfinder-notify-progress { width: 100%; height: 8px; background: url(../img/progress.gif) center center repeat-x; } .elfinder-notify-progressbar, .elfinder-notify-progress { -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; } .elfinder-notify-cancel { position: relative; top: -18px; right: calc(-50% + 15px); } .elfinder-notify-cancel .ui-icon-close { background-position: -80px -128px; width: 18px; height: 18px; border-radius: 9px; border: none; background-position: -80px -128px; cursor: pointer; } /* icons */ .elfinder-dialog-icon-open, .elfinder-dialog-icon-readdir, .elfinder-dialog-icon-file { background-position: 0 -225px; } .elfinder-dialog-icon-reload { background-position: 0 -225px; } .elfinder-dialog-icon-mkdir { background-position: 0 -64px; } .elfinder-dialog-icon-mkfile { background-position: 0 -96px; } .elfinder-dialog-icon-copy, .elfinder-dialog-icon-prepare, .elfinder-dialog-icon-move { background-position: 0 -128px; } .elfinder-dialog-icon-upload { background-position: 0 -160px; } .elfinder-dialog-icon-chunkmerge { background-position: 0 -160px; } .elfinder-dialog-icon-rm { background-position: 0 -192px; } .elfinder-dialog-icon-download { background-position: 0 -260px; } .elfinder-dialog-icon-save { background-position: 0 -295px; } .elfinder-dialog-icon-rename, .elfinder-dialog-icon-chkcontent { background-position: 0 -330px; } .elfinder-dialog-icon-zipdl, .elfinder-dialog-icon-archive, .elfinder-dialog-icon-extract { background-position: 0 -365px; } .elfinder-dialog-icon-search { background-position: 0 -402px; } .elfinder-dialog-icon-resize, .elfinder-dialog-icon-loadimg, .elfinder-dialog-icon-netmount, .elfinder-dialog-icon-netunmount, .elfinder-dialog-icon-chmod, .elfinder-dialog-icon-preupload, .elfinder-dialog-icon-url, .elfinder-dialog-icon-dim { background-position: 0 -434px; } /*********************** CONFIRM DIALOG **************************/ .elfinder-dialog-confirm-applyall, .elfinder-dialog-confirm-encoding { padding: 0 1em; margin: 0; } .elfinder-ltr .elfinder-dialog-confirm-applyall, .elfinder-ltr .elfinder-dialog-confirm-encoding { text-align: left; } .elfinder-rtl .elfinder-dialog-confirm-applyall, .elfinder-rtl .elfinder-dialog-confirm-encoding { text-align: right; } .elfinder-dialog-confirm .elfinder-dialog-icon { background-position: 0 -32px; } .elfinder-dialog-confirm .ui-dialog-buttonset { width: auto; } /*********************** FILE INFO DIALOG **************************/ .elfinder-info-title .elfinder-cwd-icon { float: left; width: 48px; height: 48px; margin-right: 1em; } .elfinder-rtl .elfinder-info-title .elfinder-cwd-icon { float: right; margin-right: 0; margin-left: 1em; } .elfinder-info-title strong { display: block; padding: .3em 0 .5em 0; } .elfinder-info-tb { min-width: 200px; border: 0 solid; margin: 1em .2em 1em .2em; width: 100%; } .elfinder-info-tb td { white-space: pre-wrap; padding: 2px; } .elfinder-info-tb td.elfinder-info-label { white-space: nowrap; } .elfinder-info-tb td.elfinder-info-hash { display: inline-block; word-break: break-all; max-width: 32ch; } .elfinder-ltr .elfinder-info-tb tr td:first-child { text-align: right; } .elfinder-ltr .elfinder-info-tb span { float: left; } .elfinder-rtl .elfinder-info-tb tr td:first-child { text-align: left; } .elfinder-rtl .elfinder-info-tb span { float: right; } .elfinder-info-tb a { outline: none; text-decoration: underline; } .ui-front.ui-dialog.elfinder-dialog-info.ui-resizable.elfinder-frontmost.elfinder-dialog-active { max-width: 400px !important; width: 400px !important; overflow: hidden !important; } .ui-front.ui-dialog .ui-helper-clearfix.elfinder-rm-title { margin-left: -49px; padding-top: 7px; padding-bottom: 7px; } .elfinder-info-tb a:hover { text-decoration: none; } .elfinder-netmount-tb { margin: 0 auto; } .elfinder-netmount-tb select, .elfinder-netmount-tb .elfinder-button-icon { cursor: pointer; } button.elfinder-info-button { margin: -3.5px 0; cursor: pointer; } /*********************** UPLOAD DIALOG **************************/ .elfinder-upload-dropbox { display: table-cell; text-align: center; vertical-align: middle; padding: 0.5em; border: 3px dashed #aaa; width: 9999px; height: 80px; overflow: hidden; word-break: keep-all; } .elfinder-upload-dropbox.ui-state-hover { background: #dfdfdf; border: 3px dashed #555; } .elfinder-upload-dialog-or { margin: .3em 0; text-align: center; } .elfinder-upload-dialog-wrapper { text-align: center; } .elfinder-upload-dialog-wrapper .ui-button { position: relative; overflow: hidden; } .elfinder-upload-dialog-wrapper .ui-button form { position: absolute; right: 0; top: 0; width: 100%; opacity: 0; filter: Alpha(Opacity=0); } .elfinder-upload-dialog-wrapper .ui-button form input { padding: 50px 0 0; font-size: 3em; width: 100%; } /* dialog for elFinder itself */ .dialogelfinder .dialogelfinder-drag { border-left: 0 solid; border-top: 0 solid; border-right: 0 solid; font-weight: normal; padding: 2px 12px; cursor: move; position: relative; text-align: left; } .elfinder-rtl .dialogelfinder-drag { text-align: right; } .dialogelfinder-drag-close { position: absolute; top: 50%; margin-top: -8px; } .elfinder-ltr .dialogelfinder-drag-close { right: 12px; } .elfinder-rtl .dialogelfinder-drag-close { left: 12px; } /*********************** RM CONFIRM **************************/ .elfinder-rm-title { margin-bottom: .5ex; } .elfinder-rm-title .elfinder-cwd-icon { float: left; width: 48px; height: 48px; margin-right: 1em; } .elfinder-rtl .elfinder-rm-title .elfinder-cwd-icon { float: right; margin-right: 0; margin-left: 1em; } .elfinder-rm-title strong { display: block; white-space: pre-wrap; word-break: normal; overflow: hidden; text-overflow: ellipsis; } .elfinder-rm-title + br { display: none; } .elfinder .elfinder-dialog .ui-dialog-content.elfinder-edit-editor{ padding: 0; } .elfinder-ltr .elfinder-info-tb tr td:first-child{ text-align:left; } .elfinder-dialog-info table.elfinder-info-tb tr{ display:block !important; } .elfinder-dialog-info table.elfinder-info-tb tr td:first-child{width: 96px;} /* New css Added here */ .ui-front.ui-dialog.elfinder-dialog.elfinder-dialog-notify .ui-widget-content .elfinder-dialog-icon{ bottom: inherit; top:25px; } .ui-front.ui-dialog.elfinder-dialog.elfinder-dialog-notify .ui-widget-content .elfinder-notify{ padding-left:50px; font-size: 12px; } .ui-front.ui-dialog.elfinder-dialog.elfinder-dialog-notify .ui-widget-content .elfinder-notify-progressbar{ margin-left: 5px; margin-top: 10px; } /* css for Arabic language icons*/ .wrap.wp-filemanager-wrap .elfinder-rtl .ui-front.ui-dialog .ui-dialog-content.ui-widget-content { padding-right: 56px; padding-left: unset; } .wrap.wp-filemanager-wrap .elfinder-rtl .ui-front.ui-dialog .ui-dialog-content.ui-widget-content .ui-helper-clearfix.elfinder-rm-title { margin-left: 0; margin-right: -49px; } .wrap.wp-filemanager-wrap .elfinder-rtl .ui-front.ui-dialog .ui-dialog-content.ui-widget-content .ui-helper-clearfix.elfinder-rm-title span.elfinder-cwd-icon:before { right: 0; min-width: 20px; max-width: 30px; }wp-file-manager/lib/css/elfinder.full.css000064400000351473151202472330014334 0ustar00/*! * elFinder - file manager for web * Version 2.1.46 (2019-01-14) * http://elfinder.org * * Copyright 2009-2019, Studio 42 * Licensed under a 3-clauses BSD license */ /* File: /css/commands.css */ /******************************************************************/ /* COMMANDS STYLES */ /******************************************************************/ /********************** COMMAND "RESIZE" ****************************/ .elfinder-resize-container { margin-top: .3em; } .elfinder-resize-type { float: left; margin-bottom: .4em; } .elfinder-resize-control { float: left; } .elfinder-resize-control input[type=number] { border: 1px solid #aaa; text-align: right; width: 4.5em; } .elfinder-mobile .elfinder-resize-control input[type=number] { width: 3.5em; } .elfinder-resize-control input.elfinder-resize-bg { text-align: center; width: 5em; direction: ltr; } .elfinder-dialog-resize .elfinder-resize-control-panel { margin-top: 10px; } .elfinder-dialog-resize .elfinder-resize-imgrotate, .elfinder-dialog-resize .elfinder-resize-pallet { cursor: pointer; } .elfinder-dialog-resize .elfinder-resize-picking { cursor: crosshair; } .elfinder-dialog-resize .elfinder-resize-grid8 + button { padding-top: 2px; padding-bottom: 2px; } .elfinder-resize-preview { width: 400px; height: 400px; padding: 10px; background: #fff; border: 1px solid #aaa; float: right; position: relative; overflow: hidden; text-align: left; direction: ltr; } .elfinder-resize-handle { position: relative; } .elfinder-resize-handle-hline, .elfinder-resize-handle-vline { position: absolute; background-image: url("../img/crop.gif"); } .elfinder-resize-handle-hline { width: 100%; height: 1px !important; background-repeat: repeat-x; } .elfinder-resize-handle-vline { width: 1px !important; height: 100%; background-repeat: repeat-y; } .elfinder-resize-handle-hline-top { top: 0; left: 0; } .elfinder-resize-handle-hline-bottom { bottom: 0; left: 0; } .elfinder-resize-handle-vline-left { top: 0; left: 0; } .elfinder-resize-handle-vline-right { top: 0; right: 0; } .elfinder-resize-handle-point { position: absolute; width: 8px; height: 8px; border: 1px solid #777; background: transparent; } .elfinder-resize-handle-point-n { top: 0; left: 50%; margin-top: -5px; margin-left: -5px; } .elfinder-resize-handle-point-ne { top: 0; right: 0; margin-top: -5px; margin-right: -5px; } .elfinder-resize-handle-point-e { top: 50%; right: 0; margin-top: -5px; margin-right: -5px; } .elfinder-resize-handle-point-se { bottom: 0; right: 0; margin-bottom: -5px; margin-right: -5px; } .elfinder-resize-handle-point-s { bottom: 0; left: 50%; margin-bottom: -5px; margin-left: -5px; } .elfinder-resize-handle-point-sw { bottom: 0; left: 0; margin-bottom: -5px; margin-left: -5px; } .elfinder-resize-handle-point-w { top: 50%; left: 0; margin-top: -5px; margin-left: -5px; } .elfinder-resize-handle-point-nw { top: 0; left: 0; margin-top: -5px; margin-left: -5px; } .elfinder-dialog.elfinder-dialog-resize .ui-resizable-e { width: 10px; height: 100%; } .elfinder-dialog.elfinder-dialog-resize .ui-resizable-s { width: 100%; height: 10px; } .elfinder-resize-loading { position: absolute; width: 200px; height: 30px; top: 50%; margin-top: -25px; left: 50%; margin-left: -100px; text-align: center; background: url(../img/progress.gif) center bottom repeat-x; } .elfinder-resize-row { margin-bottom: 9px; position: relative; } .elfinder-resize-label { float: left; width: 80px; padding-top: 3px; } .elfinder-resize-checkbox-label { border: 1px solid transparent; } .elfinder-dialog-resize .elfinder-resize-whctrls { margin: -20px 5px 0 5px; } .elfinder-ltr .elfinder-dialog-resize .elfinder-resize-whctrls { float: right; } .elfinder-rtl .elfinder-dialog-resize .elfinder-resize-whctrls { float: left; } .elfinder-dialog-resize .ui-resizable-e, .elfinder-dialog-resize .ui-resizable-w { height: 100%; width: 10px; } .elfinder-dialog-resize .ui-resizable-s, .elfinder-dialog-resize .ui-resizable-n { width: 100%; height: 10px; } .elfinder-dialog-resize .ui-resizable-e { margin-right: -7px; } .elfinder-dialog-resize .ui-resizable-w { margin-left: -7px; } .elfinder-dialog-resize .ui-resizable-s { margin-bottom: -7px; } .elfinder-dialog-resize .ui-resizable-n { margin-top: -7px; } .elfinder-dialog-resize .ui-resizable-se, .elfinder-dialog-resize .ui-resizable-sw, .elfinder-dialog-resize .ui-resizable-ne, .elfinder-dialog-resize .ui-resizable-nw { width: 10px; height: 10px; } .elfinder-dialog-resize .ui-resizable-se { background: transparent; bottom: 0; right: 0; margin-right: -7px; margin-bottom: -7px; } .elfinder-dialog-resize .ui-resizable-sw { margin-left: -7px; margin-bottom: -7px; } .elfinder-dialog-resize .ui-resizable-ne { margin-right: -7px; margin-top: -7px; } .elfinder-dialog-resize .ui-resizable-nw { margin-left: -7px; margin-top: -7px; } .elfinder-touch .elfinder-dialog-resize .ui-resizable-s, .elfinder-touch .elfinder-dialog-resize .ui-resizable-n { height: 20px; } .elfinder-touch .elfinder-dialog-resize .ui-resizable-e, .elfinder-touch .elfinder-dialog-resize .ui-resizable-w { width: 20px; } .elfinder-touch .elfinder-dialog-resize .ui-resizable-se, .elfinder-touch .elfinder-dialog-resize .ui-resizable-sw, .elfinder-touch .elfinder-dialog-resize .ui-resizable-ne, .elfinder-touch .elfinder-dialog-resize .ui-resizable-nw { width: 30px; height: 30px; } .elfinder-touch .elfinder-dialog-resize .elfinder-resize-preview .ui-resizable-se { width: 30px; height: 30px; margin: 0; } .elfinder-dialog-resize .ui-icon-grip-solid-vertical { position: absolute; top: 50%; right: 0; margin-top: -8px; margin-right: -11px; } .elfinder-dialog-resize .ui-icon-grip-solid-horizontal { position: absolute; left: 50%; bottom: 0; margin-left: -8px; margin-bottom: -11px;; } .elfinder-dialog-resize .elfinder-resize-row .ui-buttonset { float: right; } .elfinder-dialog-resize .elfinder-resize-degree input, .elfinder-dialog-resize input.elfinder-resize-quality { width: 3.5em; } .elfinder-mobile .elfinder-dialog-resize .elfinder-resize-degree input, .elfinder-mobile .elfinder-dialog-resize input.elfinder-resize-quality { width: 2.5em; } .elfinder-dialog-resize .elfinder-resize-degree button.ui-button { padding: 6px 8px; } .elfinder-dialog-resize button.ui-button span { padding: 0; } .elfinder-dialog-resize .elfinder-resize-jpgsize { font-size: 90%; } .ui-widget-content .elfinder-resize-container .elfinder-resize-rotate-slider { width: 195px; margin: 10px 7px; background-color: #fafafa; } .elfinder-dialog-resize .elfinder-resize-type span.ui-checkboxradio-icon { display: none; } .elfinder-resize-preset-container { box-sizing: border-box; border-radius: 5px; } /********************** COMMAND "EDIT" ****************************/ /* edit text file textarea */ .elfinder-file-edit { width: 100%; height: 100%; margin: 0; padding: 2px; border: 1px solid #ccc; box-sizing: border-box; resize: none; } .elfinder-touch .elfinder-file-edit { font-size: 16px; } /* edit area */ .elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor { background-color: #fff; } .elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor .elfinder-edit-imageeditor { width: 100%; height: 300px; max-height: 100%; text-align: center; } .elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor .elfinder-edit-imageeditor * { -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; user-select: none; } .elfinder-edit-imageeditor .tui-image-editor-main-container .tui-image-editor-main { top: 0; } .elfinder-edit-imageeditor .tui-image-editor-main-container .tui-image-editor-header { display: none; } .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-crop .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-flip .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-rotate .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-draw .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-shape .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-icon .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-text .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-mask .tui-image-editor-wrap, .elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-filter .tui-image-editor-wrap { height: calc(100% - 150px); } /* bottom margen for softkeyboard on fullscreen mode */ .elfinder-touch.elfinder-fullscreen-native textarea.elfinder-file-edit { padding-bottom: 20em; margin-bottom: -20em; } .elfinder-dialog-edit .ui-dialog-buttonpane .elfinder-dialog-confirm-encoding { font-size: 12px; } .ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras { margin: 0 1em 0 .2em; float: left; } .ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras-quality { padding-top: 6px; } .ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras select { font-size: 12px; margin-top: 8px; } .elfinder-dialog-edit .ui-dialog-buttonpane .ui-icon { cursor: pointer; } .elfinder-edit-spinner { position: absolute; top: 50%; text-align: center; width: 100%; font-size: 16pt; } .elfinder-dialog-edit .elfinder-edit-spinner .elfinder-spinner, .elfinder-dialog-edit .elfinder-edit-spinner .elfinder-spinner-text { float: none; } .elfinder-dialog-edit .elfinder-toast > div { width: 280px; } .elfinder-edit-onlineconvert-button { display: inline-block; width: 180px; min-height: 30px; vertical-align: top; } .elfinder-edit-onlineconvert-button button, .elfinder-edit-onlineconvert-bottom-btn button { cursor: pointer; } .elfinder-edit-onlineconvert-bottom-btn button.elfinder-button-ios-multiline { -webkit-appearance: none; border-radius: 16px; color: #000; text-align: center; padding: 8px; background-color: #eee; background-image: -webkit-linear-gradient(top, hsl(0,0%,98%) 0%,hsl(0,0%,77%) 100%); background-image: linear-gradient(to bottom, hsl(0,0%,98%) 0%,hsl(0,0%,77%) 100%); } .elfinder-edit-onlineconvert-button .elfinder-button-icon { margin: 0 10px; vertical-align: middle; cursor: pointer; } .elfinder-edit-onlineconvert-bottom-btn { text-align: center; margin: 10px 0 0; } .elfinder-edit-onlineconvert-link { margin-top: 1em; text-align: center; } .elfinder-edit-onlineconvert-link .elfinder-button-icon { background-image: url("../img/editor-icons.png"); background-repeat: no-repeat; background-position: 0 -144px; margin-bottom: -3px; } .elfinder-edit-onlineconvert-link a { text-decoration: none; } /********************** COMMAND "SORT" ****************************/ /* for list table header sort triangle icon */ div.elfinder-cwd-wrapper-list tr.ui-state-default td { position: relative; } div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { position: absolute; top: 4px; left: 0; right: 0; margin: auto 0px auto auto; } .elfinder-touch div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { top: 7px; } .elfinder-rtl div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { margin: auto auto auto 0px; } /********************** COMMAND "HELP" ****************************/ /* help dialog */ .elfinder-help { margin-bottom: .5em; -webkit-overflow-scrolling: touch; } /* fix tabs */ .elfinder-help .ui-tabs-panel { padding: .5em; overflow: auto; padding: 10px; } .elfinder-dialog .ui-tabs .ui-tabs-nav li { overflow: hidden; } .elfinder-dialog .ui-tabs .ui-tabs-nav li a { padding: .2em .8em; display: inline-block; } .elfinder-touch .elfinder-dialog .ui-tabs .ui-tabs-nav li a { padding: .5em .5em; } .elfinder-dialog .ui-tabs-active a { background: inherit; } .elfinder-help-shortcuts { height: auto; padding: 10px; margin: 0; box-sizing: border-box; } .elfinder-help-shortcut { white-space: nowrap; clear: both; } .elfinder-help-shortcut-pattern { float: left; width: 160px; } .elfinder-help-logo { width: 100px; height: 96px; float: left; margin-right: 1em; background: url('../img/logo.png') center center no-repeat; } .elfinder-help h3 { font-size: 1.5em; margin: .2em 0 .3em 0; } .elfinder-help-separator { clear: both; padding: .5em; } .elfinder-help-link { display: inline-block; margin-right: 12px; padding: 2px 0; white-space: nowrap; } .elfinder-rtl .elfinder-help-link { margin-right: 0; margin-left: 12px; } .elfinder-help .ui-priority-secondary { font-size: .9em; } .elfinder-help .ui-priority-primary { margin-bottom: 7px; } .elfinder-help-team { clear: both; text-align: right; border-bottom: 1px solid #ccc; margin: .5em 0; font-size: .9em; } .elfinder-help-team div { float: left; } .elfinder-help-license { font-size: .9em; } .elfinder-help-disabled { font-weight: bold; text-align: center; margin: 90px 0; } .elfinder-help .elfinder-dont-panic { display: block; border: 1px solid transparent; width: 200px; height: 200px; margin: 30px auto; text-decoration: none; text-align: center; position: relative; background: #d90004; -moz-box-shadow: 5px 5px 9px #111; -webkit-box-shadow: 5px 5px 9px #111; box-shadow: 5px 5px 9px #111; background: -moz-radial-gradient(80px 80px, circle farthest-corner, #d90004 35%, #960004 100%); background: -webkit-gradient(radial, 80 80, 60, 80 80, 120, from(#d90004), to(#960004)); -moz-border-radius: 100px; -webkit-border-radius: 100px; border-radius: 100px; outline: none; } .elfinder-help .elfinder-dont-panic span { font-size: 3em; font-weight: bold; text-align: center; color: #fff; position: absolute; left: 0; top: 45px; } ul.elfinder-help-integrations ul { margin-bottom: 1em; padding: 0; margin: 0 1em 1em; } ul.elfinder-help-integrations a { text-decoration: none; } ul.elfinder-help-integrations a:hover { text-decoration: underline; } .elfinder-help-debug { height: 100%; padding: 0; margin: 0; overflow: none; border: none; } .elfinder-help-debug .ui-tabs-panel { padding: 0; margin: 0; overflow: auto; } .elfinder-help-debug fieldset { margin-bottom: 10px; border-color: #778899; border-radius: 10px; } .elfinder-help-debug legend { font-size: 1.2em; font-weight: bold; color: #2e8b57; } .elfinder-help-debug dl { margin: 0; } .elfinder-help-debug dt { color: #778899; } .elfinder-help-debug dt:before { content: "["; } .elfinder-help-debug dt:after { content: "]"; } .elfinder-help-debug dd { margin-left: 1em; } /********************** COMMAND "PREFERENCE" ****************************/ .elfinder-dialog .elfinder-preference .ui-tabs-nav { margin-bottom: 1px; height: auto; } /* fix tabs */ .elfinder-preference .ui-tabs-panel { padding: 10px 10px 0; overflow: auto; box-sizing: border-box; -webkit-overflow-scrolling: touch; } .elfinder-preference a.ui-state-hover, .elfinder-preference label.ui-state-hover { border: none; } .elfinder-preference dl { width: 100%; display: inline-block; margin: .5em 0; } .elfinder-preference dt { display: block; width: 200px; clear: left; float: left; max-width: 50%; } .elfinder-rtl .elfinder-preference dt { clear: right; float: right; } .elfinder-preference dd { margin-bottom: 1em; } .elfinder-preference dt label { cursor: pointer; } .elfinder-preference dd label, .elfinder-preference dd input[type=checkbox] { white-space: nowrap; display: inline-block; cursor: pointer; } .elfinder-preference dt.elfinder-preference-checkboxes { width: 100%; max-width: none; } .elfinder-preference dd.elfinder-preference-checkboxes { padding-top: 3ex; } .elfinder-preference select { max-width: 100%; } .elfinder-preference dd.elfinder-preference-iconSize .ui-slider { width: 50%; max-width: 100px; display: inline-block; margin: 0 10px; } .elfinder-preference button { margin: 0 16px; } .elfinder-preference button + button { margin: 0 -10px; } .elfinder-preference .elfinder-preference-taball .elfinder-reference-hide-taball { display: none; } .elfinder-preference-theme fieldset { margin-bottom: 10px; } .elfinder-preference-theme legend a { font-size: 1.8em; text-decoration: none; cursor: pointer; } .elfinder-preference-theme dt { width: 20%; word-break: break-all; } .elfinder-preference-theme dt:after { content: " :"; } .elfinder-preference-theme dd { margin-inline-start: 20%; } .elfinder-preference img.elfinder-preference-theme-image { display: block; margin-left: auto; margin-right: auto; max-width: 90%; max-height: 200px; cursor: pointer; } .elfinder-preference-theme-btn { text-align: center; } .elfinder-preference-theme button.elfinder-preference-theme-default { display: inline; margin: 0 10px; font-size: 8pt; } /********************** COMMAND "INFO" ****************************/ .elfinder-rtl .elfinder-info-title .elfinder-cwd-icon:before { right: 33px; left: auto; } .elfinder-info-title .elfinder-cwd-icon.elfinder-cwd-bgurl:after { content: none; } /********************** COMMAND "UPLOAD" ****************************/ .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { position: absolute; bottom: 2px; width: 16px; height: 16px; padding: 10px; border: none; overflow: hidden; cursor: pointer; } .elfinder-ltr .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { left: 2px; } .elfinder-rtl .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { right: 2px; } /********************** COMMAND "RM" ****************************/ .elfinder-ltr .elfinder-rm-title .elfinder-cwd-icon:before { left: 38px; } .elfinder-rtl .elfinder-rm-title .elfinder-cwd-icon:before { right: 86px; left: auto; } .elfinder-rm-title .elfinder-cwd-icon.elfinder-cwd-bgurl:after { content: none; } /********************** COMMAND "RENAME" ****************************/ .elfinder-rename-batch div { margin: 5px 8px; } .elfinder-rename-batch .elfinder-rename-batch-name input { width: 100%; font-size: 1.6em; } .elfinder-rename-batch-type { text-align: center; } .elfinder-rename-batch .elfinder-rename-batch-type label { margin: 2px; font-size: .9em; } .elfinder-rename-batch-preview { padding: 0 8px; font-size: 1.1em; min-height: 4ex; } /* File: /css/common.css */ /*********************************************/ /* COMMON ELFINDER STUFFS */ /*********************************************/ /* for old jQuery UI */ .ui-front { z-index: 100; } /* common container */ .elfinder { padding: 0; position: relative; display: block; visibility: visible; font-size: 18px; font-family: Verdana, Arial, Helvetica, sans-serif; } /* prevent auto zoom on iOS */ .elfinder-ios input, .elfinder-ios select, .elfinder-ios textarea { font-size: 16px !important; } /* full screen mode */ .elfinder.elfinder-fullscreen > .ui-resizable-handle { display: none; } .elfinder-font-mono { line-height: 2ex; } /* in lazy execution status */ .elfinder.elfinder-processing * { cursor: progress !important } .elfinder.elfinder-processing.elfinder-touch .elfinder-workzone:after { position: absolute; top: 0; width: 100%; height: 3px; content: ''; left: 0; background-image: url(../img/progress.gif); opacity: .6; pointer-events: none; } /* for disable select of Touch devices */ .elfinder *:not(input):not(textarea):not(select):not([contenteditable=true]), .elfinder-contextmenu *:not(input):not(textarea):not(select):not([contenteditable=true]) { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; user-select: none; } .elfinder .overflow-scrolling-touch { -webkit-overflow-scrolling: touch; } /* right to left enviroment */ .elfinder-rtl { text-align: right; direction: rtl; } /* nav and cwd container */ .elfinder-workzone { padding: 0; position: relative; overflow: hidden; } /* dir/file permissions and symlink markers */ .elfinder-lock, .elfinder-perms, .elfinder-symlink { position: absolute; width: 16px; height: 16px; background-image: url(../img/toolbar.png); background-repeat: no-repeat; background-position: 0 -528px; } /* noaccess */ .elfinder-na .elfinder-perms { background-position: 0 -96px; } /* read only */ .elfinder-ro .elfinder-perms { background-position: 0 -64px; } /* write only */ .elfinder-wo .elfinder-perms { background-position: 0 -80px; } /* volume type group */ .elfinder-group .elfinder-perms { background-position: 0 0px; } /* locked */ .elfinder-lock { background-position: 0 -656px; } /* drag helper */ .elfinder-drag-helper { top: 0px; left: 0px; width: 70px; height: 60px; padding: 0 0 0 25px; z-index: 100000; will-change: left, top; } .elfinder-drag-helper.html5-native { position: absolute; top: -1000px; left: -1000px; } /* drag helper status icon (default no-drop) */ .elfinder-drag-helper-icon-status { position: absolute; width: 16px; height: 16px; left: 42px; top: 60px; background: url('../img/toolbar.png') 0 -96px no-repeat; display: block; } /* show "up-arrow" icon for move item */ .elfinder-drag-helper-move .elfinder-drag-helper-icon-status { background-position: 0 -720px; } /* show "plus" icon when ctrl/shift pressed */ .elfinder-drag-helper-plus .elfinder-drag-helper-icon-status { background-position: 0 -544px; } /* files num in drag helper */ .elfinder-drag-num { display: inline-box; position: absolute; top: 0; left: 0; width: auto; height: 14px; text-align: center; padding: 1px 3px 1px 3px; font-weight: bold; color: #fff; background-color: red; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } /* icon in drag helper */ .elfinder-drag-helper .elfinder-cwd-icon { margin: 0 0 0 -24px; float: left; } /* transparent overlay */ .elfinder-overlay { position: absolute; opacity: .2; filter: Alpha(Opacity=20); } /* panels under/below cwd (for search field etc) */ .elfinder .elfinder-panel { position: relative; background-image: none; padding: 7px 12px; } /* for html5 drag and drop */ [draggable=true] { -khtml-user-drag: element; } /* for place holder to content editable elements */ .elfinder [contentEditable=true]:empty:not(:focus):before { content: attr(data-ph); } /* bottom tray */ .elfinder div.elfinder-bottomtray { position: fixed; bottom: 0; max-width: 100%; opacity: .8; } .elfinder.elfinder-ltr div.elfinder-bottomtray { left: 0; } .elfinder.elfinder-rtl div.elfinder-bottomtray { right: 0; } /* tooltip */ .elfinder-ui-tooltip, .elfinder .elfinder-ui-tooltip { font-size: 14px; padding: 2px 4px; } /* File: /css/contextmenu.css */ /* menu and submenu */ .elfinder .elfinder-contextmenu, .elfinder .elfinder-contextmenu-sub { position: absolute; border: 1px solid #aaa; background: #fff; color: #555; padding: 4px 0; top: 0; left: 0; } /* submenu */ .elfinder .elfinder-contextmenu-sub { top: 5px; } /* submenu in rtl/ltr enviroment */ .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub { margin-left: -5px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub { margin-right: -5px; } /* menu item */ .elfinder .elfinder-contextmenu-header { margin-top: -4px; padding: 0 .5em .2ex; border: none; text-align: center; } .elfinder .elfinder-contextmenu-header span { font-weight: normal; font-size: 0.8em; font-weight: bolder; } .elfinder .elfinder-contextmenu-item { position: relative; display: block; padding: 4px 30px; text-decoration: none; white-space: nowrap; cursor: default; } .elfinder .elfinder-contextmenu-item.ui-state-active { border: none; } .elfinder .elfinder-contextmenu-item .ui-icon { width: 16px; height: 16px; position: absolute; left: auto; right: auto; top: 50%; margin-top: -8px; } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item .ui-icon { left: 2px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item .ui-icon { right: 2px; } .elfinder-touch .elfinder-contextmenu-item { padding: 12px 38px; } /* root icon of each volume */ .elfinder-navbar-root-local.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_local.svg"); background-size: contain; } .elfinder-navbar-root-trash.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_trash.svg"); background-size: contain; } .elfinder-navbar-root-ftp.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_ftp.svg"); background-size: contain; } .elfinder-navbar-root-sql.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_sql.svg"); background-size: contain; } .elfinder-navbar-root-dropbox.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_dropbox.svg"); background-size: contain; } .elfinder-navbar-root-googledrive.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_googledrive.svg"); background-size: contain; } .elfinder-navbar-root-onedrive.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_onedrive.svg"); background-size: contain; } .elfinder-navbar-root-box.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_box.svg"); background-size: contain; } .elfinder-navbar-root-zip.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_zip.svg"); background-size: contain; } .elfinder-navbar-root-network.elfinder-contextmenu-icon { background-image: url("../img/volume_icon_network.svg"); background-size: contain; } /* text in item */ .elfinder .elfinder-contextmenu .elfinder-contextmenu-item span { display: block; } /* submenu item in rtl/ltr enviroment */ .elfinder .elfinder-contextmenu-sub .elfinder-contextmenu-item { padding-left: 12px; padding-right: 12px; } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item { text-align: left; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item { text-align: right; } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon { padding-left: 28px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon { padding-right: 28px; } .elfinder-touch .elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon { padding-left: 36px; } .elfinder-touch .elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon { padding-right: 36px; } /* command/submenu icon */ .elfinder .elfinder-contextmenu-extra-icon, .elfinder .elfinder-contextmenu-arrow, .elfinder .elfinder-contextmenu-icon { position: absolute; top: 50%; margin-top: -8px; overflow: hidden; } /* command icon in rtl/ltr enviroment */ .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-icon { left: 8px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-icon { right: 8px; } .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-extra-icon { right: 8px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-extra-icon { left: 8px; } /* arrow icon */ .elfinder .elfinder-contextmenu-arrow { width: 16px; height: 16px; background: url('../img/arrows-normal.png') 5px 4px no-repeat; } /* arrow icon in rtl/ltr enviroment */ .elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-arrow { right: 5px; } .elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-arrow { left: 5px; background-position: 0 -10px; } /* command extra icon's , tag */ .elfinder .elfinder-contextmenu-extra-icon a, .elfinder .elfinder-contextmenu-extra-icon span { display: inline-block; width: 100%; height: 100%; padding: 20px; margin: 0; color: transparent !important; text-decoration: none; cursor: pointer; } /* disable ui border/bg image on hover */ .elfinder .elfinder-contextmenu .ui-state-hover { border: 0 solid; background-image: none; } /* separator */ .elfinder .elfinder-contextmenu-separator { height: 0px; border-top: 1px solid #ccc; margin: 0 1px; } /* for CSS style priority to ui-state-disabled - "background-image: none" */ .elfinder .elfinder-contextmenu-item .elfinder-button-icon.ui-state-disabled { background-image: url('../img/toolbar.png'); } /* File: /css/cwd.css */ /******************************************************************/ /* CURRENT DIRECTORY STYLES */ /******************************************************************/ /* cwd container to avoid selectable on scrollbar */ .elfinder-cwd-wrapper { overflow: auto; position: relative; padding: 2px; margin: 0; } .elfinder-cwd-wrapper-list { padding: 0; } /* container */ .elfinder-cwd { position: absolute; top: 0; cursor: default; padding: 0; margin: 0; -ms-touch-action: auto; touch-action: auto; min-width: 100%; } .elfinder-ltr .elfinder-cwd { left: 0; } .elfinder-rtl .elfinder-cwd { right: 0; } .elfinder-cwd.elfinder-table-header-sticky { position: -webkit-sticky; position: -ms-sticky; position: sticky; top: 0; left: auto; right: auto; width: -webkit-max-content; width: -moz-max-content; width: -ms-max-content; width: max-content; height: 0; overflow: visible; } .elfinder-cwd.elfinder-table-header-sticky table { border-top: 2px solid; padding-top: 0; } .elfinder-cwd.elfinder-table-header-sticky td { display: inline-block; } .elfinder-droppable-active .elfinder-cwd.elfinder-table-header-sticky table { border-top: 2px solid transparent; } /* fixed table header container */ .elfinder-cwd-fixheader .elfinder-cwd { position: relative; } /* container active on dropenter */ .elfinder .elfinder-cwd-wrapper.elfinder-droppable-active { outline: 2px solid #8cafed; outline-offset: -2px; } .elfinder-cwd-wrapper-empty .elfinder-cwd:after { display: block; position: absolute; height: auto; width: 90%; width: calc(100% - 20px); position: absolute; top: 50%; left: 50%; -ms-transform: translateY(-50%) translateX(-50%); -webkit-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); line-height: 1.5em; text-align: center; white-space: pre-wrap; opacity: 0.6; filter: Alpha(Opacity=60); font-weight: bold; } .elfinder-cwd-file .elfinder-cwd-select { position: absolute; top: 0px; left: 0px; background-color: transparent; opacity: .4; filter: Alpha(Opacity=40); } .elfinder-mobile .elfinder-cwd-file .elfinder-cwd-select { width: 30px; height: 30px; } .elfinder-cwd-file.ui-selected .elfinder-cwd-select { opacity: .8; filter: Alpha(Opacity=80); } .elfinder-rtl .elfinder-cwd-file .elfinder-cwd-select { left: auto; right: 0px; } .elfinder .elfinder-cwd-selectall { position: absolute; width: 30px; height: 30px; top: 0px; opacity: .8; filter: Alpha(Opacity=80); } .elfinder .elfinder-workzone.elfinder-cwd-wrapper-empty .elfinder-cwd-selectall { display: none; } /************************** ICONS VIEW ********************************/ .elfinder-ltr .elfinder-workzone .elfinder-cwd-selectall { text-align: right; right: 18px; left: auto; } .elfinder-rtl .elfinder-workzone .elfinder-cwd-selectall { text-align: left; right: auto; left: 18px; } .elfinder-ltr.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall { right: 0px; } .elfinder-rtl.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall { left: 0px; } .elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-select.ui-state-hover { background-color: transparent; } /* file container */ .elfinder-cwd-view-icons .elfinder-cwd-file { width: 120px; height: 90px; padding-bottom: 2px; cursor: default; border: none; position: relative; } .elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-active { border: none; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-icons .elfinder-cwd-file { float: left; margin: 0 3px 2px 0; } .elfinder-rtl .elfinder-cwd-view-icons .elfinder-cwd-file { float: right; margin: 0 0 5px 3px; } /* remove ui hover class border */ .elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-hover { border: 0 solid; } /* icon wrapper to create selected highlight around icon */ .elfinder-cwd-view-icons .elfinder-cwd-file-wrapper { width: 52px; height: 52px; margin: 1px auto 1px auto; padding: 2px; position: relative; } /*** Custom Icon Size size1 - size3 ***/ /* type badge */ .elfinder-cwd-size1 .elfinder-cwd-icon:before, .elfinder-cwd-size2 .elfinder-cwd-icon:before, .elfinder-cwd-size3 .elfinder-cwd-icon:before { top: 3px; display: block; } /* size1 */ .elfinder-cwd-size1.elfinder-cwd-view-icons .elfinder-cwd-file { width: 120px; height: 112px; } .elfinder-cwd-size1.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper { width: 74px; height: 74px; } .elfinder-cwd-size1 .elfinder-cwd-icon { -ms-transform-origin: top center; -ms-transform: scale(1.5); -webkit-transform-origin: top center; -webkit-transform: scale(1.5); transform-origin: top center; transform: scale(1.5); } .elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl:before { -ms-transform-origin: top left; -ms-transform: scale(1.35) translate(-4px, 15%); -webkit-transform-origin: top left; -webkit-transform: scale(1.35) translate(-4px, 15%); transform-origin: top left; transform: scale(1.35) translate(-4px, 15%); } .elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl:after { -ms-transform: scale(1) translate(10px, -5px); -webkit-transform: scale(1) translate(10px, -5px); transform: scale(1) translate(10px, -5px); } .elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl { -ms-transform-origin: center center; -ms-transform: scale(1); -webkit-transform-origin: center center; -webkit-transform: scale(1); transform-origin: center center; transform: scale(1); width: 72px; height: 72px; -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; } /* size2 */ .elfinder-cwd-size2.elfinder-cwd-view-icons .elfinder-cwd-file { width: 140px; height: 134px; } .elfinder-cwd-size2.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper { width: 98px; height: 98px; } .elfinder-cwd-size2 .elfinder-cwd-icon { -ms-transform-origin: top center; -ms-transform: scale(2); -webkit-transform-origin: top center; -webkit-transform: scale(2); transform-origin: top center; transform: scale(2); } .elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl:before { -ms-transform-origin: top left; -ms-transform: scale(1.8) translate(-5px, 18%); -webkit-transform-origin: top left; -webkit-transform: scale(1.8) translate(-5px, 18%); transform-origin: top left; transform: scale(1.8) translate(-5px, 18%); } .elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl:after { -ms-transform: scale(1.1) translate(0px, 10px); -webkit-transform: scale(1.1) translate(0px, 10px); transform: scale(1.1) translate(0px, 10px); } .elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl { -ms-transform-origin: center center; -ms-transform: scale(1); -webkit-transform-origin: center center; -webkit-transform: scale(1); transform-origin: center center; transform: scale(1); width: 96px; height: 96px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } /* size3 */ .elfinder-cwd-size3.elfinder-cwd-view-icons .elfinder-cwd-file { width: 174px; height: 158px; } .elfinder-cwd-size3.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper { width: 122px; height: 122px; } .elfinder-cwd-size3 .elfinder-cwd-icon { -ms-transform-origin: top center; -ms-transform: scale(2.5); -webkit-transform-origin: top center; -webkit-transform: scale(2.5); transform-origin: top center; transform: scale(2.5); } .elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl:before { -ms-transform-origin: top left; -ms-transform: scale(2.25) translate(-6px, 20%); -webkit-transform-origin: top left; -webkit-transform: scale(2.25) translate(-6px, 20%); transform-origin: top left; transform: scale(2.25) translate(-6px, 20%); } .elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl:after { -ms-transform: scale(1.2) translate(-9px, 22px); -webkit-transform: scale(1.2) translate(-9px, 22px); transform: scale(1.2) translate(-9px, 22px); } .elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl { -ms-transform-origin: center center; -ms-transform: scale(1); -webkit-transform-origin: center center; -webkit-transform: scale(1); transform-origin: center center; transform: scale(1); width: 120px; height: 120px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; } /* file name place */ .elfinder-cwd-view-icons .elfinder-cwd-filename { text-align: center; max-height: 2.4em; line-height: 1.2em; white-space: pre-line; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; margin: 3px 1px 0 1px; padding: 1px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; /* for webkit CSS3 */ word-break: break-word; overflow-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } /* permissions/symlink markers */ .elfinder-cwd-view-icons .elfinder-perms { bottom: 4px; right: 2px; } .elfinder-cwd-view-icons .elfinder-lock { top: -3px; right: -2px; } .elfinder-cwd-view-icons .elfinder-symlink { bottom: 6px; left: 0px; } /* icon/thumbnail */ .elfinder-cwd-icon { display: block; width: 48px; height: 48px; margin: 0 auto; background-image: url('../img/icons-big.svg'); background-image: url('../img/icons-big.png') \9; background-position: 0 0; background-repeat: no-repeat; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; } /* volume icon of root in folder */ .elfinder-navbar-root-local .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-local td .elfinder-cwd-icon { background-image: url("../img/volume_icon_local.svg"); background-image: url("../img/volume_icon_local.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-trash .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-trash.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-trash td .elfinder-cwd-icon { background-image: url("../img/volume_icon_trash.svg"); background-image: url("../img/volume_icon_trash.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-trash.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-ftp .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-ftp td .elfinder-cwd-icon { background-image: url("../img/volume_icon_ftp.svg"); background-image: url("../img/volume_icon_ftp.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-sql .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-sql td .elfinder-cwd-icon { background-image: url("../img/volume_icon_sql.svg"); background-image: url("../img/volume_icon_sql.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-dropbox .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-dropbox td .elfinder-cwd-icon { background-image: url("../img/volume_icon_dropbox.svg"); background-image: url("../img/volume_icon_dropbox.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-googledrive .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-googledrive td .elfinder-cwd-icon { background-image: url("../img/volume_icon_googledrive.svg"); background-image: url("../img/volume_icon_googledrive.png") \9; background-position: 0 0; background-size: contain; } .elfinder-navbar-root-onedrive .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-onedrive td .elfinder-cwd-icon { background-image: url("../img/volume_icon_onedrive.svg"); background-image: url("../img/volume_icon_onedrive.png") \9; background-position: 0 0; background-size: contain; } .elfinder-navbar-root-box .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-box td .elfinder-cwd-icon { background-image: url("../img/volume_icon_box.svg"); background-image: url("../img/volume_icon_box.png") \9; background-position: 0 0; background-size: contain; } .elfinder-navbar-root-zip .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-zip.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-zip td .elfinder-cwd-icon { background-image: url("../img/volume_icon_zip.svg"); background-image: url("../img/volume_icon_zip.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } .elfinder-navbar-root-network .elfinder-cwd-icon, .elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon, .elfinder-cwd-view-list .elfinder-navbar-root-network td .elfinder-cwd-icon { background-image: url("../img/volume_icon_network.svg"); background-image: url("../img/volume_icon_network.png") \9; background-position: 0 0; background-size: contain; } .elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon { background-position: 1px -1px; } /* type badge in "icons" view */ .elfinder-cwd-icon:before { content: none; position: absolute; left: 0px; top: 5px; min-width: 20px; max-width: 84px; text-align: center; padding: 0px 4px 1px; border-radius: 4px; font-family: Verdana; font-size: 10px; line-height: 1.3em; -webkit-transform: scale(0.9); -moz-transform: scale(0.9); -ms-transform: scale(0.9); -o-transform: scale(0.9); transform: scale(0.9); } .elfinder-cwd-view-icons .elfinder-cwd-icon.elfinder-cwd-bgurl:before { left: -10px; } /* addtional type badge name */ .elfinder-cwd-icon.elfinder-cwd-icon-mp2t:before { content: 'ts' } .elfinder-cwd-icon.elfinder-cwd-icon-dash-xml:before { content: 'dash' } .elfinder-cwd-icon.elfinder-cwd-icon-x-mpegurl:before { content: 'hls' } .elfinder-cwd-icon.elfinder-cwd-icon-x-c:before { content: 'c++' } /* thumbnail image */ .elfinder-cwd-icon.elfinder-cwd-bgurl { background-position: center center; background-repeat: no-repeat; -moz-background-size: contain; background-size: contain; } /* thumbnail self */ .elfinder-cwd-icon.elfinder-cwd-bgurl.elfinder-cwd-bgself { -moz-background-size: cover; background-size: cover; } /* thumbnail crop*/ .elfinder-cwd-icon.elfinder-cwd-bgurl { -moz-background-size: cover; background-size: cover; } .elfinder-cwd-icon.elfinder-cwd-bgurl:after { content: ' '; } .elfinder-cwd-bgurl:after { position: relative; display: inline-block; top: 36px; left: -38px; width: 48px; height: 48px; background-image: url('../img/icons-big.svg'); background-image: url('../img/icons-big.png') \9; background-repeat: no-repeat; background-size: auto !important; opacity: .8; filter: Alpha(Opacity=60); -webkit-transform-origin: 54px -24px; -webkit-transform: scale(.6); -moz-transform-origin: 54px -24px; -moz-transform: scale(.6); -ms-transform-origin: 54px -24px; -ms-transform: scale(.6); -o-transform-origin: 54px -24px; -o-transform: scale(.6); transform-origin: 54px -24px; transform: scale(.6); } /* thumbnail image and draging icon */ .elfinder-cwd-icon.elfinder-cwd-icon-drag { width: 48px; height: 48px; } /* thumbnail image and draging icon overlay none */ .elfinder-cwd-icon.elfinder-cwd-icon-drag:before, .elfinder-cwd-icon.elfinder-cwd-icon-drag:after, .elfinder-cwd-icon-image.elfinder-cwd-bgurl:after, .elfinder-cwd-icon-directory.elfinder-cwd-bgurl:after { content: none; } /* "opened folder" icon on dragover */ .elfinder-cwd .elfinder-droppable-active .elfinder-cwd-icon { background-position: 0 -100px; } .elfinder-cwd .elfinder-droppable-active { outline: 2px solid #8cafed; outline-offset: -2px; } /* mimetypes icons */ .elfinder-cwd-icon-directory { background-position: 0 -50px; } .elfinder-cwd-icon-application:after, .elfinder-cwd-icon-application { background-position: 0 -150px; } .elfinder-cwd-icon-text:after, .elfinder-cwd-icon-text { background-position: 0 -1350px; } .elfinder-cwd-icon-plain:after, .elfinder-cwd-icon-plain, .elfinder-cwd-icon-x-empty:after, .elfinder-cwd-icon-x-empty { background-position: 0 -200px; } .elfinder-cwd-icon-image:after, .elfinder-cwd-icon-vnd-adobe-photoshop:after, .elfinder-cwd-icon-image, .elfinder-cwd-icon-vnd-adobe-photoshop { background-position: 0 -250px; } .elfinder-cwd-icon-postscript:after, .elfinder-cwd-icon-postscript { background-position: 0 -1550px; } .elfinder-cwd-icon-audio:after, .elfinder-cwd-icon-audio { background-position: 0 -300px; } .elfinder-cwd-icon-video:after, .elfinder-cwd-icon-video, .elfinder-cwd-icon-flash-video, .elfinder-cwd-icon-dash-xml, .elfinder-cwd-icon-vnd-apple-mpegurl, .elfinder-cwd-icon-x-mpegurl { background-position: 0 -350px; } .elfinder-cwd-icon-rtf:after, .elfinder-cwd-icon-rtfd:after, .elfinder-cwd-icon-rtf, .elfinder-cwd-icon-rtfd { background-position: 0 -400px; } .elfinder-cwd-icon-pdf:after, .elfinder-cwd-icon-pdf { background-position: 0 -450px; } .elfinder-cwd-icon-ms-excel, .elfinder-cwd-icon-ms-excel:after, .elfinder-cwd-icon-vnd-ms-excel, .elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-excel:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template:after { background-position: 0 -1450px } .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet, .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template, .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template:after, .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet:after { background-position: 0 -1700px } .elfinder-cwd-icon-vnd-ms-powerpoint, .elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-powerpoint:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template:after { background-position: 0 -1400px } .elfinder-cwd-icon-vnd-oasis-opendocument-presentation, .elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template, .elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template:after, .elfinder-cwd-icon-vnd-oasis-opendocument-presentation:after { background-position: 0 -1650px } .elfinder-cwd-icon-msword, .elfinder-cwd-icon-msword:after, .elfinder-cwd-icon-vnd-ms-word, .elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12, .elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12:after, .elfinder-cwd-icon-vnd-ms-word:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document:after, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template:after { background-position: 0 -1500px } .elfinder-cwd-icon-vnd-oasis-opendocument-text, .elfinder-cwd-icon-vnd-oasis-opendocument-text-master, .elfinder-cwd-icon-vnd-oasis-opendocument-text-master:after, .elfinder-cwd-icon-vnd-oasis-opendocument-text-template, .elfinder-cwd-icon-vnd-oasis-opendocument-text-template:after, .elfinder-cwd-icon-vnd-oasis-opendocument-text-web, .elfinder-cwd-icon-vnd-oasis-opendocument-text-web:after, .elfinder-cwd-icon-vnd-oasis-opendocument-text:after { background-position: 0 -1750px } .elfinder-cwd-icon-vnd-ms-office, .elfinder-cwd-icon-vnd-ms-office:after { background-position: 0 -500px } .elfinder-cwd-icon-vnd-oasis-opendocument-chart, .elfinder-cwd-icon-vnd-oasis-opendocument-chart:after, .elfinder-cwd-icon-vnd-oasis-opendocument-database, .elfinder-cwd-icon-vnd-oasis-opendocument-database:after, .elfinder-cwd-icon-vnd-oasis-opendocument-formula, .elfinder-cwd-icon-vnd-oasis-opendocument-formula:after, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template:after, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics:after, .elfinder-cwd-icon-vnd-oasis-opendocument-image, .elfinder-cwd-icon-vnd-oasis-opendocument-image:after, .elfinder-cwd-icon-vnd-openofficeorg-extension, .elfinder-cwd-icon-vnd-openofficeorg-extension:after { background-position: 0 -1600px } .elfinder-cwd-icon-html:after, .elfinder-cwd-icon-html { background-position: 0 -550px; } .elfinder-cwd-icon-css:after, .elfinder-cwd-icon-css { background-position: 0 -600px; } .elfinder-cwd-icon-javascript:after, .elfinder-cwd-icon-x-javascript:after, .elfinder-cwd-icon-javascript, .elfinder-cwd-icon-x-javascript { background-position: 0 -650px; } .elfinder-cwd-icon-x-perl:after, .elfinder-cwd-icon-x-perl { background-position: 0 -700px; } .elfinder-cwd-icon-x-python:after, .elfinder-cwd-icon-x-python { background-position: 0 -750px; } .elfinder-cwd-icon-x-ruby:after, .elfinder-cwd-icon-x-ruby { background-position: 0 -800px; } .elfinder-cwd-icon-x-sh:after, .elfinder-cwd-icon-x-shellscript:after, .elfinder-cwd-icon-x-sh, .elfinder-cwd-icon-x-shellscript { background-position: 0 -850px; } .elfinder-cwd-icon-x-c:after, .elfinder-cwd-icon-x-csrc:after, .elfinder-cwd-icon-x-chdr:after, .elfinder-cwd-icon-x-c--:after, .elfinder-cwd-icon-x-c--src:after, .elfinder-cwd-icon-x-c--hdr:after, .elfinder-cwd-icon-x-java:after, .elfinder-cwd-icon-x-java-source:after, .elfinder-cwd-icon-x-c, .elfinder-cwd-icon-x-csrc, .elfinder-cwd-icon-x-chdr, .elfinder-cwd-icon-x-c--, .elfinder-cwd-icon-x-c--src, .elfinder-cwd-icon-x-c--hdr, .elfinder-cwd-icon-x-java, .elfinder-cwd-icon-x-java-source { background-position: 0 -900px; } .elfinder-cwd-icon-x-php:after, .elfinder-cwd-icon-x-php { background-position: 0 -950px; } .elfinder-cwd-icon-xml:after, .elfinder-cwd-icon-xml { background-position: 0 -1000px; } .elfinder-cwd-icon-zip:after, .elfinder-cwd-icon-x-zip:after, .elfinder-cwd-icon-x-xz:after, .elfinder-cwd-icon-x-7z-compressed:after, .elfinder-cwd-icon-zip, .elfinder-cwd-icon-x-zip, .elfinder-cwd-icon-x-xz, .elfinder-cwd-icon-x-7z-compressed { background-position: 0 -1050px; } .elfinder-cwd-icon-x-gzip:after, .elfinder-cwd-icon-x-tar:after, .elfinder-cwd-icon-x-gzip, .elfinder-cwd-icon-x-tar { background-position: 0 -1100px; } .elfinder-cwd-icon-x-bzip:after, .elfinder-cwd-icon-x-bzip2:after, .elfinder-cwd-icon-x-bzip, .elfinder-cwd-icon-x-bzip2 { background-position: 0 -1150px; } .elfinder-cwd-icon-x-rar:after, .elfinder-cwd-icon-x-rar-compressed:after, .elfinder-cwd-icon-x-rar, .elfinder-cwd-icon-x-rar-compressed { background-position: 0 -1200px; } .elfinder-cwd-icon-x-shockwave-flash:after, .elfinder-cwd-icon-x-shockwave-flash { background-position: 0 -1250px; } .elfinder-cwd-icon-group { background-position: 0 -1300px; } /* textfield inside icon */ .elfinder-cwd-filename input { width: 100%; border: none; margin: 0; padding: 0; } .elfinder-cwd-view-icons input { text-align: center; } .elfinder-cwd-view-icons textarea { width: 100%; border: 0px solid; margin: 0; padding: 0; text-align: center; overflow: hidden; resize: none; } .elfinder-cwd-view-icons { text-align: center; } /************************************ LIST VIEW ************************************/ .elfinder-cwd-wrapper.elfinder-cwd-fixheader .elfinder-cwd::after { display: none; } .elfinder-cwd table { width: 100%; border-collapse: separate; border: 0 solid; margin: 0 0 10px 0; border-spacing: 0; box-sizing: padding-box; padding: 2px; position: relative; } .elfinder-cwd table td { /* fix conflict with Bootstrap CSS */ box-sizing: content-box; } .elfinder-cwd-wrapper-list.elfinder-cwd-fixheader { position: absolute; overflow: hidden; } .elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before { content: ''; position: absolute; width: 100%; top: 0; height: 3px; background-color: white; } .elfinder-droppable-active + .elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before { background-color: #8cafed; } .elfinder .elfinder-workzone div.elfinder-cwd-fixheader table { table-layout: fixed; } .elfinder .elfinder-cwd table tbody.elfinder-cwd-fixheader { position: relative; } .elfinder-ltr .elfinder-cwd thead .elfinder-cwd-selectall { text-align: left; right: auto; left: 0px; padding-top: 3px; } .elfinder-rtl .elfinder-cwd thead .elfinder-cwd-selectall { text-align: right; right: 0px; left: auto; padding-top: 3px; } .elfinder-touch .elfinder-cwd thead .elfinder-cwd-selectall { padding-top: 4px; } .elfinder .elfinder-cwd table thead tr { border-left: 0 solid; border-top: 0 solid; border-right: 0 solid; } .elfinder .elfinder-cwd table thead td { padding: 4px 14px; } .elfinder-ltr .elfinder-cwd.elfinder-has-checkbox table thead td:first-child { padding: 4px 14px 4px 22px; } .elfinder-rtl .elfinder-cwd.elfinder-has-checkbox table thead td:first-child { padding: 4px 22px 4px 14px; } .elfinder-touch .elfinder-cwd table thead td, .elfinder-touch .elfinder-cwd.elfinder-has-checkbox table thead td:first-child { padding-top: 8px; padding-bottom: 8px; } .elfinder .elfinder-cwd table thead td.ui-state-active { background: #ebf1f6; background: -moz-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ebf1f6), color-stop(50%, #abd3ee), color-stop(51%, #89c3eb), color-stop(100%, #d5ebfb)); background: -webkit-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); background: -o-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); background: -ms-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); background: linear-gradient(to bottom, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebf1f6', endColorstr='#d5ebfb', GradientType=0); } .elfinder .elfinder-cwd table td { padding: 4px 12px; white-space: pre; overflow: hidden; text-align: right; cursor: default; border: 0 solid; } .elfinder .elfinder-cwd table tbody td:first-child { position: relative } .elfinder .elfinder-cwd table td div { box-sizing: content-box; } tr.elfinder-cwd-file td .elfinder-cwd-select { padding-top: 3px; } .elfinder-mobile tr.elfinder-cwd-file td .elfinder-cwd-select { width: 40px; } .elfinder-touch tr.elfinder-cwd-file td .elfinder-cwd-select { padding-top: 10px; } .elfinder-touch .elfinder-cwd tr td { padding: 10px 12px; } .elfinder-touch .elfinder-cwd tr.elfinder-cwd-file td { padding: 13px 12px; } .elfinder-ltr .elfinder-cwd table td { text-align: right; } .elfinder-ltr .elfinder-cwd table td:first-child { text-align: left; } .elfinder-rtl .elfinder-cwd table td { text-align: left; } .elfinder-rtl .elfinder-cwd table td:first-child { text-align: right; } .elfinder-odd-row { background: #eee; } /* filename container */ .elfinder-cwd-view-list .elfinder-cwd-file-wrapper { width: 97%; position: relative; } /* filename container in ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper { margin-left: 8px; } .elfinder-rtl .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper { margin-right: 8px; } .elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-filename { padding-left: 23px; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-filename { padding-right: 23px; } /* premissions/symlink marker */ .elfinder-cwd-view-list .elfinder-perms, .elfinder-cwd-view-list .elfinder-lock, .elfinder-cwd-view-list .elfinder-symlink { margin-top: -6px; opacity: .6; filter: Alpha(Opacity=60); } .elfinder-cwd-view-list .elfinder-perms { bottom: -4px; } .elfinder-cwd-view-list .elfinder-lock { top: 0px; } .elfinder-cwd-view-list .elfinder-symlink { bottom: -4px; } /* markers in ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-list .elfinder-perms { left: 8px; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-perms { right: -8px; } .elfinder-ltr .elfinder-cwd-view-list .elfinder-lock { left: 10px; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-lock { right: -10px; } .elfinder-ltr .elfinder-cwd-view-list .elfinder-symlink { left: -7px; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-symlink { right: 7px; } /* file icon */ .elfinder-cwd-view-list td .elfinder-cwd-icon { width: 16px; height: 16px; position: absolute; top: 50%; margin-top: -8px; background-image: url(../img/icons-small.png); } /* icon in ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-icon { left: 0; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-icon { right: 0; } /* type badge, thumbnail image overlay */ .elfinder-cwd-view-list .elfinder-cwd-icon:before, .elfinder-cwd-view-list .elfinder-cwd-icon:after { content: none; } /* table header resize handle */ .elfinder-cwd-view-list thead td .ui-resizable-handle { height: 100%; top: 6px; } .elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-handle { top: -4px; margin: 10px; } .elfinder-cwd-view-list thead td .ui-resizable-e { right: -7px; } .elfinder-cwd-view-list thead td .ui-resizable-w { left: -7px; } .elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-e { right: -16px; } .elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-w { left: -16px; } /* empty message */ .elfinder-cwd-wrapper-empty .elfinder-cwd-view-list.elfinder-cwd:after { margin-top: 0; } /* overlay message board */ .elfinder-cwd-message-board { position: absolute; position: -webkit-sticky; position: sticky; width: 100%; height: calc(100% - 0.01px); /* for Firefox scroll problem */ top: 0; left: 0; margin: 0; padding: 0; pointer-events: none; background-color: transparent; } /* overlay message board for trash */ .elfinder-cwd-wrapper-trash .elfinder-cwd-message-board { background-image: url(../img/trashmesh.png); } .elfinder-cwd-message-board .elfinder-cwd-trash { position: absolute; bottom: 0; font-size: 30px; width: 100%; text-align: right; display: none; } .elfinder-rtl .elfinder-cwd-message-board .elfinder-cwd-trash { text-align: left; } .elfinder-mobile .elfinder-cwd-message-board .elfinder-cwd-trash { font-size: 20px; } .elfinder-cwd-wrapper-trash .elfinder-cwd-message-board .elfinder-cwd-trash { display: block; opacity: .3; } /* overlay message board for expires */ .elfinder-cwd-message-board .elfinder-cwd-expires { position: absolute; bottom: 0; font-size: 24px; width: 100%; text-align: right; opacity: .25; } .elfinder-rtl .elfinder-cwd-message-board .elfinder-cwd-expires { text-align: left; } .elfinder-mobile .elfinder-cwd-message-board .elfinder-cwd-expires { font-size: 20px; } /* File: /css/dialog.css */ /*********************************************/ /* DIALOGS STYLES */ /*********************************************/ /* common dialogs class */ .std42-dialog { padding: 0; position: absolute; left: auto; right: auto; box-sizing: border-box; } .std42-dialog.elfinder-dialog-minimized { overFlow: hidden; position: relative; float: left; width: auto; cursor: pointer; } .elfinder-rtl .std42-dialog.elfinder-dialog-minimized { float: right; } .std42-dialog input { border: 1px solid; } /* titlebar */ .std42-dialog .ui-dialog-titlebar { border-left: 0 solid transparent; border-top: 0 solid transparent; border-right: 0 solid transparent; font-weight: normal; padding: .2em 1em; } .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar { padding: 0 .5em; height: 20px; } .elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar { padding: .3em .5em; } .std42-dialog.ui-draggable-disabled .ui-dialog-titlebar { cursor: default; } .std42-dialog .ui-dialog-titlebar .ui-widget-header { border: none; cursor: pointer; } .std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title { display: inherit; word-break: break-all; } .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title { display: list-item; display: -moz-inline-box; white-space: nowrap; word-break: normal; overflow: hidden; word-wrap: normal; overflow-wrap: normal; max-width: -webkit-calc(100% - 24px); max-width: -moz-calc(100% - 24px); max-width: calc(100% - 24px); } .elfinder-touch .std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title { padding-top: .15em; } .elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title { max-width: -webkit-calc(100% - 36px); max-width: -moz-calc(100% - 36px); max-width: calc(100% - 36px); } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button { position: relative; float: left; top: 10px; left: -10px; right: 10px; width: 20px; height: 20px; padding: 1px; margin: -10px 1px 0 1px; background-color: transparent; background-image: none; } .elfinder-touch .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button { -moz-transform: scale(1.2); zoom: 1.2; padding-left: 6px; padding-right: 6px; height: 24px; } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button-right { float: right; } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button.elfinder-titlebar-button-right { left: 10px; right: -10px; } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon { width: 17px; height: 17px; border-width: 1px; opacity: .7; filter: Alpha(Opacity=70); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } .elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon { opacity: .5; filter: Alpha(Opacity=50); } .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon { opacity: 1; filter: Alpha(Opacity=100); } .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar select { display: none; } .elfinder-spinner { width: 14px; height: 14px; background: url("../img/spinner-mini.gif") center center no-repeat; margin: 0 5px; display: inline-block; vertical-align: middle; } .elfinder-ltr .elfinder-spinner, .elfinder-ltr .elfinder-spinner-text { float: left; } .elfinder-rtl .elfinder-spinner, .elfinder-rtl .elfinder-spinner-text { float: right; } /* resize handle for touch devices */ .elfinder-touch .std42-dialog.ui-dialog:not(ui-resizable-disabled) .ui-resizable-se { width: 12px; height: 12px; -moz-transform-origin: bottom right; -moz-transform: scale(1.5); zoom: 1.5; right: -7px; bottom: -7px; margin: 3px 7px 7px 3px; background-position: -64px -224px; } .elfinder-rtl .elfinder-dialog .ui-dialog-titlebar { text-align: right; } /* content */ .std42-dialog .ui-dialog-content { padding: .3em .5em; box-sizing: border-box; } .elfinder .std42-dialog .ui-dialog-content, .elfinder .std42-dialog .ui-dialog-content * { -webkit-user-select: auto; -moz-user-select: text; -khtml-user-select: text; user-select: text; } .elfinder .std42-dialog .ui-dialog-content label { border: none; } /* buttons */ .std42-dialog .ui-dialog-buttonpane { border: 0 solid; margin: 0; padding: .5em; text-align: right; } .elfinder-rtl .std42-dialog .ui-dialog-buttonpane { text-align: left; } .std42-dialog .ui-dialog-buttonpane button { margin: .2em 0 0 .4em; padding: .2em; outline: 0px solid; } .std42-dialog .ui-dialog-buttonpane button span { padding: 2px 9px; } .std42-dialog .ui-dialog-buttonpane button span.ui-icon { padding: 2px; } .elfinder-dialog .ui-resizable-e, .elfinder-dialog .ui-resizable-s { width: 0; height: 0; } .std42-dialog .ui-button input { cursor: pointer; } .std42-dialog select { border: 1px solid #ccc; } /* error/notify/confirm dialogs icon */ .elfinder-dialog-icon { position: absolute; width: 32px; height: 32px; left: 10px; top: 50%; margin-top: -15px; background: url("../img/dialogs.png") 0 0 no-repeat; } .elfinder-rtl .elfinder-dialog-icon { left: auto; right: 10px; } /*********************** ERROR DIALOG **************************/ .elfinder-dialog-error .ui-dialog-content, .elfinder-dialog-confirm .ui-dialog-content { padding-left: 56px; min-height: 35px; } .elfinder-rtl .elfinder-dialog-error .ui-dialog-content, .elfinder-rtl .elfinder-dialog-confirm .ui-dialog-content { padding-left: 0; padding-right: 56px; } .elfinder-dialog-error .elfinder-err-var { word-break: break-all; } /*********************** NOTIFY DIALOG **************************/ .elfinder-dialog-notify { top : 36px; width : 280px; } .elfinder-ltr .elfinder-dialog-notify { right : 12px; } .elfinder-rtl .elfinder-dialog-notify { left : 12px; } .elfinder-dialog-notify .ui-dialog-titlebar { height: 5px; } .elfinder-dialog-notify .ui-dialog-titlebar-close { display: none; } .elfinder-dialog-notify .ui-dialog-content { padding: 0; } /* one notification container */ .elfinder-notify { border-bottom: 1px solid #ccc; position: relative; padding: .5em; text-align: center; overflow: hidden; } .elfinder-ltr .elfinder-notify { padding-left: 36px; } .elfinder-rtl .elfinder-notify { padding-right: 36px; } .elfinder-notify:last-child { border: 0 solid; } /* progressbar */ .elfinder-notify-progressbar { width: 180px; height: 8px; border: 1px solid #aaa; background: #f5f5f5; margin: 5px auto; overflow: hidden; } .elfinder-notify-progress { width: 100%; height: 8px; background: url(../img/progress.gif) center center repeat-x; } .elfinder-notify-progressbar, .elfinder-notify-progress { -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; } /* icons */ .elfinder-dialog-icon-open, .elfinder-dialog-icon-readdir, .elfinder-dialog-icon-file { background-position: 0 -225px; } .elfinder-dialog-icon-reload { background-position: 0 -225px; } .elfinder-dialog-icon-mkdir { background-position: 0 -64px; } .elfinder-dialog-icon-mkfile { background-position: 0 -96px; } .elfinder-dialog-icon-copy, .elfinder-dialog-icon-prepare, .elfinder-dialog-icon-move { background-position: 0 -128px; } .elfinder-dialog-icon-upload { background-position: 0 -160px; } .elfinder-dialog-icon-chunkmerge { background-position: 0 -160px; } .elfinder-dialog-icon-rm { background-position: 0 -192px; } .elfinder-dialog-icon-download { background-position: 0 -260px; } .elfinder-dialog-icon-save { background-position: 0 -295px; } .elfinder-dialog-icon-rename, .elfinder-dialog-icon-chkcontent { background-position: 0 -330px; } .elfinder-dialog-icon-zipdl, .elfinder-dialog-icon-archive, .elfinder-dialog-icon-extract { background-position: 0 -365px; } .elfinder-dialog-icon-search { background-position: 0 -402px; } .elfinder-dialog-icon-resize, .elfinder-dialog-icon-loadimg, .elfinder-dialog-icon-netmount, .elfinder-dialog-icon-netunmount, .elfinder-dialog-icon-chmod, .elfinder-dialog-icon-preupload, .elfinder-dialog-icon-url, .elfinder-dialog-icon-dim { background-position: 0 -434px; } /*********************** CONFIRM DIALOG **************************/ .elfinder-dialog-confirm-applyall, .elfinder-dialog-confirm-encoding { padding: 0 1em; margin: 0; } .elfinder-ltr .elfinder-dialog-confirm-applyall, .elfinder-ltr .elfinder-dialog-confirm-encoding { text-align: left; } .elfinder-rtl .elfinder-dialog-confirm-applyall, .elfinder-rtl .elfinder-dialog-confirm-encoding { text-align: right; } .elfinder-dialog-confirm .elfinder-dialog-icon { background-position: 0 -32px; } .elfinder-dialog-confirm .ui-dialog-buttonset { width: auto; } /*********************** FILE INFO DIALOG **************************/ .elfinder-info-title .elfinder-cwd-icon { float: left; width: 48px; height: 48px; margin-right: 1em; } .elfinder-rtl .elfinder-info-title .elfinder-cwd-icon { float: right; margin-right: 0; margin-left: 1em; } .elfinder-info-title strong { display: block; padding: .3em 0 .5em 0; } .elfinder-info-tb { min-width: 200px; border: 0 solid; margin: 1em .2em 1em .2em; width: 100%; } .elfinder-info-tb td { white-space: pre-wrap; padding: 2px; } .elfinder-info-tb td.elfinder-info-label { white-space: nowrap; } .elfinder-info-tb td.elfinder-info-hash { display: inline-block; word-break: break-all; max-width: 32ch; } .elfinder-ltr .elfinder-info-tb tr td:first-child { text-align: right; } .elfinder-ltr .elfinder-info-tb span { float: left; } .elfinder-rtl .elfinder-info-tb tr td:first-child { text-align: left; } .elfinder-rtl .elfinder-info-tb span { float: right; } .elfinder-info-tb a { outline: none; text-decoration: underline; } .elfinder-info-tb a:hover { text-decoration: none; } .elfinder-netmount-tb { margin: 0 auto; } .elfinder-netmount-tb select, .elfinder-netmount-tb .elfinder-button-icon { cursor: pointer; } button.elfinder-info-button { margin: -3.5px 0; cursor: pointer; } /*********************** UPLOAD DIALOG **************************/ .elfinder-upload-dropbox { display: table-cell; text-align: center; vertical-align: middle; padding: 0.5em; border: 3px dashed #aaa; width: 9999px; height: 80px; overflow: hidden; word-break: keep-all; } .elfinder-upload-dropbox.ui-state-hover { background: #dfdfdf; border: 3px dashed #555; } .elfinder-upload-dialog-or { margin: .3em 0; text-align: center; } .elfinder-upload-dialog-wrapper { text-align: center; } .elfinder-upload-dialog-wrapper .ui-button { position: relative; overflow: hidden; } .elfinder-upload-dialog-wrapper .ui-button form { position: absolute; right: 0; top: 0; width: 100%; opacity: 0; filter: Alpha(Opacity=0); } .elfinder-upload-dialog-wrapper .ui-button form input { padding: 50px 0 0; font-size: 3em; width: 100%; } /* dialog for elFinder itself */ .dialogelfinder .dialogelfinder-drag { border-left: 0 solid; border-top: 0 solid; border-right: 0 solid; font-weight: normal; padding: 2px 12px; cursor: move; position: relative; text-align: left; } .elfinder-rtl .dialogelfinder-drag { text-align: right; } .dialogelfinder-drag-close { position: absolute; top: 50%; margin-top: -8px; } .elfinder-ltr .dialogelfinder-drag-close { right: 12px; } .elfinder-rtl .dialogelfinder-drag-close { left: 12px; } /*********************** RM CONFIRM **************************/ .elfinder-rm-title { margin-bottom: .5ex; } .elfinder-rm-title .elfinder-cwd-icon { float: left; width: 48px; height: 48px; margin-right: 1em; } .elfinder-rtl .elfinder-rm-title .elfinder-cwd-icon { float: right; margin-right: 0; margin-left: 1em; } .elfinder-rm-title strong { display: block; white-space: pre-wrap; word-break: normal; overflow: hidden; text-overflow: ellipsis; } .elfinder-rm-title + br { display: none; } /* File: /css/fonts.css */ .elfinder-font-mono { font-family: "Ricty Diminished", "Myrica M", Consolas, "Courier New", Courier, Monaco, monospace; font-size: 1.1em; } .elfinder-contextmenu .elfinder-contextmenu-item span { font-size: .72em; } .elfinder-cwd-view-icons .elfinder-cwd-filename { font-size: .7em; } .elfinder-cwd-view-list td { font-size: .7em; } .std42-dialog .ui-dialog-titlebar { font-size: .82em; } .std42-dialog .ui-dialog-content { font-size: .72em; } .std42-dialog .ui-dialog-buttonpane { font-size: .76em; } .elfinder-info-tb { font-size: .9em; } .elfinder-upload-dropbox { font-size: 1.2em; } .elfinder-upload-dialog-or { font-size: 1.2em; } .dialogelfinder .dialogelfinder-drag { font-size: .9em; } .elfinder .elfinder-navbar { font-size: .72em; } .elfinder-place-drag .elfinder-navbar-dir { font-size: .9em; } .elfinder-quicklook-title { font-size: .7em; font-weight: normal; } .elfinder-quicklook-info-data { font-size: .72em; } .elfinder-quicklook-preview-text-wrapper { font-size: .9em; } .elfinder-button-menu-item { font-size: .72em; } .elfinder-button-search input { font-size: .8em; } .elfinder-statusbar div { font-size: .7em; } .elfinder-drag-num { font-size: 12px; } .elfinder-toast { font-size: .76em; } /* File: /css/navbar.css */ /*********************************************/ /* NAVIGATION PANEL */ /*********************************************/ /* container */ .elfinder .elfinder-navbar { /*box-sizing: border-box;*/ width: 230px; padding: 3px 5px; background-image: none; border-top: 0 solid; border-bottom: 0 solid; overflow: auto; position: relative; } .elfinder .elfinder-navdock { box-sizing: border-box; width: 230px; height: auto; position: absolute; bottom: 0; overflow: auto; } .elfinder-navdock .ui-resizable-n { top: 0; height: 20px; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar { float: left; border-left: 0 solid; } .elfinder-rtl .elfinder-navbar { float: right; border-right: 0 solid; } .elfinder-ltr .ui-resizable-e { margin-left: 10px; } /* folders tree container */ .elfinder-tree { display: table; width: 100%; margin: 0 0 .5em 0; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } /* one folder wrapper */ .elfinder-navbar-wrapper, .elfinder-place-wrapper { } /* folder */ .elfinder-navbar-dir { position: relative; display: block; white-space: nowrap; padding: 3px 12px; margin: 0; outline: 0px solid; border: 1px solid transparent; cursor: default; } .elfinder-touch .elfinder-navbar-dir { padding: 12px 12px; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-dir { padding-left: 35px; } .elfinder-rtl .elfinder-navbar-dir { padding-right: 35px; } /* arrow before icon */ .elfinder-navbar-arrow { width: 12px; height: 14px; position: absolute; display: none; top: 50%; margin-top: -8px; background-image: url("../img/arrows-normal.png"); background-repeat: no-repeat; } .elfinder-ltr .elfinder-navbar-arrow { left: 0; } .elfinder-rtl .elfinder-navbar-arrow { right: 0; } .elfinder-touch .elfinder-navbar-arrow { -moz-transform-origin: top left; -moz-transform: scale(1.4); zoom: 1.4; margin-bottom: 7px; } .elfinder-ltr.elfinder-touch .elfinder-navbar-arrow { left: -3px; margin-right: 20px; } .elfinder-rtl.elfinder-touch .elfinder-navbar-arrow { right: -3px; margin-left: 20px; } .ui-state-active .elfinder-navbar-arrow { background-image: url("../img/arrows-active.png"); } /* collapsed/expanded arrow view */ .elfinder-navbar-collapsed .elfinder-navbar-arrow { display: block; } .elfinder-subtree-chksubdir .elfinder-navbar-arrow { opacity: .25; filter: Alpha(Opacity=25); } /* arrow ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-collapsed .elfinder-navbar-arrow { background-position: 0 4px; } .elfinder-rtl .elfinder-navbar-collapsed .elfinder-navbar-arrow { background-position: 0 -10px; } .elfinder-ltr .elfinder-navbar-expanded .elfinder-navbar-arrow, .elfinder-rtl .elfinder-navbar-expanded .elfinder-navbar-arrow { background-position: 0 -21px; } /* folder icon */ .elfinder-navbar-icon { width: 16px; height: 16px; position: absolute; top: 50%; margin-top: -8px; background-image: url("../img/toolbar.png"); background-repeat: no-repeat; background-position: 0 -16px; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-icon { left: 14px; } .elfinder-rtl .elfinder-navbar-icon { right: 14px; } /* places icon */ .elfinder-places .elfinder-navbar-root .elfinder-navbar-icon { background-position: 0 -704px; } /* root folder */ .elfinder-tree .elfinder-navbar-root-local .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-trash .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-ftp .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-sql .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-dropbox .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-googledrive .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-onedrive .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-box .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-zip .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-network .elfinder-navbar-icon { background-position: 0 0; background-size: contain; } /* root icon of each volume "\9" for IE8 trick */ .elfinder-tree .elfinder-navbar-root-local .elfinder-navbar-icon { background-image: url("../img/volume_icon_local.svg"); background-image: url("../img/volume_icon_local.png") \9; } .elfinder-tree .elfinder-navbar-root-trash .elfinder-navbar-icon { background-image: url("../img/volume_icon_trash.svg"); background-image: url("../img/volume_icon_trash.png") \9; } .elfinder-tree .elfinder-navbar-root-ftp .elfinder-navbar-icon { background-image: url("../img/volume_icon_ftp.svg"); background-image: url("../img/volume_icon_ftp.png") \9; } .elfinder-tree .elfinder-navbar-root-sql .elfinder-navbar-icon { background-image: url("../img/volume_icon_sql.svg"); background-image: url("../img/volume_icon_sql.png") \9; } .elfinder-tree .elfinder-navbar-root-dropbox .elfinder-navbar-icon { background-image: url("../img/volume_icon_dropbox.svg"); background-image: url("../img/volume_icon_dropbox.png") \9; } .elfinder-tree .elfinder-navbar-root-googledrive .elfinder-navbar-icon { background-image: url("../img/volume_icon_googledrive.svg"); background-image: url("../img/volume_icon_googledrive.png") \9; } .elfinder-tree .elfinder-navbar-root-onedrive .elfinder-navbar-icon { background-image: url("../img/volume_icon_onedrive.svg"); background-image: url("../img/volume_icon_onedrive.png") \9; } .elfinder-tree .elfinder-navbar-root-box .elfinder-navbar-icon { background-image: url("../img/volume_icon_box.svg"); background-image: url("../img/volume_icon_box.png") \9; } .elfinder-tree .elfinder-navbar-root-zip .elfinder-navbar-icon { background-image: url("../img/volume_icon_zip.svg"); background-image: url("../img/volume_icon_zip.png") \9; } .elfinder-tree .elfinder-navbar-root-network .elfinder-navbar-icon { background-image: url("../img/volume_icon_network.svg"); background-image: url("../img/volume_icon_network.png") \9; } /* icon in active/hove/dropactive state */ .ui-state-active .elfinder-navbar-icon, .elfinder-droppable-active .elfinder-navbar-icon, .ui-state-hover .elfinder-navbar-icon { background-position: 0 -32px; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-subtree { margin-left: 12px; } .elfinder-rtl .elfinder-navbar-subtree { margin-right: 12px; } /* spinner */ .elfinder-tree .elfinder-spinner { position: absolute; top: 50%; margin: -7px 0 0; } /* spinner ltr/rtl enviroment */ .elfinder-ltr .elfinder-tree .elfinder-spinner { left: 0; margin-left: -2px; } .elfinder-rtl .elfinder-tree .elfinder-spinner { right: 0; margin-right: -2px; } /* marker */ .elfinder-navbar .elfinder-perms, .elfinder-navbar .elfinder-lock, .elfinder-navbar .elfinder-symlink { opacity: .6; filter: Alpha(Opacity=60); } /* permissions marker */ .elfinder-navbar .elfinder-perms { bottom: -1px; margin-top: -8px; } /* locked marker */ .elfinder-navbar .elfinder-lock { top: -2px; } /* permissions/symlink markers ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar .elfinder-perms { left: 20px; transform: scale(0.8); } .elfinder-rtl .elfinder-navbar .elfinder-perms { right: 20px; transform: scale(0.8); } .elfinder-ltr .elfinder-navbar .elfinder-lock { left: 20px; transform: scale(0.8); } .elfinder-rtl .elfinder-navbar .elfinder-lock { right: 20px; transform: scale(0.8); } .elfinder-ltr .elfinder-navbar .elfinder-symlink { left: 8px; transform: scale(0.8); } .elfinder-rtl .elfinder-navbar .elfinder-symlink { right: 8px; transform: scale(0.8); } /* navbar input */ .elfinder-navbar input { width: 100%; border: 0px solid; margin: 0; padding: 0; } /* resizable */ .elfinder-navbar .ui-resizable-handle { width: 12px; background: transparent url('../img/resize.png') center center no-repeat; } .elfinder-nav-handle-icon { position: absolute; top: 50%; margin: -8px 2px 0 2px; opacity: .5; filter: Alpha(Opacity=50); } /* pager button */ .elfinder-navbar-pager { width: 100%; box-sizing: border-box; padding-top: 3px; padding-bottom: 3px; } .elfinder-touch .elfinder-navbar-pager { padding-top: 10px; padding-bottom: 10px; } .elfinder-places { border: none; margin: 0; padding: 0; } /* navbar swipe handle */ .elfinder-navbar-swipe-handle { position: absolute; top: 0px; height: 100%; width: 50px; pointer-events: none; } .elfinder-ltr .elfinder-navbar-swipe-handle { left: 0px; background: linear-gradient(to right, rgba(221, 228, 235, 1) 0, rgba(221, 228, 235, 0.8) 5px, rgba(216, 223, 230, 0.3) 8px, rgba(0, 0, 0, 0.1) 95%, rgba(0, 0, 0, 0) 100%); } .elfinder-rtl .elfinder-navbar-swipe-handle { right: 0px; background: linear-gradient(to left, rgba(221, 228, 235, 1) 0, rgba(221, 228, 235, 0.8) 5px, rgba(216, 223, 230, 0.3) 8px, rgba(0, 0, 0, 0.1) 95%, rgba(0, 0, 0, 0) 100%); } /* File: /css/places.css */ /*********************************************/ /* PLACES STYLES */ /*********************************************/ /* root extra icon */ .elfinder-navbar-root .elfinder-places-root-icon { position: absolute; top: 50%; margin-top: -9px; cursor: pointer; } .elfinder-ltr .elfinder-places-root-icon { right: 10px; } .elfinder-rtl .elfinder-places-root-icon { left: 10px; } .elfinder-navbar-expanded .elfinder-places-root-icon { display: block; } /* dragging helper base */ .elfinder-place-drag { font-size: 0.8em; } /* File: /css/quicklook.css */ /* quicklook window */ .elfinder-quicklook { position: absolute; background: url("../img/quicklook-bg.png"); overflow: hidden; -moz-border-radius: 7px; -webkit-border-radius: 7px; border-radius: 7px; padding: 20px 0 40px 0; } .elfinder-navdock .elfinder-quicklook { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; font-size: 90%; overflow: auto; } .elfinder-quicklook.elfinder-touch { padding: 30px 0 40px 0; } .elfinder-quicklook .ui-resizable-se { width: 14px; height: 14px; right: 5px; bottom: 3px; background: url("../img/toolbar.png") 0 -496px no-repeat; } .elfinder-quicklook.elfinder-touch .ui-resizable-se { -moz-transform-origin: bottom right; -moz-transform: scale(1.5); zoom: 1.5; } /* quicklook fullscreen window */ .elfinder-quicklook.elfinder-quicklook-fullscreen { position: fixed; top: 0; right: 0; bottom: 0; left: 0; margin: 0; box-sizing: border-box; width: 100%; height: 100%; object-fit: contain; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; -webkit-background-clip: padding-box; padding: 0; background: #000; display: block; } /* hide titlebar in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-titlebar, .elfinder-quicklook-fullscreen.elfinder-quicklook .ui-resizable-handle { display: none; } /* hide preview border in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-preview { border: 0 solid; } .elfinder-quicklook-cover { width: 100%; height: 100%; top: 0; left: 0; position: absolute; } .elfinder-quicklook-cover.elfinder-quicklook-coverbg { /* background need to catch mouse event over browser plugin (eg PDF preview) */ background-color: #fff; opacity: 0.000001; filter: Alpha(Opacity=0.0001); } /* quicklook titlebar */ .elfinder-quicklook-titlebar { text-align: center; background: #777; position: absolute; left: 0; top: 0; width: 100%; height: 20px; -moz-border-radius-topleft: 7px; -webkit-border-top-left-radius: 7px; border-top-left-radius: 7px; -moz-border-radius-topright: 7px; -webkit-border-top-right-radius: 7px; border-top-right-radius: 7px; border: none; line-height: 1.2; } .elfinder-navdock .elfinder-quicklook-titlebar { -moz-border-radius-topleft: 0; -webkit-border-top-left-radius: 0; border-top-left-radius: 0; -moz-border-radius-topright: 0; -webkit-border-top-right-radius: 0; border-top-right-radius: 0; cursor: default; } .elfinder-touch .elfinder-quicklook-titlebar { height: 30px; } /* window title */ .elfinder-quicklook-title { display: inline-block; white-space: nowrap; overflow: hidden; } .elfinder-touch .elfinder-quicklook-title { padding: 8px 0; } /* icon "close" in titlebar */ .elfinder-quicklook-titlebar-icon { position: absolute; left: 4px; top: 50%; margin-top: -8px; height: 16px; border: none; } .elfinder-touch .elfinder-quicklook-titlebar-icon { height: 22px; } .elfinder-quicklook-titlebar-icon .ui-icon { position: relative; margin: -9px 3px 0px 0px; cursor: pointer; border-radius: 10px; border: 1px solid; opacity: .7; filter: Alpha(Opacity=70); } .elfinder-quicklook-titlebar-icon .ui-icon.ui-icon-closethick { padding-left: 1px; } .elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon { opacity: .6; filter: Alpha(Opacity=60); } .elfinder-touch .elfinder-quicklook-titlebar-icon .ui-icon { margin-top: -5px; } .elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right { left: auto; right: 4px; direction: rtl; } .elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right .ui-icon { margin: -9px 0px 0px 3px; } .elfinder-touch .elfinder-quicklook-titlebar .ui-icon { -moz-transform-origin: center center; -moz-transform: scale(1.2); zoom: 1.2; } .elfinder-touch .elfinder-quicklook-titlebar-icon .ui-icon { margin-right: 10px; } .elfinder-touch .elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right .ui-icon { margin-left: 10px; } /* main part of quicklook window */ .elfinder-quicklook-preview { overflow: hidden; position: relative; border: 0 solid; border-left: 1px solid transparent; border-right: 1px solid transparent; height: 100%; } .elfinder-navdock .elfinder-quicklook-preview { border-left: 0; border-right: 0; } .elfinder-quicklook-preview.elfinder-overflow-auto { overflow: auto; -webkit-overflow-scrolling: touch; } /* wrapper for file info/icon */ .elfinder-quicklook-info-wrapper { display: table; position: absolute; width: 100%; height: 100%; height: calc(100% - 80px); left: 0; top: 20px; } .elfinder-navdock .elfinder-quicklook-info-wrapper { height: calc(100% - 20px); } /* file info */ .elfinder-quicklook-info { display: table-cell; vertical-align: middle; } .elfinder-ltr .elfinder-quicklook-info { padding: 0 12px 0 112px; } .elfinder-rtl .elfinder-quicklook-info { padding: 0 112px 0 12px; } .elfinder-ltr .elfinder-navdock .elfinder-quicklook-info { padding: 0 0 0 80px; } .elfinder-rtl .elfinder-navdock .elfinder-quicklook-info { padding: 0 80px 0 0; } /* file name in info */ .elfinder-quicklook-info .elfinder-quicklook-info-data:first-child { color: #fff; font-weight: bold; padding-bottom: .5em; } /* other data in info */ .elfinder-quicklook-info-data { clear: both; padding-bottom: .2em; color: #fff; } /* file icon */ .elfinder-quicklook .elfinder-cwd-icon { position: absolute; left: 32px; top: 50%; margin-top: -20px; } .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon { left: 16px; } .elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon { left: auto; right: 32px; } .elfinder-rtl .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon { right: 6px; } .elfinder-quicklook .elfinder-cwd-icon:before { top: -10px; } .elfinder-ltr .elfinder-quicklook .elfinder-cwd-icon:before { left: -20px; } .elfinder-ltr .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon:before { left: -14px; } .elfinder-ltr .elfinder-quicklook .elfinder-cwd-icon:after { left: -20px; } .elfinder-ltr .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon:after { left: -12px; } .elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon:before { left: auto; right: 40px; } .elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon:after { left: auto; right: 46px; } /* image in preview */ .elfinder-quicklook-preview img { display: block; margin: 0 auto; } /* navigation bar on quicklook window bottom */ .elfinder-quicklook-navbar { position: absolute; left: 50%; bottom: 4px; width: 140px; height: 32px; padding: 0px; margin-left: -70px; border: 1px solid transparent; border-radius: 19px; -moz-border-radius: 19px; -webkit-border-radius: 19px; } /* navigation bar in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-navbar { width: 188px; margin-left: -94px; padding: 5px; border: 1px solid #eee; background: #000; opacity: 0.4; filter: Alpha(Opacity=40); } /* show close icon in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-icon-close, .elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-separator { display: inline; } /* icons in navbar */ .elfinder-quicklook-navbar-icon { width: 32px; height: 32px; margin: 0 7px; float: left; background: url("../img/quicklook-icons.png") 0 0 no-repeat; } /* fullscreen icon */ .elfinder-quicklook-navbar-icon-fullscreen { background-position: 0 -64px; } /* exit fullscreen icon */ .elfinder-quicklook-navbar-icon-fullscreen-off { background-position: 0 -96px; } /* prev file icon */ .elfinder-quicklook-navbar-icon-prev { background-position: 0 0; } /* next file icon */ .elfinder-quicklook-navbar-icon-next { background-position: 0 -32px; } /* close icon */ .elfinder-quicklook-navbar-icon-close { background-position: 0 -128px; display: none; } /* icons separator */ .elfinder-quicklook-navbar-separator { width: 1px; height: 32px; float: left; border-left: 1px solid #fff; display: none; } /* text files preview wrapper */ .elfinder-quicklook-preview-text-wrapper { width: 100%; height: 100%; background: #fff; color: #222; overflow: auto; -webkit-overflow-scrolling: touch; } /* archive files preview wrapper */ .elfinder-quicklook-preview-archive-wrapper { width: 100%; height: 100%; background: #fff; color: #222; font-size: 90%; overflow: auto; -webkit-overflow-scrolling: touch } /* archive files preview header */ .elfinder-quicklook-preview-archive-wrapper strong { padding: 0 5px; } /* text preview */ pre.elfinder-quicklook-preview-text, pre.elfinder-quicklook-preview-text.prettyprint { width: auto; height: auto; margin: 0; padding: 3px 9px; border: none; -o-tab-size: 4; -moz-tab-size: 4; tab-size: 4; } .elfinder-quicklook-preview-charsleft hr { border: none; border-top: dashed 1px; } .elfinder-quicklook-preview-charsleft span { font-size: 90%; font-style: italic; cursor: pointer; } /* html/pdf preview */ .elfinder-quicklook-preview-html, .elfinder-quicklook-preview-pdf, .elfinder-quicklook-preview-iframe { width: 100%; height: 100%; background: #fff; margin: 0; border: none; display: block; } /* swf preview container */ .elfinder-quicklook-preview-flash { width: 100%; height: 100%; } /* audio preview container */ .elfinder-quicklook-preview-audio { width: 100%; position: absolute; bottom: 0; left: 0; } /* audio preview using embed */ embed.elfinder-quicklook-preview-audio { height: 30px; background: transparent; } /* video preview container */ .elfinder-quicklook-preview-video { width: 100%; height: 100%; } /* allow user select */ .elfinder .elfinder-quicklook .elfinder-quicklook-info *, .elfinder .elfinder-quicklook .elfinder-quicklook-preview * { -webkit-user-select: auto; -moz-user-select: text; -khtml-user-select: text; user-select: text; } /* File: /css/statusbar.css */ /******************************************************************/ /* STATUSBAR STYLES */ /******************************************************************/ /* statusbar container */ .elfinder-statusbar { display: flex; justify-content: space-between; cursor: default; text-align: center; font-weight: normal; padding: .2em .5em; border-right: 0 solid transparent; border-bottom: 0 solid transparent; border-left: 0 solid transparent; } .elfinder-statusbar:before, .elfinder-statusbar:after { display: none; } .elfinder-statusbar span { vertical-align: bottom; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; } .elfinder-statusbar span.elfinder-path-other { flex-shrink: 0; text-overflow: clip; -o-text-overflow: clip; } .elfinder-statusbar span.ui-state-hover, .elfinder-statusbar span.ui-state-active { border: none; } .elfinder-statusbar span.elfinder-path-cwd { cursor: default; } /* path in statusbar */ .elfinder-path { display: flex; order: 1; flex-grow: 1; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; max-width: 30%\9; } .elfinder-ltr .elfinder-path { text-align: left; float: left\9; } .elfinder-rtl .elfinder-path { text-align: right; float: right\9; } /* path in workzone (case of swipe to navbar close) */ .elfinder-workzone-path { position: relative; } .elfinder-workzone-path .elfinder-path { position: relative; font-size: .75em; font-weight: normal; float: none; max-width: none; overflow: hidden; overflow-x: hidden; text-overflow: initial; -o-text-overflow: initial; } .elfinder-mobile .elfinder-workzone-path .elfinder-path { overflow: auto; overflow-x: scroll; } .elfinder-ltr .elfinder-workzone-path .elfinder-path { margin-left: 24px; } .elfinder-rtl .elfinder-workzone-path .elfinder-path { margin-right: 24px; } .elfinder-workzone-path .elfinder-path span { display: inline-block; padding: 5px 3px; } .elfinder-workzone-path .elfinder-path span.elfinder-path-cwd { font-weight: bold; } .elfinder-workzone-path .elfinder-path span.ui-state-hover, .elfinder-workzone-path .elfinder-path span.ui-state-active { border: none; } .elfinder-workzone-path .elfinder-path-roots { position: absolute; top: 0; width: 24px; height: 20px; padding: 2px; border: none; overflow: hidden; } .elfinder-ltr .elfinder-workzone-path .elfinder-path-roots { left: 0; } .elfinder-rtl .elfinder-workzone-path .elfinder-path-roots { right: 0; } /* total/selected size in statusbar */ .elfinder-stat-size { order: 3; flex-grow: 1; overflow: hidden; white-space: nowrap; } .elfinder-ltr .elfinder-stat-size { text-align: right; float: right\9; } .elfinder-rtl .elfinder-stat-size { text-align: left; float: left\9; } /* info of current selected item */ .elfinder-stat-selected { order: 2; margin: 0 .5em; white-space: nowrap; overflow: hidden; } /* File: /css/toast.css */ /* * CSS for Toastr * Copyright 2012-2015 * Authors: John Papa, Hans Fjällemark, and Tim Ferrell. * All Rights Reserved. * Use, reproduction, distribution, and modification of this code is subject to the terms and * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php * * ARIA Support: Greta Krafsig * * Project: https://github.com/CodeSeven/toastr */ .elfinder .elfinder-toast { position: absolute; top: 12px; right: 12px; max-width: 90%; cursor: default; } .elfinder .elfinder-toast > div { position: relative; pointer-events: auto; overflow: hidden; margin: 0 0 6px; padding: 8px 16px 8px 50px; -moz-border-radius: 3px 3px 3px 3px; -webkit-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; background-position: 15px center; background-repeat: no-repeat; -moz-box-shadow: 0 0 12px #999999; -webkit-box-shadow: 0 0 12px #999999; box-shadow: 0 0 12px #999999; color: #FFFFFF; opacity: 0.9; filter: alpha(opacity=90); background-color: #030303; text-align: center; } .elfinder .elfinder-toast > .toast-info { background-color: #2F96B4; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important; } .elfinder .elfinder-toast > .toast-error { background-color: #BD362F; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; } .elfinder .elfinder-toast > .toast-success { background-color: #51A351; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important; } .elfinder .elfinder-toast > .toast-warning { background-color: #F89406; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important; } .elfinder .elfinder-toast > div button.ui-button { background-image: none; margin-top: 8px; padding: .5em .8em; } .elfinder .elfinder-toast > .toast-success button.ui-button { background-color: green; color: #FFF; } .elfinder .elfinder-toast > .toast-success button.ui-button.ui-state-hover { background-color: #add6ad; color: #254b25; } .elfinder .elfinder-toast > .toast-info button.ui-button { background-color: #046580; color: #FFF; } .elfinder .elfinder-toast > .toast-info button.ui-button.ui-state-hover { background-color: #7DC6DB; color: #046580; } .elfinder .elfinder-toast > .toast-warning button.ui-button { background-color: #dd8c1a; color: #FFF; } .elfinder .elfinder-toast > .toast-warning button.ui-button.ui-state-hover { background-color: #e7ae5e; color: #422a07; } /* File: /css/toolbar.css */ /*********************************************/ /* TOOLBAR STYLES */ /*********************************************/ /* toolbar container */ .elfinder-toolbar { padding: 4px 0 3px 0; border-left: 0 solid transparent; border-top: 0 solid transparent; border-right: 0 solid transparent; max-height: 50%; overflow-y: auto; } /* container for button's group */ .elfinder-buttonset { margin: 1px 4px; float: left; background: transparent; padding: 0; overflow: hidden; } /*.elfinder-buttonset:first-child { margin:0; }*/ /* button */ .elfinder .elfinder-button { min-width: 16px; height: 16px; margin: 0; padding: 4px; float: left; overflow: hidden; position: relative; border: 0 solid; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; line-height: 1; cursor: default; } .elfinder-rtl .elfinder-button { float: right; } .elfinder-touch .elfinder-button { min-width: 20px; height: 20px; } .elfinder .ui-icon-search { cursor: pointer; } /* separator between buttons, required for berder between button with ui color */ .elfinder-toolbar-button-separator { float: left; padding: 0; height: 24px; border-top: 0 solid; border-right: 0 solid; border-bottom: 0 solid; width: 0; } .elfinder-rtl .elfinder-toolbar-button-separator { float: right; } .elfinder-touch .elfinder-toolbar-button-separator { height: 28px; } /* change icon opacity^ not button */ .elfinder .elfinder-button.ui-state-disabled { opacity: 1; filter: Alpha(Opacity=100); } .elfinder .elfinder-button.ui-state-disabled .elfinder-button-icon, .elfinder .elfinder-button.ui-state-disabled .elfinder-button-text { opacity: .4; filter: Alpha(Opacity=40); } /* rtl enviroment */ .elfinder-rtl .elfinder-buttonset { float: right; } /* icon inside button */ .elfinder-button-icon { width: 16px; height: 16px; display: inline-block; background: url('../img/toolbar.png') no-repeat; } .elfinder-button-text { position: relative; display: inline-block; top: -4px; margin: 0 2px; font-size: 12px; } .elfinder-touch .elfinder-button-icon { -moz-transform-origin: top left; -moz-transform: scale(1.25); zoom: 1.25; } .elfinder-touch .elfinder-button-text { -moz-transform: translate(3px, 3px); top: -5px; } /* buttons icons */ .elfinder-button-icon-home { background-position: 0 0; } .elfinder-button-icon-back { background-position: 0 -112px; } .elfinder-button-icon-forward { background-position: 0 -128px; } .elfinder-button-icon-up { background-position: 0 -144px; } .elfinder-button-icon-dir { background-position: 0 -16px; } .elfinder-button-icon-opendir { background-position: 0 -32px; } .elfinder-button-icon-reload { background-position: 0 -160px; } .elfinder-button-icon-open { background-position: 0 -176px; } .elfinder-button-icon-mkdir { background-position: 0 -192px; } .elfinder-button-icon-mkfile { background-position: 0 -208px; } .elfinder-button-icon-rm { background-position: 0 -832px; } .elfinder-button-icon-trash { background-position: 0 -224px; } .elfinder-button-icon-restore { background-position: 0 -816px; } .elfinder-button-icon-copy { background-position: 0 -240px; } .elfinder-button-icon-cut { background-position: 0 -256px; } .elfinder-button-icon-paste { background-position: 0 -272px; } .elfinder-button-icon-getfile { background-position: 0 -288px; } .elfinder-button-icon-duplicate { background-position: 0 -304px; } .elfinder-button-icon-rename { background-position: 0 -320px; } .elfinder-button-icon-edit { background-position: 0 -336px; } .elfinder-button-icon-quicklook { background-position: 0 -352px; } .elfinder-button-icon-upload { background-position: 0 -368px; } .elfinder-button-icon-download { background-position: 0 -384px; } .elfinder-button-icon-info { background-position: 0 -400px; } .elfinder-button-icon-extract { background-position: 0 -416px; } .elfinder-button-icon-archive { background-position: 0 -432px; } .elfinder-button-icon-view { background-position: 0 -448px; } .elfinder-button-icon-view-list { background-position: 0 -464px; } .elfinder-button-icon-help { background-position: 0 -480px; } .elfinder-button-icon-resize { background-position: 0 -512px; } .elfinder-button-icon-link { background-position: 0 -528px; } .elfinder-button-icon-search { background-position: 0 -561px; } .elfinder-button-icon-sort { background-position: 0 -577px; } .elfinder-button-icon-rotate-r { background-position: 0 -625px; } .elfinder-button-icon-rotate-l { background-position: 0 -641px; } .elfinder-button-icon-netmount { background-position: 0 -688px; } .elfinder-button-icon-netunmount { background-position: 0 -96px; } .elfinder-button-icon-places { background-position: 0 -704px; } .elfinder-button-icon-chmod { background-position: 0 -48px; } .elfinder-button-icon-accept { background-position: 0 -736px; } .elfinder-button-icon-menu { background-position: 0 -752px; } .elfinder-button-icon-colwidth { background-position: 0 -768px; } .elfinder-button-icon-fullscreen { background-position: 0 -784px; } .elfinder-button-icon-unfullscreen { background-position: 0 -800px; } .elfinder-button-icon-empty { background-position: 0 -848px; } .elfinder-button-icon-undo { background-position: 0 -864px; } .elfinder-button-icon-redo { background-position: 0 -880px; } .elfinder-button-icon-preference { background-position: 0 -896px; } .elfinder-button-icon-mkdirin { background-position: 0 -912px; } .elfinder-button-icon-selectall { background-position: 0 -928px; } .elfinder-button-icon-selectnone { background-position: 0 -944px; } .elfinder-button-icon-selectinvert { background-position: 0 -960px; } .elfinder-button-icon-opennew { background-position: 0 -976px; } .elfinder-button-icon-hide { background-position: 0 -992px; } .elfinder-button-icon-text { background-position: 0 -1008px; } /* button icon mirroring for rtl */ .elfinder-rtl .elfinder-button-icon-back, .elfinder-rtl .elfinder-button-icon-forward, .elfinder-rtl .elfinder-button-icon-getfile, .elfinder-rtl .elfinder-button-icon-help, .elfinder-rtl .elfinder-button-icon-redo, .elfinder-rtl .elfinder-button-icon-rename, .elfinder-rtl .elfinder-button-icon-search, .elfinder-rtl .elfinder-button-icon-undo, .elfinder-rtl .elfinder-button-icon-view-list, .elfinder-rtl .ui-icon-search { -ms-transform: scale(-1, 1); -webkit-transform: scale(-1, 1); transform: scale(-1, 1); } /* button with dropdown menu*/ .elfinder .elfinder-menubutton { overflow: visible; } /* button with spinner icon */ .elfinder-button-icon-spinner { background: url("../img/spinner-mini.gif") center center no-repeat; } /* menu */ .elfinder-button-menu { position: absolute; margin-top: 24px; padding: 3px 0; overflow-y: auto; } .elfinder-touch .elfinder-button-menu { margin-top: 30px; } /* menu item */ .elfinder-button-menu-item { white-space: nowrap; cursor: default; padding: 5px 19px; position: relative; } .elfinder-touch .elfinder-button-menu-item { padding: 12px 19px } /* fix hover ui class */ .elfinder-button-menu .ui-state-hover { border: 0 solid; } .elfinder-button-menu-item-separated { border-top: 1px solid #ccc; } .elfinder-button-menu-item .ui-icon { width: 16px; height: 16px; position: absolute; left: 2px; top: 50%; margin-top: -8px; display: none; } .elfinder-button-menu-item-selected .ui-icon { display: block; } .elfinder-button-menu-item-selected-asc .ui-icon-arrowthick-1-s { display: none; } .elfinder-button-menu-item-selected-desc .ui-icon-arrowthick-1-n { display: none; } /* hack for upload button */ .elfinder-button form { position: absolute; top: 0; right: 0; opacity: 0; filter: Alpha(Opacity=0); cursor: pointer; } .elfinder .elfinder-button form input { background: transparent; cursor: default; } /* search "button" */ .elfinder .elfinder-button-search { border: 0 solid; background: transparent; padding: 0; margin: 1px 4px; height: auto; min-height: 26px; width: 70px; overflow: visible; } .elfinder .elfinder-button-search.ui-state-active { width: 220px; } /* search "pull down menu" */ .elfinder .elfinder-button-search-menu { font-size: 8pt; text-align: center; width: auto; min-width: 180px; position: absolute; top: 30px; padding-right: 5px; padding-left: 5px; } .elfinder-ltr .elfinder-button-search-menu { right: 22px; left: auto; } .elfinder-rtl .elfinder-button-search-menu { right: auto; left: 22px; } .elfinder-touch .elfinder-button-search-menu { top: 34px; } .elfinder .elfinder-button-search-menu div { margin-left: auto; margin-right: auto; margin-top: 5px; margin-bottom: 5px; display: table; } .elfinder .elfinder-button-search-menu div .ui-state-hover { border: 1px solid; } /* ltr/rte enviroment */ .elfinder-ltr .elfinder-button-search { float: right; margin-right: 10px; } .elfinder-rtl .elfinder-button-search { float: left; margin-left: 10px; } .elfinder-rtl .ui-controlgroup > .ui-controlgroup-item { float: right; } /* search text field */ .elfinder-button-search input[type=text] { box-sizing: border-box; width: 100%; height: 26px; padding: 0 20px; line-height: 22px; border: 0 solid; border: 1px solid #aaa; -moz-border-radius: 12px; -webkit-border-radius: 12px; border-radius: 12px; outline: 0px solid; } .elfinder-button-search input::-ms-clear { display: none; } .elfinder-touch .elfinder-button-search input { height: 30px; line-height: 28px; } .elfinder-rtl .elfinder-button-search input { direction: rtl; } /* icons */ .elfinder-button-search .ui-icon { position: absolute; height: 18px; top: 50%; margin: -8px 4px 0 4px; opacity: .6; filter: Alpha(Opacity=60); } .elfinder-button-search-menu .ui-checkboxradio-icon { display: none; } /* search/close icons */ .elfinder-ltr .elfinder-button-search .ui-icon-search { left: 0; } .elfinder-rtl .elfinder-button-search .ui-icon-search { right: 0; } .elfinder-ltr .elfinder-button-search .ui-icon-close { right: 0; } .elfinder-rtl .elfinder-button-search .ui-icon-close { left: 0; } /* toolbar swipe handle */ .elfinder-toolbar-swipe-handle { position: absolute; top: 0px; left: 0px; height: 50px; width: 100%; pointer-events: none; background: linear-gradient(to bottom, rgba(221, 228, 235, 1) 0, rgba(221, 228, 235, 0.8) 2px, rgba(216, 223, 230, 0.3) 5px, rgba(0, 0, 0, 0.1) 95%, rgba(0, 0, 0, 0) 100%); } wp-file-manager/lib/css/elfinder.min.css000064400000264460151202472330014154 0ustar00/*! * elFinder - file manager for web * Version 2.1.46 (2019-01-14) * http://elfinder.org * * Copyright 2009-2019, Studio 42 * Licensed under a 3-clauses BSD license */ .elfinder-resize-container{margin-top:.3em}.elfinder-resize-type{float:left;margin-bottom:.4em}.elfinder-resize-control{float:left}.elfinder-resize-control input[type=number]{border:1px solid #aaa;text-align:right;width:4.5em}.elfinder-resize-control input.elfinder-resize-bg{text-align:center;width:5em;direction:ltr}.elfinder-dialog-resize .elfinder-resize-control-panel{margin-top:10px}.elfinder-dialog-resize .elfinder-resize-imgrotate,.elfinder-dialog-resize .elfinder-resize-pallet{cursor:pointer}.elfinder-dialog-resize .elfinder-resize-picking{cursor:crosshair}.elfinder-dialog-resize .elfinder-resize-grid8+button{padding-top:2px;padding-bottom:2px}.elfinder-resize-preview{width:400px;height:400px;padding:10px;background:#fff;border:1px solid #aaa;float:right;position:relative;overflow:hidden;text-align:left;direction:ltr}.elfinder-resize-handle,div.elfinder-cwd-wrapper-list tr.ui-state-default td{position:relative}.elfinder-resize-handle-hline,.elfinder-resize-handle-vline{position:absolute;background-image:url(../img/crop.gif)}.elfinder-resize-handle-hline{width:100%;height:1px!important;background-repeat:repeat-x}.elfinder-resize-handle-vline{width:1px!important;height:100%;background-repeat:repeat-y}.elfinder-resize-handle-hline-top{top:0;left:0}.elfinder-resize-handle-hline-bottom{bottom:0;left:0}.elfinder-resize-handle-vline-left{top:0;left:0}.elfinder-resize-handle-vline-right{top:0;right:0}.elfinder-resize-handle-point{position:absolute;width:8px;height:8px;border:1px solid #777;background:0 0}.elfinder-resize-handle-point-n{top:0;left:50%;margin-top:-5px;margin-left:-5px}.elfinder-resize-handle-point-e,.elfinder-resize-handle-point-ne{top:0;right:0;margin-top:-5px;margin-right:-5px}.elfinder-resize-handle-point-e{top:50%}.elfinder-resize-handle-point-se{bottom:0;right:0;margin-bottom:-5px;margin-right:-5px}.elfinder-resize-handle-point-s,.elfinder-resize-handle-point-sw{bottom:0;left:50%;margin-bottom:-5px;margin-left:-5px}.elfinder-resize-handle-point-sw{left:0}.elfinder-resize-handle-point-nw,.elfinder-resize-handle-point-w{top:50%;left:0;margin-top:-5px;margin-left:-5px}.elfinder-resize-handle-point-nw{top:0}.elfinder-dialog.elfinder-dialog-resize .ui-resizable-e{width:10px;height:100%}.elfinder-dialog.elfinder-dialog-resize .ui-resizable-s{width:100%;height:10px}.elfinder-resize-loading{position:absolute;width:200px;height:30px;top:50%;margin-top:-25px;left:50%;margin-left:-100px;text-align:center;background:url(../img/progress.gif) center bottom repeat-x}.elfinder-resize-row{margin-bottom:9px;position:relative}.elfinder-resize-label{float:left;width:80px;padding-top:3px}.elfinder-resize-checkbox-label{border:1px solid transparent}.elfinder-dialog-resize .elfinder-resize-whctrls{margin:-20px 5px 0}.elfinder-ltr .elfinder-dialog-resize .elfinder-resize-whctrls{float:right}.elfinder-help-team div,.elfinder-rtl .elfinder-dialog-resize .elfinder-resize-whctrls{float:left}.elfinder-dialog-resize .ui-resizable-e,.elfinder-dialog-resize .ui-resizable-w{height:100%;width:10px}.elfinder-dialog-resize .ui-resizable-n,.elfinder-dialog-resize .ui-resizable-s{width:100%;height:10px}.elfinder-dialog-resize .ui-resizable-e{margin-right:-7px}.elfinder-dialog-resize .ui-resizable-w{margin-left:-7px}.elfinder-dialog-resize .ui-resizable-s{margin-bottom:-7px}.elfinder-dialog-resize .ui-resizable-n{margin-top:-7px}.elfinder-dialog-resize .ui-resizable-ne,.elfinder-dialog-resize .ui-resizable-nw,.elfinder-dialog-resize .ui-resizable-se,.elfinder-dialog-resize .ui-resizable-sw{width:10px;height:10px}.elfinder-dialog-resize .ui-resizable-se{background:0 0;bottom:0;right:0;margin-right:-7px;margin-bottom:-7px}.elfinder-dialog-resize .ui-resizable-sw{margin-left:-7px;margin-bottom:-7px}.elfinder-dialog-resize .ui-resizable-ne{margin-right:-7px;margin-top:-7px}.elfinder-dialog-resize .ui-resizable-nw{margin-left:-7px;margin-top:-7px}.elfinder-touch .elfinder-dialog-resize .ui-resizable-n,.elfinder-touch .elfinder-dialog-resize .ui-resizable-s{height:20px}.elfinder-touch .elfinder-dialog-resize .ui-resizable-e,.elfinder-touch .elfinder-dialog-resize .ui-resizable-w{width:20px}.elfinder-touch .elfinder-dialog-resize .ui-resizable-ne,.elfinder-touch .elfinder-dialog-resize .ui-resizable-nw,.elfinder-touch .elfinder-dialog-resize .ui-resizable-se,.elfinder-touch .elfinder-dialog-resize .ui-resizable-sw{width:30px;height:30px}.elfinder-touch .elfinder-dialog-resize .elfinder-resize-preview .ui-resizable-se{width:30px;height:30px;margin:0}.elfinder-dialog-resize .ui-icon-grip-solid-vertical{position:absolute;top:50%;right:0;margin-top:-8px;margin-right:-11px}.elfinder-dialog-resize .ui-icon-grip-solid-horizontal{position:absolute;left:50%;bottom:0;margin-left:-8px;margin-bottom:-11px}.elfinder-dialog-resize .elfinder-resize-row .ui-buttonset{float:right}.elfinder-dialog-resize .elfinder-resize-degree input,.elfinder-dialog-resize input.elfinder-resize-quality,.elfinder-mobile .elfinder-resize-control input[type=number]{width:3.5em}.elfinder-mobile .elfinder-dialog-resize .elfinder-resize-degree input,.elfinder-mobile .elfinder-dialog-resize input.elfinder-resize-quality{width:2.5em}.elfinder-dialog-resize .elfinder-resize-degree button.ui-button{padding:6px 8px}.elfinder-dialog-resize button.ui-button span{padding:0}.elfinder-dialog-resize .elfinder-resize-jpgsize{font-size:90%}.ui-widget-content .elfinder-resize-container .elfinder-resize-rotate-slider{width:195px;margin:10px 7px;background-color:#fafafa}.elfinder-dialog-resize .elfinder-resize-type span.ui-checkboxradio-icon{display:none}.elfinder-resize-preset-container{box-sizing:border-box;border-radius:5px}.elfinder-file-edit{width:100%;height:100%;margin:0;padding:2px;border:1px solid #ccc;box-sizing:border-box;resize:none}.elfinder-touch .elfinder-file-edit{font-size:16px}.elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor{background-color:#fff}.elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor .elfinder-edit-imageeditor{width:100%;height:300px;max-height:100%;text-align:center}.elfinder-dialog-edit .ui-dialog-content.elfinder-edit-editor .elfinder-edit-imageeditor *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none}.elfinder-edit-imageeditor .tui-image-editor-main-container .tui-image-editor-main{top:0}.elfinder-edit-imageeditor .tui-image-editor-main-container .tui-image-editor-header{display:none}.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-crop .tui-image-editor-wrap,.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-draw .tui-image-editor-wrap,.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-filter .tui-image-editor-wrap,.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-flip .tui-image-editor-wrap,.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-icon .tui-image-editor-wrap,.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-mask .tui-image-editor-wrap,.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-rotate .tui-image-editor-wrap,.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-shape .tui-image-editor-wrap,.elfinder-edit-imageeditor .tui-image-editor-main.tui-image-editor-menu-text .tui-image-editor-wrap{height:calc(100% - 150px)}.elfinder-touch.elfinder-fullscreen-native textarea.elfinder-file-edit{padding-bottom:20em;margin-bottom:-20em}.elfinder-dialog-edit .ui-dialog-buttonpane .elfinder-dialog-confirm-encoding{font-size:12px}.ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras{margin:0 1em 0 .2em;float:left}.ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras-quality{padding-top:6px}.ui-dialog-buttonpane .ui-dialog-buttonset.elfinder-edit-extras select{font-size:12px;margin-top:8px}.elfinder-dialog-edit .ui-dialog-buttonpane .ui-icon,.elfinder-edit-onlineconvert-bottom-btn button,.elfinder-edit-onlineconvert-button button,.elfinder-preference dt label{cursor:pointer}.elfinder-edit-spinner{position:absolute;top:50%;text-align:center;width:100%;font-size:16pt}.elfinder-dialog-edit .elfinder-edit-spinner .elfinder-spinner,.elfinder-dialog-edit .elfinder-edit-spinner .elfinder-spinner-text{float:none}.elfinder-dialog-edit .elfinder-toast>div{width:280px}.elfinder-edit-onlineconvert-button{display:inline-block;width:180px;min-height:30px;vertical-align:top}.elfinder-edit-onlineconvert-bottom-btn button.elfinder-button-ios-multiline{-webkit-appearance:none;border-radius:16px;color:#000;text-align:center;padding:8px;background-color:#eee;background-image:-webkit-linear-gradient(top,#fafafa 0%,#c4c4c4 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#c4c4c4 100%)}.elfinder-edit-onlineconvert-button .elfinder-button-icon{margin:0 10px;vertical-align:middle;cursor:pointer}.elfinder-edit-onlineconvert-bottom-btn{text-align:center;margin:10px 0 0}.elfinder-edit-onlineconvert-link{margin-top:1em;text-align:center}.elfinder-edit-onlineconvert-link .elfinder-button-icon{background-image:url(../img/editor-icons.png);background-repeat:no-repeat;background-position:0 -144px;margin-bottom:-3px}.elfinder-edit-onlineconvert-link a,ul.elfinder-help-integrations a{text-decoration:none}div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon{position:absolute;top:4px;left:0;right:0;margin:auto 0 auto auto}.elfinder-touch div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon{top:7px}.elfinder-rtl div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon{margin:auto auto auto 0}.elfinder-help{margin-bottom:.5em;-webkit-overflow-scrolling:touch}.elfinder-help .ui-tabs-panel{overflow:auto;padding:10px}.elfinder-dialog .ui-tabs .ui-tabs-nav li{overflow:hidden}.elfinder-dialog .ui-tabs .ui-tabs-nav li a{padding:.2em .8em;display:inline-block}.elfinder-touch .elfinder-dialog .ui-tabs .ui-tabs-nav li a{padding:.5em}.elfinder-dialog .ui-tabs-active a{background:inherit}.elfinder-help-shortcuts{height:auto;padding:10px;margin:0;box-sizing:border-box}.elfinder-help-shortcut{white-space:nowrap;clear:both}.elfinder-help-shortcut-pattern{float:left;width:160px}.elfinder-help-logo{width:100px;height:96px;float:left;margin-right:1em;background:url(../img/logo.png) center center no-repeat}.elfinder-help h3{font-size:1.5em;margin:.2em 0 .3em}.elfinder-help-separator{clear:both;padding:.5em}.elfinder-help-link{display:inline-block;margin-right:12px;padding:2px 0;white-space:nowrap}.elfinder-rtl .elfinder-help-link{margin-right:0;margin-left:12px}.elfinder-help .ui-priority-secondary{font-size:.9em}.elfinder-help .ui-priority-primary{margin-bottom:7px}.elfinder-help-team{clear:both;text-align:right;border-bottom:1px solid #ccc;margin:.5em 0;font-size:.9em}.elfinder-help-license{font-size:.9em}.elfinder-help-disabled{font-weight:700;text-align:center;margin:90px 0}.elfinder-help .elfinder-dont-panic{display:block;border:1px solid transparent;width:200px;height:200px;margin:30px auto;text-decoration:none;text-align:center;position:relative;background:#d90004;-moz-box-shadow:5px 5px 9px #111;-webkit-box-shadow:5px 5px 9px #111;box-shadow:5px 5px 9px #111;background:-moz-radial-gradient(80px 80px,circle farthest-corner,#d90004 35%,#960004 100%);background:-webkit-gradient(radial,80 80,60,80 80,120,from(#d90004),to(#960004));-moz-border-radius:100px;-webkit-border-radius:100px;border-radius:100px;outline:none}.elfinder-help .elfinder-dont-panic span{font-size:3em;font-weight:700;text-align:center;color:#fff;position:absolute;left:0;top:45px}ul.elfinder-help-integrations ul{padding:0;margin:0 1em 1em}ul.elfinder-help-integrations a:hover{text-decoration:underline}.elfinder-help-debug{height:100%;padding:0;margin:0;overflow:none;border:none}.elfinder-help-debug .ui-tabs-panel{padding:0;margin:0;overflow:auto}.elfinder-help-debug fieldset{margin-bottom:10px;border-color:#789;border-radius:10px}.elfinder-help-debug legend{font-size:1.2em;font-weight:700;color:#2e8b57}.elfinder-help-debug dl{margin:0}.elfinder-help-debug dt{color:#789}.elfinder-help-debug dt:before{content:"["}.elfinder-help-debug dt:after{content:"]"}.elfinder-help-debug dd{margin-left:1em}.elfinder-dialog .elfinder-preference .ui-tabs-nav{margin-bottom:1px;height:auto}.elfinder-preference .ui-tabs-panel{padding:10px 10px 0;overflow:auto;box-sizing:border-box;-webkit-overflow-scrolling:touch}.elfinder-preference a.ui-state-hover,.elfinder-preference label.ui-state-hover{border:none}.elfinder-preference dl{width:100%;display:inline-block;margin:.5em 0}.elfinder-preference dt{display:block;width:200px;clear:left;float:left;max-width:50%}.elfinder-rtl .elfinder-preference dt{clear:right;float:right}.elfinder-preference dd{margin-bottom:1em}.elfinder-preference dd input[type=checkbox],.elfinder-preference dd label{white-space:nowrap;display:inline-block;cursor:pointer}.elfinder-preference dt.elfinder-preference-checkboxes{width:100%;max-width:none}.elfinder-preference dd.elfinder-preference-checkboxes{padding-top:3ex}.elfinder-preference select{max-width:100%}.elfinder-preference dd.elfinder-preference-iconSize .ui-slider{width:50%;max-width:100px;display:inline-block;margin:0 10px}.elfinder-preference button{margin:0 16px}.elfinder-preference button+button{margin:0 -10px}.elfinder-preference .elfinder-preference-taball .elfinder-reference-hide-taball{display:none}.elfinder-preference-theme fieldset{margin-bottom:10px}.elfinder-preference-theme legend a{font-size:1.8em;text-decoration:none;cursor:pointer}.elfinder-preference-theme dt{width:20%;word-break:break-all}.elfinder-preference-theme dt:after{content:" :"}.elfinder-preference-theme dd{margin-inline-start:20%}.elfinder-preference img.elfinder-preference-theme-image{display:block;margin-left:auto;margin-right:auto;max-width:90%;max-height:200px;cursor:pointer}.elfinder-preference-theme-btn,.elfinder-rename-batch-type{text-align:center}.elfinder-preference-theme button.elfinder-preference-theme-default{display:inline;margin:0 10px;font-size:8pt}.elfinder-rtl .elfinder-info-title .elfinder-cwd-icon:before{right:33px;left:auto}.elfinder-info-title .elfinder-cwd-icon.elfinder-cwd-bgurl:after{content:none}.elfinder-upload-dialog-wrapper .elfinder-upload-dirselect{position:absolute;bottom:2px;width:16px;height:16px;padding:10px;border:none;overflow:hidden;cursor:pointer}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item .ui-icon,.elfinder-ltr .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect{left:2px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item .ui-icon,.elfinder-rtl .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect{right:2px}.elfinder-ltr .elfinder-rm-title .elfinder-cwd-icon:before{left:38px}.elfinder-rtl .elfinder-rm-title .elfinder-cwd-icon:before{right:86px;left:auto}.elfinder-rm-title .elfinder-cwd-icon.elfinder-cwd-bgurl:after{content:none}.elfinder-rename-batch div{margin:5px 8px}.elfinder-rename-batch .elfinder-rename-batch-name input{width:100%;font-size:1.6em}.elfinder-rename-batch .elfinder-rename-batch-type label{margin:2px;font-size:.9em}.elfinder-rename-batch-preview{padding:0 8px;font-size:1.1em;min-height:4ex}.ui-front{z-index:100}.elfinder{padding:0;position:relative;display:block;visibility:visible;font-size:18px;font-family:Verdana,Arial,Helvetica,sans-serif}.elfinder-ios input,.elfinder-ios select,.elfinder-ios textarea{font-size:16px!important}.elfinder.elfinder-fullscreen>.ui-resizable-handle{display:none}.elfinder-font-mono{line-height:2ex}.elfinder.elfinder-processing *{cursor:progress!important}.elfinder.elfinder-processing.elfinder-touch .elfinder-workzone:after{position:absolute;top:0;width:100%;height:3px;content:'';left:0;background-image:url(../img/progress.gif);opacity:.6;pointer-events:none}.elfinder :not(input):not(textarea):not(select):not([contenteditable=true]),.elfinder-contextmenu :not(input):not(textarea):not(select):not([contenteditable=true]){-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none}.elfinder .overflow-scrolling-touch{-webkit-overflow-scrolling:touch}.elfinder-rtl{text-align:right;direction:rtl}.elfinder-workzone{padding:0;position:relative;overflow:hidden}.elfinder-lock,.elfinder-perms,.elfinder-symlink{position:absolute;width:16px;height:16px;background-image:url(../img/toolbar.png);background-repeat:no-repeat}.elfinder-perms,.elfinder-symlink{background-position:0 -528px}.elfinder-na .elfinder-perms{background-position:0 -96px}.elfinder-ro .elfinder-perms{background-position:0 -64px}.elfinder-wo .elfinder-perms{background-position:0 -80px}.elfinder-group .elfinder-perms{background-position:0 0}.elfinder-lock{background-position:0 -656px}.elfinder-drag-helper{top:0;left:0;width:70px;height:60px;padding:0 0 0 25px;z-index:100000;will-change:left,top}.elfinder-drag-helper.html5-native{position:absolute;top:-1000px;left:-1000px}.elfinder-drag-helper-icon-status{position:absolute;width:16px;height:16px;left:42px;top:60px;background:url(../img/toolbar.png) 0 -96px no-repeat;display:block}.elfinder-drag-helper-move .elfinder-drag-helper-icon-status{background-position:0 -720px}.elfinder-drag-helper-plus .elfinder-drag-helper-icon-status{background-position:0 -544px}.elfinder-drag-num{display:inline-box;position:absolute;top:0;left:0;width:auto;height:14px;text-align:center;padding:1px 3px;font-weight:700;color:#fff;background-color:red;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.elfinder-drag-helper .elfinder-cwd-icon{margin:0 0 0 -24px;float:left}.elfinder-overlay{position:absolute;opacity:.2;filter:Alpha(Opacity=20)}.elfinder .elfinder-panel{position:relative;background-image:none;padding:7px 12px}[draggable=true]{-khtml-user-drag:element}.elfinder [contentEditable=true]:empty:not(:focus):before{content:attr(data-ph)}.elfinder div.elfinder-bottomtray{position:fixed;bottom:0;max-width:100%;opacity:.8}.elfinder.elfinder-ltr div.elfinder-bottomtray{left:0}.elfinder.elfinder-rtl div.elfinder-bottomtray{right:0}.elfinder .elfinder-ui-tooltip,.elfinder-ui-tooltip{font-size:14px;padding:2px 4px}.elfinder .elfinder-contextmenu,.elfinder .elfinder-contextmenu-sub{position:absolute;border:1px solid #aaa;background:#fff;color:#555;padding:4px 0;top:0;left:0}.elfinder .elfinder-contextmenu-sub{top:5px}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub{margin-left:-5px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub{margin-right:-5px}.elfinder .elfinder-contextmenu-header{margin-top:-4px;padding:0 .5em .2ex;border:none;text-align:center}.elfinder .elfinder-contextmenu-header span{font-size:.8em;font-weight:bolder}.elfinder .elfinder-contextmenu-item{position:relative;display:block;padding:4px 30px;text-decoration:none;white-space:nowrap;cursor:default}.elfinder .elfinder-contextmenu-item.ui-state-active{border:none}.elfinder .elfinder-contextmenu-item .ui-icon{width:16px;height:16px;position:absolute;left:auto;right:auto;top:50%;margin-top:-8px}.elfinder-touch .elfinder-contextmenu-item{padding:12px 38px}.elfinder-navbar-root-local.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_local.svg);background-size:contain}.elfinder-navbar-root-trash.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_trash.svg);background-size:contain}.elfinder-navbar-root-ftp.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_ftp.svg);background-size:contain}.elfinder-navbar-root-sql.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_sql.svg);background-size:contain}.elfinder-navbar-root-dropbox.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_dropbox.svg);background-size:contain}.elfinder-navbar-root-googledrive.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_googledrive.svg);background-size:contain}.elfinder-navbar-root-onedrive.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_onedrive.svg);background-size:contain}.elfinder-navbar-root-box.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_box.svg);background-size:contain}.elfinder-navbar-root-zip.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_zip.svg);background-size:contain}.elfinder-navbar-root-network.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_network.svg);background-size:contain}.elfinder .elfinder-contextmenu .elfinder-contextmenu-item span{display:block}.elfinder .elfinder-contextmenu-sub .elfinder-contextmenu-item{padding-left:12px;padding-right:12px}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item{text-align:left}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item{text-align:right}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon{padding-left:28px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon{padding-right:28px}.elfinder-touch .elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon{padding-left:36px}.elfinder-touch .elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextsubmenu-item-icon{padding-right:36px}.elfinder .elfinder-contextmenu-arrow,.elfinder .elfinder-contextmenu-extra-icon,.elfinder .elfinder-contextmenu-icon{position:absolute;top:50%;margin-top:-8px;overflow:hidden}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-icon{left:8px}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-extra-icon,.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-icon{right:8px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-extra-icon{left:8px}.elfinder .elfinder-contextmenu-arrow{width:16px;height:16px;background:url(../img/arrows-normal.png) 5px 4px no-repeat}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-arrow{right:5px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-arrow{left:5px;background-position:0 -10px}.elfinder .elfinder-contextmenu-extra-icon a,.elfinder .elfinder-contextmenu-extra-icon span{display:inline-block;width:100%;height:100%;padding:20px;margin:0;color:transparent!important;text-decoration:none;cursor:pointer}.elfinder .elfinder-contextmenu .ui-state-hover{border:0 solid;background-image:none}.elfinder .elfinder-contextmenu-separator{height:0;border-top:1px solid #ccc;margin:0 1px}.elfinder .elfinder-contextmenu-item .elfinder-button-icon.ui-state-disabled{background-image:url(../img/toolbar.png)}.elfinder-cwd-wrapper{overflow:auto;position:relative;padding:2px;margin:0}.elfinder-cwd-wrapper-list{padding:0}.elfinder-cwd{position:absolute;top:0;cursor:default;padding:0;margin:0;-ms-touch-action:auto;touch-action:auto;min-width:100%}.elfinder-ltr .elfinder-cwd{left:0}.elfinder-rtl .elfinder-cwd{right:0}.elfinder-cwd.elfinder-table-header-sticky{position:-webkit-sticky;position:-ms-sticky;position:sticky;top:0;left:auto;right:auto;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:max-content;height:0;overflow:visible}.elfinder-cwd.elfinder-table-header-sticky table{border-top:2px solid;padding-top:0}.elfinder-cwd.elfinder-table-header-sticky td{display:inline-block}.elfinder-droppable-active .elfinder-cwd.elfinder-table-header-sticky table{border-top:2px solid transparent}.elfinder .elfinder-cwd table tbody.elfinder-cwd-fixheader,.elfinder-cwd-fixheader .elfinder-cwd{position:relative}.elfinder .elfinder-cwd-wrapper.elfinder-droppable-active{outline:2px solid #8cafed;outline-offset:-2px}.elfinder-cwd-wrapper-empty .elfinder-cwd:after{display:block;height:auto;width:90%;width:calc(100% - 20px);position:absolute;top:50%;left:50%;-ms-transform:translateY(-50%) translateX(-50%);-webkit-transform:translateY(-50%) translateX(-50%);transform:translateY(-50%) translateX(-50%);line-height:1.5em;text-align:center;white-space:pre-wrap;opacity:.6;filter:Alpha(Opacity=60);font-weight:700}.elfinder-cwd-file .elfinder-cwd-select{position:absolute;top:0;left:0;background-color:transparent;opacity:.4;filter:Alpha(Opacity=40)}.elfinder-mobile .elfinder-cwd-file .elfinder-cwd-select{width:30px;height:30px}.elfinder .elfinder-cwd-selectall,.elfinder-cwd-file.ui-selected .elfinder-cwd-select{opacity:.8;filter:Alpha(Opacity=80)}.elfinder-rtl .elfinder-cwd-file .elfinder-cwd-select{left:auto;right:0}.elfinder .elfinder-cwd-selectall{position:absolute;width:30px;height:30px;top:0}.elfinder .elfinder-workzone.elfinder-cwd-wrapper-empty .elfinder-cwd-selectall{display:none}.elfinder-ltr .elfinder-workzone .elfinder-cwd-selectall{text-align:right;right:18px;left:auto}.elfinder-rtl .elfinder-workzone .elfinder-cwd-selectall{text-align:left;right:auto;left:18px}.elfinder-ltr.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall{right:0}.elfinder-rtl.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall{left:0}.elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-select.ui-state-hover{background-color:transparent}.elfinder-cwd-view-icons .elfinder-cwd-file{width:120px;height:90px;padding-bottom:2px;cursor:default;border:none;position:relative}.elfinder .std42-dialog .ui-dialog-content label,.elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-active{border:none}.elfinder-ltr .elfinder-cwd-view-icons .elfinder-cwd-file{float:left;margin:0 3px 2px 0}.elfinder-rtl .elfinder-cwd-view-icons .elfinder-cwd-file{float:right;margin:0 0 5px 3px}.elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-hover{border:0 solid}.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper{width:52px;height:52px;margin:1px auto;padding:2px;position:relative}.elfinder-cwd-size1 .elfinder-cwd-icon:before,.elfinder-cwd-size2 .elfinder-cwd-icon:before,.elfinder-cwd-size3 .elfinder-cwd-icon:before{top:3px;display:block}.elfinder-cwd-size1.elfinder-cwd-view-icons .elfinder-cwd-file{width:120px;height:112px}.elfinder-cwd-size1.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper{width:74px;height:74px}.elfinder-cwd-size1 .elfinder-cwd-icon,.elfinder-cwd-size2 .elfinder-cwd-icon,.elfinder-cwd-size3 .elfinder-cwd-icon{-ms-transform-origin:top center;-ms-transform:scale(1.5);-webkit-transform-origin:top center;-webkit-transform:scale(1.5);transform-origin:top center;transform:scale(1.5)}.elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl:before{-ms-transform-origin:top left;-ms-transform:scale(1.35) translate(-4px,15%);-webkit-transform-origin:top left;-webkit-transform:scale(1.35) translate(-4px,15%);transform-origin:top left;transform:scale(1.35) translate(-4px,15%)}.elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl:after{-ms-transform:scale(1) translate(10px,-5px);-webkit-transform:scale(1) translate(10px,-5px);transform:scale(1) translate(10px,-5px)}.elfinder-cwd-size1 .elfinder-cwd-icon.elfinder-cwd-bgurl{-ms-transform-origin:center center;-ms-transform:scale(1);-webkit-transform-origin:center center;-webkit-transform:scale(1);transform-origin:center center;transform:scale(1);width:72px;height:72px;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px}.elfinder-cwd-size2.elfinder-cwd-view-icons .elfinder-cwd-file{width:140px;height:134px}.elfinder-cwd-size2.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper{width:98px;height:98px}.elfinder-cwd-size2 .elfinder-cwd-icon,.elfinder-cwd-size3 .elfinder-cwd-icon{-ms-transform:scale(2);-webkit-transform:scale(2);transform:scale(2)}.elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl:before{-ms-transform-origin:top left;-ms-transform:scale(1.8) translate(-5px,18%);-webkit-transform-origin:top left;-webkit-transform:scale(1.8) translate(-5px,18%);transform-origin:top left;transform:scale(1.8) translate(-5px,18%)}.elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl:after{-ms-transform:scale(1.1) translate(0,10px);-webkit-transform:scale(1.1) translate(0,10px);transform:scale(1.1) translate(0,10px)}.elfinder-cwd-size2 .elfinder-cwd-icon.elfinder-cwd-bgurl{-ms-transform-origin:center center;-ms-transform:scale(1);-webkit-transform-origin:center center;-webkit-transform:scale(1);transform-origin:center center;transform:scale(1);width:96px;height:96px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.elfinder-cwd-size3.elfinder-cwd-view-icons .elfinder-cwd-file{width:174px;height:158px}.elfinder-cwd-size3.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper{width:122px;height:122px}.elfinder-cwd-size3 .elfinder-cwd-icon{-ms-transform:scale(2.5);-webkit-transform:scale(2.5);transform:scale(2.5)}.elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl:before{-ms-transform-origin:top left;-ms-transform:scale(2.25) translate(-6px,20%);-webkit-transform-origin:top left;-webkit-transform:scale(2.25) translate(-6px,20%);transform-origin:top left;transform:scale(2.25) translate(-6px,20%)}.elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl:after{-ms-transform:scale(1.2) translate(-9px,22px);-webkit-transform:scale(1.2) translate(-9px,22px);transform:scale(1.2) translate(-9px,22px)}.elfinder-cwd-size3 .elfinder-cwd-icon.elfinder-cwd-bgurl{-ms-transform-origin:center center;-ms-transform:scale(1);-webkit-transform-origin:center center;-webkit-transform:scale(1);transform-origin:center center;transform:scale(1);width:120px;height:120px;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px}.elfinder-cwd-view-icons .elfinder-cwd-filename{text-align:center;max-height:2.4em;line-height:1.2em;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;margin:3px 1px 0;padding:1px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;word-break:break-word;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.elfinder-cwd-view-icons .elfinder-perms{bottom:4px;right:2px}.elfinder-cwd-view-icons .elfinder-lock{top:-3px;right:-2px}.elfinder-cwd-view-icons .elfinder-symlink{bottom:6px;left:0}.elfinder-cwd-icon{display:block;width:48px;height:48px;margin:0 auto;background-image:url(../img/icons-big.svg);background-image:url(../img/icons-big.png) \9;background-position:0 0;background-repeat:no-repeat;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-local td .elfinder-cwd-icon,.elfinder-navbar-root-local .elfinder-cwd-icon{background-image:url(../img/volume_icon_local.svg);background-image:url(../img/volume_icon_local.png) \9;background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon{background-position:1px -1px}.elfinder-cwd .elfinder-navbar-root-trash.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-trash td .elfinder-cwd-icon,.elfinder-navbar-root-trash .elfinder-cwd-icon{background-image:url(../img/volume_icon_trash.svg);background-image:url(../img/volume_icon_trash.png) \9;background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-trash.elfinder-droppable-active .elfinder-cwd-icon{background-position:1px -1px}.elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-ftp td .elfinder-cwd-icon,.elfinder-navbar-root-ftp .elfinder-cwd-icon{background-image:url(../img/volume_icon_ftp.svg);background-image:url(../img/volume_icon_ftp.png) \9;background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon{background-position:1px -1px}.elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-sql td .elfinder-cwd-icon,.elfinder-navbar-root-sql .elfinder-cwd-icon{background-image:url(../img/volume_icon_sql.svg);background-image:url(../img/volume_icon_sql.png) \9;background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon{background-position:1px -1px}.elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-dropbox td .elfinder-cwd-icon,.elfinder-navbar-root-dropbox .elfinder-cwd-icon{background-image:url(../img/volume_icon_dropbox.svg);background-image:url(../img/volume_icon_dropbox.png) \9;background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon{background-position:1px -1px}.elfinder-cwd-view-list .elfinder-navbar-root-googledrive td .elfinder-cwd-icon,.elfinder-navbar-root-googledrive .elfinder-cwd-icon{background-position:0 0}.elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-googledrive td .elfinder-cwd-icon,.elfinder-navbar-root-googledrive .elfinder-cwd-icon{background-image:url(../img/volume_icon_googledrive.svg);background-image:url(../img/volume_icon_googledrive.png) \9;background-size:contain}.elfinder-cwd-view-list .elfinder-navbar-root-onedrive td .elfinder-cwd-icon,.elfinder-navbar-root-onedrive .elfinder-cwd-icon{background-position:0 0}.elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-onedrive td .elfinder-cwd-icon,.elfinder-navbar-root-onedrive .elfinder-cwd-icon{background-image:url(../img/volume_icon_onedrive.svg);background-image:url(../img/volume_icon_onedrive.png) \9;background-size:contain}.elfinder-cwd-view-list .elfinder-navbar-root-box td .elfinder-cwd-icon,.elfinder-navbar-root-box .elfinder-cwd-icon{background-position:0 0}.elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-box td .elfinder-cwd-icon,.elfinder-navbar-root-box .elfinder-cwd-icon{background-image:url(../img/volume_icon_box.svg);background-image:url(../img/volume_icon_box.png) \9;background-size:contain}.elfinder-cwd .elfinder-navbar-root-zip.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-zip td .elfinder-cwd-icon,.elfinder-navbar-root-zip .elfinder-cwd-icon{background-image:url(../img/volume_icon_zip.svg);background-image:url(../img/volume_icon_zip.png) \9;background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon{background-position:1px -1px}.elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd-view-list .elfinder-navbar-root-network td .elfinder-cwd-icon,.elfinder-navbar-root-network .elfinder-cwd-icon{background-image:url(../img/volume_icon_network.svg);background-image:url(../img/volume_icon_network.png) \9;background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon{background-position:1px -1px}.elfinder-cwd-icon:before{content:none;position:absolute;left:0;top:5px;min-width:20px;max-width:84px;text-align:center;padding:0 4px 1px;border-radius:4px;font-family:Verdana;font-size:10px;line-height:1.3em;-webkit-transform:scale(.9);-moz-transform:scale(.9);-ms-transform:scale(.9);-o-transform:scale(.9);transform:scale(.9)}.elfinder-cwd-view-icons .elfinder-cwd-icon.elfinder-cwd-bgurl:before{left:-10px}.elfinder-cwd-icon.elfinder-cwd-icon-mp2t:before{content:'ts'}.elfinder-cwd-icon.elfinder-cwd-icon-dash-xml:before{content:'dash'}.elfinder-cwd-icon.elfinder-cwd-icon-x-mpegurl:before{content:'hls'}.elfinder-cwd-icon.elfinder-cwd-icon-x-c:before{content:'c++'}.elfinder-cwd-icon.elfinder-cwd-bgurl{background-position:center center;background-repeat:no-repeat}.elfinder-cwd-icon.elfinder-cwd-bgurl,.elfinder-cwd-icon.elfinder-cwd-bgurl.elfinder-cwd-bgself{-moz-background-size:cover;background-size:cover}.elfinder-cwd-icon.elfinder-cwd-bgurl:after{content:' '}.elfinder-cwd-bgurl:after{position:relative;display:inline-block;top:36px;left:-38px;width:48px;height:48px;background-image:url(../img/icons-big.svg);background-image:url(../img/icons-big.png) \9;background-repeat:no-repeat;background-size:auto!important;opacity:.8;filter:Alpha(Opacity=60);-webkit-transform-origin:54px -24px;-webkit-transform:scale(.6);-moz-transform-origin:54px -24px;-moz-transform:scale(.6);-ms-transform-origin:54px -24px;-ms-transform:scale(.6);-o-transform-origin:54px -24px;-o-transform:scale(.6);transform-origin:54px -24px;transform:scale(.6)}.elfinder-cwd-icon.elfinder-cwd-icon-drag{width:48px;height:48px}.elfinder-cwd-icon-directory.elfinder-cwd-bgurl:after,.elfinder-cwd-icon-image.elfinder-cwd-bgurl:after,.elfinder-cwd-icon.elfinder-cwd-icon-drag:after,.elfinder-cwd-icon.elfinder-cwd-icon-drag:before{content:none}.elfinder-cwd .elfinder-droppable-active .elfinder-cwd-icon{background-position:0 -100px}.elfinder-cwd .elfinder-droppable-active{outline:2px solid #8cafed;outline-offset:-2px}.elfinder-cwd-icon-directory{background-position:0 -50px}.elfinder-cwd-icon-application,.elfinder-cwd-icon-application:after{background-position:0 -150px}.elfinder-cwd-icon-text,.elfinder-cwd-icon-text:after{background-position:0 -1350px}.elfinder-cwd-icon-plain,.elfinder-cwd-icon-plain:after,.elfinder-cwd-icon-x-empty,.elfinder-cwd-icon-x-empty:after{background-position:0 -200px}.elfinder-cwd-icon-image,.elfinder-cwd-icon-image:after,.elfinder-cwd-icon-vnd-adobe-photoshop,.elfinder-cwd-icon-vnd-adobe-photoshop:after{background-position:0 -250px}.elfinder-cwd-icon-postscript,.elfinder-cwd-icon-postscript:after{background-position:0 -1550px}.elfinder-cwd-icon-audio,.elfinder-cwd-icon-audio:after{background-position:0 -300px}.elfinder-cwd-icon-dash-xml,.elfinder-cwd-icon-flash-video,.elfinder-cwd-icon-video,.elfinder-cwd-icon-video:after,.elfinder-cwd-icon-vnd-apple-mpegurl,.elfinder-cwd-icon-x-mpegurl{background-position:0 -350px}.elfinder-cwd-icon-rtf,.elfinder-cwd-icon-rtf:after,.elfinder-cwd-icon-rtfd,.elfinder-cwd-icon-rtfd:after{background-position:0 -400px}.elfinder-cwd-icon-pdf,.elfinder-cwd-icon-pdf:after{background-position:0 -450px}.elfinder-cwd-icon-ms-excel,.elfinder-cwd-icon-ms-excel:after,.elfinder-cwd-icon-vnd-ms-excel,.elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-excel:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template:after{background-position:0 -1450px}.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template:after,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet:after{background-position:0 -1700px}.elfinder-cwd-icon-vnd-ms-powerpoint,.elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template:after{background-position:0 -1400px}.elfinder-cwd-icon-vnd-oasis-opendocument-presentation,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template:after,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation:after{background-position:0 -1650px}.elfinder-cwd-icon-msword,.elfinder-cwd-icon-msword:after,.elfinder-cwd-icon-vnd-ms-word,.elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-word:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template:after{background-position:0 -1500px}.elfinder-cwd-icon-vnd-oasis-opendocument-text,.elfinder-cwd-icon-vnd-oasis-opendocument-text-master,.elfinder-cwd-icon-vnd-oasis-opendocument-text-master:after,.elfinder-cwd-icon-vnd-oasis-opendocument-text-template,.elfinder-cwd-icon-vnd-oasis-opendocument-text-template:after,.elfinder-cwd-icon-vnd-oasis-opendocument-text-web,.elfinder-cwd-icon-vnd-oasis-opendocument-text-web:after,.elfinder-cwd-icon-vnd-oasis-opendocument-text:after{background-position:0 -1750px}.elfinder-cwd-icon-vnd-ms-office,.elfinder-cwd-icon-vnd-ms-office:after{background-position:0 -500px}.elfinder-cwd-icon-vnd-oasis-opendocument-chart,.elfinder-cwd-icon-vnd-oasis-opendocument-chart:after,.elfinder-cwd-icon-vnd-oasis-opendocument-database,.elfinder-cwd-icon-vnd-oasis-opendocument-database:after,.elfinder-cwd-icon-vnd-oasis-opendocument-formula,.elfinder-cwd-icon-vnd-oasis-opendocument-formula:after,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template:after,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics:after,.elfinder-cwd-icon-vnd-oasis-opendocument-image,.elfinder-cwd-icon-vnd-oasis-opendocument-image:after,.elfinder-cwd-icon-vnd-openofficeorg-extension,.elfinder-cwd-icon-vnd-openofficeorg-extension:after{background-position:0 -1600px}.elfinder-cwd-icon-html,.elfinder-cwd-icon-html:after{background-position:0 -550px}.elfinder-cwd-icon-css,.elfinder-cwd-icon-css:after{background-position:0 -600px}.elfinder-cwd-icon-javascript,.elfinder-cwd-icon-javascript:after,.elfinder-cwd-icon-x-javascript,.elfinder-cwd-icon-x-javascript:after{background-position:0 -650px}.elfinder-cwd-icon-x-perl,.elfinder-cwd-icon-x-perl:after{background-position:0 -700px}.elfinder-cwd-icon-x-python,.elfinder-cwd-icon-x-python:after{background-position:0 -750px}.elfinder-cwd-icon-x-ruby,.elfinder-cwd-icon-x-ruby:after{background-position:0 -800px}.elfinder-cwd-icon-x-sh,.elfinder-cwd-icon-x-sh:after,.elfinder-cwd-icon-x-shellscript,.elfinder-cwd-icon-x-shellscript:after{background-position:0 -850px}.elfinder-cwd-icon-x-c,.elfinder-cwd-icon-x-c--,.elfinder-cwd-icon-x-c--:after,.elfinder-cwd-icon-x-c--hdr,.elfinder-cwd-icon-x-c--hdr:after,.elfinder-cwd-icon-x-c--src,.elfinder-cwd-icon-x-c--src:after,.elfinder-cwd-icon-x-c:after,.elfinder-cwd-icon-x-chdr,.elfinder-cwd-icon-x-chdr:after,.elfinder-cwd-icon-x-csrc,.elfinder-cwd-icon-x-csrc:after,.elfinder-cwd-icon-x-java,.elfinder-cwd-icon-x-java-source,.elfinder-cwd-icon-x-java-source:after,.elfinder-cwd-icon-x-java:after{background-position:0 -900px}.elfinder-cwd-icon-x-php,.elfinder-cwd-icon-x-php:after{background-position:0 -950px}.elfinder-cwd-icon-xml,.elfinder-cwd-icon-xml:after{background-position:0 -1000px}.elfinder-cwd-icon-x-7z-compressed,.elfinder-cwd-icon-x-7z-compressed:after,.elfinder-cwd-icon-x-xz,.elfinder-cwd-icon-x-xz:after,.elfinder-cwd-icon-x-zip,.elfinder-cwd-icon-x-zip:after,.elfinder-cwd-icon-zip,.elfinder-cwd-icon-zip:after{background-position:0 -1050px}.elfinder-cwd-icon-x-gzip,.elfinder-cwd-icon-x-gzip:after,.elfinder-cwd-icon-x-tar,.elfinder-cwd-icon-x-tar:after{background-position:0 -1100px}.elfinder-cwd-icon-x-bzip,.elfinder-cwd-icon-x-bzip2,.elfinder-cwd-icon-x-bzip2:after,.elfinder-cwd-icon-x-bzip:after{background-position:0 -1150px}.elfinder-cwd-icon-x-rar,.elfinder-cwd-icon-x-rar-compressed,.elfinder-cwd-icon-x-rar-compressed:after,.elfinder-cwd-icon-x-rar:after{background-position:0 -1200px}.elfinder-cwd-icon-x-shockwave-flash,.elfinder-cwd-icon-x-shockwave-flash:after{background-position:0 -1250px}.elfinder-cwd-icon-group{background-position:0 -1300px}.elfinder-cwd-filename input{width:100%;border:none;margin:0;padding:0}.elfinder-cwd-view-icons,.elfinder-cwd-view-icons input{text-align:center}.elfinder-cwd-view-icons textarea{width:100%;border:0 solid;margin:0;padding:0;text-align:center;overflow:hidden;resize:none}.elfinder-cwd-wrapper.elfinder-cwd-fixheader .elfinder-cwd::after,.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar select{display:none}.elfinder-cwd table{width:100%;border-collapse:separate;border:0 solid;margin:0 0 10px;border-spacing:0;box-sizing:padding-box;padding:2px;position:relative}.elfinder .elfinder-cwd table td div,.elfinder-cwd table td{box-sizing:content-box}.elfinder-cwd-wrapper-list.elfinder-cwd-fixheader{position:absolute;overflow:hidden}.elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before{content:'';position:absolute;width:100%;top:0;height:3px;background-color:#fff}.elfinder-droppable-active+.elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before{background-color:#8cafed}.elfinder .elfinder-workzone div.elfinder-cwd-fixheader table{table-layout:fixed}.elfinder-ltr .elfinder-cwd thead .elfinder-cwd-selectall{text-align:left;right:auto;left:0;padding-top:3px}.elfinder-rtl .elfinder-cwd thead .elfinder-cwd-selectall{text-align:right;right:0;left:auto;padding-top:3px}.elfinder-touch .elfinder-cwd thead .elfinder-cwd-selectall{padding-top:4px}.elfinder .elfinder-cwd table thead tr{border-left:0 solid;border-top:0 solid;border-right:0 solid}.elfinder .elfinder-cwd table thead td{padding:4px 14px}.elfinder-ltr .elfinder-cwd.elfinder-has-checkbox table thead td:first-child{padding:4px 14px 4px 22px}.elfinder-rtl .elfinder-cwd.elfinder-has-checkbox table thead td:first-child{padding:4px 22px 4px 14px}.elfinder-touch .elfinder-cwd table thead td,.elfinder-touch .elfinder-cwd.elfinder-has-checkbox table thead td:first-child{padding-top:8px;padding-bottom:8px}.elfinder .elfinder-cwd table thead td.ui-state-active{background:#ebf1f6;background:-moz-linear-gradient(top,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebf1f6),color-stop(50%,#abd3ee),color-stop(51%,#89c3eb),color-stop(100%,#d5ebfb));background:-webkit-linear-gradient(top,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);background:-o-linear-gradient(top,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);background:-ms-linear-gradient(top,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);background:linear-gradient(to bottom,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebf1f6', endColorstr='#d5ebfb', GradientType=0)}.elfinder .elfinder-cwd table td{padding:4px 12px;white-space:pre;overflow:hidden;text-align:right;cursor:default;border:0 solid}.elfinder .elfinder-cwd table tbody td:first-child{position:relative}tr.elfinder-cwd-file td .elfinder-cwd-select{padding-top:3px}.elfinder-mobile tr.elfinder-cwd-file td .elfinder-cwd-select{width:40px}.elfinder-touch tr.elfinder-cwd-file td .elfinder-cwd-select{padding-top:10px}.elfinder-touch .elfinder-cwd tr td{padding:10px 12px}.elfinder-touch .elfinder-cwd tr.elfinder-cwd-file td{padding:13px 12px}.elfinder-ltr .elfinder-cwd table td{text-align:right}.elfinder-ltr .elfinder-cwd table td:first-child{text-align:left}.elfinder-rtl .elfinder-cwd table td{text-align:left}.elfinder-ltr .elfinder-info-tb tr td:first-child,.elfinder-rtl .elfinder-cwd table td:first-child{text-align:right}.elfinder-odd-row{background:#eee}.elfinder-cwd-view-list .elfinder-cwd-file-wrapper{width:97%;position:relative}.elfinder-ltr .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper{margin-left:8px}.elfinder-rtl .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper{margin-right:8px}.elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-filename{padding-left:23px}.elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-filename{padding-right:23px}.elfinder-cwd-view-list .elfinder-lock,.elfinder-cwd-view-list .elfinder-perms,.elfinder-cwd-view-list .elfinder-symlink{margin-top:-6px;opacity:.6;filter:Alpha(Opacity=60)}.elfinder-cwd-view-list .elfinder-perms{bottom:-4px}.elfinder-cwd-view-list .elfinder-lock{top:0}.elfinder-cwd-view-list .elfinder-symlink{bottom:-4px}.elfinder-ltr .elfinder-cwd-view-list .elfinder-perms{left:8px}.elfinder-rtl .elfinder-cwd-view-list .elfinder-perms{right:-8px}.elfinder-ltr .elfinder-cwd-view-list .elfinder-lock{left:10px}.elfinder-rtl .elfinder-cwd-view-list .elfinder-lock{right:-10px}.elfinder-ltr .elfinder-cwd-view-list .elfinder-symlink{left:-7px}.elfinder-rtl .elfinder-cwd-view-list .elfinder-symlink{right:7px}.elfinder-cwd-view-list td .elfinder-cwd-icon{width:16px;height:16px;position:absolute;top:50%;margin-top:-8px;background-image:url(../img/icons-small.png)}.elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-icon{left:0}.elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-icon{right:0}.elfinder-cwd-view-list .elfinder-cwd-icon:after,.elfinder-cwd-view-list .elfinder-cwd-icon:before{content:none}.elfinder-cwd-view-list thead td .ui-resizable-handle{height:100%;top:6px}.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-handle{top:-4px;margin:10px}.elfinder-cwd-view-list thead td .ui-resizable-e{right:-7px}.elfinder-cwd-view-list thead td .ui-resizable-w{left:-7px}.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-e{right:-16px}.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-w{left:-16px}.elfinder-cwd-wrapper-empty .elfinder-cwd-view-list.elfinder-cwd:after{margin-top:0}.elfinder-cwd-message-board{position:-webkit-sticky;position:sticky;width:100%;height:calc(100% - .01px);top:0;left:0;margin:0;padding:0;pointer-events:none;background-color:transparent}.elfinder-cwd-wrapper-trash .elfinder-cwd-message-board{background-image:url(../img/trashmesh.png)}.elfinder-cwd-message-board .elfinder-cwd-trash{position:absolute;bottom:0;font-size:30px;width:100%;text-align:right;display:none}.elfinder-rtl .elfinder-cwd-message-board .elfinder-cwd-trash{text-align:left}.elfinder-mobile .elfinder-cwd-message-board .elfinder-cwd-trash{font-size:20px}.elfinder-cwd-wrapper-trash .elfinder-cwd-message-board .elfinder-cwd-trash{display:block;opacity:.3}.elfinder-cwd-message-board .elfinder-cwd-expires{position:absolute;bottom:0;font-size:24px;width:100%;text-align:right;opacity:.25}.elfinder-rtl .elfinder-cwd-message-board .elfinder-cwd-expires{text-align:left}.elfinder-mobile .elfinder-cwd-message-board .elfinder-cwd-expires{font-size:20px}.std42-dialog{padding:0;position:absolute;left:auto;right:auto;box-sizing:border-box}.std42-dialog.elfinder-dialog-minimized{overFlow:hidden;position:relative;float:left;width:auto;cursor:pointer}.elfinder-rtl .std42-dialog.elfinder-dialog-minimized{float:right}.std42-dialog input{border:1px solid}.std42-dialog .ui-dialog-titlebar{border-left:0 solid transparent;border-top:0 solid transparent;border-right:0 solid transparent;font-weight:400;padding:.2em 1em}.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar{padding:0 .5em;height:20px}.elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar{padding:.3em .5em}.std42-dialog.ui-draggable-disabled .ui-dialog-titlebar{cursor:default}.std42-dialog .ui-dialog-titlebar .ui-widget-header{border:none;cursor:pointer}.std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title{display:inherit;word-break:break-all}.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title{display:list-item;display:-moz-inline-box;white-space:nowrap;word-break:normal;overflow:hidden;word-wrap:normal;overflow-wrap:normal;max-width:-webkit-calc(100% - 24px);max-width:-moz-calc(100% - 24px);max-width:calc(100% - 24px)}.elfinder-touch .std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title{padding-top:.15em}.elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title{max-width:-webkit-calc(100% - 36px);max-width:-moz-calc(100% - 36px);max-width:calc(100% - 36px)}.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button{position:relative;float:left;top:10px;left:-10px;right:10px;width:20px;height:20px;padding:1px;margin:-10px 1px 0;background-color:transparent;background-image:none}.elfinder-touch .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button{-moz-transform:scale(1.2);zoom:1.2;padding-left:6px;padding-right:6px;height:24px}.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button-right{float:right}.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button.elfinder-titlebar-button-right{left:10px;right:-10px}.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon{width:17px;height:17px;border-width:1px;opacity:.7;filter:Alpha(Opacity=70);-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon{opacity:.5;filter:Alpha(Opacity=50)}.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon{opacity:1;filter:Alpha(Opacity=100)}.elfinder-spinner{width:14px;height:14px;background:url(../img/spinner-mini.gif) center center no-repeat;margin:0 5px;display:inline-block;vertical-align:middle}.elfinder-ltr .elfinder-info-tb span,.elfinder-ltr .elfinder-spinner,.elfinder-ltr .elfinder-spinner-text{float:left}.elfinder-rtl .elfinder-info-tb span,.elfinder-rtl .elfinder-spinner,.elfinder-rtl .elfinder-spinner-text{float:right}.elfinder-touch .std42-dialog.ui-dialog:not(ui-resizable-disabled) .ui-resizable-se{width:12px;height:12px;-moz-transform-origin:bottom right;-moz-transform:scale(1.5);zoom:1.5;right:-7px;bottom:-7px;margin:3px 7px 7px 3px;background-position:-64px -224px}.elfinder-rtl .elfinder-dialog .ui-dialog-titlebar{text-align:right}.std42-dialog .ui-dialog-content{padding:.3em .5em;box-sizing:border-box}.elfinder .std42-dialog .ui-dialog-content,.elfinder .std42-dialog .ui-dialog-content *{-webkit-user-select:auto;-moz-user-select:text;-khtml-user-select:text;user-select:text}.std42-dialog .ui-dialog-buttonpane{border:0 solid;margin:0;padding:.5em;text-align:right}.elfinder-rtl .std42-dialog .ui-dialog-buttonpane{text-align:left}.std42-dialog .ui-dialog-buttonpane button{margin:.2em 0 0 .4em;padding:.2em;outline:0 solid}.std42-dialog .ui-dialog-buttonpane button span{padding:2px 9px}.std42-dialog .ui-dialog-buttonpane button span.ui-icon{padding:2px}.elfinder-dialog .ui-resizable-e,.elfinder-dialog .ui-resizable-s{width:0;height:0}.std42-dialog .ui-button input{cursor:pointer}.std42-dialog select{border:1px solid #ccc}.elfinder-dialog-icon{position:absolute;width:32px;height:32px;left:10px;top:50%;margin-top:-15px;background:url(../img/dialogs.png) 0 0 no-repeat}.elfinder-rtl .elfinder-dialog-icon{left:auto;right:10px}.elfinder-dialog-confirm .ui-dialog-content,.elfinder-dialog-error .ui-dialog-content{padding-left:56px;min-height:35px}.elfinder-rtl .elfinder-dialog-confirm .ui-dialog-content,.elfinder-rtl .elfinder-dialog-error .ui-dialog-content{padding-left:0;padding-right:56px}.elfinder-dialog-error .elfinder-err-var{word-break:break-all}.elfinder-dialog-notify{top:36px;width:280px}.elfinder-ltr .elfinder-dialog-notify{right:12px}.elfinder-rtl .elfinder-dialog-notify{left:12px}.elfinder-dialog-notify .ui-dialog-titlebar{height:5px}.elfinder-dialog-notify .ui-dialog-titlebar-close,.elfinder-rm-title+br{display:none}.elfinder-dialog-notify .ui-dialog-content{padding:0}.elfinder-notify{border-bottom:1px solid #ccc;position:relative;padding:.5em;text-align:center;overflow:hidden}.elfinder-ltr .elfinder-notify{padding-left:36px}.elfinder-rtl .elfinder-notify{padding-right:36px}.elfinder-notify:last-child{border:0 solid}.elfinder-notify-progressbar{width:180px;height:8px;border:1px solid #aaa;background:#f5f5f5;margin:5px auto;overflow:hidden}.elfinder-notify-progress{width:100%;height:8px;background:url(../img/progress.gif) center center repeat-x}.elfinder-notify-progress,.elfinder-notify-progressbar{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.elfinder-dialog-icon-file,.elfinder-dialog-icon-open,.elfinder-dialog-icon-readdir,.elfinder-dialog-icon-reload{background-position:0 -225px}.elfinder-dialog-icon-mkdir{background-position:0 -64px}.elfinder-dialog-icon-mkfile{background-position:0 -96px}.elfinder-dialog-icon-copy,.elfinder-dialog-icon-move,.elfinder-dialog-icon-prepare{background-position:0 -128px}.elfinder-dialog-icon-chunkmerge,.elfinder-dialog-icon-upload{background-position:0 -160px}.elfinder-dialog-icon-rm{background-position:0 -192px}.elfinder-dialog-icon-download{background-position:0 -260px}.elfinder-dialog-icon-save{background-position:0 -295px}.elfinder-dialog-icon-chkcontent,.elfinder-dialog-icon-rename{background-position:0 -330px}.elfinder-dialog-icon-archive,.elfinder-dialog-icon-extract,.elfinder-dialog-icon-zipdl{background-position:0 -365px}.elfinder-dialog-icon-search{background-position:0 -402px}.elfinder-dialog-icon-chmod,.elfinder-dialog-icon-dim,.elfinder-dialog-icon-loadimg,.elfinder-dialog-icon-netmount,.elfinder-dialog-icon-netunmount,.elfinder-dialog-icon-preupload,.elfinder-dialog-icon-resize,.elfinder-dialog-icon-url{background-position:0 -434px}.elfinder-dialog-confirm-applyall,.elfinder-dialog-confirm-encoding{padding:0 1em;margin:0}.elfinder-ltr .elfinder-dialog-confirm-applyall,.elfinder-ltr .elfinder-dialog-confirm-encoding{text-align:left}.elfinder-rtl .elfinder-dialog-confirm-applyall,.elfinder-rtl .elfinder-dialog-confirm-encoding{text-align:right}.elfinder-dialog-confirm .elfinder-dialog-icon{background-position:0 -32px}.elfinder-dialog-confirm .ui-dialog-buttonset{width:auto}.elfinder-info-title .elfinder-cwd-icon{float:left;width:48px;height:48px;margin-right:1em}.elfinder-rtl .elfinder-info-title .elfinder-cwd-icon,.elfinder-rtl .elfinder-rm-title .elfinder-cwd-icon{float:right;margin-right:0;margin-left:1em}.elfinder-info-title strong{display:block;padding:.3em 0 .5em}.elfinder-info-tb{min-width:200px;border:0 solid;margin:1em .2em;width:100%}.elfinder-info-tb td{white-space:pre-wrap;padding:2px}.elfinder-info-tb td.elfinder-info-label{white-space:nowrap}.elfinder-info-tb td.elfinder-info-hash{display:inline-block;word-break:break-all;max-width:32ch}.elfinder-rtl .elfinder-info-tb tr td:first-child{text-align:left}.elfinder-info-tb a{outline:none;text-decoration:underline}.elfinder-info-tb a:hover{text-decoration:none}.elfinder-netmount-tb{margin:0 auto}.elfinder-netmount-tb .elfinder-button-icon,.elfinder-netmount-tb select{cursor:pointer}button.elfinder-info-button{margin:-3.5px 0;cursor:pointer}.elfinder-upload-dropbox{display:table-cell;text-align:center;vertical-align:middle;padding:.5em;border:3px dashed #aaa;width:9999px;height:80px;overflow:hidden;word-break:keep-all}.elfinder-upload-dropbox.ui-state-hover{background:#dfdfdf;border:3px dashed #555}.elfinder-upload-dialog-or{margin:.3em 0;text-align:center}.elfinder-upload-dialog-wrapper{text-align:center}.elfinder-upload-dialog-wrapper .ui-button{position:relative;overflow:hidden}.elfinder-upload-dialog-wrapper .ui-button form{position:absolute;right:0;top:0;width:100%;opacity:0;filter:Alpha(Opacity=0)}.elfinder-upload-dialog-wrapper .ui-button form input{padding:50px 0 0;font-size:3em;width:100%}.dialogelfinder .dialogelfinder-drag{border-left:0 solid;border-top:0 solid;border-right:0 solid;font-weight:400;padding:2px 12px;cursor:move;position:relative;text-align:left}.elfinder-rtl .dialogelfinder-drag{text-align:right}.dialogelfinder-drag-close{position:absolute;top:50%;margin-top:-8px}.elfinder-ltr .dialogelfinder-drag-close{right:12px}.elfinder-rtl .dialogelfinder-drag-close{left:12px}.elfinder-rm-title{margin-bottom:.5ex}.elfinder-rm-title .elfinder-cwd-icon{float:left;width:48px;height:48px;margin-right:1em}.elfinder-rm-title strong{display:block;white-space:pre-wrap;word-break:normal;overflow:hidden;text-overflow:ellipsis}.elfinder-font-mono{font-family:"Ricty Diminished","Myrica M",Consolas,"Courier New",Courier,Monaco,monospace;font-size:1.1em}.elfinder-contextmenu .elfinder-contextmenu-item span{font-size:.72em}.elfinder-cwd-view-icons .elfinder-cwd-filename,.elfinder-cwd-view-list td,.elfinder-statusbar div{font-size:.7em}.std42-dialog .ui-dialog-titlebar{font-size:.82em}.std42-dialog .ui-dialog-content{font-size:.72em}.std42-dialog .ui-dialog-buttonpane{font-size:.76em}.dialogelfinder .dialogelfinder-drag,.elfinder-info-tb{font-size:.9em}.elfinder-upload-dialog-or,.elfinder-upload-dropbox{font-size:1.2em}.elfinder .elfinder-navbar{font-size:.72em}.elfinder-place-drag .elfinder-navbar-dir{font-size:.9em}.elfinder-quicklook-title{font-size:.7em;font-weight:400}.elfinder-quicklook-info-data{font-size:.72em}.elfinder-quicklook-preview-text-wrapper{font-size:.9em}.elfinder-button-menu-item{font-size:.72em}.elfinder-button-search input{font-size:.8em}.elfinder-drag-num{font-size:12px}.elfinder-toast{font-size:.76em}.elfinder .elfinder-navbar{width:230px;padding:3px 5px;background-image:none;border-top:0 solid;border-bottom:0 solid;overflow:auto;position:relative}.elfinder .elfinder-navdock{box-sizing:border-box;width:230px;height:auto;position:absolute;bottom:0;overflow:auto}.elfinder-navdock .ui-resizable-n{top:0;height:20px}.elfinder-ltr .elfinder-navbar{float:left;border-left:0 solid}.elfinder-rtl .elfinder-navbar{float:right;border-right:0 solid}.elfinder-ltr .ui-resizable-e,.elfinder-touch .elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right .ui-icon{margin-left:10px}.elfinder-tree{display:table;width:100%;margin:0 0 .5em;-webkit-tap-highlight-color:rgba(0,0,0,0)}.elfinder-navbar-dir{position:relative;display:block;white-space:nowrap;padding:3px 12px;margin:0;outline:0 solid;border:1px solid transparent;cursor:default}.elfinder-touch .elfinder-navbar-dir{padding:12px}.elfinder-ltr .elfinder-navbar-dir{padding-left:35px}.elfinder-rtl .elfinder-navbar-dir{padding-right:35px}.elfinder-navbar-arrow,.elfinder-navbar-icon{position:absolute;top:50%;margin-top:-8px;background-repeat:no-repeat}.elfinder-navbar-arrow{display:none;width:12px;height:14px;background-image:url(../img/arrows-normal.png)}.elfinder-ltr .elfinder-navbar-arrow{left:0}.elfinder-rtl .elfinder-navbar-arrow{right:0}.elfinder-touch .elfinder-navbar-arrow{-moz-transform-origin:top left;-moz-transform:scale(1.4);zoom:1.4;margin-bottom:7px}.elfinder-ltr.elfinder-touch .elfinder-navbar-arrow{left:-3px;margin-right:20px}.elfinder-rtl.elfinder-touch .elfinder-navbar-arrow{right:-3px;margin-left:20px}.ui-state-active .elfinder-navbar-arrow{background-image:url(../img/arrows-active.png)}.elfinder-navbar-collapsed .elfinder-navbar-arrow{display:block}.elfinder-subtree-chksubdir .elfinder-navbar-arrow{opacity:.25;filter:Alpha(Opacity=25)}.elfinder-ltr .elfinder-navbar-collapsed .elfinder-navbar-arrow{background-position:0 4px}.elfinder-rtl .elfinder-navbar-collapsed .elfinder-navbar-arrow{background-position:0 -10px}.elfinder-ltr .elfinder-navbar-expanded .elfinder-navbar-arrow,.elfinder-rtl .elfinder-navbar-expanded .elfinder-navbar-arrow{background-position:0 -21px}.elfinder-navbar-icon{width:16px;height:16px;background-image:url(../img/toolbar.png);background-position:0 -16px}.elfinder-ltr .elfinder-navbar-icon{left:14px}.elfinder-rtl .elfinder-navbar-icon{right:14px}.elfinder-places .elfinder-navbar-root .elfinder-navbar-icon{background-position:0 -704px}.elfinder-tree .elfinder-navbar-root-box .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-dropbox .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-ftp .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-googledrive .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-local .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-network .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-onedrive .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-sql .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-trash .elfinder-navbar-icon,.elfinder-tree .elfinder-navbar-root-zip .elfinder-navbar-icon{background-position:0 0;background-size:contain}.elfinder-tree .elfinder-navbar-root-local .elfinder-navbar-icon{background-image:url(../img/volume_icon_local.svg);background-image:url(../img/volume_icon_local.png) \9}.elfinder-tree .elfinder-navbar-root-trash .elfinder-navbar-icon{background-image:url(../img/volume_icon_trash.svg);background-image:url(../img/volume_icon_trash.png) \9}.elfinder-tree .elfinder-navbar-root-ftp .elfinder-navbar-icon{background-image:url(../img/volume_icon_ftp.svg);background-image:url(../img/volume_icon_ftp.png) \9}.elfinder-tree .elfinder-navbar-root-sql .elfinder-navbar-icon{background-image:url(../img/volume_icon_sql.svg);background-image:url(../img/volume_icon_sql.png) \9}.elfinder-tree .elfinder-navbar-root-dropbox .elfinder-navbar-icon{background-image:url(../img/volume_icon_dropbox.svg);background-image:url(../img/volume_icon_dropbox.png) \9}.elfinder-tree .elfinder-navbar-root-googledrive .elfinder-navbar-icon{background-image:url(../img/volume_icon_googledrive.svg);background-image:url(../img/volume_icon_googledrive.png) \9}.elfinder-tree .elfinder-navbar-root-onedrive .elfinder-navbar-icon{background-image:url(../img/volume_icon_onedrive.svg);background-image:url(../img/volume_icon_onedrive.png) \9}.elfinder-tree .elfinder-navbar-root-box .elfinder-navbar-icon{background-image:url(../img/volume_icon_box.svg);background-image:url(../img/volume_icon_box.png) \9}.elfinder-tree .elfinder-navbar-root-zip .elfinder-navbar-icon{background-image:url(../img/volume_icon_zip.svg);background-image:url(../img/volume_icon_zip.png) \9}.elfinder-tree .elfinder-navbar-root-network .elfinder-navbar-icon{background-image:url(../img/volume_icon_network.svg);background-image:url(../img/volume_icon_network.png) \9}.elfinder-droppable-active .elfinder-navbar-icon,.ui-state-active .elfinder-navbar-icon,.ui-state-hover .elfinder-navbar-icon{background-position:0 -32px}.elfinder-ltr .elfinder-navbar-subtree{margin-left:12px}.elfinder-rtl .elfinder-navbar-subtree{margin-right:12px}.elfinder-tree .elfinder-spinner{position:absolute;top:50%;margin:-7px 0 0}.elfinder-ltr .elfinder-tree .elfinder-spinner{left:0;margin-left:-2px}.elfinder-rtl .elfinder-tree .elfinder-spinner{right:0;margin-right:-2px}.elfinder-navbar .elfinder-lock,.elfinder-navbar .elfinder-perms,.elfinder-navbar .elfinder-symlink{opacity:.6;filter:Alpha(Opacity=60)}.elfinder-navbar .elfinder-perms{bottom:-1px;margin-top:-8px}.elfinder-navbar .elfinder-lock{top:-2px}.elfinder-ltr .elfinder-navbar .elfinder-perms{left:20px;transform:scale(.8)}.elfinder-rtl .elfinder-navbar .elfinder-perms{right:20px;transform:scale(.8)}.elfinder-ltr .elfinder-navbar .elfinder-lock{left:20px;transform:scale(.8)}.elfinder-rtl .elfinder-navbar .elfinder-lock{right:20px;transform:scale(.8)}.elfinder-ltr .elfinder-navbar .elfinder-symlink{left:8px;transform:scale(.8)}.elfinder-rtl .elfinder-navbar .elfinder-symlink{right:8px;transform:scale(.8)}.elfinder-navbar input{width:100%;border:0 solid;margin:0;padding:0}.elfinder-navbar .ui-resizable-handle{width:12px;background:url(../img/resize.png) center center no-repeat}.elfinder-nav-handle-icon{position:absolute;top:50%;margin:-8px 2px 0;opacity:.5;filter:Alpha(Opacity=50)}.elfinder-navbar-pager{width:100%;box-sizing:border-box;padding-top:3px;padding-bottom:3px}.elfinder-touch .elfinder-navbar-pager{padding-top:10px;padding-bottom:10px}.elfinder-places{border:none;margin:0;padding:0}.elfinder-navbar-swipe-handle{position:absolute;top:0;height:100%;width:50px;pointer-events:none}.elfinder-ltr .elfinder-navbar-swipe-handle{left:0;background:linear-gradient(to right,#dde4eb 0,rgba(221,228,235,.8) 5px,rgba(216,223,230,.3) 8px,rgba(0,0,0,.1) 95%,rgba(0,0,0,0) 100%)}.elfinder-rtl .elfinder-navbar-swipe-handle{right:0;background:linear-gradient(to left,#dde4eb 0,rgba(221,228,235,.8) 5px,rgba(216,223,230,.3) 8px,rgba(0,0,0,.1) 95%,rgba(0,0,0,0) 100%)}.elfinder-navbar-root .elfinder-places-root-icon{position:absolute;top:50%;margin-top:-9px;cursor:pointer}.elfinder-ltr .elfinder-places-root-icon{right:10px}.elfinder-rtl .elfinder-places-root-icon{left:10px}.elfinder-navbar-expanded .elfinder-places-root-icon{display:block}.elfinder-place-drag{font-size:.8em}.elfinder-quicklook{position:absolute;background:url(../img/quicklook-bg.png);overflow:hidden;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;padding:20px 0 40px}.elfinder-navdock .elfinder-quicklook{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;font-size:90%;overflow:auto}.elfinder-quicklook.elfinder-touch{padding:30px 0 40px}.elfinder-quicklook .ui-resizable-se{width:14px;height:14px;right:5px;bottom:3px;background:url(../img/toolbar.png) 0 -496px no-repeat}.elfinder-quicklook.elfinder-touch .ui-resizable-se{-moz-transform-origin:bottom right;-moz-transform:scale(1.5);zoom:1.5}.elfinder-quicklook.elfinder-quicklook-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;box-sizing:border-box;width:100%;height:100%;object-fit:contain;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-webkit-background-clip:padding-box;padding:0;background:#000;display:block}.elfinder-quicklook-fullscreen .elfinder-quicklook-titlebar,.elfinder-quicklook-fullscreen.elfinder-quicklook .ui-resizable-handle,.elfinder-statusbar:after,.elfinder-statusbar:before{display:none}.elfinder-quicklook-fullscreen .elfinder-quicklook-preview{border:0 solid}.elfinder-quicklook-cover,.elfinder-quicklook-titlebar{width:100%;height:100%;top:0;left:0;position:absolute}.elfinder-quicklook-cover.elfinder-quicklook-coverbg{background-color:#fff;opacity:.000001;filter:Alpha(Opacity=.0001)}.elfinder-quicklook-titlebar{text-align:center;background:#777;height:20px;-moz-border-radius-topleft:7px;-webkit-border-top-left-radius:7px;border-top-left-radius:7px;-moz-border-radius-topright:7px;-webkit-border-top-right-radius:7px;border-top-right-radius:7px;border:none;line-height:1.2}.elfinder-navdock .elfinder-quicklook-titlebar{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;cursor:default}.elfinder-touch .elfinder-quicklook-titlebar{height:30px}.elfinder-quicklook-title{display:inline-block;white-space:nowrap;overflow:hidden}.elfinder-touch .elfinder-quicklook-title{padding:8px 0}.elfinder-quicklook-titlebar-icon{position:absolute;left:4px;top:50%;margin-top:-8px;height:16px;border:none}.elfinder-touch .elfinder-quicklook-titlebar-icon{height:22px}.elfinder-quicklook-titlebar-icon .ui-icon{position:relative;margin:-9px 3px 0 0;cursor:pointer;border-radius:10px;border:1px solid;opacity:.7;filter:Alpha(Opacity=70)}.elfinder-quicklook-titlebar-icon .ui-icon.ui-icon-closethick{padding-left:1px}.elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon{opacity:.6;filter:Alpha(Opacity=60)}.elfinder-touch .elfinder-quicklook-titlebar-icon .ui-icon{margin-top:-5px}.elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right{left:auto;right:4px;direction:rtl}.elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right .ui-icon{margin:-9px 0 0 3px}.elfinder-touch .elfinder-quicklook-titlebar .ui-icon{-moz-transform-origin:center center;-moz-transform:scale(1.2);zoom:1.2}.elfinder-touch .elfinder-quicklook-titlebar-icon .ui-icon{margin-right:10px}.elfinder-quicklook-preview{overflow:hidden;position:relative;border:0 solid;border-left:1px solid transparent;border-right:1px solid transparent;height:100%}.elfinder-navdock .elfinder-quicklook-preview{border-left:0;border-right:0}.elfinder-quicklook-preview.elfinder-overflow-auto{overflow:auto;-webkit-overflow-scrolling:touch}.elfinder-quicklook-info-wrapper{display:table;position:absolute;width:100%;height:100%;height:calc(100% - 80px);left:0;top:20px}.elfinder-navdock .elfinder-quicklook-info-wrapper{height:calc(100% - 20px)}.elfinder-quicklook-info{display:table-cell;vertical-align:middle}.elfinder-ltr .elfinder-quicklook-info{padding:0 12px 0 112px}.elfinder-rtl .elfinder-quicklook-info{padding:0 112px 0 12px}.elfinder-ltr .elfinder-navdock .elfinder-quicklook-info{padding:0 0 0 80px}.elfinder-rtl .elfinder-navdock .elfinder-quicklook-info{padding:0 80px 0 0}.elfinder-quicklook-info .elfinder-quicklook-info-data:first-child{color:#fff;font-weight:700;padding-bottom:.5em}.elfinder-quicklook-info-data{clear:both;padding-bottom:.2em;color:#fff}.elfinder-quicklook .elfinder-cwd-icon{position:absolute;left:32px;top:50%;margin-top:-20px}.elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon{left:16px}.elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon{left:auto;right:32px}.elfinder-rtl .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon{right:6px}.elfinder-quicklook .elfinder-cwd-icon:before{top:-10px}.elfinder-ltr .elfinder-quicklook .elfinder-cwd-icon:after,.elfinder-ltr .elfinder-quicklook .elfinder-cwd-icon:before{left:-20px}.elfinder-ltr .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon:before{left:-14px}.elfinder-ltr .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon:after{left:-12px}.elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon:before{left:auto;right:40px}.elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon:after{left:auto;right:46px}.elfinder-quicklook-preview img{display:block;margin:0 auto}.elfinder-quicklook-navbar{position:absolute;left:50%;bottom:4px;width:140px;height:32px;padding:0;margin-left:-70px;border:1px solid transparent;border-radius:19px;-moz-border-radius:19px;-webkit-border-radius:19px}.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar{width:188px;margin-left:-94px;padding:5px;border:1px solid #eee;background:#000;opacity:.4;filter:Alpha(Opacity=40)}.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-icon-close,.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-separator{display:inline}.elfinder-quicklook-navbar-icon{width:32px;height:32px;margin:0 7px;float:left;background:url(../img/quicklook-icons.png) 0 0 no-repeat}.elfinder-quicklook-navbar-icon-fullscreen{background-position:0 -64px}.elfinder-quicklook-navbar-icon-fullscreen-off{background-position:0 -96px}.elfinder-quicklook-navbar-icon-prev{background-position:0 0}.elfinder-quicklook-navbar-icon-next{background-position:0 -32px}.elfinder-quicklook-navbar-icon-close{background-position:0 -128px;display:none}.elfinder-quicklook-navbar-separator{width:1px;height:32px;float:left;border-left:1px solid #fff;display:none}.elfinder-quicklook-preview-archive-wrapper,.elfinder-quicklook-preview-text-wrapper{width:100%;height:100%;background:#fff;color:#222;overflow:auto;-webkit-overflow-scrolling:touch}.elfinder-quicklook-preview-archive-wrapper{font-size:90%}.elfinder-quicklook-preview-archive-wrapper strong{padding:0 5px}pre.elfinder-quicklook-preview-text,pre.elfinder-quicklook-preview-text.prettyprint{width:auto;height:auto;margin:0;padding:3px 9px;border:none;-o-tab-size:4;-moz-tab-size:4;tab-size:4}.elfinder-quicklook-preview-charsleft hr{border:none;border-top:dashed 1px}.elfinder-quicklook-preview-charsleft span{font-size:90%;font-style:italic;cursor:pointer}.elfinder-quicklook-preview-html,.elfinder-quicklook-preview-iframe,.elfinder-quicklook-preview-pdf{width:100%;height:100%;background:#fff;margin:0;border:none;display:block}.elfinder-quicklook-preview-flash{width:100%;height:100%}.elfinder-quicklook-preview-audio{width:100%;position:absolute;bottom:0;left:0}embed.elfinder-quicklook-preview-audio{height:30px;background:0 0}.elfinder-quicklook-preview-video{width:100%;height:100%}.elfinder .elfinder-quicklook .elfinder-quicklook-info *,.elfinder .elfinder-quicklook .elfinder-quicklook-preview *{-webkit-user-select:auto;-moz-user-select:text;-khtml-user-select:text;user-select:text}.elfinder-statusbar{display:flex;justify-content:space-between;cursor:default;text-align:center;font-weight:400;padding:.2em .5em;border-right:0 solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent}.elfinder-path,.elfinder-statusbar span{overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.elfinder-statusbar span{vertical-align:bottom}.elfinder-statusbar span.elfinder-path-other{flex-shrink:0;text-overflow:clip;-o-text-overflow:clip}.elfinder-statusbar span.ui-state-active,.elfinder-statusbar span.ui-state-hover{border:none}.elfinder-statusbar span.elfinder-path-cwd{cursor:default}.elfinder-path{display:flex;order:1;flex-grow:1;cursor:pointer;white-space:nowrap;max-width:30%\9}.elfinder-ltr .elfinder-path{text-align:left;float:left\9}.elfinder-rtl .elfinder-path{text-align:right;float:right\9}.elfinder-workzone-path{position:relative}.elfinder-workzone-path .elfinder-path{position:relative;font-size:.75em;font-weight:400;float:none;max-width:none;overflow:hidden;overflow-x:hidden;text-overflow:initial;-o-text-overflow:initial}.elfinder-mobile .elfinder-workzone-path .elfinder-path{overflow:auto;overflow-x:scroll}.elfinder-ltr .elfinder-workzone-path .elfinder-path{margin-left:24px}.elfinder-rtl .elfinder-workzone-path .elfinder-path{margin-right:24px}.elfinder-workzone-path .elfinder-path span{display:inline-block;padding:5px 3px}.elfinder-workzone-path .elfinder-path span.elfinder-path-cwd{font-weight:700}.elfinder-workzone-path .elfinder-path span.ui-state-active,.elfinder-workzone-path .elfinder-path span.ui-state-hover{border:none}.elfinder-workzone-path .elfinder-path-roots{position:absolute;top:0;width:24px;height:20px;padding:2px;border:none;overflow:hidden}.elfinder-ltr .elfinder-workzone-path .elfinder-path-roots{left:0}.elfinder-rtl .elfinder-workzone-path .elfinder-path-roots{right:0}.elfinder-stat-size{order:3;flex-grow:1;overflow:hidden;white-space:nowrap}.elfinder-ltr .elfinder-stat-size{text-align:right;float:right\9}.elfinder-rtl .elfinder-stat-size{text-align:left;float:left\9}.elfinder-stat-selected{order:2;margin:0 .5em;white-space:nowrap;overflow:hidden}.elfinder .elfinder-toast{position:absolute;top:12px;right:12px;max-width:90%;cursor:default}.elfinder .elfinder-toast>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:8px 16px 8px 50px;-moz-border-radius:3px 3px 3px 3px;-webkit-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.9;filter:alpha(opacity=90);background-color:#030303;text-align:center}.elfinder .elfinder-toast>.toast-info{background-color:#2f96b4;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}.elfinder .elfinder-toast>.toast-error{background-color:#bd362f;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}.elfinder .elfinder-toast>.toast-success{background-color:#51a351;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}.elfinder .elfinder-toast>.toast-warning{background-color:#f89406;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}.elfinder .elfinder-toast>div button.ui-button{background-image:none;margin-top:8px;padding:.5em .8em}.elfinder .elfinder-toast>.toast-success button.ui-button{background-color:green;color:#fff}.elfinder .elfinder-toast>.toast-success button.ui-button.ui-state-hover{background-color:#add6ad;color:#254b25}.elfinder .elfinder-toast>.toast-info button.ui-button{background-color:#046580;color:#fff}.elfinder .elfinder-toast>.toast-info button.ui-button.ui-state-hover{background-color:#7dc6db;color:#046580}.elfinder .elfinder-toast>.toast-warning button.ui-button{background-color:#dd8c1a;color:#fff}.elfinder .elfinder-toast>.toast-warning button.ui-button.ui-state-hover{background-color:#e7ae5e;color:#422a07}.elfinder-toolbar{padding:4px 0 3px;border-left:0 solid transparent;border-top:0 solid transparent;border-right:0 solid transparent;max-height:50%;overflow-y:auto}.elfinder-buttonset{margin:1px 4px;float:left;background:0 0;padding:0;overflow:hidden}.elfinder .elfinder-button{min-width:16px;height:16px;margin:0;padding:4px;float:left;overflow:hidden;position:relative;border:0 solid;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;line-height:1;cursor:default}.elfinder-rtl .elfinder-button{float:right}.elfinder-touch .elfinder-button{min-width:20px;height:20px}.elfinder .ui-icon-search{cursor:pointer}.elfinder-toolbar-button-separator{float:left;padding:0;height:24px;border-top:0 solid;border-right:0 solid;border-bottom:0 solid;width:0}.elfinder-rtl .elfinder-toolbar-button-separator{float:right}.elfinder-touch .elfinder-toolbar-button-separator{height:28px}.elfinder .elfinder-button.ui-state-disabled{opacity:1;filter:Alpha(Opacity=100)}.elfinder .elfinder-button.ui-state-disabled .elfinder-button-icon,.elfinder .elfinder-button.ui-state-disabled .elfinder-button-text{opacity:.4;filter:Alpha(Opacity=40)}.elfinder-rtl .elfinder-buttonset{float:right}.elfinder-button-icon{width:16px;height:16px;display:inline-block;background:url(../img/toolbar.png) no-repeat}.elfinder-button-text{position:relative;display:inline-block;top:-4px;margin:0 2px;font-size:12px}.elfinder-touch .elfinder-button-icon{-moz-transform-origin:top left;-moz-transform:scale(1.25);zoom:1.25}.elfinder-touch .elfinder-button-text{-moz-transform:translate(3px,3px);top:-5px}.elfinder-button-icon-home{background-position:0 0}.elfinder-button-icon-back{background-position:0 -112px}.elfinder-button-icon-forward{background-position:0 -128px}.elfinder-button-icon-up{background-position:0 -144px}.elfinder-button-icon-dir{background-position:0 -16px}.elfinder-button-icon-opendir{background-position:0 -32px}.elfinder-button-icon-reload{background-position:0 -160px}.elfinder-button-icon-open{background-position:0 -176px}.elfinder-button-icon-mkdir{background-position:0 -192px}.elfinder-button-icon-mkfile{background-position:0 -208px}.elfinder-button-icon-rm{background-position:0 -832px}.elfinder-button-icon-trash{background-position:0 -224px}.elfinder-button-icon-restore{background-position:0 -816px}.elfinder-button-icon-copy{background-position:0 -240px}.elfinder-button-icon-cut{background-position:0 -256px}.elfinder-button-icon-paste{background-position:0 -272px}.elfinder-button-icon-getfile{background-position:0 -288px}.elfinder-button-icon-duplicate{background-position:0 -304px}.elfinder-button-icon-rename{background-position:0 -320px}.elfinder-button-icon-edit{background-position:0 -336px}.elfinder-button-icon-quicklook{background-position:0 -352px}.elfinder-button-icon-upload{background-position:0 -368px}.elfinder-button-icon-download{background-position:0 -384px}.elfinder-button-icon-info{background-position:0 -400px}.elfinder-button-icon-extract{background-position:0 -416px}.elfinder-button-icon-archive{background-position:0 -432px}.elfinder-button-icon-view{background-position:0 -448px}.elfinder-button-icon-view-list{background-position:0 -464px}.elfinder-button-icon-help{background-position:0 -480px}.elfinder-button-icon-resize{background-position:0 -512px}.elfinder-button-icon-link{background-position:0 -528px}.elfinder-button-icon-search{background-position:0 -561px}.elfinder-button-icon-sort{background-position:0 -577px}.elfinder-button-icon-rotate-r{background-position:0 -625px}.elfinder-button-icon-rotate-l{background-position:0 -641px}.elfinder-button-icon-netmount{background-position:0 -688px}.elfinder-button-icon-netunmount{background-position:0 -96px}.elfinder-button-icon-places{background-position:0 -704px}.elfinder-button-icon-chmod{background-position:0 -48px}.elfinder-button-icon-accept{background-position:0 -736px}.elfinder-button-icon-menu{background-position:0 -752px}.elfinder-button-icon-colwidth{background-position:0 -768px}.elfinder-button-icon-fullscreen{background-position:0 -784px}.elfinder-button-icon-unfullscreen{background-position:0 -800px}.elfinder-button-icon-empty{background-position:0 -848px}.elfinder-button-icon-undo{background-position:0 -864px}.elfinder-button-icon-redo{background-position:0 -880px}.elfinder-button-icon-preference{background-position:0 -896px}.elfinder-button-icon-mkdirin{background-position:0 -912px}.elfinder-button-icon-selectall{background-position:0 -928px}.elfinder-button-icon-selectnone{background-position:0 -944px}.elfinder-button-icon-selectinvert{background-position:0 -960px}.elfinder-button-icon-opennew{background-position:0 -976px}.elfinder-button-icon-hide{background-position:0 -992px}.elfinder-button-icon-text{background-position:0 -1008px}.elfinder-rtl .elfinder-button-icon-back,.elfinder-rtl .elfinder-button-icon-forward,.elfinder-rtl .elfinder-button-icon-getfile,.elfinder-rtl .elfinder-button-icon-help,.elfinder-rtl .elfinder-button-icon-redo,.elfinder-rtl .elfinder-button-icon-rename,.elfinder-rtl .elfinder-button-icon-search,.elfinder-rtl .elfinder-button-icon-undo,.elfinder-rtl .elfinder-button-icon-view-list,.elfinder-rtl .ui-icon-search{-ms-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scale(-1,1)}.elfinder .elfinder-menubutton{overflow:visible}.elfinder-button-icon-spinner{background:url(../img/spinner-mini.gif) center center no-repeat}.elfinder-button-menu{position:absolute;margin-top:24px;padding:3px 0;overflow-y:auto}.elfinder-touch .elfinder-button-menu{margin-top:30px}.elfinder-button-menu-item{white-space:nowrap;cursor:default;padding:5px 19px;position:relative}.elfinder-touch .elfinder-button-menu-item{padding:12px 19px}.elfinder-button-menu .ui-state-hover{border:0 solid}.elfinder-button-menu-item-separated{border-top:1px solid #ccc}.elfinder-button-menu-item .ui-icon{width:16px;height:16px;position:absolute;left:2px;top:50%;margin-top:-8px;display:none}.elfinder-button-menu-item-selected .ui-icon{display:block}.elfinder-button-menu-item-selected-asc .ui-icon-arrowthick-1-s,.elfinder-button-menu-item-selected-desc .ui-icon-arrowthick-1-n{display:none}.elfinder-button form{position:absolute;top:0;right:0;opacity:0;filter:Alpha(Opacity=0);cursor:pointer}.elfinder .elfinder-button form input{background:0 0;cursor:default}.elfinder .elfinder-button-search{border:0 solid;background:0 0;padding:0;margin:1px 4px;height:auto;min-height:26px;width:70px;overflow:visible}.elfinder .elfinder-button-search.ui-state-active{width:220px}.elfinder .elfinder-button-search-menu{font-size:8pt;text-align:center;width:auto;min-width:180px;position:absolute;top:30px;padding-right:5px;padding-left:5px}.elfinder-ltr .elfinder-button-search-menu{right:22px;left:auto}.elfinder-rtl .elfinder-button-search-menu{right:auto;left:22px}.elfinder-touch .elfinder-button-search-menu{top:34px}.elfinder .elfinder-button-search-menu div{margin:5px auto;display:table}.elfinder .elfinder-button-search-menu div .ui-state-hover{border:1px solid}.elfinder-ltr .elfinder-button-search{float:right;margin-right:10px}.elfinder-rtl .elfinder-button-search{float:left;margin-left:10px}.elfinder-rtl .ui-controlgroup>.ui-controlgroup-item{float:right}.elfinder-button-search input[type=text]{box-sizing:border-box;width:100%;height:26px;padding:0 20px;line-height:22px;border:1px solid #aaa;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;outline:0 solid}.elfinder-button-search input::-ms-clear{display:none}.elfinder-touch .elfinder-button-search input{height:30px;line-height:28px}.elfinder-rtl .elfinder-button-search input{direction:rtl}.elfinder-button-search .ui-icon{position:absolute;height:18px;top:50%;margin:-8px 4px 0;opacity:.6;filter:Alpha(Opacity=60)}.elfinder-button-search-menu .ui-checkboxradio-icon{display:none}.elfinder-ltr .elfinder-button-search .ui-icon-search{left:0}.elfinder-ltr .elfinder-button-search .ui-icon-close,.elfinder-rtl .elfinder-button-search .ui-icon-search{right:0}.elfinder-rtl .elfinder-button-search .ui-icon-close{left:0}.elfinder-toolbar-swipe-handle{position:absolute;top:0;left:0;height:50px;width:100%;pointer-events:none;background:linear-gradient(to bottom,#dde4eb 0,rgba(221,228,235,.8) 2px,rgba(216,223,230,.3) 5px,rgba(0,0,0,.1) 95%,rgba(0,0,0,0) 100%)}wp-file-manager/lib/css/fonts.css000064400000002455151202472330012725 0ustar00.elfinder-font-mono { font-family: "Ricty Diminished", "Myrica M", Consolas, "Courier New", Courier, Monaco, monospace; font-size: 1.1em; } .elfinder-contextmenu .elfinder-contextmenu-item span { font-size: .72em; } .elfinder-cwd-view-icons .elfinder-cwd-filename { font-size: .7em; } .elfinder-cwd-view-list td { font-size: .7em; } .std42-dialog .ui-dialog-titlebar { font-size: .82em; } .std42-dialog .ui-dialog-content { font-size: .72em; } .std42-dialog .ui-dialog-buttonpane { font-size: .76em; } .elfinder-info-tb { font-size: .9em; } .elfinder-upload-dropbox { font-size: 1.2em; } .elfinder-upload-dialog-or { font-size: 1.2em; } .dialogelfinder .dialogelfinder-drag { font-size: .9em; } .elfinder .elfinder-navbar { font-size: .72em; } .elfinder-place-drag .elfinder-navbar-dir { font-size: .9em; } .elfinder-quicklook-title { font-size: .7em; font-weight: normal; } .elfinder-quicklook-info-data { font-size: .72em; } .elfinder-quicklook-preview-text-wrapper { font-size: .9em; } .elfinder-button-menu-item { font-size: .72em; } .elfinder-button-search input { font-size: .8em; } .elfinder-statusbar div { font-size: .7em; } .elfinder-drag-num { font-size: 12px; } .elfinder-toast { font-size: .76em; } wp-file-manager/lib/css/navbar.css000064400000021711151202472330013041 0ustar00/*********************************************/ /* NAVIGATION PANEL */ /*********************************************/ /* container */ .elfinder .elfinder-navbar { width: 230px; padding: 3px 5px; background-image: none; border-top: 0 solid; border-bottom: 0 solid; overflow: auto; position: relative; } .elfinder .elfinder-navdock { box-sizing: border-box; width: 230px; height: auto; position: absolute; bottom: 0; overflow: auto; } .elfinder-navdock .ui-resizable-n { top: 0; height: 20px; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar { float: left; border-left: 0 solid; } .elfinder-rtl .elfinder-navbar { float: right; border-right: 0 solid; } .elfinder-ltr .ui-resizable-e { margin-left: 10px; } /* folders tree container */ .elfinder-tree { display: table; width: 100%; margin: 0 0 .5em 0; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } /* folder */ .elfinder-navbar-dir { position: relative; display: block; white-space: nowrap; padding: 3px 12px; margin: 0; outline: 0px solid; border: 1px solid transparent; cursor: default; } .elfinder-touch .elfinder-navbar-dir { padding: 12px 12px; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-dir { padding-left: 35px; } .elfinder-rtl .elfinder-navbar-dir { padding-right: 35px; } /* arrow before icon */ .elfinder-navbar-arrow { width: 12px; height: 14px; position: absolute; display: none; top: 50%; margin-top: -8px; background-image: url("../img/arrows-normal.png"); background-repeat: no-repeat; } .elfinder-ltr .elfinder-navbar-arrow { left: 0; } .elfinder-rtl .elfinder-navbar-arrow { right: 0; } .elfinder-touch .elfinder-navbar-arrow { -moz-transform-origin: top left; -moz-transform: scale(1.4); zoom: 1.4; margin-bottom: 7px; } .elfinder-ltr.elfinder-touch .elfinder-navbar-arrow { left: -3px; margin-right: 20px; } .elfinder-rtl.elfinder-touch .elfinder-navbar-arrow { right: -3px; margin-left: 20px; } .ui-state-active .elfinder-navbar-arrow { background-image: url("../img/arrows-active.png"); } /* collapsed/expanded arrow view */ .elfinder-navbar-collapsed .elfinder-navbar-arrow { display: block; } .elfinder-subtree-chksubdir .elfinder-navbar-arrow { opacity: .25; filter: Alpha(Opacity=25); } /* arrow ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-collapsed .elfinder-navbar-arrow { background-position: 0 4px; } .elfinder-rtl .elfinder-navbar-collapsed .elfinder-navbar-arrow { background-position: 0 -10px; } .elfinder-ltr .elfinder-navbar-expanded .elfinder-navbar-arrow, .elfinder-rtl .elfinder-navbar-expanded .elfinder-navbar-arrow { background-position: 0 -21px; } /* folder icon */ .elfinder-navbar-icon { width: 16px; height: 16px; position: absolute; top: 50%; margin-top: -8px; background-image: url("../img/toolbar.png"); background-repeat: no-repeat; background-position: 0 -16px; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-icon { left: 14px; } .elfinder-rtl .elfinder-navbar-icon { right: 14px; } /* places icon */ .elfinder-places .elfinder-navbar-root .elfinder-navbar-icon { background-position: 0 -704px; } /* root folder */ .elfinder-tree .elfinder-navbar-root-local .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-trash .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-ftp .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-sql .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-dropbox .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-googledrive .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-onedrive .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-box .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-zip .elfinder-navbar-icon, .elfinder-tree .elfinder-navbar-root-network .elfinder-navbar-icon { background-position: 0 0; background-size: contain; } /* root icon of each volume "\9" for IE8 trick */ .elfinder-tree .elfinder-navbar-root-local .elfinder-navbar-icon { background-image: url("../img/volume_icon_local.svg"); background-image: url("../img/volume_icon_local.png") \9; } .elfinder-tree .elfinder-navbar-root-trash .elfinder-navbar-icon { background-image: url("../img/volume_icon_trash.svg"); background-image: url("../img/volume_icon_trash.png") \9; } .elfinder-tree .elfinder-navbar-root-ftp .elfinder-navbar-icon { background-image: url("../img/volume_icon_ftp.svg"); background-image: url("../img/volume_icon_ftp.png") \9; } .elfinder-tree .elfinder-navbar-root-sql .elfinder-navbar-icon { background-image: url("../img/volume_icon_sql.svg"); background-image: url("../img/volume_icon_sql.png") \9; } .elfinder-tree .elfinder-navbar-root-dropbox .elfinder-navbar-icon { background-image: url("../img/volume_icon_dropbox.svg"); background-image: url("../img/volume_icon_dropbox.png") \9; } .elfinder-tree .elfinder-navbar-root-googledrive .elfinder-navbar-icon { background-image: url("../img/volume_icon_googledrive.svg"); background-image: url("../img/volume_icon_googledrive.png") \9; } .elfinder-tree .elfinder-navbar-root-onedrive .elfinder-navbar-icon { background-image: url("../img/volume_icon_onedrive.svg"); background-image: url("../img/volume_icon_onedrive.png") \9; } .elfinder-tree .elfinder-navbar-root-box .elfinder-navbar-icon { background-image: url("../img/volume_icon_box.svg"); background-image: url("../img/volume_icon_box.png") \9; } .elfinder-tree .elfinder-navbar-root-zip .elfinder-navbar-icon { background-image: url("../img/volume_icon_zip.svg"); background-image: url("../img/volume_icon_zip.png") \9; } .elfinder-tree .elfinder-navbar-root-network .elfinder-navbar-icon { background-image: url("../img/volume_icon_network.svg"); background-image: url("../img/volume_icon_network.png") \9; } /* icon in active/hove/dropactive state */ .ui-state-active .elfinder-navbar-icon, .elfinder-droppable-active .elfinder-navbar-icon, .ui-state-hover .elfinder-navbar-icon { background-position: 0 -32px; } /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-subtree { margin-left: 12px; } .elfinder-rtl .elfinder-navbar-subtree { margin-right: 12px; } /* spinner */ .elfinder-tree .elfinder-spinner { position: absolute; top: 50%; margin: -7px 0 0; } /* spinner ltr/rtl enviroment */ .elfinder-ltr .elfinder-tree .elfinder-spinner { left: 0; margin-left: -2px; } .elfinder-rtl .elfinder-tree .elfinder-spinner { right: 0; margin-right: -2px; } /* marker */ .elfinder-navbar .elfinder-perms, .elfinder-navbar .elfinder-lock, .elfinder-navbar .elfinder-symlink { opacity: .6; filter: Alpha(Opacity=60); } /* permissions marker */ .elfinder-navbar .elfinder-perms { bottom: -1px; margin-top: -8px; } /* locked marker */ .elfinder-navbar .elfinder-lock { top: -2px; } /* permissions/symlink markers ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar .elfinder-perms { left: 20px; transform: scale(0.8); } .elfinder-rtl .elfinder-navbar .elfinder-perms { right: 20px; transform: scale(0.8); } .elfinder-ltr .elfinder-navbar .elfinder-lock { left: 20px; transform: scale(0.8); } .elfinder-rtl .elfinder-navbar .elfinder-lock { right: 20px; transform: scale(0.8); } .elfinder-ltr .elfinder-navbar .elfinder-symlink { left: 8px; transform: scale(0.8); } .elfinder-rtl .elfinder-navbar .elfinder-symlink { right: 8px; transform: scale(0.8); } /* navbar input */ .elfinder-navbar input { width: 100%; border: 0px solid; margin: 0; padding: 0; } /* resizable */ .elfinder-navbar .ui-resizable-handle { width: 12px; background: transparent url('../img/resize.png') center center no-repeat; } .elfinder-nav-handle-icon { position: absolute; top: 50%; margin: -8px 2px 0 2px; opacity: .5; filter: Alpha(Opacity=50); } /* pager button */ .elfinder-navbar-pager { width: 100%; box-sizing: border-box; padding-top: 3px; padding-bottom: 3px; } .elfinder-touch .elfinder-navbar-pager { padding-top: 10px; padding-bottom: 10px; } .elfinder-places { border: none; margin: 0; padding: 0; } /* navbar swipe handle */ .elfinder-navbar-swipe-handle { position: absolute; top: 0px; height: 100%; width: 50px; pointer-events: none; } .elfinder-ltr .elfinder-navbar-swipe-handle { left: 0px; background: linear-gradient(to right, rgba(221, 228, 235, 1) 0, rgba(221, 228, 235, 0.8) 5px, rgba(216, 223, 230, 0.3) 8px, rgba(0, 0, 0, 0.1) 95%, rgba(0, 0, 0, 0) 100%); } .elfinder-rtl .elfinder-navbar-swipe-handle { right: 0px; background: linear-gradient(to left, rgba(221, 228, 235, 1) 0, rgba(221, 228, 235, 0.8) 5px, rgba(216, 223, 230, 0.3) 8px, rgba(0, 0, 0, 0.1) 95%, rgba(0, 0, 0, 0) 100%); } wp-file-manager/lib/css/places.css000064400000001102151202472330013027 0ustar00/*********************************************/ /* PLACES STYLES */ /*********************************************/ /* root extra icon */ .elfinder-navbar-root .elfinder-places-root-icon { position: absolute; top: 50%; margin-top: -9px; cursor: pointer; } .elfinder-ltr .elfinder-places-root-icon { right: 10px; } .elfinder-rtl .elfinder-places-root-icon { left: 10px; } .elfinder-navbar-expanded .elfinder-places-root-icon { display: block; } /* dragging helper base */ .elfinder-place-drag { font-size: 0.8em; } wp-file-manager/lib/css/quicklook.css000064400000026023151202472330013572 0ustar00/* quicklook window */ .elfinder-quicklook { position: absolute; background: url("../img/quicklook-bg.png"); overflow: hidden; -moz-border-radius: 7px; -webkit-border-radius: 7px; border-radius: 7px; padding: 32px 0 40px 0; } .elfinder-navdock .elfinder-quicklook { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; font-size: 90%; overflow: auto; } .elfinder-quicklook.elfinder-touch { padding: 30px 0 40px 0; } .elfinder-quicklook .ui-resizable-se { width: 14px; height: 14px; right: 5px; bottom: 3px; background: url("../img/toolbar.png") 0 -496px no-repeat; } .elfinder-quicklook.elfinder-touch .ui-resizable-se { -moz-transform-origin: bottom right; -moz-transform: scale(1.5); zoom: 1.5; } /* quicklook fullscreen window */ .elfinder-quicklook.elfinder-quicklook-fullscreen { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: 0; box-sizing: border-box; width: 100%; height: 100%; object-fit: contain; border-radius: 0; -moz-border-radius: 0; -webkit-border-radius: 0; -webkit-background-clip: padding-box; padding: 0; background: #000; display: block; } /* hide titlebar in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-titlebar, .elfinder-quicklook-fullscreen.elfinder-quicklook .ui-resizable-handle{ display: none; } /* hide preview border in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-preview { border: 0 solid; } .elfinder-quicklook-cover { width: 100%; height: 100%; top: 0; left: 0; position: absolute; } .elfinder-quicklook-cover.elfinder-quicklook-coverbg { /* background need to catch mouse event over browser plugin (eg PDF preview) */ background-color: #fff; opacity: 0.000001; filter: Alpha(Opacity=0.0001); } /* quicklook titlebar */ .elfinder-quicklook-titlebar { text-align: center; background: #777; position: absolute; left: 0; top: 0; width: calc(100% - 12px); height: 20px; -moz-border-radius-topleft: 7px; -webkit-border-top-left-radius: 7px; border-top-left-radius: 7px; -moz-border-radius-topright: 7px; -webkit-border-top-right-radius: 7px; border-top-right-radius: 7px; border: none; line-height: 1.2; padding: 6px; } .elfinder-navdock .elfinder-quicklook-titlebar { -moz-border-radius-topleft: 0; -webkit-border-top-left-radius: 0; border-top-left-radius: 0; -moz-border-radius-topright: 0; -webkit-border-top-right-radius: 0; border-top-right-radius: 0; cursor: default; } .elfinder-touch .elfinder-quicklook-titlebar { height: 30px; } /* window title */ .elfinder-quicklook-title { display: inline-block; white-space: nowrap; overflow: hidden; } .elfinder-touch .elfinder-quicklook-title { padding: 8px 0; } /* icon "close" in titlebar */ .elfinder-quicklook-titlebar-icon { position: absolute; left: 4px; top: 50%; margin-top: -8px; height: 16px; border: none; } .elfinder-touch .elfinder-quicklook-titlebar-icon { height: 22px; } .elfinder-quicklook-titlebar-icon .ui-icon { position: relative; margin: -9px 3px 0px 0px; cursor: pointer; border-radius: 10px; border: 1px solid; opacity: .7; filter: Alpha(Opacity=70); } .elfinder-quicklook-titlebar-icon .ui-icon.ui-icon-closethick { padding-left: 1px; } .elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon { opacity: .6; filter: Alpha(Opacity=60); } .elfinder-touch .elfinder-quicklook-titlebar-icon .ui-icon { margin-top: -5px; } .elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right { left: auto; right: 4px; direction: rtl; } .elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right .ui-icon { margin: -9px 0px 0px 3px; } .elfinder-touch .elfinder-quicklook-titlebar .ui-icon { -moz-transform-origin: center center; -moz-transform: scale(1.2); zoom: 1.2; } .elfinder-touch .elfinder-quicklook-titlebar-icon .ui-icon { margin-right: 10px; } .elfinder-touch .elfinder-quicklook-titlebar-icon.elfinder-titlebar-button-right .ui-icon { margin-left: 10px; } /* main part of quicklook window */ .elfinder-quicklook-preview { overflow: hidden; position: relative; border: 0 solid; border-left: 1px solid transparent; border-right: 1px solid transparent; height: 100%; } .elfinder-navdock .elfinder-quicklook-preview { border-left: 0; border-right: 0; } .elfinder-quicklook-preview.elfinder-overflow-auto { overflow: auto; -webkit-overflow-scrolling: touch; } /* wrapper for file info/icon */ .elfinder-quicklook-info-wrapper { display: table; position: absolute; width: 100%; height: 100%; height: calc(100% - 80px); left: 0; top: 20px; } .elfinder-navdock .elfinder-quicklook-info-wrapper { height: calc(100% - 20px); } /* file info */ .elfinder-quicklook-info { display: table-cell; vertical-align: middle; } .elfinder-ltr .elfinder-quicklook-info { padding: 0 12px 0 112px; } .elfinder-rtl .elfinder-quicklook-info { padding: 0 112px 0 12px; } .elfinder-ltr .elfinder-navdock .elfinder-quicklook-info { padding: 0 0 0 80px; } .elfinder-rtl .elfinder-navdock .elfinder-quicklook-info { padding: 0 80px 0 0; } /* file name in info */ .elfinder-quicklook-info .elfinder-quicklook-info-data:first-child { color: #fff; font-weight: bold; padding-bottom: .5em; } /* other data in info */ .elfinder-quicklook-info-data { clear: both; padding-bottom: .2em; color: #fff; } .elfinder-quicklook-info-progress { width: 0; height: 4px; border-radius: 2px; } /* file icon */ .elfinder-quicklook .elfinder-cwd-icon { position: absolute; left: 32px; top: 50%; margin-top: -20px; } .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon { left: 16px; } .elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon { left: auto; right: 32px; } .elfinder-rtl .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon { right: 6px; } .elfinder-quicklook .elfinder-cwd-icon:before { top: -10px; } .elfinder-ltr .elfinder-quicklook .elfinder-cwd-icon:before { left: 0; top: 5px; } .elfinder-ltr .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon:before { left: -14px; } .elfinder-ltr .elfinder-quicklook .elfinder-cwd-icon:after { left: -42px; } .elfinder-ltr .elfinder-navdock .elfinder-quicklook .elfinder-cwd-icon:after { left: -12px; } .elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon:before { left: auto; right: 40px; } .elfinder-rtl .elfinder-quicklook .elfinder-cwd-icon:after { left: auto; right: 42px; } /* image in preview */ .elfinder-quicklook-preview > img, .elfinder-quicklook-preview > div > canvas { display: block; margin: auto; } /* navigation bar on quicklook window bottom */ .elfinder-quicklook-navbar { position: absolute; left: 50%; bottom: 4px; width: 140px; height: 32px; padding: 0px; margin-left: -70px; border: 1px solid transparent; border-radius: 19px; -moz-border-radius: 19px; -webkit-border-radius: 19px; } /* navigation bar in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-navbar { width: 188px; margin-left: -94px; padding: 5px; border: 1px solid #eee; background: #000; opacity: 0.4; filter: Alpha(Opacity=40); } /* show close icon in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-icon-close, .elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-separator { display: inline; } /* icons in navbar */ .elfinder-quicklook-navbar-icon { width: 32px; height: 32px; margin: 0 7px; float: left; background: url("../img/quicklook-icons.png") 0 0 no-repeat; } /* fullscreen icon */ .elfinder-quicklook-navbar-icon-fullscreen { background-position: 0 -64px; } /* exit fullscreen icon */ .elfinder-quicklook-navbar-icon-fullscreen-off { background-position: 0 -96px; } /* prev file icon */ .elfinder-quicklook-navbar-icon-prev { background-position: 0 0; } /* next file icon */ .elfinder-quicklook-navbar-icon-next { background-position: 0 -32px; } /* close icon */ .elfinder-quicklook-navbar-icon-close { background-position: 0 -128px; display: none; } /* icons separator */ .elfinder-quicklook-navbar-separator { width: 1px; height: 32px; float: left; border-left: 1px solid #fff; display: none; } /* text encoding selector */ .elfinder-quicklook-encoding { height: 40px; } .elfinder-quicklook-encoding > select { color: #fff; background: #000; border: 0; font-size: 12px; max-width: 100px; display: inline-block; position: relative; top: 6px; left: 5px; } .elfinder-navdock .elfinder-quicklook .elfinder-quicklook-encoding { display: none; } /* text files preview wrapper */ .elfinder-quicklook-preview-text-wrapper { width: 100%; height: 100%; background: #fff; color: #222; overflow: auto; -webkit-overflow-scrolling: touch; } /* archive files preview wrapper */ .elfinder-quicklook-preview-archive-wrapper { width: 100%; height: 100%; background: #fff; color: #222; font-size: 90%; overflow: auto; -webkit-overflow-scrolling: touch } /* archive files preview header */ .elfinder-quicklook-preview-archive-wrapper strong { padding: 0 5px; } /* text preview */ pre.elfinder-quicklook-preview-text, pre.elfinder-quicklook-preview-text.prettyprint { width: auto; height: auto; margin: 0; padding: 3px 9px; border: none; overflow: visible; background: #fff; -o-tab-size: 4; -moz-tab-size: 4; tab-size: 4; } .elfinder-quicklook-preview-charsleft hr { border: none; border-top: dashed 1px; } .elfinder-quicklook-preview-charsleft span { font-size: 90%; font-style: italic; cursor: pointer; } /* html/pdf preview */ .elfinder-quicklook-preview-html, .elfinder-quicklook-preview-pdf, .elfinder-quicklook-preview-iframe { width: 100%; height: 100%; background: #fff; margin: 0; border: none; display: block; } /* swf preview container */ .elfinder-quicklook-preview-flash { width: 100%; height: 100%; } /* audio preview container */ .elfinder-quicklook-preview-audio { width: 100%; position: absolute; bottom: 0; left: 0; } /* audio preview using embed */ embed.elfinder-quicklook-preview-audio { height: 30px; background: transparent; } /* video preview container */ .elfinder-quicklook-preview-video { width: 100%; height: 100%; } /* video.js error message */ .elfinder-quicklook-preview .vjs-error .vjs-error-display .vjs-modal-dialog-content { font-size: 12pt; padding: 0; color: #fff; } /* allow user select */ .elfinder .elfinder-quicklook .elfinder-quicklook-info *, .elfinder .elfinder-quicklook .elfinder-quicklook-preview * { -webkit-user-select: auto; -moz-user-select: text; -khtml-user-select: text; user-select: text; } wp-file-manager/lib/css/statusbar.css000064400000006341151202472330013602 0ustar00/******************************************************************/ /* STATUSBAR STYLES */ /******************************************************************/ /* statusbar container */ .elfinder-statusbar { display: flex; justify-content: space-between; cursor: default; text-align: center; font-weight: normal; padding: .2em .5em; border-right: 0 solid transparent; border-bottom: 0 solid transparent; border-left: 0 solid transparent; } .elfinder-statusbar:before, .elfinder-statusbar:after { display: none; } .elfinder-statusbar span { vertical-align: bottom; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; } .elfinder-statusbar span.elfinder-path-other { flex-shrink: 0; text-overflow: clip; -o-text-overflow: clip; } .elfinder-statusbar span.ui-state-hover, .elfinder-statusbar span.ui-state-active { border: none; } .elfinder-statusbar span.elfinder-path-cwd { cursor: default; } /* path in statusbar */ .elfinder-path { display: flex; order: 1; flex-grow: 1; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; max-width: 30%\9; } .elfinder-ltr .elfinder-path { text-align: left; float: left\9; } .elfinder-rtl .elfinder-path { text-align: right; float: right\9; } /* path in workzone (case of swipe to navbar close) */ .elfinder-workzone-path { position: relative; } .elfinder-workzone-path .elfinder-path { position: relative; font-size: .75em; font-weight: normal; float: none; max-width: none; overflow: hidden; overflow-x: hidden; text-overflow: initial; -o-text-overflow: initial; } .elfinder-mobile .elfinder-workzone-path .elfinder-path { overflow: auto; overflow-x: scroll; } .elfinder-ltr .elfinder-workzone-path .elfinder-path { margin-left: 24px; } .elfinder-rtl .elfinder-workzone-path .elfinder-path { margin-right: 24px; } .elfinder-workzone-path .elfinder-path span { display: inline-block; padding: 5px 3px; } .elfinder-workzone-path .elfinder-path span.elfinder-path-cwd { font-weight: bold; } .elfinder-workzone-path .elfinder-path span.ui-state-hover, .elfinder-workzone-path .elfinder-path span.ui-state-active { border: none; } .elfinder-workzone-path .elfinder-path-roots { position: absolute; top: 0; width: 24px; height: 20px; padding: 2px; border: none; overflow: hidden; } .elfinder-ltr .elfinder-workzone-path .elfinder-path-roots { left: 0; } .elfinder-rtl .elfinder-workzone-path .elfinder-path-roots { right: 0; } /* total/selected size in statusbar */ .elfinder-stat-size { order: 3; flex-grow: 1; overflow: hidden; white-space: nowrap; } .elfinder-ltr .elfinder-stat-size { text-align: right; float: right\9; padding-right: 10px; } .elfinder-ltr .elfinder-stat-size > .elfinder-stat-size { padding-right: 0px; } .elfinder-rtl .elfinder-stat-size { text-align: left; float: left\9; } /* info of current selected item */ .elfinder-stat-selected { order: 2; margin: 0 .5em; white-space: nowrap; overflow: hidden; } wp-file-manager/lib/css/theme.css000064400000032707151202472330012701 0ustar00/** * MacOS X like theme for elFinder. * Required jquery ui "smoothness" theme. * * @author Dmitry (dio) Levashov **/ /* scrollbar for Chrome and Safari */ .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar { width: 10px; height: 10px; } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-track { border-radius: 10px; box-shadow: inset 0 0 6px rgba(0, 0, 0, .1); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-thumb { background-color: rgba(0, 0, 50, 0.08); border-radius: 10px; box-shadow:0 0 0 1px rgba(255, 255, 255, .3); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-thumb:hover { background-color: rgba(0, 0, 50, 0.16); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-thumb:active { background-color: rgba(0, 0, 50, 0.24); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-corner { background-color: transparent; } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-button { background-color: transparent; width: 10px; height: 10px; border: 5px solid transparent; } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-button:hover { border: 5px solid rgba(0, 0, 50, 0.08); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-button:active { border: 5px solid rgba(0, 0, 50, 0.5); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-button:single-button:vertical:decrement { border-bottom: 8px solid rgba(0, 0, 50, 0.3); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-button:single-button:vertical:increment { border-top: 8px solid rgba(0, 0, 50, 0.3); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-button:single-button:horizontal:decrement { border-right: 8px solid rgba(0, 0, 50, 0.3); } .elfinder:not(.elfinder-mobile) *::-webkit-scrollbar-button:single-button:horizontal:increment { border-left: 8px solid rgba(0, 0, 50, 0.3); } /* input textarea */ .elfinder input, .elfinder textarea { color: #000; background-color: #FFF; border-color: #ccc; } /* dialogs */ .std42-dialog, .std42-dialog .ui-widget-content { background-color: #ededed; background-image: none; background-clip: content-box; } .std42-dialog.elfinder-bg-translucent { background-color: #fff; background-color: rgba(255, 255, 255, 0.9); } .std42-dialog.elfinder-bg-translucent .ui-widget-content { background-color: transparent; } .elfinder-quicklook-title { color: #fff; } .elfinder-quicklook-titlebar-icon { background-color: transparent; background-image: none; } .elfinder-quicklook-titlebar-icon .ui-icon { background-color: #d4d4d4; border-color: #8a8a8a; } .elfinder-quicklook-info-progress { background-color: gray; } .std42-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close:hover .ui-icon, .elfinder-mobile .std42-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon, .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-close:hover, .elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-close { background-color: #ff6252; border-color: #e5695d; background-image: url("../img/ui-icons_ffffff_256x240.png"); } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-minimize:hover .ui-icon, .elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-minimize .ui-icon, .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-minimize:hover, .elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-minimize { background-color: #ffbc00; border-color: #e3a40b; background-image: url("../img/ui-icons_ffffff_256x240.png"); } .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-full:hover .ui-icon, .elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-full .ui-icon, .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-full:hover, .elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-full { background-color: #26c82f; border-color: #13ae10; background-image: url("../img/ui-icons_ffffff_256x240.png"); } .std42-dialog .elfinder-help, .std42-dialog .elfinder-help .ui-widget-content { background: #fff; } /* navbar */ .elfinder .elfinder-navbar { background: #dde4eb; } .elfinder-navbar .ui-state-hover { color: #000; background-color: #edf1f4; border-color: #bdcbd8; } .elfinder-navbar .ui-droppable-hover { background: transparent; } .elfinder-navbar .ui-state-active { background: #3875d7; border-color: #3875d7; color: #fff; } .elfinder-navbar .elfinder-droppable-active { background: #A7C6E5; } /* disabled elfinder */ .elfinder-disabled .elfinder-navbar .ui-state-active { background: #dadada; border-color: #aaa; color: #777; } /* workzone */ .elfinder-workzone { background: #fff; } /* current directory */ /* Is in trash */ .elfinder-cwd-wrapper.elfinder-cwd-wrapper-trash { background-color: #f0f0f0; } /* selected file in "icons" view */ .elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-hover, .elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-active { /* background: #ccc;*/ background: none; } /* type badge in "icons" view */ /* default */ .elfinder-cwd-icon:before { color: white; background-color: #798da7; } /* type */ .elfinder-cwd-icon-text:before { background-color: #6f99e6 } .elfinder-cwd-icon-image:before { background-color: #2ea26c } .elfinder-cwd-icon-audio:before { background-color: #7bad2a } .elfinder-cwd-icon-video:before { background-color: #322aad } /* subtype */ .elfinder-cwd-icon-x-empty:before, .elfinder-cwd-icon-plain:before { background-color: #719be6 } .elfinder-cwd-icon-rtf:before, .elfinder-cwd-icon-rtfd:before { background-color: #83aae7 } .elfinder-cwd-icon-pdf:before { background-color: #db7424 } .elfinder-cwd-icon-html:before { background-color: #82bc12 } .elfinder-cwd-icon-xml:before, .elfinder-cwd-icon-css:before { background-color: #7c7c7c } .elfinder-cwd-icon-x-shockwave-flash:before { background-color: #f43a36 } .elfinder-cwd-icon-zip:before, .elfinder-cwd-icon-x-zip:before, .elfinder-cwd-icon-x-xz:before, .elfinder-cwd-icon-x-7z-compressed:before, .elfinder-cwd-icon-x-gzip:before, .elfinder-cwd-icon-x-tar:before, .elfinder-cwd-icon-x-bzip:before, .elfinder-cwd-icon-x-bzip2:before, .elfinder-cwd-icon-x-rar:before, .elfinder-cwd-icon-x-rar-compressed:before { background-color: #97638e } .elfinder-cwd-icon-javascript:before, .elfinder-cwd-icon-x-javascript:before, .elfinder-cwd-icon-x-perl:before, .elfinder-cwd-icon-x-python:before, .elfinder-cwd-icon-x-ruby:before, .elfinder-cwd-icon-x-sh:before, .elfinder-cwd-icon-x-shellscript:before, .elfinder-cwd-icon-x-c:before, .elfinder-cwd-icon-x-csrc:before, .elfinder-cwd-icon-x-chdr:before, .elfinder-cwd-icon-x-c--:before, .elfinder-cwd-icon-x-c--src:before, .elfinder-cwd-icon-x-c--hdr:before, .elfinder-cwd-icon-x-java:before, .elfinder-cwd-icon-x-java-source:before, .elfinder-cwd-icon-x-php:before { background-color: #7c607c } .elfinder-cwd-icon-msword:before, .elfinder-cwd-icon-vnd-ms-office:before, .elfinder-cwd-icon-vnd-ms-word:before, .elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12:before, .elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12:before, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document:before, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template:before { background-color: #2b569a } .elfinder-cwd-icon-ms-excel:before, .elfinder-cwd-icon-vnd-ms-excel:before, .elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12:before, .elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12:before, .elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12:before, .elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12:before, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet:before, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template:before { background-color: #107b10 } .elfinder-cwd-icon-vnd-ms-powerpoint:before, .elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12:before, .elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12:before, .elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12:before, .elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12:before, .elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12:before, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation:before, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide:before, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow:before, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template:before { background-color: #d24625 } .elfinder-cwd-icon-vnd-oasis-opendocument-chart:before, .elfinder-cwd-icon-vnd-oasis-opendocument-database:before, .elfinder-cwd-icon-vnd-oasis-opendocument-formula:before, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics:before, .elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template:before, .elfinder-cwd-icon-vnd-oasis-opendocument-image:before, .elfinder-cwd-icon-vnd-oasis-opendocument-presentation:before, .elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template:before, .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet:before, .elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template:before, .elfinder-cwd-icon-vnd-oasis-opendocument-text:before, .elfinder-cwd-icon-vnd-oasis-opendocument-text-master:before, .elfinder-cwd-icon-vnd-oasis-opendocument-text-template:before, .elfinder-cwd-icon-vnd-oasis-opendocument-text-web:before, .elfinder-cwd-icon-vnd-openofficeorg-extension:before { background-color: #00a500 } .elfinder-cwd-icon-postscript:before { background-color: #ff5722 } /* list view*/ .elfinder-cwd table thead td.ui-state-hover { background: #ddd; } .elfinder-cwd table tr:nth-child(odd) { background-color: #edf3fe; } .elfinder-cwd table tr { border: 1px solid transparent; border-top: 1px solid #fff; } .elfinder-cwd .elfinder-droppable-active td { background: #A7C6E5; } .elfinder-cwd.elfinder-table-header-sticky table { border-top-color: #fff; } .elfinder-droppable-active .elfinder-cwd.elfinder-table-header-sticky table { border-top-color: #A7C6E5; } /* common selected background/color */ .elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-filename.ui-state-hover, .elfinder-cwd table td.ui-state-hover, .elfinder-button-menu .ui-state-hover { background: #3875d7; color: #fff; } /* disabled elfinder */ .elfinder-disabled .elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-filename.ui-state-hover, .elfinder-disabled .elfinder-cwd table td.ui-state-hover { background: #dadada; } /* statusbar */ .elfinder .elfinder-statusbar { color: #555; } .elfinder .elfinder-statusbar a { text-decoration: none; color: #555; } /* contextmenu */ .elfinder-contextmenu .ui-state-active { background: #6293df; color: #fff; } .elfinder-contextmenu .ui-state-hover { background: #3875d7; color: #fff; } .elfinder-contextmenu .ui-state-hover .elfinder-contextmenu-arrow { background-image: url('../img/arrows-active.png'); } /* dialog */ .elfinder .ui-dialog input:text.ui-state-hover, .elfinder .ui-dialog textarea.ui-state-hover { background-image: none; background-color: inherit; } .elfinder-notify-cancel .elfinder-notify-button { background-color: #707070; background-image: url("../img/ui-icons_ffffff_256x240.png"); } .elfinder-notify-cancel .elfinder-notify-button.ui-state-hover { background-color: #aaa; } /* edit dialog */ .elfinder-dialog-edit select.elfinder-edit-changed { border-bottom: 2px solid #13ae10; } /* tooltip */ .ui-widget-content.elfinder-ui-tooltip { background-color: #fff; } .elfinder-ui-tooltip.ui-widget-shadow, .elfinder .elfinder-ui-tooltip.ui-widget-shadow { box-shadow: 2px 6px 4px -4px #cecdcd; } /* progressbar */ .elfinder-ui-progressbar { background-color: #419bf3; } .elfinder-ltr .elfinder-navbar{ margin-right:3px; } .elfinder-rtl .elfinder-navbar{ margin-left:3px; } /** * Buttons */ .ui-button, .ui-button:active, .ui-button.ui-state-default { display: inline-block; font-weight: normal; text-align: center; vertical-align: middle; cursor: pointer; white-space: nowrap; -webkit-border-radius: 3px; border-radius: 3px; text-transform: uppercase; -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4); box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4); -webkit-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s; background: #fff; color: #222; } .ui-button .ui-icon, .ui-button:active .ui-icon, .ui-button.ui-state-default .ui-icon { color: #222; } .ui-button:hover, a.ui-button:active, .ui-button:active, .ui-button:focus, .ui-button.ui-state-hover, .ui-button.ui-state-active { background: #3498DB; color: #fff; } .ui-button:hover .ui-icon, a.ui-button:active .ui-icon, .ui-button:active .ui-icon, .ui-button:focus .ui-icon, .ui-button.ui-state-hover .ui-icon, .ui-button.ui-state-active .ui-icon { color: #fff; } .ui-button.ui-state-active:hover { background: #217dbb; color: #fff; border: none; } .ui-button:focus { outline: none !important; } .ui-controlgroup-horizontal .ui-button { -webkit-border-radius: 0; border-radius: 0; border: 0; } div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { margin-right:5px; } .std42-dialog, .std42-dialog .ui-widget-content{ background:#fff; } .std42-dialog, .std42-dialog .ui-dialog-buttonpane.ui-widget-content{ background: #ededed; } wp-file-manager/lib/css/toast.css000064400000012067151202472330012726 0ustar00/* * CSS for Toastr * Copyright 2012-2015 * Authors: John Papa, Hans Fjällemark, and Tim Ferrell. * All Rights Reserved. * Use, reproduction, distribution, and modification of this code is subject to the terms and * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php * * ARIA Support: Greta Krafsig * * Project: https://github.com/CodeSeven/toastr */ .elfinder .elfinder-toast { position: absolute; top: 12px; right: 12px; max-width: 90%; cursor: default; } .elfinder .elfinder-toast > div { position: relative; pointer-events: auto; overflow: hidden; margin: 0 0 6px; padding: 8px 16px 8px 50px; -moz-border-radius: 3px 3px 3px 3px; -webkit-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; background-position: 15px center; background-repeat: no-repeat; -moz-box-shadow: 0 0 12px #999999; -webkit-box-shadow: 0 0 12px #999999; box-shadow: 0 0 12px #999999; color: #FFFFFF; opacity: 0.9; filter: alpha(opacity=90); background-color: #030303; text-align: center; } .elfinder .elfinder-toast > .toast-info { background-color: #2F96B4; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important; } .elfinder .elfinder-toast > .toast-error { background-color: #BD362F; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; } .elfinder .elfinder-toast > .toast-success { background-color: #51A351; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important; } .elfinder .elfinder-toast > .toast-warning { background-color: #F89406; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important; } .elfinder .elfinder-toast > div button.ui-button { background-image: none; margin-top: 8px; padding: .5em .8em; } .elfinder .elfinder-toast > .toast-success button.ui-button { background-color: green; color: #FFF; } .elfinder .elfinder-toast > .toast-success button.ui-button.ui-state-hover { background-color: #add6ad; color: #254b25; } .elfinder .elfinder-toast > .toast-info button.ui-button { background-color: #046580; color: #FFF; } .elfinder .elfinder-toast > .toast-info button.ui-button.ui-state-hover { background-color: #7DC6DB; color: #046580; } .elfinder .elfinder-toast > .toast-warning button.ui-button { background-color: #dd8c1a; color: #FFF; } .elfinder .elfinder-toast > .toast-warning button.ui-button.ui-state-hover { background-color: #e7ae5e; color: #422a07; } wp-file-manager/lib/css/toolbar.css000064400000031241151202472330013231 0ustar00/*********************************************/ /* TOOLBAR STYLES */ /*********************************************/ /* toolbar container */ .elfinder-toolbar { padding: 10px 0; border-left: 0 solid transparent; border-top: 0 solid transparent; border-right: 0 solid transparent; max-height: 50%; overflow-y: auto; } /* container for button's group */ .elfinder-buttonset { margin: 1px 4px; float: left; background: transparent; padding: 0; overflow: hidden; } /*.elfinder-buttonset:first-child { margin:0; }*/ /* button */ .elfinder .elfinder-button { min-width: 16px; height: 16px; margin: 0; padding: 4px; float: left; overflow: hidden; position: relative; border: 0 solid; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; line-height: 1; cursor: default; } .elfinder-rtl .elfinder-button { float: right; } .elfinder-touch .elfinder-button { min-width: 20px; height: 20px; } .elfinder .ui-icon-search { cursor: pointer; } /* separator between buttons, required for berder between button with ui color */ .elfinder-toolbar-button-separator { float: left; padding: 0; height: 24px; border-top: 0 solid; border-right: 0 solid; border-bottom: 0 solid; width: 0; } .elfinder-rtl .elfinder-toolbar-button-separator { float: right; } .elfinder-touch .elfinder-toolbar-button-separator { height: 28px; } /* change icon opacity^ not button */ .elfinder .elfinder-button.ui-state-disabled { opacity: 1; filter: Alpha(Opacity=100); } .elfinder .elfinder-button.ui-state-disabled .elfinder-button-icon, .elfinder .elfinder-button.ui-state-disabled .elfinder-button-text { opacity: .4; filter: Alpha(Opacity=40); } /* rtl enviroment */ .elfinder-rtl .elfinder-buttonset { float: right; } /* icon inside button */ .elfinder-button-icon { width: 16px; height: 16px; display: inline-block; background: url('../img/toolbar.png') no-repeat; } .elfinder-button-text { position: relative; display: inline-block; top: -4px; margin: 0 2px; font-size: 12px; } .elfinder-touch .elfinder-button-icon { transform: scale(1.25); transform-origin: top left; } .elfinder-rtl.elfinder-touch .elfinder-button-icon { transform-origin: top right; } .elfinder-touch .elfinder-button-text { transform: translate(3px, 3px); top: -5px; } .elfinder-rtl.elfinder-touch .elfinder-button-text { transform: translate(-3px, 3px); } .elfinder-touch .elfinder-button-icon.elfinder-contextmenu-extra-icon { transform: scale(2); transform-origin: 12px 8px; } .elfinder-rtl.elfinder-touch .elfinder-button-icon.elfinder-contextmenu-extra-icon { transform-origin: 4px 8px; } /* buttons icons */ .elfinder-button-icon-home { background-position: 0 0; } .elfinder-button-icon-back { background-position: 0 -112px; } .elfinder-button-icon-forward { background-position: 0 -128px; } .elfinder-button-icon-up { background-position: 0 -144px; } .elfinder-button-icon-dir { background-position: 0 -16px; } .elfinder-button-icon-opendir { background-position: 0 -32px; } .elfinder-button-icon-reload { background-position: 0 -160px; } .elfinder-button-icon-open { background-position: 0 -176px; } .elfinder-button-icon-mkdir { background-position: 0 -192px; } .elfinder-button-icon-mkfile { background-position: 0 -208px; } .elfinder-button-icon-rm { background-position: 0 -832px; } .elfinder-button-icon-trash { background-position: 0 -224px; } .elfinder-button-icon-restore { background-position: 0 -816px; } .elfinder-button-icon-copy { background-position: 0 -240px; } .elfinder-button-icon-cut { background-position: 0 -256px; } .elfinder-button-icon-paste { background-position: 0 -272px; } .elfinder-button-icon-getfile { background-position: 0 -288px; } .elfinder-button-icon-duplicate { background-position: 0 -304px; } .elfinder-button-icon-rename { background-position: 0 -320px; } .elfinder-button-icon-edit { background-position: 0 -336px; } .elfinder-button-icon-quicklook { background-position: 0 -352px; } .elfinder-button-icon-upload { background-position: 0 -368px; } .elfinder-button-icon-download { background-position: 0 -384px; } .elfinder-button-icon-info { background-position: 0 -400px; } .elfinder-button-icon-extract { background-position: 0 -416px; } .elfinder-button-icon-archive { background-position: 0 -432px; } .elfinder-button-icon-view { background-position: 0 -448px; } .elfinder-button-icon-view-list { background-position: 0 -464px; } .elfinder-button-icon-help { background-position: 0 -480px; } .elfinder-button-icon-resize { background-position: 0 -512px; } .elfinder-button-icon-link { background-position: 0 -528px; } .elfinder-button-icon-search { background-position: 0 -561px; } .elfinder-button-icon-sort { background-position: 0 -577px; } .elfinder-button-icon-rotate-r { background-position: 0 -625px; } .elfinder-button-icon-rotate-l { background-position: 0 -641px; } .elfinder-button-icon-netmount { background-position: 0 -688px; } .elfinder-button-icon-netunmount { background-position: 0 -96px; } .elfinder-button-icon-places { background-position: 0 -704px; } .elfinder-button-icon-chmod { background-position: 0 -48px; } .elfinder-button-icon-accept { background-position: 0 -736px; } .elfinder-button-icon-menu { background-position: 0 -752px; } .elfinder-button-icon-colwidth { background-position: 0 -768px; } .elfinder-button-icon-fullscreen { background-position: 0 -784px; } .elfinder-button-icon-unfullscreen { background-position: 0 -800px; } .elfinder-button-icon-empty { background-position: 0 -848px; } .elfinder-button-icon-undo { background-position: 0 -864px; } .elfinder-button-icon-redo { background-position: 0 -880px; } .elfinder-button-icon-preference { background-position: 0 -896px; } .elfinder-button-icon-mkdirin { background-position: 0 -912px; } .elfinder-button-icon-selectall { background-position: 0 -928px; } .elfinder-button-icon-selectnone { background-position: 0 -944px; } .elfinder-button-icon-selectinvert { background-position: 0 -960px; } .elfinder-button-icon-opennew { background-position: 0 -976px; } .elfinder-button-icon-hide { background-position: 0 -992px; } .elfinder-button-icon-text { background-position: 0 -1008px; } /* button icon mirroring for rtl */ .elfinder-rtl .elfinder-button-icon-back, .elfinder-rtl .elfinder-button-icon-forward, .elfinder-rtl .elfinder-button-icon-getfile, .elfinder-rtl .elfinder-button-icon-help, .elfinder-rtl .elfinder-button-icon-redo, .elfinder-rtl .elfinder-button-icon-rename, .elfinder-rtl .elfinder-button-icon-search, .elfinder-rtl .elfinder-button-icon-undo, .elfinder-rtl .elfinder-button-icon-view-list, .elfinder-rtl .ui-icon-search { -ms-transform: scale(-1, 1); -webkit-transform: scale(-1, 1); transform: scale(-1, 1); } .elfinder-rtl.elfinder-touch .elfinder-button-icon-back, .elfinder-rtl.elfinder-touch .elfinder-button-icon-forward, .elfinder-rtl.elfinder-touch .elfinder-button-icon-getfile, .elfinder-rtl.elfinder-touch .elfinder-button-icon-help, .elfinder-rtl.elfinder-touch .elfinder-button-icon-redo, .elfinder-rtl.elfinder-touch .elfinder-button-icon-rename, .elfinder-rtl.elfinder-touch .elfinder-button-icon-search, .elfinder-rtl.elfinder-touch .elfinder-button-icon-undo, .elfinder-rtl.elfinder-touch .elfinder-button-icon-view-list, .elfinder-rtl.elfinder-touch .ui-icon-search { -ms-transform: scale(-1.25, 1.25) translateX(16px); -webkit-transform: scale(-1.25, 1.25) translateX(16px); transform: scale(-1.25, 1.25) translateX(16px); } /* button with dropdown menu*/ .elfinder .elfinder-menubutton { overflow: visible; } /* button with spinner icon */ .elfinder-button-icon-spinner { background: url("../img/spinner-mini.gif") center center no-repeat; } /* menu */ .elfinder-button-menu { position: absolute; margin-top: 24px; padding: 3px 0; overflow-y: auto; } .elfinder-touch .elfinder-button-menu { margin-top: 30px; } /* menu item */ .elfinder-button-menu-item { white-space: nowrap; cursor: default; padding: 5px 19px; position: relative; } .elfinder-touch .elfinder-button-menu-item { padding: 12px 19px } /* fix hover ui class */ .elfinder-button-menu .ui-state-hover { border: 0 solid; } .elfinder-button-menu-item-separated { border-top: 1px solid #ccc; } .elfinder-button-menu-item .ui-icon { width: 16px; height: 16px; position: absolute; left: 2px; top: 50%; margin-top: -8px; display: none; } .elfinder-button-menu-item-selected .ui-icon { display: block; } .elfinder-button-menu-item-selected-asc .ui-icon-arrowthick-1-s { display: none; } .elfinder-button-menu-item-selected-desc .ui-icon-arrowthick-1-n { display: none; } /* hack for upload button */ .elfinder-button form { position: absolute; top: 0; right: 0; opacity: 0; filter: Alpha(Opacity=0); cursor: pointer; } .elfinder .elfinder-button form input { background: transparent; cursor: default; } /* search "button" */ .elfinder .elfinder-button-search { border: 0 solid; background: transparent; padding: 0; margin: 1px 4px; height: auto; min-height: 26px; width: 70px; overflow: visible; } .elfinder .elfinder-button-search.ui-state-active { width: 220px; } /* search "pull down menu" */ .elfinder .elfinder-button-search-menu { font-size: 8pt; text-align: center; width: auto; min-width: 180px; position: absolute; top: 30px; padding-right: 5px; padding-left: 5px; } .elfinder-ltr .elfinder-button-search-menu { right: 22px; left: auto; } .elfinder-rtl .elfinder-button-search-menu { right: auto; left: 22px; } .elfinder-touch .elfinder-button-search-menu { top: 34px; } .elfinder .elfinder-button-search-menu div { margin-left: auto; margin-right: auto; margin-top: 5px; margin-bottom: 5px; display: table; } .elfinder .elfinder-button-search-menu div .ui-state-hover { border: 1px solid; } /* ltr/rte enviroment */ .elfinder-ltr .elfinder-button-search { float: right; margin-right: 10px; } .elfinder-rtl .elfinder-button-search { float: left; margin-left: 10px; } .elfinder-rtl .ui-controlgroup > .ui-controlgroup-item { float: right; } /* search text field */ .elfinder-button-search input[type=text] { box-sizing: border-box; width: 100%; height: 25px; min-height: 25px; padding: 0 20px; line-height: 22px; border: 0 solid; border: 1px solid #aaa; -moz-border-radius: 12px; -webkit-border-radius: 12px; border-radius: 12px; outline: 0px solid; } .elfinder-button-search input::-ms-clear { display: none; } .elfinder-touch .elfinder-button-search input { height: 30px; line-height: 28px; } .elfinder-rtl .elfinder-button-search input { direction: rtl; } /* icons */ .elfinder-button-search .ui-icon { position: absolute; height: 18px; top: 50%; margin: -8px 4px 0 4px; opacity: .6; filter: Alpha(Opacity=60); } .elfinder-button-search-menu .ui-checkboxradio-icon { display: none; } /* search/close icons */ .elfinder-ltr .elfinder-button-search .ui-icon-search { left: 0; } .elfinder-rtl .elfinder-button-search .ui-icon-search { right: 0; } .elfinder-ltr .elfinder-button-search .ui-icon-close { right: 0; } .elfinder-rtl .elfinder-button-search .ui-icon-close { left: 0; } /* toolbar swipe handle */ .elfinder-toolbar-swipe-handle { position: absolute; top: 0px; left: 0px; height: 50px; width: 100%; pointer-events: none; background: linear-gradient(to bottom, rgba(221, 228, 235, 1) 0, rgba(221, 228, 235, 0.8) 2px, rgba(216, 223, 230, 0.3) 5px, rgba(0, 0, 0, 0.1) 95%, rgba(0, 0, 0, 0) 100%); } /* Theme Search Fix */ .elfinder-toolbar .elfinder-button-search .ui-icon-search{ background-image: url('../img/black-search.png'); background-position: 7px 3px; } .elfinder-toolbar .elfinder-button-search .ui-icon-close{ background-image: url('../img/black-close.png'); background-position: 2px 3px; } /* Grid View Hover */ .elfinder-cwd-wrapper .elfinder-cwd-file.ui-corner-all:hover .ui-state-active, .elfinder-cwd-wrapper .elfinder-cwd-file.ui-corner-all .ui-state-active:hover{color: inherit;} .elfinder-cwd-wrapper .elfinder-cwd-file.ui-corner-all.ui-selected:hover .ui-state-hover.ui-state-active{ color: #fff; } div.tool-op-getfile{display:none !important;}wp-file-manager/lib/files/.trash/.gitkeep000064400000000000151202472330014204 0ustar00wp-file-manager/lib/files/.gitkeep000064400000000000151202472330013005 0ustar00wp-file-manager/lib/fonts/notosans/NotoSans-Regular.eot000064400002222350151202472330017143 0ustar00$ ($  LP_ @)]}oNoto SansRegularVersion 2.007"Noto Sans RegularFFTM5 $ GDEFgQaGPOSlhTpGSUB*[X0OS/2b`cmaphNOK0gasp|glyf:thead%T 6hhea D$hmtx>hrIHloca,rB\OPILmaxpuh name post`prephOHo}]_< '6'Av C-  RRyQXKX^2B @ _)GOOG -C -X^M HA<>?15A,(,')<2 )B( Ht <1<Y<0<-<<?<7<,<1<2 H <2<8<2 :ax=a,aa=aS(ka aaa =]a =na%3, ZX J6<&IPt I<&(1.gU7g747Xg7jUNUUUjU]7gUg7U3ijO '|'| <2 H<[< <;<';D@1e (<2B(@17<2^^(oU7 H^%x '" qx=,a,a,a,aS(S(SSa = = = = =<@ =ZZZZ6]awU1.1.1.1.1.1.`.747474747L]7jU]7]7]7]7]7<2]7jOjOjOjOgU1.1.1.x=7x=7x=7x=7ag7i7,a47,a47,a47,a47,a47=g7=g7=g7=g7ajj SSSS(S(Ud(NkaUU WL aA aU a U ajUajUajUajU =]7 =]7 =]7=6naUna>naG%33%33%33%33, i, i, iZjOZjOZjOZjOZjOZjO  66<&'<&'<&'FUg  gagU{ZdRxx=7* g3g7\F,<;L6M=:U\ZS"kaUZjU==h73=M7 gUna%/-<&ei@ i,  ZO%Z@<&'H#H7":0H#!$KUP+A H aa=7aaU aalU1.S =]7ZjOZjOZjOZjOZjO431.1.q`.=g7=g7ka =]7 =]7H# aa=7=g7aaajU1.q`. =]71.1.,Q47,a47SS =]7 =]7nWnaTZjOZjO%33, i?&aja_7:T2<&'1.,a47 =]7 =]7 =]7 =]76}U77x=7 , 3'  a,a47=g7n  61Qg7ggU!0g7g743433+!!X7g6g7>7jQjUjU LR@$z^UUQQUjjUxU]7`786UUZRZ/U/U3iij ]eQ ''  7 =@UX->7}U Ug7 777^^U[UNUss77 7  k7L g !! (((y((((y(((BHBH(( ((,(((((J77!X NNNNNNN((g ((K(K(M8(((( H(((((((Yl0esWddOsNCXWddHl 1N0o:NCC0`Hi&0HHXQdH@~^avU<U'bUR!7! (  H     I Laa ,a<&a =S(kaaaap< =a]a<&, 6K3J5ZS6o7-`ULRVOo7eUL--7`UR7LRUrU7]7XF7f7VO7ROALVO]7VOAkaUoP" P7ZU=]7x=7aa,0Q XF7=7]agUx=aU]xx=x,a,a  a=%3S(Sa jabp agaa a,aVL&bbjaaa =a]ax=, p $3JaP aaZaaya1.W9@UUE47!UUUBU}U]7pUgU76xUeJUU URUDU/4747j U73NJvUj UUrU z aU<a U aQUK $ZO=]7{{=G75=7=:<7a358HaUgR eagUaUaUL&!a-UjaUj  oaU/aU a_U =7x=7, 66w(^ PmJP^JajUQQS(Va0UKamUaUPeJaUS(1.1.q`.,a47;43;43VL&!H#bUbU =]7=]7=]7yp p p PeJaUZa Ux&Jg>g7>6#)&y#&[aU=7 M5+J)&a2Up =g7  jaU2CakUaUaUr{SJGN$U))))23OzIA3:.g*++8;.VD,(BV$9%gT(jWMg[cN 23A3DU..{W'K''T'Z'>'T'g'&'H'G@=i+D3?A;r2t33kTT.5E7b7Uyz X121PE [32)$$3**<*W8:)$'' -t/ `3@  ;TVT$V!V[2VVjVz; #^^^4'9z;z;VTQj&j( '!V TVV5C=? ?i?i'(??U?N???(&??i;]mm5$2!7$o$o!:>$8[7`77$8&&7 3`5JH 7Q$f 3 73J7Q.$f Qgg7XjgZi"gU7J*@$Zg T ] gUg7X 7U(UjUgU(3'1.g7g747+!3N!jO! 8$Y$? $5577`7`577$#7! 55J22`D $UCHlhlh&&\;]Kn}m^ee]H1.agUagUagUx=7ag7ag7ag7ag7ag7,a47,a47,a47,a47,a47aX=g7ajOajUaj%jajUSSkaLkaUkaU aL  a aaUaUaUajUajUajUajU =]7 =]7 =]7 =]7]agU]agUnaUnaInaIna%33%33%33%33%33, i, i, i, iZjOZjOZjOZjOZjOXX          JJ6<&'<&'<&'jUi 7.FUFF Z\-1.1.1.11.1.1.1.1.1.1.1.,a47,a47,a47,a47,&4,a47,a47,a47S(<S(N =]7 =]7 =]7 =]) =]7 =]7 =]7=h7=h7=h7=h7=h7ZjOZjO ZO ZO ZO ZO ZO6666a=P5\ o7o7o7o7o7o7o7o7  y y e e   ------    q q `U`U`L`K`U`U`>`?{  > > * * q r LBL8LLLLLL        ]7]7]7]7]7]7q { 4 4   VOVOVOVOVOVOVOVO    AAAAAAAA; E     1 2 o7o7--`U`ULLR]7]7VOVOAAo7o7o7o7o7o7o7o7  y y e e   `U`U`L`K`U`U`>`?{  > > * * q r AAAAAAAA; E     1 2 o7o7o7o7o7o7o7  )LR)((`U`U`U`>`>    a))(LLLLLLSS  LL(VOVOVAVOXFXFVOVO66   (AAAAA  ] I (LM< d+B(B(<(((('  g g g A<xMpDHH HXX,1-''H'Z6(6'E2Haav^B(ADODW  H<$^6X'),]')tO]<5'64=555' H HXXXXX^3^ ^^^^^R#R#R#>7^^%^^^ ^^^^^R#R#R#>mo$$X o!7[77`7777! <$<3<8<-<!U< LAS Ui7<<<< < =`% x=m"<O< *;F p7<a  x27= 5A](L6yj7D" ajg/ A 6R a_@1D,a =hQalaTa*8(^v&SJ LkaF=k2[8a%"xN)ca 1(a alE  6$C  W Woc,0%%%>%J[B %6> >>#>0%!d'2R0   ] na1.iavUa/U<&'=ab .  aU75]7:#3A"afd@tr}qxx{##555<>>5dLz;5RB<2>>;2<2''MPMMPM(4545=554#A<f H L H ) J<+B( (CfL:>(1<(J((((( Zt < H a >Rab<,A"#A"##--,ZRZoP ="=:c Ka1U=D7aLUea>T xTaU =]7 =w58=7q+L#Cu`VBwBE#3+&!0KHR " `uU" V aiU aUC=7=]7 7uZ(Z(Z(Z(Z(Z(Z(Z(NNNNNNNNNNNNNNM5(e(i(Z(FF H H H((zFEF1+aiUB (O1-.+#n#NO(..T.}..}.x!k  kaUk  iaYU  t=5C=7]gT f  =g7=7J- 9B'^ $] g Zg<aU),V4K5~"7UPU UUUA W5\US9S9J0 U\U\Up7 ( H2 Q Qa5EavUg7jU A6 K1O+1X-JO<gfil#R L&=aKx0k, !^wU=:4j.80C7!{x=%3<&ag7%(.2g#%V]3aS(_NN}Nn(n(n(C93cQc/(, 6:::::9:[Xa)g.:6X b5zUiUiU,,C-6CC55oP"WFUPUx fiPiPT'G/rryiPH7 U6S[.Og7c+7,<,PZZUH3|wf))ba[..44 aa,aS(ZaaZ\Z G<<aa#jU1.47jOJEBPJcc J......FJF FJF JJJHJJJDJJJP/P/P/P/P/WJWWJ#%#%####%#%##%#JJJJJJJJoJoJoJoJoJoJx0x0x0x0x0x0x0x0x0x0x00JJx0JJJJ))))))WE     TETETETETETETETETETETE.2aa\6aaf?#"#I#/#'##0#(# #%#"K6",8/;?8 <1?/H7+&<-<<?<7M:<2<1^^%^^^ ^^^^^^^%^^^ ^^^^^89<56q q5<]lNNNN "&"(&&#' NNNN""&&(&#'%'.%%%NNNN%'%%%""#""""'%'%%%??NNNN%GGGGG3%%%%%%%%"%%-****+NNNN_)NQItDEN~N~M5Mn;U7UP 7W Wo        1a          X X D D     v v b b     o7o7o7o7o7o7o7o7LLLLZZZZZZZZVOVOVOeOeOeOeOeOeOeOeOmA7 JJ7JWJx0#%JJoJ-x0MJJ 0E0#%##x00JWJJJJJJJJJJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJ#%#%#%#%#%#%#%#%#%#%#%#%#%###x0x0x0x0x0x0x0x0JJ00000000000000000000000333333333333zJzJzJzJzJzJzJzJzJzJzJzJ000000000000#%##x00JWJJJGFJJJJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJ#%#%########%######x0x0x0x0x0x0x0x0JJ00000000000000000000000333333333333zJzJzJzJzJzJzJzJzJzJzJzJ000000000000 H())LL)L(((((()())L)L)L((((((8Q$U))))UOzI:.g*8;.V,(B..[_<IA3].j*f4d.^H(x<H.[_<IA3].j*f4d.^H(x23Oz2IA3(.g*+8;.VD,B,+D.23Oz2IA3(.g*+8;.VD,B,[P_^YIIAA33~.j*4d.Hx+,^HJ.#[P_^YIA3~.j*4d.Hx+,&&&&,,,,33AA33G$$$%%%gggTTT(((jjjWWW))))))[RRIhAAA[[3Ruljg8^YHLHMfM =........'X'8'RJJIIw HHHH..IA3IA344II..I....IX9..M -V%gT(jW$J%gT(jW$II,,s"<9FsbDb;_I'2 .T1 H*'0'W'/'(' '@'7','4'4&U&,'2'2'2Gdl*d6',x6'2((8R8QSQ$H'E'2T1'HcKW AF $$R) . x@8 ~w/ EMWY[]} d q !_!!""%,.Rʧ9.k/ z  HPY[]_ f t !!!""%,`-@§0.0 QBFccccmc=bbi`h    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abctfgkzrm dxluiy{n~depVod< - {s|((((((dH @ Lh  , 8 ( ( d p tT<h(DtTt@`x tL`Xp44p8@L p !!!",""#$#x##$$D$$%H%&'','D'\'t'''(((4(L(d(|((()),)D)\)t)))*d*|****+(+++, ,$,<,T- -$-<-T-l-----.p.....//\//0 0$0<0T00011(1@1X1p1111122202H223\3t333334444445 5$5<5T5l6 6$6<66677(7@7X7p7777788808H8`888899H9999::0:H:`:x:::;(;;;;;<<<=$=<=T=l======>>,>D>\>t>>>?,?`???@@@4@L@d@|@@A A8APAhAAAAAABB(B@B|BC|CCDLDEExEFF`FGGGGHpHI8IJ0JJKKtKLLLM\MlM|MN`NOTOPLPQ QQRR|RS SdST TTU$UUV V0VVW\WXXtXY4YLYdYYYYZZ(Z@ZXZpZZZZZ[[[0[H[`[\x]]^h__`X`h`ab4bbcc|dd d8dPdhdddddee e8ePeheeefHf`fxgghhh4hLhdh|hhhhhi i$i<iTiliiiiiijj,jDj\jtjjjjjkhkkllXmmnnhnxnnnno|ppq\qtqrrrrs$st tXtuvvww4wxx(xxyyyzz\z{@{|<|}$}t}~8~,,0 (p$X,\Th h\ HXP L L LlT8T<8$<p\T4|HXhx<T 4Hl<h@XtXx$DXl|Th (D` 4Pdt $H,<L\p 8XxH\p8L`t$@`L4H\xh4$4D 4L$d°\ü<tĤ@`ŀŐŠ(8Xƴ(@XpLjǘǨ ,<Ȥȴ XhɌɜʀʐTl˄˜˴xHXtϬϼ<Шрѐ8ҤDӔtPhՀ՘հ,ׄ ؘXٴxڤT<ܜ ݰ 0|0@Xp߈ߠp@ $Dl$X$4H@8`p0tT DTdtL ,D\P`pTd|D8P\$xTlD\|hX TP      @   d  \  8 t D8p@dDpD4 tHXhDP(`P(p d t     !!X!!!!""("@"P"`"x"""""## #8#P#h####$$X$%%\%%& &0&','( (()l)**\*++`+,,(,- --.0.//////040|1122|223(3x34 44556`677\7789d:::;T<<===>T>l>>>>?d@,@p@ABBCDDDEEpEFFGXGHxI IdI|IJhJKpKL$LMMNPNhNOpOPxQQ0QHQtQRR(RRS SdSTT\TTU U$U<UTUUUVVWW4WPWWX,XDX\XtXXXXXYZ[\`\|\\]]^_0_`d`a(abb0bHb`bxbbbc,cdtde0e|fffg<gh hxhiiijj<jk$k8kkl`mmLmmnnLnnoDohoooopLplpppqqDqXqtqr,rprrsTstt`tuTv vwxxytz$z{|(|||}X}l}}~ ~4@$\ld4lHlp $X|$lp8X(x8T<`,P8txH|,l D4t`D@<4Ht(DP\<Td  ,d(H$xDLHPdp4 `p0X XðĀ0PpŐŰ8Tƌ$DŽH`ɐ|`$d̜̀ X͠PΈΰ$τXР(р8ҀӜ(ԤԸ LpՄP֔ $<Tlׄל״ $<Tl؄؜ٴ@,ۼ<\t܌ܤܼ4Ld|ݔݬl,D\tߌߤ,D\t4Ld|L(0(@Xp(@d4Ld|,D\t4Ld| $<Tl,DTd|`$8|80dLL<\4Ld| D   4   x8Xx 8Ph0H`x<0lH$<Tt,Dd4Tt$Dd|4Tl$D\t$<Tt,Dd4Tt$Dd|  , L l     !!<!\!|!!!!"""4"L"d"|"""""# #,#L#t###$$<$\$|$$$%%D%l%%%%&&8&`&&&&''<'d''''((D(l((())$)L)t)))**,*D*d*|****+++4+L+\+++,,,4,T,l,,,,,---0-H-`-x-----..(.@.X.p.....///0/P/h////0$040T0t0000011,1D1\1l111111111111111122 202L2d2|22223$383d3344P44455$5<5\5p5p5p55566,6,688,8D8888899@:::::; ;4;X;h;;;;<<(4>d>??(??@H@AABxBxBxBxBxBxBxBxBxBxBxBBBC CTCCDDPDE,EPEFXFFFFG,GlGGGGGGGH H H4HHH\HpHHI IdIIJ8J|JJK4KtKLLLLMN$N\NO<OP@PQpQQRhRRST@TUPUVdVW0XHX|XY0YZPZ[[[\]h]]^X^____`bhccd0de|fPgtghhiLijkLkmnolopPpqLqrr@rrs,ttLt\ttvvw`wy(zz||}$}\}}}~L~|\4TphLh L 0Txhxp,HX|x<P`Dx8Ht D<(Px0l<x t8t$p4@L8x<`Tt$LtL,(D Dh<T$Xl8d 8XT@$ XDtDp(xl`ĐHŜHƠxTȠ`0ʌPˀ˰\̼\Ͱ8`ψϠ\ҌӴԈ0hX֠H|@ِؔ04ۜ<(ݐހ8߈ |\x(h,`<p8pP$Hd4Tt,X XH`Lp4(,Ld| t4$L,D\H`|0t  XX8LhD  h     L  4     |P <X(t \|$<( \8XhX ( L !,!!!!"0"##$ $T$%\&&'X'(H() )**@*d**+d++,,X,--4-\---.$.x./(//0P01H12D23@34 45556<674777789:T; ;;;>?X?@L@A8BBC4CD<DELEFGGHlIIJlJK KTKL<LMMMNNxOOOOPQ Q|QR$RxRS8STTtTUUV,VW(WX0XYYZZ0ZHZ`ZxZZ[,\ \ \8\d\\\]] ]L]x]]]]^^8^`^`_```ahabbcpcccccddd0dHd`dxddde8ePeheeefff4fLfdffffgggghHh`hxhhhhhii i8iPiiiij j$j<jTjljjjjkk0kkkll,lDl\lllmm4mLmdm|mmmmmn n4nnno0oHoxoopp p8pPphppppppq,qDqqqrrXrrrs<sssttxttuuu4uLudu|uv v8vPvwwPwwxx,xyy(y@yXypzztzzzz{D{{{{{{||(||||}p}}}}~~0~H~`~x~~~~ 0HXh $<X 0x|(h4h<p4$8L`t(<Pdx|$`T(Pt LpDl Px$Pt Lt8d0X Lx@l@l@hDtDpDt8d@p4` 0X4\,T$Px Hp8\\ ,<T(8P $<d0Hh(Px Hp@h0Hh 8  Dhph(@t0TxXXhx DTd(8H(8HX° 0@P`pÀØð(@XpĈĠİ 0@P`pŀŐŠŰ0H`xƐƨ 0@P`pǀǐǠǰ(8HXhxȈȘȨȸ(8HXhxɐɨ 0@P`pʈʠʸ0H`xː˨ 8Ph̘̰̀(@Xp͈͠͸0H`xΐΨ 8PhπϘϰ(HhЈШ0H`xјѸ HpҘ 8XxӘӸ8XxԘԸ 8Xx՘ո0Xր֨0Lh׈ר 8Pp؈ؠ 8Phـٰ٘0Ppڈڠڸ8Phۈۨ(@Xp܈ܨ0X݀ݨ0Ppސް(Pxߠ8X Hh(Px$4DTd|$4D\l| $<L\t<Tl4Tt,D\t4Ld|\@,h 8`(@Xp,P\\<xdT \t4Ld|,D\t4LPhxxP, h    0     , D DHh80H`xph $<TlTl\h l !!(!@!X!p!!!","|"###$@$%<%&$&|&'$'<'(,() )8**t+d+,, ,8,P-\-t.p.../|0L182$2<2T2l2222233343L3d333345t6P7(8 89:;<=>?@ApB`BCDEtF<GGHIhJPKDL@LXMHN8O(PPTPQQ,QDQ\QtQRRSSTTtUU\UV<VWDWXXX4XLXdX|XXXXXY Y$Y<YTYYYZZZ0ZHZ`ZxZZZZZ[[0[P[p[[[[\\0\]__`abccdef\g(ghitjdk,klmnopqrsst@uuvwxtytz4{T|h}~hXp$\4D`X@XPl(LPhhX4L d,LdD\<HHDHPh(@Xptplpt| d<$l`4LH` 8Ph0„l| HżDplʨH`x`X(ΰ hl4(t,x\ Ք@ 4D|P`܀ܘ<ބdXD0,`0HL4Ld|`$p8`0L L,hLtPTHdX|Xt$$@\@<L  ( @ X p        t  l  ,  |pt^3!%!!^563dH7#34632#"&9kt$%%$l%%$ AW#!#77l3##7##7#537#5373373337#)G)'F&~ (H((E(CCBB>")07.'55.546753.'#>54&'7h "j3c\gX@5W$ M(BX-h_@63-<@;60A1URGJTXWJ +?2FW o*!(++"&'1 %/2#"&546#"32542#"&546"3254JLIMGKFtM&##&MhIMIMGKFL&##&Mujjwwjju 64QPPRujjwwjju?PPQQ5+52>73#'#"&5467.546">54&32670P]Q>! Y0&wW/tSgzSG 7cR*5&$;30R6=J>@\QI?X$Q/@n)T*4f^M]($R7JRH,'$=%"=($. B67B*A#7(b 4673#.(GLSFGGERLGz[^wt^Xb #>54&'3GLREGGFSLGyX^tw^[)67''7'7'BwVUMYu6\//\62oS 3##5#5353AHHGG)t7#>73 1A^i5694(3753(NNHy 74632#"&H$%%$6%%$  j #jV 61  #"&54>3232654&#" 0hVys/hUxv~CQPEEPQCfsXítWYc !#467'73cVL.I+4>;0)57>54&#"'>32!(6J&F84O)/*mDdt.R7iI6TQ0;=$ ;#1eY8b_6-*#"&'532654&+532654&#"'>32PDVT:y_8`,-h0`Ui_EFX[F<:R(,&qHpm#HU XG>a6RKBC;KJ=49"<,d( %##5!533'467#!(hUP[h K#4I!,?2#"&'532654&#"'!!>n~7a!$g/OaV]H,f:ndoSKOFK QP7 ,4>32.#"3>32#".2654&#"7Ge3-E\5R@]r{hDnA?NEE/F'"D1MyHK.Ph;#1qhpDQUDP'< +U7, 3!5!%zPDz1 (52#"&54>7.54>">54&32654&/^x%>%,H+ks|)D'4I8`<7G#<$4GFJMIMRDBEXS+@15F1Zie[1H4UB7K(G52%2#>625(4EE74EI2,#"&'532>7##"&54>32'"32>54.Ge5'1F[6SA\q9fEDn@>OCF0F'"DMyHK .Oi:"1qgKl:ERTEO'< +T8H& 4632#"&4632#"&H$%%$$%%$&&$ x%%$ & 4632#"&#>73F$%%$q 1B ^&&$ 45&WU#2t `-5%  )yt2N85!5!86GGGG2t `7-52y)N2 +74>7>54&#"'>32#4632#"&% '+>;1L#(a<_h5$!# F#$$#&72!,*04F^Q-?5*)%%$ :I?M#"&'##"&54>3232>54.#"3267#".54>32326?.#"I,@,.5F5LS4_A,U %+KSrQ=o++kAvY:nch]3+81 (1<e.XG+5"%2fTBe: 4"3U3]D^jDXt]uAV@:TC}0K~!'!#3 .'3!VU[Q Q3*- ;aT"2+2654&+32654&#-FB-I*s\DS[v_JMcOb?S &F8aj;:;3KJ<8E=Y"3267#".54>32.s{{/T((U;mIOnqT$!Q NZpl]*La +324&+3 ŰlV_ua"lPva )!!!!!q#5ONa 3#!!!!Z"OO= 3#".54>32.#"32675#:vKoOXu53$$-ZfL2-Agbak!##3>?3kjIZZ>iU@"D"a33!aZ8Pa*!##333#467#SYri9OI64f a!###33.53iSh}TQ#h7q@L =#".54>3232654&#"KloHHpkKryzppyysfo\\on\[oa* 2+##32654&5}kRZ[HfdXnd;g@MBOED=V #'"#".54>3232654&#"ig oHHpkKryzppyysf#\on\[oa_2####32654&&*A$iZfkWPTef9L- 'NECF;3)%#"&'532654.'.54>32.#"u5#0)!`S9Q,M9/$0&5J !!##5!#CZ{OOZ%#"&5332653<{_Z]^aWYJwEw1W`gQX #3>7XZ^66,M##N- #.'#3>73>7[ [^o  ~] n6:- U./L.V&'\,N.[#%W/F !# #33Ff_d_6tV63#3aZbk_K& )5!5!!xD6PDPb0#3#30hH( k#` W6b3#53#VH& 3# &2N <gf!5!@@(^ #.'5 !%;:1 74 99 .!&2#'##"&546?54&#"'>326= b^@#MDI`~[:5*L!#`NdM7+DZ!V^L,*MRPW C4B83-*KN0U0!3>32#"&'##3"32654P?dyzc?P?XUBAXHG?";".. Dbgcijd7"".54>32.#"3267,Go?BqH)L@ML,CA :z_c|: I ag N7""&546323.=3#'#'26=4&#"dxyd>OXG P1UEBYGGG .! 3H"0I]^dkq_`j7"2!3267#".54>"!.$Ec5YP3O*)P7LuA;kF?I>"{YX~DHQHDU###5754632.#"3LX^^\R 5*,+,)h[ E ;?#7"+2373#"'5326=467##"&546"326=4&5U Fu{vKOwEO6phuusCJIFQJL"()Gst"Q*QF - QJkcciWan_U3>32#4#"#3Y4bbWxZCXX(#)*]gWe^N 2#"&546#AX 4632#"&"&'532653N8&  *XHG#1kKUU 3>?3#'#3 gj=WWk4 5U3#3XXUV"!2#4#"#4#"#33>323>[ZWmNCWnQ>XG U0~&]"]hYZVYd^I*)Z.,U"2#4#"#33>W`bWxYDXG \"]hWd^I*)7'" #".5463232654&#"'sGo@sIo?kKRQLLRRJ A}YA{Y_oo__llU0"#2#"&'##33>"32>54&Tcyyd>QXH N1RCAX1?G"/4I#0J\^ck6]<\n7""467##"&54632373#26754&#"Q@ay{b?P FXSEDWHFG 0"00#I/[^fiq__kU"2.#"#33>O# )H+XH R"Q-Q6b,@3")%#"&'532654.'.54632.#"tb8Q [/C<954J(oZ1U%"J'69=33H&NPP+$ (8,DJF#(9S%267#".5#5?33#* 4*G,LM#4/>C HA8*#r{D1/O#'##"&533265H \4abYwYEG*']f_d^333>73^rr^6126< ".'##33>733>73# `d[J  _`\  KZg/)OO*+X27."PX. 373#'#Թdcdc33>73#"&'5326?^tm_YN$ .9(I!Q)0LZF4+G' )5!5!!x p#:DBnb\.=4>=463\\j?;;?nX4;mm:5NP3+I*2PNH,1gg1+83#II b`>=475&=4&'53# 4;mm:5\j?;;?nXV+1gg1+HNP3+I*2OO2 .#"56323267#"& $/>0H9.$/>1G;? "N5  "M6 HJ" #"&546323#$%%$\:l%%$ [!.#"3267#5.54>753a&EBRMOL,A:'C;W00X:D I ehh_ M ad T  2.#"3#!!5>=#53546N7X"I)9<* +8``oF;BBh=;PJ @BiBYd;B!1467'7>327'#"''7.732>54.#"ZB1B:7C0@#?/C8@0B0AC";$%:##:%$;"a9D/@@/C9?1B/@#@/B9$:##:$%;##;,33#3##5#535#533\|Vz]m]@R@@R@w83#3#IIII;3A467.54632.#"#"&'532654.'.7>54.'C0$(f_8N%"D0<18LMV.#'sg7R ^/J8774K'K?P)D>,2=7(32'2>54.#"7"&54>32&#"3267Pc66cPLe96cP@pV0.SqDZP.SrScb.ZAA:2+;A9B92 6cPPc66cPPc65.UrEArV1Q\ArV1Z{eAe9=TJLS @  4$2#'#"&54?54&#"'>326=AB/ 8&/88*2A7<*3-6;*12c! 1 /((8 7'?'(??ƪ>>$% $%2#5!5GqG(31&4=".54>32'2>54.#"'32#'#72654&+Pc66cPLe96cP@pV0.SqDZP.SrERL0tVd>2',(,1 6cPPc66cPPc65.UrEArV1Q\ArV1_@A/7 ­(# :!5!B7u "&54632'2654&#"HWVIGXXF0-/.1..UDDVVDDU;4*,44,*42 V 3##5#53535!AHHGGGG3U!57>54&#"'>3232s))%1#E+@I;8Q6p'1' .?71N5MAU(2#"&'532654&+532654&#"'>GH+'/TY%@F>40:4992/)5$EU>0(4 3):I ?")#$!7' .(^ #5>73 29:#" j99 47U#'##"&'##33265GP8'8XXxYDH(*<)d^7%####".54>3!%:f:'>\37dA?.l[`m.H+#"'532654&'73JJ  $&5&+:$3057V5(%L #467'7G  6#LT*  '1\ Y #"&5463232654&#"YVHCXTIGU,11,,11,)QYWSRWVS:;;:;99'8 '7'7'7'7ժ>>ǩ>>%$ %$"$33467'73#5#533#'35467~KL#  6#IGI==} 62*  '1\T`4<`]8 1*33467'73#57>54&#"'>323`KL  6#IG#s))%1#E+@I;8Q62*  '1\T6p'1' .?71N5M>(,7@"&'532654&+532654&#"'>323!5#533#'35467%@F>40:4992/)5$E.GH+'/TAKLI==}  ?")#$!7' .>0(4 3):I6`4<`]8 1@" +#"&546323267#"&54>7>=3;#$$#$!&,?:2L"(a<_h5$"" F%%$ %81 -*04F^Q-?5)*~&&E~&&x~&&m~&&_~&&l~n&&=5)5##!!!!!%3#5k]S:ONM=Y&(|a&*Ea&*xa&*`a&*l(*&.E(>&.xMS&.7&.l 2+#53#3#3 4&=kWűJJnZ"Ps:NBMNa&3=&4E=&4x*=&4=&4=&4lf@> ''7'72244>3334= )#"''7.54>327&#"4'326KlpI0=4,,Hp4Y%.=3^?4Nys3E*zpfo\/D(J1Wn\B)Gc=d%#I:Z&:EZ&:xZ&:Z&:lM6&>xa* +#3322654&+*4}mQZZ`~iaWbY~54&#"#4>32 ** &%6>gS/HL(70)5?.))G8#=%X:d?awi"3'  $K;UNO.($2");(,! &*&.+HCO#J.&FEo.&Fx.&FH.&F:.&Fl.1&F.-",3>2!3267#"'#"&546?54&#"'>32>"34&326=[A^3OJ2L&(M2>"\MIax|Z=3(M!#d1>QT5:C9^H3*?U"YU&SV7'&TE7'&Tx7'&T^7'&TP7'&Tl2y G "&546325!"&54632!! !!  "" GG "" 7'6&#"''7.546327&#"4'326'sI8(:-!sI:';-"k $4RJ:"4QL !8'>$e@$8&?#c>&A2l_J1oO&ZEO&ZxO&ZdO&Zl&^xU0&#"&'##33>324&#"3260yc?PXXN@cy[FJRDAXJE .  " - "0ee\\ckk&^l~W&&.&F\~&&z.&FU$~&&.$!&F,=Y&(x7&Hx=Y&(7&HK=Y&(!7&H=Y&(7&HKa&)7 !.#5>73"&546323.=3#'#'26=4&#"0 Wcdxyd>OXG P1UEBYGGG69 57.! 3H"0I]^dkq_`j7^*"&546323.=#53533##'#'26=4&#"dxyc?OXLLH P/TEBYGFF .! 3=BYYBH"0I\]ehn``iaW&*t7&J`a&*m7&JYa&*7&Ja$&*7$")03267#"&5467#".54>32!3267"!.-52)'LuA;kGEc5YP3O*(,b?I>t-82,"?>{YX~D732373#"'5326=467##"&546"326=4&kW!1X5U Fu{vKOwEO6phuusCJIFQJL58 69()Gst"Q*QF - QJkcciWan_a&-&M3#5353!533##!!5!aaaZnZaaZn HwwwwHMo 3#3>32#4#"##535Z4abWxZCXLLZBW')*^gCd^\BZb&.9&>W&.&E&.&($*&.\$&N(*&.OU3#3XX(B &./SN&NOB2&/*&a#k&0JU# &P U #'#33>?iB]]  6(L  W&1x/L&Qx$a#&1,A#&Qa #5>733!0 WnZ869 576PUQ #5>73#3Q0 WXX69 57a&1#U:&Q  35'737!a1#TZ$8<2Q?dP  3'737N3$WX@%e ;8,;Da&3xU&Sxa#&3|U#"&S5a&3U&Sd_&SFaB"&'532>5##33.53%&/mSh}TfL1+QFP%} q7t32" &wYEXGY4bbFG#1c^I*)]gRKU=W&47'&Tr=&47'&Tk=&47'&TS=d"2!!!!!!#".54>"327&2. 1oHGu{ttz9*) ONO\oo[O!6~!!(42!3267#"&'#".54632>"!4&"32654&etSM5M((N5Dh fBFm?r?d_<#"&W~a_&7fG&W3&8x3&Xx3&8L3&X3&8|3"&X|3&8L3&X !&9|S&Y|g !&9E $#5>73267#".5#5?33#0 W* 4*G,LM#4/69 57FC HA8*#r{D1/ !3#535#5!#3#蕕ߔEJPPJS %267#".=#535#5?33#3#* 4*G,DDLM#4/>C HA|Bz*#r{DzBz1/Z&:O&ZVZW&:O&ZxZ&:O&ZqZ&:O1&ZZ&:O&ZYZ$&3267#"&5467#"&533265352 '.Z]^aWY,,,*k843= w1W`gQ2?j$2EO$&ZP &< &\6&>J&^.6&>l&&?x'&_x&&?'&_&&?Q'&_Uj"#4632.)/XaP2*4?AgU E  0)"&'###53533#3>32'2654#"S?P?LLXP?dyzpHGUBA . D]BYYB";".Ijdbgci '03#"#.546;2#2654&+2654&+OEH憉FB-I*s\DS[v_JMc} A=Ob?S &F8aj;:;3J<8Ea4U0#"&'##!!3>32'2654#"S?P?P?dyzpHGUBA . DJo";".IjdbgciZH".5332'2654&+U]n0Zdv4x|PG`\{K 8cA8^9^yMGCE<|NAR-"&533>32'2654#"BmXP?dy~lHGUBQ ";".Ijdbg`j;"&'532654&#"'>32;U()S.s|{0Q!$)jAnIN N LZql]=Z(2.#".#"3267#".54>32546| /$!M0s{{/T((U;mIOn;:6ZH03N NZpl]AE7"(".54>3254632.#".#"3267,Go?BqH 6= /@ML,CA :z_c|:[AEI0|I ag N 3#"#.546;2#' 4&+OEHlVŰ "u} A=PsM3 !"&54>;5!5!'3#"?5}k\eRfdYh^8b7$"&546323.=!5!#'#'26=4&#"dxyd>OG P1UEBYGGG .! 3JH"0I]^dkq_`jF/"&22#".'732>54.'.54>">54&9Ho?_V+(UE1K2 & J,*/11XWDo>JQQCMXV":iH`v"%4'#F- E##!'/[W*Ul4HaJIc `RM^< 35!!5!5!5!<5#ONO6;6&*2.#";#"3267#".54675.546:Jw(+(SADBHR5];LZ  UIMd6"&5473265!!!!yCG O'{YI= !/<OOq^S)"&54673265#5754632.#"3#@OK!^^\R 5*,+CF;   &1&)h[ E ;?#DLW=Z-2.#".#"32675#53#".54>32546 /"&_37v`/B:vKoOXuHA6ZH05NUI PYqp[AE:""&54673>73'254&'6>(^_!">6"L9,t6_,M##O,sAp&8MN9I"%EUU#"&=4&#"#33>3232653jl58R=XXT0[\~A=Xk ]gA@e^(#)*]gFODxcZR".533267,E(Y%(/ 7 IA-00J "03#!57#535'5*TZZTTZZT4N44N4ak2.#"##3>?>)  $jOZZDz&$FkVM!N$ U 2.#"3>?3#'#4$  gj=WI 4  5q 3#5333#UFFXFFbBTB,#''7.#"5>3273267#"&/.'#jc" "9Amf %+I z@ ?G,.!? 6A%,;9#P'Z#"&533265332653#'##"'#daZ:?YLZ;@\GZGd5+i gsFFd^FFog6R..d31"&'5326533.53##-   h}TiCL#/@L 6Q#h7RKU"r==%$#".54>32>5332654&#"JlpHHpR|)*_ 9?-qzzonz{qfo\\on\71 L4 ;dU|7j##".54632>5332654&#"'sGo@s5Y -^ ::kKRSJKSRJ A}Y$!M2 E]N.eiieeff=*#".54>32>32#4&#"32654&#"GgjEEjIp'f7e`Z:?f%5kpqihqqkfo\\on\/,/,gsFF=\7"&#".54632>32#4#"32654&#"mCj=mj?L*PPW\@#EKKFFKLD A}YH%#]hI,@__oo__ll z"3#"#.546;2+2654&+OEH׌5}kRHfdX_[} A=nd;g@cBOEDU0#12.#"3>32#"&'##4"32>54&$ NAcyyd>QXRCAX1?GI P4#0/4a\^ck6]<\na_##3322654&+ZZk*A$WPTXfd'def9L- sECF;/)23267#"&54>7>54&#"'>Df:\\@O#RO9k$"fVj_8J5&0$/9M-"(23267#"54>7>54&#"'>bg(J44:";54&u=E%(/ 6,E'-A:7)'FGH00C IAg?13 H %S""&'532=#".5#5?33#3267 0%C+LM#4T* 9I4fHA8*#r{D`@E 53#"#.5463!#f=OEH{0 A=OS#2.#"3#3267#".5#57546) -53#"&5332>531]%H=8w`Z_`AO$YiL; /Q7 JwEw0V`/S5Ok#'##"&5332653>53$G32jZ]^aW &2<{ w1W`gQB' L JwE;33>32&#"b0  -I#"&2.#"#"&'5326?33>?>  YN$ .;^tL,"ALZF4+G(I!Q)8)&37!5!3#!!5#OٟzPDGPD '3#!!57#537!5oe{#xpmBFD:FD#7%".54>7'5!!#"3267Kaz9Cm>N1Q/`a2o.-j =e;Ld3GPA C7EPR"".54>7'5!!#"3267 Or=BpD;[o`M;a! `32654&+57!5!#"3267QjPISB`[;hn/gU@'543QQ9>!7!:@@4=J@^W8Y3 P 023#!!5#53>54&#"'>]ldv(>2/G%/'e`U*O,FFIF.K*55" ;#1#"&'532654.+#5!!32:g-/n2a`/P2|^*KwE? RRL2@ PP3bGCi;!"&'532654&+5#5!#32:^"]7=Z*#r{D\" D=NPU"2#33>">54&K<^6^kXH J+L@G"2cJ_VI#0J\^jDS33N&A3#3###535#535)NH`H H`HHa&)'?!a&)'_7&I'_gaB&1/ a&1O U&QOaB&3/a&3OU&SOj~&&m.&FHS&.*&=&47'&T^Z&:O&ZdZ.!52#"&54632#"&546#"&53326537<{_Z]^aWYGGJwEw1W`gQOD/!52#"&54632#"&546#'##"&5332657H \4abYwYEDGGG*']f_d^Z "5>73#"&546323"&54632#"&533265389i 2:;(<{_Z]^aWYG" 21}JwEw1W`gQOg "6>73#"&546323"&54632#'##"&5332659i 2:;(oH \4abYwYEG" 21}AG*']f_d^Z#*=.'53>73"&546323"&54632#"&5332653@ ,0<88>1- <{_Z]^aWY0/ && /0JwEw1W`gQOq*>.'53>73"&546323"&54632#'##"&533265 ,0<88>1- oH \4abYwYE0/ && /0AG*']f_d^Z "5#.'52#"&54632#"&546#"&5332653D8;:1 5<{_Z]^aWY"G 12 JwEw1W`gQOg "6#.'52#"&54632#"&546#'##"&533265 8;:1 5H \4abYwYEg"G 12 G*']f_d^3"~#-!52#"&54632#"&546'!#3 .'37VU[Q QGG3*- ;.D7B!52#"&54632#"&5462#'##"&546?54&#"'>326=7Cb^@#MDI`~[:5*L!#`NdM7+DZDGGV^L,*MRPW C4B83-*KN0~!!52#"&546'!#3 .'3זVU[Q QGGw3*- ;.E+6!52#"&5462#'##"&546?54&#"'>326=הb^@#MDI`~[:5*L!#`NdM7+DZEGGwV^L,*MRPW C4B83-*KN05W&0.-&=(".54>32.#"32675#535#533#yKXu">54&?b8*_xZG_N9gEG~SSa&3EU&SE (1>73#&54632#'!#2654&#"3'.'0j .6; 1=0/A]RN\> ZTFD..?2872. 8;. ">I#5>732#"&546"32654&2#'##"&546?54&#"'>326= 8@?0/@?01<<1  b^@#MDI`~[:5*L!#`NdM7+DZ %$ 5713882271V^L,*MRPW C4B83-*KN05&x.-&xZ=&x+7'&x~&&d.&F?~&&>.&FQ&*W7&JCa&*17&J1&.&E&.&=&47'&TU=&47'&T/W_&7]&Wa_&77T&WZ&:O&Z[Z&:nO&Z53#&83#"&X #!&9#S&Y&L )>54&''>54&#"'>32'qW&=5#L(_v7F>;`-+9yB9fA?4";%cժ^54&''>54&#"'>32-(C%X_$92,M%.^17X5/+,?h~"mU3;  B/6".1@!ItZNZn_ZGFR}C]]xhY\.7U*7C67.'##"&546323.=3>#"&'%26=4&#"%2654&#" SPdyyd>OX$a2=AZh'UEBYGGG8.'8 dS: 43.! 35>.;-4J9]^dkq_`j,':e+".5467.=3326=3'2654&#"MN|IOF:7ZINOIZ8;DSF}S_XY_^WX 9lMRccEXXDXXDXXFbcQMl9NWMMTTMMW2"*".5467.=3326=3'2654&#"(Go@D>00X=AA=X103232654&#"7KloHHpkKryzppyysGGo\\on\[o7'D)5!52#"&54632#"&546#".5463232654&#"7sGo@sIo?kKRQLLRRJDGGQA}YA{Y_oo__ll=)55!>3232673#".#"#".54>3232654&#")1+2.20,2.KloHHpkKryzppyysGG5=4>Wo\\on\[o7'D'35!>3232673#".#"#".5463232654&#")1+2.20,2.msGo@sIo?kKRQLLRRJGG5=4>A}YA{Y_oo__ll=&4,7'&T=+!52#"&546#".54>3232654&#"ז^KloHHpkKryzppyysGGwo\\on\[o7'E)!52#"&546#".5463232654&#"הsGo@sIo?kKRQLLRRJEGGw?A}YA{Y_oo__ll6W&>^&^Bs3673632#"&'72654&#"$*X $AADA/A a6a A34H$,X$,U"#.!6754#"#33>32632#"&'72654&#"t$*xYDXG \3`b $AADA.@ a6d^I*)]h F27A#+X$,z&367#5?33#632#"&'72654&#"$*LM#4 $AADA.A a6=*#r{D F27A#+X$,"&'532653&  *XHG#1kKU7!-8"&546323.=33>32#"''2654&#"!2654#"$p}yd>OXP?dyp8d>IKBYGGILGUBI .! :"";".}@=Iq_dfq_`jjdbgek7"!,82#"&'##5467##"&54632>"32654&!"32654&q|yd>OXQ?dyp8dLGVAH3IKBYGGH".! 9#"<".}A327"&/!$ $+/T((U;2,C!WWOn%%Ys667 L   N K_({l])sX"70 &"'#7.54>3273.'3267#",2)KCU-4BqHMCP  $,CA&| sVc|: I  N`3^  3#5333#!aWWZ8LG7GP !!#5##5!733#7CZeFF.SEpVO..O+3";"&'&'.'532654.'.54632.#"3267hRO: [/C<954J(oZ1U%"J'69=33H&k_  3)* /LQF P+$ (8,DJF#(9+KP%,(H '".'.+5!5!3267 81 !#F4,':DBn LA,(H2#>54&#"'>gv^hZYh>D"X!#ffYK1BnF4?H "2#5>54#"'>gj$RFXYa{"N!#\"fY-^U!bnFyBT*35#5332#2654&+2654&+3#aRR̆FB-I*s\DS[v_JMcNOb?S &F8aj;:;3J<8EVN_ 533!33##"&=326=! PZsYQQ<{_Z]^aWbNNfJwEwdgW`gQf`Wa!##7#!733#3#337#3#Ah A 1E8kAw8"AcKK..ONM70&+/273#3267#"'#7.54>"37&4&'7$KCR7=< *3O*)P74,ICS18;kF?Ip5 w,)/"qN5 M!uRX~DHQH*CFW0B"&'532>5#5333#$$-RRZQQfL2-6NBNgb #4632#"&"&'53265#53533#N8&  *KKXKKHG#1KGGKU= #223733267#"&=467##".54>"32>=4.kIrG   CKpP_EE`bllcX]$$^7/\/#LKRg$.8\oo[N6_??`57u""/23733267#".=467##"&546"326754&?P F $6 Q@ay{nHFGISED"0#I;%C IA>0"0Iq__k[^fi _2####53#32654&&*A$iZWWfkWPTef9L- ''LWNECF; "##5#53533>32.#"+~XKKH R8# 8X ?GGb,@QPC6##'#53'33737#,f~Ze;EbCDaFMJNNߑ&33733##"&'5326?#533>?#^C?_C9TYN$ .9t[>GLZF4+G"GQ)89(IQ"&"&533>323267>54&#"a_@#NCI`~[;4*L!#_OeL6,C[ V^mL,*MRPW C4B83-*KN07Y"*"&546323733267#"&'#'26=4&#"dxyd>OF &2 P1UEBYGGG .!E^@ $."0I]^dkq_`j0"*2#"&'##4&#"5>323>"32654&Tdxyd>OF &2 P1UEBYGGG".!E@#/#/I]^dkq_`jU0 +2.#"3>32#"&'##4"32654% P?dyzc?P?UBAXHGI 8";".. Dqbgfjjd!"2#"&'532654&#"'>Gj32#"&''>7&54>"32654&9)L@ &X/HQ5Q*0Q C &ArY!C (J)5"" I 4%%(D62?+ :@hc|:!'.$ 7%2".=467##"&546323.=3326726=4&#"8"9#O>dyyd>OX 'UEBYGGGIA?3 !..! 3;%C /]^dkq_`j7u -"&546323.=432.#"#'#'26=4&#"dxyd>Oy% G P1UEBYGGG .! 3OI H"0I]^dkq_`j3"2#"&'53267!54>"!.Gk;AtM7P)*O3PY5dEC>I"D~XY{>M_[5Im3267MtA;kGDd5oYP3O*)P5>C?I">zZX~D3273267#"&''2>5hui TD3O*)P7^j *< (A"ry/: ? ubADM^Z<," B8FH&=I"J;I+"(#"3267#"&54>75.54632.#"3cIR<8U!V>sn!6 -7s[:S(!!E/ySF;H\1(MYC(3 ;1DJFL,&!"!"8273267#"&'#"&'532654+532654&#"'6Lfg *< (A%4' 6!ov:^"]7KLM*ES6"QA45 4),K,Jhehd/0,%H!0"."&'53265#53533#&  *KKXKKHG#1KGGKU6u-:2.#"#"'5326=4>5##"&546323.=4"326=4&4$ u{vKOwEO6phuug5UCJIFQJLI st"Q*QFQ()4HkcciWan_7"L7"2.#"32675#53#".54>Cn= G ML$3s1^;Go?Hy"$LagG:z_c|:%"&546733>?3'2654&'4?&^f" f^"?4G52\3 U 667;\*4HIBA"0<2.#"#"&5467'.'&5>323>?>32654&   y$ ?44?""  *=   =,"E1B+3==4+D.C&T)+V "+-Q 47##"&5332653#Z4acWxZCXX(#)*]g]e^U 432.#"3>32#4#"#Uz$ Y4bbWxZCXqI ^(#)*]gWe^U+2.#"3>32#"&'532654#"#4$ Y4bby# xZCXI ^(#)*]g? Ie^q  2#"&546##5#5353KXKKX^GGR6t$ #57'5PPPP4s444u.#"#>32332673#"'# 39/ X 28/Xr;E<:FT3#"&54>3233#354&#"*=7/' Xhh{#);.0 yHq  U=".533267,E'W%(& (IAA00C Uo"&'532654&+57!#3!f;^ !b:M`o[;XXqAwPYMTK=2@omGm=QR!"&533265332653#'##"'#[ZWmNCWnQ>XG U0~&\ ^g][U(d^I*)Z.,QR$467##"'##"&533265332653#U0~&\5[ZWmNCWnQ>XX3 *)Z.,^g][U(d^UV",2#"&'532654#"#4#"#33>323>[Zy# mNCWnQ>XG U0~&]"]h? IZVYd^I*)Z.," 2#4#"#"&'5326533>W`bWxYD$<$%  G \"]hWd^AI C%;`I*)U" 3267#".54#"#33>32 '#<$xYDXG \3`bH;%C IAd^I*)]hU#33.53#UlSmP00 6 347'" 7,"$25!!3#!!5#".546"32654&0^>` P1Go@qEWKRQLL"A7III6!A}YJl__oo__l8"'2#"'##"&54>"326=332654&kMb]l" m]bKpy<12.T2-2<|"NbjZZjaOIrRTJ8>DTRr6!#5.5467533>54&'PwB|VOxBSS\TU[SZTUY FvQy EwQz g[[h hZZf H"&'732>53#'#N" *G+XH S Q-Q6b,@H"&'732>53#'#N" *G+XH S Q-Q6b,@#".=467##"&'732>533267m!9#S8" *G+X (IA\3 ,@Q-Q6;%C U"2.#"#33>O# )H+XH R"Q-Q6b,@U" 2.#"3267#".533>O# )H+$( !,E'H R"Q-Q600C IAab,@RH"2.#"#4>0 &##W(H" K ,0{BH"2#4&#"'>h0H(W##& 0"HBj0, K U332#'#2654&+UVh$9 f~>E4>QM/?#-.&0U3373+7#32654&UXf 9$hV~>4E$>0LR1%/,39"7%#"'3267#".=32654.'.54632.#"tb-#$( !,E' [/C<954J(oZ1U%"J'69=33H&NP00C IA+$ (8,DJF#(92.#"#"&'532654>& $<$%  $= C%;bAI C%;BH%"&'53265#534>32.#"3#)%  KK$=#& KK$< C%;@GBH C%;GAI"".54&#"5>323267#=$  #!8! &IA1(C D=3;%C ("&546;4>32.#"3#'26=#"!@ODM2$=#& KK'>- ,(B47CVBH C%;HBIH%,Y""5>323#5#534&a+ 4*H+LM#4/C HA*#r{D61/S267#".5#5?33#* 4*G,LM#4/C HA*#r{D1/ `75353!533##'##"&=3265! EYXKKH \4abYwYEGGG*']fD>c[? ".5467#5332654.'53#-Go@630HKRQL"7 j =qNJl'IEuVOddP3\D EIUvQ"2#"&53326=4&#"5>/C%otvmXCHHC&%"GByyu}0aKM_7% K#.'##1^rr^<6235 "%3>73#.'##.'##3c  `d[J  _`\  KZg)NN*-,X37.#PX.!#.'##>32.#"^tm_XN$ .81)H!Q)bLZF3,G#537Xd;'!".=!5!5!!3267#:" p# 'IAI:DBn;%C '">7#5!5!3>32+72654&#"  pS)Y=5AJ[a- 2; :DBnQN>*7D%2,/'2".54632>54&+57!5!&''27.#".Y:XN;o5o[;DpB &9$!&nDa9.X-/&>?26D%$  TK=J@5aI5(6)"&I4# $ 2#>54#"'>gj$RFXYa{"N!#\fY-^U!knFyB2.#"#.5465[#!M#{bXXES$jByFn=!U^-Yf "&'73254&'34\#!N"{aYXFR$j ByGmp V^-Yf7""&54>32.#"3267,|y'E[4)L@2G%#E1,CAr[' I ?tu< N=&4+U!332#254&+2654&+U9[5BFFD;328 975.546";#"32654xr!6 .7tcSE*S>\U"[C)4  91DIJK-%HZ2(fh7Q+2.#".#"32675#53#".54>32546 / G ML$3s1^;Go?HyK5*6I0LagG:z_c|: ^AEU( 33!53#5!UX#XX '"&54632"&546;33#'26=#"n32.#"#26=4&#"O>dyyd>O#9"' XUEBYGGG 3 !..! 34BH C%;/]^dkq_`j 23##5#535>54#"'>gj#NAllX[[Q_{"N!#\fY-^U!PII~nFyB2.#"3##5#535.5465[#!M#{_Q[[Xll@O#jByFn~IIP!U^-Yf7'*"&546323.=3!!!'#'26=4&#"!dxyd>OX#2 P1UEBYGGG9 .! 3BnDH"0I]^dkq_`j72?"&'532654&+57!#'##"&546323.=3!26=4&#";^ !b:M`o[;G P?dxyd>OXDpBAw&UEBYGGGPYMTK=2H"0.! 3@5aIGm=/]^dkq_`j7)69C>7#'##"&546323.=3!3>32+%26=4&#"!2654&#"  P?dxyd>OXS)Y=5AJ[aMUEBYGGG9L- 2; H"0.! 3BnQN>*7D%2]^dkq_`jp,/$83".5#5?3!>32.#"#72654.'.5467#3*G,LM#4 *1U%"J'69<43H&tbC<954J( /%HA.*#r{F#(9+NFH $ (8, 1/-6#"&'5326=#".5#5?3354>32.#"267#$<$%  1*G,LM#4$=#& ) /IAI C%;LHA8*#r{>BH C%;1/46A".5#5?33#3267&54>32.#">32#"&'%2654&#"*G,LM#4-1M$BqH)L@$U7HQ5Q*=d!*aL)5"*(F!( HA8*#r{D1/)6Pc|: I %%D62?')1I$ "< 5"&'532654#"####5754632.#"33>32}" &wYDXX^^\R 5*,+X4bbFG#1c^,)h[ E ;?#I*)]gRKUUi,"&'#332654.'.54632.#"s:a+XXdgVF954J(oZ1U%"J'69=33H&  z5+$ (8,DJF#(9+NPU4 33!!%!UX#yBnD; #'#3737#'#3737cKQSIbFBTFPFEcKQSIbFBTFPFPPU!#5##!#5##UXXXX闗闗""232653#547##"&=4&#"5>0#;#xZCXXZ4ac  &";2ځe^(#)*]g#E"/2326533267#".=47##"&=4&#"5>0#;#xZCX $6 Z4ac  &";2ځe^;%C IAH(#)*]g#E7]3>32#54#"#3p:"?@8N;,99a8>M=87]432.#"3>32#54#"#7P  :"?@8N;,9T,"98>M=8v 4632#"&"&'5326533  %  9/+t-37g2&#"#33>  )=9/5g1<0B;' a"&'7326=3#'#3  (=9/60;1;& a7"&=467##"&'7326=33267 16$  (=9 );7 &0;1$( 7aa 3373+7#32654&79UZBc3D8R](#-a*+.1j a!.'##33>?33>?3#  >A`;0  >><0;aC/ 0A5405La33>?3#"&'5326?=K  G>:2 % a+0.6*+  [   ? 2#52654#1<<1 8821827? "&5463"31<<1 8?822727 654&#"'>32#Py%&5<%EH:BA$H'4D2+E4#5.54632.#"AB:HE&<5&%$T4E+2D4'H'57콽hu'YO7'5COY'uh"  73#'mm'TT"뼼 " #'37mm'TT 뼼(^z#.'#5>7 -1>86</, 75 /. 47(^z.'53>73 ,0<88>1- ^54 00 45(x#xP(^Q!5QGG(^x(^E(4x<7#xP<(mQ(4E(4xH'37YYY苋H'3Y( ( K#53<(^_ #"&'33267_QHJK62.'97p-52+0""t-82,6, 5(^>3232673#".#"(9/5028/51^;E:F(^ #5>73#5>73 .62  ` .622`:9 47 :9 U"7"&''73267(Ab *<8FD.<," B(;Ja$7"&546733>?3'2654&'!)=B  B=)"  + 834#7 +, (' 7p#3p99!g$#"&'532654&'.54632.#"K@%4<,'#339H;81H'227x/0 0 '')- * '' La '373#'#xAYYAyA_`@Þzz 2.#"#5.546";2P@99D6E' H+BھU(6=NT!#5!nBPNT!#5353BBPNT!#533BFB(PNT!5#533BBPNT)533TBBnNT33!NBBNT33##NBBB(9z(W*5 [(v'373OXYNކ(v73#'(1OXY܄(#'57#k1kE>?(#57'5(E>?Ek18 "&54632'2654&#"1<<1/A@0 822881382(E( 53#.753#.(`  27-`126. 74 9: "U 9:((CH(3##(Ι55(#5#555(3533(55(3#5353Ι55(0!53!53B8M9Хcc(0!53!B8Хc(K '57!!#O1;D54&#"5632.#6$+% %JK63.'97QH>)'53g3<]]hiDC Pf 8 "&5463"381<<1 88227270i3#535!HH0d<73@!0WF78 59d|$S4(N&!#5##dBB0nnCO#"'#"&53326533265>0661<6708=::##::B "B "X90W8/dG<dFHH lmD f!5!@@1"3NP&q0Ih@%5!GGo'7%=:#L@08 2#52654#51<<1 8821827N&!53353BBڪnnC!5!!5!z ȓ^CO4632632#4#"#4#">0661<6708;9##::B "B ";f 77''7f*<;+<<+;<*;+<<+;<*;;*<@@b463"#52654.?E:D;#/2$-#03 %,02`^)E8^xH^ [B Oi^Ci<&P!#5!#BBnn0"24x]3#5#]Bx32732673J$%-$ 39/!"-!  28_ =;;E 98:FHA !-2#"&546#".#"#>3232672#"&5468/5139/50m:F;EX]\+".#"#>3232673".#"#>3232673G2.31+2.20,2.31+2.205=4>5=4>Q% 7355#}d}}d\>>\\>>]5#7# ;\\;x__xe '/7?GKOW_gow53#7535#53"5432"54323"5432"5432!"5432"5432!"543253!53%"5432!"5432"5432!"5432"5432!"5432"54323"5432"54325353!533353fgqy6_5>y|qg566fz.6ff66ff6 .F3VF.p6gg666NP#5>7.'5I5885 ., D 3   2S?&d^H >32#.#""&54632QHJK63.'9e)'d!_ 77''7_*31/12*31/1K*21/13*21/1P.'5>73E6886 ., D 3   2P#5>7.'5I5885 .,( D 3   2H%#5>7.'5>73#.'#5995 ., D 3   3( D 3   2@BB@ B@S?&q[j37''7'7#F >F3883F>&F"B 0*@@*0 B"@+2632#"'#"&54632654&#"4&#"326S891<<1871<<  5  ''7228((8227iT_#7#73_"3{"3xCxC "&'332673*F#k)F3_]6>7=dXK 1q,!5!,Xq3,"_#".#"#>323267 ]G9gdg9<93 ]H8fdh9<9C=!D<!~O 2#.#"#>*F#j)F3O_]6>7=dX%!55!}}za>\\>hdF$2#'##"&54?54&#"'>326=V#!+s)" +#-")FH!A   r hrF2#3267#"&546"34&/5K#$4@:0!zF5+J864<!"l! 2#"&546#5 ( QhzF #"&5463232654&#"z=4/?<41>"$%""%%!6::65995&--&&++hoB#'##"&=3326=o! )+,(5(B%)3(&ohgF"&54632.#"3267%0>@1"  GE h59;5RPho""&546323.=3#'#'26=4&#"-66-$ (  $&( h8778 V&%(+-&&+lq3>32#54#"#33 (,-'6)((C%)4)%o0^lF!2#54#"#54#"#533>323>g)('1#'2$(  '9 )F%)3$#v3(&o$l`F2&#"#533>D  *(! %F '!r'hRt27#"&=#5?33#0+"#FF'}.2|l}B '33>?3 [*4  3+\l~ " " ~lyB '373#'#S->>,SX-BB-hPPhnVVa333#aZNU`333#UXJ<T !##!#5#II|.U9 !##5!#5#zLLzO'@573'0j_@ `573_;0 bU-R"&=33267(-N)"S@:!"7"&Hp!"&Wo& B/(^573(0j_^ ^573'"&546323"&54632&jU}^  &&EBH& '*B ''-B '.B B&4rB  '>B 0&d|BY&tCg~&aT'a3!!a{O t353%!.'  Q 2e2Q*- ;a*&?a-=#".54>3232654&#"5!KloHHpkKryzppyysT.fo\\on\[oNN(*.ak0` 13#.'Q] 3*- ;a*2a3<4 5!5!5!PXDyQQQQQQ=4ay3!#!aY6{a*5&355!!*'26;&?&G(J'KPQ !96>3"+!5.54>753'>54.'ycG J~^Y_~I I`YZg*/gWg-*f[Z4Sa.5bM/DD.Lc60bQ3Z5X8;\57\99X4F=Z!5.=3332>=3n\.S7X7S.\Vb(>(bVᔓ'353.54>323!5>54.#"%F-LijL,E&>J 2gQPg1 I>OUvJbYXbKvUOH,\kBLxEExLBk[-H7&.l6&>l7Y&lB-&pBU&rBR6&tBIO&C7Y")"&546323733267#"&'#'26=4&#"`zwg8T F %1 S*SECVIG .%I^@ $.$.I_gdjkeU./4>32#"&'2654.+532654&#"U=h@fnS;Lb=iB6C FR)C&SI9AI3#@(#@Vg/c\HT  b[D`1.MF5E#DK=><HDZ.533>53[aU@W$YPB?^ߑgW-&2".5467.54>32.#"'2654&'#Gp?_V,(VD2J3 &K,*/11YVDo>JQPDLYV :jG`v"$5&$E- E##"'/[W*Ul4HaJJb _SM^-")"&54675.54632.#";#"3267 tkC.+4h^8[ I+<3I0EEBEE?4MR YC<: ;0DKI)#.%D1.++N 76'>54.'.54>?"+5!D %&Vb)1X8m/C"xt:G GHN? B7M39p{IC5NjQ("2&34,E U"4#"#33>32sUCXG W3\aGd^I*)]h7 "&54>32!.#"267!(|u0kV}w1k2HMLGNJG εz\˹y]R6"&533267OHX*  & UK{1#GU '"&/.'##'.#"5>323267% O \^;0 !M^    %B@$^(C,,FMVAU\$3326533267#"&'##"&'#UXzRDX %1 J8':d^^@ $.(*<)333>53[aU@W$WNB?^ߑiS766>54.'.54675&54>7+5!#";#"D #(Ie4W?t)C(D"tEuGJYloFS$$PA57 ?2Q>Qcp/=& C>@:3AC+F+/6  ",,C#7'"Tw"5###5!#3267&oWmgi# ^,DD#E F!"4632#"&'#2654&#"Feu>mF(LHOQMKU{AH-/gakfƢ76"">54&'.54632.#"D#8Ac8r(J8!WHEC+C'F" ;#'2>54'#"(mFWz&*7lO6D M#bbH e{8D%gHHyII4W4VcqUl".5#5!#3267L.N05+/7 HC9DD:.B O".5332654&'3CQ)X53HOX #AY6/9M(rxFn<;oJ7 5.546753>54'@OxBVPwB|V\QRZTEwQz FvQy . h\\i i[J$'.#"5>3233267#"./w '!o^d!%  '2%Wu'.E+'Gk-/D2(O5.533>54&'3JLq>W+K.VU]WEwL3tcKR IejEuFCxBg};A+".54673326=332654&'3#"&'#>U,4%Z%6<12.T2-2<1*Z(1,U>7FE DzP_++bacJ8>Dca_1.]PzD3;;36&tleO&l7'&TBO&BA&BSak".'53267#3>73 :0V@)c=VqIZZ+i&MG[U@/ mywUJ*7"&54>32#"&'>322654&#"2654&#"MpG}PW\6S,,P  [>>h?Fs+2/*2(FH PURE3232654&'.546323#.#"GQ  12'/7Y\|CS[nzF@;yS X?++0n 3Q-)M> 4'"Q-*B  8^:?VI i^go,&%;#E33>32&#"b)(  &&F 'BE&l7D/".5467#5!##"&'#'26=332654&'!>U,r.r,U>7FE22.T2-2<g< DzP>e(II(e>PzD3;;3IJ8>Dca?e((e?acU@ "&'53267'#33>?3=c#T3DV B]]  j( =4F6(L  =!5.54>32'2654&#"P]z32.#";WKm?e,$%O7ww{{ {VILs`aq73"'"&'532654&'.54632.#"!? 33-&5A]2r(J8!WH?CGKZD # " 8iXI iT8Q6@>AIa 3!!!#5#aVOπa #!!!#5#XVOߑ+"&546?!7>54&#"'>32!32678G %:  #>A 6C   <92 &H>72 `&I0,"&54675>54#"'>32%3267KB ed+'<=G^t  # E89%L7#?+ E ;.I1I:")E !>54''7&''7&#"'>32q '(4H4W*'bFLH$!pCC+D$F EJ>54&''7.''7.'7"&+ 54&#"'>3233267#"&5467`"5# %NU X"1(  KR %ew?TEEowC ^%ew?XAEpvDF!"%1>54&'.=4632#"&'#2654&#"Ok@eu>mF(L*SE>0HOQMK 2WEىNt@/9 $. %CcVgeƎ7"HO=7""a*U0=Y(a*3333#467###azyYJ66k"!l7RU33#467#'UhcTH R34!"&5#534632#"&'#3#2654&#"FBBeu>mF(LˑHOQMKTFiU{AA)FT/gakfƢ;J=Y&(+;&Jk+a&*Ea&*l "'532>=4&+##5!#321+-:FYٿemf N 0.@:8{OO]XFdaa&x=f"!!3267#".54>32.j \}y1X*NqtFPqAc)%#TvtN N\on\M38(*.7&.lB/#,"&'532>7>7!32+#%2654&+B" "T;iz3~  &?]X`d0 K/I'(o6\9^s{J4C^0XACE8a33!332+!%2654&+aZ2[:iz3~\X`c0.6\9^sMMACE8 #32#54&+##5dkZ7DZP\Y:7zPaj&xb&E p (#"&'33267#"&'5326733>73W_bQR/4.5 AXD1.8Ac _KMLL6%'4#G_/Y 0=w   aDy !##5#3!3y\ZeYz~&a4 3!!32#'2654&+ajkv.v `NVg_O5[;boMACE8aT'a!#ZPD3#5!#3>7!B[VV7$A2 O/9 M >OQ:6)a*T 333 ### dVdgVgo[ZZjj&)#"&'532654&+532654&#"'>32\MZ^:i-/o1`cthfajiP@CY*+*{Mtx#IU  XG^vRHBD>KG<6:"=+db333#4>7##bTdTvdx!RDO6%TFb !#"&'33267333#4>7##HW_bQR/4.5mTdTvdKMLL6%'4x!RDO6%TFaj !##33jlZZ;fjZc!###"&'532>7>7!cZ  &?3# #{J4C^0K1I$&oa*2a-=4ay3!#!aY6{a*5=Y( !9 p%#"&'5326733>73 AXD1.8Ac _G_/Y 0=w   3'#5.54>753>54.'t8FvYY[wD9sP_(gpYtc(^QXHwI0_M0nn1O^.GwJX0S8XikV9S/F=aD %#5!3!3VZeYOzPY!##"&5332673YZ:e>dnZ=D;^;Z%]X:9Za )3!3!3ZZ[zzaD%#5!3!3!3VZ[ZOzz 3#5!32#'2654&+qdt1z WRZ]f{O6\9^sMACE8a 3332#!3%2654&+aZnds1ykZ3VRY\d6\9^s6LBCE7aO 3332#'254&+aZdv4 `\{6\9^sME8;"'>32#"&'53267!5!.2R!%)j8sJLt>V**V0Z K\fu\N Onza"#".'##33>3232654&#"GhfJZZJbgIksukjttlfo\Ti_M[o#.546;#";8i&C*ZlU[X\h(8 .P?ag6(U;DBH .!F9!+467>73>32#"&2654&#"9jvA|6#XVAL1E,hj>nIoAP=F,H0 #?B Mkq(kYx;aTfR_'21\I+U!+324&+324&+326yFDBF28 9&#.('U##XJ2F1 3#5!#3>73NUT+EEN"5#2_|ED07"J###33dRd`R!"(2#"&'532654+532654&#"'6\m6/ 6!ov:^"]77#3lRmS 00<43 @U- #"&'332673#4>7#3W_bQR/4.5lRmSKMLL6%'4 00<43 @U 3##3`fXX!###"&'53267!Y .L: 6ACϩ^BU#467####3OJOuV.Q-/QU( !53#5!##XXX7'"TU#!#XX3U0"U7"H###5!ǯW2J^6<]UFf #5!3!33fVEXXL21J326753#5#"&=3g2R+XX-W=R[XU\!VHU, !3333,)XX22UGy3#5!3333+NX4XX122 32+#5#32654&nkft;GBMKKYJګ(00#U 3332#!3%2654&+UXhdbn)Xw9HB>LLKYG'11#U 2+34&+326LfoXE>8I32.CF,N\OLEP(KsAEy L T[HRL G 8zd_|;U "#"&'##33>3232654&#" mf}XX |eEj~=5#?/MQդ.-07&JEr7&Jl *"&'532654#"##53533#3>32! $wYDYLLXZ4bbDH#0d^]AZZAX&)*]ggLUU&x7"".54>32.#"!!32676JsBDuI)OCMPPN-FD 9z`d|9 H NPHYV L3"XNN&l`O!32+##"'53267#32654&|iedt} .K9 6Blo:IEMKKYΩ^Aګ(00#U@32+5##335#32654&xkebtZZnp;HDLKKYګ(00# U&xU-&E (#"&'3326733>73#"&'5326?W_bQR/4.5^tm_YN$ .9KMLL6%'4(I!Q)0LZF4+GUG !#3!3##XXV2~&.'33>7.'33673#.'7];] .3a ] 094_[3M(4l0T8w94;##.'#.'33>?.'33>7ZVR<vP*N3W(8  J X!46J4;Ch_352i1QBV o3#53533#32#'2654&+[^jx2z ^T\eTLffL|6\9_rLBCD8 E3#32+#535#32654&թgtuu揑;MGlIKYIln(00#a}%".'##33>32.#"!!3267mIZZ Sh8d'$"O1k~R|w/T)(V Ug^OLxqN~ NU"$".'##33>32.#"!!32672FoBXX DlC)L?LN ,A? 4oVRg0 H MPJ L  #####3'.*_FRF]*+#' 6JJX/1Xa;7 #'##5##3'&'SZc5O7aZ4 ;.2JI=$a #######333'.x)bDQE`ZZ~+#$ 6MMM.X<#Z`:U#'##5##7##3373'.'#Yd5O4dZeVV_4  ;9?G2  #'.##"#7>7'5!BL,B\B72Z25A`B+KAB.Q8/4S4/8P/BQx #'.##5"#7>7'5!86<"?X? +&Q(+@W?!<63'?)"&'"(?(3Ha"%#'.##"#767##3!'5!BL+CYC"61[17A^FZZ[B.P823R3.QBQUK#&#'.##5"#7>7##3!'5! 6<"?X? +&Q&, @W?  VV3'>)!'&"( ߬3H*UU2.#"32>32.#"#".5467>54&+532654&#"'>7.'53> 5X\aNZd78#1,>9!,2 52 4<-EM exbYxdfbiiP@=^*,%V5?@<*3U9*! ^CIV  VG^o U#;#T2&#"32632.#"#".54>7>54&+532654&#"'>7.'53>y 2;E8/ 7"oz43".5]%!& ,"h8;B"RFHXMNF:ES?;'H(:!5@4*39& D419  4(CX J #6!7#)1/*H%-&&F ; 0,ZcO=#".54>32%"!.267!KloHHpkKpr  oprq-qfo\\on\[rryy7'" #".54632'"!.267!'sGo@sIo?JJ8MHMJL A}YA{rQOOQgZVVZ"#3>?>32.g"%g^ P'90! @F71N&'X1HW(J2&#"#33>?>  {u\ F!/D(*z*?H"4:&!^&")=6#".54>3232654&#"%33>73#"&'5326?EdgBBhdEemncbnmf)]wk]ZM$ .9fo\\on\[o+'H"Q(2LZF4+G7G"&T^I=2"&'.5467>32'>32>54&'#"&'%[}@%$X|CB|X%a$$ \]]\$$[__;bb`bbassss7\L-#"&'.5467>324&'#"&'>32>\pc7^vqd!_t[;>@:;@2 ?: t0usrQddSSf$f= !X4632;#".#"#654.54632".54>32.#"32675332654&#"'>32#"'P=5&IR38XD4@i;!<;f]|=>tP&K"4RZfe7Z8 ef[R3"K&Pt>={]hGG56>9{ "'9_omYCCYmo_>>:Nq U2;#".#"#54625654.54"&54632.#"32675332654&#"'>32#"&'&IR29XC4@NC"4X6"DK?=*9"dr{k8QPq?955k"(8# &C je^ll^ej C(""(~s 4#'##'##'5.'33>7.'33673#.'([Z'7];] .3a ] 094sT2222T_[3M(4l0T8w94; 1#'##'##'5#.'#.'33>?.'33>7M([Z'DZVR<vP*N3W(8  J X!46JT2222T4;Ch_352i1QBV<f2.#"3267#5".54>8i)%"S2vv-Z|FSM_jl]7"2.#"3267#5"&54>9(PDSQRP ,XCu" I bii` 慎d|93-t'''7'77'7;Z"d!Y32#/h28c2#4&#"+532>59569 )7ESao>32#.#">32#.#"!>32#.#">32#.#"!>32#.#">32#.#"!>32#.#">32#.#";<:?/-$&(<<:?/,$&0;<:?/-$&<<:?/,$&O;=9@.-$';<:?/-$&x<<:?/,$&;<:?/-$&5=@2"#5=?3"#5=?3"#4>@2!#4>@2!#5=@2!#5=@2!#4>@2!#&4#,5>G#'>7'.''7>7.'%.'5.'7'>#>73A R (?: 02+`#9)f/P2q+ -i/-j.1q,20(?99(g/(+`h (9 R41q, -j.+`#9)f.1?9 0 R (9 (9 R(g/),`":: 0(?W-i/2q+aD %"&'3326737#4>7##3333bPQ/4-6SXsMSudTcbHKM6%'4KMALKw!MDPUG ""&'3326737#4>7#333IbPQ/4-6SXH=RlSl\?^LL6%'4KM=2/? K243#32+#535#3254&Zl~5JJbf`ZN5\:bo"NZD8 3#32+#535#32654&okhtLL掐Cw(00#a1'+#32267'7>54+12993G0CWZċ$27A_9dK+] nB*S8+U0","&'##33>32'"327'7>54&S>QXH N@cy.)74?!8RCAX:7=G /6I#0Tu"K)T \^ckK)OR8eea]!#!5ZH]ʓU##35X, !3###53ZJJPN:NB #3##5#535XLLJDDag "#!!>32#"&'532654&7Z;DxN.?>"Z]:PmF P {xwzU  #>32#"&'532654&#"#":b<&9:"?CTY"XJay8N `ficDu 3#5### 33K_V2VgdVjjo[ZZG 3#5###33ݯbU0Rd`R&$:4&'.'532654&+532654&#"'>32#"'53263\(/o1`cthfajiP@CY*+*{Mtx\MZ^}}*31t4RHBD>KG<6:"=+dMIU  XGXs:&,48!$"84&'&'532654+532654&#"'632#"'5326]6"]732#"&'532654&#"#!#!`7CwN/>>"Y]ul9YZkG P |vxyyU B#>32#"&'532654&#"#!#!"FqB5[8$64 9324&#">#7 $&'.N#? hJ : 2tgj(-0S43S2[/-...$06KAlP O Zk L 1KVm31m_RabOGw& {7]"2>2.#"3267.54632327#"&'#".546">54&!) $P?F9%ZCAU9'  #%D2%Om8v "#$ ("Gne9Z3 W:\VS_DaF J|K;51KK43;=$Y,4&'.54>32.#"3267#"##"'5326y"~~OnqT$!Q0s{{/T((U;)31t8l]*L N8&,487$"*4&'.54>32.#"3267##"'5326*"PbBqH)L@ML,C@*)31t8wc|: I ag N8&,48 D! 5##5!#3BZVyQQG #3#5##5ƮOVPIzI6>#533>73*X\po\(YX)&635#535333#baO_KO3##5#5333>7цX\nkCC.N!!Q/Dh5# #3332_d_ݺV6tVF5#'#3733(c¹dcN DG5!#5!#!33 dZYyQQzG5!#5!#!33lBXQII{1PD3#5##"&533267YVVZ:e>dnZ=D;^;%]X:9ZJF_3#5#5#"&=332675OWP-W=R[Xg2R+2!VH\PY##5"&53353>7Y["F&=otZ@I='H6# Z[9: \J#5#5#"&=353>75X8 ; RXX_;8yrWGYaj3>32#4&#"#aZ:l7dnZ=D;^;Z]X:9UM#*2!3267#"&'#"&54673;>"!4&j;yyDm.+nP 7FK6au]Zg3{R?5" 1P|wqf!#*2!3267#"&'.54673;>"!4&Fc5WO:L*)P7s@EH3 Ad9>J@!"!4.j;yyDm.'aCW 7FK6au&XYe6{R?5" 1P|wLl;Gf!%,.'.54673;>32!3267#"!4&bZj@EH3 YFc5WO:L*#G,V$>J@o67 1sn?3*H{N.>?(TeArJ"9ZZ6k|nE P zxPg2?U %#"&'532654&#"#373=d;$75!ax9L `gh^7wD%3#7###"&'532>7>7!caHgNZ  &?3# #P{J4C^0K1I$&oGH%3#7###"'53267!\@Y=X /L9 6ACJϩ^Ca%#"&'53265!#3!3DwN/=>#\_ZZoYFnD O vy .U (%#"&'5326=!#3!53(5[8$559=XX"Yav6 N YgaD%3#7#!#3!3bIgNYZZoYPM.UG33!533#7#5!UX#X\@Z>X2PDY!##35#"&5332673YWVS:e>dnZ=D;^;Z ]X:9ZJF##35#"&=332675OVM-W=R[Xg2R+!VH\aD!##3333#7#4>7#S߄aHhOYrEBFICBUG%#7#467####33@Z>OJOuuJV.Q-/Q2(*.~ #"&'33267'!#3 .'3W_bQR/4.5yVU[Q QKMLL6%'4X3*- ;. )4#"&'332672#'##"&546?54&#"'>326=W_bQR/4.5cb^@#MDI`~[:5*L!#`NdM7+DZKMLL6%'4V^L,*MRPW C4B83-*KN0~&&l.&Fl5.-"a #"&'33267!!!!!!W_bQR/4.5Uq#5KMLL6%'4XON7 %,#"&'332672!3267#".54>"!.W_bQR/4.5cEc5YP3O*)P7LuA;kF?I>KMLL6%'4{YX~DHQHDU;"5>32#".=!.267!LCq0,kOqNJij; zbbzU&XR\po[[o"y}vKm;3";&l;3&lT&l&lS&&l!&l##"&'532654&+57!5:g-/n2a`qiCGdc^xRJCC>IP#"&'532654&+57!5DpBAwQ;^ !b:M`o[;@5aIGm=PYMTK=JbW&U-&b&liU-&l(=&4le7'&Tl =7'" =&le7'& l ;&l&l pW&&^B p&l$&^l p&&^[PY&l0J&l aD !3#5#UUZPUG #3#5#OWPIza&lU&l_:"&'532=##53!!3#3 0YJJN9I4F:NBPN@E:"&'532=#5#535!#3#3 0VLLIM9I4FDJD@E:a"&'532=# #333 02_d_ݻN9I4F6tVڑ@E:"&'532=#'#3733 0-c¹dcI9I4F΅@EF3333## ##=d`f`ם)O6R3'3733##'#7#8dcdc6D> !"&54>;3'3#"Cw3vcmZdf_WUg^9b<.6MD>C<7I>+'%326=3#"&'#"&54>;3"32>=940:Yba=MP?ns:~fEZ_a/795:7Qj,&%,hfA`6.>K163"/%326=3#".'#"&546323.=3"326754&,A83Yd^2>% UKcxw^=KWFBCFPA>@J@Ab_+(8.! 2jeee\^dj#.+2326=3#"&'.+532654&#"'> nt[GT[3;95Xh^[pjba]abK<:W&-)vcMIW  VJF=;@aa_kKAII<6:"<+&"(232=3#"'.+532654&#"'>Xl3,1=19iWGGE8AL;7&E&)R"ID19  :4-5¡1+H%-&&F#Db#23#5#54&+532654&#"'>qx`JY_ZV[vkceghO@=](-)zcMIV  XGzD>II<5;#<+&G !$23#5#54&+532654&#"'>Zn6-5 RVPJMJ;FS@8(L$ *_!JD17  5)J//I%,&'F)%32=3#".5##"&'532>7>7!Q56lXi[9Y3  '>3# "u@8{aa&VGI5C]0K0I'(o %32=3#"&5##"'53267!28eX]f /L9 6A;?=_d^Ca%326=3#".=!#3!3o5665Xh[9Y2ZZ[Y@9;@aa&WG.UD!5332=3#"&=!#X38eW\gX@=`c6= !#".54>32.#"32>5#lPTw;r-"&f46mTM[(r+Yrn\MUI9eA7M"3#"&54632.#"3265#P{:]( T/ggYdXM"~Eo`\qSC p#326=3#".5#58758Yk[9[5QD@9;@aa&VGQ?#326=3#"&5#54825W[iH@=CMfdedhwbX=k-Ve[O[}'@ 977>7!3< 0Y  &?3# #N9I4F{J4C^0K1I$&o@E:;!"&'532=###"&'53267!3 0X .L: 6ACN9I4Fϩ^B,@E#"&'532>7>7!3# ##B# "_f_  '> K0I'(o6tI5C]0"'53267373#'#'#5 6Acdc…r /LC]a"33273#+2654&+abs3_f!lNRHfdX_[2eLX$cBOEDU ")33>3273#'#"&'#2>54&#"UH NAVscd sY>Q1?GJRCAI#0iimo/4/6]<\n\^ckP.5463!!!!!!##3#"&C*#5tiFhlU[X8 .P?agONO(t ;DBH="")2"&'##7.546;>32!3267.#"35#"ug }f:$hVK/Ec5YP3O*)P5>C?It=5E rm#?/MQ: $7>7!>32/>>"Y]ul9Z  &?3" "T7Cw P |vxy{J4C^0K/I'(okG ,"&'532654&#"###"'53267!>32=&9:"?CTY"X} .K9 6B ":bN `ficΩ^Aay8a&>32#"&'532654&#"#!#3!37CwN/>>"Y]ul9ZZZnZkG P |vxyM.U J&"&'532654&#"#5##3353>32r&9:"?CTY"XXXX":bN `ficay8aD 5#!#!3yYZV{UGi %#5#!#!iWPXJ32aD5#4&#"#3>323iY=D;^;ZZ:l7dmV:9]XUGh5#4#"#33>323OxZCXXY4bbOWe^(#)*]g4~3!3#!#"&'532^ZlZZK@! <=/6NwIHI"&'53253!53#5!#CXXXDIZeK\D{&!33 ##!3#5!#3>7!B0Z;fDlZ[VV7$A2 O/9 M9ZjI >OQ:6)F#3533##5#3#5!#3>73X`fXNUT+EEN"5#_|ED0@ '3>7.53>7!3#5!>7#!5l)DKUW&'PW6U7 z&tg&&[1 XK\_XG,0XF?&367&=3>7!3#5!675#35M%~M#'JQuPKw[(W1 5=/6 @L08:l7@%#5###"&'532>7>7!WT  &?3# #M{J4C^0K1I$&oF8%#5###"&'53267!8QS .L: 6ACFϩ^B.E >32.#"7#"&54632kLHl"ED5:8eRX_GFKC*E 4632#"&%#"&'73267kMHl"ED6:8O%dSY^FFKCG> 4632#"&! !""""N6 4632#"&4632#"&N$$$$$$$$&&&&&&&& Q%#"&'732654&''>54&#"'>3232675#53.#"#".'7326323###"'[CV?G+d>&0) D9/%<"M1NSC &$ 2IG'%  #9/B%+ %8*ohQ.FDj{#'%:F,%$ EN;N* GD1;7,,"RJG" x;%#"&'732654&''>54&#"'>3232675#5!###"'[CV?G+d>&0) D9/%<"M1NSC &$ 2IhQ.FDj{#'%:F,%$ EN;N* GG"x?%#"&'732654&''>54&#"'>3232675#5!#####"'[CV?G+d>&0) D9/%<"M1NSC &$ 2IhQQ.FDj{#'%:F,%$ EN;N* GG'"n<%".5467>;5!5!##"632.'.5463232654&:/@>1]n .7JbSK?"!9h-;E+ FM1 L3( VGG ! KAAK  F9 ),!$&3n'!##".'732654&''>54&'!3n O$9-N09g_,GCO.)5-(#JGnG'0Z. U;2D"=rNwC%1)EF01-  n<!!>32'>54&#"#".'732654&''>54&'! O  >"AS#H )#'*-N09g_,GCO.)5-(#JGnG'0Z.  OE.\/)G(,'%&2D"=rNwC%1)EF01- cnF7'7.#"'>325!5!!>7&546323267#"&5467.'#5/*=*9)"J,(@>%ck"C *&- 4.1 /"B)LT/.5:PAC6-J90GG  ,!"+!)!"F O>(E  nD%467>54&#"'67.#".54>32675!5!#3267#"&=C ,#3.M 1(++R:6:`81I%,I!0D*ʤ(B=:2 /"C)KU0I0-+?=.#.$&EK142[]55C- GG JE)M ,$"E NH8y&"H8&#3H8n/#'>7>=#'>54./.'&=#5!8^%Q ("n?5!H 01W'7O8'3<0J #).:&>$A2(G*-#21"$DGH8&$3'y&"&#&$&% n4!632'>54&#"#5#".54632.#"3267!5! 0EAR#H '#68QG2/S2nX91:@=(,E '2SM.h2) T)/.H$&M9P^I4/53*#GAnD#5#"&'.54632>54&'#5!267!32675#".54632.#"Q#S*lb"% A#:F>Fc+N%@(/K+`O6%077'-k}#-";/GG%8R`TZL'F.IQE,,+)Bn#".546;5#5!##7&"BhQ'*<GG']n-##5#"&5467.547#5!3267!632&"#"]gQL7M`(. 4]J8,4M+"#19'٦QC4F*G*'+#!%(F(n0<%".5467>;5!5!##"632#"&'73254&74632#"&f:.A>1]o .7Jbbcb;=9wKt1k L4( VGG ! KADVXF1DAN"$s !!n"##5#"&54675!23#"3267!5!hPH2Mc%$ :G:&2G/'٥VG3HF1/+++#GnH%2>54&#".54675!5!##"&5467.54632.#"632&"#"(M~K.)"5:!QJ759˴3C2]Rab*/ZI4 #X,"# ^>F?lE/>$ 3?S40D FGGJ TH:nX4S@-A+<@EA  FF(&n"##"'#".'732654&'7!5!5!Q)$,)C(5`X*G.d: )=-'rP-.>=w"(,N@nGGn7L%".5467>;5!5!##5#"'.'.5463232654&727##"632:/@93`hQ0 SK?"!9h-;E+ FM164 .7*#= L3( VGGAK  F9 ),!$.  !  n+>32232675!5!##+#"&'732654&#"AC^ 'gQ(0 >M"U3E)YB7>9). D? GG 27jr]P4+.( n ##"3267#".54>;5!5!70@7,G*6L*,c5Em>Do?'&A0?J4bFAY.GXn$##"&54>;5!5!2654&'#"XPXBnBqDo>XG^:9#J/!_'qIFW)qgC[.G=C0M7'FDPn0%".5467>;5!5!##"632#"&'73254&f:/@>1]oPn .7Jbbcb;=9wKt1 L3( VGG ! KACWXF1DAN##An%0!".54>75!5!##"&54>32'>54&#"3NuBHvEA'@E @:!A11?sf7F##,7gIF_1iGG<):J(*"<%%<"FW%!-)"+n####"'.=#5!27>=#zQB/],O4  !''*:;F6GG ,+'.Hn##".5467>;5!5!Qm==JG6.O/RDpH'H +1[94(PV0#8GG.x-#5#"&'>54&#".546323267#5!)QP7Uw_M/% QALI5)K0PJ:34J R 'ٴa]G6233 F =:89#H8J\$#( GGn4.'#".5467>;5!5!##"3:7&54632& *UG+!`;1:GOR *+- !:"F/O9,?_GG. 5E#1 # 3#*vx<##5#"&5467.54632'>54&#"632&"#"3267#53vhQI:M_/;R?5G(= (1# 299,5J>'ٖQC2G832'>54&#"#5#"&'.=#5!!3267:#AR#H (#59Q@+(@O ()@'SM.h2) T)/.IG9GG70"In(##5#".54632.#"67!5!3267'IgQM88Y2yb(' 2oI6C0!)'٥*K3V\E'G43.x1235#5!##5##".546;54&'&#".546%:Ƀ;gQ*$! +/9KYLxD>tGG%!',i/2G=@;5dn#5##".546;5#5!+3Q*$"~d'%!',GGSn##5#"&'>54&'#53267#ShQN3Zo><{=12JnGٳyd /,0G11*46ln!%.'.54632>54&'#5!#6;hP "%'$ h,L1-w*61dX$"<'-GG#:7L54on!-%.'.54632>54&'#5!#4632#"&6;hP "%'$ h,L1-w! !*61dX$"<'-GG#:7L54o7""!!n+5!##&#"'67.#".54>3263235hQ2.M 0(++R:6:`81J$,I!:W'GGc?=.#.$&EK142[]55C8}@n!0?5!##"&'#".54>32>7532654&#"326?67.#"4D+O66P'I-/M.-P36O':#m!=#*?7%&56%&6!<#*?'GGw]J5U0+$.!+T=8T/+$'"r!#7>@455 >5541!$8wn&7;n###5#".54632.#"3267!5!;hPK56T1s^ '% 0>F?-4K};'٥*K3V\I6230-#G(x,47"&54632>54&#".54632.'##5!z#/$'2@;/98^]GC/R3E=-T@3S%QY#VA8C#FS:3@+U@Eu!'_,,H]j'GGQn##5#"&'.=#5#3267QhQJ2(AO22 nGٿI@GG/ )0n&3##"&'.'.54632>54&'#5!2675#KQ:'*]!)o=68cL "% '@" 4'  4n161dX$";0GG .*> r"n7%>54&#".5467.5467>;5!5!##"632A$.:AEIGF6[c;)"h /6EW)DAE $ &+90:G55G|M&;4"( VGG  *C&:LVg%53Qg%&@ 4632#"&! !""!!*n*%#".'732654.'.547>;#"UF.NJ)E&J2$-/+,1.;?]f' ,&-6BO"RI#ER$%)0"$8/>G  ($<;n##5!QY''GGN$.546323###53.#"TKJ!  #"&54632.#"3267?9KU\OKpV">6pI342* O?9P8[5'SX' & #"&54673267C)KUYX:42 /" O?8SB,!"vB&#"'3267#"&547.54673267C) ,% 0"C)OQYX:4-$ /"  ? K94"/JB% Ey #"&'73267EkMHl"GC597_dSY^FDIC%g.#"#".'732632(&  #9/B%+ %8+gH4;7,,"VMgg.#"'632)2""'46O?gO[& I3{kTg.#"'>327.#"'632-+*2-F&, '46O?g(% E +&49E3{k*y&"(&#j&$W&%M 632.#"DeO"92eD  ,3V3)PKg n#3Q'nG& PZb g4632#"&%#"&'73267#"&'732654&''>54&#"'>32326?>32#"&'732654&#"#1kLHl"ED5:9[CV?G+d>&0) D9/%<"M1NS%% #F6&F-_P.D 1.#9+!(9/ 0&eSY_FFKCFDj{#'%:F,%$ EN;(@ /80%O?Q`#55647"),%.[h#53^GGcl!!cIMGi'3rlGNi#7qAGi* #"&'73267!!*dD@cD:/22HgO@DK4./4@ J "&'73267Ad#M==M"d'B""B' "&'73267"&'73267@d #M==M"g>A`#,O22O+#`&B!!B'v BB  n&An&Bn&n&1O@Pn&S@An&/n&Sn& ^onX7'7.#"'>325!5!!>7&546323267#"'3267#"&547&5467.'#5/*=*9)"J,(@>%ck"C *&- 7+,% /"B) ,% /"B)OQ6./5:PAC6-J90GG  ,!"+!( ?  ? K9%B":  :nW2675!5!#3267#"'3267#"&547&5467>54&#"'67.#".54>,I!0D*ʤ(B6;,% /"C) ,% /"B)OQ6EI,#3.M 1(++R:6:`81I- GG JE#7?  ? K9%A*D -+?=.#.$&EK142[]55C.v->#23267#"&5467>54&#"'67.#".54>32>h8&80%#5 ;C8> %! F #GA.-J+':";:3*6 > ?2(= 0.% ")J52'GJ)*4.vJ"'3267#"&547.5467&#"'67.#".54>32>323267 %$5 32'2654&#":[33Z:;[43[=5D@54D@y3[:;Y33[;:Z2GJ89FJ98Fx*2'>54&/7>54&#".54>HR#RGy(Ajn)#'110?xL9'IQ2`<#51Dh2 ! :>05#Tx$%&'#"&54632>54&#"'>32@_O#0$&+>A4#<&%S+7Y4F9-W!-L#O9;<E*UAFl,pZx3>32.'#"&54632>54&'#'2>54&#"ZP5PY;0,?:;A#< "0$-"0-52!&<@0&"D#RI=J(B*3ME"*2N# 0$#0G&# >x+9%#".54>7.5467>54'732654.'QF+G+,.6A! U7878T "A3/+ "("( ! 7J!<(2A/6M:/ 4J78K208K41E5 *&"/"!/"T%x'.'#".5467327&54632&$+RA&T#FJ +(, -3CKNF2V@.m11]4FG !1% ^`#gxA.'#".5467.54632.#"632.#"3:7.54632"  B[.$)iP?-l'#,  2>F2 )+-2CA=.M-6?,@CFG% E*,.. #1% !U%&1L%#".'732654.#".54632dN=aI3P 1UB=)1$:4c\E<:U/uh2wʙmRF3X6!FR:5BFzHx!".54>?32673\:/*>.!B03^4$.p$L;>J257C"3+""J)Gx*4>32'>54&/.732654&#"G)L4MZGA  $@7(P0&)0/''2-J+]JAS  t<#51.P&*36*)55@i.".54>32'2654&#")D(%D,+B''B+#++#%*-$?)&?&%>('@%B)! )+!)i 4632#"&i""""N##%%+y&" %&%&& J x&3 x&49n$632'>54.#"#".54675#5!*)tf"H:6,)*$$29'gY0j4)!X+&7S&*! GGn".:F##"'#".'732654&'7!5!5!4632#"&'4632#"&4632#"&Q'#+)C(5`X*G.d: )=-h]'J),::p}%(G@VGGDSn%#5#"&'>54&'#5!+'.'3267QN3Zo><{S   1,=1$5'ٳyd /,0GGE $411 Bn7!##".546;5#5!#!R87&"BhxG)<GGn$7!#"'#".'732654&'735!5!#!Rv'#+)C(5`X*G.d: )=-hGCJ),::p}%(G@VGG?x2#>54&#"'>_jYJPSLG-,< RxeRIbGG756F Pn/3".547>;5!5!##">32#"&'732654&!!f@-<#73doPn!$8T[ad`;;7zO>6,+ D,/FGG  A9:KJ@3:;GIn"*7!5#".54632.#">7!5!#!327'R?M88Y2yb(' 2  oIhq-C0 -Gr*L3V[E GG242 ^R'^ 7 #/"&54632'2654&#""&54632!"&546322>?12??2 !! ^;22::22;1 !! \F#."&'#"&54632>32%27.#"2654&#"s(67$2A?4%76(2?2.(($"%% +**\,-?50C)!,@45!3E"!((('D!$TlH>7#.'553,"12",2 #44# rv| #4632#"&4632#"&74632#"&.`H2 ''7'77''7'7755#47!75#45 45#56!65#46a55#57!75#55!55#57!75#55A>3232>3232>32#.#"#".#"#".#"6+ *)$$), 4;5(&,#&,+&"-#C?)********2:90??2:cDC #/4673#.%#654'34673#.%#654'32002200220022002 :0@>2:90??2: :0@>2:90??2:3hkkK %4673#.%#654'3k2002)2002 :0@>2:90??2:T!.'##'33>?33>?3#  +-B)!  ++)  !)C/ ys# " yy ! #sT!3>?3#'.'##'.'##73 +-B)!  ++)  !)C/ ys# "yy #s5)5%#"&54>32#"&'>32"3254&"32654&*WE|)LkBNO^J+W$ `*\a3MQ d,J"UG5B69+H+üTl73NUT+EEN"5#ZbWqE>v,a7" #".5463232654&#"^P3M,]Q3M,'+*((+*' 6{f6yfn``nn]]7A"".54>32.#"3267}cPR`=h $X*{spm?_($W :z_c|: I feag NT#!5TXs6JU, 3!####UXX22C 32+#5#32654&֔nkft;GBDMKKYJ(00# E3#32+#535#32654&թgtuu揑;MGIKYI(00#1'3#"&5467332654&#".^]Zz~~zY\^LQSJNNOO^nn^MdcNP^a73'=6q 73'73#=6qW==Յ!!!H!C23#'3#65Q66M!!MG13267#"'#"&'73267KA5AA6@JA4-'<\F<;#";#"&))73 #>OBG E>\W#.#"#"&'732>54.54632~&%*4`K" EHSG,E15P|3[E(K,R8i[QX 8!!8HI+53267>54&'&'+&'9?pz& "-#"I$"3.+ G0&$OI;#"&'.54>7>7"#-" &zp?9'&*&0G +.3"$$O8.'.5467>;#"*&'9?pz& "-#"!$"3., G 0&8'67>54'.+5325"#-" &zp?9'&+&0 G ,.3"$)3267>54&'.54632.#"+}z& )+2M@<\/B;(! %1)+9?p8'!$86!7I?O!26"2)"3/+ ,T8(%#"#"&'732654&'.5467>;Tz& (,2M@=[/B;(! $2)+9?p '"$76!7I?O!26" 2)"3/, 3xD!".54632#"&'732654&#"32>=4&#"3267#"&54632wMnVSkMZfH8:OA% qhGzI.Nc6ap 'DO:;EiV*xR!".5467>54&#".5463232>54&'.54>32'>54&#"v_y:3*. (, :AH=>D)1""TLOV"' %F;AA@; ,($1"!:9z4[8;L)3%") E(82>/B0M/ 4$9&*;$3%38#>+B46(F +& 4 V97Z4*xG!".5467>54&#".5463232654&#"3267#"&54632u^y:3*. (, :AH=>D)1"!RI|93#-4  OSH>Sk4[8;L)3%") E(82>/B0M/ 4$9&tMe 'CO:;Ew*#xFP%4&'#".5467>54&#".546323267.54632'>.#"Ut;3*. (, :AH=>D)1"#M>mo U\#G;+J.BF#H!<>)*!$( {4[8;L)3%") E(82>/C/M/ 4$9&p]3A'6B,k\FA'W))?:'$NRWh7--]<<8x6B!"&547.54>32.#"632"&#"327&54632"&546326co9,9'TC <.@7)1*3   %A'C?( 1Pg!! kSO5M8'D*F0""9G4);= #"-"!!":x1=32654#7#".5467.54632.#"3267'4632#"&01"R DG@B)I-1-9Dn6/LTN< :  j((-D;7-:C5.HU<[aI;9<5 \ !!)x+7E%#".54>7054&'.54632.#"'4632#"&"32654&'@e:@i=:`8(@8;E@) OSo!!!!YO^*C&@R<87>54'.+"&'.54>7>7;24632#"&4632#"&$-! 'F?9'&*/"#-" &G*3! '&+$$$$$$$$ &0  +.3"$:&0 ,.3"$&&&&&&&&'* "&'732672.#"'>Kt!JI4;<OoWKt!JH5:<Oo$a_IHNEgYa_JGNDhX'8 7>54&'7.5467'ALDHc][eBLEGb^Zf?<7LE$tLKsp?;7LD$tKKsE #"&'73267EkMHl"GC597odSY^FDIC- %'7'77 D?D@ؾ0+0+/E7".'73267332>7#"&'-A%O!+J ) O%A-,77&b[DEEXXEEC[b&&..&g wVg' w wl 33#'#73'&' M[A?[9 桡 )5##!#3#3%35#ԩP]|MHG32",7>3267#"&'#".=!.#"5>32>324&#"7>32672x|Z=3(M!#c2>QT6A^3WOJ1M&(M2>#[MIa[3*?UK^H9=:CPW"A4B)-).BFFDE;3+E+DY32.FQ]VX"E#"D.>xV+S#"Al_^m H Q|EE V+324&+32~\d\M>d^v$ 2+5#535#3#3254&}88H9dHGHd^V )!#3#3AHG!"("'732654&+53254&#"5>32gT(C,;?SE:HS<7]"^:vo!6 /6m %F&&-%HZ2)O[C(5  91CJV7#2#"&546X+2 "&'532653t!$'XR G -xOKV33>?3#'VY gg+"% 35'7373V#AY`$:&732'2654&#"=Ws89sW};sTVOOUUQPE}RS{E}S|EGn__ll__n#"&'532654&#"'632.D"$D"Q^XW"A!Fe=s H m^^m E#Q{F> %"&54>32"32654&)A}YA{Y_oo__llsGo@tHp?KRQLLRRJHE74>32'>54#"#.:z_c|: I ag NHn?ArH(M@ML+DAZ&%"&547'7>32'"654&27%1!8'>$e@$8&?#c>&A2l_J1osJ7(:-!tI:';-" $4RJ"4QL4|"!-4"&=!.#"5>32>32#"&'%2654&#"267! etdSM4N()M5DifBFm?r?d^@OFGPNHI>1EJ8X`+S:9IH.HH.<<.H955<<559; ? 2#4&#"#4>>}]OUUQ]9s }_ll_S{E;? #".533265?;sTWs8]PUVO S|EE}R_nn_V 2+##32654&ne*aU3Y:+HE=TM-N1G-5/.7.546;#5##35#"1ijXXfDG;>< #<-JO(--1!"&54>7'3353'35#"ji1fXXGD@<>PI.;$ G1--(!##5!#YHHQ%#"&5332653/aKjmY@ADXG U0~&\333>73YkkY6126< $333>733>73#.'#RC  VWT  DQ]T  W+X27."PX..:. /:' 35!5!!' p#:DBnD!#"&'532654&+57!5fWov:^"]754&#"'>323267ejFXCI:9&J!#\4be?OJR328'? %2<&6S"% "<(4A,O66O+"54*F10F,F)57n70K,,K0&MHV##YI1  33#.' S]z  zT).'V!###!WY0V5V##5".=3332=3V*dXWVd*YWZe2\99[23!###"'53267>7!Y<8   :5uj&WG H,BqN'##3.'3b87;5  5R6# #5##!#3#3%35#E=:&//?!2+2654&+32654&#VZ.+,02@/;&1.2;?$"#-,$") &535323#+572654&+32654&# 2VZ'QAVK<,6;L]>02@-/;2- ';?-$"#-,$")?+324&+32si|>\SL?lnkhUP?B !!#3#3BȽ//'* 535#535#5!'ɽ///T(3#"&54632.#"32675# %M1lr~r'F>!S]Q^+f weew / ]PM`? #5##3353;;;; #57'53¨7777 V  v'"'532653  (:B-)[>;?#'#3>?3E/;;)}D')?D33?;0?##333#467# 6WV:x?"_T>?###33.=3D6D7d?!E?333#5467#?7D6FbT!?( #"&5463232654&#"mimijmhmKNOIINOKdyzccyxdQ]]QQ\\&*".5467.=3326=3'2654&#"2Q/3.&$;/330:$'-5cQ=::>=99"A.1< ;*44)55)44*; ;1EL/4./22/.4?h 2+##32654&[S#QE5;v;.CA:B<#>&.(/))? 2#'###32654&VS:#Ep\;}BE947<=44 .)(*$b##5!#;[}//;#"&5332653Y\VZ:==>9:B[WG59>0T#.'#3673>7T{326=@=* 2,0>RU;&"2>3A2#,:f48..114( ' "-.5Og&"&=33>323267'>54&#"?=) 2,/?RU;&"1=3A2$,;39./104(  ( "-/$g*"&546323733267#"&'#'26=4&#"ANO@)3 .    4 7-+:...SSSU*&,88 ;AD9:?!g'283267#"'#"&=3&#"5>32>324&#"7>327:'!2A Q$F@Ib 12 \(;2/@;")71=/%'Nb' ( 34P@ q / D%/0-/"I)3\7l!3>32#"&'##3"32654p4)AOOA)4 )9c8+*:/.x$ SSST)ȭ;=;?@;z$Y""&546323.=3#'#'26=4&#"ANO@)3:/4 7-+:...SSSU 8+,88 ;AD9:?$Mg2#3267#"&546"3.CL:4!44$J]UD)/(gPB79 . TPPZ,0+)2!Kg2#"&=3.#"5>3267K]UECM94"34#)+)0gTQOZPA 6: / )31+$g'#"3267#"&54675.54632.#"30b5'%79(JH.$K;&6-O6-+7 . 6($"$)- * .!g%"'73254&+53254&#"5632C7,O6-&/d6'$=+LMH.$H* -+6 07(%$"),$Yg*2373#"'5326=467##"&546"326=4&G&.MOM14M-3#ICLKL,0/.502g1+EF10* 1WOM[-@;?3#'#3ppCEy'99   m v7+g!2#54#"#54#"#33>323>;;8G3,8H4)9. 8Q<g8?L63L<8B,67^g%"&'532654#"#33>32  N:-9. :!@@.+M;9B,8>-3$fg #"&5463232654&#"fXJFZWKFZ15512550PWWPPWWP9BB9:@@g2#"&'532654#"'>zEU^E*+43e+7gLUYT / @"32654&@OOA(49/3 6,+9/..gSTRU  ,-78 ;@F67B 27#"&=#5?33# ")=22"eeD();DI)3Za#'##"&=3326=Z. <"?@:N:,a+8=M<8;|J+53254&+5!|=CTB=\/:;4H6)4*75)a!"&=3326=3326=3#'##"'#;:8G3+9G5(:/8R=8>M73M=8,6Ja 33>?3=JJ=B23 >e#3267#"&'#"'53267.54632) 4%#6 '"*>55>/}*+)* !B!+99+"E7k-74>32#"&'72654&+532654&#"7(D)BH6&1@W@#,_-6:%6/%*/!))4>;8+2;6>B .*0/(.$%$+) <a7533>53}};?7)9:4zF@9X>me4|[!-"&5467.54>32.#"'2654&'FZ>8'8,1= 1)0:8,H)144,298M@:G %#* *653A+:-,;91/8$75.546753'5>54'N^ZR8M_\P8<45s:7qVJIWVIIV>78>?7o  }b"?'.#"5>32733267#"&/ N    Hu=A &&8u*#|) $m3vZ 2#"&546#U  *9ZxB772&#"#33>  )=9/51<0B;'3Z%#'##"&=3326=Z. <"?@:N:,+8=M<8J 33>?3=JJ=`B237kk-4>32#"&'72654&+532654&#"7(D)BH6&1@W@#,_-6:%6/%*/!))4>;8+2;6>B .*0/(.$%$+) "<533>53}};?7)9:4zF@9X?le4|.b4632#"'#72654#".RBLTXD8'^/3gY15RQYQMW +U=;}wa$h5.546753'5>54'N^ZR8M_\P8<45s:7qVJIWVIIV>78>?7o  }"7'.#"5>32733267#"&/ N    Hu=A &&8u*#|) $mQo"'.%3267#"&'#"&5332653>32'.#"YP3O*)P7Bc#ZGjmXAAD;XF0Ec5\>C?I[_M.4)6m[W=BH7Y8%325332673#"'3>324#"3260zc?P? 32) X 21* P?dy[UBAXHG . Dx;E9h:F ";".bgcij7.;"&546323.=.#"#>325332673#"'#'#'26=4&#"dxyd>O 32) X 21* G P1UEBYGGG .! 3S;E;k:FH"0I]^dkq_`j0&#"#>325#5754632.#"3#32673#"'#m 32) ^^\R 5*,+ 21*X;E)h[ E ;?#D:F"-6@7#>7533>323>32>73#5"&'#5.'#4#"%4#"U3/-G U0~&]4[Z20/W=AW@>XUnFA;~CUmNC>@/: I*)Z.,]hM/<  YMG ,ZV y""+2>73#5.'#5#>7533>"54W`b21+W.`^)X35*G \&NGAE"]hP7; 8: I*)JMI%I0".<&#"#>3233>32#"&'#32673#"&'#2>54&#"U 32) H NAcyyd>Q 21* X1?GJRCAw;EHI#0/4K:FI/6]<\n\^ck",7&#"#>32533>32.#"32673#"'#U 32) H R8# )H+ 21* X;Eb,@Q-Q6!:FH"*7.#"#>3254>32.#"32673#"'#R 32) (H00 &## 21*W;ENBH K ,0|:F"8"&'532654.'.#"#>7&54632.#"26738Q [/C<94 D3%$oZ1U%"J'69325#5?33#32673#"&'3267*G,32) LM#421*/%* 4 HAj;E*#r{D:F81/C "$32673#"&'!!57&#"#>327!5  21*)p#x32)+nB:F D:;E DU0+"&'##4632&#"3632'2654&#"T4V Fu{vKOwEO6phuttDIHGQJL ()G!st"Q*PG - QJkcciWam`7ga 353#5##p999aB*!#".5467'57!5"32654&O=sGo@vhbRJKRQLL@M/oOu:mNkxC~JYPO]]OPY77.5#5?33#373>32#4#"#3267#"&'$ZLM#4XME&bbWxZCX* 4&=Kq:)8*#r{DH=]gWe^ZC N$##575#535'53KPPKKPP?G44G446"&=#53533#3267OHMMXpp*  & UKbGGe1#G f"#*23##"&'###53533>"!.267!TZu 86x`>QXKKH N1JE#F>DGC"qrF/4FI#0JLMGRghRZ` J"&=#5353!533#'26=!(jmGGYXGG/aHD<@m[BFFD8Z4GH7DD=B S$/".545#53>7#53!.'53#3#%326545!-Go@-6 0%$=&=#J6,KRQL =qNF-GIEK85PEI;UFvOddPU:0%1#"&'532=#"&'##33>32"326549< 0!&?P?XP?dy%"UBAXHGA@EI4F . D";".Km#bgcijd7:>$1"&546323.=33#"&'532=#'#'26=4&#"dxyd>OX,9< 0$ P1UEBYGGG .! 3Q@EI4FH"0I]^dkq_`j:&"&'532=##5754632.#"3#3| 05^^\R 5*,+,9I4F)h[ E ;?#Du@E7"/<23733#"&'532=##"'5326=467##"&546"326=4&5U F9< 0u{vKOwEO6phuusCJIFQJL"()Gc@EI4w>st"Q*QF - QJkcciWan_U:"3>?33#"&'532=#'#3 gٲ:9< 0=WWk4 @EI4F5(:3#"&'532=#,9< 05P@EI4FU:"0"&'532=#4#"#4#"#33>323>323  04mNCWnQ>XG U0~&]4[Z,9I4FYZVYd^I*)Z.,]h@EU:E"""&'532=#4#"#33>323 04xYDXG \3`b,9I4FWd^I*)]h@EU0"%3#"&'532=#"&'##33>32"32>54&9< 0!&>QXH NAcy%"RCAX1?GA@EI4F /4I#0Kn#\^ck6]<\n(:""2.#"3#"&'532=#33>O# )H+,9< 05H R"Q-Q6։@EI4Fb,@3:":2.#"#"&'532=#"&'532654.'.5461U%"J'69=33H&9< 0(8Q [/C<954J(o"F#(9+&:a@EI4DP+$ (8,DJ.2.#"3#"&'532=##"&'532654>& 9< 0$<$%  $= C%;&@EI4{~AI C%;BH:"&'532=#33>733a 0^rr^9I4F6126<.@E:3#"&'532=#'#37,9< 0 c¹dɊ@EI4F':!#"&'532=!5!5#9< 0 Bn@EI4F:D.:n!+6"&=#'##"&546?54&#"'>323326726=.1@#MDI`~[:5*L!#`4b^,  #DZOdM7=J?L,*MRPW C4BV^܇#EKN083-*7:"(5"&5463237332673267#"&=.'#'26=4&#"dxyd>OF  #1@& P1UEBYGGG .!E^#E=J7%'"0I]^dkq_`j7u0=".=467##"&546323.=432.#"326726=4&#"/6 O>dyyd>Oy%  $UEBYGGGIA?3 !..! 3OI A;%C /]^dkq_`j7:K"$+".54>32!32673267#"&="!.9LuA;kGEc5YP3O*  #1@+L?I> >{YX~D QHDU+:!"5"&=#"&54>75.54632.#";#"326732671@+9sn!6 -7s[:S(!!E/ySF8IR<8U!  #=J> YC(3 ;1DJFL,&H\1(#E!:"5"&=32654+532654&#"'632#"'32671@"]73233267267!j1@}^Dd5oYP3O*)P7KrCK  #?I>=JivGn?ApG   #1@B*PLNOAN":z_c|:8#E=J hdag I :(2.#"3267#"&=32654>& "8!  #1@ $= C%;H=H5#E=J%;BHO:#33267#"&=#'##"&533265,  #1@% \4abYwYE1#E=J?G*']f_d^!:("&=32654&+57!5!#"&'32671@"]7te\ov5  #=J.42)AIGSFKeA#E lg*2#"&'##54&#"5>323>"32654&ANOA(3 .   !4 7-+:...gTSRU)',88 <@C:9@$#g"&54632.#"3267FY]F2)g21,*PUYP , y:> / >g +2.#"632#"''67&546"32654&2*g3=/5#4@( ,]R,0#g , y .(!& % '>YP $f*7#"&546327.''7&'"32654&*KA-8WKGYRG"3 +UI P7016612  ( #&qIUVNDCM":-!&52,9:8%5!g%2#"'532654+532654#"'6;H$.HML+=$'6d/&-6O,7g,)#$$(7/ 6+. * ###5754632.#"3X9==;6#  9X8>7)Ia7"&'5326=#53533#  00911/+**-3$Yg*2373#"'5326=467##"&546"326=4&G&.MOM14M-3#ICLKL,0/.502g1+EF10* 1WOM[-@;323>;;O  G3,8H4)9. 8Q<g8?T,"L63L<8B,65)a$467##"'##"&=3326=3326=3#8R=";:8G3+9G5(:: 68>M73M=8.]g2#54#"#"'5326533>>@8N;,3" . <g8?M<8;) ($m,7g%3267#"&=4#"#33>32]#2N;,9. @$( );M<8B,8?7da3.=3#7F6GB 1  $fg #"&54632'"3&267#fXJFZWKFZ00 [20PWWPPWW*1/`63i##5.5467533>54'N_\Q8M_\R66<67;6;6qeVIIVVJIW>67>?6m !g0#"'3267#"&=32654&'.54632.#"K@1  +8<,'#339H;81H'227x/09();Q '')- * ''2.#"#"'5326546 3" 3 ($n;) ($;)  7"&'532=#".=#5?33#327  +22"ee7,=,'DI):lPa53533533##'##"&=3265#,:911. <"?@:N:,**+8=)%M;7va"&5467#5332654&'53#FZ#!T/15510UEXQF-@,* F4/<<0.L *,3QGQ5Oa#"&=3326=3OFIDG:S,(93DA7M+"5\g2#"&=3326=4&#"5>-5LG9+//,g(;ZFK:-.9V!-Ja #'.'##Ƅ=JJ=a33Ba #57#533#)(ba%"&=#57#53332675#0ɼ );,#)(T$( Za!7>7#57#533>32+72654&#"mc69("+0;? Z"! #)(0/%!)] 6 .a#"&'532654&+57#5,H,^O&=?&2>H;&a';+@Q 0 5.3-$-$_ "&546323.#"267#PLHTQNI/21._30.{mn{zom{RPPR\[SUw# !2#"&546#.'52#"&546}Z *7,#"T #T CCw# !"&54632>73#"&54632 `6*K7T" T#,2'"54>54.54>54#"'>32,W !3     H`"#"&=332>;3RI&5=@4DX8659>l^37#{"C?Kh^#'73"{^K?ClT3'#"{K?ChT#'73{"C?K&S'77'I"v"vSL?@AL?@&S'77Bv"v"@?LA@?LV2&#"#533>:  *(! %< '!r'l'MN32673#"'#51(&29MDd%.#"/ENRA\^#.'#5>72$rJ<^PWZ;*gh\26 // &))< 4#"5>32'>/ /75,,"%1;4.(I 6] #363232654&'7#".#"#>. #/()(0:0$7-)'-?m, 9*.7($;[8%326544#"&54&#"3"&54632! 1>=31=! 1==21>$!!1;10=91$""0;2/=:t74&#"327#"&546325>?#  -9?12?78,%!1:10f0H^&]hF'-82#3267#"'#"&54?54&#"'>326"34&326=W,3D""@)#!+n(# ,716p* &F5+K-!A  "">"V KhG'1#"'1#"54?54#"'63263232654&#"326==3B?Rp,3%)+971>"$%""%%!M&), &6:00@A 2 95&--&&++*#!nhG('##"&54?54#"'63236?3'326= $#(p,3 $)+X I,w_&), &l !A 2LEh#!pg'#"'53254&'7.54632.#"3267JC !)3@1"  GE ! ( 53;5RP hy#"&5467&'72654&#"O:61=96;& ,6$"##F"()287//6$( *" (J!)hz(7#"&546327.''7&'"3254& 4-'<50>911;37%""%H# K1994--3& y$!&K$po(2373#"'5326=467##"&546"326=4&1 l5"#6#2/444!@%!" \   :53<+(Q#& ,&hkF2.#"3275#53#"&5462 RE3[+0>FFRP;l59;5l~3>?3#'#3!M/bh/T''H[{dO0l#3((l0ldB5332(nlֹlB53373#5<7##'#s5GH5(E!Dl֤փ lqF2#54#"#533>,,'6)(  )F%)4(&olrB53.=3#'^1}%1{l֬!|֬$ xlB 532#'#7254&+Nl'/#D.>:9;@l ZUUr%GlpC2#'#532654+'-0B,;4-6-(C \W%haF$#"&'532654&'.54632.#"a4,%)##(2(& "2#"&      ld"#54632.6(,$ )"lbB #57#533bzlhF'"&54632373327#"&'#'26=4&#"-66-$    $&( h8778 &%(+-&&+h| 3>32#"&'##3"32542 $,77,$ (D'(@R 8778 0s'*(*SQpw+4632#"&'72654&+532654&#"^<+.2&",<,A&)&!!'p43+'%"'%),jy) hpF2#"&=3&#"5>32674@;0.5K#$!F855<5,J" lk##5#5754632.#"3R<(**)%  '<' )%1l_0&#"#>325.#"#>32533273#"'3273#"'#  (    (-`p,]}(zF#"'#7&5463232654&#"z=4)-6<41>"$%""%%!6:Ue.5995&--&&++p|"2#"&'##33>"32654&-67,% (! #%( 7779 X6%&(+/$%,pQ2.#"#"'53265462  $  $( (m(oB#'##"'#7&=3326=o! )1.:(5(BWn 3(&o^lC!.'##'33>?33>?3#  +-B)!  ++)  !)C/ ys# # yy #shd 1<4632#"&74632#"&2#'##"&54?54&#"'>326=5   U   V#!+s)" +#-")| ,H!A   r hz #/4632#"&74632#"&#"&5463232654&#"5   U   Z=4/?<41>"$%""%%!| 6::65995&--&&++ho +4632#"&74632#"&#'##"&=3326=5 U   O! )+,(5(| 0%)3(&oipe^ #"&'33267QHJK62.'932 4MZ,DxNA bU% (+UP H=]/.#"56323267#"&.#"56323267#"& ")"2' $(#1' ")!3' $("2'Q :$ :#v :$ 9$NP.'5>73E6886 .,N D 3   2H%#5>7.'5#.'53>735995 .,{ D 3   3( D 3   2@BB@ B@~&&.!&FcaT&'U0&GaPT&'eUP0&GlamT&'Um0&G=Y&('|x7&H'|xa&)7&IaP&)7P&INam&)7m&Iha'#"'532654&'7"+324&+3 JJ  $&5&) lV$3ua"057VPs;(Ώ7*7"&546323.=3#'##"'532654&'?26=4&#"dxyd>OXG 0!$3JJ  $&5&&UEBYGGG .! 3H& 5(&057LI]^dkq_`ja8&)78&ISa+ .'535!!!!!!!>:1 i8)$q#512 "G sGGON7q &-.'535!2!3267#".54>"!.#:1 i8)Ec5YP3O*)P7LuA;kF?I>12 "G sGGK{YX~DHQHDUa+ >73#5!!!!!!!8j 29:S)&q#5G" 21sGGON7q &->73#5!2!3267#".54>"!.8j 29:S)Ec5YP3O*)P7LuA;kF?I>G" 21sGGK{YX~DHQHDUa8&*[78"&J\aH&*L7H"&JMa&*'|r7&J&^|a&+&K=W&,7&Lla&-O&M'aP&-UP&M`a&-lR&Mla%&-|&M| aG&-UG&MqHa&.H:&N= ".>73#"&546323"&54632!57'5!t9i 2:;(TTTTG" 21}4;44g "&>73#"&546323"&54632#3K9i 2:;(EXXG" 21}ak&0xL &Px$aPk&0tUP &P5amk&0Um &POaP&1VLP&QPW&1'VP&Q'am&1pm&Qa8&1[8*&Qa*&2xbUV&Rx{a*&2kUV&RaP*&2UPV"&Ra&3!U&SaP&3UP"&S_am&3Um"&Sya8&3U8"&Sd=# 0<>73#>3232673#".#"#".54>3232654&#"F8j 29:g1+2.20,2.KloHHpkKryzppyys>" --5=4>Wo\\on\[o7'q .:>73#>3232673#".#"#".5463232654&#"8j 29:g1+2.20,2.msGo@sIo?kKRQLLRRJ>" --5=4>A}YA{Y_oo__ll= -=I"&546323"&54632>3232673#".#"#".54>3232654&#")4/50-3/51KloHHpkKryzppyys5=4>Wo\\on\[o7'R -;G"&546323"&54632>3232673#".#"#".5463232654&#"4/50-3/51|sGo@sIo?kKRQLLRRJ5=4>A}YA{Y_oo__ll=+ *.'535!#".54>3232654&#":1 i8)KloHHpkKryzppyys12 "G sGG?o\\on\[o7'q (.'535!#".5463232654&#"2:1 i8)gsGo@sIo?kKRQLLRRJ12 "G sGGA}YA{Y_oo__ll=+ *>73#5!#".54>3232654&#"@8j 19:S)KloHHpkKryzppyysG" 21sGG?o\\on\[o7'q (>73#5!#".5463232654&#"8j 29:S)jsGo@sIo?kKRQLLRRJG" 21sGGA}YA{Y_oo__lla*&5xU0&Uxa*&5U0&Ua_&7U&WaP_&7rIP"&WaP_W&7'rzIP&W'3am_&7m"&W3&83&X3P&8+3P"&X3 A>73#'"&54632#"&'532654.'.54>32.#"#" j 29:;u5#0)!`S9Q,M9/$0&5J3 A>73#'"&54632#"&'532654.'.54632.#"#" j 29:;tb8Q [/C<954J(oZ1U%"J'69=33H&j47 99NPP+$ (8,DJF#(93 H"&54632.'53>73#"&'532654.'.54>32.#"A ,0<88>1- u5#0)!`S9Q,M9/$0&5J3R H"&54632.'53>73#"&'532654.'.54632.#"A ,0<88>1- tb8Q [/C<954J(oZ1U%"J'69=33H&54 00 456NPP+$ (8,DJF#(93P&8'+3P&X' !&9S\&Y?{ P!&9@PS&Y m!&9Zmk&Y 8!&9E8&YZQ&:lKOQ&ZlZH&:OH&ZFZ8&:O8&ZUZ# 3>73#>3232673#".#"#"&5332653-8j 29:g1+2.20,2.<{_Z]^aWY>" --5=4>JwEw1W`gQOq 4>73#>3232673#".#"#'##"&5332658j 29:g1+2.20,2.UH \4abYwYE>" --5=4>EG*']f_d^Z .2#"&54632#"&546!5#"&5332653K<{_Z]^aWYGGJwEw1W`gQOR /2#"&54632#"&546!5#'##"&533265KtH \4abYwYERGGG*']f_d^X&;P&[PX&;UP&[& &<E' &\E &<xt &\x, &<l &\lh &<v &\. P&< P&\F&=&]F&=l&]l6&>&^&&?Q'&_&P&?S'P&_&m&?b'm&_/Um&MySU&Yly{ 1&\1&^i.7&FUj&Cj754632.#"7#QaP2*)/j X2-gU E 4?R;8LZv j3>32.#"3### H`P2*)/XHCfT E 3>HZ(2#"&'532654&+57.#"#4>hct?b84mX4]))a,UJVV>F:\TY:xWK1Z@?a8RKD@CA&)gQ2JwE-oP~&&n.P!&FC~&&c.5&F>~ ",>73#.'#5>73'!#3 .'3X42 441:\:KVU[Q Qn* 3_)) A""A 3*- ;., 6A>73#.'#5>732#'##"&546?54&#"'>326=X42 441:\:b^@#MDI`~[:5*L!#`NdM7+DZ* 3_)) A""A =V^L,*MRPW C4B83-*KN0~ ",.'53>73#.'#'!#3 .'33W':]:2451|VU[Q Qb3 + TA""A ))3*- ;, 6A.'53>73#.'#2#'##"&546?54&#"'>326=w3W':]:2451b^@#MDI`~[:5*L!#`NdM7+DZ3 + TA""A ))=V^L,*MRPW C4B83-*KN0~ $,62#'>54&#"56#.'#5>7'!#3 .'3.2$) C:1441:VU[Q Q "#'? )}"A )) A"q3*- ;.g$@K2#'>54&#"56#.'#5>72#'##"&546?54&#"'>326=.2$) C:1441:4b^@#MDI`~[:5*L!#`NdM7+DZg"#'? )}"A )) A"V^L,*MRPW C4B83-*KN0~%-7#".#"#>323267#&'#5>7'!#3 .'3/).*-/(.+D;03560;VU[Q Q.>/="@ !/( @"s3*- ;.s%AL#".#"#>323267#&'#5>72#'##"&546?54&#"'>326=/).*-/(.+D;03560;6b^@#MDI`~[:5*L!#`NdM7+DZs.>/="@ !/( @"V^L,*MRPW C4B83-*KN0P~&&'no.P&F&J=~ )#5>73#"&'33267'!#3 .'341W JFGG5.+&4VU[Q Q5 ,k#5>73#"&'332672#'##"&546?54&#"'>326=41W JFGG5.+&4Vb^@#MDI`~[:5*L!#`NdM7+DZB5 ,k#.'5#"&'332672#'##"&546?54&#"'>326=05 IGGF5.+&4Ub^@#MDI`~[:5*L!#`NdM7+DZL, 5 k54&#"56#"&'33267'!#3 .'3)-1$)  IGGF5.+&4VU[Q Q"#- 'I2#'>54&#"56#"&'332672#'##"&546?54&#"'>326=-1$)  IGGF5.+&4Yb^@#MDI`~[:5*L!#`NdM7+DZn"#- '323267#"&'33267'!#3 .'3/).*-/(.+IGGF5.+&4VU[Q Q.</;;FD=('|3*- ;.q#?J#".#"#>323267#"&'332672#'##"&546?54&#"'>326=/).*-/(.+IGGF5.+&4Ub^@#MDI`~[:5*L!#`NdM7+DZq.</;;FD=('V^L,*MRPW C4B83-*KN0P~&&'n.P&F&Z2aP&*V7P"&JWa&*V75,3#'>54&#"56322!3267#".54>"!..#6$+% %&)5U4,{YX~DHQHDUa&*Q7&J=a0 &>73#.'#5>73!!!!!!X42 441:\:/q#5n* 3_)) A""A ON7), 29>73#.'#5>732!3267#".54>"!.X42 441:\:Ec5YP3O*)P7LuA;kF?I>* 3_)) A""A <{YX~DHQHDU& &.'53>73#.'#!!!!!!3W':]:2451\q#5b3 + TA""A ))ON, 29.'53>73#.'#2!3267#".54>"!.3W':]:2451Ec5YP3O*)P7LuA;kF?I>3 + TA""A ))<{YX~DHQHDUa $02#'>54&#"56#.'#5>7!!!!!!.2$) C:1441:q#5 "#'? )}"A )) A"qON7 g$<C2#'>54&#"56#.'#5>72!3267#".54>"!..2$) C:1441:5Ec5YP3O*)P7LuA;kF?I>g"#'? )}"A )) A"{YX~DHQHDUa%1#".#"#>323267#&'#5>7!!!!!!/).*-/(.+D;03560;q#5.>/="@ !/( @"sON7s%=D#".#"#>323267#&'#5>72!3267#".54>"!./).*-/(.+D;03560;2Ec5YP3O*)P7LuA;kF?I>s.>/="@ !/( @"{YX~DHQHDUaP&*'Vb7P&J&NW(* #'>54&#"5632!57'5!.#6$+% %54&#"5632#3.#6$+% %54&#"5632#".54>3232654&#".#6$+% %54&#"5632#".5463232654&#".#6$+% %73#.'#5>73#".54>3232654&#"X42 441:\:KloHHpkKryzppyysn* 3_)) A""A co\\on\[o74, (4>73#.'#5>73#".5463232654&#"X42 441:\:bsGo@sIo?kKRQLLRRJ* 3_)) A""A A}YA{Y_oo__ll= *6.'53>73#.'##".54>3232654&#"3W':]:2451KloHHpkKryzppyysb3 + TA""A ))co\\on\[o)', (4.'53>73#.'##".5463232654&#"3W':]:2451sGo@sIo?kKRQLLRRJ3 + TA""A ))A}YA{Y_oo__ll= $4@2#'>54&#"56#.'#5>7#".54>3232654&#".2$) C:1441:yKloHHpkKryzppyys "#'? )}"A )) A"o\\on\[o7'g$2>2#'>54&#"56#.'#5>7#".5463232654&#".2$) C:1441:(sGo@sIo?kKRQLLRRJg"#'? )}"A )) A"#A}YA{Y_oo__ll=%5A#".#"#>323267#&'#5>7#".54>3232654&#"$/).*-/(.+D;03560;wKloHHpkKryzppyys.>/="@ !/( @"o\\on\[o7's%3?#".#"#>323267#&'#5>7#".5463232654&#"/).*-/(.+D;03560;&sGo@sIo?kKRQLLRRJs.>/="@ !/( @"%A}YA{Y_oo__ll=P&4'7P'&T'W`=%&dx#7&ex=%&dE7&eE=%&d75&eT=%&d7&eO=P%&d7Pj&eXZP&:OP&ZPZ'#'>54&#"5632#"&5332653.#6$+% %54&#"5632#'##"&533265.#6$+% %54&#"5632>53#"&5332>53.#6$+% %54&#"5632#'##"&5332653>53.#6$+% %Eq&^EUP6&>D&^6#'>54&#"56323#3.#6$+% %54&#"563233>73#"&'5326?j.#6$+% %;&^a !3!!3TZ8{ZP63##53533533###XQQXXPPXHIggggIH=%32654&#"5>32#".54>7Mm9/`Ige^K- .#Lo=Bf_KH|L\bDpBpX\`F ?uPMLS\rj5"#32654&#"5>32#".54>7Kf=NQLLGB &burLp=Jj(jvw5`v^QP_FpsEVg/ \""&54>733>73'32>77;;gAa   ^*FIY&0"5T1 >13M2 7CUe,qHG2"&546733673'32>7b0&r'O?&r&d '-O #'- '-Y&O{ '-Y&{ '-E&OB '-E&B '-'OS$ '-'/#B6 &tO86 &t6 &t&O{T6 &t&{T6 &t&OB^6 &t&B^=&t&O>&t& '.O '. '.m&O{ '.m&{ '.Y&OB '.Y&B '.'OS$ '.'/#7' &TO7' &T7' &T&O\{7' &T&8{7' &T&OeB7' &T&BB 4&4dO >&4n '4'&O{ '4'&{ '4&OB '4&BO &OO &O &&OG{O &&#{O &&OPBO &&-BO&'O:O&'; '> '>&{ '>w&B '>'/#A &O#A &A &'O{^A &'{^A &'OBhA &'BhA&'O!A&' "&dnO ,&dx 'd1&O{ 'd1&{ 'd&OB 'd&B 'dd'OS$ 'de'/#7Y&l{{7Y&lB-&p{]-&pBU&r{NU&rB6&t{R6&tB<7'&T{7'&TBO&{rO&BA&{A&BF7Y &l'O<7Y &l'<7Y &l&OP'{<7Y &l&,'{<7Y &l&OY'B<7Y &l&6'B<7Y&l'O'C<7Y&l''D< &&7&O< &&A&< x'&&O'{< x'&&'{< d'&&O'B< d'&&'B< '&-'OS$&< '&.'/#&<U &r'O<U &r&\<L &r&O#'{<K &r&'{<U &r&O,'B<U &r& 'B<>&r'O'<?&r&d'< '-&O< #'-&< '-Y&O'{<P '-Y&'{<P '-E&O'B<< '-E&'B<< '-'OS$&< '-'/#&<A &'O#<A &'<A &'O'{^<A &''{^<A &'O'Bh<A &''Bh<A&'O!'<A&''< "&dn&O<[ ,&dx&<e 'd1&O'{< 'd1&'{< 'd&O'B< 'd&'B< 'dd'OS$&<Q 'de'/#&<R7Y&l_7Y&lf7Y&l&{{<7Y"&l<7Y&l'B<7Y&lC7Y&l&C<~&&z~W&& &&Y{ &&EB~&&<)[ OR6P"&=33267OHX*  & UK1#G)[ '>54&#"5>32m( ,3+[ 8#)#0(^(wy'lU&r&{N<U"&r<U&r'B<>&r>&r&< '*{ '*B ;'-{ ''-Ba&-<)[c &O{)[d &OB([&Oq6&t6&t6&tyY&tCg=&t=y&t'ldE&.>W&. '.{ '.BL[ &{L[ &B([&MO&VO&]A&yO&CF! &|OF! &|O&:Oy&':l6&>W6W&>^  '>{  '>B '5^'53'"&546323"&54632FUj&^ ^C(^'53_j0^ A&'{<A&<A&'BF<A&A&'< V'4{ B&4rB D'd{ 0&d|B&d<(^BL[ .54632.#"+4+ [0#)#8 { 3'7'7#@ll@y=kk=H+{ #'73yAmmA=kk=!(3(3(A5!(AII(375!(NN(375!(NN(3&aan"!5!!5!aaZ@@  >73# 0A _55&WU#  #>73 1A ^45&WU#t  #.'7r A0#UW&54  [#'>7##'>7[_0x^/:4 56:4 56 [ #>73#>73[ 1B ^ 1@ ^55&WU# 55&WU#nt [#.'7##.'7)A0Z@/4:64 4:64 A '#5'37dd W<%7'#75'75'37'eeUUUUM+ 4632#"&M@//@@//@mD88DB::DH7D%8ytHy' Hy&' H:{Z3#迅'H,{Z#53'!{t#53#__b{t #53#3#__b'&{t #535#53#__b&'1h %1;E2#"&546#"32542#"&546!2#"&546"3254!"3254JLIMGKFtM&##&MhIMIMGKFIMIMGKF&##&M &##&Mujjwwjju 64QPPRujjwwjjuujjwwjju?PPQQPPQQ - (6DNXb2#"&546#"32542#".546!2#".546!2#".546"3254!"3254!"32546D MMHNJtK~&##&L15D LM5CK6D MM4CK6D MM4CK&##&L&##&L&##&L:dAmtwjkt 68NOOP:e@mt;f@ls:e@mt;f@ls:e@mt;f@lsCMPOOMPOOMPOO'3#Z:'''b 3!333ZfZvZ#@:d''E'{Q3#'( %2 #/;"&54632' 7  "&54632!"&54632"&54632.2.45.2.[^   .65/4..6   H&)'>32#767>54&'"&54632&(0Z4_l5(!J= (% C5! 9[S-A7#2( /-58_  :sJ 3267#"'@&JH&*_bPNNPFJ 632.#"aa)&JI&\PNNPg3#'><_fsM''=Q=(3A@ #@LK6Ob+ #3#3#3+܍hEDb 53#53#53HJFHH ='$$ ^&$H&$$3!5!%}C7^L!2#"&'##^Bc73\>':fw.m`[l.p?6&' %"&5463!'3# glqkcc&uuCmX&I 7!2#'3#Xkqlgcc&uuCm)9,& #"&5463273#.#%%#q^ B0$ $&a #UW&5J&)8'm 4632#"&%#4632#"&  eM&    S6i  Ou2673#".#"#>328? 4 oK9zyt37@ 4 nK;ywr3%MN$4%MO$J '632.#"@)b_*&HJPNN%#''5'7#53'75373~-~?~,~~,~?,~~,~-~?,,5432#"432#"432#"]9::99::9(9::9<<;<<;<<<'&''T4432#"432#"%432#"432#"\9::99::9Z9::99::9<<;<<;;<<;<<<5'432#"%432#"432#"432#"%432#"59::9`9::99::99::9W9::9<<;;<<;<<<<<<<<<<5 4632#"&4632#"&5     !! 5Y #/"&54632"&54632!"&54632"&54632C    q   !!  !!  !! ' #/;!5!3!!"&54632!"&54632"&54632!"&54632hALB  &  TLSL" !!  !! 4!!!!H #4632#"&4632#"&4632#"&H$%%$$%%$$%%$w%%$ %%$ %%$ H #/"&54632"&54632"&54632"&54632$$$$$$$$$$$$$$$$M $&&$ $&&$ $&&$ $&&$ {t#535#53#3#______b&''&{t #53#35#__bb{u'3``}{u#7#`uu`b{u '77'`uu`>>>sYkkY777{t #535#533#_____b&'&JT "&54632'254#"MNJQMOISTT+''sljsrkju?OQOP3v 2#"&546#U  *9xB UO ##5#533'4673U=KI= P}``4]8 1u@L#>32#"&'532654&#"'7+ CZTR FE-550%L7mD@FM C(+&*LT)2.#"3>32#"&54>"32654&# "6>6);JRED]/T +2(&/)T;)F*F@FP_a/ZH+-/-.&+CL#5!O'p<1ET$12#"&5467.54>">54&32654&'7P*'/SBIN- !&?$ $(%$/!"()*(-&T57%07)8C@8)6+&$17" !($$& IV'2#"'532>7##"&546"32654&D]-TB% 7< 3(@JRE$/'*+3-V\c/[I,<,G(H@AS9,,&.-*;#/ 5#53533#ll4llo4oo4o#9/m5!# 944#/5!5!#  q33p44>s 4673#.>/-B/100B+1S46KI70s #>54&'30,B1/1/B-/T47IK647]g2#54#"#33>>@8N;,9. <g8?M<8B,vJ2%~*}~33vvA3w ~U-u@*vL2~C*vE2vI4#/#%/Y #/ >Kc Kc 8&72#'##"&546?54&#"'>326=@=* 2,0>RU;&"2>3A2#,:48..114( ' "-.$M72#3267#"&546"3.CL:4!44$J]UD)/(PB79 . TPPZ,0+)2$f %#"&5463232654&#"fXJFZWKFZ15512550APWWPPWWP9BB9:@@ L 7'373#'#xAYYAyA_`@Dzz!K72#"&=3.#"5>3267K]UECM94"34#)+)0TQOZPA 6: / )31+7]h73>32#54#"#3p:"?@8N;,998>M=87Uh73>?3#'#3ppCEy'99z   m v7ph#3p99`7+!%2#54#"#54#"#33>323>;;8G3,8H4)9. 8Q<8?L63L<8B,67]72#54#"#33>>@8N;,9. <8?M<8B,7l"72#"&'##33>"32654&@OOA(49/3 6,+9/..STRU  ,-78 ;@F67B!$#"&'532654&'.54632.#"K@%4<,'#339H;81H'227/0 0 '')- * '' +27#"&=#5?33# ")=22"ee;();DI)$ 2.#"35!#3#3!5"&54>$G 5;DFOxt1_@ dXZWBBCuKs@3)%.4%&'#7.546?3273.'267##&#")+#?78vo?*?!#  a)J$$M5?  ]"*2:A,!p)Zy[SWb H " JX5tRc@8.".54>32.#"33>32.#">7Xc>C`6^'$J0>^3I9G;&  +@3F$L Zpl]HGZrh8"KD8 J-35#53!!!!3#UU痗AOOnA!&2.#"3#3#!!5>5#535#53546P8W"I)5?& /5aaaa_E:BXANBACPJ JFBNABguUV&2#4#"#5#54#"#33>32736[ZWmNCWFnQ>XG U0t*[F?'"]hYZVض d^I*)Mň 2#'+3#535#53533533#3###3'#3'#3'#3'#XNNNNh_vONNNNi_v**^BC__*@R@@R@|RRRtL ,2+##32654&3#3267#"&=#5?҅v1tfW)\[RHnn) + 7@MNnd|2X)%K'%aR'OK0yPHHOHA   AU] N vA  A{<3#533333##fWWUbβe8NB::BN>*35'75'75#5!#77u$u$u$u$P5idP5iOOQ5ieQ5i/<3332>54.#"'>32#%>32#"&'##2654&#".{Vk fG:kJ+`$$n:eQgt]QPL*XF1  T-C$"(4 (B ZbFf9GL^ePcR>.[= 6-,D;#(384 $1"'532654&''#7.54632>54&#"n$''$'3rS>RPU,%M>>I68-1R>(!  K,*wȆz [1URLE=YfWJQKLw,(*6IR 2#+123#3#+##535#535#3&#3>54#326drKACQui8SWWWWF$53;NJD6   6=Qw6Y6JDDzY  |D =!'5.54>753.'3#>7uIc@:h-"$Y03h>-`Mhr*<PG âf_ &#NFMzM : _"3#3##'##7#537#533.#3^`cLU_SR_UKb`.iB@R@@R@ b$U01TR 9"&547#53>7!5!>54&#"'>323#!!3267"u~ /TCI8~@D1W"&n4eu7WDJ< :{9k$"r ^_&@!@/5OSU)@!@tQ=Y".'>7#5.54>7532\%$G*)J$"G.@E`@@^leeL N GG Šda &uxyL3#5?33733#3267#"&5#aLP 4 5O*5GO*{{{{FaD K[7-IR[g5.546323>323>32654.'.54>32.#"#5#"'#5.''54&#"7"5432754&#"q*1 "".B1.0M*O63S2=iB4a1.R)>N(H/8W2QO6"&6 >e/  %!> 6+")Oy;&+31<6!K*5'2L;53*kkkkV[j.V#O~F%A$O$A$GAGOG@HK~NEd:*5F7'7&=#"&54632!2#"&/'3267#"&'4&#";3265.#!77%Y NaI8>LO^*10"2UJV[L >%9Fdz&"%+.}!ANjFP^/K9InAL8DWh5U1>O#PRJK? NSO17#)1$0@p& ZOK;74>753#54.'##;#326="&54632.#"3267AB/ 8&/88*2ALK<*3-JEZ]F4+Y+*/-6;*12c! 1 6ʬ/(SX\R 7 s7: <  w(M2#'#"&54?54&#"'>#326=#"&'532654&'.54632.#"AB/ 8&/88*2ALK<*3-"8>&%&,18I994',,<6;*12c! 1 6ʬ/(=f 8 *,/+ 2 )2F ".54>32&#"3267~oIOn0]0PU+K>W)X*/VS)* Zpl] 8" ; ^SO{)7&t(r & )5.546753.'67!&IORFBB./1524,8,..,l[Zk lh3 4wR@R; PA(4"&54>32.#"3267 ##"&5463232654&#"Ib/P02+ig03|tMUGAWUFAX'.-''-.'OW>J" 4 rq 4 K6QWWQRVVR2@@24>>(/ # "&54632.#"3267#'##"&=3326=zLKEZ]F4+Y+*/-=&<@AH@2'6SX\R 7 s7: < +1:@G956&T;7S&t+c{Q2ET".54>?#".5467'>7>3273>732>7>54#"2>? !*5S_W"$3$% A #;#^:)'.v'B. 3T6N;KX}!B;"01-#"51O/BF=&{",!DA9+ G )88@ &D"):!(@:5 ?I'TI-7T,"J (+EPN; -O1(3;@!:".5463232>7'>?>7#"&54>54&#"'>3232>7>7>3232>73#"&5467>7>54&#"9A1"$  1+8J>$?P8G( O?;;3 BL%8=: 1CKH -" %. %\db+"%4mX/-  +0,!#/43!:+$m327>54.54>732>7#".'>32)4#8=/7F $ ""+*(&2&%8 :E" |E^f)<8: %(%KVZ*@;2! @5 '3F. ")& TRCz,04a 3333##'3#3#axCCCC:6[5``333>32#654&#"xX#X0Y_7W638VS,$('LK  W.1e^&"3#73733#3>32#654#"yH JX  $^AHQCX@_WZ6_>[[>S$(++CF ?Uaa>O".54632#"32>7.54>7>3>54'77>75? 1"$#22+D=-:;oA73A00 "?) !A5`|CPa=:=pX3' !22(7'   &5]; 5C8ld)3232>7#".#"".''7>3232>54.54>7 *3<<6)" HN *66$<).) 1h  %24 $30 "" :6$. 1=9&77-=+| "."3S/-]Q &*#' 7>7.54>32&#">3232>7#"&'67>54&#"267.#"";%=%&T) BR+4[u@---):cI( 27=DLT-+&/UqCG(!<!HBAU2&E +WBB<?,%<20x,9$I)4$3 %# H+  *;>5`K+  .Nb5,8 <}qZ4*$gl\3CY&D-#M4B5We0Dq"6"*%2673#".=5>754>324#"67#53KI)F+0.?4:E1V6'S<&z:-:RY!LAq;)C(MFAkP2;\3)@%2"&'#####53533533#3>32'2654&#"@7T>WLLWXP9irr{GKJGSAB -&IXX?aaaa? B,.|Ifae`f_ \aa 333#%5aL5M:"65bc_+/333.53##%"&54632'2654&#"5!_eEOb@TQF@URD,&&,+('VDE6NGFtXRRWVSRX:97855879EE1&1:".54>32'2>54.#"'32+532654&+Pc66cPLe96cP@pV0.SqDZP.Sr>RLV>RF',(,E 6cPPc66cPPc65.UrEArV1Q\ArV1_EDCL%*(#,O]>7>32#"&5463232>54.#"#".5467.54>74.'326)3 (Z(R'?S)$FhER]+%*@(3B(.'.i50Z%50C61O.$!)=@ $6&6q&PaA56]"F54'axBk>cxCCx$/Sm[>_65`1@32!'27.#"%>54&'3'uKmkK[IYM7A&N87-.-..--.6| ( æn\\n&H?)UU))ST)~^".54>54&'"#"&54632>54'#".546332>7>7>7.#"32>53#"&54>7>326732>7p%!   .0"01<(![U9A1"$  -$>PB) W>4"6#=q[;@-$#K@)9O04:-A?8[(C98om !# $3> #EF=  .C-^ NcuA)@h>&5. (7&  C}XCL%.# ,AN*)(.Rm?1%PF+44+QE1 !. N)@h+"JD ()  5=,Kr.#"'>3267>54.#"'>54.54>7>32>3232673267'>54.#">?".=4&#"  40 !49-&'%  %! ,=&)I4 8L1#& # 5Z2,!% D/%<><C .* 6%  !>fNKg@(((+(' %$)/( ' +E)E2%& -& tz9+C< LP 71t E#*,3-Pa !3!2##'3#3#>54&'3axC=ÿ+xCCx$/*)DJc[B]=5`#<<79 a_33273#'#7'#254&+aLE98Ufh[AFTsNf^YYffEc]ZkksJ:ao_i &27'7# ####3023&4'>&/'y*A$if7h`Zfk=0752=44Do*9L- SNI A8c%:"&'532654&'.54632.#"733#5467###57'(((1"G;3-E)(47M^^a[@e5`c 5 *"00 1 2+,34`/ (j#5!#33#3#3333ve fӔB?j*66`6Z6d6`6j33#5467###!#5!#E^^a[@e5`e fj`/ (*66oXi'7>73#'#3_ _Z=7T^:3L#@#N-6R<u&O 35!5!!%3#&n ]IjG5`5555`!'"'532654&+57!537!5!~?xSqN/^-[YeqBi<g`Ae9"PSDACAKL<dS'##".54>7#5!32>54.'5&E-LijL,F% >J 2hPPg1 I>OVuKbYXbKvVOH,\kBLxEExLCj\,H V"&'4&#"'>3232>54&#"'7>54&#"#".5732632>325 ,70C)VF"2 /62 &: 00 $!K &/&0!10.0#0>$8^vq ;0  &@KKEK A,:!!  l  *2'A3%/2oT#2#4&#"5>cOHX*  &UK~1#Gak0~n&&=C".546332>7>7>7.#"32>53#"&54>7>3267#".54>73267>54.'#"&54632>54&'3< 1"$  +$>YL)*9)4"6#=q[59'$#K@)9O04:':98[(C/'7Q( %&,HR' -1 - 7  !!1# 1<(![ .2(7&  QX-SY2%.# $5F*)(.Rm?1%PF+44+I:( !. A)/H4$9)'QE*$ ,=! *395$Q7   :V23NcuA)@h>=zK".5467>7>7327#".''2>54.547"32>78r_9=;*@& &+A3.\NbH m28"".54>32!3267.#"!5Tt;.K\.JuDlN-IV"#;TTL41H#N~HHhD C|U%<6%>%&"(4".5467'>7>3232>73'>54#"&1 ,!!7C%! :fO NR#R\-;L+2-% ),$5 (&AN ::2(+L/)V9<@4 2KOedp".54>7.54>32#"&546732654.#"#"&'32>54&#".54>32254.#*=Y0EqC ;e?0<" 0%"$#-'"1!./K+5#9#A3 3(M?&$8%%?(%# (EX{ " 4\;=hF 4*-R5.2:))< 0 73,36aC   7NZ/556H(%'.N/ $(B(#--O:!  P7".54>323267#".#"32>54&'7".546332>?'>7>77>7>32>7"!':\S3@.."%#  %1&DCF(6mY6 2,#3Jk.;!1"$  -',G= 8R 3J.7RA %&  G N  `5%$ !RSF+ +!.Oe6&% #7A< ')+#(7&  6]7>7>7>7>732>7#"&54>7>7#".54>7>7=I3(!). *$7_VW/?|i# #9?>,="8f062 "$8? @@"(&,' /40#UyG=Y#3GF00$!SYP(QWg J:*;#( "=e~@Vk 5HNG2 8NUOUfd'8( EdV5-=&4]lFC2Zki'6whA#;".5467'7>32>73'267.54632>54&#"%0 ,PLS&+.3"/1*@*;)"  +M7+ ),$5 _$B)+UZ%.&'1' 1o+%]kS.'%@Y.'#>7.'7>53 &_i7@4ICO&I 6AC'1N$@./P!5@XP^c+I4=V.jg(7|x1=4&/5#'7D% T1 ;G(%1!0+5'! D)G@j+Ӵ"=[E!!5!#"M==NN) 27#".54>2654&#""\om\[oig oHHpkKryzppyysab&!'##3!# #33#!#3#%.'3166`Xg}adrsaYK73 rX MMCC1!4"&5467###?!#327%3#26?#"&547#73>73>7# ~ b9  Do T])%  (\W", 4M7;1 a 3!!'3#axCC5k5`a 3!##'3#3#aGxCCCC6k5``l 5 5!!!7#!5!=6-KU?b77q1>E #>32#"&'732654.#"3<:vKoNWu54'$aCCK[Gq1Kj2AB%ʌ|o5`"#H3^`8 #+"&54>323#773#2>54.#"@Q"Bc@4D B'RCB/Qbo2 ;&VyL.;  ""(/"&54>323267>?&"#">54'mr*SxNH`'.-^-+ZI4% +{$)/9A m]@}g><>Bd ?4 -'%)H'< V "&54632'2654#"3'3#"-2/L; qrnC\CP&%*7#"-2/L; ( . y%?]47 iBP&%*54&# hBBAofbs$LL^mcu<YFTKJ)5"&5467'#>7'3>32>54&#"2654&'P]R=! Y1%wW/tShySG 7b*6=J>@[ *5&$;31 QI?X$Q/Am)T*4e_L])$R7IS B67B*,'$=%"<)$.,v`r".5467.54>?.#"327#"&54>3232>3263:.54632#>54'>54.#":7'"&#"767.'2654&'"#"&'+30H+@! "$    ")     # 2C,F2 $ "e= 2 -$'& ,a     xt$![040 )*f& $:!Y5*( )  )  /GU'BO)4$**%2 7X!:$)A:%)> 2_ "  4+ V92U+4 :#'##3#3&'32.#"#"&'532654.'.546NE#y$D? IIB"Wp;5 (:)ND<>"*$8(;rbbX6c  ^ 5 0)+5 =   0#)6_ 3535#5353YHHN\jx"&'#"&'#"&'+53267.546323267.54323267.5432;>54&#">54&#">54&#"7U !V67U !W66V !R5#E#?>~$!H$"G"}}# G$"E" ~}$!D#  %% M  !%%Z  $$ 3 "X['sm&YV%  "W\'&[W"  $XY'&[W" 3M#ROOR#TRRT#ROOR#TRRT#ROOR#TRR%'}~'(`%'}~'(`%'}~'('}``933467'73#"&'532654&+532654&#"'>32fKL  6#IG%@F>40:4992/)5$E.GH+'/T62*  '1\T ?")#$!7' .>0(4 3):I-F57>54&#"'>3233"&'532654&+532654&#"'>32s))%1#E+@I;8QËKL%@F>40:4992/)5$E.GH+'/T6p'1' .?71N5M>6 ?")#$!7' .>0(4 3):I%'}~'(`'v~'c`='w~'l` $'~'^`%'}~')`$'~'g` )5B33467'73#"&5467.54>32>54&#"2654&/nKL  6#IGIN- !&?%7P*'/SA%$ $(*(-& !"(62*  '1\T@8)6+&$257%07)8C !"$& ($(,EQ^"&'532654&+532654&#"'>323"&5467.54>32>54&#"2654&/%@F>40:4992/)5$E.GH+'/T^KLIN- !&?%7P*'/SA%$ $(*(-& !"( ?")#$!7' .>0(4 3):I6@8)6+&$257%07)8C !"$& ($#";GT33"&'532654&#"'73#>32"&5467.54>32>54&#"2654&/KL7 FE-550% CZTsIN- !&?%7P*'/SA%$ $(*(-& !"(6 C(+&*7mD@FM@8)6+&$257%07)8C !"$& ($0 #/<33#5!"&5467.54>32>54&#"2654&/aKLI'IN- !&?%7P*'/SA%$ $(*(-& !"(6p<1@8)6+&$257%07)8C !"$& ($%i'}~)!"G'~'gw`2g!!2=gI0*" #/;GS_kw2#"&5462#"&54632#"&5464632#"&%4632#"&4632#"&%4632#"&4632#"&%4632#"&4632#"&%4632#"&4632#"&%4632#"&2#"&54632#"&5462#"&546)  J      <      T    T      <      J        I    @    J    J    @            35#535#5333#3#!aWWWWZ8GYGGYGP 35#535#5333#3#UKKKKXKKKKGYGGYG32673#"'!!&#"#>323 21* $ 32) Zk:FPT;E/ *3#53532+2654&+3#aWW5}kRHfdX_[Nqk@kAOEVMFpNpa_#2##3267#"&5#32654&&*A$i   CKfkWPTef9L- '/#LKRNECF;.0 &.5#7.546?&#"'>3273#'##4&'7">=7CA/:eh2 *L!#`4DCH^@#MD)JP>BY74)K>HU B#L,*m$/ @KM0r$ 30"#.5#5?3373#3267#"&'7hCQ LM#4[GCJw+* 4( F5#8*#r{9C aDOUFh3>323#5#4#"#3Y4bbOWOxZCXX(#)*]gWe^aD|%#5##3>?3|V%IZZ>iPU@"D"UF#3>?33#5#'#3 gٰNW)=WWk4 5&D 5!5!5!!gxD6PD'F 5!5!5!!X p#:DBn=#2373#'##".54>"32>=4.kIrGGpP_EE`bllcX]$$^7/\6\.8\oo[N6_??`5a@!#"&'5325467####333^V("hKR~a_Is(P&lNW9T!73# >?#^VU[QQ3*, ;b#"&'##33>32'2654&#"IrGGpP_EE`bllcW^$$^ 8.\\/7\oo[N5`??_6" )2&#"#.'#3>73>7>  [ [^o  ~]~ R6I$':- U./L.V&'\,N.[#%W/E=7 *"0333>733>?>32.#"#.'#[J  _`\  2 0% hg\   `+X27."PX..#A\.:. /: '!,23>73#'#5267.546"654&5F>:w^e[5$ I3 @'=58W06126<I 9;?D! + Ba33!!aZ2OU!!#XJ7"$"&54674632'>54&#"c:,D%-/N.UI>X0O13R0=/, Q6/1kFIV'([^CwOaAK0\F^c0?5#%,%#"&'#"&54>32!326732654'"!.?;+%I/z:lLirXR1O.!# ?O@"2EVFo4[b" 6SQG]J!#'##"&'732654&#"'>32JE N8" DU#/#8PQ^17ScOW12D MY7'" #/#".54632>54&#"4546324&#"326'sGo@sIo?LRRJ<1/@7   A}YA{ T7_ll_4R2772:{ 3535#535#5!:AHGHvZ 4632#"&"&'5326533  %  9/9+t-3 #3>7:=i  hT./3 A.#""&'3267#".'.'.'532654.'.54>32.S)>M'H/8W3f 3$$/5A)"  ,f:FV*L23S1("-V>9'2$1L;7=+ J O7#'hx&467>73>32#"&2654&#"c/59@" (//=12;p# ) FO   +- 6+56D'") & /lxB+5324+324+326p".4hh&4(4>6<>;<  ##;?"ElbB##5bk(B"B 3#5##53>535`#&%$nBhJJh&a1)XalB#'#5#7'3537dl-h%i-lc+b%bBhnmmmmnhhhhhhdF%2#"'532654+532654#"'6)1 255*%E %7&F%  $l|B 3#'#53H+gp.m((BgommhifB#5##"'532673f(G ''leW\alB#547##'##537$N"L$5LMB։֬lsB 353#5##57''(BYY``hzF #"&5463232654&#"z=4/?<41>"$%""%%!6::65995&--&&++lpB#5##5p'}(Bָp|"2#"&'##33>"32654&-67,% (! #%( 7779 X6%&(+/$%,hgF"&54632.#"3267%0>@1"  GE h59;5RPllB##5#53lO'N%lyB '373#'#S->>,SX-BB-hPPhnVV"B #5#533533&(}'""JָlnB326753#5#"&=37.%(((%)($ \` "PflB !5335335(h'iBָd"B3#5!5335335#((h'iBgJָhzF #"&54632'"3&267#z=4/?<41>p@@#!6::6599@@$#G@hC"&546;##5#"3267R0>@1O'G#" h59:3O&*hdF$2#'##"&54?54&#"'>326=V#!+s)" +#-")FH!A   r hrF2#3267#"&546"34&/5K#$4@:0!zF5+J864<!"lrC53533##54#"#54675KA'@@),'A@(,(!! )&*(88(*&( hl%"&5467.53>73'2654' ') ()$$!)',h#'#&!&823F"(% #l3#32+5#535#32654&%LLDa.4j55g@A" Z;<$ZEthF#"&'##533>3232654#"91.9=((>8..;A#BA6:31`Y./95S*)QrhG&"&547##53354#"'632#'#'26=,#(Z((3 % )+X$ '$&)h!dX2L !#lB #'##5##73'&'"f(-#,(f ; B^^^^}lB#'.##5"#7>7'5#zI$ '$ ' $H}?BE BAddABE=qlB ##'.##5"#7>7##533'5#I$ '$' C''zI}?BFBAddAB `YE<x|#!#55x|#!#4632#"&5K5t#75:|.kt'7@k.|{o77"&54632{-:|.k34x'7'"&54632Dڷk.|ƅ###5!#555###5!#4632#"&5G5551=.5463232654&'.54632#"&'.#"7"&54632(9 &# G;'3   ' 9"  "(.85?   07 ;$51.5463232654&'.54632#"&'.#"(9 &# G;'3   ' 9"  "(.85?   07 ;$51".5467>54&#"#"&54>32327>32A.9 (   4&;G "& 9$; 70   ?58.("  "<O!!<{O{F>R 7%SRT$>R'b$S%R%S$ ( 5@KOSWf47#"&535!5!4632!!#"&547!5!&73654&#"32654'#5!5!535654.54632n6-W%$E$%7 *  + ¶,n5O  '#++++++K$$ + %% +  m  ++++++N  #l!5`44!'7#5}`4/4%!5!#}44d 2#52654#d1<<1'D8218'#BLI3#4632#"&4632#"& >@=Z6?9%#"&'.547327.(*L#"'" -|45S'"#L*(."54|- z*t$7'&#"'632'654'45".(*M"#&" -*- "&#"M*(."545/ 4632#"&5-54632#"&|;;&JB7'%'%4$$$$5555 )2#"&54667#"&54>7>=3Q&(0Y5^m5(!J= '& C5l 9[S-A7"3' /,49H]7"&'>7.546327.546327.56327.546327.546327.546327.54632>32>322>322>322>322>32>32232>32#"' "                &  %/#) %'! ,F -, !11'% %+! .' (  ">:  5/!)%    (%  / %+  " 9 1 +  #    %    #   $      (&lz2 &c_>&7%SRT$>&'b$S%R%S$2 E #4632#"&.#"56323267#"&"$/>0H9.$/>1G;  "N5  "M6 2} #.#"56323267#"&4632#"& $/>0H9.$/>1G;O? "N5  "M6 uu33#7$1$#533J71P4#3#@:#53~:HPb433P@:b3#53@H:3!!".54>3!!")EX/4hT32Ug5/XE)b,/0B<54.#!5!2#/XE))EX/5gT32Ug50/,,/0B<54.5467`#B@$AA"$'-=2##',>f%".54>32'2>54.#"3T22T33S22S3#8""8##9""92T34S22S43T2<"9##8""8##9"H+Lt>73#L0A^v5695H)J >73##"&54632U0B ^j#%%#55%XU#%%$ <" #5'3YY  O} 5'37'#XX5O + 37'#7+dd WB -467.54>32.#"#".732654.'B2'(%2U5YO%F%7:D4.O0[JE`1KDL,)D=(*@6"/;":&%"&(8+CM+G4+>/$" .(X3'( 3'0'W ''7'77V34$44#53$23c43$34"53$33C2h #/;G"&54632"&54632"&54632"&54632"&54632"&54632$$$$$$$$$$$$$$$$$$$$$$$$ "%%" #%%##$$# "%%" #$$# "%%" LNK75>54.54>54.54>54.54>7,,6];AQ,,,,,,,,,,6];AQ,,,,,,,,-#2?;,#,$&,+%%+-"3> ;,#,$&,,%%*:&<FL33253.'>7###.54>72675'"&54675"2327&B=21="?1;: =24=yCxM8It,4q2pzYG9_97v/+m/>@EL F    OpB  & \g[j ;aCEi<Pz:T('1t?3#.1^A0i 496<t ?3#.?3#.<^ B0^ @0i #UW&55 #UW&5(7"&546323![Y+!(UC-,#  !N("'7'7S+G+G**(_T %.#"#>32(9'.26KJHQ')>HJ<(_ "&'332673>32#.#"JK62.'97QKJHQ79'.2I=)'HJ<')(_T #"&'33267_QHJK62.'9Ts#"&5467332674632#"&1#($8 $%%$/+4+ %%$  C "&54632'%'%"&54632A$$$$$25555aXx737'aTXTbXx%#75'3TTXT, 3!5!%}C7m"'%">3232654&#!5!5!32#"&#"G :6F?;-6?{LX&WS>dH$ !=?N=%@+;L #)">3232654&+5!5!32#"&#"3&$(-!+?.G"w|kVTP7P!. "$6G9gHD=G "'%*>3232654&#!57#537!5!3#32#"&#"G :6F?;-6?ʫ屈LX&WS>dH$ !=LN=L%@+;L #)*>3232654&+57#537!5!3#32#"&#"3&$(-!+?.Ginwxe{|kVTP7P!. "$6@G9@HD=G -)74>7>54&#"'>323267#"&--W?:DDC.W&)b:Df:\\@JRO9k$"fVj-")74>7>54&#"'>323267#"&-&H34<96'J"&T1Zo(J44:73'2654&'U\<>-: X2.*7[%G525)O:+602&+6 WE7aB)EDM26MD,.YsTUq:,JD%,H+C0)+O,'8,+3=6".54>32.#"32675332654&#"'>32#"'S]|=>tP&K"4RZfe7Z8 ef[R3"K&Pt>={]hGG _omYCCYmo_>>:N#4"&54632.#"32675332654&#"'>32#"&' k{rd"8)=>NC"4X6"DK?=*9"dr{k8QP C je^ll^ej C(""(p4&#"'63232+72654&+$2&.>TUkVWaV_5<GTe|ibeoL@HL4l#4&#"'>3232+%4&+326!-$4POknbB>{FۘMYE/11$a333533#32+#%2654&+aZZjɓVTW^V````Jibeo L@HL4U333533#32+#%2654&+UXXknޛ{;CD>iiiEMY,E/11$=&4>3233###".%4.#"32>=Dh^KZZHdhE.`KJ`--_LK_.fm]N_.6NfW]mVHHWWHH7"4>32353#5##"&%4&#"326732#'#'26=L[+XXp%M',^1`c?%Q'GUOT\5 RN=&#}B]aP/+FQI12;+-  !3'.!'vu.FCFE3TDD 133'.'#!'d  65.4QCD$%##5##7>7'5!#7!"!.#FQ1[F/J:A:I/H[0>)(>0:P-44-M901.1^!%##5##7>7'5!#7"!.#H)Q=ACuuuuBG--?Hء !- a 33!3!!3'.'!'aZ&y]uw+F^\53JpE+*T? 373!7##3'.'!']d^X  Z@3A@D56C ~%#.'####"&'532673]n Y &&7.  ##]@2S(p,b-t8Y3J>F!#'.'####"'532673\N  X !32  `(?T6&gLCH3D 733!3!#WYeZVO{z6F# 33!3!LXXE2Dx!3#5!#3>7!xZVV7$A2 O/9 MM >OQ:6)F#3#5!#3>7353NUT+EEt"5#Fw_|FD0!###"&'532>7>7!!c\  &?3# #{J4C^0K1I$&oM####"&'5326735` .L: 6AF-ϩ^BaF!##33!!#467#SYri9OIM4f U##467####33'OJOuF-V.Q-/Q=&447'" %".54632'2654&#"7"&54632-Go@sIo?qQLLRRJKV A}YA{YIo__ll__o='3".54>32'2654&#"7"&546323"&54632oHHpkKKlzppyysr \on\[oo\N5B# %1#".5463232654&#"4632#"&74632#"&BNuBQu?HU]\UV\XY+ D}VD}U^op]_mi[='4/'44&447"' b b+yG1=IUags%#"&'#"&547#"&546;&54632>32232#"#32654&#"32654&#"4632#"&'4632#"&3&'32654&#"32654&#"32654&#"'"#673"#674632#"&%4632#"&74632#"&23&'2#3&'232654&#"32654&#"7"#674632#"&'4632#"&KG/>?,KHKHHKHK->?.GKGKKG3662266336622663J    36622663 3662266336622663`       3662266336622663_    JY$ $ZI?)ZIIZ(?IZ$ $YJ>)YJJY)?3#"&'5326?i+4  1+h (#  z y$ulB 32+5#5#32654&Bb.4jMAB BX<$uElB 5332#353'2654&+(>\,1( 9lX<$ElwB 2+534&+326^-2n(~CD!<$X>E`lC#.'#.'33>?.'33>7L% 5$1'$ !(!Csd4a(p?:_  ;*1`(#_7V #"&'33267QVUOB/4123@=6##$"ku'#7#"&=3326?u4> %(?  'F)/)( >w u!k' v!D3#5!#3>753!B[VV7#?2!U/9 M =MQ:6)F13#5!#3>7533##NUT+@EPv!52Ys2D3+"&'532654.'.54>32.#"=d&(c7J\.L..T5>i@;`++N)AR*H,1Y8@qV XQ2G:DbJJk9ITM5F5!G]DRs;+#)#"&'532654.'.54632.#"og7W#&Z*AE <)/K*sX/T*E):?;.,J,cqLE:+;.8N=_bAB4(3*8O&5333 ####"&'532654&+532654&#"'>32*%Z;fDlZE:i-/o1`cthfajiP@CY*+*{Mtx#0F3ZjN.V^vRHBD>KG<6:"=+d!"423533##5##"&'532654+532654&#"'6\mX`fXov:^"]77!36!/?: #CC<+1$*R'&N#(W5-L4 \N&z*4W\ %15 (,%  Rr @9.>.4%2#"'532654+53254&#"!#3>7!36!.<8#@A='0#(O&&J'R'>C3;%82U%"1 $.3 '*$  Y.|sQ %4&+##5!#32#"'53265C;?ZRV0#*1=1|NNŶSe L 8;##>32#"&'5326=4&#"##5Ӳ#W8]aEI( $9:5P XF!\_EUH'.A:F 7#5!#3267#"& 3-!/S^NNIF;L e7#5!#3267#"&Ʊ).  1VK6FF81GY`(%"&5463!!"3!2654&#!3!3#10//>11D09XZaZ&(#QF,%&-5 &+#-|m@))D(U(^#"&546;#";254&#!3!3#10//%r+;XX!NE,%&-5 V#*/9%)D( >"&5467#5!##"3267/?G6 60+8  848EQNN-9<>"&5467#5!##"3267/?D4/0+8  846EFF--9< 5!#32673##"&=  CG5_@ZZBq5dl|NN;=Y6)[[326753#5#"&=#5!# 553Z/XX.e=S[^72 VSzFFak4632.#">32#4#"#adW& #/9@m2elZ4[=ZmiO=G_[[ xU#4632.#"3>32#4&#"#UNF1#""V=ZaX:32.'!35!#>KloHHpkKa^]]_`__`fo\\on\[Bh ~n 7'" 2#".546;&'5>7#0Io?sGo@R=?r{B>>"A{YA}YLPGI XL a 32+#5#32654&`BKo^`'.+a\-5-f7`a 2+34&+326؈CH9-(ac$/\-5B_gu$#5.5467533654'6B@8&6B@9%%*%&)%OO^910:]]911:Vt)%$*JIhF!"&'##533>32.#"3#3267`/?>((>>-"  BttE h04`Y1,?F(2"&546;#";CIHD~~__~bE@AC*Z[*('2"&546;#";5!CIHD~~__~bE@AC*Z[*w**(2  (02  (253254+532#(~__~~DHIC*Z[*DAAC(0253254+532#5!(~__~~DHHD~*Z[*DAACw**(272+53254+5DHHD~~__~DAAC*Z[*('2 NT!3"&54632BP?NT!3"&54632BPNT!3"&54632BP NT!3'"&54632BPNT!3#"&54632BPNT33"&54632NBP@NT33"&54632NBPNT33"&54632NBP NT337"&54632NBPNT333"&54632NBPNT!##NBBNT3##BB9NT3#33#BBBNT3##B7BMS333MBB( ##"&54632 I4(0=G #"&54632'7453(^AG #"&54632!5!YI(S25353(5S5qFH##5#LF:z'3533L:HHe#34632#"&9kt$%%$F'%%$ HRo #"&546323#$%%$[9k+%%$ H V( 5''5'(f5a :32( $vWGXXW=YaEH'.ba9 .)_eMEU  &9-%267#"&5#5?3!'"'532654&+57!*5GOLP 47'572.##"3267I?j?Gp1!.W,Sfha_2k1+h ocCV-CxESCD>BHS.#%'572.##"3267#"&546&Kj1/R7Fub\]2k0UťCv BSDPBDOO)teem#%#"&'5326=!53467#3KD% !&O_WWVK)./>:u$ ,#"&'5326=!53!5467#HL*!")R[VEUH'.Q>/:u$ +#h +"&'5326=!533#467#3#5>73B% !&O_K  )2 X K)./>HK&WV:u$ ,}%T" 7:^ +#"&'5326=!533#%!5467##5>73FM*!"(R[' )2 XJI]H'.Q>/HH:u$ +T%W$ 9;O~ 3#!#3#L/@?("'%#"'532654&'.54632.#"hV^<#M+3=D7$?&aO)K%#=,75$)A%HOH,(**%;-DM=)&#'9&&&#.8#2=H26?54&#"'>32#'##"&'#"&54?54#"'>326=326=`c>i[:5*L!#`4b^@#MD7T3>,P\bp%M',^MT\5.GU dM7+DZ#]aE C4BV^L,*-.!(RN}B2;+-QI183-*KN0L(7#3>32#"&'732654&#"'.'3Qb]XkKKlNryzppyysQp[oo\|j<@.y#!-82632#"&'##"&54?54#"'>32654&#"326=~,ByIo?sEm fFX^bp%M',^KRQLLRRJT\5.GU#ONA{Y>::>RN}B_oo__llh2;+-QI1"&/!#3326533'.'m}( Qb]0G7\]ZdP dj8J%c]2w3<@.L#(3232653#'##"&'#"&54?54#"'>326=`c9=WGXF [=@W"_73#'!3'.']  ]cPQkP/=;M6)<@.#"-!'##"&54?54#"'>323>73326=%Q?L[bp%M',^1`c  aT\5.GUP/+RN}B]a83;V2;+-QI1 1333##3'.'>?#aqp]gou., "A6?|}<@@?Q"b.#&1!'##"&54?54#"'>32373'3>?#'326=%Q?L[bp%M',^1`ct_a0  )YT\5.GUP/+RN}B]aO;U]82;+-QI1}&#"'5326?'!#3>73.'3l#n_;*16<LPb]  ]Q)afR 7?41=;M<@.#/:'##"&54?54#"'>323>73#"&'53267326=%Q?L[bp%M',^1`c a*?0!"*)JT\5.GUe/+RN}B]a830hu":#K ,*T2;+-QI1;&JT-!"&Wo k53533#>?3 ## TZ^^>i&jIZ&OUUO"D"mU@&  3>?3#'##53533# gj=WLLWk4 5]AZZAak%7'#3>?37#'ceIZZ>igc)fjrb|Q@"D"ɎR2TњQU ?'#33>?37#'EC=WW gIh'jzjQEi6[5s4 `Q1Rm5 k%7'##53533#>?37#'ceIZTTZ^^>igc)fjrb|Q@&OUUO"D"ɎR2TњQ  #?'##53533#3>?37#'EC=WLLW gIh'jzjQEi6[5]AZZA4 `Q1Rm5aN %!!37:lYZYNN#P#U7#3XXXX!#! 3#53533#!aKKZmm8+MRRM%P 3##53533#XFFXEE^@ZZ@ #53>323##".'"!.267!>LidO::NgkKJpr qpsq-sJFbQPcFgTUf323##".'7"!.267!H jd @?mDkBIJ6LHLLLBrzzrBz;rQUMMUgaTTa=&4t35#&2".54632>32#"'254&#"2654&#"*Ho>x7U 7(:A5':n;PKLPLON D}V#%F8 :$OyDjB##%p]_mic^o=&4467"&TT*75332+3##5#32654&Q5}kRddZ[HfdXuK nd;g@VKuuBOED0"+5333>32#"&'#3##5"32>54&SH NAcyyd>QXRCAX1?GAgI#0/4;A``h\^ck6]<\n{$"#.546;32+##32654&+'JJT5}kRZ[HfdX)  "32654er6hJ1MX !"LEL  I Q)SD /;JH#S~F&/%# =KJ'-J_^m_ !!*"&=4#"5>32;32+##32654&,RU= &*."5}kRZ[HfdX^SqPGt82hnd;g@fBOED /#+8%.=4#"5>3233>32#"&'#5&32>54#")AJ= &4@IR;erAd.Xs0IY(SDCcHmPFyPWJ'-TG7^<_=T(7'"#".54>327#'32654&#"pf6 oHHpkKig-mO({ryzppyysq(@\on\[o#/5:+S/17d"*535467##"&546323733##5'26754&#"Q@ay{b?P FRRXSEDWHFG@D0"00#I@aa[^fiq__k=7(4%>544#''7'"#".54>3232654&#"ig/-##&26754&#"+)@M&X&Q@ay{b?P Fb&jSEDWHFGD%)5F9#4.ﺾ% "00#IR`&4[^fiq__k-=2##53254&+'MDfx]YlZffI_(KJ:L 2#'#532654&+'bk<2btc8@=:dXPM:KA2.0+D9vu#357>54&#"'>32!533##596J&F84O)/*mDdt.R7UbbUI6TQ0:=$ <#1eY8a`6P'u6" #5!57>54&#"'>323533#S3F.%<<0#R;LXE=gTbc>4W2%+3:'OD>a;iIX3>73#'#73L9 _Z886R^yN!,M##N-63'#7333>73:5R^]x8 r^NhIF26<,#"'5326?.'#3>73>73 y_7)16A ^Zp sZ  xZ wnR 6@820LP0^&#i45$W46 3"'5326?.'##33>733>73$ .5 Z  X]ZL ][XJX:I H@A#&,1) )2.1_>2 ,+[a9[f),"&54632.#";#"&'532654&+57hjdP"6#/IC+"54632.#";'"&'532654&+57^S$9'- *35753732+72654&+cYYZn~`KaeV[`-H-bWIWiddsx?QEA 0!.575373>32#"&'##4&#"326 KXN@cyyc?PXFJRDAXJEI*iIi- "0.  " ee\\ckk(73##5#53332#'2654&+mmZYYZn~]dV[_7A@@AInjcerG=RDB0!.##5#5333>32#"&'#4&#"326eXMMXN@cyyc?P(FJRDAXJE[>WW>S- "0.  " Kiee\\ckka@3>73aZ 'e{`1b R,+U #3673XXf 801I,(#"'532654&+532654&#"'>32NGPTvzO*e+RbfbTUdUL<3T*$/pD_v#FWXGem)QEFA@LB=6: @%'^#&4+53254&#"'>32#"&'5326xMLJ9TM ,f>7Z6BBJQ|:\)\[U[ G<@7A!)TAD\^LmyP/S'354632+#"&'5326=#%2654&#"VPHV\T:[U- !2.,-% ")4JdN@LRg^N8CJ,&(27.&#"&'53265#5354632+72654&#"KV0 !!.)xxUOMP\S:7,-% ")INYG 28G/JbKACSG*%&18)4!"3267#"&54>32#52654&$KKDC 1:)`n9kJJqA~LZKGL H tgHn=DiKr5#!"3267#"&54>32#52>54& HIFA/8'`n9jJqWr8OgXST K ztRxBHMz"\g"3267#"&54632#52654&//X $>HRIIVosTS4;>5d -IEJWc_+k~IO7c,"&546323.=33733##7#'#'26=4&#"dxyd>OX8CDCzCED` P1UEBYGGG .! 3PHH"0I]^dkq_`jUc %33##7#33+DCzCEDtX;HPUc?"+23733##7#4#"#4#"#33>323>[Z+CDCzCEDcmNCWnQ>XG U0~&]"]h뜜HYZVYd^I*)Z.,Uc"23733##7#4#"#33>W`b9CDCzCEDqxYDXG \"]h뜜HWd^I*)U3.'#7#33>7A2, 6@B?AKXF S9S¿ ^G^14Uc!3323733##7#'#2654&+UVh$9 h6CDCzCEDL~>E4>QM/?#H-.&0#.2+##3267#"&5#5?335462654&#"4>KUUXP*5GOLP 4K32"!G9?P-aD K[7*!v{"G`-$-4$A*2+532654&''7.546">54&SY/&.=vpGO;19=JaP+/66).UL7P&9D.XfO2<2>>'RBGYE.*,8 '7$)1 2#".5467#52654&#"lHInmI<=yynssxq1g]nm]]n\/NpWH5"!#".5467&'72654&#"-/wHo>~yU<>/)bxQJLPLOK*gF{?sNt[d$;&!FGhUPf`YRh\12.#"3##33>% %ZhYDgQekfJ/f1?U#2.#"3##33>L" CVXF M#SbPE ^179,#".54>7.5467#5!#"2654&'_;T,sFl=;\27+a+ GM>>,Q2T FX=m}4bEG\5 #7($ JJ<LTL?L% *J;FP9,7.546323!53254.">54&;T,sFl=;\27+Ma+ FN?=-P2S!EX=m}4bEG\5 "7)$ JJ< SM?K& *J;GO0 !357'.54632!2654&#"RO=sGo@vhb RJKRQLL@M/oOu9nNjyC~JjZOP\\POZ#!5Z6zPU#3XX \; %3267#"&54&#"#33>32xM!!5LJOPi`ZEmMuw]J[M4^Zyj^26~U#4&#"#33>323267#"&5;?SGXF \5^cA(GBNHC_c H+'_ePGQC\12.#"#33>% %ZhYDgQekf1?U#2.#"#33>L" CVXF M#SbP ^177R5!#"3267#".54677ZI{v,U+(Z7gKiN|NNMXMUgp( "&5467#5!#"3267-v:6q^kVP%D F yPoHHkjWeN(.zHV& 4632#"&4632#"&H$%%$$%%$&&$ %%$ 25!!52[~GGGGQ7#39kQ3jk9a !#!3!3Z:ZlZN|.Q(#"&5463233#327#"&";54&1>??3 Xgg$, /QE9#+ 3<.47 g6/1 FV.'E 4632#"&E/'&//&'/a/,,//,,a7!###33.533#RSh}T@WQ#h7q@L U<P"!#4#"#33>323#32.#"3#3267#"&'?SiqT$!Q0k zq/T((U; ;LcT*LwLr N" =3>32.#"3#3267#".'GDkB)L@MH,CA.El@ARg1 I AX] N7qY7:"&".54>32.#"3267#"&'532=,Go?BqH)L@ML,C9< 0 :z_c|: I ag @EI4@U:E$"&'532=#4#"#33>323 04xZCXXY4bb,9I4FWe^(#)*]g@E  )27.546;32+#"%2654&+32654&#EH̆FB-I*s&\DS[v_JMc A=0Ob?S &F8ajO;:;3KJ<8E6r $13632#"&'##327#"&546732654.#"4X-1j9sl2?BJHB+#2".54675.54>32373#'#'26=4&#";#"4Z7;C277S+7E)  E@W.ZDKS8,2?'KM'0Hd]j^*'()B2,+21)"&54675.54632'2654&'";#"B[YOKqIIr|vuyQSWg)*1S naG[ QERf[nm]N=5=AJ0;-!"^J#"&5475.=3;#"32653#'#:p6O,[iu*[IisYIl g[ *PCXKJ=Av}6a*A<%".54675.=3;#"32653#'#3R11718S?K C8>4XFTAU #E13FB@lf@8B2,+2d]M'0&32675#5!# 57>32.#"%+D5vFUIKgYp=_"%,67>323737#"'5326=467##"&'"%.4532654tg5U FMMu{vKOwEO6p\p 8@I% J[H>QJ ()G?st"Q*QF - Qqg aY6F>7NSWak573>?3%##^Z>ijIZ>d"D"I=@U@)?37>?37#'#5RW  gj,WRs ,& 1?+&"73737##77'#3.=^hɱTZZiեS^Ok>J!~"#h@L ;f"?33>327##5"%54RG \3`bMMWXRGWE I*)]d?4`[4i!###5753277.+27_gZ^^wGAHC) [JYf  =NN > Da4){&U"'733>32.#"7#5WH R8# )H+XW b,@Q-O50?0 /7.54>32.#"%#"&'532654.'&''(:gC;b(%W/CD6C@Cu&QD_jV>5#0)0"+7.54632.#"7#"&'532654&'{$'oZ1U%"J'698Gs#&tb8Q [/C<3I7+DJF# '*?8+NPP+$++ !#!##"#.546;!3ZZ'+'JJTnZM)  ;T.&=#3"&'5326=467##".54>323732>=4&#"X?x8;|>eghR_|=E}UNe N9N.h_bd)WVds2.CX`nP;/`ij(BS*8ux}JuCG%!#"&54632533#4&#";Gd4>?B3$ZggZ$-MM3?.586/2&; )57'5!;hh*hh4;440uHE#'"#".54>3232654&#"HORrp Zx;;xZ[v:DU[\TXX[UgJXWJJWdxxdhsw 373##jIZZ>i@6`"C#7 "33!53ZOO<7&'#"&5463233267&#"(8B/8EA6*&Z)!" $1G)"!&<45<)' |$23327#"./#.#"5>d#*i`)(0$f`z  0'_@(*B "I:b&*.C ^J#2+#2654&+32654&#1~J@JQtZVLWVwVRV[[Y@Q  OMgg<;;8GGC=AU.m= E:N# F4'7&53537#"&'%326q=K%Z j@=><{_;]"w0ZaW(^?X1'Q )MJwEn.g.C6'7&53537#'##"'%5326c58Y75.H \4O.(4YE&,B+F_@@-6-G*'ld"#3#'##732654+7323'.'#)^XXt& 3:O;:A?V?*6)*"4B9,7O&\#&W,0&I%7#732654+732"&54>32373#7#'2>7>54&#">& 3:O;:A?V@Q'F`:5B CrF "\%G:4,'B2,^)*"4B9,7O]ZKg<8%Sc,AI6\91/<1Ul;66 3?'73#732654+732/ UzL VzM & 3:O;:A?V1@221)*"4B9,7OII#732654+7323& 3:O;:A?VrXr^)*"4B9,7O)"&5467332673#732654+732opm\Y]EDYWcYdEtB& 3:O;:A?V g_2L28@\Y)Nr=)*"4B9,7O7&I,#732654+732"&5467332>?3#7#I& 3:O;:A?V=IFYH !%"OD1WrH 3C^)*"4B9,7ODA)G+ %0jXc3"E(@%.'#3>7>73>32#"&32654&+532654&#"#-12Z^&L( D9S7#(V/qu\MZ^4_6J@>VYoc4/edP@?d) JSId6,M#GYDJYdMIU  XG^vHBD>KG<6:85GNf+D"&'#&'#33>7>73>3232654+532654&#"}4SC)e^r%> #F!O3Wh6/ 6!f!!>"4G AM=5?U! Q|0sB61k7Al,2?ID19  4)C[I=x4 )2ZH%-&&98=:Y&"3267#"&'532=#".54>32.s{{/T(9< 0-32.#"#"'3267,E'$k9PQIA[]:gC;b(%W/CDD:?W-u:2$( !IA>5#0)!`S9Q,M9/$0&5J8_j00C &:"&'532=!5!5!! 0`x9I4FD6PDʑ@Ea +32%!.#3 !ŰlV wua~lPyr7#"&546323.=3#'#"!.267!dxyd>OXG P2@F&DPRFF .! 3H"0[ORXfWXT[053.54>32.#"3##"&'532654.'&'Z:gC;b(%W/CDA7b"$u5#0)"-753.54632.#"3##"&'532654./@oZ1U%"J'69;GCtb8Q [/C<95A.DJF#"&A/ NPP+$ (!#!5!3Z2ZMO.{3#5!5!#XXJ2 73!73#'!24;44TTTT#53533533##5#535#???;;??;:+GGGG+C#Ef#/2#3267#"'#"&546326"34&"32654&BK62"32#[))YDYUJ)A'PP'3..43/0fOB:6 . CCWPPV" B+[)2==73>73#.'#.'bo sY  yY] ]i oP0^&#i45$W55620L6g#%_0PNn3#NQQnNgn3#3#QQQQnnN/n 3#3#3#QQQQQQnnn(Gn'3nPO(Gn''3 nPOBPO(Gn '''3  nPOBPOBPOC7"&54>32'2654&#"H['I32I('I3*-/(+,.VD)E*(E++F)F/%$/0#%/9Vo7"&5467%'2654&#"I[%52.\ K%5C'I3*-/(*-.VWC*?):I7 N9+F)F/%$/0#%/cDy32>54.'7#"&'2&Yb(Q@yb7h D_N7>IHf;cQy32>54.5467#"&'my2"+"rXg"+"Lp" 7X39c\]3XeK?:(T_l@+^R3 4632#"&732654&#":./::..;1 G,77,,89*/(2'654&/7>7654#".546&*&4; ' Z$ !# #%1#+ H   &(".'#"&54632>54&#"'632 &(   !&--<'2  *// 21,/.'#"&54632654&'#'2654&#"'>32C  '- )+.7#   + * $! /$."&5467.547>54'7'3254&'w#0#%" 2'&0 #")I"!  #$$",  &$%&   * # #F $.'#".5467323&454632*  4! 1? $-//*4(>F7.'#"&547&54632.#">32#"323&54632/  58#7*" 7  # .4#& + )#!#".'732654&#".546324)+@) 1.3% /."%*5/72,l`bq#!2 *+ J"&546?3267|(@!e'n/='*+%t }- )>54&/.54632'2654&#"? }0''1" = ~  c'..$%. :2675#53##5#"'#"&'732654&'#'>54&#"'>32v  %10  /#/C"*0" # !')+"UO,, "!>F28  * * &$"".'732654'#'654'#5!#z 4.*1'(I, %0>84@,) ,,*'$$.0#632'>54#"#5#"&54632&#"32675#5!.",) %1 !#78+  9 R'&0 $&xK ,,'.,+,!##5##".546;5#!10U  ,   H#5#"&'.=#5!#32675*0#! '( ! W "U,,E  o.'&54632>54'#53#E-G w2/!/>$C   ,,%. 1-C.75#"&54632&#"32675##5#53.546323#3.#"E ##67,   0-+92Cl'01$H- H ,,'.,,  &=0,B !##"#"&'732654&'.547>;-;#+$%9 )' % !1 *'%7' $6a9:09'*=<:9''*=':-9 =4632#"&%#"&'732672&'#"&54632>54&#"'>kMHl"ED6:8Qi<1'J:RD ,!$)5=0 7#$G%dSY^FFKCMO7U M +h9  ;+-, A :9 M4632#"&%#"&'73267"&54632>54&''2>54&#"'>32.'kMHl"ED6:8%.", .(+*!-<;-# ?!M5GR.(%32.75%dSY^FFKC<  "$@ A <18 6!'>-+#9:S9 C4632#"&%#"&'73267#"#"&'732654.'.547>;kMHl"ED6:8`$)$+2QAAe5<#F1!)-(*-+9:W%dSY^FFKC  -/"7@EQ 4=%*'4 9B%2>54&#".54632#"&5467.54632.#"632&"#"6M~K.)"5:!QJHD.K-2]Rab*/ZI4 #X,"# ^>F?lE/>$ 3?S47H'M;:nX4S@-A+<@EA  FF(&:a-72>54&#".54632#"&54>32&"#"MK/)!J IFG[2]R`bG< _>F?lE/>$""0"3GXW:nX4RA&A(FF(&[x373#LWWP0X'on5!X'GGh)#".'.'732654&#".54632ufDqm>):+,\@7XW5P=),12 XOBA9J$-_f.YB-/E ?E:N(F8)<E H1+A1N:HT"&'73267>=##".5463!5!5!.54632&#"3#"&'73267'"&54632Q69,f>.76&"IZH 4"-(0kg%`VC]@715-D[HEE:007GCb6*<G3VW E/@0GLT!RXB@E>^LhH8& 3g,.#"#".'732632654&/.=7+ 60B($  0%  7.F$)1g-25085  35   ,31[ 7>32#.#"zGSy5YB4`MCGI)/)/Y"$+2"&'#53>323733#3267#"&'#"!.265!`w46 v\>OFEE &2 P2?E&ENUEG >ux.!E>@ $."0XLOUf][X`.O#)4;"&54?54#"'>32>32.#"!#"&''26=265!M_an%L'+^1|(bD5R*.N2QXrqhBj#c;DRNR[5D@P RN%w@],1Hc[4o><==FQI12;+-^FQS:&'7.=46?33267'7654/$E- ` ",' dF %E< r $ yJm 3#!'73454>32!!!3267#"&'#"!.2:lLdrcV@1O.*R5g9$k  = VFzo7@@Hg`"m/>".574632>32!3267#".'.#"327#"&"!.SD0 ~_Ec5YP3O*)P7KrC*%0##$ DC?I>=Gly32373"32>=4&267.#") < M;W^WN7Y V8eq1aHm9 KKJJH9CAk3?J/2,4TA+  :799!$%!&,*{MxDSIAcXZb-O4Uay#2!#.#"#"&54632332654&'&5432#"&'X  !  3H.  X   2?3  # D9<9 " B88?z7.#"#>325.#"#>325332673#"'32673#"'#  3<-  3<-X  3;,  3;,X$>C p %>D $@B o #@B j3#5.546753'54&'>X6DE5X6CD5%$$$ U=323>32&''26="1@IP56ICXkKAXET0|'X4Y[2;M8# 753={FBXYZ_cH))Y,-]g 6 OT=&.!Ug#!+"&546754&#"#33>32&''26="1@IP9=XFXF \32%3267&#"B08EB6)':=4&'732>54&'.K &2N)1K, -,+& +"C(+OR. %) :%.J$,"+67#.''7&'5>=4&'77.'.4&'32>K <%H&2N)/#,%% -_W t)* \n"C(+OR. C9%)$, :-/ (7.#"5>327#"''7.'%4'326z.(F E.Q7'3* wK7'3)#5PK0-N(4%8$c>&5%85aF1p6~,!-4%"&'#"&54>32>32.#"!%2654&#"265!=_d?r?mFBf hD5N((M5MSdtOIHNOHFA<F9568Z|A8787MZ`5mIghdfiedgSEJNC+)19@"&=!.#"5>32>327#"''7&'&#"2654'267!etdSM4N()M5DifBO:!4'rD3'4+ ^$;NHOF 8#>59[29fgdJ/NJESC$!(/6"&=!.#"5>32>32#"&'"!.267!267!etdSM4N()M5DifBFm?r?d^>GI+HFIFI>VPGQCMJNM7CPG2.0+U3 #33>73>HXF >1bI^,4UB#2&#"&#"#33>32>" -7!:!:#XF I,&A#S ,O4^53/!# *2.#".'#"&546733>"3265" CV2:E1@IOF M8"#SbPM 6 OT753=C^17x!&.#,62&#"&#".'#"&546733>32>"3265F" -7!:!:#2:E1@IOF I,&@t8"#S ,O4M 6 OT753=C^53/ x!&.c#3267##"&'VR!W.X"+T)#   _#&"&5#"&'5326763274&#"326Sc"+T)VR!W.)91J))L)4))45('6 hX F ++J-0L,)79)(97f7#"&'5325432.#"CI&B& BBTGPڔGPP#'##"&53326=F [=YaX9=WGGH*(`d_HCb`Ed353!533##'##"&=#3267!LXXPPF [=YaL9=NI((BH*(`d#HCONPF# .2#"&546"&53326=332653#'##"'#ZZX47ICXkKAXFT0|'X#  ]g_FBXYq_cH(*X+-TJ#".2#4&#"#54#"#33>323>"&54632ZZX47ICXkKAXFS0|'W#]gQFBXYq_cH))X,,Q#732653#'##"&=4&#"56329=WGXF\GHCb`H*(`d*&B JIJ x !-"&/#'.#"5>323>3274&#"326?'.#"5>3233267#"&/#8}a 1,O\]&!  ':;AY&.%O #'"D0/'+8D JF2<i""&/#373>3274&#"326-:jcecH4%7CA"""" )fC36Ez!"#" 373#'#Թdcec <j"373>32#"&/ 4&#"326UdcI4%7CA:-;gJ"""" fC36E)<`!"#"y5332>7373#'#8  ׼ece+-"O %#Y .=P"#"&'5326=467##"&53326=3t{:b*,g9JF7zYaX9=WGXoyROG *U`d_HCb`V #"&'33267#.#"#>32QHJK62.'9779'.26KJHQHJ7] %"'5326=4#"#33632  M8/99#P:?-+Q;:}"49=)3.#.#"#"&546325332654&'&5432#"'9  "/9!)!  )"$"  '""%.#"#>325332673#"'#^ !% 9  % 9#)#* g326=3#'##"&=4#"5632M8.9- ;':?+  ).T;:+:<0',,Up332+!#!254&+Xh\fnXmx=:QIOW3,_2'S"#2!3267#"&'##33>"!.&Ec5YP3O*)P7nXX ~_?I>"32!3267#"&'#"&'73254&#"5>"!.Bi b>Ec5YP3O*)P7Fn!!lC(M@ML+DA?I>#2414bMn:xElbNgcX:FCQ[KQPKLPLO)3E}T?84Cad^IEYa ^rs]^qk7Y"*23>32.#"#'##"&546"326=4&?P 2& FO>dyxrHGGGYBE"/#/#@^E!.Ij`_qkd^]+8#!"#53.54>323#5>54&2OWA:܆5?9mOOl9?5;AWdS\wAA"y[Cj??jC[y"AAw\Sd7:'47"&546323.=3!!3267#"&=!'#'26=4&#"!dxyd>OX#0 <9 P1UEBYGGG9 .! 3Bn4IE@AH"0I]^dkq_`j95I3".5#5?3!>32.#"+3267#".=72654.'.5467#3*G,LM#4 *1U%"J'69<43H&tb<$( !,E'C<954J( /%HA.*#r{F#(9+NF00C IA H $ (8, 1/,32673#"&'#'##"&'732>=&#"#>3253H 32) H S8" *G+ 21* X3;Eb,@Q-Q6!;E`!3>?3#'.'##'.'##3  >A`;0 >>< 1;aC./6405A<353#5#HHP##53d<<>BHH&KKX &KNX&KQXe&K'KXN]&K'KXQU'".5#575.#"#4>323#32671*G,LM?'<6X5[:Mj/%* 4 HA8*#`=6ABS'91{D1/C 32R"&'532654.'.54632&54>323#3267#".5#575.#".#"8Q [/C<954J(oZ&$.L.GX/%* 4*G,LM .!+. "J'69<24I&t P+$ (8,DJ 6G$90{D1/C HA8*#`4(.F#)9+NP|K >;#"|"tVj)KCR'A:AK 2#.+5Wt"F)k'RCA:A_ .#"#>322g9<93 ]H8f2~ !D< ` 32673#"&'2g9<93 ]G9f2 !C= $!5$AA!5AAY!!NAw 3;#".wF)jVtB@;A'S +53267"tWk)BBS'A;@   32673#"&'2g9<93 ]H8f2 !C= $C!5$׽AAC!5׽AAYC!!NAf #"543!</9^34A- 5!632#9)/"A&2)E +;JV^bfosw}53#%53#5!53353353#53#53#"&5463272+"'5326=3%32654&#"2654+#53#5332654&##53#53533!5353!53!53353)^֔5d;:5566G>BB>>BB>}575.e  =6 "##" G+T66j55B$556666^x_5;Q6^^6^666666㄄BQQBCPPL ) "',21.-33--33?6K򄄄_55_555555)d+ 467>54&#">32332654&#"56!++\P*X"(!>!%!gt())(66d#=1CJW#7'##%bBv#"&'532>54&#"#33>32%&/LZHQ!ZG?K%qlL1+[P5`?N\.tz d`aB[o%"&=3326=4&#"#33>32bZYY\RLZHQ!ZG?K%q:w w W`gQ[P5`?Jb\.tzJwE.Zb #/>73#"&'332673"&546323"&54632W410FI70*#6 9QL, 5pF7!7Fw.Zb #/#.'5#"&'332672#"&54632#"&54614QDFI70*#6 , 5 b7FF7!4Z\ %#5>73!52#"&54632#"&546*41W275 ,GGf4Z\ %.'535!"&546323"&546324W(A5 , eGGa&1|a&3|$~&&a$&*($*&./Z$&:a33aZ6a_&  Z#& x2*& 8& 8& & & ln "&>73#"&546323"&546323V9i 2:;(ZG" 21}6\& 4ZP&  & EG#'>54&#"56323.#6$+% %53#55-Zf  L 2-gb& DaN&1  a:&3 #&Q|U"&S|.$!.9"&5467#"&546?54&#"'>32#'#3267326=-52I`~[:5*L!#`4b^@+--dM7+DZ2,=MRPW C4BV^L*F)-883-*KN07$"&JO$&"&5467"#"&5332653#'#3267D52"abYwYEXH $//-2,<]f_d^G!$@!-8J<33JX<E&  k&  P &  O&  OB&  &  UJ<&  # &  X$<&  0&  Q<"&'532653w,)).)WV  I34p_V& # >13#'#.'3c`9<8>£0.& % & %F$"& %;$& % & % & %M$$>& %8U& %v$& %&  & %+$<%##!#3#3!#3[Ea'r32.FZb]^%E!?YYv;C}VXKBwegu MJXVK$G.& 3 -."& 3g$.D& 3|."& 3i$.& 3 J<+324&+32[fbSH%>fbShhAIhiAJ"& 9P$ < :J< !#3#3!JH32&#"3275#53+g9DaeLFNejhd=-VL#G!zbmpG/& H}$/"& Hr$/#C'%#"&54>32&#"3275#53#5>73+g9DaeLFNejhd=-!0WVL#G!zbmpG78 59/& H J < #!#3!5 WWW<<S<##!##5353!5335!SFWWFFWWF[?XXXX__J "& M]$%< 357'53%AAAA244I2%*& P -& P$="& P$ & P k%& P9$& P q%b<& P [#&& P$%$<& PJ& P$b<"'532653,.)WV D34-_Vb#"& [$J<3>?3##JX de@X<" 3J#<3>?3###5>73JX de@X!0W<" 3F78 59J<!!< I<J& _ qJ<!!#5>73Y0 W< I< 69 57J#<!!#5>73!0W< I<~78 59J<& _< %!5'7373%XWv&II";7 M:cJ<#4>7####33RLOy<g1*  +2<0J$<###33.5$kOk!<Q <2N#HJ$& f -J$"& fp$J#$<###33.5#5>73$kOk!_!0W<Q <2N#H~78 59Jb$<%#"'53267##33.53$WM-(*Oi#O_V D),Q 3232654&#"H:v[Zx;;xZ[v:DU[\TXX[UXJJXWJJWdxxdhsw0H& l 10H& lx$0H"& ln$0H& l 0H& l 0H"& l$0H& l$0HT!*#"''7.54>327&#"4&'326H:v[U:"0#(';xZ,I&/'&%D)<[Wb%=]UXJ#1"1'sIWJ48&qG.LUxc/Hy0H& t 30H& l]$0C%2!#3#3!#".54>"3267.7.5-Vu;;uZXVUX% %CGGGJXWIIufhuJ< 2+#2654&+kjplGWAK>AKAK"Ubk3232654&#"HMUvlZx;;xZ[v:FT[]SWX[UdJXWJJWdyxehsxJ< 2#'##2654&+6;cgW;BDAG<7P<047-J& { J"& {2$J#< !2#'##2654&+#5>736;cgW;BDAG!0W<7P<047-78 59)D'%#"&'532654&'.54>32.#"nb7P"M\5BCAHN4Y8/S#$G 1;;)-F'J\P$-*++FE2E$E*'$(;)&  )"& $)D& |p)"&  $)#D'3%#"&'532654&'.54>32.#"#5>73nb7P"M\5BCAHN4Y8/S#$G 1;;)-F'!0WJ\P$-*++FE2E$E*'$(;78 59E,D$#"'532654&+57.#"#4632}^QmbT6B%7F?Yn 6*>CXrfWb=TGJ[L 0-248~ $MJhhsKF <###5W73W!0W73`|  |a<#28v<.'#3>73>73#  b_VV  [U]  ]U_k ;9<#PC(Y"H,* n&  x"& $&  \&  b< 7#373#b`ad'<#53Y`<b&  "& $&  &  < 35!5!!/78I9FI&  "& !$& $2J!!26Za & lnB a 6&*#".5467.54>732654&hO?2cjqGp?dY!8!O)M1QIMRO  0w^r|5hKZv$1#4B( ,O@HVWMJVa a f& B>& ln?z3?;T"&'532653X" #(:B .)>>;"# Ih# 2/# 'S# X# 0S ( ] % "T# 6# ".54632'254#"$Pj4{vPi5ywJ G~S~F|SJdj6# !#467'736Y c+J>'K I;,#)57>54&#"'>32!64?;>)T).3oA\g#C1?G%1/ ,4 "=,%UI-D<"eS#(#"&'532654&+532>54&#"'632ƋSNv?Y'$^4SYg[=>0O0H53I+(V~\uw  RJdoOJD>:J904832#".2654&#&8,. Y4dnxlQm6CKGB(H,%D/I./thmPURFO&=#,U6]!5!snM8}1 (42#"&54>7.54>">54&32654&'^x%>%,H+ks|)D'4I8`<7G#<$4GFJMIMPVBEXS+@15F1Zie[1H4UB7K(G52%2#>625(4EE73E!I/T#(%#"&'53267##"&54>32'"32>54.03tVAam7gFqDJGC(F-"CI2.qgHk3232654&#"0hVys/hUxv~CQPEEPQCfsXítW# 467'73#L.IV+4>;6&357>54&#"'>32!&6J&F84O)/*mDdt.R7iI6TQ0;=$ ;#1eY8b_6P-*#"&'532654&+532654&#"'>32PDVT:y_8`,-h0`Ui_EFX[F<:R(,&qHpm#HU XG>a6RKBC;KJ=49"<,d( !5!533#467#!kP[hhU K#O4M2?2#"&'532654&#"'!!>n~7a!$g/OaV]H,f:ndoSKOFK QP7 ,4>32.#"3>32#".2654&#"7Ge3-E\5R@]r{hDnA?NEE/F'"D1MyHK.Ph;#1qhpDQUDP'< +U73!5!d%zPDz:(5"&54>7.54>32>54&#"2654&/)s|)D'4I8`=^x%>%,H+j4GF:7G#62552%2#E74EI74E2,#"&'532>7##"&54>32'"32>54.Ge5'1F[6SA\q9fEDn@>OCF0F'"DMyHK .Oi:"1qgKl:ERTDO&< +T81  #"&54>32&#"4'326 0hVys/hUxv~"\QC)?3PEfsXítW,$e7+::J`%}`3v`Aw` U`@`L`C`E`I`J~%}~3v~Aw~ U~@~L~C~E~I~B 74673#.<:N;99:M;;eFJ`^LDB 7#>54&'3<;L:77;M>9dCL^`JI>26=467"&=4&',2I^+1',*)1+^I5)$%z>=A$s.21/v#@:Bv'$ >%#5>=4675.=4&'523 )4K],0*))*1+\L2+$'vB:@#v/1/1s#A>>z&#<B3#3#=B#53#53kk>==5<3#4632#"&9aC54&#"'>32#4632#"&t+#! 4):E)L.PZ21!D,=$!&'#=JC4E!*+ }ld '#"&54632327#"&5467>=3 ,#! 4):E(M.O[21!D,<%!&'#=JC5D!*+ 5f<'  *'57ff;a! *?'7hh;K" ]#2.#"3##"&'53265#57546 4)+)WP# *(iiXD .>ED*aOI,;)AhNR 5!!5!  # !'!6=K9UN77?w:>N!#533BnB-PN !'#5353BĪBPN !5#533BBKPN !#5353Bb BP1373?C P373#=BB P3733?sBnP  3753#>BB?P 3773#5>BBzP 3753#>BB0P@"13'753,CĻ1P&!'773-BU/P"!'73,nBƸ2P( !#'73530Bɳ/P& !5'73(kBsK4P&!73.:B^.2P13573hBiSP ! 753>B},WP !5#733;B7P !773ԠBBPz  !5 '3>BrwP 3'3#'X>ԠBBPN3533#NBBBnP-N 35353#NBBBfPvN 35373#5NBBBPN 35353#NBBBqP13'53#NנBBhPSi3'3#N<ܠBB xP 3'353##N;զBBwP 3'3#5P>BBPa- 3'3#'N<٣BB$P1"13'73#5N,CC1P"3'73#N,éBBn2P&!''73-ȠB/UP& 3'753#N(ȠBBk4KsP( !5#'7330B/P&!'3.hB2.^P13'3#N8CC#i$P #3'3#]:kBB!P&3'3#N4ҢBB&i/P  3'753#P:˭BBy"]Py 3'3#5'N4ҢBB%iP' 3'33##_8BB#e(PF%13'73.CS3P'!#'73/n0P.!'73'ɗB7q2*P% !''753-ɠB2P% !5'73)ɠBrx3sP% !'73*ɠB93P1373>CvGP373#=BBuCP3733>mBvnP 3753#=BBu9?P 3773#5>BBvzP 3753#>BBv!0P@N!#5373}æBTnBPN!#533vBBPN !5#533BOBPN !'#533B-B#P13573:CP! 739B|#P!'73:mBxcSP ! 7539B"@XP !5#733:BP !773:B2P%13'73.C+1&P'!'73/B/0$P%!'73-jB21 P% !'7753/B͠/P%!573.;Bi1P" !#'733Ȥ0BF-(P"13'354&#"267'YfA=##UIEQA7'U -rm?&VA)0)!$)!)C'4?UI;K!!>(;DA=1F3L4]#o?"%e0"#$ 0/,.4 4632#"&74632#"&Q "&54632tu^ .'53@;q+.u8877 r #5>73 29:#" j99 47u! >73#7>73#9g6869g696P,83 P,83~r#&'#5>7\@#:;487;,+ P& /:=, 58~r#.'53673-* h@#;86::67 P& 4<,p #"&'33267SGIQ86,)7BKJC-+Y7 #"&546324&#"326A24@@42A7""!"4<<33<<3  nt#".#"#>323267>,'$"4>.'$#BB!#AC""z!!0E$3267#"&54>7Y-52+0""t-82,6, 5:sU$&"&'53265#53533#&  *KKXKKHG#1KGGKU"&546;33#'26=#"(7#A( . y%?]47 iB 5#/ JC*MA<p"&'532653 9.+t-3&&N &&7&ON &&A&N '&&O'{Ny '&&'{Ny '&&O'BNe '&&'BNe '&-'OS$&N '&.'/#&Na&-N '-&ON{ '-&N t'-Y&O'{N> t'-Y&'{N> `'-E&O'BN* `'-E&'BN* '-'OS$&Nq '-'/#&Nr&dN q&dn&ON; {&dx&NE 4'd1&O'{N 4'd1&'{N  'd&O'BN  'd&'BN g'dd'OS$&N1 h'de'/#&N2B  Q' O ['  ' Y&O{ ' Y&{ ' E&OB ' E&B G' 'OS$ H' '/# s' { _' B7Y'EQ'>54&#"5>32'53#"&'33267"&546323733267#"&'#'26=4&#"( ,3+_j0QHJK62.'9v`zwg8T F %1 S*SECVIG 8#)#0 54&#"5>32573#"&'33267"&546323733267#"&'#'26=4&#"( ,3+@0j_AQHJK62.'9v`zwg8T F %1 S*SECVIG 8#)#0 *'.%I^@ $.$.I_gdjke7Yi&l&f&OH^{^7Yi&l&f&Oh^B ^7Yi&l&f&0^{^7Yi&l&f&O^B^6&t 6&t 6&t 6&t 6'7'>54&#"5>32'53#"&'33267"&533267#( ,3+_j0QHJK62.'9OHX*  & 8#)#0 54&#"5>32573#"&'33267"&533267H( ,3+@0j_AQHJK62.'9OHX*  & 8#)#0 *'UK{1#G6i&t&&O^{L^6i&t&&O^Bm^6i&t&&^{X^9i&t&&^Bw^O& RO& RO& RO'@'>54&#"5>32'53#"&'33267".5332654&'3( ,3+_j0QHJK62.'9xCQ)X53HOX 8#)#0 54&#"5>32573#"&'33267".5332654&'3( ,3+@0j_AQHJK62.'9xCQ)X53HOX 8#)#0 *'#AY6/9M(rxFn<;oJOi&&q&OS^{^Oi&&q&Os^B^Oi&&q&;^{^Oi&&q&Z^B^A6$1".54>32">54.4&'326;;]@"/O_09Z5!4u

        =4"as;!3v1+*rL%F5SN "Sp|V!%K;'_+*Do@=ye *8<(/18K hm)a7"*5.54>74632>54&#":JuD7';-0/N.UI>X0K{H3R0<0":xb6hV2zFIW(4[TAoEkA/3eP^O,*> %J< 2J}<3!#J3353%!.'cl.w 3 6IC0.J< =< J < M0HE".54>32'2654&#"'53=Zx;;xZ[v::v\\TXX[UUJXWJJWXJKxdhswddxNN%< PJ< ]> 13#.'c` >0.uJ< eJ$< f-< 5!5!5!BcGGFFGG0HE lJ<3!#!JW< J< x< <357'5!#*'26;?&G(;753'>54&'5Of9/rdWer.:fMWaKR[OK_H*BM%9c@77>d:'MB(H7SCFVWEDR< Ep<!5.=3332>=3/m}W%B,W,B%Wuuvw?J]J?wv0TD%353.54>323#5>54.#"0w.E?yUXx>C/w-6&N> %J< =J < MJ@<"&'53267#3>?3=c#T3EY@XX d( =3B3<"> %> %> %> %> %> %> %> %> %> %> %> %> %>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<J< =J< =J< =J< =J< =J< =J< =J< =J < MJ < MJ < MJ < MJ < MJ < MJ < MJ < MJ < MJ < MJ < MJ <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<%< P%< P%< P%< P%< P%< P%< P%< P%< P%< P%< P%< P%< P & P k & P k & P k0HE l0HE l0HE l0HE l0HE l0HE l0HE l0HE lJ< xJ< x< < < < < < < < < < < < < &  &  &  0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % PJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PW0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P%,& PBU$ & P ke,& PCs$,& B$&  ,& C$0H,& lB$0T,& B$,& %B$J,& =B$J ,& MB$/& %O$/& %p$/& %&O7${$/& %&${$/& %&O@$B$/& %&$B$& %'O$*& %&x$+,& %{b$,& %B$'& %+H& % & % >& %<,& %&{b$<,& %'B$</& %'O$</& %&p$</& %&O7$'{$</& %&$'{$</& %&O@$'B$</& %&$'B$<& %'O$'*<& %&x$'+<'& %&+H<J/& =O$J/& =W$G/& =&O${$F/& =&${$J/& =&O'$B$J/& =&$B$J,& ={I$J,& =B$J /& MO$J /& M$J /& M&OY${$J /& M&5${$J /& M&Ob$B$J /& M&?$B$J & M'O$LJ & M'$MJ ,& M{$J ,& MB$J '& MMHJ <& M<J ,& M'{$<J ,& M'B$<J /& M'O$<J /& M'$<J /& M&OY$'{$<J /& M&5$'{$<J /& M&Ob$'B$<J /& M&?$'B$<J & M'O$'L<J & M'$'M<J '& M&MH<%/& PO%$%/& P$"/& P&O${`$"/& P&${`$,/& P&O$Bj$,/& P&$Bj$I& P&O#$J& P&$,& P{$%,& PBU$J'& PH3& P l)& P t,& Py$$e,& PCs$I& P'lp$0H/& lO$0H/& l$0H/& l&Oi${ $0H/& l&E${ $0H/& l&Or$B$0H/& l&O$B$0H,& l{$0H,& lB$J/& xO$J/& x\$/& O$/& S$/& &O${$/& &${$/& &O#$B$/& &$B$& &O~$ & &[$,& {E$,& B$'& H&  &  ,& y$,& C$& ' l$0T/& O$0T/& $0T/& &On${$0T/& &J${$0T/& &Ow$B$0T/& &T$B$0T& 'O$a0T& '$b0T,& {$0T,& B$0T'& bH0TD& <0T,& '{$<0T,& 'B$<0T/& 'O$<0T/& '$<0T/& &On$'{$<0T/& &J$'{$<0T/& &Ow$'B$<0T/& &T$'B$<0T& 'O$'a<0T& '$'b<0T'& &bH<>& % P,& %&{b$ P,& %'B$ P/& %'O$ P/& %&p$ P/& %&O7$'{$ P/& %&$'{$ P/& %&O@$'B$ P/& %&$'B$ P& %'O$'* P& %&x$'+ P'& %&+H PJV<& M PWJV,& M'{$ PWJV,& M'B$ PWJV/& M'O$ PWJV/& M'$ PWJV/& M&OY$'{$ PWJV/& M&5$'{$ PWJV/& M&Ob$'B$ PWJV/& M&?$'B$ PWJV& M'O$'L PWJV& M'$'M PWJV'& M&MH PW0D&  P0,& '{$ P0,& 'B$ P0/& 'O$ P0/& '$ P0/& &On$'{$ P0/& &J$'{$ P0/& &Ow$'B$ P0/& &T$'B$ P0& 'O$'a P0& '$'b P0'& &bH PH&( B)O)[ OLL&{)d&OBL&B('Oq$(~'M#^y^C(wy'l( {( B(^)c&O{(^B^C)[ O)[ OL[ )[c &O{L[ &{)[d &OBL[ &B([&Oq([&M^y^C(wy'l(^{(^B($Q/ &'#2_ x&2_x&2_6n&6&'@3n&0@ n&0cn&ABn&H8y&'"@H8&'#3@H8n&@H8&'$3@'y&'2_"&'#2_&'$2_&'%2_^on&=A:n&>+y&'"2_]n&@n&Sn&@n&l6n&n&$~@n&2@Xn&An&1Hn&.x&n&L*vx&iGn&In& .x& Edn& On&q;n&(x&VQn&n&3?##"&'.'.54632>54&'#5!2675#4632#"&KQ:'*]!)o=68cL "% '@" 4! !'  4n161dX$";0GG .*> ""!!"n7C%>54&#".5467.5467>;5!5!##"6324632#"&A$.:AEIGF6[c;)"h /6EW)DA! !E $ &+90:G55G|M&;4"( VGG  *C&:L""!!.xEP##"&'327&54632.'#".5467.5463232675#5!654&#"oQG22S /24/ (),&:1  ;Z2E1,.QL>Y.)+.O&Y*!K"("*'E 5$) 4 ))=)G+7IG.5H:;0BGG1!51:$"n*%4&'7!5!5!###"&'.'.54632> U`h)hQ". <69-J"!2b)6F+(-/JCnGGrN03B  F< #.g.54632.#"YB 6&(*g#L$CC B -#!?$.73'.(;uӥ&wn,#>;#"#5#".54632.#"3267!5!j6'@3.4QG2/S2nX91:@=(,Ej'G$&M9P^I4/53*#Gn%@%#"&'.54632>54'#5!!3267'#".54632.#"3267)bIlb"% F>Fc3X/N./K+`O6%077*#:J*k}#-";4)GG.R`TZ!K'F.IQE,,+)(n#".546;5#5!7&"('*<GGvn)3267#"&5467.547#5!#632&"#"8,6I) bIM`(. 4n+"#19 *'+<4QC4F*GG!%(F)n&*vn!!#"&54675!23#"3267f5I0Mc%$ :G:&3InG'VG3HF1/++-nF5!2>54&#".54632#"&5467.54632.#"632&"#"]M~K.)"5:!QJHD.K-2]Rab*/ZI4 #X,"# ^>'GG?lE/>$ 3?S47H'M;:nX4S@-A+<@EA  FF(&PKn!!#"'#".'732654&'7!K<)$,)C(5`X*G.d: )=-nGP-.>=w"(,N@WnI%".5467>;5!5!##"6323267#"'.'.5463232654&:/@93`u .7*#='%3 4) SK?"!9h-;E+ FM1 L3( VGG !   E AK  F9 ),!$v<n(!!>3223267+#"&'732654&#"*AC^ (+ >M"U3E)YB7>9).nG D? M27jr]P4+.( $n&*Xn&*Qn&*An&*n7"'.=#5!#'27>=#],O=B14  !;F6GG*:G ,+'.|n!!467>;#".k-RDlY==JG6.O/nG#8G +1[94(PV.x%.546323267#"&'>54&#"ALI5)K0PJ:33L%%aCUw_M/% Q =:89#H8I^##( C-a]G6233 in&**gx4%#"&5467.54632'>54&#"632&"#"3267%[GM_/;R?5G(= (1# 299,5J,QC2G8;#"#5#"&'.=#5!3267r5(@4.4Q@,(@Or. (*?'GG9GG70#vn%!!#".54632.#">7%3267'`%`A8Y2yb(' 2 C0!)nG,*K3V\E43.x)-%#".546;54&'&#".5463233#L*$! +/9KYL4%:Ƀ44%!',i/2G=@;5D>tGtGn3##".546;5#5!#*$"~lAG%!',GGn%#"&'>54&'#5!#3267&]AZo><{Wo=12L-yd /,0GG46l$11+n5!#"&'73267 P,B}H8f76G('GG$%C$,n(!!&#"'67.#".54>326322.M 1(++R:6:`81I%,I!;W nG?=.#.$&EK142[]55C8?n.=!!#"&'#".54>32>3232654&#"326?67.#"%+O66P'I-/M.-P36O' G.0M.!=#*?7%&57%&6!<#*@nG5U1,#-"+U=8T/+$/ ,Ta!#7>@455 >5541!$8vn!!#".54632.#"3267j%_<6T1s^ '% 0>F?-4KnG,*K3V\I6230-(x,7"&54632>54&#".54632.'z#/$'2@;/98^]GC/R3E=-T@3S%#VA8C#FS:3@+U@Eu!'_,,H]n#"&'.=#5!#267%(VB(AO92 E+I@GG )0 n/267#"&'.'.54632>54&'#5!#q24*]!)o=68cL "% z 4BH 4n161dX$";0GG.*> rn/%#".5467.5467>;5!5!##">;9<&GF6[c ;)EE F8 2:G55G|M%:4#( VGG  Kn*6B!!".'732654&'7!#"'"&546323"&54632"&54632K65`X*G.d: )=-'#+)CqnGT:p}%(G@GJ),:yYn!7"&'>54&'#5!#'.'3267Zo><{W  U#  1,=1"4yd /,0GGW! $411 .x=H#"&'327&54632.'#".5467.546323267%654&#":+2S /24/ (),&:1  ;Z2E1,.QL>Y.),"7*!K"("*9  5$) 4 ))=)G+7IG.5H:;0B t!51:$"n&!!4&'7!#"&'.'.54632>O U`Z". <69-J"!2b)6F+(-nG/JCGN03B  F< #.wn&n&(n&n&n&n&@n&lKn&1O6Wn&<n&$~$n&Xn&Qn&Wn&n&1|n&.x&in&'*L*x&in&n&n&n&.x&En&n&O,n&qwn&7n&(x&Vn&n/;267#"&'.'.54632>54&'#5!#4632#"&q24*]!)o=68cL "% z 4! !BH 4n161dX$";0GG.*> ""!!n/;%#".5467.5467>;5!5!##">;4632#"&9<&GF6[c ;)EE F8g! ! 2:G55G|M%:4#( VGG  ""!! n8?.54632.#"3267!5!!>32'>54&#"#5.6JnX91:@=(,E 9#AR#H '#7Q 5J QFP^I4/53*#GGSM.h2) T)/.%#AnC7.'.54632>54&'#5!##5267!75#".54632.#"HL"% AhQ#: F>Fe@(/K+`O6%077.Dfa#-";0GGS^.R`TXS$'F.IQE,,+)Bn'%##".546;5#5!##5/ 7&"BhQCZ*<GGz]n-'7.5467.547#5!##5'3267!632&"#"v/>G(. 4]gQ8,4M+"#19AT I;4F*GG٩d*'+#!%(F(n& n$'7.54675!23#"3267!5!##5/:G%# :G:&2G/hP AU M<3HF1/+++#GG٧n&Ln%'%5#"'#"&'732654&'7!5!5!##50 &)C(O?G.b@nGG{@n;Q%".5467>;5!5!##5'75#"'.'.5463232654&7267##"632:/@93`@gQ:(D, SK?"!9h-;E+ FM1*D, .7)#D L3( VGGp8 AK  F9 ),!$.  !  n0'%5+#"&'732654&#"'>32232675!5!##5|0 :# =N"U3E)YB7>9).AC] #4hQCU 27is\Q4,.' H D?GG{n&Xn&Pn& An&n''%##"'.=#5!##5%27>=#L0 B/],OgQ4  !CY*:;F6GG{^ ,+'.6n7'7.#"'>325!5!##5/*=*9)"J,(@>%6gQAC6-J90GG.x-?.'>54&#".546323267#5!##5iJe_M/% QALI5)K0PJ:34J R gQ)a\TG6233 F =:89#H8J\$#( GGٴn3?.5467>;5!5!##"3:7&54632.'*,L/!`;1:GOR *+- !C& M -N;,?_GG. 5E#1 # 3#""F*vx<'7.5467.54632'>54&#"632&"#"3267#53##5/hQ+AX J92G832'>54&#"#53267,0O:#AR#H (#59QE ()@5e "F9GGSM.h2) T)/.I370"In )?.54632.#"67!5!##53267'9FXyb(' 2oIgQ C0!))S TDV\E'GG٨743.x5'%5##".546;54&'&#".5463235#5!##580 *$! +/9KYL4%:Ƀ;gQC,%!',i/2G=@;5D>tGG{dn'%5##".546;5#5!##5#30 *$"~dgQC,%!',GG{Sn'7.'>54&'#5!##5%3267#]/K\ ><{ShQ=11LAa qZ /,0GGٲ{11*46ln& n0%'75.#"'67.#".54>326325!5!##59 2.M 1(++R:6:`81I%,I!;W gQ4F?-4K};hPASUEV\I6230-#GG٢x$07'7.''>7.546325#5!##5>54&#"0:^&+[/0)M%5)UIBV-#,x6LhQ".!%("/(C 9D+&H'5LI;+EGG66" "Qn?&'.=#5!##5#3267-8"OQhQ<22 5c"I@GG4/ )0n)3%'75#"&'.'.54632>54&'#5!##5'35!04C,)o=68cL "% hQ kD} 4n161dX$";0GGן./#^:n<?&#".5467.5467>;5!5!##">32'>54'&LCQLH6ah;)~:g 6 S^(FSv99 @M35JP!C4#( VGG  6R**K-)? 9n'?.#"#".54675#5!!632'>54'6*,)7&$29*)tf"H"K%5! GGgY0j4)!X+ n%1=I'75#"'#"&'732654&'7!5!5!##54632#"&'4632#"&4632#"&>!%)C(O?G.b@VGGq"DSn%'7.'>54&'#5!##5#'.'3267]/K\ ><{ShQ   1,=1$5Aa qZ /,0GGٲuE $411 .xIT%75#"&'327&54632.'#".5467.5463232675#5!##5654&#"(a2/]!02/+(),&:0 6S.E1,.QL>Y.(/@_+>hQk*!K"("*>h 5%) 4 ))=)G+7IG.5H:;0A"|GGx!51:$"n.%4&'7!5!5!##5'75#"&'.'.54632> U`gQm:". <69-J"!2b)6F+(-/JCnGGٱ|9ZN03B  F< #.j n&*An&@Bn&j]n&*n0<HO%".5467>;5!5!##"632#"&'73254&74632#"&4632#"&73'f:.A>1]o .7Jbbcb;=9wKt1kE! !(;u L4( VGG ! KADVXF1DAN"$s !!""!!n&jn&R*nHT[%2>54&#".54675!5!##"&5467.54632.#"632&"#"4632#"&73'(M~K.)"5:!QJ759˴3C2]Rab*/ZI4 #X,"# ^>! !Y(;uF?lE/>$ 3?S40D FGGJ TH:nX4S@-A+<@EA  FF(&""!!Q&^n&16@n&Zn&$n ,3##"3267#".54>;5!5!4632#"&73'70@7,G*6L*,c5Em>Do?"! !(;u'&A0?J4bFAY.Gi""!!c&Xn$07##"&54>;5!5!2654&'#"4632#"&73'XPXBnBqDo>XG^:9#J/!_! !<(;u'qIFW)qgC[.G=C0M7'FD{""!!Y&Pn0<C%".5467>;5!5!##"632#"&'73254&4632#"&73'f:/@>1]oPn .7Jbbcb;=9wKt1! !(;u L3( VGG ! KACWXF1DAN##""!!n&An%0<C!".54>75!5!##"&54>32'>54&#"4632#"&73'3NuBHvEA'@E @:!A11?sf7F##,! !4(;u7gIF_1iGG<):J(*"<%%<"FW%!-)"+""!!b&On&6n&A.jx&\*Pn&*[vx&?@9n&jGn&*jn&*jIn&*.@x&@dn&*jSn&!*n!-4%.'.54632>54&'#5!#4632#"&73'6;hP "%'$ h,L1-w! !@(;u*61dX$"<'-GG#:7L54o7""!!&On&qn&'Zj;n& *rx& 2jQn&  *n)3?%'75#"&'.'.54632>54&'#5!##5'35!4632#"&04C,)o=68cL "% hQ ! !kD} 4n161dX$";0GGן./#""!!:n<H?&#".5467.5467>;5!5!##">32'>54'4632#"&&LCQLH6ah;)~:g 6 S^(F! !Sv99 @M35JP!C4#( VGG  6R**K-)? ""!!wn.'7.54632.#"3267!5!#>;#"#5]/6JnX91:@=(,Ej6'@3.4Q AJ QFP^I4/53*#GGGn$?7.'.54632>54&'#5!!74632.#"3267#".HL"%  F>FepM`O6%077*#:N./K+.Dfa#-";0GG.R`TXR?IQE,,+)A'Fn#".546;5#5!'%7&"_/ )'*<GGC:n)'7.5467.547#5!#632&"#"3267v/>G(. 4n+"#198,6I)AT I;4F*GG!%(F('*'+>vn& n& n!!!'7.54675!23#"3267f/:G%$ :G:&2J(&nGAU M<3HF1/++->  n&Ln!!!#"'#"&'732654&'7!'%m^&)C(O?G.b@/C:nIM%".5467>;5!5!!#"6323267#"'.'.5463232654&7:/@93` .7)#D,*D,(D, SK?"!9h-;E+ FM1+ L3( VGG !   I AK  F9 ),!$4n(,!!>3223267+#"&'732654&#"%hAC] #5:# =N"U3E)YB7>9).q )nGj D?T 27is\Q4,.' :vn&n&vXn&Xn&vPn& Pn& vAn&An&Rn##"'.=#5!27>=#'%B/],O4  !n0 )'*:;F6GG ,+'.C:An!!7.#"'>32tP*>)9)"J,(BD*nG]6-J@9C.x%'7.'>54&#".546323267/Je_M/% QALI5)K0PJ:34K%Aa\TG6233 F =:89#H8J\$#( Gin&**x4'7.5467.54632'>54&#"632&"#"3267/;#"#53267,0Or5(@4.4QE ()@5e "F9GGG370"n'!!7.54632.#">73267'`9FXyb(' 2 'C0!)nGS TDV\EA 743.>x)-1%#".546;54&'&#".5463233#'%L*$! +/9KYL4%:ɃZ0 )%!',i/2G=@;5D>tGtGC:n3##".546;5#5!#'%*$"~0 )AG%!',GGC:n'7.'>54&'#5!#3267]/K\ ><{Wo=12L&Aa qZ /,0GG46l$11+En&3n(,!!&#"'67.#".54>32632'72.M 1(++R:6:`81I%,I!;W 9#nG?=.#.$&EK142[]55C8<;n&n!!'7.54632.#"3267jh/FWs^ '% 0>F?-4K+nGASUEV\I6230-D((x ,7'7.''>7.5463253>54&#"0:^&+[/0)M%5)UIBV-#,x6L[!%("/"(C 9D+&H'5LI;+EM>GG6" "#6n'7.'.=#5!#3267%N/-O. 22D3BcI@GG,)0  Sn+/#"&'.'.54632>54&'#5!!;'7+4C,)o=68cL "% :  ՚0(/ 4n161dX$";0GG./#D}:n&*n!-9E!!"&'732654&'7!#"'7%"&546323"&54632"&54632m6O?G.b@G@&(6x92Yn!?.'>54&'#5!#.'3267.K\ ><{W   1,=1"4)a qZ /,0GGTr $411 .xx=ALP267#"&'327&54632.'#".5467.546323#654&#"7A^+(a2/]!02/+(),&:0 6S.E1,.QL>Y.(/Y*!K"("* .l#[ 5%) 4 ))=)G+7IG.5H:;0AG1!51:$"*<Kn&*!!4&'7!#"&'.'.54632>72 U`". <69-J"!2b)6F+(-p(nG/JCGN03B  F< #.S=jwn&6*n&7@n&8jn&9*vn0<HO]%".5467>;5!5!##"632#"&'73254&74632#"&4632#"&73'.#"'632f:.A>1]o .7Jbbcb;=9wKt1kE! !(;u2eD  CeQ! L4( VGG ! KADVXF1DAN"$s !!""!!i&?<H/H%jn&<R*nFRY5!2>54&#".54632#"&5467.54632.#"632&"#"4632#"&73']M~K.)"5:!QJHD.K-2]Rab*/ZI4 #X,"# ^>! !Y(;u'GG?lE/>$ 3?S47H'M;:nX4S@-A+<@EA  FF(&""!!Q&^n&>16n&?Zn&@$v5n ,3A##"3267#".54>;5!5!4632#"&73'.#"'63270@7,G*6L*,c5Em>Do?"! !(;u2eD  CeQ!'&A0?J4bFAY.Gi""!!c&?<H/H%vZn$07E##"&54>;5!5!2654&'#"4632#"&73'.#"'632XPXBnBqDo>XG^:9#J/!_! !<(;u2eD  CeQ!'qIFW)qgC[.G=C0M7'FD{""!!Y&?<H/H%vPn0<CQ%".5467>;5!5!##"632#"&'73254&4632#"&73'.#"'632f:/@>1]oPn .7Jbbcb;=9wKt1! !(;u2eD  CeQ! L3( VGG ! KACWXF1DAN##""!!i&?<H/H%vPn%0<CQ!".54>75!5!##"&54>32'>54&#"4632#"&73'.#"'6323NuBHvEA'@E @:!A11?sf7F##,! !4(;u2eD  CeQ!7gIF_1iGG<):J(*"<%%<"FW%!-)"+""!!b&?<H/H%ORn&In&JA.jx&K\*n&'**[x&M?@n&Njn&O*jn&P*jn&Q*.@>x&R@n&S*jn&T!*O3n&Vqn&'Zjn&X*r(x&Y2jn&Z *Sn+/;#"&'.'.54632>54&'#5!!;'74632#"&+4C,)o=68cL "% :  ՚0(! !/ 4n161dX$";0GG./#D}:""!!n<JV?&#".5467.5467>;5!5!##">32'>54'632.#"4632#"&&LCQLH6ah;)~:g 6 S^(FUDeP!92eD  ! !Sv99 @M35JP!C4#( VGG  6R**K-)? ;3V3)PKB""!!"nO2'>54&#"632#"&'73254&#"'.5467.5467>;5!5!##"6GW'>; '9AMCBCKS]Va<='FO1j1+YL;)"h /,(@$5DC !"&6(3:"M?=N\L+0>J! (6f<#93"( VGG  "nN"&'73254&#"'.5467.5467>;5!5!##"632'>54&#"632-a<='FO1j1+ YM;)"h  /9GW'r 7EJD87KS]\L+0>J! 1`@/0 ( VGG  $:!^$A *%,2M?=N8nQ2'>54&#".#"3267#"&5467.5467.5467>;5!5!##"6GW'>; '9AMCBDAdN =7oJ331*9KU-)@7;)"h /,(@$5DC !"&6(3:"9V1'SW& & F O?'@,X3#93"( VGG  BnQ2'>54&#"232.#"3267#"&547.5467.5467>;5!5!##"6GW'r 7EJD54KpU"=7oJ331*9KUC:4;)"h  /,$:!^$A *%,07[5'SW& & F O?I&(S4/0 ( VGG  ^5nF23267#"&5467.#".5467.5467>;5!5!##"6EW)<62);!KT:<>=FHI>6a_;)5{ .,*C& ! ( ! E K;'L (&:5&DI/5MH'@4#( VGG  XnX23267#"'3267#"&547&54>7&#".5467.5467>;5!5!##"6EW)=51 *;! ,%*9!OP64){FHI>6a_;)5{ .,*C& ! $ A  A K8$@1'N:5&DI/5MH'@4#( VGG  "nO[2'>54&#">32#"&'732654&#"'.5467.5467>;5!5!##"64632#"&GW'r 7EJD<;#LTZIHp6./V3.35&0gY;)"h  /! !,$:!^$A *%.3N>=N/20*%%!  6eD/0 ( VGG  ""!!}nR^2'>54&#"632.#"3267#"&5467.5467.5467>;5!5!##"64632#"&GW'r 7EJD;9KoV"=7oJ342*9KTLB;)"h  /! !,$:!^$A *%-27[5'SW& & F O?.-[;/0 ( VGG  !!""5nFR23267#"&5467.#".5467.5467>;5!5!##"64632#"&EW)<62);!KT:<>=FHI>6a_;)5{ .! !,*C& ! ( ! E K;'L (&:5&DI/5MH'@4#( VGG  ""!!XnXd23267#"'3267#"&547&54>7&#".5467.5467>;5!5!##"64632#"&EW)=51 *;! ,%*9!OP64){FHI>6a_;)5{ .! !,*C& ! $ A  A K8$@1'N:5&DI/5MH'@4#( VGG  ""!!:nT?&#"632#"&'73254&#"'.5467.5467>;5!5!##">32'>54'λ&EEOB<KT]Va<>'FN2i0 * gU;)~:g  :"P_*Fpg21 55"M?=N\L+0>J! ;kD;2 ( VGG  3M('G*&; u:nS?&#"632#"&'73254&#"'.5467.5467>;5!5!##"632'>54'ڪ&@NF9O"!KT]Va<>'FN2i0 *RR;):h  3>Qa*A^1)#G'M?=N\L+0>J! *MD30( VGG  .L.E$(+ vQnV?&#"32.#"3267#"&547.5467.5467>;5!5!##">32'>54'λ&EEO?9KpU"=7oJ252+9KTDD:;)~:g  :"P_*Fpg21 34 8[5'SX' & F O?J&.[9;2 ( VGG  3M('G*&; uQnV?&#"632.#"3267#"&547.5467.5467>;5!5!##"632'>54'ڪ&@NF3G KpU"=7oJ342+9KT;12;):h  3>Qa*A^1)!D%8[5'SX' & F O?D'!<830( VGG  .L.E$(+ vAn3'>54&#".'.54632>54&'#5!!632!H!"#"H+-w@6;hP "%'$ A5J(.W%)E##*!.4o161dX$"<'-GG#: I!nD%"&545.'.'.54632>54&'#5!!>32.#"3267;5!5!##"3:7&54632#"&'73254&#"('+  *UG+!`;1:GOR *+- 38]Va<='FO1j1+  /O9,?_GG. 5E#1 # ' G3=N\L+0>J! nO#"&546323.'#".5467>;5!5!##"3:7&54632.#"32679KU\O  *UG+!`;1:GOR *+- Ig(>6pI342* O?9P/O9,?_GG. 5E#1 # *g>'SX' & ;nF"&5467&'#".5467>;5!5!##"3:7&546323267KU8- *UG+!`;1:GOR *+-%(1.2 /"CO?/B& /O9,?_GG. 5E#1 # ;# )!"E 4nK?.5467>;5!5!##"3:7&54632#"&'732654&#"'67.'*,L/!`;1:GOR *+- 47QJSz7=5A.).&"$! M -N;,?_GG. 5E#1 # % J6=NWQ+)?#'#"A "nN?.5467>;5!5!##"3:7&54632.#"3267#"&546323.'*,L/!`;1:GOR *+- Ig(>6pI342*9KU\O M -N;,?_GG. 5E#1 # *g>'SX' & F O?9P ;nE?.5467>;5!5!##"3:7&546323267#"&5467&'*,L/!`;1:GOR *+-%(1.2 /"C)KU8-M -N;,?_GG. 5E#1 # ;# )!"E O?/B& An3?'>54&#".'.54632>54&'#5!!6324632#"&!H!"#"H+-w@6;hP "%'$ A5J.! !(.W%)E##*!.4o161dX$"<'-GG#: I""!!!nDP%"&545.'.'.54632>54&'#5!!>32.#"32674632#"&7.'#".5467>;5!5!##"3:7&54632#"&'732654&#"%4632#"&F   *UG+!`;1:GOR *+- 77QJWy4=/V='0)$!   !/O9,?_GG. 5E#1 # & L4=N\L+IB%%! J""""nO[#"&546323.'#".5467>;5!5!##"3:7&54632.#"3267%4632#"&9KU\O  *UG+!`;1:GOR *+- Ig(>6pI342*! ! O?9P/O9,?_GG. 5E#1 # *g>'SX' & ""!!;n&L|Pn0<U%".5467>;5!5!##"632#"&'73254&4632#"&"&'732654&#"'632f:/@>1]oPn .7Jbbcb;=9wKt1! !I[878d@/.-(17ENU L3( VGG ! KACWXF1DAN##L>0<9 CF84G{Pn0<V%".5467>;5!5!##"632#"&'73254&4632#"&"&54632.#"3267f:/@>1]oPn .7Jbbcb;=9wKt1! !FOVFEgP">1dA..-(4 L3( VGG ! KACWXF1DAN##F84G2Q0'HN D|An%0<U!".54>75!5!##"&54>32'>54&#"4632#"&"&'732654&#"'6323NuBHvEA'@E @:!A11?sf7F##,=! !I[878d@/.-(17ENU7gIF_1iGG<):J(*"<%%<"FW%!-)"+L>0<9 CF84G{An%0<V!".54>75!5!##"&54>32'>54&#"4632#"&"&54632.#"32673NuBHvEA'@E @:!A11?sf7F##,=! !FOVFEgP">1dA..-(47gIF_1iGG<):J(*"<%%<"FW%!-)"+F84G2Q0'HN DGg "&546323#BQQg4632.#"#.53XB!5&(*P{QCC B -#!<$#Log$4632.#"#.5374632#"&XB!5&(*P{QCC B -#!<$#Lom&&&$&Q,$0-#53.#"#.54632>32.#"13##YYW=7(*PTK,>B, 6&(*  ngQ'Ghc1+"7#@"AS  B -#>$G$0-9#53.#"#.54632>32.#"13##"&54632YYW=7(*PTK,>B, 6&(*  ngQ'Ghc1+"7#@"AS  B -#>$GEg. .'#"&'73267632.#":$E^"F9-1/;(? 6&(*g:Y^FDIC B -#!?$g. ,.'#"&'73267632.#"'4632#"&:$E^"F9-1/;(? 6&(*g:Y^FDIC B -#!?$m%g!.#"#".'732632'4632#"&(&  #9/B%+ %8+   gH4;7,,"VM""""%g1$.#"#".'732632>32.#"(&  #9/B%+  P5!4&)*gH4;7,,.. B -$ +F%g1$0.#"#".'732632>32.#"7"&54632(&  #9/B%+  P5!4&)*?gH4;7,,.. B -$ +F;gg.#"'632'4632#"&)2""'46O?!!!!gO[& I3{k""""gg3.#"'632632.#")2""'41<e 6&(*gO[& I"+M B -# /@gg3).#"'632632.#"7"&54632)2""'41<e 6&(*@gO[& I"+M B -# /@;Tg).#"'>327.#"'632'4632#"&-+*2-F&, '46O?!!!!g(% E +&49E3{k""""Tg3,.#"'>327.#"'632632.#"-+*2-F&, '4.Be 6&(*g(% E +&49E#*M B -# 0=Tg3,8.#"'>327.#"'632632.#"7"&54632-+*2-F&, '4.Be 6&(*@g(% E +&49E#*M B -# 0=;*&1&1&(&(4&(4&j&j6&j6&W&W6&W6&&JG&LG&Mg.54632.#"'4632#"&YB 6&(*g#L$CC B -#!?$m &&H8&H8&3H8&3'&&&&+& &&&J &'2_6&'H8&'@H8&'3@H8&'@3'&'2_&'2_&'2_&'2_+&'2_in/.54675!5!5!!>32'>54&#"##"8.N/-i9$@S"I'#68Qe15IG (PU1. HGGSM.h2) T)/.IH +1[9xZb%"&547#"#5#".54632.#"3267!5!#>;632>54&#".54632.'##5!#/.4QG2/S2nX91:@=(,E2n6'1'2@;/98^]GC/R3E=-T@3S%QY#$&M9P^I4/53*#GG=VA8C#FS:3@+U@Eu!'_,,H]j'GGxEks%"'#".54632.#"3267>32>54&#".54632.'#".'.54632>54'#5!!327##5!C'/K+`O6%077*-#'2@;/98^]GC/R3E=-T@3S%#)nDDI"%WE=K]qRQY 'F.IQE,,+) VA8C#FS:3@+U@Eu!'_,,H]} ,l_&";4)GG0QaYV3'GGenBN".547>;5!5!##">32##"'#".546;5.'73265474632#"&fD*;#:3_s( =PZL!,+4!",N >>=<5: F*. >GG   ?8 4 '8Y7%1D32f  Vn>JQ".546;5&'732654#".547>;5!5!##">32#5#4632#"&35#"'4%P:>>=<5_D*;#:3_s( =PZL0!)42'7{%B1D32 F*. >GG   ?80s"   \ n@S_%".5467>;5!5!##5#"&'>54'.#!"632#"&'73254&267!32%4632#"&f:/@>1]ohQB&Ov9B %&~ .7Jbbcb;=9wKt1&>6=17: L3( VGGcac'"  ! KACWXF1DAN##TpV/1<+ !!n">!##5#"&54675!23#"3267!#"&54675!23#"3267hPH2Mc$ :G:&2G5G.Mc$:G:&2FnG٥VG3HF1/+++#&VG3HF1/+++anHc!##"&5467.54632.#"632&"#"32>54&#".54675!#"&54675!23#"3267a3C2]Rab*/ZI4 #X,"# ^>4M~K.)"5:!QJ75$Y?Mc%$ :G:&/DnGJ TH:nX4S@-A+<@EA  FF(&?lE/>$ 3?S40D F1VG3HF1/++(an&nZo%2>54&#".54675!5!##5#"&'>54'.+"'#"&5467.54632.#"632&"#"323267(M~K.)"5:!QJ759hQC*Hv:B %&0' 2]Rab*/ZI4 #X,"# ^>#6=17:$)CF?lE/>$ 3?S40D FGGgac'" '1:nX4S@-A+<@EA  FF(&J/1<+!gn;!###"'#".'#"'#".'732654&'7332654&'7!5!hQ)$,)C(3[U)A)$,)C(5`X*G.d: )=-/g; )=-nGrP-.>8kP-.>=w"(,N@"(,N@nn0K5!##"632#"&'73254&#".5467>;5".'732654&'7!#"'n .7Jbbcb;=9wKt1.:/@>1]5`X*G.d: )=-~)$,)C'GG ! KACWXF1DAN## L3( V)=w"(,N@GP-.>nG%"&'732654&#"'>323267&'732654&'7!5!5!###"'#"&'#"#,U3E)YB7>9).AC] "F.d: *=-hQ(#-)D(=l239 =Mvjr]P4+.( H C?#'"(,N@nGGrP-.>Qb27n<%"&54>;5!5!##"3267#"3267#"&54>;5"m>kA K!EXC2S)9K!EXC2S)(l3m>kA YX9I#AGG  #7+K s  #7+KYX9I#"vHnV%"&54>;5!5!##"3267#"3267.#"3267#"&5467.54>;5"jz:gC`9OD;U&1>`9OD;U&J&;XD=7oJ331+9MS87Q[:gCON4B ;GG /%K o /$K  3I)#GL F G8*? MC4B -n1A".54>;5.54>;5!5!##"3267'2654&'#"Go??lCjz>kA -K!EXC1T)A#LX@mEGZ88)%?W%N=8I$#YV9I#AGG  #7+K 0[::I!G-0#: &12vDnIV%"&54>;5!5!##"3267.#"3267#"&5467.54>;254&'#"jz:gC-`9OD;U&8GLX_N8TA=7oJ331+9MS76V\?j@882F)ON4B ;GG /%K -R4DD 4F(#GL F G8)? KE3C!M0  !Sn2E5!##5#"&'>54'.+#"3267#".54>;5267!32gQD)Iu:B %&70@7,G*6L*,c5Em>Do?*C'6<17:'GGhac'" -&A0?J4bFAY.c hV/1<+Xn'7G".54>;5.54>;5!5!#2654&'#"2654&'#"'Hq@@nCGn?@nCXM[^JM[AnGI\:9*&AZMI\:9*&AZ%N=8I$#%N<8I$BGGH[:GL /[::I!-0#: &12-0#: &12wn)<K#5#"&'>54'.+"&'#"&54>;5!5!267!!22654&'#"QC)Iu:A &&#6w)B5=08:G^:9#J/!_'_ac'! !b;FW)qgC[.GGZ q^/1<*9=C0M7'FDPnJU"&5467.'732654#".547>;5!5!##">32#"&54632'23254#"NwseL3>>=<5_D*;#:3coPn( =PZ=A>(P<: KMFEkov=*'ZXJJ F;1D32 F*. >GG   ?8-C ?  $-1)=>':Gn<'PnR".547&'732654#".547>;5!5!##">32#"'>32#"&'732654fC+;R:><=<5_C+;#;2coPn'<O[_f%#;O[_fZ<><=<51 F+$%D1E4 4 F+/ @GG   @99K  @99KIF1E4 4vfnn%".547&'732654#".5467>;5!5!##">32#"'">32.#"3267#"&5467.'732654fI(8O::AD<5_I(8:1goPn! APZ^g"! APZHM7QA=7pI342*9MR>=Gy.:AD<5 B( #@2B1+ B(!  4GG{    :56D    :5/A 3F'#GL F G8,B C22B1+jn@S%".5467>;5!5!##5#"&'>54'.#!"632#"&'73254&267!32f:/@>1]ojhQC*Hv:B %& .7Jbbcb;=9wKt1)C16=17: L3( VGGgac'"  ! KACWXF1DAN##T!gV/1<+jn@SZ%".5467>;5!5!##5#"&'>54'.#!"632#"&'73254&267!3273'f:/@>1]ojhQC*Hv:B %& .7Jbbcb;=9wKt1)C16=17:E(;u L3( VGGgac'"  ! KACWXF1DAN##T!gV/1<+љ&An@KV"&54>35.54>35!5!##"&54632#"&5463223254#"23254#"7xBuLuBuLA>)P<; KMFDEE>)P<; KMFDjov=*'v=*'YY9I#!YX9I#@GG  $-1)=>'/A m  $-1)=>':G<'o<'an5HS!".54>75!5!##5#"&'>54'.#!"&54>32%267!32%>54&#"3NuBHvEahPD)Iu:A &&@E @:!A11?s)C5=17:17F##,7gIF_1iGGU`d'! <):J(*"<%%<"FWw!zh.2;*%!-)"+n.54675!5!5!###"U.N/hQt15JF (PV0-HGGH *1[9n!!#".54675t15JF6.N/nGG *1[94(PV0-Hx-1G#5#"&'>54&#".546323267#5!%!!467>;#".SQP7Uw_M/% QALI5)K0PJ:34J R F8-RDlY==JG6.O/'ٴa]G6233 F =:89#H8J\$#( GGGG#8G +1[94(PVx,08N%"&54632>54&#".54632.'!)##5!467>;#".#/$'2@;/98^]GC/R3E=-T@3S%<<{QYJRDlY==JG6.O/#VA8C#FS:3@+U@Eu!'_,,H]G'GG#8G +1[94(PVZn9Y"&5467.54632>7>;5!5!##"3:7&54632''3267#".'&#"632&"#" Z`&+YI!`;ٞ1:G/PS *+-"UF9Tj9+P3 2fM [,"  ),L:/:&9?%7_GG?5E#1 % )G,##\KC9<D!Zn>".546;5.5467>;5!5!##"3:7&54632'#"&'2"&1!`;1:GPT *+-"TEU  +&6WP<,?_GG. 5E#1 % Zn5AJ".5467&5467>;5!5!##"3:7.54632'7"&'>7327'9V0G="`;k1;GPT *+-"TE:*pY1f%/  5})G.=R%-,?_GG. 5E #1 % 0G!3$")Z%n]#"&'.546?'.#"3267#"&54>32767.5467>;5!5!##"3:7&54632's *"!''/@(963$4_;!`;%1:GPT *+-"TEJ;    T)+?<0(189X9*SD,?_GG. 5E#1 % Zzn3C".5467&5467>;5!5!##"3:7&54632''32>7#"&'8T/B9"_;uz1:G.OT *+-"TE9*mC+,H; 0c%'4})G.;O%0,?_GG>5E#1 % 0G1)&:  0ZynCVf".5467&5467>;5!5!##5#"&'>54'.+"3:7&54632'%267!3232>7#"&'8T/B9"_;uyhQC*Hv:B %&:G.OT *+-"TE9*m)C6=17:_C+,H; 0c%'4})G.;O%0,?_GG^ac'" >5E#1 % 0G!p_/1<+_1)&:  0Z&nf'#"&5467.54632'654&#"632&"#"3267#".5467>;5!5!##"3:7.54632E9TjAZ` >OM<2C;&&; (  (-9+Q4 *WI-!`<&0;GPT )*-!)G,L:#F=9K5+.&* $ D!##]J/N9,?_GG. 5E #1 % Z$nv.+"3:7.54632'#"&5467.54632'654&#"632&"#"3267#".5467>;5!5!##5#"&'>54267!32| %&;GPT )*-!UE9TjAZ` >OM<2C;&&; (  (-9+Q4 *WI-!`<$hQC*Hv:B])C6=17:o . 5E #1 % )G,L:#F=9K5+.&* $ D!##]J/N9,?_GG^ac'"!p_/1<+W*nG.'#".547.5467>;5!5!##"632&#"3:7.54632& ;5!5!##5#"&'>54'.#!"632&#"3:7.54632267!32& ;5!5!##5##";23d*$"$ B+3&@-;hQ-) S).&,) 5!- VGGa$!( 1&n:"&547.5467>;5!5!##5##"632.#"3267Uf&:*DhQE_ 0? &# ,>>;0Ov4 PC6(<(( VGGq4$2 # H-)*(TD7n7"&547.5467>;5!5!##"632.#"3267Uf&:*D 0? &# ,>>;0Pv448J] PC6(<(( VGG # H-)*(WD<93!.n<7".5463!67>;5!5!##"632#"&'73254&#".'#6&" >1].n .7Jbbcb;=9wKt1.:-?*< VGG ! KACWXF1DAN## H06.n& x;?#".5463!>54&#".546323267#5!##5#"&'!!6&"N@/% QALI5)K0PJ:34J R gQP7Os*6*<(D1233 F =:89#H8J\$#( GGٴUQDGx;?#".5463!>54&#".546323267#5!##5'7.'!!6&"N@/% QALI5)K0PJ:34J R gQ/Ea*6*<(D1233 F =:89#H8J\$#( GGٴAaPIDGx<@N##5#"&5467.54632'>54&#"632&"#"3267#53)!#".5463!hQI:M_/;R?5G(= (1# 299,5J>j/6&"'ٖQC2G854&#"632&"#"3267!!#".5463!%[GM_/;R?5G(= (1# 299,5J#/6&",QC2G854&#"632&"#"3267#53##5!!#".5463!/hQ#/6&"+AX J92G854&#".54632.'#"&547!)##5!6&"'2@;/98^]GC/R3E=-T@3S%#/KQY*6*<>VA8C#FS:3@+U@Eu!'_,,H]#DG'GGGn!.3"&'.546?>7&'.=#5!##52675#/+ %,OGhQ $F'G $  HBGGs+ %߇)0 x<@W_##5#"&5467.54632'>54&#"632&"#"3267#53)!#".54632.#"67%327'hQI:M_/;R?5G(= (1# 299,5J>?Z(`A8Y2yb4)C0# )'ٖQC2G832'>54&#"#5#"&'&'##".546;5#5!3&=#!3267':#AR#H (#59Q@+(@ *$"~mb, ()@'SM.h2) T)/.I%!',GGſ70"x-B235#5!##5##".'##".546;5#5!6!54&'&#".547#%:Ƀ;gQ.&*$"~y5 +/9KYixD>tGG%!.%!',G i/2G=@nT263267>;5!5!##"632#"&'73254&#".545&#"'67.#".54>,I!1]n .7Jbbcb;=9wKt1.:/@3.M 1(++R:6:`81I8VGG ! KACWXF1DAN## L3?=.#.$&EK142[]55Cn&gx-1V#5#"&'>54&#".546323267#5!%!!&#"'67.#".54>32632QP7Uw_M/% QALI5)K0PJ:34J R 2.M3 (++R:6:`81I%/N$8O 'ٴa]G6233 F =:89#H8J\$#( GGGG=92&.$&EK142[]55C"-n1=2.#"3267&'>54&'!5!##5#"&'#".5463267# '% 0>F@1,U></hQN31N9K34U2s6=12JI6230-)$+ /,0GGٳ&"'*K3V\11*46lwx4@#5#"&5'%32675.''>7.546325#53>54&#"_Q3G@Ya/"#0)<F7+[/0)M%5)UIBV-#S|@2!%("/"'PO%PDDC=()!%%9D+&H'5LI;+E GG6" "#6wx;G#5#".54632.#"32675.''>7.546325#53>54&#"_QB)1M,cQ9'3::,%<F7+[/0)M%5)UIBV-#S|@2!%("/"'PL'F/HQE-,+(%9D+&H'5LI;+E GG6" "#6-x?K5!##'67.#".'.''>7.54632>32675>54&#"`hQ5BM 0(++Q:58]96V#+[/0)M%5)UIBV-#= 1=+J"7X4".!%("/'GGc@M.#.$&EK14/XY1 9D+&H'5LI;+E #,3~666" "x3?!"'.546?>7&''>7.546325#5!##5>54&#"B&%!7/N"qV+[/0)M%5)UIBV-#,w7MgQ $d!%("/" $ &&9D+&H'5LI;+EGGi+6" "#6Wn!$+!".547.=#5!##"32675#67'=!TWhA6 6&*Ldq/7[n3FIP!".547.=#5!##5#"&'>54'.+#"3267%267!32%5#67'=!T[hQC)Iu:A &&mA6 6&*L q^/1<*q/7Wn&!\n#5!".5467.=#5!#5#6;'2654.'#",7hD!T\m(%0=l+74GHS 0!$=*F#J=)=?.GG#C/9G!dr-4=,1 * &%,un*=@HZ!".5467.=#5!##5#"&'>54'.+%267!32%5#6;'2654.'#",7hD!TuhQC)Iu:A &&(%0=l)B35=08:74GHS 0!$=*F#J=)=?.GG_ac'! 4#C/9G! q^/1<*r-4=,1 * &%,\n&$ x>[%.'.54632>54&'#5!6323267#5!##5#"&'#"&'7267>54&#".547#|68cL "%  )K0PJ:34J R gQP7Ej08*]!)o2)E(?5/% QAL 4*61dX$";0G #H8J\$#( GGٴA> 4n @-233 F =:.*> yx6S%.'.54632>54&'#5!6323267#"&'#"&'7267>54&#".547#|68cL "%  )K0PJ:33L%%aCEj08*]!)o2)E(?5/% QAL 4*61dX$";0G #H8I^##( C-A> 4n @-233 F =:.*> n/>J#5#"&'.'#"&'.'.54632>54&'#5!2674=#%#3267QD/(A;(*]!)o=68cL "% %=  4 2(F'ٿ#  4n161dX$";0GG .*> )0 &Xn7F3267#"&'.'#"&'.'.54632>54&'#5!2674=#D 2)G$(S;(A;(*]!)o=68cL "% %=  4')0 (D(#  4n161dX$";0GG .*> n.=I%7&'.'#"&'.'.54632>54&'#5!##52674=#%#3267ѩ6 ;(*]!)o=68cL "% hQΏ%=  4 1'H5d #  4n161dX$";0GGO .*> )0 &nAP[>32'>54&#"#5#"&'&'#"&'.'.54632>54&'#5!2674=#%3267p:#AR#H (#59Q@+(@ ;(*]!)o=68cL "% %=  4 ()@'SM.h2) T)/.I'  4n161dX$";0GG .*> 70")nFP.5467.5467>3!5!5!#!">;2#4&+#"'.=72>=#BY, ;) 6'S Q#5%I" )#L>@o=hg;"G5#( VGG  #?8r+218+b E+OW8)os(.)nG".546;54&+".5467.5467>;5!5!#!">;2#5#Y0""76)'VD6Ia1 ;)M 6'UQo"&6. E+LW;4>gg;"G5#( VGG  %=0)/n2D.5467.5467>;5!5!##5##".546;.#"##"632Ia1 ;)/hQ)$"5>gg;+C5#( VGGP$"',/:=A+LW;  bO)!n+G.5467.5467>;5!5!##5#"&'>54#"7267##">32Ia1 ;)!gQ?)Js9Bf'VD': 7!4U29/;>gg;"H5#( VGGDb \^!7~+LW;   8+25%)nV.5467.5467>3!5!5!#!">;2#5'67.#".54>326754&+"BY, ;) 6'WP/A !AI-K['=hg;"G5#( VGG  '; ;>4% !*H438l=(3 E+OW8)nT.5467.5467>;5!5!#!">;2#5#"&54632.#"326754&+"BY, ;)%Ф 6'O  Q;'FZZL2  %0/2+#8#76)#L>=hg;"G5#( VGG   /!V L=@KB&##" E+OW8n22675!5!#'>54&#"'67.#".54>,I!0D*ʤ(B;'E#3,#3.M 1(++R:6:`81I- GG JEFt53)`7-+?=.#.$&EK142[]55C@n&3n&3n&3'DLxKW2675!5!#'>54&#"'67.#".'.''>7.54632>>54&#"N,I!0Dx|(B;'E#3,#3.M 1(++R:68\:6V#+[/0)M%5)UIBV-#= 1=!%("/"- GG JEFt53)`7-+?=.#.$&EK14/XY1 9D+&H'5LI;+E #,!6" "#6n..'#"&54632>54&#"'675#5!###-7%0$( +C@2%=&=ChQCQG8/ #;" >12.FLGG'N RJ>[0n*.'#"&54632>54&#"'675#5!#-7%0$( +C@2%=&=CCQG8/ #;" >12.FLGGN RJ>[0|n&8<|n&9<n&*66n&'l*vn&LvnHT[i%2>54&#".54675!5!##"&5467.54632.#"632&"#"4632#"&73'.#"'632(M~K.)"5:!QJ759˴3C2]Rab*/ZI4 #X,"# ^>! !Y(;u2eD  CfP!F?lE/>$ 3?S40D FGGJ TH:nX4S@-A+<@EA  FF(&""!!Q&?<H/H%.xD235#5!!>32'>54&#"#5##".546;54&'&#".546%:Ȃ:#AR#H '#69Q*$! +/9KYLxD>tGGSM.h2) T)/.I%!',i/2G=@;5.x&@E.x;235#5!#>;#"#5##".546;54&'&#".546%:Ȃz6'@3.5Q*$! +/9KYLxD>tGGG%!',i/2G=@;5.x&BE.xH-5##".546;54&'&#".5463235#5!!>32'>54&#"#5 *$! +/9KYL4%:Ȃ:#AR#H '#69Q+-%!',i/2G=@;5D>tGGSM.h2) T)/.Iz.@x&D.x?-5##".546;54&'&#".5463235#5!#>;#"#5 *$! +/9KYL4%:Ȃz6'@3.5Q+,%!',i/2G=@;5D>tGGGz.@x&FXq,.'#"&54632>7#"'.=3326?b#<&1$+ &1.54&'.+"'&5467#5!#;2e `.+,(11 >)+7-('J6k8HH9o.& *"4Rm2%>54'.+"'&546732654'7#"';2n2b,+-E3B$Q6AAD >D+7- (%L/`%! 3D).Y'( *"4#53.54632#&$#"3##YYP +Se mgQ'G0!SXJPel6A+G;#53.54632#.#"3##YYRdUs=P5tI7< mgQ'G7HYkg7/0Gm#53.54632#.#"3##YYRi[}CQ=P+Gd#53.54632#&$#"3##YYP Pcô mgQ'G0!SXIQel7?+G&K,&L,&M,&N:,&Oj,W&P,~&Q,&R,&S,&TS,8&U,m&V, -#53.54632&54632.#"#&$#"3##YYP GzYB 6&(*X mgQ'G0!SX^MCC B -#!?$el6A+G,#53.54632>32.#"#.#"3##YYRdUAk, O6 6&(+ P5tI7< mgQ'G7HY/../ B -#!'kg7/0G+#53.54632>32.#"#.#"3##YYRi[K{4 R: 6&(*V=P32.#"#&#"3##YYP ta[AU@ 6&(*VFO lgQ'G2N^B;>? B -#!?$;3-Gv*#53.54632>32.#"#&#"3##YYP zfgGXA 6&(*VMV lgQ'G1O^F>BB B -#!?$;5,G,#53.5463254632.#"#.#"3##YYP mtNXB 6&(*U[qU\ lgQ'G1O]I@CC B -#!?$gj;6,G-#53.54632454632.#"#.#"3##YYP sTXB 6&(*Vb|\c lgQ'G1P\LCCC B -#!?$gj:8+G-#53.54632&54632.#"#.#"3##YYP y[XB 6&(*Vjdh lgQ'G1P\PECC B -#!?$fk:9+GA,#53.54632&54632.#"#&$#"3##YYP aXB 6&(*Vq lgQ'G1Q[SG CC B -#!?$fkt,Gs-#53.54632&54632.#"#&$#"3##YYP gXB 6&(*Vxsu lgQ'G1RZVH CC B -#!?$el8<,G-#53.54632&54632.#"#&$#"3##YYP !mXB 6&(*Vթ|z lgQ'G0 SYYICC B -#!?$el7>+G-#53.54632&54632.#"#&$#"3##YYP 4sXB 6&(*Wô mgQ'G0!SX\KCC B -#!?$el7?+G -9#53.54632&54632.#"#&$#"3##"&54632YYP GzYB 6&(*X mgQc'G0!SX^MCC B -#!?$el6A+G,8#53.54632>32.#"#.#"3##"&54632YYRdUAk, O6 6&(+ P5tI7< mgQ'G7HY/../ B -#!'kg7/0G+7#53.54632>32.#"#.#"3##"&54632YYRi[K{4 R: 6&(*V=P32.#"#&#"3##"&54632YYP ta[AU@ 6&(*VFO lgQ'G2N^B;>? B -#!?$;3-Gv*6#53.54632>32.#"#&#"3##"&54632YYP zfgGXA 6&(*VMV lgQ'G1O^F>BB B -#!?$;5,G,8#53.5463254632.#"#.#"3##"&54632YYP mtNXB!5&(+U[qU\ lgQ'G1O]I@CC B -#!?$gj;6,G-9#53.54632454632.#"#.#"3##"&54632YYP sTXB 6&(*Vb|\c lgQ2'G1P\LCCC B -#!?$gj:8+G-9#53.54632&54632.#"#.#"3##"&54632YYP y[XB 6&(*Vjdh lgQe'G1P\PECC B -#!?$fk:9+GA,8#53.54632&54632.#"#&$#"3##"&54632YYP aXB 6&(*Vq lgQ'G1Q[SG CC B -#!?$fkt,Gs-9#53.54632&54632.#"#&$#"3##"&54632YYP gXB 6&(*Vxsu lgQ'G1RZVH CC B -#!?$el8<,G-9#53.54632&54632.#"#&$#"3##"&54632YYP !mXB 6&(*Vթ|z lgQ'G0 SYYICC B -#!?$el7>+G-9#53.54632&54632.#"#&$#"3##"&54632YYP 4sXB 6&(*Wô mgQ0'G0!SX\KCC B -#!?$el7?+G#53.#"#&546323##YYV&S>.1 P"ZObz0mgQ'Gib4,!7@@DUG#53.#"#.546323##YYU0jE49 R`Um8mgQ'Ghc6.!5,J&~0,0*#53.#"#&54632>32.#"3##YYV&S>.2 P"[Oe@I/!5&)*mgQ'Gib4,!7@@DUI$% B -# +8G0+#53.#"#.54632>32.#"3##YYU0jE4: RaU>b) N5!5&)*ggQ'Ghc6.!532.#"3##YYQ@K To^S:U=!5&)*ggQ'G92!17 L\<79: B -#<"G0*6#53.#"#&54632>32.#"3##"&54632YYV&S>.2 P"[Oe@I/!5&)*mgQ'Gib4,!7@@DUI$% B -# +8G0+7#53.#"#.54632>32.#"3##"&54632YYU0jE4: RaU>b) N5!5&)*ggQ'Ghc6.!532.#"3##"&54632YYQ@K To^S:U=!5&)*ggQ'G92!17 L\<79: B -#<"G &= &=w "&'732654&#"'>32Sz7=5A.).&"$!4CIQWQ+)?#'#"A N>=N &_ &_H& H& HvB&!HvB&!.v-?vE&?vE&?v&@.v@v&@ 632.#"4632#"&DeO"92eD  ! !,3V3)PK""""@ "&'73267%4632#"&7\D56C[   'B""B'0""!!@ '"&'73267%4632#"&"&'732677ZD56C]   B7X&F+,F%X&B!!B'""!!m BB bn.:".547>;5!5!##">32#"&'73265474632#"&fD*;#:3_s( =PZ^gZ<>>=<5: F*. >GG   ?88JHE1D32f  cnH%2>54&#".54675!5!##"&5467.54632.#"632.#"(M~K.)#3;5!5!#sK!EXC1T)(l3m>kA   #7+KYX9I#AGGXn&%".54>;5!5!#'2654&'#"'Hq@@nCXM[AoFI\:9*&AZ%N=8I$BGGH[::I!G-0#: &12bPn.".547>;5!5!##">32#"&'732654fD*;#:3coPn( =PZ^gZ<>>=<5 F*. >GG   ?88JHE1D32An"-%"&54>35!5!##"&54632'23254#"6wBuLA>)P<; KMFDknv=*'YY9I#@GG  $-1)=>':Gn<'n -;5!##"&'#".54>32>7532654&#"326?5.#"4D_Q6O& I./M.-P36O&:#W;"*?7%(26%&6:"*?'GGRRAG]&(&K61J)%!M*-24*-23+--*-jn22675!5!#'>54&#"'67.#".54>2L!0F*ʤ(B)E ,#3.M /(+D:-GT#/D+ XGG\ HA,Y62&G)*85%&/4$<*JI&/:n.:F".547>;5!5!##">32#"&'73265474632#"&4632#"&fD*;#:3_s( =PZ^gZ<>>=<5:_! ! F*. >GG   ?88JHE1D32f  ""!!n&/n+#"3267#"&54>;5!5!#4632#"&sK!EXC1T)(l3m>kA ! !  #7+KYX9I#AGGB""!!Xn&2%".54>;5!5!#'2654&'#"4632#"&'Hq@@nCXM[AoFI\:9*&AZ! !%N=8I$BGGH[::I!G-0#: &12""!! Pn.:".547>;5!5!##">32#"&'7326544632#"&fD*;#:3coPn( =PZ^gZ<>>=<5z! ! F*. >GG   ?88JHE1D32""!!&An"-9%"&54>35!5!##"&54632'23254#"4632#"&6wBuLA>)P<; KMFDknv=*'! !YY9I#@GG  $-1)=>':Gn<'""!!n&n&x&>7.54632.'7>54&#")M%5)UIBV-#!g:&]T+[/!%("/"+&H'5LI;+E H 96" "#64!"&'732654&#"'632''73X}747^@-*+'13N.(u1$(SF7375 CaB 8&1D4v!"&'732654&#"'632''73X}747^@-*+'13N.(u1$(SvF7375 CaB 8&1Dv -4632#"&"&'732654&#"'632''73! !$X}747^@-*+'13N.(u1$(S ""!!F7375 CaB 8&1DI6 73'"&54632.#"3267I(u;XCMQEBcM"=._>,,+&2'nC51C/M.'DI CIv6 73'"&54632.#"3267I(u;XCMQEBcM"=._>,,+&2'nC51C/M.'DI Cv6 ,4632#"&73'"&54632.#"3267! !-(u;XCMQEBcM"=._>,,+&2 ""!!G'nC51C/M.'DI C.73'#"&54673267.(;ulC)OQYX:41#1!' A4/OB.v73'#"&54673267.(;ulC)OQYX:41#1!' A4/OBv &4632#"&73'#"&54673267! !(;ulC)OQYX:41#1! ""!!Y' A4/OBIv+73'#"'3267#"&547&54673267I(u;XLC) Q 0"C)OP7YX?/+& 0"'n  , ? C3"<+CB.v-C%73'23267#"&5467654&#"'>7.#".54>32>c(u;X8&=+)5 ;C8> 6F #GA.IY':"::u'nn-&0 < 7,#5 #7  !;+25X7$-.vT%73'"'3267#"&547.5467.#"'>7.#".54>32>323267c(u;Xm !'5 M"d&~'B!!B'  4632#"&73'"&'73267! !-(;fAd#L=>M"d*""!!=&~'B!!B'Xv"73'"&'73267"&'73267\(:b=]  I:;H!c;=[")K/0K)![ho+iiy%??&h??v  .4632#"&73'"&'73267"&'73267! !T(:b=]  I:;H!c;=[")K/0K)![*""!!%o+iiy%??&h??9vvv B%"'3267#"&547.54673267j Q 0"C)OQYX?/+& /"C " 1 4& #!32 0 .-;'2"3267#"&5467654&#"'67.#".54>32>h8&80)5 ;C:@ 5F #"BE+I[':"9;$&  1 -#+ . .#*(F/%.I"'3267#"&547.5467&#"'67.#".54>32>323267 !%5 32&"#"3:7&54632 @k@&*Qq*%=%# .G# *'1$:8?2+"3(( BGG # GJ!! . *.<nZ"&'.546?'.#"3267#"&54>32767.5467>;5!5!##"3:3&54632'T(!''/@(963 T@P% Z4<1i0/PS *+-"=E= N   J)+?<0(189N# OH,?NGG6.;"1 % i g,.54632.#"7"&54632"&'73267SB/"(&$d2J7="$ <Gg$K$CC B , B'oR^L= &4632#"&##5353&'73267#"'3WQYY6 @715-D[GR3gT'G'B@E>^L=G (4632#"&7#"'#"&'73267&'732674VCU3Z;Bf"G=.31@3-1) W"XIF?5PV=:?9 =^L%5gg '4632#"&.#"'63273267#"'`I)2""'42$9715-D[G+!TO[& IB@E>^L,<Tg 64632#"&.#"'>327.#"'63273267#"'`S-+*2-F&, '42$9715-D[G+!T(% E +&49EB@E>^L,<&([ 74632#"&##53.#"#".'73267&'73267#"'3w3QYW'%  #9/B%+  @715-D[G  nT'GD1;7,,"B@E>^L+Gj 04632#"&##53.#"'63273267#"'3QYX)2!"'42$9715-D[G+!nT'GLX% IB@E>^L3GW ?4632#"&##53.#"'>327.#"'63273267#"'3QYK+**2-F&, '42$9715-D[G+!nT'G$# E +&49EB@E>^L3G N4632#"&##53.#"#".'732632654&/.=7&'73267#"'3.QYB) 60B($  0%  7.F$ @715-D[G WT'G(25085  35   B@E>^L,G 94632#"&#53.54632&'73267#"'#&$#"3##3&YP =x3@715-D[G)!$Ae mgQTG0!SXVG)]B@E>^L3el6A+G 74632#"&#53.54632&'73267#"'#.#"3##BYRdU\G@715-D[G P5tI7< mgQTG7HY/ B@E>^L *7kg7/0G" 84632#"&#53.54632&'73267#"'#.#"3##>YRi[8a*@715-D[GQ=P^L+5jh900Gf 74632#"&#53.54632&'73267#"'#&#"3##YP taI8 @715-D[G$ TFO lgQTG2N^*' B@E>^L+4;3-G 74632#"&#53.54632&'73267#"'#&#"3##YP zfV@ @715-D[G(#UMV lgQTG1O^1-(B@E>^L+5;5,G 84632#"&#53.54632&'73267#"'#.#"3##oYP miI@715-D[G&-(W[qU\ lgQTG1O]<6%6B@E>^L -8gj;6,G 84632#"&#53.54632&'73267#"'#.#"3##HYP spN@715-D[G-(Yb|\c lgQTG1P\;4$4B@E>^L+5gj:8+G 84632#"&#53.54632&'73267#"'#.#"3##9 YP yyS@715-D[G/)[jdh lgQTG1P\;3#4B@E>^L*3fk:9+GJ 74632#"&#53.54632&'73267#"'#&$#"3##fYP Y@715-D[G1+\q lgQTG1Q[=5$7B@E>^L*2fkt,G 84632#"&#53.54632&'73267#"'#&$#"3##YP b@715-D[G6._xsu lgQTG1RZD:'@B@E>^L*4el8<,G 84632#"&#53.54632&'73267#"'#&$#"3##YP  h"@715-D[G:1aթ|z lgQTG0 SYH=(FB@E>^L+4el7>+G 94632#"&#53.54632&'73267#"'#&$#"3##YYP $p*@715-D[G# ;cô mgQTG0!SXOC*QB@E>^L 2el7?+G$n 54632#"&.5463273267#"'3###53.#"TK,!+715-D[G ngQYW=7(*T#@"ASB@E>^L&1G'Ghc1+"7[ 44632#"&#53.#"#&5463273267#"'3##wYV&S>.1 P"ZO4)3715-D[GmgQTGib4,!7@@DUB@E>^L%/G[ 64632#"&#53.#"#.54632'73267#"'3##wYU0jE49 R`UF7@715-D[GmgQTGhc6.!5^L&/GJ[ 74632#"&#53&#"#.54632&'73267#"'3##wYQ@J Tn^Br2 @715-D[G lgQTG92!17 L\&#B@E>^L (2Gg"0&54632.#"!53%"&54632"&'73267P?TB0")%#Q1K8*!!% <GgHKCC B , B'oR32.#"7"&54632"&'73267(&  #9/B%+ L5/"(&x2J7="$ <GgH4;7,,,, B , -VoR32.#"7"&54632"&'73267)2""'40:=*/"($|2J7="$ <GgO[& I ($$ B -#5MoR327.#"'632>"&54632"&'73267C/"'%  U-+*2-F&, '4-@ =2J7="$ <G B -#@&(% E +&49E!(%$R32.#"#&#"3##"&54632"&'73267YYP taV>N=/"(&$VFO lgQ2J7="$ <G'G2N^;689 B , B';3-GR32.#"#&#"3##"&54632"&'73267YYP zfbFP>/#(&$UMV lgQ2J8* "$ =G'G1O^?9<< B , B';5,GR32.#"#.#"3##"&54632"&'73267YYP mnKS@0#(%#U[qU\ lgQ22J8*!!% =G'G1O]B;>? B , B'gj;6,GR32.#"#.#"3##"&54632"&'73267YYP s|RSA/#(%#Vb|\c lgQe2J8* "$ =G'G1P\F>BB B , B'gj:8+GR+GR32.#"3##"&54632"&'73267YYS>5(*PTK,=A- ."('rgQ1K8*!!% <G'Ggd1+"7#@"AS'!" B -#0BGR32&#"3##"&54632"&'73267YYV&S>.2 P"[OeAD0-!")%mgQ1K8=!% <G'Gib4,!7@@DUI$% B-# +8GR32.#"3##"&54632"&'73267YYU0jE4: RaU>b) I5 -")%ggQ1K8=!% <G'Ghc6.!532.#"3##"&54632"&'73267YYQ@K To^S:S:0")%ggQ1K8=!% <G'G92!17 L\<79: B -#<"GR%73"3267#"&5467654&#"'67.#".546?67IKj080)5 ;C:@ 5F #"BE+I[n3*"- y$"&  1 -#+ . .#*(F/ UF,FL"'3267#"&547.5467&#"'67.#".5467'73326767 !%5 73.a 0;4 5~71#R3#1RRHy 74632#"&H$%%$6%%$ *ZA3#1RSA0 "&54>32'2654&#"sp-dRtq-eSK@@KK>> ítWsXLW[ !467'73H/I*e!;<6/?>54&#"'>32!!/1E&@3.K"2'g@^n,M2PCL5TR19>&:#1fY7b`5Q()"&'532654&+532654&#"'>325_)+b.ZSdVAAPTC74P$-%lDilUEVZ SKBB5#UD\hhV ɠN#Q%QG4@ "&'532654&#"'!!>322\ =BMWVRC,Q7Ag= T JOGI PQ/]Ep7-".54>32.#"3>32'2654&#" Aj>(FmN1+BU1H:\oue;I@A,B$ @ Dk>xkS/L.Oh:#0qhoKPUDO'; +T7,!5!#_yQG}4'3"&5467.54>32>54&#"2654&'kuQ90C8\57[7I7&E,9dB/B=64=A/EFIM=?A gYI[U@9L&&L:AR5G07##"&546322>54.#"0+BV0I:\oudBi>(Fm,B$ ?0:JA L.Oh:#0rgpDk=ykS/['<,S7PUDOU& "&54632"&54632$$$$$$$$ $&&$ T $&&$ ,& "&54632#>7$$$$ 0C $&&$ 5~7;42M85% 2g1NN2!!!!2==II2M87-52g=N1G+754>7>54&#"'>324632#"&% '96(J"(\/[i/#!$[$$$$&72*0"/:G`V+@6)( &&$ lZ.@3#3#lrr@FF*Z@3#*RR@6Z@3#53#6qq`ZF  3# #2NO=gb!!aZD,ZQ@26=467.=4&#,=475&=4&'53[<>aJ*/jj/*Ja><()1K@H.cc.HAK1)26323267#".'.#"21H (%(<0I '$'<O5  "O5  "(W!!(\WR(W!!(hWRR'>73Y/C 5~7<4Q#>7 0C 5~7;3S'>733'>73Z/C[/C 5~7<4 5~7<4Q#>7##>7 0C[ 0C 5~7;3 5~7;3Hz #"&54632!"&54632!"&54632$$$$$$$$$$$$ $&&$ $&&$ $&&$ Es '7'77233233222_. "&54632!!"&54632!!!!=!!!! "" MI "" 1#RHn3&'.+5!#3##'7326767#H+&B TTf ,12$ GG (H?O G"& x1 x{&  y.&  zc&  x4K&  y#W&  z+ &  {A&  |-F&  y&w" yC& 2 7 6%& $6I'$&,'\W.#"'>54.54632~&%*$^YY?SG,E15P|DmCK_Ui[QX Rr7'7'37'Gpu > uqH433a 7 vv 7 akkx4@#"&54675.''>7.546325#53#3267>54&#"C)KU00B:+[/0)M%5)UIBV-#*q4@g:42 /">!%("/" O?)D %9D+&H'5LI;+EGGB,!"-6" "#6HN&J3g,8.#"#".'732632654&/.=7'4632#"&+ 60B($  0%  7.F$)1! !g-25085  35   ,31""""g F4632#"&.#"#".'732632654&/.=7&'73267#"'++ 60B($  0%  7.F$ @715-D[GT-25085  35   B@E>^L1gD%;.'&/.5<?>32.#"#.#"#".'732632*7/F# P7!5&(** 7/B($  1% g315  .. B -#!?$-250<9gD%;G.'&/.5<?>32.#"#.#"#".'73263274632#"&*7/F# P7!5&(** 7/B($  1% g315  .. B -#!?$-250<9mg$:FS&'&/.5<?>32.#"#.#"#".'7326327"&54632"&'732670 7/F# L6/"(&$* 7/B($  1% 2J7="$ <Gg7; 15  -, B , B'-250<9oR32'>54&#"#".5467.#"#".54675#5Yt  Pa,#G>P .6&"L27%.${nGCA<1R45_'E*2? 2(8##U(8& PGhn<G!632#"&54632#".54>;.#"#".54675#52654&#"/*&OyDV;jA;3 JIJEseIqAKXiQ)(*$$28G##,nGW0aH (996: %(3MM2CW1\@EX*MGS&*! eG#-'(<n#4##5#"&'>54.#"#".54675#5267!632%)(*$$2&=M*&by17:nG^ac'" S&*! eGsW=J1<+&4j  M {"Q  0 y   -;K  h   6 ") _   D *% (g ` >9 < " 4  v] "' Copyright 2015-2021 Google LLC. All Rights Reserved.Copyright 2015-2021 Google LLC. All Rights Reserved.Noto SansNoto SansRegularRegular2.007;GOOG;NotoSans-Regular2.007;GOOG;NotoSans-RegularNoto Sans RegularNoto Sans RegularVersion 2.007Version 2.007NotoSans-RegularNotoSans-RegularNoto is a trademark of Google LLC.Noto is a trademark of Google LLC.Monotype Imaging Inc.Monotype Imaging Inc.Monotype Design TeamMonotype Design TeamDesigned by Monotype design team, Irene Vlachou.Designed by Monotype design team, Irene Vlachou.http://www.google.com/get/noto/http://www.google.com/get/noto/http://www.monotype.com/studiohttp://www.monotype.com/studioThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFLThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFLhttp://scripts.sil.org/OFLhttp://scripts.sil.org/OFLiota adscriptiota adscriptAccented Greek SCAccented Greek SCTitling Alternates I and J for titling and all cap settingsTitling Alternates I and J for titling and all cap settingsflorin symbolflorin symbolj2R  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a  bcdefghjikmlnoqprsutvwxzy{}|~    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgNULLCRuni00A0uni00AD overscoreuni00B2uni00B3uni00B5uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccentuni0122uni0123 Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflexuni0136uni0137 kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146Ncaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188Dtailuni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191fhookuni0193 Gammalatinuni0195 Iotalatinuni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhorn Upsilonlatinuni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3uni01E4uni01E5Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F0uni01F1uni01F2uni01F3uni01F4uni01F5uni01F6uni01F7uni01F8uni01F9 Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217uni0218uni0219uni021Auni021Buni021Cuni021Duni021Euni021Funi0220uni0221uni0222uni0223uni0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0234uni0235uni0236uni0237uni0238uni0239uni023Auni023Buni023Cuni023Duni023Euni023Funi0240Glottalstopcasedglottalstopcaseduni0243uni0244uni0245uni0246uni0247uni0248uni0249uni024Auni024Buni024Cuni024Duni024Euni024Funi0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269 iotaserifeduni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFuni02B0uni02B1uni02B2uni02B3uni02B4uni02B5uni02B6uni02B7uni02B8uni02B9uni02BAuni02BBuni02BCuni02BDuni02BEuni02BFuni02C0uni02C1uni02C2uni02C3uni02C4uni02C5uni02C8 macronmodacutemodgravemoduni02CCuni02CDuni02CEuni02CFuni02D0uni02D1uni02D2uni02D3uni02D4uni02D5uni02D6uni02D7uni02DEuni02DFuni02E0uni02E1uni02E2uni02E3uni02E4uni02E5uni02E6uni02E7uni02E8uni02E9uni02EAuni02EBuni02ECuni02EDuni02EEuni02EFuni02F0uni02F1uni02F2uni02F3uni02F4uni02F5uni02F6uni02F7uni02F8uni02F9uni02FAuni02FBuni02FCuni02FDuni02FEuni02FF gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312uni0313uni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0321uni0322 dotbelowcombuni0324uni0325uni0326uni0327uni0328uni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033Funi0340uni0341uni0342uni0343uni0344uni0345uni0346uni0347uni0348uni0349uni034Auni034Buni034Cuni034Duni034Euni034Funi0350uni0351uni0352uni0353uni0354uni0355uni0356uni0357uni0358uni0359uni035Auni035Buni035Cuni035Duni035Euni035Funi0360uni0361uni0362uni0363uni0364uni0365uni0366uni0367uni0368uni0369uni036Auni036Buni036Cuni036Duni036Euni036Funi0370uni0371uni0372uni0373uni0374uni0375uni0376uni0377uni037Auni037Buni037Cuni037Duni037Euni037Ftonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9 IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhouni03C2sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03CFuni03D0uni03D1uni03D2uni03D3uni03D4uni03D5uni03D6uni03D7uni03D8uni03D9uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03F0uni03F1uni03F2uni03F3uni03F4uni03F5uni03F6uni03F7uni03F8uni03F9uni03FAuni03FBuni03FCuni03FDuni03FEuni03FFuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0460uni0461uni0462uni0463uni0464uni0465uni0466uni0467uni0468uni0469uni046Auni046Buni046Cuni046Duni046Euni046Funi0470uni0471uni0472uni0473uni0474uni0475uni0476uni0477uni0478uni0479 Omegaroundcy omegaroundcy Omegatitlocy omegatitlocyOtcyotcyuni0480uni0481uni0482uni0483uni0484uni0485uni0486uni0487uni0488uni0489uni048Auni048Buni048Cuni048Duni048Euni048Funi0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CEuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni04FAuni04FBuni04FCuni04FDuni04FEuni04FFuni0500uni0501uni0502uni0503uni0504uni0505uni0506uni0507uni0508uni0509uni050Auni050Buni050Cuni050Duni050Euni050Funi0510uni0511uni0512uni0513uni0514uni0515uni0516uni0517uni0518uni0519uni051Auni051Buni051Cuni051Duni051Euni051Funi0520uni0521uni0522uni0523uni0524uni0525uni0526uni0527 Enlefthookcyuni0529uni052Auni052Buni052Cuni052Duni052Euni052Fbinducandradevacandrabindudeva anusvaradeva visargadeva ashortdevaadevaaadevaidevaiidevaudevauudeva rvocalicdeva lvocalicdeva ecandradeva eshortdevaedevaaideva ocandradeva oshortdevaodevaaudevakadevakhadevagadevaghadevangadevacadevachadevajadevajhadevanyadevattadevatthadevaddadevaddhadevannadevatadevathadevadadevadhadevanadevannnadevapadevaphadevabadevabhadevamadevayadevaradevarradevaladevalladevallladevavadevashadevassadevasadevahadevaoevowelsigndevaooevowelsigndeva nuktadeva avagrahadevaaavowelsigndevaivowelsigndevaiivowelsigndevauvowelsigndevauuvowelsigndevarvocalicvowelsigndevarrvocalicvowelsigndevaecandravowelsigndevaeshortvowelsigndevaevowelsigndevaaivowelsigndevaocandravowelsigndevaoshortvowelsigndevaovowelsigndevaauvowelsigndeva viramadevauni094Eawvowelsigndevaomdeva udattadeva anudattadevauni0953uni0954candralongevowelsigndevauevowelsigndevauuevowelsigndevaqadevakhhadevaghhadevazadeva dddhadevarhadevafadevayyadeva rrvocalicdeva llvocalicdevalvocalicvowelsigndevallvocalicvowelsigndeva dandadeva dbldandadevazerodevaonedevatwodeva threedevafourdevafivedevasixdeva sevendeva eightdevaninedevaabbreviationsigndevauni0971 acandradevaoedevaooedevaawdevauedevauuedevamarwariddadevazhadeva heavyyadeva gabardeva jabardevauni097D ddabardeva babardevauni1AB0uni1AB1uni1AB2uni1AB3uni1AB4uni1AB5uni1AB6uni1AB7uni1AB8uni1AB9uni1ABAuni1ABBuni1ABCuni1ABDuni1ABE wbelowcombwturnedbelowcomb veroundedcydelongleggedcy onarrowcyeswidecytetallcytethreeleggedcyhardsigntallcy yattallcy ukunblendedcyuni1CD0uni1CD1uni1CD2uni1CD3uni1CD4uni1CD5uni1CD6uni1CD7uni1CD8uni1CD9uni1CDAuni1CDBuni1CDCuni1CDDuni1CDEuni1CDFuni1CE0uni1CE1uni1CE2uni1CE3uni1CE4uni1CE5uni1CE6uni1CE7uni1CE8uni1CE9uni1CEAuni1CEBuni1CECuni1CEDuni1CEEuni1CEFuni1CF0uni1CF1uni1CF2uni1CF3uni1CF4uni1CF5uni1CF6uni1CF8uni1CF9uni1D00uni1D01aeturned Bbarredsmalluni1D04uni1D05Ethsmalluni1D07 eturnedopeniturneduni1D0Auni1D0B Lstrokesmalluni1D0DNreversedsmalluni1D0F Oopensmall osideways osidewaysopenoslashsidewaysoeturneduni1D15otophalf obottomhalfuni1D18Rreversedsmall Rturnedsmalluni1D1Buni1D1C usidewaysudieresissidewaysmsidewaysturneduni1D20uni1D21uni1D22Ezhsmallspirantvoicedlaryngealuni1D25uni1D26uni1D27uni1D28uni1D29uni1D2Auni1D2Buni1D2CAEmoduni1D2E Bbarredmoduni1D30uni1D31 Ereversedmoduni1D33uni1D34uni1D35uni1D36uni1D37uni1D38uni1D39uni1D3A Nreversedmoduni1D3Cuni1D3Duni1D3Euni1D3Funi1D40uni1D41uni1D42uni1D43 aturnedmoduni1D45 aeturnedmoduni1D47uni1D48uni1D49uni1D4Aeopenmodeturnedopenmoduni1D4D iturnedmoduni1D4Funi1D50uni1D51uni1D52oopenmod otophalfmodobottomhalfmoduni1D56uni1D57uni1D58 usidewaysmod mturnedmoduni1D5Buni1D5Cuni1D5Duni1D5Euni1D5Funi1D60uni1D61uni1D62uni1D63uni1D64uni1D65uni1D66uni1D67uni1D68uni1D69uni1D6Auni1D6Buni1D6Cuni1D6Duni1D6Euni1D6Funi1D70uni1D71uni1D72uni1D73uni1D74uni1D75uni1D76uni1D77uni1D78uni1D79uni1D7Aiotaserifedstrokeuni1D7Cuni1D7D Usmallstrokeuni1D7Funi1D80uni1D81uni1D82uni1D83uni1D84uni1D85uni1D86uni1D87uni1D88uni1D89uni1D8Auni1D8Buni1D8Cuni1D8Duni1D8Euni1D8Funi1D90uni1D91uni1D92uni1D93uni1D94uni1D95uni1D96uni1D97uni1D98uni1D99uni1D9Auni1D9Buni1D9Cuni1D9Duni1D9Eereversedopenmoduni1DA0uni1DA1uni1DA2uni1DA3uni1DA4uni1DA5iotaserifedmodiotaserifedstrokemoduni1DA8uni1DA9uni1DAAuni1DABuni1DACuni1DADuni1DAEuni1DAFuni1DB0uni1DB1 phimodlatinuni1DB3uni1DB4uni1DB5uni1DB6uni1DB7uni1DB8uni1DB9uni1DBAuni1DBBuni1DBCuni1DBDuni1DBEuni1DBFuni1DC0uni1DC1uni1DC2uni1DC3uni1DC4uni1DC5uni1DC6uni1DC7uni1DC8uni1DC9uni1DCAuni1DCBuni1DCCuni1DCDuni1DCEuni1DCFuni1DD0uni1DD1uni1DD2uni1DD3uni1DD4uni1DD5uni1DD6uni1DD7uni1DD8uni1DD9uni1DDAuni1DDBuni1DDCuni1DDDuni1DDEuni1DDFuni1DE0uni1DE1uni1DE2uni1DE3uni1DE4uni1DE5uni1DE6uni1DE7uni1DE8uni1DE9uni1DEAuni1DEBuni1DECuni1DEDuni1DEEuni1DEFuni1DF0uni1DF1uni1DF2uni1DF3uni1DF4uni1DF5kavykaaboverightcmbkavykaaboveleftcmbdotaboveleftcmbwideinvertedbridgebelowcmbdeletionmarkcmbuni1DFCuni1DFDuni1DFEuni1DFFuni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E14uni1E15uni1E16uni1E17uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E2Euni1E2Funi1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Auni1E7Buni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Auni1E9Buni1E9Cuni1E9Duni1E9Euni1E9Funi1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni1EFAuni1EFBuni1EFCuni1EFDuni1EFEuni1EFFuni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEuni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni200Buni200Cuni200Duni200Euni200Funi2010uni2011 figuredashuni2015uni2016 underscoredbl quotereverseduni201Funi2023onedotenleadertwodotenleaderuni2027uni2028uni2029uni202Auni202Buni202Cuni202Duni202Euni202Funi2031minuteseconduni2034uni2035uni2036uni2037uni2038uni203B exclamdbluni203Duni203Euni203Funi2040uni2041uni2042uni2043uni2045uni2046uni2047uni2048uni2049uni204Auni204Buni204Cuni204Duni204Euni204Funi2050uni2051uni2052uni2053uni2054uni2055uni2056uni2057uni2058uni2059uni205Auni205Buni205Cuni205Duni205Euni205Funi2060uni2061uni2062uni2063uni2064uni2066uni2067uni2068uni2069uni206Auni206Buni206Cuni206Duni206Euni206Funi2070uni2071uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni207Funi2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208Euni2090uni2091uni2092uni2093uni2094uni2095uni2096uni2097uni2098uni2099uni209Auni209Buni209Cuni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9uni20AAdongEurouni20ADuni20AEuni20AFuni20B0uni20B1uni20B2uni20B3uni20B4uni20B5uni20B6uni20B7uni20B8uni20B9uni20BAuni20BBuni20BCuni20BDuni20BEuni20BFuni20F0uni2100uni2101uni2102uni2103uni2104uni2105uni2106uni2107uni2108uni2109uni210Auni210Buni210Cuni210Duni210Euni210Funi2110uni2111uni2112uni2113uni2114uni2115uni2116uni2117 weierstrassuni2119uni211Auni211Buni211Cuni211D prescriptionuni211Funi2120uni2121uni2123uni2124uni2125uni2126uni2127uni2128uni2129uni212Auni212Buni212Cuni212D estimateduni212Funi2130uni2131uni2132uni2133uni2134uni2135uni2136uni2137uni2138uni2139uni213Auni213Buni213Cuni213Duni213Euni213Funi2140uni2141uni2142uni2143uni2144uni2145uni2146uni2147uni2148uni2149uni214Auni214Buni214Cuni214Duni214Euni214Funi2150uni2151uni2152uni2153uni2154uni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215Funi2184uni2189 minus.devauni25CCuni2C60uni2C61uni2C62uni2C63uni2C64uni2C65uni2C66uni2C67uni2C68uni2C69uni2C6Auni2C6Buni2C6Cuni2C6Duni2C6Euni2C6Funi2C70uni2C71uni2C72uni2C73uni2C74uni2C75uni2C76uni2C77uni2C78uni2C79uni2C7Auni2C7Buni2C7Cuni2C7Duni2C7Euni2C7Fbecombcyvecombcy ghecombcydecombcy zhecombcyzecombcykacombcyelcombcyemcombcyencombcyocombcypecombcyercombcyescombcytecombcyhacombcy tsecombcy checombcy shacombcy shchacombcy fitacombcy estecombcyacombcyiecombcy djervcombcymonographukcombcy yatcombcyyucombcyiotifiedacombcylittleyuscombcy bigyuscombcyiotifiedbigyuscombcyuni2E00uni2E01uni2E02uni2E03uni2E04uni2E05uni2E06uni2E07uni2E08uni2E09uni2E0Auni2E0Buni2E0Cuni2E0Duni2E0Euni2E0Funi2E10uni2E11uni2E12uni2E13uni2E14uni2E15uni2E16uni2E17uni2E18uni2E19uni2E1Auni2E1Buni2E1Cuni2E1Duni2E1Euni2E1Funi2E20uni2E21uni2E22uni2E23uni2E24uni2E25uni2E26uni2E27uni2E28uni2E29uni2E2Auni2E2Buni2E2Cuni2E2Duni2E2Euni2E2Funi2E30uni2E31uni2E32uni2E33uni2E34uni2E35uni2E36uni2E37uni2E38uni2E39uni2E3Auni2E3Buni2E3Cuni2E3Duni2E3Euni2E3Funi2E40uni2E41uni2E42dashwithupturnleft suspensiondblkavykainvertedlow kavykawithkavykaaboveinvertedlow kavykalowkavykawithdotlowstackedcommadbl solidusdotted tripledagger medievalcomma paragraphuspunctuselevatuscornishversedividercrosspattyrightcrosspattyleftTironiansignetuniA640uniA641uniA642uniA643 Dzereversedcy dzereversedcyuniA646uniA647uniA648uniA649 Ukmonographcy ukmonographcy Omegabroadcy omegabroadcy Yerneutralcy yerneutralcy Yerubackyercy yerubackyercy Yatiotifiedcy yatiotifiedcy Yureversedcy yureversedcy IotifiedacyuniA657Yusclosedlittlecyyusclosedlittlecy Yusblendedcy yusblendedcyYusiotifiedclosedlittlecyyusiotifiedclosedlittlecyuniA65EuniA65F Tsereversedcy tsereversedcyDesoftcydesoftcyElsoftcyelsoftcyEmsoftcyemsoftcy Omonocularcy omonocularcy Obinocularcy obinocularcyOdoublemonocularcyodoublemonocularcyuniA66EuniA66FuniA670uniA671uniA672uniA673uniA674uniA675uniA676uniA677uniA678uniA679uniA67AuniA67BuniA67CuniA67DuniA67EuniA67FuniA680uniA681uniA682uniA683uniA684uniA685uniA686uniA687uniA688uniA689TewithmiddlehookcyuniA68BuniA68CuniA68DuniA68EuniA68FuniA690uniA691uniA692uniA693uniA694uniA695uniA696uniA697 Odoublecy odoublecy Ocrossedcy ocrossedcyuniA69CuniA69DuniA69EuniA69FuniA700uniA701uniA702uniA703uniA704uniA705uniA706uniA707uniA708uniA709uniA70AuniA70BuniA70CuniA70DuniA70EuniA70FuniA710uniA711uniA712uniA713uniA714uniA715uniA716uniA717uniA718uniA719uniA71AuniA71BuniA71CuniA71DuniA71EuniA71FuniA720uniA721uniA722uniA723uniA724uniA725uniA726uniA727uniA728uniA729uniA72AuniA72BuniA72CuniA72DuniA72EuniA72FuniA730uniA731uniA732uniA733uniA734uniA735uniA736uniA737uniA738uniA739uniA73AuniA73BuniA73CuniA73DuniA73EuniA73FuniA740uniA741uniA742uniA743uniA744uniA745uniA746uniA747uniA748uniA749uniA74AuniA74BuniA74CuniA74DuniA74EuniA74FuniA750uniA751uniA752uniA753uniA754uniA755uniA756uniA757uniA758uniA759uniA75AuniA75B RumrotundauniA75DuniA75EuniA75FuniA760uniA761uniA762uniA763uniA764uniA765uniA766uniA767uniA768uniA769uniA76AuniA76BuniA76CuniA76DuniA76EuniA76FuniA770uniA771uniA772uniA773uniA774uniA775uniA776uniA777uniA778uniA779uniA77AuniA77BuniA77CuniA77DuniA77EuniA77FuniA780uniA781uniA782uniA783uniA784uniA785uniA786uniA787uniA788uniA789uniA78AuniA78BuniA78CuniA78DuniA78EuniA78FuniA790uniA791uniA792uniA793 cpalatalhook hpalatalhook Bflourish bflourishFstrokefstroke Aevolapuk aevolapuk Oevolapuk oevolapuk Uevolapuk uevolapukuniA7A0uniA7A1uniA7A2uniA7A3uniA7A4uniA7A5uniA7A6uniA7A7uniA7A8uniA7A9uniA7AA EreversedopenuniA7ACuniA7AD IotaserifedQsmalluniA7B0uniA7B1uniA7B2uniA7B3uniA7B4uniA7B5uniA7B6uniA7B7Ustrokeuni1D7EAglottalaglottalIglottaliglottalUglottaluglottal Wanglicana wanglicana CpalatalhookShook Zpalatalhook Dmiddlestroke dmiddlestroke Smiddlestroke smiddlestroke Halfhturned halfhturneduniA7F7uniA7F8uniA7F9uniA7FAuniA7FBuniA7FCuniA7FDuniA7FEuniA7FFuniA830uniA831uniA832uniA833uniA834uniA835uniA836uniA837uniA838uniA839uniA8E0uniA8E1uniA8E2uniA8E3uniA8E4uniA8E5uniA8E6uniA8E7uniA8E8uniA8E9uniA8EAuniA8EBuniA8ECuniA8EDuniA8EEuniA8EFuniA8F0uniA8F1uniA8F2uniA8F3uniA8F4uniA8F5uniA8F6uniA8F7uniA8F8uniA8F9uniA8FAuniA8FBuniA8FCuniA8FDaydevaayvowelsigndevauniA92EuniAB30uniAB31uniAB32uniAB33uniAB34uniAB35uniAB36uniAB37uniAB38uniAB39uniAB3AuniAB3BuniAB3CuniAB3DuniAB3EuniAB3FuniAB40uniAB41uniAB42uniAB43uniAB44uniAB45uniAB46uniAB47uniAB48uniAB49uniAB4AuniAB4BuniAB4CuniAB4DuniAB4EuniAB4FuniAB50uniAB51uniAB52uniAB53uniAB54uniAB55uniAB56uniAB57uniAB58uniAB59uniAB5AuniAB5BuniAB5CuniAB5DuniAB5EuniAB5Fsakhayat iotifiedeoeopenuouniAB64uniAB65dzdigraphretroflexhooktsdigraphretroflexhookrmiddletildeturned wturnedmod lefttackmod righttackmodf_ff_f_if_f_llongs_ts_tuniFE00uniFE20uniFE21uniFE22uniFE23uniFE24uniFE25uniFE26uniFE27uniFE28uniFE29uniFE2AuniFE2BuniFE2CuniFE2DuniFE2EuniFE2FuniFEFFuniFFFCuniFFFDEng.alt1Eng.alt2Eng.alt3uni030103060308uni030003060308uni030103040308uni030003040308uni013B.loclMAHuni0145.loclMAHAogonek.loclNAVEogonek.loclNAVIogonek.loclNAVUogonek.loclNAVI.saltIJ.salt Iacute.salt Ibreve.salt uni01CF.saltIcircumflex.salt uni0208.saltIdieresis.salt uni1E2E.saltIdotaccent.salt uni1ECA.salt Igrave.salt uni1EC8.salt uni020A.salt Imacron.salt Iogonek.saltIogonek_loclNAV.salt Itilde.salt uni1E2C.saltJ.saltJcircumflex.salt uni01C7.salt uni01CA.saltuni013C.loclMAHuni0146.loclMAHaogonek.loclNAVeogonek.loclNAVuogonek.loclNAV i_sc.saltiacute_sc.saltibreve_sc.salticircumflex_sc.saltidieresis_sc.saltidotaccent_sc.saltigrave_sc.salt ij_sc.saltimacron_sc.saltiogonek_sc.saltitilde_sc.salt j_sc.saltjcircumflex_sc.salta.sc aacute.sc abreve.scacircumflex.sc adieresis.sc agrave.sc amacron.sc aogonek.scaring.sc aringacute.sc atilde.scae.sc aeacute.scb.scc.sc cacute.sc ccaron.sc ccedilla.scccircumflex.sc cdotaccent.scd.sceth.sc dcaron.sc dcroat.sce.sc eacute.sc ebreve.sc ecaron.scecircumflex.sc edieresis.sc edotaccent.sc egrave.sc emacron.sc eogonek.scf.scg.sc gbreve.scgcircumflex.sc uni0123.sc gdotaccent.sch.schbar.schcircumflex.sci.sc iacute.sc ibreve.scicircumflex.sc idieresis.sc i.loclTRK.sc igrave.scij.sc imacron.sc iogonek.sc itilde.scj.scjcircumflex.sck.sc uni0137.scl.sc lacute.sc lcaron.sc uni013C.scldot.sc lslash.scm.scn.sc nacute.sc ncaron.sc uni0146.sceng.sc ntilde.sco.sc oacute.sc obreve.scocircumflex.sc odieresis.sc ograve.scohungarumlaut.sc omacron.sc oslash.scoslashacute.sc otilde.scoe.scp.scthorn.scq.scr.sc racute.sc rcaron.sc uni0157.scs.sc sacute.sc scaron.sc scedilla.scscircumflex.sc uni0219.sc germandbls.sct.sctbar.sc tcaron.sc uni0163.sc uni021B.scu.sc uacute.sc ubreve.scucircumflex.sc udieresis.sc ugrave.scuhungarumlaut.sc umacron.sc uogonek.scuring.sc utilde.scv.scw.sc wacute.scwcircumflex.sc wdieresis.sc wgrave.scx.scy.sc yacute.scycircumflex.sc ydieresis.sc ygrave.scz.sc zacute.sc zcaron.sc zdotaccent.sc uniA7F7.salt uni0406.salt uni0407.salt uni0408.salt uni04C0.saltuni0431.loclSRB uni04CF.salt Iota.saltIotatonos.saltIotadieresis.salt uni1D35.salt uni1D36.salt zero.tosfone.tosftwo.tosf three.tosf four.tosf five.tosfsix.tosf seven.tosf eight.tosf nine.tosfzero.osfone.osftwo.osf three.osffour.osffive.osfsix.osf seven.osf eight.osfnine.osfzero.lfone.lftwo.lfthree.lffour.lffive.lfsix.lfseven.lfeight.lfnine.lf zero.slash zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numr parenleft.sc parenright.sc braceleft.sc braceright.scbracketleft.scbracketright.sc exclam.sc exclamdown.sc question.scquestiondown.sc exclamdbl.scguilsinglleft.scguilsinglright.sc fhook.ss03summationDoubleStruck.miruni02E502E502E9uni02E502E502E6uni02E502E502E8uni02E502E502E7 uni02E502E9uni02E502E902E5uni02E502E902E9uni02E502E902E6uni02E502E902E8uni02E502E902E7 uni02E502E6uni02E502E602E5uni02E502E602E9uni02E502E602E6uni02E502E602E8uni02E502E602E7 uni02E502E8uni02E502E802E5uni02E502E802E9uni02E502E802E6uni02E502E802E8uni02E502E802E7 uni02E502E7uni02E502E702E5uni02E502E702E9uni02E502E702E6uni02E502E702E8uni02E502E702E7 uni02E902E5uni02E902E502E5uni02E902E502E9uni02E902E502E6uni02E902E502E8uni02E902E502E7uni02E902E902E5uni02E902E902E6uni02E902E902E8uni02E902E902E7 uni02E902E6uni02E902E602E5uni02E902E602E9uni02E902E602E6uni02E902E602E8uni02E902E602E7 uni02E902E8uni02E902E802E5uni02E902E802E9uni02E902E802E6uni02E902E802E8uni02E902E802E7 uni02E902E7uni02E902E702E5uni02E902E702E9uni02E902E702E6uni02E902E702E8uni02E902E702E7 uni02E602E5uni02E602E502E5uni02E602E502E9uni02E602E502E6uni02E602E502E8uni02E602E502E7 uni02E602E9uni02E602E902E5uni02E602E902E9uni02E602E902E6uni02E602E902E8uni02E602E902E7uni02E602E602E5uni02E602E602E9uni02E602E602E8uni02E602E602E7 uni02E602E8uni02E602E802E5uni02E602E802E9uni02E602E802E6uni02E602E802E8uni02E602E802E7 uni02E602E7uni02E602E702E5uni02E602E702E9uni02E602E702E6uni02E602E702E8uni02E602E702E7 uni02E802E5uni02E802E502E5uni02E802E502E9uni02E802E502E6uni02E802E502E8uni02E802E502E7 uni02E802E9uni02E802E902E5uni02E802E902E9uni02E802E902E6uni02E802E902E8uni02E802E902E7 uni02E802E6uni02E802E602E5uni02E802E602E9uni02E802E602E6uni02E802E602E8uni02E802E602E7uni02E802E802E5uni02E802E802E9uni02E802E802E6uni02E802E802E7 uni02E802E7uni02E802E702E5uni02E802E702E9uni02E802E702E6uni02E802E702E8uni02E802E702E7 uni02E702E5uni02E702E502E5uni02E702E502E9uni02E702E502E6uni02E702E502E8uni02E702E502E7 uni02E702E9uni02E702E902E5uni02E702E902E9uni02E702E902E6uni02E702E902E8uni02E702E902E7 uni02E702E6uni02E702E602E5uni02E702E602E9uni02E702E602E6uni02E702E602E8uni02E702E602E7 uni02E702E8uni02E702E802E5uni02E702E802E9uni02E702E802E6uni02E702E802E8uni02E702E802E7uni02E702E702E5uni02E702E702E9uni02E702E702E6uni02E702E702E8 ampersand.sc uni0308.sc uni0307.sc gravecomb.sc acutecomb.sc uni030B.sc uni0302.sc uni030C.sc uni0306.sc uni030A.sc tildecomb.sc uni0304.sc uni0328.sc macron.sc idotlesscy jedotlesscyiogonekdotlessjstrokedotlessjcrossedtaildotless jmoddotless yotdotlessisubscriptdotlessiretroflexhookdotlessistrokemoddotlessjcrossedtailmoddotlessitildebelowdotlessidotbelowdotlessistrokedotless imoddotlessiitalicDoubleStruckdotlessjitalicDoubleStruckdotlessjsubscriptdotless uni1FBC.ad uni1F88.ad uni1F89.ad uni1F8A.ad uni1F8B.ad uni1F8C.ad uni1F8D.ad uni1F8E.ad uni1F8F.ad uni1FCC.ad uni1F98.ad uni1F99.ad uni1F9A.ad uni1F9B.ad uni1F9C.ad uni1F9D.ad uni1F9E.ad uni1F9F.ad uni1FFC.ad uni1FA8.ad uni1FA9.ad uni1FAA.ad uni1FAB.ad uni1FAC.ad uni1FAD.ad uni1FAE.ad uni1FAF.ad uni037F.salt uni1F38.salt uni1F39.salt uni1F3A.salt uni1F3B.salt uni1F3C.salt uni1F3D.salt uni1F3E.salt uni1F3F.salt uni1FDA.salt uni1FDB.saltuni03B1030603130300uni03B1030603130301uni03B1030603140300uni03B1030603140301uni03B1030403130300uni03B1030403130301uni03B1030403140300uni03B1030403140301uni03B9030803060300uni03B9030803060301uni03B9030803040300uni03B9030803040301uni03B9030603130300uni03B9030603130301uni03B9030603140300uni03B9030603140301uni03B9030403130300uni03B9030403130301uni03B9030403140300uni03B9030403140301uni03C5030803060300uni03C5030803040300uni03C5030803040301uni03C5030603130300uni03C5030603130301uni03C5030603140300uni03C5030603140301uni03C5030403130300uni03C5030403130301uni03C5030403140300uni03C5030403140301 uni03D0.altphi.saltalpha.scbeta.scgamma.scdelta.sc epsilon.sczeta.sceta.sctheta.sciota.sckappa.sc lambda.sc uni03BC.scnu.scxi.sc omicron.scpi.scrho.sc uni03C2.scsigma.sctau.sc upsilon.scphi.scchi.scpsi.scomega.sc iotatonos.sciotadieresis.sciotadieresistonos.scupsilontonos.scupsilondieresis.scupsilondieresistonos.scomicrontonos.sc omegatonos.sc alphatonos.scepsilontonos.sc etatonos.sc uni03D7.sc uni1F00.sc uni1F01.sc uni1F02.sc uni1F03.sc uni1F04.sc uni1F05.sc uni1F06.sc uni1F07.sc uni1F70.sc uni1F71.sc uni1FB6.sc uni1FB0.sc uni1FB1.sc uni1FB3.sc uni1FB2.sc uni1FB4.sc uni1F80.sc uni1F81.sc uni1F82.sc uni1F83.sc uni1F84.sc uni1F85.sc uni1F86.sc uni1F87.sc uni1FB7.sc uni1F10.sc uni1F11.sc uni1F12.sc uni1F13.sc uni1F14.sc uni1F15.sc uni1F72.sc uni1F73.sc uni1F20.sc uni1F21.sc uni1F22.sc uni1F23.sc uni1F24.sc uni1F25.sc uni1F26.sc uni1F27.sc uni1F74.sc uni1F75.sc uni1FC6.sc uni1FC3.sc uni1FC2.sc uni1FC4.sc uni1F90.sc uni1F91.sc uni1F92.sc uni1F93.sc uni1F94.sc uni1F95.sc uni1F96.sc uni1F97.sc uni1FC7.sc uni1F30.sc uni1F31.sc uni1F32.sc uni1F33.sc uni1F34.sc uni1F35.sc uni1F36.sc uni1F37.sc uni1F76.sc uni1F77.sc uni1FD6.sc uni1FD0.sc uni1FD1.sc uni1FD2.sc uni1FD3.sc uni1FD7.sc uni1F40.sc uni1F41.sc uni1F42.sc uni1F43.sc uni1F44.sc uni1F45.sc uni1F78.sc uni1F79.sc uni1FE4.sc uni1FE5.sc uni1F50.sc uni1F51.sc uni1F52.sc uni1F53.sc uni1F54.sc uni1F55.sc uni1F56.sc uni1F57.sc uni1F7A.sc uni1F7B.sc uni1FE6.sc uni1FE0.sc uni1FE1.sc uni1FE2.sc uni1FE3.sc uni1FE7.sc uni1F60.sc uni1F61.sc uni1F62.sc uni1F63.sc uni1F64.sc uni1F65.sc uni1F66.sc uni1F67.sc uni1F7C.sc uni1F7D.sc uni1FF6.sc uni1FF3.sc uni1FF2.sc uni1FF4.sc uni1FA0.sc uni1FA1.sc uni1FA2.sc uni1FA3.sc uni1FA4.sc uni1FA5.sc uni1FA6.sc uni1FA7.sc uni1FF7.sc uni1FB3.sc.ad uni1FB2.sc.ad uni1FB4.sc.ad uni1F80.sc.ad uni1F81.sc.ad uni1F82.sc.ad uni1F83.sc.ad uni1F84.sc.ad uni1F85.sc.ad uni1F86.sc.ad uni1F87.sc.ad uni1FB7.sc.ad uni1FC3.sc.ad uni1FC2.sc.ad uni1FC4.sc.ad uni1F90.sc.ad uni1F91.sc.ad uni1F92.sc.ad uni1F93.sc.ad uni1F94.sc.ad uni1F95.sc.ad uni1F96.sc.ad uni1F97.sc.ad uni1FC7.sc.ad uni1FF3.sc.ad uni1FF2.sc.ad uni1FF4.sc.ad uni1FA0.sc.ad uni1FA1.sc.ad uni1FA2.sc.ad uni1FA3.sc.ad uni1FA4.sc.ad uni1FA5.sc.ad uni1FA6.sc.ad uni1FA7.sc.ad uni1FF7.sc.adiotatonos.sc.ss06iotadieresis.sc.ss06iotadieresistonos.sc.ss06upsilontonos.sc.ss06upsilondieresis.sc.ss06upsilondieresistonos.sc.ss06omicrontonos.sc.ss06omegatonos.sc.ss06alphatonos.sc.ss06epsilontonos.sc.ss06etatonos.sc.ss06uni1F00.sc.ss06uni1F01.sc.ss06uni1F02.sc.ss06uni1F03.sc.ss06uni1F04.sc.ss06uni1F05.sc.ss06uni1F06.sc.ss06uni1F07.sc.ss06uni1F70.sc.ss06uni1F71.sc.ss06uni1FB6.sc.ss06uni1FB0.sc.ss06uni1FB1.sc.ss06uni1FB3.sc.ss06uni1FB2.sc.ss06uni1FB4.sc.ss06uni1F80.sc.ss06uni1F81.sc.ss06uni1F82.sc.ss06uni1F83.sc.ss06uni1F84.sc.ss06uni1F85.sc.ss06uni1F86.sc.ss06uni1F87.sc.ss06uni1FB7.sc.ss06uni1F10.sc.ss06uni1F11.sc.ss06uni1F12.sc.ss06uni1F13.sc.ss06uni1F14.sc.ss06uni1F15.sc.ss06uni1F72.sc.ss06uni1F73.sc.ss06uni1F20.sc.ss06uni1F21.sc.ss06uni1F22.sc.ss06uni1F23.sc.ss06uni1F24.sc.ss06uni1F25.sc.ss06uni1F26.sc.ss06uni1F27.sc.ss06uni1F74.sc.ss06uni1F75.sc.ss06uni1FC6.sc.ss06uni1FC3.sc.ss06uni1FC2.sc.ss06uni1FC4.sc.ss06uni1F90.sc.ss06uni1F91.sc.ss06uni1F92.sc.ss06uni1F93.sc.ss06uni1F94.sc.ss06uni1F95.sc.ss06uni1F96.sc.ss06uni1F97.sc.ss06uni1FC7.sc.ss06uni1F30.sc.ss06uni1F31.sc.ss06uni1F32.sc.ss06uni1F33.sc.ss06uni1F34.sc.ss06uni1F35.sc.ss06uni1F36.sc.ss06uni1F37.sc.ss06uni1F76.sc.ss06uni1F77.sc.ss06uni1FD6.sc.ss06uni1FD0.sc.ss06uni1FD1.sc.ss06uni1FD2.sc.ss06uni1FD3.sc.ss06uni1FD7.sc.ss06uni1F40.sc.ss06uni1F41.sc.ss06uni1F42.sc.ss06uni1F43.sc.ss06uni1F44.sc.ss06uni1F45.sc.ss06uni1F78.sc.ss06uni1F79.sc.ss06uni1FE4.sc.ss06uni1FE5.sc.ss06uni1F50.sc.ss06uni1F51.sc.ss06uni1F52.sc.ss06uni1F53.sc.ss06uni1F54.sc.ss06uni1F55.sc.ss06uni1F56.sc.ss06uni1F57.sc.ss06uni1F7A.sc.ss06uni1F7B.sc.ss06uni1FE6.sc.ss06uni1FE0.sc.ss06uni1FE1.sc.ss06uni1FE2.sc.ss06uni1FE3.sc.ss06uni1FE7.sc.ss06uni1F60.sc.ss06uni1F61.sc.ss06uni1F62.sc.ss06uni1F63.sc.ss06uni1F64.sc.ss06uni1F65.sc.ss06uni1F66.sc.ss06uni1F67.sc.ss06uni1F7C.sc.ss06uni1F7D.sc.ss06uni1FF6.sc.ss06uni1FF3.sc.ss06uni1FF2.sc.ss06uni1FF4.sc.ss06uni1FA0.sc.ss06uni1FA1.sc.ss06uni1FA2.sc.ss06uni1FA3.sc.ss06uni1FA4.sc.ss06uni1FA5.sc.ss06uni1FA6.sc.ss06uni1FA7.sc.ss06uni1FF7.sc.ss06uni1FB3.sc.ad.ss06uni1FB2.sc.ad.ss06uni1FB4.sc.ad.ss06uni1F80.sc.ad.ss06uni1F81.sc.ad.ss06uni1F82.sc.ad.ss06uni1F83.sc.ad.ss06uni1F84.sc.ad.ss06uni1F85.sc.ad.ss06uni1F86.sc.ad.ss06uni1F87.sc.ad.ss06uni1FB7.sc.ad.ss06uni1FC3.sc.ad.ss06uni1FC2.sc.ad.ss06uni1FC4.sc.ad.ss06uni1F90.sc.ad.ss06uni1F91.sc.ad.ss06uni1F92.sc.ad.ss06uni1F93.sc.ad.ss06uni1F94.sc.ad.ss06uni1F95.sc.ad.ss06uni1F96.sc.ad.ss06uni1F97.sc.ad.ss06uni1FC7.sc.ad.ss06uni1FF3.sc.ad.ss06uni1FF2.sc.ad.ss06uni1FF4.sc.ad.ss06uni1FA0.sc.ad.ss06uni1FA1.sc.ad.ss06uni1FA2.sc.ad.ss06uni1FA3.sc.ad.ss06uni1FA4.sc.ad.ss06uni1FA5.sc.ad.ss06uni1FA6.sc.ad.ss06uni1FA7.sc.ad.ss06uni1FF7.sc.ad.ss06 anoteleia.sc tonos.case uni1FBF.case uni1FBD.case uni1FFE.case uni1FDD.case uni1FCE.case uni1FDE.case uni1FCF.case uni1FDF.case uni1FED.case uni1FEE.case uni1FC1.case uni1FEF.case uni1FFD.case uni1FC0.case uni1FCD.casetonos.scdieresistonos.sc uni1FBF.sc uni1FBD.sc uni1FFE.sc uni1FCD.sc uni1FDD.sc uni1FCE.sc uni1FDE.sc uni1FCF.sc uni1FDF.sc uni1FED.sc uni1FEE.sc uni1FC1.sc uni1FEF.sc uni1FFD.sc uni1FC0.scnullCR_1space_1 uni02BC_1ashortnuktadeva anuktadeva aanuktadeva inuktadeva iinuktadeva unuktadeva uunuktadevarvocalicnuktadevalvocalicnuktadevaecandranuktadevaeshortnuktadeva enuktadeva ainuktadevaocandranuktadevaoshortnuktadeva onuktadeva aunuktadevarrvocalicnuktadevallvocalicnuktadevaacandranuktadeva ghanuktadeva nganuktadeva canuktadeva chanuktadeva jhanuktadeva nyanuktadeva ttanuktadeva tthanuktadeva nnanuktadeva tanuktadeva thanuktadeva danuktadeva dhanuktadeva panuktadeva banuktadeva bhanuktadeva manuktadeva lanuktadeva vanuktadeva shanuktadeva ssanuktadeva sanuktadeva hanuktadeva kassadeva janyadevarephdeva vattudeva kaprehalfdevakhaprehalfdeva gaprehalfdevaghaprehalfdevangaprehalfdeva caprehalfdevachaprehalfdeva japrehalfdevajhaprehalfdevanyaprehalfdevattaprehalfdevatthaprehalfdevaddaprehalfdevaddhaprehalfdevannaprehalfdeva taprehalfdevathaprehalfdeva daprehalfdevadhaprehalfdeva naprehalfdeva paprehalfdevaphaprehalfdeva baprehalfdevabhaprehalfdeva maprehalfdeva yaprehalfdeva raprehalfdeva laprehalfdevallaprehalfdeva vaprehalfdevashaprehalfdevassaprehalfdeva saprehalfdeva haprehalfdevazhaprehalfdevaheavyyaprehalfdevakassaprehalfdevajanyaprehalfdevakanuktaprehalfdevakhanuktaprehalfdevaganuktaprehalfdevaghanuktaprehalfdevanganuktaprehalfdevacanuktaprehalfdevachanuktaprehalfdevajanuktaprehalfdevajhanuktaprehalfdevanyanuktaprehalfdevattanuktaprehalfdevatthanuktaprehalfdevaddanuktaprehalfdevaddhanuktaprehalfdevannanuktaprehalfdevatanuktaprehalfdevathanuktaprehalfdevadanuktaprehalfdevadhanuktaprehalfdevananuktaprehalfdevapanuktaprehalfdevaphanuktaprehalfdevabanuktaprehalfdevabhanuktaprehalfdevamanuktaprehalfdevayanuktaprehalfdevalanuktaprehalfdevallanuktaprehalfdevavanuktaprehalfdevashanuktaprehalfdevassanuktaprehalfdevasanuktaprehalfdevahanuktaprehalfdevakaradeva kharadevagaradeva gharadeva ngaradevacaradeva charadevajaradeva jharadeva nyaradeva ttaradeva ttharadeva ddaradeva ddharadeva nnaradevataradeva tharadevadaradeva dharadevanaradevaparadeva pharadevabaradeva bharadevamaradevayaradevararadevalaradeva llaradevavaradeva sharadeva ssaradevasaradevaharadevamarwariddaradeva zharadeva heavyyaradeva kassaradeva janyaradeva kanuktaradevakhanuktaradeva ganuktaradevaghanuktaradevanganuktaradeva canuktaradevachanuktaradeva januktaradevajhanuktaradevanyanuktaradevattanuktaradevatthanuktaradevaddanuktaradevaddhanuktaradevannanuktaradeva tanuktaradevathanuktaradeva danuktaradevadhanuktaradeva nanuktaradeva panuktaradevaphanuktaradeva banuktaradevabhanuktaradeva manuktaradeva yanuktaradeva ranuktaradeva lanuktaradevallanuktaradeva vanuktaradevashanuktaradevassanuktaradeva sanuktaradeva hanuktaradevakaraprehalfdevakharaprehalfdevagaraprehalfdevagharaprehalfdevangaraprehalfdevangaraprehalfUIdevacaraprehalfdevacharaprehalfdevajaraprehalfdevajharaprehalfdevanyaraprehalfdevattaraprehalfdevattaraprehalfUIdevattharaprehalfdevattharaprehalfUIdevaddaraprehalfdevaddaraprehalfUIdevaddharaprehalfdevaddharaprehalfUIdevannaraprehalfdevataraprehalfdevatharaprehalfdevadaraprehalfdevadharaprehalfdevanaraprehalfdevaparaprehalfdevapharaprehalfdevabaraprehalfdevabharaprehalfdevamaraprehalfdevayaraprehalfdevararaprehalfdevalaraprehalfdevallaraprehalfdevavaraprehalfdevasharaprehalfdevassaraprehalfdevasaraprehalfdevaharaprehalfdevazharaprehalfdevaheavyyaraprehalfdevakassaraprehalfdevajanyaraprehalfdevakanuktaraprehalfdevakhanuktaraprehalfdevaganuktaraprehalfdevaghanuktaraprehalfdevanganuktaraprehalfdevacanuktaraprehalfdevachanuktaraprehalfdevajanuktaraprehalfdevajhanuktaraprehalfdevanyanuktaraprehalfdevattanuktaraprehalfdevatthanuktaraprehalfdevaddanuktaraprehalfdevaddhanuktaraprehalfdevannanuktaraprehalfdevatanuktaraprehalfdevathanuktaraprehalfdevadanuktaraprehalfdevadhanuktaraprehalfdevananuktaraprehalfdevapanuktaraprehalfdevaphanuktaraprehalfdevabanuktaraprehalfdevabhanuktaraprehalfdevamanuktaraprehalfdevayanuktaraprehalfdevalanuktaraprehalfdevallanuktaraprehalfdevavanuktaraprehalfdevashanuktaraprehalfdevassanuktaraprehalfdevasanuktaraprehalfdevahanuktaraprehalfdevahaudeva hauUIdevahauudeva hauuUIdevaharvocalicdevaharrvocalicdeva hanuktaudeva hanuktauudevahanuktarvocalicdevahanuktarrvocalicdeva haraudeva harauUIdeva harauudeva harauuUIdevaraudevarauudevadaudevadauudevadarvocalicdeva daraudeva darauudevadararvocalicdeva ranuktaudeva ranuktauudeva danuktaudeva danuktauudevadanuktarvocalicdeva dddhaudeva dddhauudevarhaudeva rhauudevaoevowelsignanusvaradevaoevowelsignrephdevaoevowelsignrephanusvaradevaooevowelsignanusvaradevaooevowelsignrephdevaooevowelsignrephanusvaradevaiivowelsignanusvaradevaiivowelsignrephdevaiivowelsignrephanusvaradevaecandravowelsignanusvaradevaecandravowelsignrephdevaecandravowelrephanusvaradevaeshortvowelsignanusvaradevaeshortvowelsignrephdevaeshortvowelsignrephanusvaradeevowelsignanusvaradevaevowelsignrephdevaevowelsignrephanusvaradevaaivowelsignanusvaradevaaivowelsignrephdevaaivowelsignrephanusvaradevaocandravowelsignanusvaradevaocandravowelsignrephdevaocandravowelrephanusvaradevaoshortvowelsignanusvaradevaoshortvowelsignrephdevaoshortvowelsignrephanusvaradevaovowelsignanusvaradevaovowelsignrephdevaovowelsignrephanusvaradevaauvowelsignanusvaradevaauvowelsignrephdevaauvowelsignrephanusvaradevaawvowelsignanusvaradevaawvowelsignrephdevaawvowelsignrephanusvaradevarephanusvaradevaashortanusvaradevaiianusvaradevaecandraanusvaradevaeshortanusvaradevaaianusvaradevaocandraanusvaradevaoshortanusvaradeva oanusvaradevaauanusvaradevaacandraanusvaradevaoeanusvaradevaooeanusvaradevaawanusvaradevaashortnuktaanusvaradevaiinuktaanusvaradevaecandranuktaanusvaradevaeshortnuktaanusvaradevaainuktaanusvaradevaocandranuktaanusvaradevaoshortnuktaanusvaradevaonuktaanusvaradevaaunuktaanusvaradevaacandranuktaanusvaradevakatadeva kashadeva khashadeva ngagadeva ngamadeva ngayadevacacadeva cachadeva cacharadeva chayadevajajadeva jaddadeva nyajadeva ttattadeva ttattauudeva ttatthadeva ttatthauudeva ttayadeva tthatthadeva tthayadeva ddaddhadeva ddaddadeva ddaddauudeva ddayadeva ddarayadeva ddhaddhadeva ddhayadevatatadevatataprehalfdeva tathadeva tashadeva daghadevadagadevadabadeva dabhadevadavadeva davayadeva dadhadeva dadhayadevadadadeva dadayadevadamadevadayadevadayaprehalfdeva naddadeva naddaradeva nathadeva natharadeva nadhadevanadhaprehalfdeva nadharadevananadeva nashadevapanadeva badhadevamapadeva maparadevamapaprehalfdeva maphadeva mabhadeva laddadeva laddaradeva lathadevavayadeva shacadeva shavadeva shaladeva shanadeva ssattadeva ssattayadeva ssattaradeva ssatthadeva ssatthayadeva ssattharadeva sathadevasathaprehalfdevasapadevasapaprehalfdeva saparadeva saphadeva hannadevahanadevahamadevahayadevahaladevahavadeva ladevaMARlanuktadevaMAR laradevaMARlanuktaradevaMAR shaladevaMAR shadevaMARshaprehalfdevaMARshanuktadevaMARshanuktaprehalfdevaMARchaprehalfdevaNEPchanuktaprehalfdevaNEPcharaprehalfdevaNEPchanuktaraprehalfdevaNEP jhadevaNEPjhanuktadevaNEPjhaprehalfdevaNEPjhanuktaprehalfdevaNEP jharadevaNEPjhanuktaradevaNEPjharaprehalfdevaNEPjhanuktaraprehalfdevaNEP fivedevaNEP eightdevaNEP ninedevaNEPivowelsign00devaivowelsign01devaivowelsign02devaivowelsign03devaivowelsign04devaivowelsign05devaivowelsign06devaivowelsign07devaivowelsign08devaivowelsign09devaivowelsign10devaivowelsign11devaivowelsignanusvaradevaivowelsignanusvara01devaivowelsignanusvara02devaivowelsignanusvara03devaivowelsignanusvara04devaivowelsignanusvara05devaivowelsignanusvara06devaivowelsignanusvara07devaivowelsignanusvara08devaivowelsignanusvara09devaivowelsignanusvara10devaivowelsignanusvara11devaivowelsignrephdevaivowelsignreph01devaivowelsignreph02devaivowelsignreph03devaivowelsignreph04devaivowelsignreph05devaivowelsignreph06devaivowelsignreph07devaivowelsignreph08devaivowelsignreph09devaivowelsignreph10devaivowelsignreph11devaivowelsignrephanusvaradevaivowelsignrephanusvara01devaivowelsignrephanusvara02devaivowelsignrephanusvara03devaivowelsignrephanusvara04devaivowelsignrephanusvara05devaivowelsignrephanusvara06devaivowelsignrephanusvara07devaivowelsignrephanusvara08devaivowelsignrephanusvara09devaivowelsignrephanusvara10devaivowelsignrephanusvara11deva dummymarkdevaiivowelsign1devaiivowelsign2devaiivowelsign3devaiivowelsignanusvara1devaiivowelsignanusvara2devaiivowelsignanusvara3devaiivowelsignreph1devaiivowelsignreph2devaiivowelsignreph3devaiivowelsignrephanusvara1devaiivowelsignrephanusvara2devaiivowelsignrephanusvara3devauvowelsignnuktadevauvowelsignnuktaleftdevauvowelsignnarrowdevauuvowelsignnuktadevauuvowelsignnuktaleftdevarvocalicvowelsignnuktadevarvocalicvowelsignnuktaleftdevarrvocalicvowelsignnuktadevarrvocalicvowelsignnuktaleftdevalvocalicvowelsignleftdevalvocalicvowelsignnuktadevalvocalicvowelsignnuktaleftdevallvocalicvowelsignnuktadevallvocalicvowelsignleftdevallvocalicvowelsignnuktaleftdevaviramanuktadevauevowelsignnuktadevauevowelsignnuktaleftdevauuevowelsignnuktadevauuevowelsignnuktaleftdeva ngaaltdeva chaaltdeva ttaaltdeva tthaaltdeva ddaaltdeva ddhaaltdeva llaaltdeva laaltdevaMARnganuktaaltdevachanuktaaltdevattanuktaaltdevatthanuktaaltdeva dddhaaltdeva rhaaltdeva lllaaltdevalanuktaaltdevaMARshaprehalfaltdeva vattuudeva vattuulowdevavattuulownuktadeva vattuuudevavattuuulowdevavattuuulownuktadevavatturvocalicdevavatturvocaliclowdevavatturvocaliclownuktadevavatturrvocalicdevavattulvocalicdevavattullvocalicdevavattuviramadevavattuviramalowdevavattuviramalownuktadevavattuuevowellowdevavattuuevowellownuktadevavattuuuevowellowdevavattuuuevowellownuktadevauvowelsignlowdevauuvowelsignlowdevarvocalicvowelsignlowdevarrvocaliclowdevalvocalicvowelsignlowdevallvocalicvowelsignlowdeva viramalowdevauevowelsignlowdevauuevowelsignlowdeva dadaaltdeva dabhaaltdevarephcandrabindudevaoevowelsigncandrabindudevaooevowelsigncandrabindudevaecandravowelsigncandrabindudevaeshortvowelsigncandrabindudevaevowelsigncandrabindudevaaivowelsigncandrabindudevaocandravowelsigncandrabindudevaoshortvowelsigncandrabindudevaovowelsigncandrabindudevaauvowelsigncandrabindudevaawvowelsigncandrabindudevaivowelsigncandrabindudevaivowelsigncandrabindu01devaivowelsigncandrabindu02devaivowelsigncandrabindu03devaivowelsigncandrabindu04devaivowelsigncandrabindu05devaivowelsigncandrabindu06devaivowelsigncandrabindu07devaivowelsigncandrabindu08devaivowelsigncandrabindu09devaivowelsigncandrabindu10devaivowelsigncandrabindu11devaiivowelcandrabindudevaiivowelcandrabindu1devaiivowelcandrabindu2devaiivowelcandrabindu3devaoevowelsignrephcandrabindudevaooevowelsignrephcandrabindudevaecandravowelrephcandrabindudevaeshortvowelrephcandrabindudevaevowelsignrephcandrabindudevaaivowelsignrephcandrabindudevaocandravowelrephcandrabindudevaoshortvowelrephcandrabindudevaovowelsignrephcandrabindudevaauvowelsignrephcandrabindudevaawvowelsignrephcandrabindudevaivowelsignrephcandrabindudevaivowelsignrephcandrabindu01devaivowelsignrephcandrabindu02devaivowelsignrephcandrabindu03devaivowelsignrephcandrabindu04devaivowelsignrephcandrabindu05devaivowelsignrephcandrabindu06devaivowelsignrephcandrabindu07devaivowelsignrephcandrabindu08devaivowelsignrephcandrabindu09devaivowelsignrephcandrabindu10devaivowelsignrephcandrabindu11devaiivowelsignrephcandrabindudevaiivowelsignrephcandrabindu1devaiivowelsignrephcandrabindu2devaiivowelsignrephcandrabindu3devavatturrvocalicUIdevavattulvocalicUIdevavattullvocalicUIdeva exclam.deva quotedbl.devanumbersign.deva percent.devaquotesingle.devaparenleft.devaparenright.deva asterisk.deva plus.deva comma.deva hyphen.deva period.deva slash.deva zero.devaone.devatwo.deva three.deva four.deva five.devasix.deva seven.deva eight.deva nine.deva colon.devasemicolon.deva less.deva equal.deva greater.deva question.devabracketleft.devabackslash.devabracketright.devaasciicircum.devaunderscore.devabraceleft.devabar.devabraceright.devaasciitilde.deva nbspace.deva endash.deva emdash.devaquoteleft.devaquoteright.devaquotedblleft.devaquotedblright.deva ellipsis.deva multiply.deva divide.deva uni2010_1 uni20B9.deva one_onedeva two_udeva three_kadeva one_radeva two_radeva three_radeva four_radeva five_radevatwo_avagrahadeva two_uni1CD0 vi_radevavisarga_uni1CE2visarga_uni1CE4visarga_uni1CE5visarga_uni1CE8 uni1CE1.alt uni20F0_1sharvocalicdevaayanusvaradevaayanusvaravowelsigndevaayvowelsigncandrabindudevaayvowelsignrephdevaayvowelsignrephanusvaradevaayvowelsignrephcandrabindudevamarwariddaddadevamarwariddaddhadevamarwariddayadevan34/045 %&)**+-.45<=>?@A\]jkklmnvwyzz{_` @ A A B   g h h i l m v w   v w              vw23347889?@@AGHVWz{{|~67ABEFFGGHIJNOQB&4--- ;w ;w (!"%**..//0234?@wy{{| w   {{7AGGJNh  #%)  +##,&3-bg;jjAlmBbbDjjEopFtH]hik l m t *-.1u}   !"!"#$%%'3'044]a9hi>`a@cnBqNvw x h h m v -'()*+,-./0123juwz{|} p DFLT&cyrl\dev2 devazgreklatn "#$%+-./123457MKD FSRB z "#$%+,-./0123457 "#$%+-./123457 "#$%+-./123457MAR 0NEP P  !&()*  !&()*  !'()*MAR .NEP L !&(*6 !&(*6 !'(*6 "#$%+,-./0123457.APPHdCAT IPPHMAH MOL 4NAV hROM  "#$%+,-./0123457 "#$%+-./123457 "#$%+-./123457 "#$%+-./123457 "#$%+-./123457 "#$%+-./123457 "#$%+-./123457  "#$%+-./1234578aaltRabvsZakhnlblwfrblwfxblws~c2sccaseccmpccmpcjctcjctdnomfrachalfhalfhalfhalfhalnligalnumlocllocllocl locllocllocl locl&locl,locl2locl8locl>loclDnuktJnumrPonumVordn\pnumbpreshpresppstsxrkrfrphfrtlmsaltsinfsmcpss03ss04ss06ss07subssupstnumvatuzeroFHKLMO1?4$&AB9:;<78' ./    0#!CEDE352(+%:*8+6,4-"=>?)PX`hpx (2:BLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|<  0p,J\n "& (,4Vrz@v#4(v) )>)B)F)J*8+,,,///4x4448 A B : k q m o v p t y * & ( / ) - 0 6 D > A B V Q S T : k q m o v p t y + + ' ' 4 4 7 7 8 5 5 ; ; < < E E ? ? C C @ @ J J I I L K K O O N N Z X R W \ ^ ^ ` ` a a c c d d g g h h j s s n n r r w w | | ~ ~ } }   . . 1 1 u u  [ cQ                %&'()*%&'()*-./01234-./01234DEFGHIJKTUVWXYTUVWXY^_`abcde_acenopqrstunopqrstu+,56LMZ[fgvw !"# !"#;<=>?@AB;<=>?@AB|}~|}~$98:7C+,568OPQRNSOPijkl\]hmijfg]zy{xZ[vwy b i , F         ! " # $ ` $$'-03 5@BBGLVW"Z`$bb+ee,ss-.;Bamq~  !$%(58BVV  ,,aavvAACGIMOTVacd fl n&/02567mm8||9:<66=DD>HH?@$C==IggJijKMOLR[_flx| ! " # % d d& '  ( P \- :,y,:HVdr "(.4:@FNTZ`flrx~ $*06<BHNTZ`flrx~ &         }  v  w           n % P  [~ ln % M  P [ ]  _  e   f ~ l x      V Q  S  T ,  , F  F Z X R Y Y   U W  \ b  b i  i j       Rb  M   L   N    D E F G H I J KTeSd`r]oagWiYk L MVhXjZl[m\n^p_qUf                              y "&./4FMNOPQRSTUXY  "#&'67BHNUbemMOPQ\]^ghijkyz{   <D$NO ,av6DHj NO  ,,aavv66DDHHjj         #$$%&'3. NO ,av6DHj . NO ,av6DHj ^0:DNj|$6@JTd s6e t7!:BJRZbjrz                            :BJRZbjrz G F E D C A @ ? > = ; : 9 8 7 6 5 4 3 1 0 / . - 2 < B ,:BJRZbjrz  ~ } | { z y x w u t s r q o n m l k i h g f e j p v d:BJRZbjrz c b a ` _ ] \ [ Z Y X W V U S R Q P O M L K J I N T ^ H:BJRZbjrz + * ) ( ' % $ # " !                &   ,  F  Y   &*.4:FJNTZ  % = P  n&0:DNX         $.8BLV`jt~             $.8BLV`jt~            lt   67"#&'"#&'     *>1Q _{1{Q { _{Q{1 c{ _ M L N Nbm M L N Nbm2                  "MPQRSUXY2                  "MPQRSUXY$  }vw   "S        &F4Tn~n~&4FT  .  .  .  d/ % 2 3 9 = G H M P [ ] _ e f l x z {  * & ( / ) - 0 6 D > A B V Q S T : k q m o v p t y + ' , 4 7 5 ; < E ? C F @ J I K O N Z X R Y U W \ ^ ` b a c d g i h j s n r w | ~ } . 1 u bcQ      %&'()*-./01234DEFGHIJKTUVWXY_acenopqrstu !"#;<=>?@AB|}~edro+,568gikOPLMhjlijfg]mnpZ[vwyqf / $&'()*+,-./0123456789:;<=>?@B`bes   "$&(*,.02468:<=?ABCDEFGHIJKMNOPQRSTUVWXYZ[\]^_`abcdef!#= )*+,-./09:;<=>?@HIJKLMOPQWXYZ[\]^efghijktuvwxyz{P % 2 3 9 = G H M P [ ] _ e f l x z {  * & ( / ) - 0 6 D > A B V Q S T : k q m o v p t y + ' , 4 7 8 5 ; < E ? C F @ J I L K O N Z X R Y W \ ^ ` b a c d g i h j s n r w | ~ } . 1 u [ bcQ      %&'()*-./01234DEFGHIJKTUVWXY^_`abcdenopqrstu+,56LMZ[fgvw !"#;<=>?@AB|}~$edro98:7CgikOPQRNShjlijkl\]hmmnpzy{xqf b i , F P $@BFGHIJKLMNOPQRSTUVWXYZ[\]^_`be  !#%')+-/13579;>@BBCELghijklmnopqrstuvwxyz{|}~ "$     !"#$%&'(12345678ABCDEFGMOPQRSTUV\]^_`abcdijklmnopqrsyz{|}~     b. RTS`]aWYVXZ[\^_U  BB MM OQ \^iky{ 6 "( KQ KN Q N KKq   V|;                      ! " # $;./AHUem|gigh d P Q R S T U V W X Y Z [ \V      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP   c -./0123456789:;<=>?@ABCDEFGHIJKLMNOP  )09@LL[[$8C'y3?K!,W 38 @HIJABCDEFG HKL?i9x",6@JT^hr|&0:DNXblvwxyz{|}~56789:;<4:A  %,.=>3OO5336887@@8" *** XO(4@LXdp| $0<HT`lx ,8DP\ht(4@L* * * * * * * * * * * * * * * * * * * * '* * * * * * * * .* *  * 0*  *  *  *  * * * * * *  * !* )* -* * * * * * * * * * * * "* #* $* %* &* (* ** +* ,* /* 1* 2* 3* 4* 5* * * 5* 6*  * 2* D* E* 5<%UW-034I88K::L@AM* *:JXY[\* 6* 6* 6* 6 *M",6@JT^hr|&0:DNXblv  *4>HR\fpz*************************************************************************9*;*B*C*  5<$VW,.34G88I::J@AK~J&0:DNXblv  *4>HR\fpz$.8BLV`jt******<*******************************************=***********************B*C* 5<$VW,.44G@AH?$.8BLV`jt~ (2<FPZdnx*************************************************************9*;*  58;<"VW$&'+.34;88=::><~ (2<FPZdnx",6@JT^hr|6*7*8*9*<*=*>*?*@*I*J*K*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*f*g*h*i*j*o*p*q*s*t*u*v*w*x*y*z*U*{*|*}*~***V*{*   #"$(&4+56:9x",6@JT^hr|&0:DNXblv*******************************************************B*C* 58;< VW"$%&'*@A78v  *4>HR\fpz$.8BLV`jt~6*7*8*9*<*>*@*I*J*K*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*f*h*j*o*p*q*s*t*u*v*w*x*y*z*U*{*|*}*~***F*G*  !"#"$$&4'DE6O&0:DNXblv  *4>HR\fpz$.8BLV`jt~'. 0     !)-"#$%&(*+,/1234556 2DE5<%UW-034I88K::L@AMM",6@JT^hr|&0:DNXblv  *4>HR\fpz6789:<=>?@ACEGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Y~>?FG99G;=HBCK&<s !**?@@ t6nHh* * *  (0**** ** * $** *** * &0:BJRZbjrz** * * * ** *** * **Q* P*O*U* U* *28BLf 60:\     "(        "*28>DJPV\b       $*06<          "(.4:@% " %$#&"! ,+)'"(.421130 / .-  $73 E9J 2<Vhr(    "(.4         ,+)' X(2<F* *(P()OPQR w{()..OR ww{{GGGGGG $2GGGG:@FLRX^djpv|#"#$"#$%$%", x#z"#$y"y#y$y%x"()OPQR w{  *8 II!JJ II!JJ     =! !&HZdnx : 7 x @w? ; 8  < 9 = > A   x y z { | &R\fpz*T~&Pz (2<FPZd $ $ $ $ $ $ $ $ $ $ $ $I $NMLKJN M L &"#$%&'(),OPQR w{ N /V\'K556677889<UUVVWXYY[\ &!%#% $   "% &!%#% $   "   !""#344558899 <<AB#EH%II!JJKKLL$MM NNOOQQRR%SSTTUUVV"XXYY%ZZ[\%^^``%ccdd ffkk#mn%oo!ppqqrr$ss ttuuwwxx%yyzz{{"}}~~%%    !#$&&))+,-./0168899::;;@ADEKKOQ%LV`lx ,8DP\htssPQRST U V W X YZ[\]^_`abcdefghijk l!m"n#o$p%q&r K~       557799::;;<<UUWX[\         !!##$$%%&&''(())**++,-../011223355  !!#$&&--..112688::@ADEKK&2>Jyz{|}~ Kw      557799::;<UUWX[\        !!##$$%%&&'*,,--..00113355OOuu!!#$&&..2688::KK&2>Jyz{|}~Kf     557799::;;<<UUWX[\      !!##$$%%&&''(())**,-..113355^^!!#$&&..26KK $0<z{|}~Kh     557799::;;<<UUWX[\      !!##$$%%&&''(())**,-..113355TTzz!!#$&&..26KK $0<z{|}~nKb     557799::;;<<UUWX[\      !!##$$%%&&'())**,-..11335588cc!!#$&&..26KK $0<z{|}~tKc      557799::;<UUWX[\      !!##$$%%&&'*,,--..113355!!#$&&..3346KK $0<z{|}~PK]    557799::;<UUWX[\      !!##$$%%&&'*,,--..113355!!#$&&..36KK $0<z{|}~hKa      557799::;<UUWX[\      !!##%%&&'*,,--..11335599dd!!#$&&..36KK $0<z{|}~Kh        557799::;;<<UUWX[\      !!##%%&&'*,,--..113355!!#$&&..33KK $0<z{|}~VK^    557799::;;<<UUWWXX[\      !!##%%&&'*,-..113355MMss!!#$&&..KK $0<z{|}~NK]       557799::;;<<UUWWXX[\      !!##%%&&''(())**,-..113355ZZ!!#$&&..KK ".{|}~$KV       557799::;;<<UUWX[\      !!##%%''(())**,-..113355JJpp!!#$&&..KK ".{|}~KU     557799::;;<<UUWX[\      !!##%%''(())**,-..113355NNtt!!#$&&..KK ".{|}~ KR     557799::;;<<UUWX[\      !!##%%'())**,-..113355!!#$&&KK ".{|}~KS     557799::;;<<UUWX[\      !!##%%'())**,-..113355KKqq!!#$&&KK ".{|}~$KV       557799::;;<<UUWX[\      !!##%%'())**,-..113355XX}}!!#$&&33KK ".{|}~KK    557799::;<UUWX[\      !!##%%'*--..113355<<ff!!#$&&KK ".{|}~KI    557799::;<UUWX[\      !!##%%'*--..113355UU!!#$&&KK ".{|}~KM       557799::;<UUWX[\      !!##%%'*--..113355QQww!!#$&&33KK ".{|}~KK    557799::;<UUWX[\      !!##%%'*--..113355!!#$&&KK ".{|}~KH    557799::;<UUWX[\      !!##%%'*--..11335599;;KK ".{|}~K?    557799::;;UUXX[\    !!##%%'*..1155KK ".{|}~RK3 5577::;;UUXX  !!##%%''))..1155SSyyKK ".{|}~>K0  55::;;UU  !!##%%''))..1155KK |}~K% 55::;;!!##%%))..KK |}~K ::!!%%..KK |}~K ::!!%%..KK |}~K ::!!%%..KK}~K   ::!!%%..KK}~K ::!!%%..IIooKK}~K! :;!!%%..VV{{KK}~K ::!!%%..ABkkKK}~K %%..LLrrKK}~K ..EHRRYY[\``mnxx~~KK~JK ..KK~ & K       5566 778899::;;<<UUVVWWXXYY[\               !!""##$$%%&&'*++,-../01122334455             !!#$&&)) +, --../0 112688::@ADEKKOOPPQQ  *4>HR\fptuvwxyz { } ~KKKKKKKK K K K( @KVG .. 5<UY[\  589<<ABEOQVX\^^``cdffkkmuw{}  !#$&'))+899::;;@ADEKKLVOQ.>N^  *:JZjv    f $*06<BHNTZ`K{L{M{N{O{P{Q{R{S{T{U{V{KV KVKV$KVKVKV{{{{{L **//|  j1XY[\  !0 #&-./01256P& !!**// 34?@XY[\|     !00  ##&&-256PP "\rz *34 -2PP **34s06<BHNTZbjrz{{{{{{{{{{{{{{{ {{!{${3{3{  !0 #&56 *34.bhntz  (06<DLRX^djpv|      U*.  !0 #&-./01256PJ 5789:;<"#$%&'()*+,-/123!$4:@ADE2 5577889;<<?@"$%%&&''(())*-//13!!$$44::@@AADDEE  75789:;<V"#$%&'()*+,-/12354:E, !345577889:;<VV""#-//1122335544::EE$ l= "(.4:@FLRX^djpv|         358@D557< !""-%/51448669:::AA;EE<J$*06<43@?!  ?@x&Lr4F    &,2    H   ! (08@HPV\bhntz{4{3{*{ {{43*@?!      !"(.4*@?!    &,43*  9:{J(!?@!$!!//?@|!!$$4!?@4 (.!$B$.8;BDFH 4. . .  Vrz355::;;  !!%%))00,,-.17@ADEs$|}~:BJ0!**==?@ ''     ""%%''))+,s *8 * EDCB*4>HR\fpzeklmn*****\**:ACEG9:5t7stu      !"#$%&'()*+34v5,-./0126G  $@D `d%*+,-.024 : :5 A A6 DFLT&cyrl6dev2FdevaVgrekflatnvabvm&blwm.dist6kernHmarkPmkmkX   '(*,Zbjt| $,4<DLT\dlt|IRV0 < (V X.V  2FZn^Pf, 348 w 7E2 ?. Q>.=n[.%UC..:.=n[.&X.. .b.b.M.. =+o.Vt. /|}~" 8  8 /|}~  /|}~ FFFFFFFiFFF /|}~& (8@ w 7Es w 7EG):DL3434sL"==wy w 7AGG!lVv  &,28>D    V     *-.1u} "(.&"^vf $*06<BHNTnnnnnnnnnnnCL.wy x$Vn#n$nVn4\~wy w 7AGG!wy w uu7AGGwy w 7AGGs+++"*LBBbb       #$$%&'3 0BV )TZ`flrx~ &,28>DrBB;B|BmBypB^BtBxBTBmzsB8+|BBdBbBhhB|BBrBB|BBmBxBCrBBt)'()*+,-./0123juwz{|} p$vi* /|}~B!()**?@DDFF   !00;;BBDDFFHH\\  ##&&-25566HH//|s .<JZjz<:P.$%()    KVWb{{|~      ....,>Rfx &4BP^l!" # $ %  &  A &,28>DJPV\bhntzsJ"BJ1{s{Js{s{" Z(M:GHXJ{ JJ@ A 5;U[%) !$,-.1237@ADEOP!**?@25 $*06<BHNTZ`flrx~VVVVVVVVVVVVVVVV///////////////VVVVV///6. e &,28>DJPV\bhntz "(.4:@FLRX^djpv| $++_<\$< vww      ,\$,    >9$4<Bq7!!22G<\$<<e 5;=DF    !#$&,-./012/34|}~NTZ`flrx~ sx;'XXf|6H06hnLjp  8)*+3         8   83   &    8;y3  3  ;3   83 3   83  3$   8;q3 y 83     ;3   3       8;        'JQY(*B$ $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~44&&00*YPQ#$4&O98GFHmf"&O"4%!o% ll l llll l lll l lJ,  lm lp l lp l l l l l l l l l l l l ll ll m(p p( l l ll& l l l " l l l l l l l lpl l l" l ll l ll n k l l l l l;l l l lp l l l l$Ml  #%)  +##,&3-bg;jjAbbBjjCopDtF[fg h } m t   #%)  +##,&&-bg.jj4lm5bb7jj8op9;<> ?F &,28>DJPV\bhntz "(.4:@FLRX^djpv|Y8H38,j 28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz:nMnMn~nnnsnnn"n"nn1n'n{nnnsnn1n{n~nnninRnRnRnnnnnnnnnn:nMnMn~nnn~nnnn"n"n'nsnnn"n"nn1n'n{nnsnnn"n"nn1n'n{nnininininnn'n'n'n'n'n'nnn'n'n'nnn1n1nnnn]n]nQn"n"n"n"n"nnnn1nn'nn6nn6n;nonpnnnnnnnnnnnnnnnXnnnnnnn"n"nn1nnnnn"n"nn1nnn;nMn59:;=>[ z|}~  !%)0  $&,-.1234567@ADE2"#$%.012 JKLMN2 $*06<BHNTZ`flrx~LnLnVnVnLnVnVnVnVnVnVnLnVnVnVnVnVnVnVnVnVnLnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnLB  >p &,|s &,|F &,|" &,28>D|T31 &,28>D|T11z 4 =3F04f]jklmy`{ A A h h m v  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz      " ( . 4 : @ F L R X ^ d j p v |   |6viY=88`Hjd3j$8,8,6 BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~J516Lb?\&H&O B B  B BBBBt B B  7FH|CC## 87BI F   B  B B B B B D B! B BB.  B  B B   pCCCDGCCBCGCFCBBBCDGCGGCGGCCCGCCCBCF  !"!"#$%%'3'034]a8hi=`a?cnAqMetu v m t   !"!"#$%%'3'044]a9hi>`a@ciBknIqMuv A Aw x h h m v  &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz|6=8`jdj$8, hrr|4b||hh||||||||dzzbbb||b||||||||||||||||rrh@N@@@jjjjjx                                          9;<>&(*8:<!#/ZO( /2  =/< 1$&Bb?ACEGIKMOQSU   % & ' ( ) * + , - . / 0 1   = o 3 4 5 6 7 8 H I J K L l m n o p q r s t u v w z  $ $  $  /_ $/29;<>&(*8:<!#/d9;<>&(*8:<!#/n [P \P $PF/2.=2    # $ % & ' ( ) * + , - . / 0 1  # $ % & ' ( ) * + , - . / 0 1  % & ' ( ) * + , - . / 0 1     % & ' ( ) * + , - . / 0 1  # $ % & ' ( ) * + , - . / 0 1   3 4 5 6 7 8 H I J K L l m n o p q r s t u v w z   [ \ [< \< [< \< P 3 4 5 6 7 8 H I J K L [Z \Z l m n o p q r s t u v w z ^_`abcdefghijklm     : ^_`abcdefghijklm        &'()*+,01456789;<=>?@DH[\^`e&(*89:;<=?Ads !"#$?ACEGIKMOQSUWY[]_acekmoqsuwy{} ^ % & ' ( ) * + , - . / 2 3 4 5 6 7 8 9 : ; < G _ ` b l m n o p q r s t u v x y z ^_`abcdefghijklm     l&RP_,p^((((22222  2((<FF<F<`(F(<((F~~(((($# #=<=&& ((-)) ** 00F11*44 55Z66 995::;<'==F>>???FFGGJJKKQMMRSTUWW:YY1[\]]I^^ooNM - Z   ---- T     FI***T**        :::&&5''1((5))1**5++1,,..0022446688'99::;;<<==????AA?dd)ee$ss(tt"   51BBCCSDDFFII@JJMMNNSOOoPPQQRRUTT@VV[WWZZ[[@]]Y^^U__m``aa@ccnffgghhii kkllmmlnnPooppqq_rr ssavvgwwxxPyy`zz{{f||~~dcj[,+6,!74+4\6+!,,E  %%R %R      ;W%67H7HVV4  !!!"";##!$$;%&''(())**++,,;--6778899W::%;;\<<==+>> ??G@@OCC>DD.EE4GG>HH.IIJJKKLLMMNNOOPPQQGRR VVWW6YY+ZZ [[X\\J]]X^^J__>``.aabbccddii]jjkk]llnnoorrssvvwwzz{{}}7~~E7E4!!!+ GO>..A3A3A3A33 '  !!'""##'$$?? @@AA BBCC DDEE FFGG HHII JJKK LLMM NNOO PPQQ RRSS TTUU VVWW XXYY ZZ[[ \\]] ^^__ ``aa bbcc ddee ffkk llmm nnoo ppqq rrss ttuu vvww xxyy)zz${{)||$}})~~$)$)$("("("("("      !( 18AGHLRV WXlopqrstwxxY|<#=#=NM ^ ^ Q % / 3 8& 9 < ] ^L _ `D a aC b bD c dC l v z z 9 9  0 / 8 B B B     k h  ^  2 K b  i e  $T[ \]2^m  2)7 7=.9.&&((,,4466992::;<#>>??;BB=FF GGHJKKLL-MMPQRS TTUU VVWW XX,YY+ZZ [^__5bb=ooDCP     ----       ,##,&&2''+((2))+**2+++,,-- ..// 0011 2233 4455 6677 88#99::;;<<==;>>5??;@@5AA;BB5ddeesstt  P ,2+BBDDII<JJLL MMPPRRHTT<WW[[<^^H__[``aa<bb]cc\ffgghhjj kk llmm nnEooppqqQssStt uu vvXww xxEyyRzz{{W|| }~U Z    %$%13$"$J1&%"!'*/'::    *    803"&  !!N""8##N$$8%%&&''(())**++,,8--..88990:::<<>>??0BBCCDDEE"FF'HHJJKK0LL:MM%NNPPRRTTUUVVWWXXYYJZZ[[I\\?]]I^^?__``aa%bbcc&dd/ee&ff/hhiiOjjFkkOllFnnooqqrr$ssuuwwxx&yy/{{}}3~~!3!3!K!K!"'"'1*1*1*&/0MML@L@$%$  #  !!#""###$$??@@ AABB CCDD EEFF GGHH IIJJ KKLL MMNN OOPP QQRR SSTT UUVV XXZZ\\^^``bbddffkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~                18HL_d lo pq rs tw|97.7..DC _ _ a a,   > # $A % / 0 1G 2 2 3 8 9 G H L M O [ \B ] k l w x y z z { ~   6 6  ) ( 4 >       T  Y V $T[^m-8 &&(*01 46 9?FGJKMMRUWWYY[^ oo$%&238?FJMRS]^_`cmnopqstwx  y  z{&,..002244668=??AAdestBDFFIJLRTTVWZ[]accftv|~      $%-&7@6CE@GRCVWOYdQil]noarscvwez{g}imnv$?fk#)(=18cALkRXw_d~lx| ^ ^  % / 3 < ] d l v z z           ' + , - . / 46: $;TmTnrs< YJJJJJJJJJKKK KKKK$K*K0K6KLDLJLPLVL\LbLhLnLtLzLLLLLLLLLLLLLLLLLLLLLLMM MMMM"M(M.M4M:M@MFMLMRMXM^MdMjMpMvM|MMMMMMMMMMMMMMMMMMMMMNNN NNNN$N*N0N6NODOJOPOVO\ObOhOnOtOzOOOOOOOOOOOOOOOOOOOOOOPP PPPP"P(P.P4P:P@PFPLPRPXP^PdPjPpPvP|PPPPPPPPPPPPPPPPPPPPPQQQ QQQQ$Q*Q0Q6QRDRJRPRVR\RbRhRnRtRzRRRRRRRRRRRRRRRRRRRRRRSS SSSS"S(S.S4S:S@SFSLSRSXS^SdSjSpSvS|SSSSSSSSSSSSSSSSSSSSSTTT TTTT$T*T0T6TUDUJUPUVU\UbUhUnUtUzUUUUUUUUUUUUUUUUUUUUUUVV VVVV"V(V.V4V:V@VFVLVRVXV^VdVjVpVvV|VVVVVVVVVVVVVVVVVVVVVWWW WWWW$W*W0W6WXDXJXPXVX\XbXhXnXtXzXXXXXXXXXXXXXXXXXXXXXXYY YYYY"Y(Y.Y4Y:Y@YFYLYRYXY^YdYjYpYvY|YYYYYYYYYYYYYYYYYYYYYZZZ ZZZZ$Z*Z0Z6Z[D[J[P[V[\[b[h[n[t[z[[[[[[[[[[[[[[[[[[[[[[\\ \\\\"\(\.\4\:\@\F\L\R\X\^\d\j\p\v\|\\\\\\\\\\\\\\\\\\\\\]]] ]]]]$]*]0]6]<]B]H]N]T]Z]`]f]l]r]x]~]]]]]]]]]]]]]]]]]]]]]^^^^^^ ^&^,^2^8^>^D^J^P^V^\^b^h^n^t^z^^^^^^^^^^^^^^^^^^^^^^__ ____"_(_._4_:_@_F_L_R_X_^_d_j_p_v_|_____________________``` ````$`*`0`6`<`B`H`N`T`Z```f`l`r`x`~`````````````````````aaaaaa a&a,a2a8a>aDaJaPaVa\abahanatazaaaaaaaaaaaaaaaaaaaaaabb bbbb"b(b.b4b:b@bFbLbRbXb^bdbjbpbvb|bbbbbbbbbbbbbbbbbbbbbccc cccc$c*c0c6cdDdJdPdVd\dbdhdndtdzddddddddddddddddddddddee eeee"e(e.e4e:e@eFeLeReXe^edejepeve|eeeeeeeeeeeeeeeeeeeeefff ffff$f*f0f6f<fBfHfNfTfZf`ffflfrfxf~fffffffffffffffffffffgggggg g&g,g2g8g>gDgJgPgVg\gbghgngtgzgggggggggggggggggggggghh hhhh"h(h.h4h:h@hFhLhRhXh^hdhjhphvh|hhhhhhhhhhhhhhhhhhhhhiii iiii$i*i0i6ijDjJjPjVj\jbjhjnjtjzjjjjjjjjjjjjjjjjjjjjjjkk kkkk"k(k.k4k:k@kFkLkRkXk^kdkjkpkvk|kkkkkkkkkkkkkkkkkkkkklll llll$l*l0l6l<lBlHlNlTlZl`lflllrlxl~lllllllllllllllllllllmmmmmm m&m,m2m8m>mDmJmPmVm\mbmhmnmtmzmmmmmmmmmmmmmmmmmmmmmmnn nnnn"n(n.n4n:n@nFnLnRnXn^ndnjnpnvn|nnnnnnnnnnnnnnnnnnnnnooo oooo$o*o0o6o<oBoHoNoToZo`ofoloroxo~ooooooooooooooooooooopppppp p&p,p2p8p>pDpJpPpVp\pbphpnptpzppppppppppppppppppppppqq qqqq"q(q.q4q:q@qFqLqRqXq^qdqjqpqvq|qqqqqqqqqqqqqqqqqqqqqrrr rrrr$r*r0r6rsDsJsPsVs\sbshsnstszsssssssssssssssssssssstt tttt"t(t.t4t:t@tFtLtRtXt^tdtjtptvt|tttttttttttttttttttttuuu uuuu$u*u0u6u<uBuHuNuTuZu`ufuluruxu~uuuuuuuuuuuuuuuuuuuuuvvvvvv v&v,v2v8v>vDvJvPvVv\vbvhvnvtvzvvvvvvvvvvvvvvvvvvvvvvww wwww"w(w.w4w:w@wFwLwRwXw^wdwjwpwvw|wwwwwwwwwwwwwwwwwwwwwxxx xxxx$x*x0x6x<xBxHxNxTxZx`xfxlxrxxx~xxxxxxxxxxxxxxxxxxxxxyyyyyy y&y,y2y8y>yDyJyPyVy\ybyhynytyzyyyyyyyyyyyyyyyyyyyyyyzz zzzz"z(z.z4z:z@zFzLzRzXz^zdzjzpzvz|zzzzzzzzzzzzzzzzzzzzz{{{ {{{{${*{0{6{<{B{H{N{T{Z{`{f{l{r{x{~{{{{{{{{{{{{{{{{{{{{{|||||| |&|,|2|8|>|D|J|P|V|\|b|h|n|t|z||||||||||||||||||||||}} }}}}"}(}.}4}:}@}F}L}R}X}^}d}j}p}v}|}}}}}}}}}}}}}}}}}}}}}~~~ ~~~~$~*~0~6~<~B~H~N~T~Z~`~f~l~r~x~~~~~~~~~~~~~~~~~~~~~~~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|Āʀր܀ $*06DJPV\bhntzȂԂ "(.4:@FLRX^djpv|ăЃ܃ $*06<BHNTZ`flrx~Ƅ̄҄ބ &,28>DJPV\bhntz…΅ԅ "(.4:@FLRX^djpv|ĆʆІֆ $*06DJPV\bhntzˆȈΈڈ "(.4:@FLRX^djpv|ʉ։ $*06DJPV\bhntzȋ΋ڋ "(.4:@FLRX^djpv|ČʌЌ֌܌ $*06DJPV\bhntzŽȎΎڎ "(.4:@FLRX^djpv|ďʏЏ֏܏ $*06DJPV\bhntz‘ȑΑԑڑ "(.4:@FLRX^djpv|ʒВܒ $*06DJPV\bhntz”ΔԔ "(.4:@FLRX^djpv|ʕЕܕ $*06DJPV\bhntz—ȗԗڗ "(.4:@FLRX^djpv|ĘИ֘ $*06DJPV\bhntzšȚΚԚښ "(.4:@FLRX^djpv|ěʛ֛ $*06<BHNTZ`flrx~ƜҜޜ &,28>DJPV\bhntzΝڝ "(.4:@FLRX^djpv|ʞ֞ $*06<BHNTZ`flrx~Ɵ̟؟ޟ &,28>DJPV\bhntzڠ "(.4:@FLRX^djpv|ʡС֡ $*06<BHNTZ`flrx~ƢҢޢ &,28>DJPV\bhntz£Σڣ "(.4:@FLRX^djpv|ʤ֤ $*06<BHNTZ`flrx~ƥҥޥ &,28>DJPV\bhntz¦ "(.4:@FLRX^djpv|ħʧ֧ܧ $*06DJPV\bhntzȩΩԩک "(.4:@FLRX^djpv|ʪ֪ $*06DJPV\bhntzȬԬ "(.4:@FLRX^djpv|ĭЭܭ $*06<BHNTZ`flrx~ƮҮޮ &,28>DJPV\bhntzȯίԯگ "(.4:@FLRX^djpv|İаܰ $*06DJPV\bhntzȲβڲ "(.4:@FLRX^djpv|ijʳֳܳ $*06DJPV\bhntzµεԵ "(.4:@FLRX^djpv|ʶֶܶ $*06DJPV\bhntz¸θԸ "(.4:@FLRX^djpv|Ĺʹֹܹ $*06<BHNTZ`flrx~ƺҺغ &,28>DJPV\bhntz»ȻλԻڻ "(.4:@FLRX^djpv|ļмּ $*06DJPV\bhntz¾ξԾ "(.4:@FLRX^djpv|Ŀʿпֿܿ $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ $*06DJPV\bhntzĀĆČĒĘĞĤĪİĶļ "(.4:@FLRX^djpv|łňŎŔŚŠŦŬŲŸž $*06DJPV\bhntzǀdžnjǒǘǞǤǪǰǶǼ "(.4:@FLRX^djpv|ȂȈȎȔȚȠȦȬȲȸȾ $*06<BHNTZ`flrx~ɄɊɐɖɜɢɨɮɴɺ &,28>DJPV\bhntzʀʆʌʒʘʞʤʪʰʶʼ "(.4:@FLRX^djpv|˂ˈˎ˔˚ˠ˦ˬ˲˸˾ $*06DJPV\bhntz̀͆͌͒ͤͪ͘͞ͰͶͼ "(.4:@FLRX^djpv|΂ΈΎΔΚΠΦάβθξ $*06DJPV\bhntzЀІЌВИОФЪажм "(.4:@FLRX^djpv|тшюєњѠѦѬѲѸѾ $*06DJPV\bhntzӀӆӌӒӘӞӤӪӰӶӼ "(.4:@FLRX^djpv|ԂԈԎԔԚԠԦԬԲԸԾ $*06DJPV\bhntzրֆ֌ְֶּ֤֪֒֘֞ "(.4:@FLRX^djpv|ׂ׈׎הךנצ׬ײ׸׾ $*06DJPV\bhntzـنٌْ٘ٞ٤٪ٰٶټ "(.4:@FLRX^djpv|ڂڈڎڔښڠڦڬڲڸھ $*06DJPV\bhntz܀܆܌ܒܘܞܤܪܼܰܶ "(.4:@FLRX^djpv|݂݈ݎݔݚݠݦݬݲݸݾ $*D>;Bvt|dVime,1*psse?VJTW,lew||e/=IVH7Zeln+/D%$6")"(BR$)4 - |*)+65  qH u552-/?/ LI4+~H &52 ^|D>D>D>D>D>D>nt|d,1,1,1,1????mm||eeeeelnlnlnln"//<<1- - - - //552-/?/ -/?/ -/?/ -/?/ -/?/ //&52&52&52&52^44^D>WD>D$>$t|dt|dt|dt|dVime$)4 mm55,1W- ,1- ,1- ,$1-$ ,1- *)+*)+*)+#*)+psse65 ss5?W??$?$?2B2VJ#TW #qH  ,le ,#le# ,le ,le ,||552|#|5#52||552{{x|B|552We-/?/ e-/?/ e-/?/ H7Z~H#7Z~#H7Z~eH eH H ln&52lnW&52ln&52ln&512ln&52l$n&$52"^")"()"()"(44mm4444>>22t|Lmm4444. . rr&&{MxB66  ||5F-/WW4477  rn%5hh$$$$$$&&ppmemeYR4 Be"e ByD>?e-/?/ ln&52ln&5D2ln&5g2ln#&5q2ln&5g2D>DD>EW44*)+JTW qH$e-$/?/ $We-$/?/ $$memeYR4 *)+KK||552@@//D>D>,1- ,1- ??e-/?/ e-/?/ H7Z~H7Z~ln&52ln&52###e#H Spsse65 ssPP**):"(:D>,1- e-/D?/ e-/D?/ e-/?/ e-/E?/ W"^uuD>t|d0,leeEEln00,1-0 B44H7Z~"^""444444  44)44 ,,44*)+5 55 5555IIRu552552<<B//kkH"Y" O&52//33e  ,,??  44E6?nn''::::U\TRaaaaaaaa=a?aRR<aTTTaaaKaBJVLuebkeD;Bv,)"(psee?JTWw||e/Ie"%$6ff?"## ##   -/?/ &&-/?/ //44t|d&&t|d,1,1ss1BB??Bss5588nDnD>44;Bv1ZDZ,1&5Pbbwpsseenn/=It|de8F%$6sDs]R  ZZAA=@@,,  #F#- wuBJBG !!uu??-/?/ 88LI^kk 8F83+\\))- - 5555  BB^9G9RR>>  VVIImm@@rr&*&U>}}//>8>>bb$$/ BBDJGJ33))3344  ]  FF  DG&$&$ODOF55  55 [[88zDz?G?rr?? AAt$|d$DG"D>,1- r\rrww&&$$WBBBBe-/?/ ////==88W^88^88^]]33 D G : :<:<:%%  44$)4 =D= G ||AAffHH'' d:d%:%V4+55   "" uDu8G8mDmAGAn4n99DAFA]@]*F*h@h,F,##z|=L>,,cc  ****7ull55==//4( //;;//= === **55>55JddQ\DnnYY''A|\//PfLagOgggOggbaggggiaZZa00g?agmagvageg|avvvama;Ju,00a)aa=aeagbTTZZm=)?P''552440aLI//BR$)4 |*)+ :qH}LI44gg+aggppTTaagiaaZaTTqqahhahhaTTTTTTa00g?a00agmagmaaxaggTTvvamaaagaJaaaaaaD>;BvBR;PBvBPR;mBvBlRt|dVime$)4 VPime$P)4 Vmime$m)4 Vime$)4 V8ime$8)4 ,1- ,1- ,81-8 ,C1-G ,1- *|W*)+psse65 pPsse6P5 psse65 psse65 pGsse6G5 H?H?gJTW qHJPTW PqHJmTW eqH,PleP ,PWleP ,slep ,8le< wuwuPwPu||552|P|5P52|e|5a52|8|5852#e-/q?/ e-/R?/ e-/?/ e-/?/ /=ILI/=ILIH7Z~HP7Z~PHP7WZ~PHg7Z~oPPRPPeYH PePH qemH 8e3H oQn4Q52ln&52l8n&552ln#&5q2ln&5R2,,D,P,DPPP%$6 %$6 "^)"()P"(P)"(65 RH 1^1cc..DP>PD>5D>,D>,D> gD>sDP>PD>LD>LD>nD>qDP>P,P1-P ,1-5 ,1- ,1-, ,1-, ,1 -g ,1-s ,P1-P ?5P?PPe-P/?/ e-/5?/ e-/,?/ e-/,?/  e-/g?/ e-/s?/ Pe-P/?/ 444444544P4P4lPn&P52ln&552QQQQQQ5QQPQPQ"^P"^"^5"^oo((..################{>H>>**q4r5      qqq]q]g eqe*e*eee]e^eT^JK-/?/ -/?/ -/?/ -/?/ -/?/ -/?/ ]ege e e e e####  -/?/ -/?/ ################{>H>>**q4r5g eqe*e*eee]e^e##############D>D>W`LD(+euepse?W?v b&&&&""  ekeffUTamaLbvAKUh\hAThTThhTA27?mT|d+vAu55&&=gVH7Z+/DffJTWD>nh4h4A>ee)*)>//7700H zDz6F5 JDTW FqHDF@@@  kk''//TZZy1"(65rDr@F@ZDZ#F#bb!!wuueZDZ#F#;(;(aa54eWue) "JTW qHJTW qHJTW qH,le e<>N> e/=ILI&4@V4+V4++/D4444$*!f$)4  u552-,e||552t|d'*65 |,,*)+JTW qH||552~Ae&=u==g=<66 "eln&52U]DHm3[ht|d)"(Vime$)4   33a//*44<|  ""//,~,++$$VY+{{g88/"44"Y"222 a ( ) iBi|B|cc:le|D>,1$?lnPY$$He ?52$-$ &$52vv<<v<vy<vy<vx<vx<v@<vw<vv<<vz<<O<O< <<<<"<<<<$<<U<<<^h<^^<<58<<58<58"<58<<58"<58<##<2<###<##"2<###<<<<<"<"<<<<<$<<<<GA<<<GA<<GA"<<G#AC<<GA<<,,<C<,,,<,,"C<,<<<<"<<<<b<<$<<<vbv<<vbv"< << #<<v<<v<v<<#v<<v<<<pp<<88<[<88[<88"[<8#8<[<8b8<88[<<<<d<<<<d<<<<d<<<<"d<<<<d<<<<d<<<<"d<<<<d<<<>=<<<<d<<vv<<<<H>>**q4r5pseg eqe*e*eee]e^eff%q/{44  ghG3################ <<<<<<<<,,<C<,<< <<pp<<88<[<<<<d<<<<<<<<<<AA<<<<<<<<<<<<d<<AA< <<<<,,<C<, << << << << << << << << << << << << << << << << << << << << << << << << <<<<<<<<<<<<<<<<<<,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<,,,,,,,,,,,,<<<<<<<<<<<<<<<<<<<<<<<<<d<<AA< <<<<,,<C<, << << << << << << << << << << << < < << << << << << << << << << << << <<<<<<<<<<<<<<<<<<,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<,,,,,,,,,,,,<<<<<<<<<<<<&?F_nn4~~56M|l-./:;4=?6AA9DD:FN;QVDXYJ[[L]]M_`NbbPdlQppZrr[tu\zz^||_`agj&r).7nv     %((00;_L?R[_hlx|     & &' , ,( E E) I K* a a- e e. h i/ k m1 t t4 { |5 7 ; < 3 3[ = >\ @ @^ B B_ D F` N Nc P Pd Y ae c cn y zo q r s t u v x z } ~                     ) / 2 2 6 6 : > @ D H J O X [ j                               ,,9P A  B3K04k]jplm~` A A h h m v  &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       $ * 0 6 < B H N T Z ` f l r x ~         |6viY&"^=88`Hjd3j$8,8,դ''6'Awp-file-manager/lib/fonts/notosans/NotoSans-Regular.ttf000064400002222050151202472330017146 0ustar00FFTM5 $ GDEFgQaGPOSlhTpGSUB*[X0OS/2b`cmaphNOK0gasp|glyf:thead%T 6hhea D$hmtx>hrIHloca,rB\OPILmaxpuh name post`prephOHo}]_< '6'Av C-  RRyQXKX^2B @ _)GOOG -C -X^M HA<>?15A,(,')<2 )B( Ht <1<Y<0<-<<?<7<,<1<2 H <2<8<2 :ax=a,aa=aS(ka aaa =]a =na%3, ZX J6<&IPt I<&(1.gU7g747Xg7jUNUUUjU]7gUg7U3ijO '|'| <2 H<[< <;<';D@1e (<2B(@17<2^^(oU7 H^%x '" qx=,a,a,a,aS(S(SSa = = = = =<@ =ZZZZ6]awU1.1.1.1.1.1.`.747474747L]7jU]7]7]7]7]7<2]7jOjOjOjOgU1.1.1.x=7x=7x=7x=7ag7i7,a47,a47,a47,a47,a47=g7=g7=g7=g7ajj SSSS(S(Ud(NkaUU WL aA aU a U ajUajUajUajU =]7 =]7 =]7=6naUna>naG%33%33%33%33, i, i, iZjOZjOZjOZjOZjOZjO  66<&'<&'<&'FUg  gagU{ZdRxx=7* g3g7\F,<;L6M=:U\ZS"kaUZjU==h73=M7 gUna%/-<&ei@ i,  ZO%Z@<&'H#H7":0H#!$KUP+A H aa=7aaU aalU1.S =]7ZjOZjOZjOZjOZjO431.1.q`.=g7=g7ka =]7 =]7H# aa=7=g7aaajU1.q`. =]71.1.,Q47,a47SS =]7 =]7nWnaTZjOZjO%33, i?&aja_7:T2<&'1.,a47 =]7 =]7 =]7 =]76}U77x=7 , 3'  a,a47=g7n  61Qg7ggU!0g7g743433+!!X7g6g7>7jQjUjU LR@$z^UUQQUjjUxU]7`786UUZRZ/U/U3iij ]eQ ''  7 =@UX->7}U Ug7 777^^U[UNUss77 7  k7L g !! (((y((((y(((BHBH(( ((,(((((J77!X NNNNNNN((g ((K(K(M8(((( H(((((((Yl0esWddOsNCXWddHl 1N0o:NCC0`Hi&0HHXQdH@~^avU<U'bUR!7! (  H     I Laa ,a<&a =S(kaaaap< =a]a<&, 6K3J5ZS6o7-`ULRVOo7eUL--7`UR7LRUrU7]7XF7f7VO7ROALVO]7VOAkaUoP" P7ZU=]7x=7aa,0Q XF7=7]agUx=aU]xx=x,a,a  a=%3S(Sa jabp agaa a,aVL&bbjaaa =a]ax=, p $3JaP aaZaaya1.W9@UUE47!UUUBU}U]7pUgU76xUeJUU URUDU/4747j U73NJvUj UUrU z aU<a U aQUK $ZO=]7{{=G75=7=:<7a358HaUgR eagUaUaUL&!a-UjaUj  oaU/aU a_U =7x=7, 66w(^ PmJP^JajUQQS(Va0UKamUaUPeJaUS(1.1.q`.,a47;43;43VL&!H#bUbU =]7=]7=]7yp p p PeJaUZa Ux&Jg>g7>6#)&y#&[aU=7 M5+J)&a2Up =g7  jaU2CakUaUaUr{SJGN$U))))23OzIA3:.g*++8;.VD,(BV$9%gT(jWMg[cN 23A3DU..{W'K''T'Z'>'T'g'&'H'G@=i+D3?A;r2t33kTT.5E7b7Uyz X121PE [32)$$3**<*W8:)$'' -t/ `3@  ;TVT$V!V[2VVjVz; #^^^4'9z;z;VTQj&j( '!V TVV5C=? ?i?i'(??U?N???(&??i;]mm5$2!7$o$o!:>$8[7`77$8&&7 3`5JH 7Q$f 3 73J7Q.$f Qgg7XjgZi"gU7J*@$Zg T ] gUg7X 7U(UjUgU(3'1.g7g747+!3N!jO! 8$Y$? $5577`7`577$#7! 55J22`D $UCHlhlh&&\;]Kn}m^ee]H1.agUagUagUx=7ag7ag7ag7ag7ag7,a47,a47,a47,a47,a47aX=g7ajOajUaj%jajUSSkaLkaUkaU aL  a aaUaUaUajUajUajUajU =]7 =]7 =]7 =]7]agU]agUnaUnaInaIna%33%33%33%33%33, i, i, i, iZjOZjOZjOZjOZjOXX          JJ6<&'<&'<&'jUi 7.FUFF Z\-1.1.1.11.1.1.1.1.1.1.1.,a47,a47,a47,a47,&4,a47,a47,a47S(<S(N =]7 =]7 =]7 =]) =]7 =]7 =]7=h7=h7=h7=h7=h7ZjOZjO ZO ZO ZO ZO ZO6666a=P5\ o7o7o7o7o7o7o7o7  y y e e   ------    q q `U`U`L`K`U`U`>`?{  > > * * q r LBL8LLLLLL        ]7]7]7]7]7]7q { 4 4   VOVOVOVOVOVOVOVO    AAAAAAAA; E     1 2 o7o7--`U`ULLR]7]7VOVOAAo7o7o7o7o7o7o7o7  y y e e   `U`U`L`K`U`U`>`?{  > > * * q r AAAAAAAA; E     1 2 o7o7o7o7o7o7o7  )LR)((`U`U`U`>`>    a))(LLLLLLSS  LL(VOVOVAVOXFXFVOVO66   (AAAAA  ] I (LM< d+B(B(<(((('  g g g A<xMpDHH HXX,1-''H'Z6(6'E2Haav^B(ADODW  H<$^6X'),]')tO]<5'64=555' H HXXXXX^3^ ^^^^^R#R#R#>7^^%^^^ ^^^^^R#R#R#>mo$$X o!7[77`7777! <$<3<8<-<!U< LAS Ui7<<<< < =`% x=m"<O< *;F p7<a  x27= 5A](L6yj7D" ajg/ A 6R a_@1D,a =hQalaTa*8(^v&SJ LkaF=k2[8a%"xN)ca 1(a alE  6$C  W Woc,0%%%>%J[B %6> >>#>0%!d'2R0   ] na1.iavUa/U<&'=ab .  aU75]7:#3A"afd@tr}qxx{##555<>>5dLz;5RB<2>>;2<2''MPMMPM(4545=554#A<f H L H ) J<+B( (CfL:>(1<(J((((( Zt < H a >Rab<,A"#A"##--,ZRZoP ="=:c Ka1U=D7aLUea>T xTaU =]7 =w58=7q+L#Cu`VBwBE#3+&!0KHR " `uU" V aiU aUC=7=]7 7uZ(Z(Z(Z(Z(Z(Z(Z(NNNNNNNNNNNNNNM5(e(i(Z(FF H H H((zFEF1+aiUB (O1-.+#n#NO(..T.}..}.x!k  kaUk  iaYU  t=5C=7]gT f  =g7=7J- 9B'^ $] g Zg<aU),V4K5~"7UPU UUUA W5\US9S9J0 U\U\Up7 ( H2 Q Qa5EavUg7jU A6 K1O+1X-JO<gfil#R L&=aKx0k, !^wU=:4j.80C7!{x=%3<&ag7%(.2g#%V]3aS(_NN}Nn(n(n(C93cQc/(, 6:::::9:[Xa)g.:6X b5zUiUiU,,C-6CC55oP"WFUPUx fiPiPT'G/rryiPH7 U6S[.Og7c+7,<,PZZUH3|wf))ba[..44 aa,aS(ZaaZ\Z G<<aa#jU1.47jOJEBPJcc J......FJF FJF JJJHJJJDJJJP/P/P/P/P/WJWWJ#%#%####%#%##%#JJJJJJJJoJoJoJoJoJoJx0x0x0x0x0x0x0x0x0x0x00JJx0JJJJ))))))WE     TETETETETETETETETETETE.2aa\6aaf?#"#I#/#'##0#(# #%#"K6",8/;?8 <1?/H7+&<-<<?<7M:<2<1^^%^^^ ^^^^^^^%^^^ ^^^^^89<56q q5<]lNNNN "&"(&&#' NNNN""&&(&#'%'.%%%NNNN%'%%%""#""""'%'%%%??NNNN%GGGGG3%%%%%%%%"%%-****+NNNN_)NQItDEN~N~M5Mn;U7UP 7W Wo        1a          X X D D     v v b b     o7o7o7o7o7o7o7o7LLLLZZZZZZZZVOVOVOeOeOeOeOeOeOeOeOmA7 JJ7JWJx0#%JJoJ-x0MJJ 0E0#%##x00JWJJJJJJJJJJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJ#%#%#%#%#%#%#%#%#%#%#%#%#%###x0x0x0x0x0x0x0x0JJ00000000000000000000000333333333333zJzJzJzJzJzJzJzJzJzJzJzJ000000000000#%##x00JWJJJGFJJJJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJWJ#%#%########%######x0x0x0x0x0x0x0x0JJ00000000000000000000000333333333333zJzJzJzJzJzJzJzJzJzJzJzJ000000000000 H())LL)L(((((()())L)L)L((((((8Q$U))))UOzI:.g*8;.V,(B..[_<IA3].j*f4d.^H(x<H.[_<IA3].j*f4d.^H(x23Oz2IA3(.g*+8;.VD,B,+D.23Oz2IA3(.g*+8;.VD,B,[P_^YIIAA33~.j*4d.Hx+,^HJ.#[P_^YIA3~.j*4d.Hx+,&&&&,,,,33AA33G$$$%%%gggTTT(((jjjWWW))))))[RRIhAAA[[3Ruljg8^YHLHMfM =........'X'8'RJJIIw HHHH..IA3IA344II..I....IX9..M -V%gT(jW$J%gT(jW$II,,s"<9FsbDb;_I'2 .T1 H*'0'W'/'(' '@'7','4'4&U&,'2'2'2Gdl*d6',x6'2((8R8QSQ$H'E'2T1'HcKW AF $$R) . x@8 ~w/ EMWY[]} d q !_!!""%,.Rʧ9.k/ z  HPY[]_ f t !!!""%,`-@§0.0 QBFccccmc=bbi`h    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abctfgkzrm dxluiy{n~depVod< - {s|((((((dH @ Lh  , 8 ( ( d p tT<h(DtTt@`x tL`Xp44p8@L p !!!",""#$#x##$$D$$%H%&'','D'\'t'''(((4(L(d(|((()),)D)\)t)))*d*|****+(+++, ,$,<,T- -$-<-T-l-----.p.....//\//0 0$0<0T00011(1@1X1p1111122202H223\3t333334444445 5$5<5T5l6 6$6<66677(7@7X7p7777788808H8`888899H9999::0:H:`:x:::;(;;;;;<<<=$=<=T=l======>>,>D>\>t>>>?,?`???@@@4@L@d@|@@A A8APAhAAAAAABB(B@B|BC|CCDLDEExEFF`FGGGGHpHI8IJ0JJKKtKLLLM\MlM|MN`NOTOPLPQ QQRR|RS SdST TTU$UUV V0VVW\WXXtXY4YLYdYYYYZZ(Z@ZXZpZZZZZ[[[0[H[`[\x]]^h__`X`h`ab4bbcc|dd d8dPdhdddddee e8ePeheeefHf`fxgghhh4hLhdh|hhhhhi i$i<iTiliiiiiijj,jDj\jtjjjjjkhkkllXmmnnhnxnnnno|ppq\qtqrrrrs$st tXtuvvww4wxx(xxyyyzz\z{@{|<|}$}t}~8~,,0 (p$X,\Th h\ HXP L L LlT8T<8$<p\T4|HXhx<T 4Hl<h@XtXx$DXl|Th (D` 4Pdt $H,<L\p 8XxH\p8L`t$@`L4H\xh4$4D 4L$d°\ü<tĤ@`ŀŐŠ(8Xƴ(@XpLjǘǨ ,<Ȥȴ XhɌɜʀʐTl˄˜˴xHXtϬϼ<Шрѐ8ҤDӔtPhՀ՘հ,ׄ ؘXٴxڤT<ܜ ݰ 0|0@Xp߈ߠp@ $Dl$X$4H@8`p0tT DTdtL ,D\P`pTd|D8P\$xTlD\|hX TP      @   d  \  8 t D8p@dDpD4 tHXhDP(`P(p d t     !!X!!!!""("@"P"`"x"""""## #8#P#h####$$X$%%\%%& &0&','( (()l)**\*++`+,,(,- --.0.//////040|1122|223(3x34 44556`677\7789d:::;T<<===>T>l>>>>?d@,@p@ABBCDDDEEpEFFGXGHxI IdI|IJhJKpKL$LMMNPNhNOpOPxQQ0QHQtQRR(RRS SdSTT\TTU U$U<UTUUUVVWW4WPWWX,XDX\XtXXXXXYZ[\`\|\\]]^_0_`d`a(abb0bHb`bxbbbc,cdtde0e|fffg<gh hxhiiijj<jk$k8kkl`mmLmmnnLnnoDohoooopLplpppqqDqXqtqr,rprrsTstt`tuTv vwxxytz$z{|(|||}X}l}}~ ~4@$\ld4lHlp $X|$lp8X(x8T<`,P8txH|,l D4t`D@<4Ht(DP\<Td  ,d(H$xDLHPdp4 `p0X XðĀ0PpŐŰ8Tƌ$DŽH`ɐ|`$d̜̀ X͠PΈΰ$τXР(р8ҀӜ(ԤԸ LpՄP֔ $<Tlׄל״ $<Tl؄؜ٴ@,ۼ<\t܌ܤܼ4Ld|ݔݬl,D\tߌߤ,D\t4Ld|L(0(@Xp(@d4Ld|,D\t4Ld| $<Tl,DTd|`$8|80dLL<\4Ld| D   4   x8Xx 8Ph0H`x<0lH$<Tt,Dd4Tt$Dd|4Tl$D\t$<Tt,Dd4Tt$Dd|  , L l     !!<!\!|!!!!"""4"L"d"|"""""# #,#L#t###$$<$\$|$$$%%D%l%%%%&&8&`&&&&''<'d''''((D(l((())$)L)t)))**,*D*d*|****+++4+L+\+++,,,4,T,l,,,,,---0-H-`-x-----..(.@.X.p.....///0/P/h////0$040T0t0000011,1D1\1l111111111111111122 202L2d2|22223$383d3344P44455$5<5\5p5p5p55566,6,688,8D8888899@:::::; ;4;X;h;;;;<<(4>d>??(??@H@AABxBxBxBxBxBxBxBxBxBxBxBBBC CTCCDDPDE,EPEFXFFFFG,GlGGGGGGGH H H4HHH\HpHHI IdIIJ8J|JJK4KtKLLLLMN$N\NO<OP@PQpQQRhRRST@TUPUVdVW0XHX|XY0YZPZ[[[\]h]]^X^____`bhccd0de|fPgtghhiLijkLkmnolopPpqLqrr@rrs,ttLt\ttvvw`wy(zz||}$}\}}}~L~|\4TphLh L 0Txhxp,HX|x<P`Dx8Ht D<(Px0l<x t8t$p4@L8x<`Tt$LtL,(D Dh<T$Xl8d 8XT@$ XDtDp(xl`ĐHŜHƠxTȠ`0ʌPˀ˰\̼\Ͱ8`ψϠ\ҌӴԈ0hX֠H|@ِؔ04ۜ<(ݐހ8߈ |\x(h,`<p8pP$Hd4Tt,X XH`Lp4(,Ld| t4$L,D\H`|0t  XX8LhD  h     L  4     |P <X(t \|$<( \8XhX ( L !,!!!!"0"##$ $T$%\&&'X'(H() )**@*d**+d++,,X,--4-\---.$.x./(//0P01H12D23@34 45556<674777789:T; ;;;>?X?@L@A8BBC4CD<DELEFGGHlIIJlJK KTKL<LMMMNNxOOOOPQ Q|QR$RxRS8STTtTUUV,VW(WX0XYYZZ0ZHZ`ZxZZ[,\ \ \8\d\\\]] ]L]x]]]]^^8^`^`_```ahabbcpcccccddd0dHd`dxddde8ePeheeefff4fLfdffffgggghHh`hxhhhhhii i8iPiiiij j$j<jTjljjjjkk0kkkll,lDl\lllmm4mLmdm|mmmmmn n4nnno0oHoxoopp p8pPphppppppq,qDqqqrrXrrrs<sssttxttuuu4uLudu|uv v8vPvwwPwwxx,xyy(y@yXypzztzzzz{D{{{{{{||(||||}p}}}}~~0~H~`~x~~~~ 0HXh $<X 0x|(h4h<p4$8L`t(<Pdx|$`T(Pt LpDl Px$Pt Lt8d0X Lx@l@l@hDtDpDt8d@p4` 0X4\,T$Px Hp8\\ ,<T(8P $<d0Hh(Px Hp@h0Hh 8  Dhph(@t0TxXXhx DTd(8H(8HX° 0@P`pÀØð(@XpĈĠİ 0@P`pŀŐŠŰ0H`xƐƨ 0@P`pǀǐǠǰ(8HXhxȈȘȨȸ(8HXhxɐɨ 0@P`pʈʠʸ0H`xː˨ 8Ph̘̰̀(@Xp͈͠͸0H`xΐΨ 8PhπϘϰ(HhЈШ0H`xјѸ HpҘ 8XxӘӸ8XxԘԸ 8Xx՘ո0Xր֨0Lh׈ר 8Pp؈ؠ 8Phـٰ٘0Ppڈڠڸ8Phۈۨ(@Xp܈ܨ0X݀ݨ0Ppސް(Pxߠ8X Hh(Px$4DTd|$4D\l| $<L\t<Tl4Tt,D\t4Ld|\@,h 8`(@Xp,P\\<xdT \t4Ld|,D\t4LPhxxP, h    0     , D DHh80H`xph $<TlTl\h l !!(!@!X!p!!!","|"###$@$%<%&$&|&'$'<'(,() )8**t+d+,, ,8,P-\-t.p.../|0L182$2<2T2l2222233343L3d333345t6P7(8 89:;<=>?@ApB`BCDEtF<GGHIhJPKDL@LXMHN8O(PPTPQQ,QDQ\QtQRRSSTTtUU\UV<VWDWXXX4XLXdX|XXXXXY Y$Y<YTYYYZZZ0ZHZ`ZxZZZZZ[[0[P[p[[[[\\0\]__`abccdef\g(ghitjdk,klmnopqrsst@uuvwxtytz4{T|h}~hXp$\4D`X@XPl(LPhhX4L d,LdD\<HHDHPh(@Xptplpt| d<$l`4LH` 8Ph0„l| HżDplʨH`x`X(ΰ hl4(t,x\ Ք@ 4D|P`܀ܘ<ބdXD0,`0HL4Ld|`$p8`0L L,hLtPTHdX|Xt$$@\@<L  ( @ X p        t  l  ,  |pt^3!%!!^563dH7#34632#"&9kt$%%$l%%$ AW#!#77l3##7##7#537#5373373337#)G)'F&~ (H((E(CCBB>")07.'55.546753.'#>54&'7h "j3c\gX@5W$ M(BX-h_@63-<@;60A1URGJTXWJ +?2FW o*!(++"&'1 %/2#"&546#"32542#"&546"3254JLIMGKFtM&##&MhIMIMGKFL&##&Mujjwwjju 64QPPRujjwwjju?PPQQ5+52>73#'#"&5467.546">54&32670P]Q>! Y0&wW/tSgzSG 7cR*5&$;30R6=J>@\QI?X$Q/@n)T*4f^M]($R7JRH,'$=%"=($. B67B*A#7(b 4673#.(GLSFGGERLGz[^wt^Xb #>54&'3GLREGGFSLGyX^tw^[)67''7'7'BwVUMYu6\//\62oS 3##5#5353AHHGG)t7#>73 1A^i5694(3753(NNHy 74632#"&H$%%$6%%$  j #jV 61  #"&54>3232654&#" 0hVys/hUxv~CQPEEPQCfsXítWYc !#467'73cVL.I+4>;0)57>54&#"'>32!(6J&F84O)/*mDdt.R7iI6TQ0;=$ ;#1eY8b_6-*#"&'532654&+532654&#"'>32PDVT:y_8`,-h0`Ui_EFX[F<:R(,&qHpm#HU XG>a6RKBC;KJ=49"<,d( %##5!533'467#!(hUP[h K#4I!,?2#"&'532654&#"'!!>n~7a!$g/OaV]H,f:ndoSKOFK QP7 ,4>32.#"3>32#".2654&#"7Ge3-E\5R@]r{hDnA?NEE/F'"D1MyHK.Ph;#1qhpDQUDP'< +U7, 3!5!%zPDz1 (52#"&54>7.54>">54&32654&/^x%>%,H+ks|)D'4I8`<7G#<$4GFJMIMRDBEXS+@15F1Zie[1H4UB7K(G52%2#>625(4EE74EI2,#"&'532>7##"&54>32'"32>54.Ge5'1F[6SA\q9fEDn@>OCF0F'"DMyHK .Oi:"1qgKl:ERTEO'< +T8H& 4632#"&4632#"&H$%%$$%%$&&$ x%%$ & 4632#"&#>73F$%%$q 1B ^&&$ 45&WU#2t `-5%  )yt2N85!5!86GGGG2t `7-52y)N2 +74>7>54&#"'>32#4632#"&% '+>;1L#(a<_h5$!# F#$$#&72!,*04F^Q-?5*)%%$ :I?M#"&'##"&54>3232>54.#"3267#".54>32326?.#"I,@,.5F5LS4_A,U %+KSrQ=o++kAvY:nch]3+81 (1<e.XG+5"%2fTBe: 4"3U3]D^jDXt]uAV@:TC}0K~!'!#3 .'3!VU[Q Q3*- ;aT"2+2654&+32654&#-FB-I*s\DS[v_JMcOb?S &F8aj;:;3KJ<8E=Y"3267#".54>32.s{{/T((U;mIOnqT$!Q NZpl]*La +324&+3 ŰlV_ua"lPva )!!!!!q#5ONa 3#!!!!Z"OO= 3#".54>32.#"32675#:vKoOXu53$$-ZfL2-Agbak!##3>?3kjIZZ>iU@"D"a33!aZ8Pa*!##333#467#SYri9OI64f a!###33.53iSh}TQ#h7q@L =#".54>3232654&#"KloHHpkKryzppyysfo\\on\[oa* 2+##32654&5}kRZ[HfdXnd;g@MBOED=V #'"#".54>3232654&#"ig oHHpkKryzppyysf#\on\[oa_2####32654&&*A$iZfkWPTef9L- 'NECF;3)%#"&'532654.'.54>32.#"u5#0)!`S9Q,M9/$0&5J !!##5!#CZ{OOZ%#"&5332653<{_Z]^aWYJwEw1W`gQX #3>7XZ^66,M##N- #.'#3>73>7[ [^o  ~] n6:- U./L.V&'\,N.[#%W/F !# #33Ff_d_6tV63#3aZbk_K& )5!5!!xD6PDPb0#3#30hH( k#` W6b3#53#VH& 3# &2N <gf!5!@@(^ #.'5 !%;:1 74 99 .!&2#'##"&546?54&#"'>326= b^@#MDI`~[:5*L!#`NdM7+DZ!V^L,*MRPW C4B83-*KN0U0!3>32#"&'##3"32654P?dyzc?P?XUBAXHG?";".. Dbgcijd7"".54>32.#"3267,Go?BqH)L@ML,CA :z_c|: I ag N7""&546323.=3#'#'26=4&#"dxyd>OXG P1UEBYGGG .! 3H"0I]^dkq_`j7"2!3267#".54>"!.$Ec5YP3O*)P7LuA;kF?I>"{YX~DHQHDU###5754632.#"3LX^^\R 5*,+,)h[ E ;?#7"+2373#"'5326=467##"&546"326=4&5U Fu{vKOwEO6phuusCJIFQJL"()Gst"Q*QF - QJkcciWan_U3>32#4#"#3Y4bbWxZCXX(#)*]gWe^N 2#"&546#AX 4632#"&"&'532653N8&  *XHG#1kKUU 3>?3#'#3 gj=WWk4 5U3#3XXUV"!2#4#"#4#"#33>323>[ZWmNCWnQ>XG U0~&]"]hYZVYd^I*)Z.,U"2#4#"#33>W`bWxYDXG \"]hWd^I*)7'" #".5463232654&#"'sGo@sIo?kKRQLLRRJ A}YA{Y_oo__llU0"#2#"&'##33>"32>54&Tcyyd>QXH N1RCAX1?G"/4I#0J\^ck6]<\n7""467##"&54632373#26754&#"Q@ay{b?P FXSEDWHFG 0"00#I/[^fiq__kU"2.#"#33>O# )H+XH R"Q-Q6b,@3")%#"&'532654.'.54632.#"tb8Q [/C<954J(oZ1U%"J'69=33H&NPP+$ (8,DJF#(9S%267#".5#5?33#* 4*G,LM#4/>C HA8*#r{D1/O#'##"&533265H \4abYwYEG*']f_d^333>73^rr^6126< ".'##33>733>73# `d[J  _`\  KZg/)OO*+X27."PX. 373#'#Թdcdc33>73#"&'5326?^tm_YN$ .9(I!Q)0LZF4+G' )5!5!!x p#:DBnb\.=4>=463\\j?;;?nX4;mm:5NP3+I*2PNH,1gg1+83#II b`>=475&=4&'53# 4;mm:5\j?;;?nXV+1gg1+HNP3+I*2OO2 .#"56323267#"& $/>0H9.$/>1G;? "N5  "M6 HJ" #"&546323#$%%$\:l%%$ [!.#"3267#5.54>753a&EBRMOL,A:'C;W00X:D I ehh_ M ad T  2.#"3#!!5>=#53546N7X"I)9<* +8``oF;BBh=;PJ @BiBYd;B!1467'7>327'#"''7.732>54.#"ZB1B:7C0@#?/C8@0B0AC";$%:##:%$;"a9D/@@/C9?1B/@#@/B9$:##:$%;##;,33#3##5#535#533\|Vz]m]@R@@R@w83#3#IIII;3A467.54632.#"#"&'532654.'.7>54.'C0$(f_8N%"D0<18LMV.#'sg7R ^/J8774K'K?P)D>,2=7(32'2>54.#"7"&54>32&#"3267Pc66cPLe96cP@pV0.SqDZP.SrScb.ZAA:2+;A9B92 6cPPc66cPPc65.UrEArV1Q\ArV1Z{eAe9=TJLS @  4$2#'#"&54?54&#"'>326=AB/ 8&/88*2A7<*3-6;*12c! 1 /((8 7'?'(??ƪ>>$% $%2#5!5GqG(31&4=".54>32'2>54.#"'32#'#72654&+Pc66cPLe96cP@pV0.SqDZP.SrERL0tVd>2',(,1 6cPPc66cPPc65.UrEArV1Q\ArV1_@A/7 ­(# :!5!B7u "&54632'2654&#"HWVIGXXF0-/.1..UDDVVDDU;4*,44,*42 V 3##5#53535!AHHGGGG3U!57>54&#"'>3232s))%1#E+@I;8Q6p'1' .?71N5MAU(2#"&'532654&+532654&#"'>GH+'/TY%@F>40:4992/)5$EU>0(4 3):I ?")#$!7' .(^ #5>73 29:#" j99 47U#'##"&'##33265GP8'8XXxYDH(*<)d^7%####".54>3!%:f:'>\37dA?.l[`m.H+#"'532654&'73JJ  $&5&+:$3057V5(%L #467'7G  6#LT*  '1\ Y #"&5463232654&#"YVHCXTIGU,11,,11,)QYWSRWVS:;;:;99'8 '7'7'7'7ժ>>ǩ>>%$ %$"$33467'73#5#533#'35467~KL#  6#IGI==} 62*  '1\T`4<`]8 1*33467'73#57>54&#"'>323`KL  6#IG#s))%1#E+@I;8Q62*  '1\T6p'1' .?71N5M>(,7@"&'532654&+532654&#"'>323!5#533#'35467%@F>40:4992/)5$E.GH+'/TAKLI==}  ?")#$!7' .>0(4 3):I6`4<`]8 1@" +#"&546323267#"&54>7>=3;#$$#$!&,?:2L"(a<_h5$"" F%%$ %81 -*04F^Q-?5)*~&&E~&&x~&&m~&&_~&&l~n&&=5)5##!!!!!%3#5k]S:ONM=Y&(|a&*Ea&*xa&*`a&*l(*&.E(>&.xMS&.7&.l 2+#53#3#3 4&=kWűJJnZ"Ps:NBMNa&3=&4E=&4x*=&4=&4=&4lf@> ''7'72244>3334= )#"''7.54>327&#"4'326KlpI0=4,,Hp4Y%.=3^?4Nys3E*zpfo\/D(J1Wn\B)Gc=d%#I:Z&:EZ&:xZ&:Z&:lM6&>xa* +#3322654&+*4}mQZZ`~iaWbY~54&#"#4>32 ** &%6>gS/HL(70)5?.))G8#=%X:d?awi"3'  $K;UNO.($2");(,! &*&.+HCO#J.&FEo.&Fx.&FH.&F:.&Fl.1&F.-",3>2!3267#"'#"&546?54&#"'>32>"34&326=[A^3OJ2L&(M2>"\MIax|Z=3(M!#d1>QT5:C9^H3*?U"YU&SV7'&TE7'&Tx7'&T^7'&TP7'&Tl2y G "&546325!"&54632!! !!  "" GG "" 7'6&#"''7.546327&#"4'326'sI8(:-!sI:';-"k $4RJ:"4QL !8'>$e@$8&?#c>&A2l_J1oO&ZEO&ZxO&ZdO&Zl&^xU0&#"&'##33>324&#"3260yc?PXXN@cy[FJRDAXJE .  " - "0ee\\ckk&^l~W&&.&F\~&&z.&FU$~&&.$!&F,=Y&(x7&Hx=Y&(7&HK=Y&(!7&H=Y&(7&HKa&)7 !.#5>73"&546323.=3#'#'26=4&#"0 Wcdxyd>OXG P1UEBYGGG69 57.! 3H"0I]^dkq_`j7^*"&546323.=#53533##'#'26=4&#"dxyc?OXLLH P/TEBYGFF .! 3=BYYBH"0I\]ehn``iaW&*t7&J`a&*m7&JYa&*7&Ja$&*7$")03267#"&5467#".54>32!3267"!.-52)'LuA;kGEc5YP3O*(,b?I>t-82,"?>{YX~D732373#"'5326=467##"&546"326=4&kW!1X5U Fu{vKOwEO6phuusCJIFQJL58 69()Gst"Q*QF - QJkcciWan_a&-&M3#5353!533##!!5!aaaZnZaaZn HwwwwHMo 3#3>32#4#"##535Z4abWxZCXLLZBW')*^gCd^\BZb&.9&>W&.&E&.&($*&.\$&N(*&.OU3#3XX(B &./SN&NOB2&/*&a#k&0JU# &P U #'#33>?iB]]  6(L  W&1x/L&Qx$a#&1,A#&Qa #5>733!0 WnZ869 576PUQ #5>73#3Q0 WXX69 57a&1#U:&Q  35'737!a1#TZ$8<2Q?dP  3'737N3$WX@%e ;8,;Da&3xU&Sxa#&3|U#"&S5a&3U&Sd_&SFaB"&'532>5##33.53%&/mSh}TfL1+QFP%} q7t32" &wYEXGY4bbFG#1c^I*)]gRKU=W&47'&Tr=&47'&Tk=&47'&TS=d"2!!!!!!#".54>"327&2. 1oHGu{ttz9*) ONO\oo[O!6~!!(42!3267#"&'#".54632>"!4&"32654&etSM5M((N5Dh fBFm?r?d_<#"&W~a_&7fG&W3&8x3&Xx3&8L3&X3&8|3"&X|3&8L3&X !&9|S&Y|g !&9E $#5>73267#".5#5?33#0 W* 4*G,LM#4/69 57FC HA8*#r{D1/ !3#535#5!#3#蕕ߔEJPPJS %267#".=#535#5?33#3#* 4*G,DDLM#4/>C HA|Bz*#r{DzBz1/Z&:O&ZVZW&:O&ZxZ&:O&ZqZ&:O1&ZZ&:O&ZYZ$&3267#"&5467#"&533265352 '.Z]^aWY,,,*k843= w1W`gQ2?j$2EO$&ZP &< &\6&>J&^.6&>l&&?x'&_x&&?'&_&&?Q'&_Uj"#4632.)/XaP2*4?AgU E  0)"&'###53533#3>32'2654#"S?P?LLXP?dyzpHGUBA . D]BYYB";".Ijdbgci '03#"#.546;2#2654&+2654&+OEH憉FB-I*s\DS[v_JMc} A=Ob?S &F8aj;:;3J<8Ea4U0#"&'##!!3>32'2654#"S?P?P?dyzpHGUBA . DJo";".IjdbgciZH".5332'2654&+U]n0Zdv4x|PG`\{K 8cA8^9^yMGCE<|NAR-"&533>32'2654#"BmXP?dy~lHGUBQ ";".Ijdbg`j;"&'532654&#"'>32;U()S.s|{0Q!$)jAnIN N LZql]=Z(2.#".#"3267#".54>32546| /$!M0s{{/T((U;mIOn;:6ZH03N NZpl]AE7"(".54>3254632.#".#"3267,Go?BqH 6= /@ML,CA :z_c|:[AEI0|I ag N 3#"#.546;2#' 4&+OEHlVŰ "u} A=PsM3 !"&54>;5!5!'3#"?5}k\eRfdYh^8b7$"&546323.=!5!#'#'26=4&#"dxyd>OG P1UEBYGGG .! 3JH"0I]^dkq_`jF/"&22#".'732>54.'.54>">54&9Ho?_V+(UE1K2 & J,*/11XWDo>JQQCMXV":iH`v"%4'#F- E##!'/[W*Ul4HaJIc `RM^< 35!!5!5!5!<5#ONO6;6&*2.#";#"3267#".54675.546:Jw(+(SADBHR5];LZ  UIMd6"&5473265!!!!yCG O'{YI= !/<OOq^S)"&54673265#5754632.#"3#@OK!^^\R 5*,+CF;   &1&)h[ E ;?#DLW=Z-2.#".#"32675#53#".54>32546 /"&_37v`/B:vKoOXuHA6ZH05NUI PYqp[AE:""&54673>73'254&'6>(^_!">6"L9,t6_,M##O,sAp&8MN9I"%EUU#"&=4&#"#33>3232653jl58R=XXT0[\~A=Xk ]gA@e^(#)*]gFODxcZR".533267,E(Y%(/ 7 IA-00J "03#!57#535'5*TZZTTZZT4N44N4ak2.#"##3>?>)  $jOZZDz&$FkVM!N$ U 2.#"3>?3#'#4$  gj=WI 4  5q 3#5333#UFFXFFbBTB,#''7.#"5>3273267#"&/.'#jc" "9Amf %+I z@ ?G,.!? 6A%,;9#P'Z#"&533265332653#'##"'#daZ:?YLZ;@\GZGd5+i gsFFd^FFog6R..d31"&'5326533.53##-   h}TiCL#/@L 6Q#h7RKU"r==%$#".54>32>5332654&#"JlpHHpR|)*_ 9?-qzzonz{qfo\\on\71 L4 ;dU|7j##".54632>5332654&#"'sGo@s5Y -^ ::kKRSJKSRJ A}Y$!M2 E]N.eiieeff=*#".54>32>32#4&#"32654&#"GgjEEjIp'f7e`Z:?f%5kpqihqqkfo\\on\/,/,gsFF=\7"&#".54632>32#4#"32654&#"mCj=mj?L*PPW\@#EKKFFKLD A}YH%#]hI,@__oo__ll z"3#"#.546;2+2654&+OEH׌5}kRHfdX_[} A=nd;g@cBOEDU0#12.#"3>32#"&'##4"32>54&$ NAcyyd>QXRCAX1?GI P4#0/4a\^ck6]<\na_##3322654&+ZZk*A$WPTXfd'def9L- sECF;/)23267#"&54>7>54&#"'>Df:\\@O#RO9k$"fVj_8J5&0$/9M-"(23267#"54>7>54&#"'>bg(J44:";54&u=E%(/ 6,E'-A:7)'FGH00C IAg?13 H %S""&'532=#".5#5?33#3267 0%C+LM#4T* 9I4fHA8*#r{D`@E 53#"#.5463!#f=OEH{0 A=OS#2.#"3#3267#".5#57546) -53#"&5332>531]%H=8w`Z_`AO$YiL; /Q7 JwEw0V`/S5Ok#'##"&5332653>53$G32jZ]^aW &2<{ w1W`gQB' L JwE;33>32&#"b0  -I#"&2.#"#"&'5326?33>?>  YN$ .;^tL,"ALZF4+G(I!Q)8)&37!5!3#!!5#OٟzPDGPD '3#!!57#537!5oe{#xpmBFD:FD#7%".54>7'5!!#"3267Kaz9Cm>N1Q/`a2o.-j =e;Ld3GPA C7EPR"".54>7'5!!#"3267 Or=BpD;[o`M;a! `32654&+57!5!#"3267QjPISB`[;hn/gU@'543QQ9>!7!:@@4=J@^W8Y3 P 023#!!5#53>54&#"'>]ldv(>2/G%/'e`U*O,FFIF.K*55" ;#1#"&'532654.+#5!!32:g-/n2a`/P2|^*KwE? RRL2@ PP3bGCi;!"&'532654&+5#5!#32:^"]7=Z*#r{D\" D=NPU"2#33>">54&K<^6^kXH J+L@G"2cJ_VI#0J\^jDS33N&A3#3###535#535)NH`H H`HHa&)'?!a&)'_7&I'_gaB&1/ a&1O U&QOaB&3/a&3OU&SOj~&&m.&FHS&.*&=&47'&T^Z&:O&ZdZ.!52#"&54632#"&546#"&53326537<{_Z]^aWYGGJwEw1W`gQOD/!52#"&54632#"&546#'##"&5332657H \4abYwYEDGGG*']f_d^Z "5>73#"&546323"&54632#"&533265389i 2:;(<{_Z]^aWYG" 21}JwEw1W`gQOg "6>73#"&546323"&54632#'##"&5332659i 2:;(oH \4abYwYEG" 21}AG*']f_d^Z#*=.'53>73"&546323"&54632#"&5332653@ ,0<88>1- <{_Z]^aWY0/ && /0JwEw1W`gQOq*>.'53>73"&546323"&54632#'##"&533265 ,0<88>1- oH \4abYwYE0/ && /0AG*']f_d^Z "5#.'52#"&54632#"&546#"&5332653D8;:1 5<{_Z]^aWY"G 12 JwEw1W`gQOg "6#.'52#"&54632#"&546#'##"&533265 8;:1 5H \4abYwYEg"G 12 G*']f_d^3"~#-!52#"&54632#"&546'!#3 .'37VU[Q QGG3*- ;.D7B!52#"&54632#"&5462#'##"&546?54&#"'>326=7Cb^@#MDI`~[:5*L!#`NdM7+DZDGGV^L,*MRPW C4B83-*KN0~!!52#"&546'!#3 .'3זVU[Q QGGw3*- ;.E+6!52#"&5462#'##"&546?54&#"'>326=הb^@#MDI`~[:5*L!#`NdM7+DZEGGwV^L,*MRPW C4B83-*KN05W&0.-&=(".54>32.#"32675#535#533#yKXu">54&?b8*_xZG_N9gEG~SSa&3EU&SE (1>73#&54632#'!#2654&#"3'.'0j .6; 1=0/A]RN\> ZTFD..?2872. 8;. ">I#5>732#"&546"32654&2#'##"&546?54&#"'>326= 8@?0/@?01<<1  b^@#MDI`~[:5*L!#`NdM7+DZ %$ 5713882271V^L,*MRPW C4B83-*KN05&x.-&xZ=&x+7'&x~&&d.&F?~&&>.&FQ&*W7&JCa&*17&J1&.&E&.&=&47'&TU=&47'&T/W_&7]&Wa_&77T&WZ&:O&Z[Z&:nO&Z53#&83#"&X #!&9#S&Y&L )>54&''>54&#"'>32'qW&=5#L(_v7F>;`-+9yB9fA?4";%cժ^54&''>54&#"'>32-(C%X_$92,M%.^17X5/+,?h~"mU3;  B/6".1@!ItZNZn_ZGFR}C]]xhY\.7U*7C67.'##"&546323.=3>#"&'%26=4&#"%2654&#" SPdyyd>OX$a2=AZh'UEBYGGG8.'8 dS: 43.! 35>.;-4J9]^dkq_`j,':e+".5467.=3326=3'2654&#"MN|IOF:7ZINOIZ8;DSF}S_XY_^WX 9lMRccEXXDXXDXXFbcQMl9NWMMTTMMW2"*".5467.=3326=3'2654&#"(Go@D>00X=AA=X103232654&#"7KloHHpkKryzppyysGGo\\on\[o7'D)5!52#"&54632#"&546#".5463232654&#"7sGo@sIo?kKRQLLRRJDGGQA}YA{Y_oo__ll=)55!>3232673#".#"#".54>3232654&#")1+2.20,2.KloHHpkKryzppyysGG5=4>Wo\\on\[o7'D'35!>3232673#".#"#".5463232654&#")1+2.20,2.msGo@sIo?kKRQLLRRJGG5=4>A}YA{Y_oo__ll=&4,7'&T=+!52#"&546#".54>3232654&#"ז^KloHHpkKryzppyysGGwo\\on\[o7'E)!52#"&546#".5463232654&#"הsGo@sIo?kKRQLLRRJEGGw?A}YA{Y_oo__ll6W&>^&^Bs3673632#"&'72654&#"$*X $AADA/A a6a A34H$,X$,U"#.!6754#"#33>32632#"&'72654&#"t$*xYDXG \3`b $AADA.@ a6d^I*)]h F27A#+X$,z&367#5?33#632#"&'72654&#"$*LM#4 $AADA.A a6=*#r{D F27A#+X$,"&'532653&  *XHG#1kKU7!-8"&546323.=33>32#"''2654&#"!2654#"$p}yd>OXP?dyp8d>IKBYGGILGUBI .! :"";".}@=Iq_dfq_`jjdbgek7"!,82#"&'##5467##"&54632>"32654&!"32654&q|yd>OXQ?dyp8dLGVAH3IKBYGGH".! 9#"<".}A327"&/!$ $+/T((U;2,C!WWOn%%Ys667 L   N K_({l])sX"70 &"'#7.54>3273.'3267#",2)KCU-4BqHMCP  $,CA&| sVc|: I  N`3^  3#5333#!aWWZ8LG7GP !!#5##5!733#7CZeFF.SEpVO..O+3";"&'&'.'532654.'.54632.#"3267hRO: [/C<954J(oZ1U%"J'69=33H&k_  3)* /LQF P+$ (8,DJF#(9+KP%,(H '".'.+5!5!3267 81 !#F4,':DBn LA,(H2#>54&#"'>gv^hZYh>D"X!#ffYK1BnF4?H "2#5>54#"'>gj$RFXYa{"N!#\"fY-^U!bnFyBT*35#5332#2654&+2654&+3#aRR̆FB-I*s\DS[v_JMcNOb?S &F8aj;:;3J<8EVN_ 533!33##"&=326=! PZsYQQ<{_Z]^aWbNNfJwEwdgW`gQf`Wa!##7#!733#3#337#3#Ah A 1E8kAw8"AcKK..ONM70&+/273#3267#"'#7.54>"37&4&'7$KCR7=< *3O*)P74,ICS18;kF?Ip5 w,)/"qN5 M!uRX~DHQH*CFW0B"&'532>5#5333#$$-RRZQQfL2-6NBNgb #4632#"&"&'53265#53533#N8&  *KKXKKHG#1KGGKU= #223733267#"&=467##".54>"32>=4.kIrG   CKpP_EE`bllcX]$$^7/\/#LKRg$.8\oo[N6_??`57u""/23733267#".=467##"&546"326754&?P F $6 Q@ay{nHFGISED"0#I;%C IA>0"0Iq__k[^fi _2####53#32654&&*A$iZWWfkWPTef9L- ''LWNECF; "##5#53533>32.#"+~XKKH R8# 8X ?GGb,@QPC6##'#53'33737#,f~Ze;EbCDaFMJNNߑ&33733##"&'5326?#533>?#^C?_C9TYN$ .9t[>GLZF4+G"GQ)89(IQ"&"&533>323267>54&#"a_@#NCI`~[;4*L!#_OeL6,C[ V^mL,*MRPW C4B83-*KN07Y"*"&546323733267#"&'#'26=4&#"dxyd>OF &2 P1UEBYGGG .!E^@ $."0I]^dkq_`j0"*2#"&'##4&#"5>323>"32654&Tdxyd>OF &2 P1UEBYGGG".!E@#/#/I]^dkq_`jU0 +2.#"3>32#"&'##4"32654% P?dyzc?P?UBAXHGI 8";".. Dqbgfjjd!"2#"&'532654&#"'>Gj32#"&''>7&54>"32654&9)L@ &X/HQ5Q*0Q C &ArY!C (J)5"" I 4%%(D62?+ :@hc|:!'.$ 7%2".=467##"&546323.=3326726=4&#"8"9#O>dyyd>OX 'UEBYGGGIA?3 !..! 3;%C /]^dkq_`j7u -"&546323.=432.#"#'#'26=4&#"dxyd>Oy% G P1UEBYGGG .! 3OI H"0I]^dkq_`j3"2#"&'53267!54>"!.Gk;AtM7P)*O3PY5dEC>I"D~XY{>M_[5Im3267MtA;kGDd5oYP3O*)P5>C?I">zZX~D3273267#"&''2>5hui TD3O*)P7^j *< (A"ry/: ? ubADM^Z<," B8FH&=I"J;I+"(#"3267#"&54>75.54632.#"3cIR<8U!V>sn!6 -7s[:S(!!E/ySF;H\1(MYC(3 ;1DJFL,&!"!"8273267#"&'#"&'532654+532654&#"'6Lfg *< (A%4' 6!ov:^"]7KLM*ES6"QA45 4),K,Jhehd/0,%H!0"."&'53265#53533#&  *KKXKKHG#1KGGKU6u-:2.#"#"'5326=4>5##"&546323.=4"326=4&4$ u{vKOwEO6phuug5UCJIFQJLI st"Q*QFQ()4HkcciWan_7"L7"2.#"32675#53#".54>Cn= G ML$3s1^;Go?Hy"$LagG:z_c|:%"&546733>?3'2654&'4?&^f" f^"?4G52\3 U 667;\*4HIBA"0<2.#"#"&5467'.'&5>323>?>32654&   y$ ?44?""  *=   =,"E1B+3==4+D.C&T)+V "+-Q 47##"&5332653#Z4acWxZCXX(#)*]g]e^U 432.#"3>32#4#"#Uz$ Y4bbWxZCXqI ^(#)*]gWe^U+2.#"3>32#"&'532654#"#4$ Y4bby# xZCXI ^(#)*]g? Ie^q  2#"&546##5#5353KXKKX^GGR6t$ #57'5PPPP4s444u.#"#>32332673#"'# 39/ X 28/Xr;E<:FT3#"&54>3233#354&#"*=7/' Xhh{#);.0 yHq  U=".533267,E'W%(& (IAA00C Uo"&'532654&+57!#3!f;^ !b:M`o[;XXqAwPYMTK=2@omGm=QR!"&533265332653#'##"'#[ZWmNCWnQ>XG U0~&\ ^g][U(d^I*)Z.,QR$467##"'##"&533265332653#U0~&\5[ZWmNCWnQ>XX3 *)Z.,^g][U(d^UV",2#"&'532654#"#4#"#33>323>[Zy# mNCWnQ>XG U0~&]"]h? IZVYd^I*)Z.," 2#4#"#"&'5326533>W`bWxYD$<$%  G \"]hWd^AI C%;`I*)U" 3267#".54#"#33>32 '#<$xYDXG \3`bH;%C IAd^I*)]hU#33.53#UlSmP00 6 347'" 7,"$25!!3#!!5#".546"32654&0^>` P1Go@qEWKRQLL"A7III6!A}YJl__oo__l8"'2#"'##"&54>"326=332654&kMb]l" m]bKpy<12.T2-2<|"NbjZZjaOIrRTJ8>DTRr6!#5.5467533>54&'PwB|VOxBSS\TU[SZTUY FvQy EwQz g[[h hZZf H"&'732>53#'#N" *G+XH S Q-Q6b,@H"&'732>53#'#N" *G+XH S Q-Q6b,@#".=467##"&'732>533267m!9#S8" *G+X (IA\3 ,@Q-Q6;%C U"2.#"#33>O# )H+XH R"Q-Q6b,@U" 2.#"3267#".533>O# )H+$( !,E'H R"Q-Q600C IAab,@RH"2.#"#4>0 &##W(H" K ,0{BH"2#4&#"'>h0H(W##& 0"HBj0, K U332#'#2654&+UVh$9 f~>E4>QM/?#-.&0U3373+7#32654&UXf 9$hV~>4E$>0LR1%/,39"7%#"'3267#".=32654.'.54632.#"tb-#$( !,E' [/C<954J(oZ1U%"J'69=33H&NP00C IA+$ (8,DJF#(92.#"#"&'532654>& $<$%  $= C%;bAI C%;BH%"&'53265#534>32.#"3#)%  KK$=#& KK$< C%;@GBH C%;GAI"".54&#"5>323267#=$  #!8! &IA1(C D=3;%C ("&546;4>32.#"3#'26=#"!@ODM2$=#& KK'>- ,(B47CVBH C%;HBIH%,Y""5>323#5#534&a+ 4*H+LM#4/C HA*#r{D61/S267#".5#5?33#* 4*G,LM#4/C HA*#r{D1/ `75353!533##'##"&=3265! EYXKKH \4abYwYEGGG*']fD>c[? ".5467#5332654.'53#-Go@630HKRQL"7 j =qNJl'IEuVOddP3\D EIUvQ"2#"&53326=4&#"5>/C%otvmXCHHC&%"GByyu}0aKM_7% K#.'##1^rr^<6235 "%3>73#.'##.'##3c  `d[J  _`\  KZg)NN*-,X37.#PX.!#.'##>32.#"^tm_XN$ .81)H!Q)bLZF3,G#537Xd;'!".=!5!5!!3267#:" p# 'IAI:DBn;%C '">7#5!5!3>32+72654&#"  pS)Y=5AJ[a- 2; :DBnQN>*7D%2,/'2".54632>54&+57!5!&''27.#".Y:XN;o5o[;DpB &9$!&nDa9.X-/&>?26D%$  TK=J@5aI5(6)"&I4# $ 2#>54#"'>gj$RFXYa{"N!#\fY-^U!knFyB2.#"#.5465[#!M#{bXXES$jByFn=!U^-Yf "&'73254&'34\#!N"{aYXFR$j ByGmp V^-Yf7""&54>32.#"3267,|y'E[4)L@2G%#E1,CAr[' I ?tu< N=&4+U!332#254&+2654&+U9[5BFFD;328 975.546";#"32654xr!6 .7tcSE*S>\U"[C)4  91DIJK-%HZ2(fh7Q+2.#".#"32675#53#".54>32546 / G ML$3s1^;Go?HyK5*6I0LagG:z_c|: ^AEU( 33!53#5!UX#XX '"&54632"&546;33#'26=#"n32.#"#26=4&#"O>dyyd>O#9"' XUEBYGGG 3 !..! 34BH C%;/]^dkq_`j 23##5#535>54#"'>gj#NAllX[[Q_{"N!#\fY-^U!PII~nFyB2.#"3##5#535.5465[#!M#{_Q[[Xll@O#jByFn~IIP!U^-Yf7'*"&546323.=3!!!'#'26=4&#"!dxyd>OX#2 P1UEBYGGG9 .! 3BnDH"0I]^dkq_`j72?"&'532654&+57!#'##"&546323.=3!26=4&#";^ !b:M`o[;G P?dxyd>OXDpBAw&UEBYGGGPYMTK=2H"0.! 3@5aIGm=/]^dkq_`j7)69C>7#'##"&546323.=3!3>32+%26=4&#"!2654&#"  P?dxyd>OXS)Y=5AJ[aMUEBYGGG9L- 2; H"0.! 3BnQN>*7D%2]^dkq_`jp,/$83".5#5?3!>32.#"#72654.'.5467#3*G,LM#4 *1U%"J'69<43H&tbC<954J( /%HA.*#r{F#(9+NFH $ (8, 1/-6#"&'5326=#".5#5?3354>32.#"267#$<$%  1*G,LM#4$=#& ) /IAI C%;LHA8*#r{>BH C%;1/46A".5#5?33#3267&54>32.#">32#"&'%2654&#"*G,LM#4-1M$BqH)L@$U7HQ5Q*=d!*aL)5"*(F!( HA8*#r{D1/)6Pc|: I %%D62?')1I$ "< 5"&'532654#"####5754632.#"33>32}" &wYDXX^^\R 5*,+X4bbFG#1c^,)h[ E ;?#I*)]gRKUUi,"&'#332654.'.54632.#"s:a+XXdgVF954J(oZ1U%"J'69=33H&  z5+$ (8,DJF#(9+NPU4 33!!%!UX#yBnD; #'#3737#'#3737cKQSIbFBTFPFEcKQSIbFBTFPFPPU!#5##!#5##UXXXX闗闗""232653#547##"&=4&#"5>0#;#xZCXXZ4ac  &";2ځe^(#)*]g#E"/2326533267#".=47##"&=4&#"5>0#;#xZCX $6 Z4ac  &";2ځe^;%C IAH(#)*]g#E7]3>32#54#"#3p:"?@8N;,99a8>M=87]432.#"3>32#54#"#7P  :"?@8N;,9T,"98>M=8v 4632#"&"&'5326533  %  9/+t-37g2&#"#33>  )=9/5g1<0B;' a"&'7326=3#'#3  (=9/60;1;& a7"&=467##"&'7326=33267 16$  (=9 );7 &0;1$( 7aa 3373+7#32654&79UZBc3D8R](#-a*+.1j a!.'##33>?33>?3#  >A`;0  >><0;aC/ 0A5405La33>?3#"&'5326?=K  G>:2 % a+0.6*+  [   ? 2#52654#1<<1 8821827? "&5463"31<<1 8?822727 654&#"'>32#Py%&5<%EH:BA$H'4D2+E4#5.54632.#"AB:HE&<5&%$T4E+2D4'H'57콽hu'YO7'5COY'uh"  73#'mm'TT"뼼 " #'37mm'TT 뼼(^z#.'#5>7 -1>86</, 75 /. 47(^z.'53>73 ,0<88>1- ^54 00 45(x#xP(^Q!5QGG(^x(^E(4x<7#xP<(mQ(4E(4xH'37YYY苋H'3Y( ( K#53<(^_ #"&'33267_QHJK62.'97p-52+0""t-82,6, 5(^>3232673#".#"(9/5028/51^;E:F(^ #5>73#5>73 .62  ` .622`:9 47 :9 U"7"&''73267(Ab *<8FD.<," B(;Ja$7"&546733>?3'2654&'!)=B  B=)"  + 834#7 +, (' 7p#3p99!g$#"&'532654&'.54632.#"K@%4<,'#339H;81H'227x/0 0 '')- * '' La '373#'#xAYYAyA_`@Þzz 2.#"#5.546";2P@99D6E' H+BھU(6=NT!#5!nBPNT!#5353BBPNT!#533BFB(PNT!5#533BBPNT)533TBBnNT33!NBBNT33##NBBB(9z(W*5 [(v'373OXYNކ(v73#'(1OXY܄(#'57#k1kE>?(#57'5(E>?Ek18 "&54632'2654&#"1<<1/A@0 822881382(E( 53#.753#.(`  27-`126. 74 9: "U 9:((CH(3##(Ι55(#5#555(3533(55(3#5353Ι55(0!53!53B8M9Хcc(0!53!B8Хc(K '57!!#O1;D54&#"5632.#6$+% %JK63.'97QH>)'53g3<]]hiDC Pf 8 "&5463"381<<1 88227270i3#535!HH0d<73@!0WF78 59d|$S4(N&!#5##dBB0nnCO#"'#"&53326533265>0661<6708=::##::B "B "X90W8/dG<dFHH lmD f!5!@@1"3NP&q0Ih@%5!GGo'7%=:#L@08 2#52654#51<<1 8821827N&!53353BBڪnnC!5!!5!z ȓ^CO4632632#4#"#4#">0661<6708;9##::B "B ";f 77''7f*<;+<<+;<*;+<<+;<*;;*<@@b463"#52654.?E:D;#/2$-#03 %,02`^)E8^xH^ [B Oi^Ci<&P!#5!#BBnn0"24x]3#5#]Bx32732673J$%-$ 39/!"-!  28_ =;;E 98:FHA !-2#"&546#".#"#>3232672#"&5468/5139/50m:F;EX]\+".#"#>3232673".#"#>3232673G2.31+2.20,2.31+2.205=4>5=4>Q% 7355#}d}}d\>>\\>>]5#7# ;\\;x__xe '/7?GKOW_gow53#7535#53"5432"54323"5432"5432!"5432"5432!"543253!53%"5432!"5432"5432!"5432"5432!"5432"54323"5432"54325353!533353fgqy6_5>y|qg566fz.6ff66ff6 .F3VF.p6gg666NP#5>7.'5I5885 ., D 3   2S?&d^H >32#.#""&54632QHJK63.'9e)'d!_ 77''7_*31/12*31/1K*21/13*21/1P.'5>73E6886 ., D 3   2P#5>7.'5I5885 .,( D 3   2H%#5>7.'5>73#.'#5995 ., D 3   3( D 3   2@BB@ B@S?&q[j37''7'7#F >F3883F>&F"B 0*@@*0 B"@+2632#"'#"&54632654&#"4&#"326S891<<1871<<  5  ''7228((8227iT_#7#73_"3{"3xCxC "&'332673*F#k)F3_]6>7=dXK 1q,!5!,Xq3,"_#".#"#>323267 ]G9gdg9<93 ]H8fdh9<9C=!D<!~O 2#.#"#>*F#j)F3O_]6>7=dX%!55!}}za>\\>hdF$2#'##"&54?54&#"'>326=V#!+s)" +#-")FH!A   r hrF2#3267#"&546"34&/5K#$4@:0!zF5+J864<!"l! 2#"&546#5 ( QhzF #"&5463232654&#"z=4/?<41>"$%""%%!6::65995&--&&++hoB#'##"&=3326=o! )+,(5(B%)3(&ohgF"&54632.#"3267%0>@1"  GE h59;5RPho""&546323.=3#'#'26=4&#"-66-$ (  $&( h8778 V&%(+-&&+lq3>32#54#"#33 (,-'6)((C%)4)%o0^lF!2#54#"#54#"#533>323>g)('1#'2$(  '9 )F%)3$#v3(&o$l`F2&#"#533>D  *(! %F '!r'hRt27#"&=#5?33#0+"#FF'}.2|l}B '33>?3 [*4  3+\l~ " " ~lyB '373#'#S->>,SX-BB-hPPhnVVa333#aZNU`333#UXJ<T !##!#5#II|.U9 !##5!#5#zLLzO'@573'0j_@ `573_;0 bU-R"&=33267(-N)"S@:!"7"&Hp!"&Wo& B/(^573(0j_^ ^573'"&546323"&54632&jU}^  &&EBH& '*B ''-B '.B B&4rB  '>B 0&d|BY&tCg~&aT'a3!!a{O t353%!.'  Q 2e2Q*- ;a*&?a-=#".54>3232654&#"5!KloHHpkKryzppyysT.fo\\on\[oNN(*.ak0` 13#.'Q] 3*- ;a*2a3<4 5!5!5!PXDyQQQQQQ=4ay3!#!aY6{a*5&355!!*'26;&?&G(J'KPQ !96>3"+!5.54>753'>54.'ycG J~^Y_~I I`YZg*/gWg-*f[Z4Sa.5bM/DD.Lc60bQ3Z5X8;\57\99X4F=Z!5.=3332>=3n\.S7X7S.\Vb(>(bVᔓ'353.54>323!5>54.#"%F-LijL,E&>J 2gQPg1 I>OUvJbYXbKvUOH,\kBLxEExLBk[-H7&.l6&>l7Y&lB-&pBU&rBR6&tBIO&C7Y")"&546323733267#"&'#'26=4&#"`zwg8T F %1 S*SECVIG .%I^@ $.$.I_gdjkeU./4>32#"&'2654.+532654&#"U=h@fnS;Lb=iB6C FR)C&SI9AI3#@(#@Vg/c\HT  b[D`1.MF5E#DK=><HDZ.533>53[aU@W$YPB?^ߑgW-&2".5467.54>32.#"'2654&'#Gp?_V,(VD2J3 &K,*/11YVDo>JQPDLYV :jG`v"$5&$E- E##"'/[W*Ul4HaJJb _SM^-")"&54675.54632.#";#"3267 tkC.+4h^8[ I+<3I0EEBEE?4MR YC<: ;0DKI)#.%D1.++N 76'>54.'.54>?"+5!D %&Vb)1X8m/C"xt:G GHN? B7M39p{IC5NjQ("2&34,E U"4#"#33>32sUCXG W3\aGd^I*)]h7 "&54>32!.#"267!(|u0kV}w1k2HMLGNJG εz\˹y]R6"&533267OHX*  & UK{1#GU '"&/.'##'.#"5>323267% O \^;0 !M^    %B@$^(C,,FMVAU\$3326533267#"&'##"&'#UXzRDX %1 J8':d^^@ $.(*<)333>53[aU@W$WNB?^ߑiS766>54.'.54675&54>7+5!#";#"D #(Ie4W?t)C(D"tEuGJYloFS$$PA57 ?2Q>Qcp/=& C>@:3AC+F+/6  ",,C#7'"Tw"5###5!#3267&oWmgi# ^,DD#E F!"4632#"&'#2654&#"Feu>mF(LHOQMKU{AH-/gakfƢ76"">54&'.54632.#"D#8Ac8r(J8!WHEC+C'F" ;#'2>54'#"(mFWz&*7lO6D M#bbH e{8D%gHHyII4W4VcqUl".5#5!#3267L.N05+/7 HC9DD:.B O".5332654&'3CQ)X53HOX #AY6/9M(rxFn<;oJ7 5.546753>54'@OxBVPwB|V\QRZTEwQz FvQy . h\\i i[J$'.#"5>3233267#"./w '!o^d!%  '2%Wu'.E+'Gk-/D2(O5.533>54&'3JLq>W+K.VU]WEwL3tcKR IejEuFCxBg};A+".54673326=332654&'3#"&'#>U,4%Z%6<12.T2-2<1*Z(1,U>7FE DzP_++bacJ8>Dca_1.]PzD3;;36&tleO&l7'&TBO&BA&BSak".'53267#3>73 :0V@)c=VqIZZ+i&MG[U@/ mywUJ*7"&54>32#"&'>322654&#"2654&#"MpG}PW\6S,,P  [>>h?Fs+2/*2(FH PURE3232654&'.546323#.#"GQ  12'/7Y\|CS[nzF@;yS X?++0n 3Q-)M> 4'"Q-*B  8^:?VI i^go,&%;#E33>32&#"b)(  &&F 'BE&l7D/".5467#5!##"&'#'26=332654&'!>U,r.r,U>7FE22.T2-2<g< DzP>e(II(e>PzD3;;3IJ8>Dca?e((e?acU@ "&'53267'#33>?3=c#T3DV B]]  j( =4F6(L  =!5.54>32'2654&#"P]z32.#";WKm?e,$%O7ww{{ {VILs`aq73"'"&'532654&'.54632.#"!? 33-&5A]2r(J8!WH?CGKZD # " 8iXI iT8Q6@>AIa 3!!!#5#aVOπa #!!!#5#XVOߑ+"&546?!7>54&#"'>32!32678G %:  #>A 6C   <92 &H>72 `&I0,"&54675>54#"'>32%3267KB ed+'<=G^t  # E89%L7#?+ E ;.I1I:")E !>54''7&''7&#"'>32q '(4H4W*'bFLH$!pCC+D$F EJ>54&''7.''7.'7"&+ 54&#"'>3233267#"&5467`"5# %NU X"1(  KR %ew?TEEowC ^%ew?XAEpvDF!"%1>54&'.=4632#"&'#2654&#"Ok@eu>mF(L*SE>0HOQMK 2WEىNt@/9 $. %CcVgeƎ7"HO=7""a*U0=Y(a*3333#467###azyYJ66k"!l7RU33#467#'UhcTH R34!"&5#534632#"&'#3#2654&#"FBBeu>mF(LˑHOQMKTFiU{AA)FT/gakfƢ;J=Y&(+;&Jk+a&*Ea&*l "'532>=4&+##5!#321+-:FYٿemf N 0.@:8{OO]XFdaa&x=f"!!3267#".54>32.j \}y1X*NqtFPqAc)%#TvtN N\on\M38(*.7&.lB/#,"&'532>7>7!32+#%2654&+B" "T;iz3~  &?]X`d0 K/I'(o6\9^s{J4C^0XACE8a33!332+!%2654&+aZ2[:iz3~\X`c0.6\9^sMMACE8 #32#54&+##5dkZ7DZP\Y:7zPaj&xb&E p (#"&'33267#"&'5326733>73W_bQR/4.5 AXD1.8Ac _KMLL6%'4#G_/Y 0=w   aDy !##5#3!3y\ZeYz~&a4 3!!32#'2654&+ajkv.v `NVg_O5[;boMACE8aT'a!#ZPD3#5!#3>7!B[VV7$A2 O/9 M >OQ:6)a*T 333 ### dVdgVgo[ZZjj&)#"&'532654&+532654&#"'>32\MZ^:i-/o1`cthfajiP@CY*+*{Mtx#IU  XG^vRHBD>KG<6:"=+db333#4>7##bTdTvdx!RDO6%TFb !#"&'33267333#4>7##HW_bQR/4.5mTdTvdKMLL6%'4x!RDO6%TFaj !##33jlZZ;fjZc!###"&'532>7>7!cZ  &?3# #{J4C^0K1I$&oa*2a-=4ay3!#!aY6{a*5=Y( !9 p%#"&'5326733>73 AXD1.8Ac _G_/Y 0=w   3'#5.54>753>54.'t8FvYY[wD9sP_(gpYtc(^QXHwI0_M0nn1O^.GwJX0S8XikV9S/F=aD %#5!3!3VZeYOzPY!##"&5332673YZ:e>dnZ=D;^;Z%]X:9Za )3!3!3ZZ[zzaD%#5!3!3!3VZ[ZOzz 3#5!32#'2654&+qdt1z WRZ]f{O6\9^sMACE8a 3332#!3%2654&+aZnds1ykZ3VRY\d6\9^s6LBCE7aO 3332#'254&+aZdv4 `\{6\9^sME8;"'>32#"&'53267!5!.2R!%)j8sJLt>V**V0Z K\fu\N Onza"#".'##33>3232654&#"GhfJZZJbgIksukjttlfo\Ti_M[o#.546;#";8i&C*ZlU[X\h(8 .P?ag6(U;DBH .!F9!+467>73>32#"&2654&#"9jvA|6#XVAL1E,hj>nIoAP=F,H0 #?B Mkq(kYx;aTfR_'21\I+U!+324&+324&+326yFDBF28 9&#.('U##XJ2F1 3#5!#3>73NUT+EEN"5#2_|ED07"J###33dRd`R!"(2#"&'532654+532654&#"'6\m6/ 6!ov:^"]77#3lRmS 00<43 @U- #"&'332673#4>7#3W_bQR/4.5lRmSKMLL6%'4 00<43 @U 3##3`fXX!###"&'53267!Y .L: 6ACϩ^BU#467####3OJOuV.Q-/QU( !53#5!##XXX7'"TU#!#XX3U0"U7"H###5!ǯW2J^6<]UFf #5!3!33fVEXXL21J326753#5#"&=3g2R+XX-W=R[XU\!VHU, !3333,)XX22UGy3#5!3333+NX4XX122 32+#5#32654&nkft;GBMKKYJګ(00#U 3332#!3%2654&+UXhdbn)Xw9HB>LLKYG'11#U 2+34&+326LfoXE>8I32.CF,N\OLEP(KsAEy L T[HRL G 8zd_|;U "#"&'##33>3232654&#" mf}XX |eEj~=5#?/MQդ.-07&JEr7&Jl *"&'532654#"##53533#3>32! $wYDYLLXZ4bbDH#0d^]AZZAX&)*]ggLUU&x7"".54>32.#"!!32676JsBDuI)OCMPPN-FD 9z`d|9 H NPHYV L3"XNN&l`O!32+##"'53267#32654&|iedt} .K9 6Blo:IEMKKYΩ^Aګ(00#U@32+5##335#32654&xkebtZZnp;HDLKKYګ(00# U&xU-&E (#"&'3326733>73#"&'5326?W_bQR/4.5^tm_YN$ .9KMLL6%'4(I!Q)0LZF4+GUG !#3!3##XXV2~&.'33>7.'33673#.'7];] .3a ] 094_[3M(4l0T8w94;##.'#.'33>?.'33>7ZVR<vP*N3W(8  J X!46J4;Ch_352i1QBV o3#53533#32#'2654&+[^jx2z ^T\eTLffL|6\9_rLBCD8 E3#32+#535#32654&թgtuu揑;MGlIKYIln(00#a}%".'##33>32.#"!!3267mIZZ Sh8d'$"O1k~R|w/T)(V Ug^OLxqN~ NU"$".'##33>32.#"!!32672FoBXX DlC)L?LN ,A? 4oVRg0 H MPJ L  #####3'.*_FRF]*+#' 6JJX/1Xa;7 #'##5##3'&'SZc5O7aZ4 ;.2JI=$a #######333'.x)bDQE`ZZ~+#$ 6MMM.X<#Z`:U#'##5##7##3373'.'#Yd5O4dZeVV_4  ;9?G2  #'.##"#7>7'5!BL,B\B72Z25A`B+KAB.Q8/4S4/8P/BQx #'.##5"#7>7'5!86<"?X? +&Q(+@W?!<63'?)"&'"(?(3Ha"%#'.##"#767##3!'5!BL+CYC"61[17A^FZZ[B.P823R3.QBQUK#&#'.##5"#7>7##3!'5! 6<"?X? +&Q&, @W?  VV3'>)!'&"( ߬3H*UU2.#"32>32.#"#".5467>54&+532654&#"'>7.'53> 5X\aNZd78#1,>9!,2 52 4<-EM exbYxdfbiiP@=^*,%V5?@<*3U9*! ^CIV  VG^o U#;#T2&#"32632.#"#".54>7>54&+532654&#"'>7.'53>y 2;E8/ 7"oz43".5]%!& ,"h8;B"RFHXMNF:ES?;'H(:!5@4*39& D419  4(CX J #6!7#)1/*H%-&&F ; 0,ZcO=#".54>32%"!.267!KloHHpkKpr  oprq-qfo\\on\[rryy7'" #".54632'"!.267!'sGo@sIo?JJ8MHMJL A}YA{rQOOQgZVVZ"#3>?>32.g"%g^ P'90! @F71N&'X1HW(J2&#"#33>?>  {u\ F!/D(*z*?H"4:&!^&")=6#".54>3232654&#"%33>73#"&'5326?EdgBBhdEemncbnmf)]wk]ZM$ .9fo\\on\[o+'H"Q(2LZF4+G7G"&T^I=2"&'.5467>32'>32>54&'#"&'%[}@%$X|CB|X%a$$ \]]\$$[__;bb`bbassss7\L-#"&'.5467>324&'#"&'>32>\pc7^vqd!_t[;>@:;@2 ?: t0usrQddSSf$f= !X4632;#".#"#654.54632".54>32.#"32675332654&#"'>32#"'P=5&IR38XD4@i;!<;f]|=>tP&K"4RZfe7Z8 ef[R3"K&Pt>={]hGG56>9{ "'9_omYCCYmo_>>:Nq U2;#".#"#54625654.54"&54632.#"32675332654&#"'>32#"&'&IR29XC4@NC"4X6"DK?=*9"dr{k8QPq?955k"(8# &C je^ll^ej C(""(~s 4#'##'##'5.'33>7.'33673#.'([Z'7];] .3a ] 094sT2222T_[3M(4l0T8w94; 1#'##'##'5#.'#.'33>?.'33>7M([Z'DZVR<vP*N3W(8  J X!46JT2222T4;Ch_352i1QBV<f2.#"3267#5".54>8i)%"S2vv-Z|FSM_jl]7"2.#"3267#5"&54>9(PDSQRP ,XCu" I bii` 慎d|93-t'''7'77'7;Z"d!Y32#/h28c2#4&#"+532>59569 )7ESao>32#.#">32#.#"!>32#.#">32#.#"!>32#.#">32#.#"!>32#.#">32#.#";<:?/-$&(<<:?/,$&0;<:?/-$&<<:?/,$&O;=9@.-$';<:?/-$&x<<:?/,$&;<:?/-$&5=@2"#5=?3"#5=?3"#4>@2!#4>@2!#5=@2!#5=@2!#4>@2!#&4#,5>G#'>7'.''7>7.'%.'5.'7'>#>73A R (?: 02+`#9)f/P2q+ -i/-j.1q,20(?99(g/(+`h (9 R41q, -j.+`#9)f.1?9 0 R (9 (9 R(g/),`":: 0(?W-i/2q+aD %"&'3326737#4>7##3333bPQ/4-6SXsMSudTcbHKM6%'4KMALKw!MDPUG ""&'3326737#4>7#333IbPQ/4-6SXH=RlSl\?^LL6%'4KM=2/? K243#32+#535#3254&Zl~5JJbf`ZN5\:bo"NZD8 3#32+#535#32654&okhtLL掐Cw(00#a1'+#32267'7>54+12993G0CWZċ$27A_9dK+] nB*S8+U0","&'##33>32'"327'7>54&S>QXH N@cy.)74?!8RCAX:7=G /6I#0Tu"K)T \^ckK)OR8eea]!#!5ZH]ʓU##35X, !3###53ZJJPN:NB #3##5#535XLLJDDag "#!!>32#"&'532654&7Z;DxN.?>"Z]:PmF P {xwzU  #>32#"&'532654&#"#":b<&9:"?CTY"XJay8N `ficDu 3#5### 33K_V2VgdVjjo[ZZG 3#5###33ݯbU0Rd`R&$:4&'.'532654&+532654&#"'>32#"'53263\(/o1`cthfajiP@CY*+*{Mtx\MZ^}}*31t4RHBD>KG<6:"=+dMIU  XGXs:&,48!$"84&'&'532654+532654&#"'632#"'5326]6"]732#"&'532654&#"#!#!`7CwN/>>"Y]ul9YZkG P |vxyyU B#>32#"&'532654&#"#!#!"FqB5[8$64 9324&#">#7 $&'.N#? hJ : 2tgj(-0S43S2[/-...$06KAlP O Zk L 1KVm31m_RabOGw& {7]"2>2.#"3267.54632327#"&'#".546">54&!) $P?F9%ZCAU9'  #%D2%Om8v "#$ ("Gne9Z3 W:\VS_DaF J|K;51KK43;=$Y,4&'.54>32.#"3267#"##"'5326y"~~OnqT$!Q0s{{/T((U;)31t8l]*L N8&,487$"*4&'.54>32.#"3267##"'5326*"PbBqH)L@ML,C@*)31t8wc|: I ag N8&,48 D! 5##5!#3BZVyQQG #3#5##5ƮOVPIzI6>#533>73*X\po\(YX)&635#535333#baO_KO3##5#5333>7цX\nkCC.N!!Q/Dh5# #3332_d_ݺV6tVF5#'#3733(c¹dcN DG5!#5!#!33 dZYyQQzG5!#5!#!33lBXQII{1PD3#5##"&533267YVVZ:e>dnZ=D;^;%]X:9ZJF_3#5#5#"&=332675OWP-W=R[Xg2R+2!VH\PY##5"&53353>7Y["F&=otZ@I='H6# Z[9: \J#5#5#"&=353>75X8 ; RXX_;8yrWGYaj3>32#4&#"#aZ:l7dnZ=D;^;Z]X:9UM#*2!3267#"&'#"&54673;>"!4&j;yyDm.+nP 7FK6au]Zg3{R?5" 1P|wqf!#*2!3267#"&'.54673;>"!4&Fc5WO:L*)P7s@EH3 Ad9>J@!"!4.j;yyDm.'aCW 7FK6au&XYe6{R?5" 1P|wLl;Gf!%,.'.54673;>32!3267#"!4&bZj@EH3 YFc5WO:L*#G,V$>J@o67 1sn?3*H{N.>?(TeArJ"9ZZ6k|nE P zxPg2?U %#"&'532654&#"#373=d;$75!ax9L `gh^7wD%3#7###"&'532>7>7!caHgNZ  &?3# #P{J4C^0K1I$&oGH%3#7###"'53267!\@Y=X /L9 6ACJϩ^Ca%#"&'53265!#3!3DwN/=>#\_ZZoYFnD O vy .U (%#"&'5326=!#3!53(5[8$559=XX"Yav6 N YgaD%3#7#!#3!3bIgNYZZoYPM.UG33!533#7#5!UX#X\@Z>X2PDY!##35#"&5332673YWVS:e>dnZ=D;^;Z ]X:9ZJF##35#"&=332675OVM-W=R[Xg2R+!VH\aD!##3333#7#4>7#S߄aHhOYrEBFICBUG%#7#467####33@Z>OJOuuJV.Q-/Q2(*.~ #"&'33267'!#3 .'3W_bQR/4.5yVU[Q QKMLL6%'4X3*- ;. )4#"&'332672#'##"&546?54&#"'>326=W_bQR/4.5cb^@#MDI`~[:5*L!#`NdM7+DZKMLL6%'4V^L,*MRPW C4B83-*KN0~&&l.&Fl5.-"a #"&'33267!!!!!!W_bQR/4.5Uq#5KMLL6%'4XON7 %,#"&'332672!3267#".54>"!.W_bQR/4.5cEc5YP3O*)P7LuA;kF?I>KMLL6%'4{YX~DHQHDU;"5>32#".=!.267!LCq0,kOqNJij; zbbzU&XR\po[[o"y}vKm;3";&l;3&lT&l&lS&&l!&l##"&'532654&+57!5:g-/n2a`qiCGdc^xRJCC>IP#"&'532654&+57!5DpBAwQ;^ !b:M`o[;@5aIGm=PYMTK=JbW&U-&b&liU-&l(=&4le7'&Tl =7'" =&le7'& l ;&l&l pW&&^B p&l$&^l p&&^[PY&l0J&l aD !3#5#UUZPUG #3#5#OWPIza&lU&l_:"&'532=##53!!3#3 0YJJN9I4F:NBPN@E:"&'532=#5#535!#3#3 0VLLIM9I4FDJD@E:a"&'532=# #333 02_d_ݻN9I4F6tVڑ@E:"&'532=#'#3733 0-c¹dcI9I4F΅@EF3333## ##=d`f`ם)O6R3'3733##'#7#8dcdc6D> !"&54>;3'3#"Cw3vcmZdf_WUg^9b<.6MD>C<7I>+'%326=3#"&'#"&54>;3"32>=940:Yba=MP?ns:~fEZ_a/795:7Qj,&%,hfA`6.>K163"/%326=3#".'#"&546323.=3"326754&,A83Yd^2>% UKcxw^=KWFBCFPA>@J@Ab_+(8.! 2jeee\^dj#.+2326=3#"&'.+532654&#"'> nt[GT[3;95Xh^[pjba]abK<:W&-)vcMIW  VJF=;@aa_kKAII<6:"<+&"(232=3#"'.+532654&#"'>Xl3,1=19iWGGE8AL;7&E&)R"ID19  :4-5¡1+H%-&&F#Db#23#5#54&+532654&#"'>qx`JY_ZV[vkceghO@=](-)zcMIV  XGzD>II<5;#<+&G !$23#5#54&+532654&#"'>Zn6-5 RVPJMJ;FS@8(L$ *_!JD17  5)J//I%,&'F)%32=3#".5##"&'532>7>7!Q56lXi[9Y3  '>3# "u@8{aa&VGI5C]0K0I'(o %32=3#"&5##"'53267!28eX]f /L9 6A;?=_d^Ca%326=3#".=!#3!3o5665Xh[9Y2ZZ[Y@9;@aa&WG.UD!5332=3#"&=!#X38eW\gX@=`c6= !#".54>32.#"32>5#lPTw;r-"&f46mTM[(r+Yrn\MUI9eA7M"3#"&54632.#"3265#P{:]( T/ggYdXM"~Eo`\qSC p#326=3#".5#58758Yk[9[5QD@9;@aa&VGQ?#326=3#"&5#54825W[iH@=CMfdedhwbX=k-Ve[O[}'@ 977>7!3< 0Y  &?3# #N9I4F{J4C^0K1I$&o@E:;!"&'532=###"&'53267!3 0X .L: 6ACN9I4Fϩ^B,@E#"&'532>7>7!3# ##B# "_f_  '> K0I'(o6tI5C]0"'53267373#'#'#5 6Acdc…r /LC]a"33273#+2654&+abs3_f!lNRHfdX_[2eLX$cBOEDU ")33>3273#'#"&'#2>54&#"UH NAVscd sY>Q1?GJRCAI#0iimo/4/6]<\n\^ckP.5463!!!!!!##3#"&C*#5tiFhlU[X8 .P?agONO(t ;DBH="")2"&'##7.546;>32!3267.#"35#"ug }f:$hVK/Ec5YP3O*)P5>C?It=5E rm#?/MQ: $7>7!>32/>>"Y]ul9Z  &?3" "T7Cw P |vxy{J4C^0K/I'(okG ,"&'532654&#"###"'53267!>32=&9:"?CTY"X} .K9 6B ":bN `ficΩ^Aay8a&>32#"&'532654&#"#!#3!37CwN/>>"Y]ul9ZZZnZkG P |vxyM.U J&"&'532654&#"#5##3353>32r&9:"?CTY"XXXX":bN `ficay8aD 5#!#!3yYZV{UGi %#5#!#!iWPXJ32aD5#4&#"#3>323iY=D;^;ZZ:l7dmV:9]XUGh5#4#"#33>323OxZCXXY4bbOWe^(#)*]g4~3!3#!#"&'532^ZlZZK@! <=/6NwIHI"&'53253!53#5!#CXXXDIZeK\D{&!33 ##!3#5!#3>7!B0Z;fDlZ[VV7$A2 O/9 M9ZjI >OQ:6)F#3533##5#3#5!#3>73X`fXNUT+EEN"5#_|ED0@ '3>7.53>7!3#5!>7#!5l)DKUW&'PW6U7 z&tg&&[1 XK\_XG,0XF?&367&=3>7!3#5!675#35M%~M#'JQuPKw[(W1 5=/6 @L08:l7@%#5###"&'532>7>7!WT  &?3# #M{J4C^0K1I$&oF8%#5###"&'53267!8QS .L: 6ACFϩ^B.E >32.#"7#"&54632kLHl"ED5:8eRX_GFKC*E 4632#"&%#"&'73267kMHl"ED6:8O%dSY^FFKCG> 4632#"&! !""""N6 4632#"&4632#"&N$$$$$$$$&&&&&&&& Q%#"&'732654&''>54&#"'>3232675#53.#"#".'7326323###"'[CV?G+d>&0) D9/%<"M1NSC &$ 2IG'%  #9/B%+ %8*ohQ.FDj{#'%:F,%$ EN;N* GD1;7,,"RJG" x;%#"&'732654&''>54&#"'>3232675#5!###"'[CV?G+d>&0) D9/%<"M1NSC &$ 2IhQ.FDj{#'%:F,%$ EN;N* GG"x?%#"&'732654&''>54&#"'>3232675#5!#####"'[CV?G+d>&0) D9/%<"M1NSC &$ 2IhQQ.FDj{#'%:F,%$ EN;N* GG'"n<%".5467>;5!5!##"632.'.5463232654&:/@>1]n .7JbSK?"!9h-;E+ FM1 L3( VGG ! KAAK  F9 ),!$&3n'!##".'732654&''>54&'!3n O$9-N09g_,GCO.)5-(#JGnG'0Z. U;2D"=rNwC%1)EF01-  n<!!>32'>54&#"#".'732654&''>54&'! O  >"AS#H )#'*-N09g_,GCO.)5-(#JGnG'0Z.  OE.\/)G(,'%&2D"=rNwC%1)EF01- cnF7'7.#"'>325!5!!>7&546323267#"&5467.'#5/*=*9)"J,(@>%ck"C *&- 4.1 /"B)LT/.5:PAC6-J90GG  ,!"+!)!"F O>(E  nD%467>54&#"'67.#".54>32675!5!#3267#"&=C ,#3.M 1(++R:6:`81I%,I!0D*ʤ(B=:2 /"C)KU0I0-+?=.#.$&EK142[]55C- GG JE)M ,$"E NH8y&"H8&#3H8n/#'>7>=#'>54./.'&=#5!8^%Q ("n?5!H 01W'7O8'3<0J #).:&>$A2(G*-#21"$DGH8&$3'y&"&#&$&% n4!632'>54&#"#5#".54632.#"3267!5! 0EAR#H '#68QG2/S2nX91:@=(,E '2SM.h2) T)/.H$&M9P^I4/53*#GAnD#5#"&'.54632>54&'#5!267!32675#".54632.#"Q#S*lb"% A#:F>Fc+N%@(/K+`O6%077'-k}#-";/GG%8R`TZL'F.IQE,,+)Bn#".546;5#5!##7&"BhQ'*<GG']n-##5#"&5467.547#5!3267!632&"#"]gQL7M`(. 4]J8,4M+"#19'٦QC4F*G*'+#!%(F(n0<%".5467>;5!5!##"632#"&'73254&74632#"&f:.A>1]o .7Jbbcb;=9wKt1k L4( VGG ! KADVXF1DAN"$s !!n"##5#"&54675!23#"3267!5!hPH2Mc%$ :G:&2G/'٥VG3HF1/+++#GnH%2>54&#".54675!5!##"&5467.54632.#"632&"#"(M~K.)"5:!QJ759˴3C2]Rab*/ZI4 #X,"# ^>F?lE/>$ 3?S40D FGGJ TH:nX4S@-A+<@EA  FF(&n"##"'#".'732654&'7!5!5!Q)$,)C(5`X*G.d: )=-'rP-.>=w"(,N@nGGn7L%".5467>;5!5!##5#"'.'.5463232654&727##"632:/@93`hQ0 SK?"!9h-;E+ FM164 .7*#= L3( VGGAK  F9 ),!$.  !  n+>32232675!5!##+#"&'732654&#"AC^ 'gQ(0 >M"U3E)YB7>9). D? GG 27jr]P4+.( n ##"3267#".54>;5!5!70@7,G*6L*,c5Em>Do?'&A0?J4bFAY.GXn$##"&54>;5!5!2654&'#"XPXBnBqDo>XG^:9#J/!_'qIFW)qgC[.G=C0M7'FDPn0%".5467>;5!5!##"632#"&'73254&f:/@>1]oPn .7Jbbcb;=9wKt1 L3( VGG ! KACWXF1DAN##An%0!".54>75!5!##"&54>32'>54&#"3NuBHvEA'@E @:!A11?sf7F##,7gIF_1iGG<):J(*"<%%<"FW%!-)"+n####"'.=#5!27>=#zQB/],O4  !''*:;F6GG ,+'.Hn##".5467>;5!5!Qm==JG6.O/RDpH'H +1[94(PV0#8GG.x-#5#"&'>54&#".546323267#5!)QP7Uw_M/% QALI5)K0PJ:34J R 'ٴa]G6233 F =:89#H8J\$#( GGn4.'#".5467>;5!5!##"3:7&54632& *UG+!`;1:GOR *+- !:"F/O9,?_GG. 5E#1 # 3#*vx<##5#"&5467.54632'>54&#"632&"#"3267#53vhQI:M_/;R?5G(= (1# 299,5J>'ٖQC2G832'>54&#"#5#"&'.=#5!!3267:#AR#H (#59Q@+(@O ()@'SM.h2) T)/.IG9GG70"In(##5#".54632.#"67!5!3267'IgQM88Y2yb(' 2oI6C0!)'٥*K3V\E'G43.x1235#5!##5##".546;54&'&#".546%:Ƀ;gQ*$! +/9KYLxD>tGG%!',i/2G=@;5dn#5##".546;5#5!+3Q*$"~d'%!',GGSn##5#"&'>54&'#53267#ShQN3Zo><{=12JnGٳyd /,0G11*46ln!%.'.54632>54&'#5!#6;hP "%'$ h,L1-w*61dX$"<'-GG#:7L54on!-%.'.54632>54&'#5!#4632#"&6;hP "%'$ h,L1-w! !*61dX$"<'-GG#:7L54o7""!!n+5!##&#"'67.#".54>3263235hQ2.M 0(++R:6:`81J$,I!:W'GGc?=.#.$&EK142[]55C8}@n!0?5!##"&'#".54>32>7532654&#"326?67.#"4D+O66P'I-/M.-P36O':#m!=#*?7%&56%&6!<#*?'GGw]J5U0+$.!+T=8T/+$'"r!#7>@455 >5541!$8wn&7;n###5#".54632.#"3267!5!;hPK56T1s^ '% 0>F?-4K};'٥*K3V\I6230-#G(x,47"&54632>54&#".54632.'##5!z#/$'2@;/98^]GC/R3E=-T@3S%QY#VA8C#FS:3@+U@Eu!'_,,H]j'GGQn##5#"&'.=#5#3267QhQJ2(AO22 nGٿI@GG/ )0n&3##"&'.'.54632>54&'#5!2675#KQ:'*]!)o=68cL "% '@" 4'  4n161dX$";0GG .*> r"n7%>54&#".5467.5467>;5!5!##"632A$.:AEIGF6[c;)"h /6EW)DAE $ &+90:G55G|M&;4"( VGG  *C&:LVg%53Qg%&@ 4632#"&! !""!!*n*%#".'732654.'.547>;#"UF.NJ)E&J2$-/+,1.;?]f' ,&-6BO"RI#ER$%)0"$8/>G  ($<;n##5!QY''GGN$.546323###53.#"TKJ!  #"&54632.#"3267?9KU\OKpV">6pI342* O?9P8[5'SX' & #"&54673267C)KUYX:42 /" O?8SB,!"vB&#"'3267#"&547.54673267C) ,% 0"C)OQYX:4-$ /"  ? K94"/JB% Ey #"&'73267EkMHl"GC597_dSY^FDIC%g.#"#".'732632(&  #9/B%+ %8+gH4;7,,"VMgg.#"'632)2""'46O?gO[& I3{kTg.#"'>327.#"'632-+*2-F&, '46O?g(% E +&49E3{k*y&"(&#j&$W&%M 632.#"DeO"92eD  ,3V3)PKg n#3Q'nG& PZb g4632#"&%#"&'73267#"&'732654&''>54&#"'>32326?>32#"&'732654&#"#1kLHl"ED5:9[CV?G+d>&0) D9/%<"M1NS%% #F6&F-_P.D 1.#9+!(9/ 0&eSY_FFKCFDj{#'%:F,%$ EN;(@ /80%O?Q`#55647"),%.[h#53^GGcl!!cIMGi'3rlGNi#7qAGi* #"&'73267!!*dD@cD:/22HgO@DK4./4@ J "&'73267Ad#M==M"d'B""B' "&'73267"&'73267@d #M==M"g>A`#,O22O+#`&B!!B'v BB  n&An&Bn&n&1O@Pn&S@An&/n&Sn& ^onX7'7.#"'>325!5!!>7&546323267#"'3267#"&547&5467.'#5/*=*9)"J,(@>%ck"C *&- 7+,% /"B) ,% /"B)OQ6./5:PAC6-J90GG  ,!"+!( ?  ? K9%B":  :nW2675!5!#3267#"'3267#"&547&5467>54&#"'67.#".54>,I!0D*ʤ(B6;,% /"C) ,% /"B)OQ6EI,#3.M 1(++R:6:`81I- GG JE#7?  ? K9%A*D -+?=.#.$&EK142[]55C.v->#23267#"&5467>54&#"'67.#".54>32>h8&80%#5 ;C8> %! F #GA.-J+':";:3*6 > ?2(= 0.% ")J52'GJ)*4.vJ"'3267#"&547.5467&#"'67.#".54>32>323267 %$5 32'2654&#":[33Z:;[43[=5D@54D@y3[:;Y33[;:Z2GJ89FJ98Fx*2'>54&/7>54&#".54>HR#RGy(Ajn)#'110?xL9'IQ2`<#51Dh2 ! :>05#Tx$%&'#"&54632>54&#"'>32@_O#0$&+>A4#<&%S+7Y4F9-W!-L#O9;<E*UAFl,pZx3>32.'#"&54632>54&'#'2>54&#"ZP5PY;0,?:;A#< "0$-"0-52!&<@0&"D#RI=J(B*3ME"*2N# 0$#0G&# >x+9%#".54>7.5467>54'732654.'QF+G+,.6A! U7878T "A3/+ "("( ! 7J!<(2A/6M:/ 4J78K208K41E5 *&"/"!/"T%x'.'#".5467327&54632&$+RA&T#FJ +(, -3CKNF2V@.m11]4FG !1% ^`#gxA.'#".5467.54632.#"632.#"3:7.54632"  B[.$)iP?-l'#,  2>F2 )+-2CA=.M-6?,@CFG% E*,.. #1% !U%&1L%#".'732654.#".54632dN=aI3P 1UB=)1$:4c\E<:U/uh2wʙmRF3X6!FR:5BFzHx!".54>?32673\:/*>.!B03^4$.p$L;>J257C"3+""J)Gx*4>32'>54&/.732654&#"G)L4MZGA  $@7(P0&)0/''2-J+]JAS  t<#51.P&*36*)55@i.".54>32'2654&#")D(%D,+B''B+#++#%*-$?)&?&%>('@%B)! )+!)i 4632#"&i""""N##%%+y&" %&%&& J x&3 x&49n$632'>54.#"#".54675#5!*)tf"H:6,)*$$29'gY0j4)!X+&7S&*! GGn".:F##"'#".'732654&'7!5!5!4632#"&'4632#"&4632#"&Q'#+)C(5`X*G.d: )=-h]'J),::p}%(G@VGGDSn%#5#"&'>54&'#5!+'.'3267QN3Zo><{S   1,=1$5'ٳyd /,0GGE $411 Bn7!##".546;5#5!#!R87&"BhxG)<GGn$7!#"'#".'732654&'735!5!#!Rv'#+)C(5`X*G.d: )=-hGCJ),::p}%(G@VGG?x2#>54&#"'>_jYJPSLG-,< RxeRIbGG756F Pn/3".547>;5!5!##">32#"&'732654&!!f@-<#73doPn!$8T[ad`;;7zO>6,+ D,/FGG  A9:KJ@3:;GIn"*7!5#".54632.#">7!5!#!327'R?M88Y2yb(' 2  oIhq-C0 -Gr*L3V[E GG242 ^R'^ 7 #/"&54632'2654&#""&54632!"&546322>?12??2 !! ^;22::22;1 !! \F#."&'#"&54632>32%27.#"2654&#"s(67$2A?4%76(2?2.(($"%% +**\,-?50C)!,@45!3E"!((('D!$TlH>7#.'553,"12",2 #44# rv| #4632#"&4632#"&74632#"&.`H2 ''7'77''7'7755#47!75#45 45#56!65#46a55#57!75#55!55#57!75#55A>3232>3232>32#.#"#".#"#".#"6+ *)$$), 4;5(&,#&,+&"-#C?)********2:90??2:cDC #/4673#.%#654'34673#.%#654'32002200220022002 :0@>2:90??2: :0@>2:90??2:3hkkK %4673#.%#654'3k2002)2002 :0@>2:90??2:T!.'##'33>?33>?3#  +-B)!  ++)  !)C/ ys# " yy ! #sT!3>?3#'.'##'.'##73 +-B)!  ++)  !)C/ ys# "yy #s5)5%#"&54>32#"&'>32"3254&"32654&*WE|)LkBNO^J+W$ `*\a3MQ d,J"UG5B69+H+üTl73NUT+EEN"5#ZbWqE>v,a7" #".5463232654&#"^P3M,]Q3M,'+*((+*' 6{f6yfn``nn]]7A"".54>32.#"3267}cPR`=h $X*{spm?_($W :z_c|: I feag NT#!5TXs6JU, 3!####UXX22C 32+#5#32654&֔nkft;GBDMKKYJ(00# E3#32+#535#32654&թgtuu揑;MGIKYI(00#1'3#"&5467332654&#".^]Zz~~zY\^LQSJNNOO^nn^MdcNP^a73'=6q 73'73#=6qW==Յ!!!H!C23#'3#65Q66M!!MG13267#"'#"&'73267KA5AA6@JA4-'<\F<;#";#"&))73 #>OBG E>\W#.#"#"&'732>54.54632~&%*4`K" EHSG,E15P|3[E(K,R8i[QX 8!!8HI+53267>54&'&'+&'9?pz& "-#"I$"3.+ G0&$OI;#"&'.54>7>7"#-" &zp?9'&*&0G +.3"$$O8.'.5467>;#"*&'9?pz& "-#"!$"3., G 0&8'67>54'.+5325"#-" &zp?9'&+&0 G ,.3"$)3267>54&'.54632.#"+}z& )+2M@<\/B;(! %1)+9?p8'!$86!7I?O!26"2)"3/+ ,T8(%#"#"&'732654&'.5467>;Tz& (,2M@=[/B;(! $2)+9?p '"$76!7I?O!26" 2)"3/, 3xD!".54632#"&'732654&#"32>=4&#"3267#"&54632wMnVSkMZfH8:OA% qhGzI.Nc6ap 'DO:;EiV*xR!".5467>54&#".5463232>54&'.54>32'>54&#"v_y:3*. (, :AH=>D)1""TLOV"' %F;AA@; ,($1"!:9z4[8;L)3%") E(82>/B0M/ 4$9&*;$3%38#>+B46(F +& 4 V97Z4*xG!".5467>54&#".5463232654&#"3267#"&54632u^y:3*. (, :AH=>D)1"!RI|93#-4  OSH>Sk4[8;L)3%") E(82>/B0M/ 4$9&tMe 'CO:;Ew*#xFP%4&'#".5467>54&#".546323267.54632'>.#"Ut;3*. (, :AH=>D)1"#M>mo U\#G;+J.BF#H!<>)*!$( {4[8;L)3%") E(82>/C/M/ 4$9&p]3A'6B,k\FA'W))?:'$NRWh7--]<<8x6B!"&547.54>32.#"632"&#"327&54632"&546326co9,9'TC <.@7)1*3   %A'C?( 1Pg!! kSO5M8'D*F0""9G4);= #"-"!!":x1=32654#7#".5467.54632.#"3267'4632#"&01"R DG@B)I-1-9Dn6/LTN< :  j((-D;7-:C5.HU<[aI;9<5 \ !!)x+7E%#".54>7054&'.54632.#"'4632#"&"32654&'@e:@i=:`8(@8;E@) OSo!!!!YO^*C&@R<87>54'.+"&'.54>7>7;24632#"&4632#"&$-! 'F?9'&*/"#-" &G*3! '&+$$$$$$$$ &0  +.3"$:&0 ,.3"$&&&&&&&&'* "&'732672.#"'>Kt!JI4;<OoWKt!JH5:<Oo$a_IHNEgYa_JGNDhX'8 7>54&'7.5467'ALDHc][eBLEGb^Zf?<7LE$tLKsp?;7LD$tKKsE #"&'73267EkMHl"GC597odSY^FDIC- %'7'77 D?D@ؾ0+0+/E7".'73267332>7#"&'-A%O!+J ) O%A-,77&b[DEEXXEEC[b&&..&g wVg' w wl 33#'#73'&' M[A?[9 桡 )5##!#3#3%35#ԩP]|MHG32",7>3267#"&'#".=!.#"5>32>324&#"7>32672x|Z=3(M!#c2>QT6A^3WOJ1M&(M2>#[MIa[3*?UK^H9=:CPW"A4B)-).BFFDE;3+E+DY32.FQ]VX"E#"D.>xV+S#"Al_^m H Q|EE V+324&+32~\d\M>d^v$ 2+5#535#3#3254&}88H9dHGHd^V )!#3#3AHG!"("'732654&+53254&#"5>32gT(C,;?SE:HS<7]"^:vo!6 /6m %F&&-%HZ2)O[C(5  91CJV7#2#"&546X+2 "&'532653t!$'XR G -xOKV33>?3#'VY gg+"% 35'7373V#AY`$:&732'2654&#"=Ws89sW};sTVOOUUQPE}RS{E}S|EGn__ll__n#"&'532654&#"'632.D"$D"Q^XW"A!Fe=s H m^^m E#Q{F> %"&54>32"32654&)A}YA{Y_oo__llsGo@tHp?KRQLLRRJHE74>32'>54#"#.:z_c|: I ag NHn?ArH(M@ML+DAZ&%"&547'7>32'"654&27%1!8'>$e@$8&?#c>&A2l_J1osJ7(:-!tI:';-" $4RJ"4QL4|"!-4"&=!.#"5>32>32#"&'%2654&#"267! etdSM4N()M5DifBFm?r?d^@OFGPNHI>1EJ8X`+S:9IH.HH.<<.H955<<559; ? 2#4&#"#4>>}]OUUQ]9s }_ll_S{E;? #".533265?;sTWs8]PUVO S|EE}R_nn_V 2+##32654&ne*aU3Y:+HE=TM-N1G-5/.7.546;#5##35#"1ijXXfDG;>< #<-JO(--1!"&54>7'3353'35#"ji1fXXGD@<>PI.;$ G1--(!##5!#YHHQ%#"&5332653/aKjmY@ADXG U0~&\333>73YkkY6126< $333>733>73#.'#RC  VWT  DQ]T  W+X27."PX..:. /:' 35!5!!' p#:DBnD!#"&'532654&+57!5fWov:^"]754&#"'>323267ejFXCI:9&J!#\4be?OJR328'? %2<&6S"% "<(4A,O66O+"54*F10F,F)57n70K,,K0&MHV##YI1  33#.' S]z  zT).'V!###!WY0V5V##5".=3332=3V*dXWVd*YWZe2\99[23!###"'53267>7!Y<8   :5uj&WG H,BqN'##3.'3b87;5  5R6# #5##!#3#3%35#E=:&//?!2+2654&+32654&#VZ.+,02@/;&1.2;?$"#-,$") &535323#+572654&+32654&# 2VZ'QAVK<,6;L]>02@-/;2- ';?-$"#-,$")?+324&+32si|>\SL?lnkhUP?B !!#3#3BȽ//'* 535#535#5!'ɽ///T(3#"&54632.#"32675# %M1lr~r'F>!S]Q^+f weew / ]PM`? #5##3353;;;; #57'53¨7777 V  v'"'532653  (:B-)[>;?#'#3>?3E/;;)}D')?D33?;0?##333#467# 6WV:x?"_T>?###33.=3D6D7d?!E?333#5467#?7D6FbT!?( #"&5463232654&#"mimijmhmKNOIINOKdyzccyxdQ]]QQ\\&*".5467.=3326=3'2654&#"2Q/3.&$;/330:$'-5cQ=::>=99"A.1< ;*44)55)44*; ;1EL/4./22/.4?h 2+##32654&[S#QE5;v;.CA:B<#>&.(/))? 2#'###32654&VS:#Ep\;}BE947<=44 .)(*$b##5!#;[}//;#"&5332653Y\VZ:==>9:B[WG59>0T#.'#3673>7T{326=@=* 2,0>RU;&"2>3A2#,:f48..114( ' "-.5Og&"&=33>323267'>54&#"?=) 2,/?RU;&"1=3A2$,;39./104(  ( "-/$g*"&546323733267#"&'#'26=4&#"ANO@)3 .    4 7-+:...SSSU*&,88 ;AD9:?!g'283267#"'#"&=3&#"5>32>324&#"7>327:'!2A Q$F@Ib 12 \(;2/@;")71=/%'Nb' ( 34P@ q / D%/0-/"I)3\7l!3>32#"&'##3"32654p4)AOOA)4 )9c8+*:/.x$ SSST)ȭ;=;?@;z$Y""&546323.=3#'#'26=4&#"ANO@)3:/4 7-+:...SSSU 8+,88 ;AD9:?$Mg2#3267#"&546"3.CL:4!44$J]UD)/(gPB79 . TPPZ,0+)2!Kg2#"&=3.#"5>3267K]UECM94"34#)+)0gTQOZPA 6: / )31+$g'#"3267#"&54675.54632.#"30b5'%79(JH.$K;&6-O6-+7 . 6($"$)- * .!g%"'73254&+53254&#"5632C7,O6-&/d6'$=+LMH.$H* -+6 07(%$"),$Yg*2373#"'5326=467##"&546"326=4&G&.MOM14M-3#ICLKL,0/.502g1+EF10* 1WOM[-@;?3#'#3ppCEy'99   m v7+g!2#54#"#54#"#33>323>;;8G3,8H4)9. 8Q<g8?L63L<8B,67^g%"&'532654#"#33>32  N:-9. :!@@.+M;9B,8>-3$fg #"&5463232654&#"fXJFZWKFZ15512550PWWPPWWP9BB9:@@g2#"&'532654#"'>zEU^E*+43e+7gLUYT / @"32654&@OOA(49/3 6,+9/..gSTRU  ,-78 ;@F67B 27#"&=#5?33# ")=22"eeD();DI)3Za#'##"&=3326=Z. <"?@:N:,a+8=M<8;|J+53254&+5!|=CTB=\/:;4H6)4*75)a!"&=3326=3326=3#'##"'#;:8G3+9G5(:/8R=8>M73M=8,6Ja 33>?3=JJ=B23 >e#3267#"&'#"'53267.54632) 4%#6 '"*>55>/}*+)* !B!+99+"E7k-74>32#"&'72654&+532654&#"7(D)BH6&1@W@#,_-6:%6/%*/!))4>;8+2;6>B .*0/(.$%$+) <a7533>53}};?7)9:4zF@9X>me4|[!-"&5467.54>32.#"'2654&'FZ>8'8,1= 1)0:8,H)144,298M@:G %#* *653A+:-,;91/8$75.546753'5>54'N^ZR8M_\P8<45s:7qVJIWVIIV>78>?7o  }b"?'.#"5>32733267#"&/ N    Hu=A &&8u*#|) $m3vZ 2#"&546#U  *9ZxB772&#"#33>  )=9/51<0B;'3Z%#'##"&=3326=Z. <"?@:N:,+8=M<8J 33>?3=JJ=`B237kk-4>32#"&'72654&+532654&#"7(D)BH6&1@W@#,_-6:%6/%*/!))4>;8+2;6>B .*0/(.$%$+) "<533>53}};?7)9:4zF@9X?le4|.b4632#"'#72654#".RBLTXD8'^/3gY15RQYQMW +U=;}wa$h5.546753'5>54'N^ZR8M_\P8<45s:7qVJIWVIIV>78>?7o  }"7'.#"5>32733267#"&/ N    Hu=A &&8u*#|) $mQo"'.%3267#"&'#"&5332653>32'.#"YP3O*)P7Bc#ZGjmXAAD;XF0Ec5\>C?I[_M.4)6m[W=BH7Y8%325332673#"'3>324#"3260zc?P? 32) X 21* P?dy[UBAXHG . Dx;E9h:F ";".bgcij7.;"&546323.=.#"#>325332673#"'#'#'26=4&#"dxyd>O 32) X 21* G P1UEBYGGG .! 3S;E;k:FH"0I]^dkq_`j0&#"#>325#5754632.#"3#32673#"'#m 32) ^^\R 5*,+ 21*X;E)h[ E ;?#D:F"-6@7#>7533>323>32>73#5"&'#5.'#4#"%4#"U3/-G U0~&]4[Z20/W=AW@>XUnFA;~CUmNC>@/: I*)Z.,]hM/<  YMG ,ZV y""+2>73#5.'#5#>7533>"54W`b21+W.`^)X35*G \&NGAE"]hP7; 8: I*)JMI%I0".<&#"#>3233>32#"&'#32673#"&'#2>54&#"U 32) H NAcyyd>Q 21* X1?GJRCAw;EHI#0/4K:FI/6]<\n\^ck",7&#"#>32533>32.#"32673#"'#U 32) H R8# )H+ 21* X;Eb,@Q-Q6!:FH"*7.#"#>3254>32.#"32673#"'#R 32) (H00 &## 21*W;ENBH K ,0|:F"8"&'532654.'.#"#>7&54632.#"26738Q [/C<94 D3%$oZ1U%"J'69325#5?33#32673#"&'3267*G,32) LM#421*/%* 4 HAj;E*#r{D:F81/C "$32673#"&'!!57&#"#>327!5  21*)p#x32)+nB:F D:;E DU0+"&'##4632&#"3632'2654&#"T4V Fu{vKOwEO6phuttDIHGQJL ()G!st"Q*PG - QJkcciWam`7ga 353#5##p999aB*!#".5467'57!5"32654&O=sGo@vhbRJKRQLL@M/oOu:mNkxC~JYPO]]OPY77.5#5?33#373>32#4#"#3267#"&'$ZLM#4XME&bbWxZCX* 4&=Kq:)8*#r{DH=]gWe^ZC N$##575#535'53KPPKKPP?G44G446"&=#53533#3267OHMMXpp*  & UKbGGe1#G f"#*23##"&'###53533>"!.267!TZu 86x`>QXKKH N1JE#F>DGC"qrF/4FI#0JLMGRghRZ` J"&=#5353!533#'26=!(jmGGYXGG/aHD<@m[BFFD8Z4GH7DD=B S$/".545#53>7#53!.'53#3#%326545!-Go@-6 0%$=&=#J6,KRQL =qNF-GIEK85PEI;UFvOddPU:0%1#"&'532=#"&'##33>32"326549< 0!&?P?XP?dy%"UBAXHGA@EI4F . D";".Km#bgcijd7:>$1"&546323.=33#"&'532=#'#'26=4&#"dxyd>OX,9< 0$ P1UEBYGGG .! 3Q@EI4FH"0I]^dkq_`j:&"&'532=##5754632.#"3#3| 05^^\R 5*,+,9I4F)h[ E ;?#Du@E7"/<23733#"&'532=##"'5326=467##"&546"326=4&5U F9< 0u{vKOwEO6phuusCJIFQJL"()Gc@EI4w>st"Q*QF - QJkcciWan_U:"3>?33#"&'532=#'#3 gٲ:9< 0=WWk4 @EI4F5(:3#"&'532=#,9< 05P@EI4FU:"0"&'532=#4#"#4#"#33>323>323  04mNCWnQ>XG U0~&]4[Z,9I4FYZVYd^I*)Z.,]h@EU:E"""&'532=#4#"#33>323 04xYDXG \3`b,9I4FWd^I*)]h@EU0"%3#"&'532=#"&'##33>32"32>54&9< 0!&>QXH NAcy%"RCAX1?GA@EI4F /4I#0Kn#\^ck6]<\n(:""2.#"3#"&'532=#33>O# )H+,9< 05H R"Q-Q6։@EI4Fb,@3:":2.#"#"&'532=#"&'532654.'.5461U%"J'69=33H&9< 0(8Q [/C<954J(o"F#(9+&:a@EI4DP+$ (8,DJ.2.#"3#"&'532=##"&'532654>& 9< 0$<$%  $= C%;&@EI4{~AI C%;BH:"&'532=#33>733a 0^rr^9I4F6126<.@E:3#"&'532=#'#37,9< 0 c¹dɊ@EI4F':!#"&'532=!5!5#9< 0 Bn@EI4F:D.:n!+6"&=#'##"&546?54&#"'>323326726=.1@#MDI`~[:5*L!#`4b^,  #DZOdM7=J?L,*MRPW C4BV^܇#EKN083-*7:"(5"&5463237332673267#"&=.'#'26=4&#"dxyd>OF  #1@& P1UEBYGGG .!E^#E=J7%'"0I]^dkq_`j7u0=".=467##"&546323.=432.#"326726=4&#"/6 O>dyyd>Oy%  $UEBYGGGIA?3 !..! 3OI A;%C /]^dkq_`j7:K"$+".54>32!32673267#"&="!.9LuA;kGEc5YP3O*  #1@+L?I> >{YX~D QHDU+:!"5"&=#"&54>75.54632.#";#"326732671@+9sn!6 -7s[:S(!!E/ySF8IR<8U!  #=J> YC(3 ;1DJFL,&H\1(#E!:"5"&=32654+532654&#"'632#"'32671@"]73233267267!j1@}^Dd5oYP3O*)P7KrCK  #?I>=JivGn?ApG   #1@B*PLNOAN":z_c|:8#E=J hdag I :(2.#"3267#"&=32654>& "8!  #1@ $= C%;H=H5#E=J%;BHO:#33267#"&=#'##"&533265,  #1@% \4abYwYE1#E=J?G*']f_d^!:("&=32654&+57!5!#"&'32671@"]7te\ov5  #=J.42)AIGSFKeA#E lg*2#"&'##54&#"5>323>"32654&ANOA(3 .   !4 7-+:...gTSRU)',88 <@C:9@$#g"&54632.#"3267FY]F2)g21,*PUYP , y:> / >g +2.#"632#"''67&546"32654&2*g3=/5#4@( ,]R,0#g , y .(!& % '>YP $f*7#"&546327.''7&'"32654&*KA-8WKGYRG"3 +UI P7016612  ( #&qIUVNDCM":-!&52,9:8%5!g%2#"'532654+532654#"'6;H$.HML+=$'6d/&-6O,7g,)#$$(7/ 6+. * ###5754632.#"3X9==;6#  9X8>7)Ia7"&'5326=#53533#  00911/+**-3$Yg*2373#"'5326=467##"&546"326=4&G&.MOM14M-3#ICLKL,0/.502g1+EF10* 1WOM[-@;323>;;O  G3,8H4)9. 8Q<g8?T,"L63L<8B,65)a$467##"'##"&=3326=3326=3#8R=";:8G3+9G5(:: 68>M73M=8.]g2#54#"#"'5326533>>@8N;,3" . <g8?M<8;) ($m,7g%3267#"&=4#"#33>32]#2N;,9. @$( );M<8B,8?7da3.=3#7F6GB 1  $fg #"&54632'"3&267#fXJFZWKFZ00 [20PWWPPWW*1/`63i##5.5467533>54'N_\Q8M_\R66<67;6;6qeVIIVVJIW>67>?6m !g0#"'3267#"&=32654&'.54632.#"K@1  +8<,'#339H;81H'227x/09();Q '')- * ''2.#"#"'5326546 3" 3 ($n;) ($;)  7"&'532=#".=#5?33#327  +22"ee7,=,'DI):lPa53533533##'##"&=3265#,:911. <"?@:N:,**+8=)%M;7va"&5467#5332654&'53#FZ#!T/15510UEXQF-@,* F4/<<0.L *,3QGQ5Oa#"&=3326=3OFIDG:S,(93DA7M+"5\g2#"&=3326=4&#"5>-5LG9+//,g(;ZFK:-.9V!-Ja #'.'##Ƅ=JJ=a33Ba #57#533#)(ba%"&=#57#53332675#0ɼ );,#)(T$( Za!7>7#57#533>32+72654&#"mc69("+0;? Z"! #)(0/%!)] 6 .a#"&'532654&+57#5,H,^O&=?&2>H;&a';+@Q 0 5.3-$-$_ "&546323.#"267#PLHTQNI/21._30.{mn{zom{RPPR\[SUw# !2#"&546#.'52#"&546}Z *7,#"T #T CCw# !"&54632>73#"&54632 `6*K7T" T#,2'"54>54.54>54#"'>32,W !3     H`"#"&=332>;3RI&5=@4DX8659>l^37#{"C?Kh^#'73"{^K?ClT3'#"{K?ChT#'73{"C?K&S'77'I"v"vSL?@AL?@&S'77Bv"v"@?LA@?LV2&#"#533>:  *(! %< '!r'l'MN32673#"'#51(&29MDd%.#"/ENRA\^#.'#5>72$rJ<^PWZ;*gh\26 // &))< 4#"5>32'>/ /75,,"%1;4.(I 6] #363232654&'7#".#"#>. #/()(0:0$7-)'-?m, 9*.7($;[8%326544#"&54&#"3"&54632! 1>=31=! 1==21>$!!1;10=91$""0;2/=:t74&#"327#"&546325>?#  -9?12?78,%!1:10f0H^&]hF'-82#3267#"'#"&54?54&#"'>326"34&326=W,3D""@)#!+n(# ,716p* &F5+K-!A  "">"V KhG'1#"'1#"54?54#"'63263232654&#"326==3B?Rp,3%)+971>"$%""%%!M&), &6:00@A 2 95&--&&++*#!nhG('##"&54?54#"'63236?3'326= $#(p,3 $)+X I,w_&), &l !A 2LEh#!pg'#"'53254&'7.54632.#"3267JC !)3@1"  GE ! ( 53;5RP hy#"&5467&'72654&#"O:61=96;& ,6$"##F"()287//6$( *" (J!)hz(7#"&546327.''7&'"3254& 4-'<50>911;37%""%H# K1994--3& y$!&K$po(2373#"'5326=467##"&546"326=4&1 l5"#6#2/444!@%!" \   :53<+(Q#& ,&hkF2.#"3275#53#"&5462 RE3[+0>FFRP;l59;5l~3>?3#'#3!M/bh/T''H[{dO0l#3((l0ldB5332(nlֹlB53373#5<7##'#s5GH5(E!Dl֤փ lqF2#54#"#533>,,'6)(  )F%)4(&olrB53.=3#'^1}%1{l֬!|֬$ xlB 532#'#7254&+Nl'/#D.>:9;@l ZUUr%GlpC2#'#532654+'-0B,;4-6-(C \W%haF$#"&'532654&'.54632.#"a4,%)##(2(& "2#"&      ld"#54632.6(,$ )"lbB #57#533bzlhF'"&54632373327#"&'#'26=4&#"-66-$    $&( h8778 &%(+-&&+h| 3>32#"&'##3"32542 $,77,$ (D'(@R 8778 0s'*(*SQpw+4632#"&'72654&+532654&#"^<+.2&",<,A&)&!!'p43+'%"'%),jy) hpF2#"&=3&#"5>32674@;0.5K#$!F855<5,J" lk##5#5754632.#"3R<(**)%  '<' )%1l_0&#"#>325.#"#>32533273#"'3273#"'#  (    (-`p,]}(zF#"'#7&5463232654&#"z=4)-6<41>"$%""%%!6:Ue.5995&--&&++p|"2#"&'##33>"32654&-67,% (! #%( 7779 X6%&(+/$%,pQ2.#"#"'53265462  $  $( (m(oB#'##"'#7&=3326=o! )1.:(5(BWn 3(&o^lC!.'##'33>?33>?3#  +-B)!  ++)  !)C/ ys# # yy #shd 1<4632#"&74632#"&2#'##"&54?54&#"'>326=5   U   V#!+s)" +#-")| ,H!A   r hz #/4632#"&74632#"&#"&5463232654&#"5   U   Z=4/?<41>"$%""%%!| 6::65995&--&&++ho +4632#"&74632#"&#'##"&=3326=5 U   O! )+,(5(| 0%)3(&oipe^ #"&'33267QHJK62.'932 4MZ,DxNA bU% (+UP H=]/.#"56323267#"&.#"56323267#"& ")"2' $(#1' ")!3' $("2'Q :$ :#v :$ 9$NP.'5>73E6886 .,N D 3   2H%#5>7.'5#.'53>735995 .,{ D 3   3( D 3   2@BB@ B@~&&.!&FcaT&'U0&GaPT&'eUP0&GlamT&'Um0&G=Y&('|x7&H'|xa&)7&IaP&)7P&INam&)7m&Iha'#"'532654&'7"+324&+3 JJ  $&5&) lV$3ua"057VPs;(Ώ7*7"&546323.=3#'##"'532654&'?26=4&#"dxyd>OXG 0!$3JJ  $&5&&UEBYGGG .! 3H& 5(&057LI]^dkq_`ja8&)78&ISa+ .'535!!!!!!!>:1 i8)$q#512 "G sGGON7q &-.'535!2!3267#".54>"!.#:1 i8)Ec5YP3O*)P7LuA;kF?I>12 "G sGGK{YX~DHQHDUa+ >73#5!!!!!!!8j 29:S)&q#5G" 21sGGON7q &->73#5!2!3267#".54>"!.8j 29:S)Ec5YP3O*)P7LuA;kF?I>G" 21sGGK{YX~DHQHDUa8&*[78"&J\aH&*L7H"&JMa&*'|r7&J&^|a&+&K=W&,7&Lla&-O&M'aP&-UP&M`a&-lR&Mla%&-|&M| aG&-UG&MqHa&.H:&N= ".>73#"&546323"&54632!57'5!t9i 2:;(TTTTG" 21}4;44g "&>73#"&546323"&54632#3K9i 2:;(EXXG" 21}ak&0xL &Px$aPk&0tUP &P5amk&0Um &POaP&1VLP&QPW&1'VP&Q'am&1pm&Qa8&1[8*&Qa*&2xbUV&Rx{a*&2kUV&RaP*&2UPV"&Ra&3!U&SaP&3UP"&S_am&3Um"&Sya8&3U8"&Sd=# 0<>73#>3232673#".#"#".54>3232654&#"F8j 29:g1+2.20,2.KloHHpkKryzppyys>" --5=4>Wo\\on\[o7'q .:>73#>3232673#".#"#".5463232654&#"8j 29:g1+2.20,2.msGo@sIo?kKRQLLRRJ>" --5=4>A}YA{Y_oo__ll= -=I"&546323"&54632>3232673#".#"#".54>3232654&#")4/50-3/51KloHHpkKryzppyys5=4>Wo\\on\[o7'R -;G"&546323"&54632>3232673#".#"#".5463232654&#"4/50-3/51|sGo@sIo?kKRQLLRRJ5=4>A}YA{Y_oo__ll=+ *.'535!#".54>3232654&#":1 i8)KloHHpkKryzppyys12 "G sGG?o\\on\[o7'q (.'535!#".5463232654&#"2:1 i8)gsGo@sIo?kKRQLLRRJ12 "G sGGA}YA{Y_oo__ll=+ *>73#5!#".54>3232654&#"@8j 19:S)KloHHpkKryzppyysG" 21sGG?o\\on\[o7'q (>73#5!#".5463232654&#"8j 29:S)jsGo@sIo?kKRQLLRRJG" 21sGGA}YA{Y_oo__lla*&5xU0&Uxa*&5U0&Ua_&7U&WaP_&7rIP"&WaP_W&7'rzIP&W'3am_&7m"&W3&83&X3P&8+3P"&X3 A>73#'"&54632#"&'532654.'.54>32.#"#" j 29:;u5#0)!`S9Q,M9/$0&5J3 A>73#'"&54632#"&'532654.'.54632.#"#" j 29:;tb8Q [/C<954J(oZ1U%"J'69=33H&j47 99NPP+$ (8,DJF#(93 H"&54632.'53>73#"&'532654.'.54>32.#"A ,0<88>1- u5#0)!`S9Q,M9/$0&5J3R H"&54632.'53>73#"&'532654.'.54632.#"A ,0<88>1- tb8Q [/C<954J(oZ1U%"J'69=33H&54 00 456NPP+$ (8,DJF#(93P&8'+3P&X' !&9S\&Y?{ P!&9@PS&Y m!&9Zmk&Y 8!&9E8&YZQ&:lKOQ&ZlZH&:OH&ZFZ8&:O8&ZUZ# 3>73#>3232673#".#"#"&5332653-8j 29:g1+2.20,2.<{_Z]^aWY>" --5=4>JwEw1W`gQOq 4>73#>3232673#".#"#'##"&5332658j 29:g1+2.20,2.UH \4abYwYE>" --5=4>EG*']f_d^Z .2#"&54632#"&546!5#"&5332653K<{_Z]^aWYGGJwEw1W`gQOR /2#"&54632#"&546!5#'##"&533265KtH \4abYwYERGGG*']f_d^X&;P&[PX&;UP&[& &<E' &\E &<xt &\x, &<l &\lh &<v &\. P&< P&\F&=&]F&=l&]l6&>&^&&?Q'&_&P&?S'P&_&m&?b'm&_/Um&MySU&Yly{ 1&\1&^i.7&FUj&Cj754632.#"7#QaP2*)/j X2-gU E 4?R;8LZv j3>32.#"3### H`P2*)/XHCfT E 3>HZ(2#"&'532654&+57.#"#4>hct?b84mX4]))a,UJVV>F:\TY:xWK1Z@?a8RKD@CA&)gQ2JwE-oP~&&n.P!&FC~&&c.5&F>~ ",>73#.'#5>73'!#3 .'3X42 441:\:KVU[Q Qn* 3_)) A""A 3*- ;., 6A>73#.'#5>732#'##"&546?54&#"'>326=X42 441:\:b^@#MDI`~[:5*L!#`NdM7+DZ* 3_)) A""A =V^L,*MRPW C4B83-*KN0~ ",.'53>73#.'#'!#3 .'33W':]:2451|VU[Q Qb3 + TA""A ))3*- ;, 6A.'53>73#.'#2#'##"&546?54&#"'>326=w3W':]:2451b^@#MDI`~[:5*L!#`NdM7+DZ3 + TA""A ))=V^L,*MRPW C4B83-*KN0~ $,62#'>54&#"56#.'#5>7'!#3 .'3.2$) C:1441:VU[Q Q "#'? )}"A )) A"q3*- ;.g$@K2#'>54&#"56#.'#5>72#'##"&546?54&#"'>326=.2$) C:1441:4b^@#MDI`~[:5*L!#`NdM7+DZg"#'? )}"A )) A"V^L,*MRPW C4B83-*KN0~%-7#".#"#>323267#&'#5>7'!#3 .'3/).*-/(.+D;03560;VU[Q Q.>/="@ !/( @"s3*- ;.s%AL#".#"#>323267#&'#5>72#'##"&546?54&#"'>326=/).*-/(.+D;03560;6b^@#MDI`~[:5*L!#`NdM7+DZs.>/="@ !/( @"V^L,*MRPW C4B83-*KN0P~&&'no.P&F&J=~ )#5>73#"&'33267'!#3 .'341W JFGG5.+&4VU[Q Q5 ,k#5>73#"&'332672#'##"&546?54&#"'>326=41W JFGG5.+&4Vb^@#MDI`~[:5*L!#`NdM7+DZB5 ,k#.'5#"&'332672#'##"&546?54&#"'>326=05 IGGF5.+&4Ub^@#MDI`~[:5*L!#`NdM7+DZL, 5 k54&#"56#"&'33267'!#3 .'3)-1$)  IGGF5.+&4VU[Q Q"#- 'I2#'>54&#"56#"&'332672#'##"&546?54&#"'>326=-1$)  IGGF5.+&4Yb^@#MDI`~[:5*L!#`NdM7+DZn"#- '323267#"&'33267'!#3 .'3/).*-/(.+IGGF5.+&4VU[Q Q.</;;FD=('|3*- ;.q#?J#".#"#>323267#"&'332672#'##"&546?54&#"'>326=/).*-/(.+IGGF5.+&4Ub^@#MDI`~[:5*L!#`NdM7+DZq.</;;FD=('V^L,*MRPW C4B83-*KN0P~&&'n.P&F&Z2aP&*V7P"&JWa&*V75,3#'>54&#"56322!3267#".54>"!..#6$+% %&)5U4,{YX~DHQHDUa&*Q7&J=a0 &>73#.'#5>73!!!!!!X42 441:\:/q#5n* 3_)) A""A ON7), 29>73#.'#5>732!3267#".54>"!.X42 441:\:Ec5YP3O*)P7LuA;kF?I>* 3_)) A""A <{YX~DHQHDU& &.'53>73#.'#!!!!!!3W':]:2451\q#5b3 + TA""A ))ON, 29.'53>73#.'#2!3267#".54>"!.3W':]:2451Ec5YP3O*)P7LuA;kF?I>3 + TA""A ))<{YX~DHQHDUa $02#'>54&#"56#.'#5>7!!!!!!.2$) C:1441:q#5 "#'? )}"A )) A"qON7 g$<C2#'>54&#"56#.'#5>72!3267#".54>"!..2$) C:1441:5Ec5YP3O*)P7LuA;kF?I>g"#'? )}"A )) A"{YX~DHQHDUa%1#".#"#>323267#&'#5>7!!!!!!/).*-/(.+D;03560;q#5.>/="@ !/( @"sON7s%=D#".#"#>323267#&'#5>72!3267#".54>"!./).*-/(.+D;03560;2Ec5YP3O*)P7LuA;kF?I>s.>/="@ !/( @"{YX~DHQHDUaP&*'Vb7P&J&NW(* #'>54&#"5632!57'5!.#6$+% %54&#"5632#3.#6$+% %54&#"5632#".54>3232654&#".#6$+% %54&#"5632#".5463232654&#".#6$+% %73#.'#5>73#".54>3232654&#"X42 441:\:KloHHpkKryzppyysn* 3_)) A""A co\\on\[o74, (4>73#.'#5>73#".5463232654&#"X42 441:\:bsGo@sIo?kKRQLLRRJ* 3_)) A""A A}YA{Y_oo__ll= *6.'53>73#.'##".54>3232654&#"3W':]:2451KloHHpkKryzppyysb3 + TA""A ))co\\on\[o)', (4.'53>73#.'##".5463232654&#"3W':]:2451sGo@sIo?kKRQLLRRJ3 + TA""A ))A}YA{Y_oo__ll= $4@2#'>54&#"56#.'#5>7#".54>3232654&#".2$) C:1441:yKloHHpkKryzppyys "#'? )}"A )) A"o\\on\[o7'g$2>2#'>54&#"56#.'#5>7#".5463232654&#".2$) C:1441:(sGo@sIo?kKRQLLRRJg"#'? )}"A )) A"#A}YA{Y_oo__ll=%5A#".#"#>323267#&'#5>7#".54>3232654&#"$/).*-/(.+D;03560;wKloHHpkKryzppyys.>/="@ !/( @"o\\on\[o7's%3?#".#"#>323267#&'#5>7#".5463232654&#"/).*-/(.+D;03560;&sGo@sIo?kKRQLLRRJs.>/="@ !/( @"%A}YA{Y_oo__ll=P&4'7P'&T'W`=%&dx#7&ex=%&dE7&eE=%&d75&eT=%&d7&eO=P%&d7Pj&eXZP&:OP&ZPZ'#'>54&#"5632#"&5332653.#6$+% %54&#"5632#'##"&533265.#6$+% %54&#"5632>53#"&5332>53.#6$+% %54&#"5632#'##"&5332653>53.#6$+% %Eq&^EUP6&>D&^6#'>54&#"56323#3.#6$+% %54&#"563233>73#"&'5326?j.#6$+% %;&^a !3!!3TZ8{ZP63##53533533###XQQXXPPXHIggggIH=%32654&#"5>32#".54>7Mm9/`Ige^K- .#Lo=Bf_KH|L\bDpBpX\`F ?uPMLS\rj5"#32654&#"5>32#".54>7Kf=NQLLGB &burLp=Jj(jvw5`v^QP_FpsEVg/ \""&54>733>73'32>77;;gAa   ^*FIY&0"5T1 >13M2 7CUe,qHG2"&546733673'32>7b0&r'O?&r&d '-O #'- '-Y&O{ '-Y&{ '-E&OB '-E&B '-'OS$ '-'/#B6 &tO86 &t6 &t&O{T6 &t&{T6 &t&OB^6 &t&B^=&t&O>&t& '.O '. '.m&O{ '.m&{ '.Y&OB '.Y&B '.'OS$ '.'/#7' &TO7' &T7' &T&O\{7' &T&8{7' &T&OeB7' &T&BB 4&4dO >&4n '4'&O{ '4'&{ '4&OB '4&BO &OO &O &&OG{O &&#{O &&OPBO &&-BO&'O:O&'; '> '>&{ '>w&B '>'/#A &O#A &A &'O{^A &'{^A &'OBhA &'BhA&'O!A&' "&dnO ,&dx 'd1&O{ 'd1&{ 'd&OB 'd&B 'dd'OS$ 'de'/#7Y&l{{7Y&lB-&p{]-&pBU&r{NU&rB6&t{R6&tB<7'&T{7'&TBO&{rO&BA&{A&BF7Y &l'O<7Y &l'<7Y &l&OP'{<7Y &l&,'{<7Y &l&OY'B<7Y &l&6'B<7Y&l'O'C<7Y&l''D< &&7&O< &&A&< x'&&O'{< x'&&'{< d'&&O'B< d'&&'B< '&-'OS$&< '&.'/#&<U &r'O<U &r&\<L &r&O#'{<K &r&'{<U &r&O,'B<U &r& 'B<>&r'O'<?&r&d'< '-&O< #'-&< '-Y&O'{<P '-Y&'{<P '-E&O'B<< '-E&'B<< '-'OS$&< '-'/#&<A &'O#<A &'<A &'O'{^<A &''{^<A &'O'Bh<A &''Bh<A&'O!'<A&''< "&dn&O<[ ,&dx&<e 'd1&O'{< 'd1&'{< 'd&O'B< 'd&'B< 'dd'OS$&<Q 'de'/#&<R7Y&l_7Y&lf7Y&l&{{<7Y"&l<7Y&l'B<7Y&lC7Y&l&C<~&&z~W&& &&Y{ &&EB~&&<)[ OR6P"&=33267OHX*  & UK1#G)[ '>54&#"5>32m( ,3+[ 8#)#0(^(wy'lU&r&{N<U"&r<U&r'B<>&r>&r&< '*{ '*B ;'-{ ''-Ba&-<)[c &O{)[d &OB([&Oq6&t6&t6&tyY&tCg=&t=y&t'ldE&.>W&. '.{ '.BL[ &{L[ &B([&MO&VO&]A&yO&CF! &|OF! &|O&:Oy&':l6&>W6W&>^  '>{  '>B '5^'53'"&546323"&54632FUj&^ ^C(^'53_j0^ A&'{<A&<A&'BF<A&A&'< V'4{ B&4rB D'd{ 0&d|B&d<(^BL[ .54632.#"+4+ [0#)#8 { 3'7'7#@ll@y=kk=H+{ #'73yAmmA=kk=!(3(3(A5!(AII(375!(NN(375!(NN(3&aan"!5!!5!aaZ@@  >73# 0A _55&WU#  #>73 1A ^45&WU#t  #.'7r A0#UW&54  [#'>7##'>7[_0x^/:4 56:4 56 [ #>73#>73[ 1B ^ 1@ ^55&WU# 55&WU#nt [#.'7##.'7)A0Z@/4:64 4:64 A '#5'37dd W<%7'#75'75'37'eeUUUUM+ 4632#"&M@//@@//@mD88DB::DH7D%8ytHy' Hy&' H:{Z3#迅'H,{Z#53'!{t#53#__b{t #53#3#__b'&{t #535#53#__b&'1h %1;E2#"&546#"32542#"&546!2#"&546"3254!"3254JLIMGKFtM&##&MhIMIMGKFIMIMGKF&##&M &##&Mujjwwjju 64QPPRujjwwjjuujjwwjju?PPQQPPQQ - (6DNXb2#"&546#"32542#".546!2#".546!2#".546"3254!"3254!"32546D MMHNJtK~&##&L15D LM5CK6D MM4CK6D MM4CK&##&L&##&L&##&L:dAmtwjkt 68NOOP:e@mt;f@ls:e@mt;f@ls:e@mt;f@lsCMPOOMPOOMPOO'3#Z:'''b 3!333ZfZvZ#@:d''E'{Q3#'( %2 #/;"&54632' 7  "&54632!"&54632"&54632.2.45.2.[^   .65/4..6   H&)'>32#767>54&'"&54632&(0Z4_l5(!J= (% C5! 9[S-A7#2( /-58_  :sJ 3267#"'@&JH&*_bPNNPFJ 632.#"aa)&JI&\PNNPg3#'><_fsM''=Q=(3A@ #@LK6Ob+ #3#3#3+܍hEDb 53#53#53HJFHH ='$$ ^&$H&$$3!5!%}C7^L!2#"&'##^Bc73\>':fw.m`[l.p?6&' %"&5463!'3# glqkcc&uuCmX&I 7!2#'3#Xkqlgcc&uuCm)9,& #"&5463273#.#%%#q^ B0$ $&a #UW&5J&)8'm 4632#"&%#4632#"&  eM&    S6i  Ou2673#".#"#>328? 4 oK9zyt37@ 4 nK;ywr3%MN$4%MO$J '632.#"@)b_*&HJPNN%#''5'7#53'75373~-~?~,~~,~?,~~,~-~?,,5432#"432#"432#"]9::99::9(9::9<<;<<;<<<'&''T4432#"432#"%432#"432#"\9::99::9Z9::99::9<<;<<;;<<;<<<5'432#"%432#"432#"432#"%432#"59::9`9::99::99::9W9::9<<;;<<;<<<<<<<<<<5 4632#"&4632#"&5     !! 5Y #/"&54632"&54632!"&54632"&54632C    q   !!  !!  !! ' #/;!5!3!!"&54632!"&54632"&54632!"&54632hALB  &  TLSL" !!  !! 4!!!!H #4632#"&4632#"&4632#"&H$%%$$%%$$%%$w%%$ %%$ %%$ H #/"&54632"&54632"&54632"&54632$$$$$$$$$$$$$$$$M $&&$ $&&$ $&&$ $&&$ {t#535#53#3#______b&''&{t #53#35#__bb{u'3``}{u#7#`uu`b{u '77'`uu`>>>sYkkY777{t #535#533#_____b&'&JT "&54632'254#"MNJQMOISTT+''sljsrkju?OQOP3v 2#"&546#U  *9xB UO ##5#533'4673U=KI= P}``4]8 1u@L#>32#"&'532654&#"'7+ CZTR FE-550%L7mD@FM C(+&*LT)2.#"3>32#"&54>"32654&# "6>6);JRED]/T +2(&/)T;)F*F@FP_a/ZH+-/-.&+CL#5!O'p<1ET$12#"&5467.54>">54&32654&'7P*'/SBIN- !&?$ $(%$/!"()*(-&T57%07)8C@8)6+&$17" !($$& IV'2#"'532>7##"&546"32654&D]-TB% 7< 3(@JRE$/'*+3-V\c/[I,<,G(H@AS9,,&.-*;#/ 5#53533#ll4llo4oo4o#9/m5!# 944#/5!5!#  q33p44>s 4673#.>/-B/100B+1S46KI70s #>54&'30,B1/1/B-/T47IK647]g2#54#"#33>>@8N;,9. <g8?M<8B,vJ2%~*}~33vvA3w ~U-u@*vL2~C*vE2vI4#/#%/Y #/ >Kc Kc 8&72#'##"&546?54&#"'>326=@=* 2,0>RU;&"2>3A2#,:48..114( ' "-.$M72#3267#"&546"3.CL:4!44$J]UD)/(PB79 . TPPZ,0+)2$f %#"&5463232654&#"fXJFZWKFZ15512550APWWPPWWP9BB9:@@ L 7'373#'#xAYYAyA_`@Dzz!K72#"&=3.#"5>3267K]UECM94"34#)+)0TQOZPA 6: / )31+7]h73>32#54#"#3p:"?@8N;,998>M=87Uh73>?3#'#3ppCEy'99z   m v7ph#3p99`7+!%2#54#"#54#"#33>323>;;8G3,8H4)9. 8Q<8?L63L<8B,67]72#54#"#33>>@8N;,9. <8?M<8B,7l"72#"&'##33>"32654&@OOA(49/3 6,+9/..STRU  ,-78 ;@F67B!$#"&'532654&'.54632.#"K@%4<,'#339H;81H'227/0 0 '')- * '' +27#"&=#5?33# ")=22"ee;();DI)$ 2.#"35!#3#3!5"&54>$G 5;DFOxt1_@ dXZWBBCuKs@3)%.4%&'#7.546?3273.'267##&#")+#?78vo?*?!#  a)J$$M5?  ]"*2:A,!p)Zy[SWb H " JX5tRc@8.".54>32.#"33>32.#">7Xc>C`6^'$J0>^3I9G;&  +@3F$L Zpl]HGZrh8"KD8 J-35#53!!!!3#UU痗AOOnA!&2.#"3#3#!!5>5#535#53546P8W"I)5?& /5aaaa_E:BXANBACPJ JFBNABguUV&2#4#"#5#54#"#33>32736[ZWmNCWFnQ>XG U0t*[F?'"]hYZVض d^I*)Mň 2#'+3#535#53533533#3###3'#3'#3'#3'#XNNNNh_vONNNNi_v**^BC__*@R@@R@|RRRtL ,2+##32654&3#3267#"&=#5?҅v1tfW)\[RHnn) + 7@MNnd|2X)%K'%aR'OK0yPHHOHA   AU] N vA  A{<3#533333##fWWUbβe8NB::BN>*35'75'75#5!#77u$u$u$u$P5idP5iOOQ5ieQ5i/<3332>54.#"'>32#%>32#"&'##2654&#".{Vk fG:kJ+`$$n:eQgt]QPL*XF1  T-C$"(4 (B ZbFf9GL^ePcR>.[= 6-,D;#(384 $1"'532654&''#7.54632>54&#"n$''$'3rS>RPU,%M>>I68-1R>(!  K,*wȆz [1URLE=YfWJQKLw,(*6IR 2#+123#3#+##535#535#3&#3>54#326drKACQui8SWWWWF$53;NJD6   6=Qw6Y6JDDzY  |D =!'5.54>753.'3#>7uIc@:h-"$Y03h>-`Mhr*<PG âf_ &#NFMzM : _"3#3##'##7#537#533.#3^`cLU_SR_UKb`.iB@R@@R@ b$U01TR 9"&547#53>7!5!>54&#"'>323#!!3267"u~ /TCI8~@D1W"&n4eu7WDJ< :{9k$"r ^_&@!@/5OSU)@!@tQ=Y".'>7#5.54>7532\%$G*)J$"G.@E`@@^leeL N GG Šda &uxyL3#5?33733#3267#"&5#aLP 4 5O*5GO*{{{{FaD K[7-IR[g5.546323>323>32654.'.54>32.#"#5#"'#5.''54&#"7"5432754&#"q*1 "".B1.0M*O63S2=iB4a1.R)>N(H/8W2QO6"&6 >e/  %!> 6+")Oy;&+31<6!K*5'2L;53*kkkkV[j.V#O~F%A$O$A$GAGOG@HK~NEd:*5F7'7&=#"&54632!2#"&/'3267#"&'4&#";3265.#!77%Y NaI8>LO^*10"2UJV[L >%9Fdz&"%+.}!ANjFP^/K9InAL8DWh5U1>O#PRJK? NSO17#)1$0@p& ZOK;74>753#54.'##;#326="&54632.#"3267AB/ 8&/88*2ALK<*3-JEZ]F4+Y+*/-6;*12c! 1 6ʬ/(SX\R 7 s7: <  w(M2#'#"&54?54&#"'>#326=#"&'532654&'.54632.#"AB/ 8&/88*2ALK<*3-"8>&%&,18I994',,<6;*12c! 1 6ʬ/(=f 8 *,/+ 2 )2F ".54>32&#"3267~oIOn0]0PU+K>W)X*/VS)* Zpl] 8" ; ^SO{)7&t(r & )5.546753.'67!&IORFBB./1524,8,..,l[Zk lh3 4wR@R; PA(4"&54>32.#"3267 ##"&5463232654&#"Ib/P02+ig03|tMUGAWUFAX'.-''-.'OW>J" 4 rq 4 K6QWWQRVVR2@@24>>(/ # "&54632.#"3267#'##"&=3326=zLKEZ]F4+Y+*/-=&<@AH@2'6SX\R 7 s7: < +1:@G956&T;7S&t+c{Q2ET".54>?#".5467'>7>3273>732>7>54#"2>? !*5S_W"$3$% A #;#^:)'.v'B. 3T6N;KX}!B;"01-#"51O/BF=&{",!DA9+ G )88@ &D"):!(@:5 ?I'TI-7T,"J (+EPN; -O1(3;@!:".5463232>7'>?>7#"&54>54&#"'>3232>7>7>3232>73#"&5467>7>54&#"9A1"$  1+8J>$?P8G( O?;;3 BL%8=: 1CKH -" %. %\db+"%4mX/-  +0,!#/43!:+$m327>54.54>732>7#".'>32)4#8=/7F $ ""+*(&2&%8 :E" |E^f)<8: %(%KVZ*@;2! @5 '3F. ")& TRCz,04a 3333##'3#3#axCCCC:6[5``333>32#654&#"xX#X0Y_7W638VS,$('LK  W.1e^&"3#73733#3>32#654#"yH JX  $^AHQCX@_WZ6_>[[>S$(++CF ?Uaa>O".54632#"32>7.54>7>3>54'77>75? 1"$#22+D=-:;oA73A00 "?) !A5`|CPa=:=pX3' !22(7'   &5]; 5C8ld)3232>7#".#"".''7>3232>54.54>7 *3<<6)" HN *66$<).) 1h  %24 $30 "" :6$. 1=9&77-=+| "."3S/-]Q &*#' 7>7.54>32&#">3232>7#"&'67>54&#"267.#"";%=%&T) BR+4[u@---):cI( 27=DLT-+&/UqCG(!<!HBAU2&E +WBB<?,%<20x,9$I)4$3 %# H+  *;>5`K+  .Nb5,8 <}qZ4*$gl\3CY&D-#M4B5We0Dq"6"*%2673#".=5>754>324#"67#53KI)F+0.?4:E1V6'S<&z:-:RY!LAq;)C(MFAkP2;\3)@%2"&'#####53533533#3>32'2654&#"@7T>WLLWXP9irr{GKJGSAB -&IXX?aaaa? B,.|Ifae`f_ \aa 333#%5aL5M:"65bc_+/333.53##%"&54632'2654&#"5!_eEOb@TQF@URD,&&,+('VDE6NGFtXRRWVSRX:97855879EE1&1:".54>32'2>54.#"'32+532654&+Pc66cPLe96cP@pV0.SqDZP.Sr>RLV>RF',(,E 6cPPc66cPPc65.UrEArV1Q\ArV1_EDCL%*(#,O]>7>32#"&5463232>54.#"#".5467.54>74.'326)3 (Z(R'?S)$FhER]+%*@(3B(.'.i50Z%50C61O.$!)=@ $6&6q&PaA56]"F54'axBk>cxCCx$/Sm[>_65`1@32!'27.#"%>54&'3'uKmkK[IYM7A&N87-.-..--.6| ( æn\\n&H?)UU))ST)~^".54>54&'"#"&54632>54'#".546332>7>7>7.#"32>53#"&54>7>326732>7p%!   .0"01<(![U9A1"$  -$>PB) W>4"6#=q[;@-$#K@)9O04:-A?8[(C98om !# $3> #EF=  .C-^ NcuA)@h>&5. (7&  C}XCL%.# ,AN*)(.Rm?1%PF+44+QE1 !. N)@h+"JD ()  5=,Kr.#"'>3267>54.#"'>54.54>7>32>3232673267'>54.#">?".=4&#"  40 !49-&'%  %! ,=&)I4 8L1#& # 5Z2,!% D/%<><C .* 6%  !>fNKg@(((+(' %$)/( ' +E)E2%& -& tz9+C< LP 71t E#*,3-Pa !3!2##'3#3#>54&'3axC=ÿ+xCCx$/*)DJc[B]=5`#<<79 a_33273#'#7'#254&+aLE98Ufh[AFTsNf^YYffEc]ZkksJ:ao_i &27'7# ####3023&4'>&/'y*A$if7h`Zfk=0752=44Do*9L- SNI A8c%:"&'532654&'.54632.#"733#5467###57'(((1"G;3-E)(47M^^a[@e5`c 5 *"00 1 2+,34`/ (j#5!#33#3#3333ve fӔB?j*66`6Z6d6`6j33#5467###!#5!#E^^a[@e5`e fj`/ (*66oXi'7>73#'#3_ _Z=7T^:3L#@#N-6R<u&O 35!5!!%3#&n ]IjG5`5555`!'"'532654&+57!537!5!~?xSqN/^-[YeqBi<g`Ae9"PSDACAKL<dS'##".54>7#5!32>54.'5&E-LijL,F% >J 2hPPg1 I>OVuKbYXbKvVOH,\kBLxEExLCj\,H V"&'4&#"'>3232>54&#"'7>54&#"#".5732632>325 ,70C)VF"2 /62 &: 00 $!K &/&0!10.0#0>$8^vq ;0  &@KKEK A,:!!  l  *2'A3%/2oT#2#4&#"5>cOHX*  &UK~1#Gak0~n&&=C".546332>7>7>7.#"32>53#"&54>7>3267#".54>73267>54.'#"&54632>54&'3< 1"$  +$>YL)*9)4"6#=q[59'$#K@)9O04:':98[(C/'7Q( %&,HR' -1 - 7  !!1# 1<(![ .2(7&  QX-SY2%.# $5F*)(.Rm?1%PF+44+I:( !. A)/H4$9)'QE*$ ,=! *395$Q7   :V23NcuA)@h>=zK".5467>7>7327#".''2>54.547"32>78r_9=;*@& &+A3.\NbH m28"".54>32!3267.#"!5Tt;.K\.JuDlN-IV"#;TTL41H#N~HHhD C|U%<6%>%&"(4".5467'>7>3232>73'>54#"&1 ,!!7C%! :fO NR#R\-;L+2-% ),$5 (&AN ::2(+L/)V9<@4 2KOedp".54>7.54>32#"&546732654.#"#"&'32>54&#".54>32254.#*=Y0EqC ;e?0<" 0%"$#-'"1!./K+5#9#A3 3(M?&$8%%?(%# (EX{ " 4\;=hF 4*-R5.2:))< 0 73,36aC   7NZ/556H(%'.N/ $(B(#--O:!  P7".54>323267#".#"32>54&'7".546332>?'>7>77>7>32>7"!':\S3@.."%#  %1&DCF(6mY6 2,#3Jk.;!1"$  -',G= 8R 3J.7RA %&  G N  `5%$ !RSF+ +!.Oe6&% #7A< ')+#(7&  6]7>7>7>7>732>7#"&54>7>7#".54>7>7=I3(!). *$7_VW/?|i# #9?>,="8f062 "$8? @@"(&,' /40#UyG=Y#3GF00$!SYP(QWg J:*;#( "=e~@Vk 5HNG2 8NUOUfd'8( EdV5-=&4]lFC2Zki'6whA#;".5467'7>32>73'267.54632>54&#"%0 ,PLS&+.3"/1*@*;)"  +M7+ ),$5 _$B)+UZ%.&'1' 1o+%]kS.'%@Y.'#>7.'7>53 &_i7@4ICO&I 6AC'1N$@./P!5@XP^c+I4=V.jg(7|x1=4&/5#'7D% T1 ;G(%1!0+5'! D)G@j+Ӵ"=[E!!5!#"M==NN) 27#".54>2654&#""\om\[oig oHHpkKryzppyysab&!'##3!# #33#!#3#%.'3166`Xg}adrsaYK73 rX MMCC1!4"&5467###?!#327%3#26?#"&547#73>73>7# ~ b9  Do T])%  (\W", 4M7;1 a 3!!'3#axCC5k5`a 3!##'3#3#aGxCCCC6k5``l 5 5!!!7#!5!=6-KU?b77q1>E #>32#"&'732654.#"3<:vKoNWu54'$aCCK[Gq1Kj2AB%ʌ|o5`"#H3^`8 #+"&54>323#773#2>54.#"@Q"Bc@4D B'RCB/Qbo2 ;&VyL.;  ""(/"&54>323267>?&"#">54'mr*SxNH`'.-^-+ZI4% +{$)/9A m]@}g><>Bd ?4 -'%)H'< V "&54632'2654#"3'3#"-2/L; qrnC\CP&%*7#"-2/L; ( . y%?]47 iBP&%*54&# hBBAofbs$LL^mcu<YFTKJ)5"&5467'#>7'3>32>54&#"2654&'P]R=! Y1%wW/tShySG 7b*6=J>@[ *5&$;31 QI?X$Q/Am)T*4e_L])$R7IS B67B*,'$=%"<)$.,v`r".5467.54>?.#"327#"&54>3232>3263:.54632#>54'>54.#":7'"&#"767.'2654&'"#"&'+30H+@! "$    ")     # 2C,F2 $ "e= 2 -$'& ,a     xt$![040 )*f& $:!Y5*( )  )  /GU'BO)4$**%2 7X!:$)A:%)> 2_ "  4+ V92U+4 :#'##3#3&'32.#"#"&'532654.'.546NE#y$D? IIB"Wp;5 (:)ND<>"*$8(;rbbX6c  ^ 5 0)+5 =   0#)6_ 3535#5353YHHN\jx"&'#"&'#"&'+53267.546323267.54323267.5432;>54&#">54&#">54&#"7U !V67U !W66V !R5#E#?>~$!H$"G"}}# G$"E" ~}$!D#  %% M  !%%Z  $$ 3 "X['sm&YV%  "W\'&[W"  $XY'&[W" 3M#ROOR#TRRT#ROOR#TRRT#ROOR#TRR%'}~'(`%'}~'(`%'}~'('}``933467'73#"&'532654&+532654&#"'>32fKL  6#IG%@F>40:4992/)5$E.GH+'/T62*  '1\T ?")#$!7' .>0(4 3):I-F57>54&#"'>3233"&'532654&+532654&#"'>32s))%1#E+@I;8QËKL%@F>40:4992/)5$E.GH+'/T6p'1' .?71N5M>6 ?")#$!7' .>0(4 3):I%'}~'(`'v~'c`='w~'l` $'~'^`%'}~')`$'~'g` )5B33467'73#"&5467.54>32>54&#"2654&/nKL  6#IGIN- !&?%7P*'/SA%$ $(*(-& !"(62*  '1\T@8)6+&$257%07)8C !"$& ($(,EQ^"&'532654&+532654&#"'>323"&5467.54>32>54&#"2654&/%@F>40:4992/)5$E.GH+'/T^KLIN- !&?%7P*'/SA%$ $(*(-& !"( ?")#$!7' .>0(4 3):I6@8)6+&$257%07)8C !"$& ($#";GT33"&'532654&#"'73#>32"&5467.54>32>54&#"2654&/KL7 FE-550% CZTsIN- !&?%7P*'/SA%$ $(*(-& !"(6 C(+&*7mD@FM@8)6+&$257%07)8C !"$& ($0 #/<33#5!"&5467.54>32>54&#"2654&/aKLI'IN- !&?%7P*'/SA%$ $(*(-& !"(6p<1@8)6+&$257%07)8C !"$& ($%i'}~)!"G'~'gw`2g!!2=gI0*" #/;GS_kw2#"&5462#"&54632#"&5464632#"&%4632#"&4632#"&%4632#"&4632#"&%4632#"&4632#"&%4632#"&4632#"&%4632#"&2#"&54632#"&5462#"&546)  J      <      T    T      <      J        I    @    J    J    @            35#535#5333#3#!aWWWWZ8GYGGYGP 35#535#5333#3#UKKKKXKKKKGYGGYG32673#"'!!&#"#>323 21* $ 32) Zk:FPT;E/ *3#53532+2654&+3#aWW5}kRHfdX_[Nqk@kAOEVMFpNpa_#2##3267#"&5#32654&&*A$i   CKfkWPTef9L- '/#LKRNECF;.0 &.5#7.546?&#"'>3273#'##4&'7">=7CA/:eh2 *L!#`4DCH^@#MD)JP>BY74)K>HU B#L,*m$/ @KM0r$ 30"#.5#5?3373#3267#"&'7hCQ LM#4[GCJw+* 4( F5#8*#r{9C aDOUFh3>323#5#4#"#3Y4bbOWOxZCXX(#)*]gWe^aD|%#5##3>?3|V%IZZ>iPU@"D"UF#3>?33#5#'#3 gٰNW)=WWk4 5&D 5!5!5!!gxD6PD'F 5!5!5!!X p#:DBn=#2373#'##".54>"32>=4.kIrGGpP_EE`bllcX]$$^7/\6\.8\oo[N6_??`5a@!#"&'5325467####333^V("hKR~a_Is(P&lNW9T!73# >?#^VU[QQ3*, ;b#"&'##33>32'2654&#"IrGGpP_EE`bllcW^$$^ 8.\\/7\oo[N5`??_6" )2&#"#.'#3>73>7>  [ [^o  ~]~ R6I$':- U./L.V&'\,N.[#%W/E=7 *"0333>733>?>32.#"#.'#[J  _`\  2 0% hg\   `+X27."PX..#A\.:. /: '!,23>73#'#5267.546"654&5F>:w^e[5$ I3 @'=58W06126<I 9;?D! + Ba33!!aZ2OU!!#XJ7"$"&54674632'>54&#"c:,D%-/N.UI>X0O13R0=/, Q6/1kFIV'([^CwOaAK0\F^c0?5#%,%#"&'#"&54>32!326732654'"!.?;+%I/z:lLirXR1O.!# ?O@"2EVFo4[b" 6SQG]J!#'##"&'732654&#"'>32JE N8" DU#/#8PQ^17ScOW12D MY7'" #/#".54632>54&#"4546324&#"326'sGo@sIo?LRRJ<1/@7   A}YA{ T7_ll_4R2772:{ 3535#535#5!:AHGHvZ 4632#"&"&'5326533  %  9/9+t-3 #3>7:=i  hT./3 A.#""&'3267#".'.'.'532654.'.54>32.S)>M'H/8W3f 3$$/5A)"  ,f:FV*L23S1("-V>9'2$1L;7=+ J O7#'hx&467>73>32#"&2654&#"c/59@" (//=12;p# ) FO   +- 6+56D'") & /lxB+5324+324+326p".4hh&4(4>6<>;<  ##;?"ElbB##5bk(B"B 3#5##53>535`#&%$nBhJJh&a1)XalB#'#5#7'3537dl-h%i-lc+b%bBhnmmmmnhhhhhhdF%2#"'532654+532654#"'6)1 255*%E %7&F%  $l|B 3#'#53H+gp.m((BgommhifB#5##"'532673f(G ''leW\alB#547##'##537$N"L$5LMB։֬lsB 353#5##57''(BYY``hzF #"&5463232654&#"z=4/?<41>"$%""%%!6::65995&--&&++lpB#5##5p'}(Bָp|"2#"&'##33>"32654&-67,% (! #%( 7779 X6%&(+/$%,hgF"&54632.#"3267%0>@1"  GE h59;5RPllB##5#53lO'N%lyB '373#'#S->>,SX-BB-hPPhnVV"B #5#533533&(}'""JָlnB326753#5#"&=37.%(((%)($ \` "PflB !5335335(h'iBָd"B3#5!5335335#((h'iBgJָhzF #"&54632'"3&267#z=4/?<41>p@@#!6::6599@@$#G@hC"&546;##5#"3267R0>@1O'G#" h59:3O&*hdF$2#'##"&54?54&#"'>326=V#!+s)" +#-")FH!A   r hrF2#3267#"&546"34&/5K#$4@:0!zF5+J864<!"lrC53533##54#"#54675KA'@@),'A@(,(!! )&*(88(*&( hl%"&5467.53>73'2654' ') ()$$!)',h#'#&!&823F"(% #l3#32+5#535#32654&%LLDa.4j55g@A" Z;<$ZEthF#"&'##533>3232654#"91.9=((>8..;A#BA6:31`Y./95S*)QrhG&"&547##53354#"'632#'#'26=,#(Z((3 % )+X$ '$&)h!dX2L !#lB #'##5##73'&'"f(-#,(f ; B^^^^}lB#'.##5"#7>7'5#zI$ '$ ' $H}?BE BAddABE=qlB ##'.##5"#7>7##533'5#I$ '$' C''zI}?BFBAddAB `YE<x|#!#55x|#!#4632#"&5K5t#75:|.kt'7@k.|{o77"&54632{-:|.k34x'7'"&54632Dڷk.|ƅ###5!#555###5!#4632#"&5G5551=.5463232654&'.54632#"&'.#"7"&54632(9 &# G;'3   ' 9"  "(.85?   07 ;$51.5463232654&'.54632#"&'.#"(9 &# G;'3   ' 9"  "(.85?   07 ;$51".5467>54&#"#"&54>32327>32A.9 (   4&;G "& 9$; 70   ?58.("  "<O!!<{O{F>R 7%SRT$>R'b$S%R%S$ ( 5@KOSWf47#"&535!5!4632!!#"&547!5!&73654&#"32654'#5!5!535654.54632n6-W%$E$%7 *  + ¶,n5O  '#++++++K$$ + %% +  m  ++++++N  #l!5`44!'7#5}`4/4%!5!#}44d 2#52654#d1<<1'D8218'#BLI3#4632#"&4632#"& >@=Z6?9%#"&'.547327.(*L#"'" -|45S'"#L*(."54|- z*t$7'&#"'632'654'45".(*M"#&" -*- "&#"M*(."545/ 4632#"&5-54632#"&|;;&JB7'%'%4$$$$5555 )2#"&54667#"&54>7>=3Q&(0Y5^m5(!J= '& C5l 9[S-A7"3' /,49H]7"&'>7.546327.546327.56327.546327.546327.546327.54632>32>322>322>322>322>32>32232>32#"' "                &  %/#) %'! ,F -, !11'% %+! .' (  ">:  5/!)%    (%  / %+  " 9 1 +  #    %    #   $      (&lz2 &c_>&7%SRT$>&'b$S%R%S$2 E #4632#"&.#"56323267#"&"$/>0H9.$/>1G;  "N5  "M6 2} #.#"56323267#"&4632#"& $/>0H9.$/>1G;O? "N5  "M6 uu33#7$1$#533J71P4#3#@:#53~:HPb433P@:b3#53@H:3!!".54>3!!")EX/4hT32Ug5/XE)b,/0B<54.#!5!2#/XE))EX/5gT32Ug50/,,/0B<54.5467`#B@$AA"$'-=2##',>f%".54>32'2>54.#"3T22T33S22S3#8""8##9""92T34S22S43T2<"9##8""8##9"H+Lt>73#L0A^v5695H)J >73##"&54632U0B ^j#%%#55%XU#%%$ <" #5'3YY  O} 5'37'#XX5O + 37'#7+dd WB -467.54>32.#"#".732654.'B2'(%2U5YO%F%7:D4.O0[JE`1KDL,)D=(*@6"/;":&%"&(8+CM+G4+>/$" .(X3'( 3'0'W ''7'77V34$44#53$23c43$34"53$33C2h #/;G"&54632"&54632"&54632"&54632"&54632"&54632$$$$$$$$$$$$$$$$$$$$$$$$ "%%" #%%##$$# "%%" #$$# "%%" LNK75>54.54>54.54>54.54>7,,6];AQ,,,,,,,,,,6];AQ,,,,,,,,-#2?;,#,$&,+%%+-"3> ;,#,$&,,%%*:&<FL33253.'>7###.54>72675'"&54675"2327&B=21="?1;: =24=yCxM8It,4q2pzYG9_97v/+m/>@EL F    OpB  & \g[j ;aCEi<Pz:T('1t?3#.1^A0i 496<t ?3#.?3#.<^ B0^ @0i #UW&55 #UW&5(7"&546323![Y+!(UC-,#  !N("'7'7S+G+G**(_T %.#"#>32(9'.26KJHQ')>HJ<(_ "&'332673>32#.#"JK62.'97QKJHQ79'.2I=)'HJ<')(_T #"&'33267_QHJK62.'9Ts#"&5467332674632#"&1#($8 $%%$/+4+ %%$  C "&54632'%'%"&54632A$$$$$25555aXx737'aTXTbXx%#75'3TTXT, 3!5!%}C7m"'%">3232654&#!5!5!32#"&#"G :6F?;-6?{LX&WS>dH$ !=?N=%@+;L #)">3232654&+5!5!32#"&#"3&$(-!+?.G"w|kVTP7P!. "$6G9gHD=G "'%*>3232654&#!57#537!5!3#32#"&#"G :6F?;-6?ʫ屈LX&WS>dH$ !=LN=L%@+;L #)*>3232654&+57#537!5!3#32#"&#"3&$(-!+?.Ginwxe{|kVTP7P!. "$6@G9@HD=G -)74>7>54&#"'>323267#"&--W?:DDC.W&)b:Df:\\@JRO9k$"fVj-")74>7>54&#"'>323267#"&-&H34<96'J"&T1Zo(J44:73'2654&'U\<>-: X2.*7[%G525)O:+602&+6 WE7aB)EDM26MD,.YsTUq:,JD%,H+C0)+O,'8,+3=6".54>32.#"32675332654&#"'>32#"'S]|=>tP&K"4RZfe7Z8 ef[R3"K&Pt>={]hGG _omYCCYmo_>>:N#4"&54632.#"32675332654&#"'>32#"&' k{rd"8)=>NC"4X6"DK?=*9"dr{k8QP C je^ll^ej C(""(p4&#"'63232+72654&+$2&.>TUkVWaV_5<GTe|ibeoL@HL4l#4&#"'>3232+%4&+326!-$4POknbB>{FۘMYE/11$a333533#32+#%2654&+aZZjɓVTW^V````Jibeo L@HL4U333533#32+#%2654&+UXXknޛ{;CD>iiiEMY,E/11$=&4>3233###".%4.#"32>=Dh^KZZHdhE.`KJ`--_LK_.fm]N_.6NfW]mVHHWWHH7"4>32353#5##"&%4&#"326732#'#'26=L[+XXp%M',^1`c?%Q'GUOT\5 RN=&#}B]aP/+FQI12;+-  !3'.!'vu.FCFE3TDD 133'.'#!'d  65.4QCD$%##5##7>7'5!#7!"!.#FQ1[F/J:A:I/H[0>)(>0:P-44-M901.1^!%##5##7>7'5!#7"!.#H)Q=ACuuuuBG--?Hء !- a 33!3!!3'.'!'aZ&y]uw+F^\53JpE+*T? 373!7##3'.'!']d^X  Z@3A@D56C ~%#.'####"&'532673]n Y &&7.  ##]@2S(p,b-t8Y3J>F!#'.'####"'532673\N  X !32  `(?T6&gLCH3D 733!3!#WYeZVO{z6F# 33!3!LXXE2Dx!3#5!#3>7!xZVV7$A2 O/9 MM >OQ:6)F#3#5!#3>7353NUT+EEt"5#Fw_|FD0!###"&'532>7>7!!c\  &?3# #{J4C^0K1I$&oM####"&'5326735` .L: 6AF-ϩ^BaF!##33!!#467#SYri9OIM4f U##467####33'OJOuF-V.Q-/Q=&447'" %".54632'2654&#"7"&54632-Go@sIo?qQLLRRJKV A}YA{YIo__ll__o='3".54>32'2654&#"7"&546323"&54632oHHpkKKlzppyysr \on\[oo\N5B# %1#".5463232654&#"4632#"&74632#"&BNuBQu?HU]\UV\XY+ D}VD}U^op]_mi[='4/'44&447"' b b+yG1=IUags%#"&'#"&547#"&546;&54632>32232#"#32654&#"32654&#"4632#"&'4632#"&3&'32654&#"32654&#"32654&#"'"#673"#674632#"&%4632#"&74632#"&23&'2#3&'232654&#"32654&#"7"#674632#"&'4632#"&KG/>?,KHKHHKHK->?.GKGKKG3662266336622663J    36622663 3662266336622663`       3662266336622663_    JY$ $ZI?)ZIIZ(?IZ$ $YJ>)YJJY)?3#"&'5326?i+4  1+h (#  z y$ulB 32+5#5#32654&Bb.4jMAB BX<$uElB 5332#353'2654&+(>\,1( 9lX<$ElwB 2+534&+326^-2n(~CD!<$X>E`lC#.'#.'33>?.'33>7L% 5$1'$ !(!Csd4a(p?:_  ;*1`(#_7V #"&'33267QVUOB/4123@=6##$"ku'#7#"&=3326?u4> %(?  'F)/)( >w u!k' v!D3#5!#3>753!B[VV7#?2!U/9 M =MQ:6)F13#5!#3>7533##NUT+@EPv!52Ys2D3+"&'532654.'.54>32.#"=d&(c7J\.L..T5>i@;`++N)AR*H,1Y8@qV XQ2G:DbJJk9ITM5F5!G]DRs;+#)#"&'532654.'.54632.#"og7W#&Z*AE <)/K*sX/T*E):?;.,J,cqLE:+;.8N=_bAB4(3*8O&5333 ####"&'532654&+532654&#"'>32*%Z;fDlZE:i-/o1`cthfajiP@CY*+*{Mtx#0F3ZjN.V^vRHBD>KG<6:"=+d!"423533##5##"&'532654+532654&#"'6\mX`fXov:^"]77!36!/?: #CC<+1$*R'&N#(W5-L4 \N&z*4W\ %15 (,%  Rr @9.>.4%2#"'532654+53254&#"!#3>7!36!.<8#@A='0#(O&&J'R'>C3;%82U%"1 $.3 '*$  Y.|sQ %4&+##5!#32#"'53265C;?ZRV0#*1=1|NNŶSe L 8;##>32#"&'5326=4&#"##5Ӳ#W8]aEI( $9:5P XF!\_EUH'.A:F 7#5!#3267#"& 3-!/S^NNIF;L e7#5!#3267#"&Ʊ).  1VK6FF81GY`(%"&5463!!"3!2654&#!3!3#10//>11D09XZaZ&(#QF,%&-5 &+#-|m@))D(U(^#"&546;#";254&#!3!3#10//%r+;XX!NE,%&-5 V#*/9%)D( >"&5467#5!##"3267/?G6 60+8  848EQNN-9<>"&5467#5!##"3267/?D4/0+8  846EFF--9< 5!#32673##"&=  CG5_@ZZBq5dl|NN;=Y6)[[326753#5#"&=#5!# 553Z/XX.e=S[^72 VSzFFak4632.#">32#4#"#adW& #/9@m2elZ4[=ZmiO=G_[[ xU#4632.#"3>32#4&#"#UNF1#""V=ZaX:32.'!35!#>KloHHpkKa^]]_`__`fo\\on\[Bh ~n 7'" 2#".546;&'5>7#0Io?sGo@R=?r{B>>"A{YA}YLPGI XL a 32+#5#32654&`BKo^`'.+a\-5-f7`a 2+34&+326؈CH9-(ac$/\-5B_gu$#5.5467533654'6B@8&6B@9%%*%&)%OO^910:]]911:Vt)%$*JIhF!"&'##533>32.#"3#3267`/?>((>>-"  BttE h04`Y1,?F(2"&546;#";CIHD~~__~bE@AC*Z[*('2"&546;#";5!CIHD~~__~bE@AC*Z[*w**(2  (02  (253254+532#(~__~~DHIC*Z[*DAAC(0253254+532#5!(~__~~DHHD~*Z[*DAACw**(272+53254+5DHHD~~__~DAAC*Z[*('2 NT!3"&54632BP?NT!3"&54632BPNT!3"&54632BP NT!3'"&54632BPNT!3#"&54632BPNT33"&54632NBP@NT33"&54632NBPNT33"&54632NBP NT337"&54632NBPNT333"&54632NBPNT!##NBBNT3##BB9NT3#33#BBBNT3##B7BMS333MBB( ##"&54632 I4(0=G #"&54632'7453(^AG #"&54632!5!YI(S25353(5S5qFH##5#LF:z'3533L:HHe#34632#"&9kt$%%$F'%%$ HRo #"&546323#$%%$[9k+%%$ H V( 5''5'(f5a :32( $vWGXXW=YaEH'.ba9 .)_eMEU  &9-%267#"&5#5?3!'"'532654&+57!*5GOLP 47'572.##"3267I?j?Gp1!.W,Sfha_2k1+h ocCV-CxESCD>BHS.#%'572.##"3267#"&546&Kj1/R7Fub\]2k0UťCv BSDPBDOO)teem#%#"&'5326=!53467#3KD% !&O_WWVK)./>:u$ ,#"&'5326=!53!5467#HL*!")R[VEUH'.Q>/:u$ +#h +"&'5326=!533#467#3#5>73B% !&O_K  )2 X K)./>HK&WV:u$ ,}%T" 7:^ +#"&'5326=!533#%!5467##5>73FM*!"(R[' )2 XJI]H'.Q>/HH:u$ +T%W$ 9;O~ 3#!#3#L/@?("'%#"'532654&'.54632.#"hV^<#M+3=D7$?&aO)K%#=,75$)A%HOH,(**%;-DM=)&#'9&&&#.8#2=H26?54&#"'>32#'##"&'#"&54?54#"'>326=326=`c>i[:5*L!#`4b^@#MD7T3>,P\bp%M',^MT\5.GU dM7+DZ#]aE C4BV^L,*-.!(RN}B2;+-QI183-*KN0L(7#3>32#"&'732654&#"'.'3Qb]XkKKlNryzppyysQp[oo\|j<@.y#!-82632#"&'##"&54?54#"'>32654&#"326=~,ByIo?sEm fFX^bp%M',^KRQLLRRJT\5.GU#ONA{Y>::>RN}B_oo__llh2;+-QI1"&/!#3326533'.'m}( Qb]0G7\]ZdP dj8J%c]2w3<@.L#(3232653#'##"&'#"&54?54#"'>326=`c9=WGXF [=@W"_73#'!3'.']  ]cPQkP/=;M6)<@.#"-!'##"&54?54#"'>323>73326=%Q?L[bp%M',^1`c  aT\5.GUP/+RN}B]a83;V2;+-QI1 1333##3'.'>?#aqp]gou., "A6?|}<@@?Q"b.#&1!'##"&54?54#"'>32373'3>?#'326=%Q?L[bp%M',^1`ct_a0  )YT\5.GUP/+RN}B]aO;U]82;+-QI1}&#"'5326?'!#3>73.'3l#n_;*16<LPb]  ]Q)afR 7?41=;M<@.#/:'##"&54?54#"'>323>73#"&'53267326=%Q?L[bp%M',^1`c a*?0!"*)JT\5.GUe/+RN}B]a830hu":#K ,*T2;+-QI1;&JT-!"&Wo k53533#>?3 ## TZ^^>i&jIZ&OUUO"D"mU@&  3>?3#'##53533# gj=WLLWk4 5]AZZAak%7'#3>?37#'ceIZZ>igc)fjrb|Q@"D"ɎR2TњQU ?'#33>?37#'EC=WW gIh'jzjQEi6[5s4 `Q1Rm5 k%7'##53533#>?37#'ceIZTTZ^^>igc)fjrb|Q@&OUUO"D"ɎR2TњQ  #?'##53533#3>?37#'EC=WLLW gIh'jzjQEi6[5]AZZA4 `Q1Rm5aN %!!37:lYZYNN#P#U7#3XXXX!#! 3#53533#!aKKZmm8+MRRM%P 3##53533#XFFXEE^@ZZ@ #53>323##".'"!.267!>LidO::NgkKJpr qpsq-sJFbQPcFgTUf323##".'7"!.267!H jd @?mDkBIJ6LHLLLBrzzrBz;rQUMMUgaTTa=&4t35#&2".54632>32#"'254&#"2654&#"*Ho>x7U 7(:A5':n;PKLPLON D}V#%F8 :$OyDjB##%p]_mic^o=&4467"&TT*75332+3##5#32654&Q5}kRddZ[HfdXuK nd;g@VKuuBOED0"+5333>32#"&'#3##5"32>54&SH NAcyyd>QXRCAX1?GAgI#0/4;A``h\^ck6]<\n{$"#.546;32+##32654&+'JJT5}kRZ[HfdX)  "32654er6hJ1MX !"LEL  I Q)SD /;JH#S~F&/%# =KJ'-J_^m_ !!*"&=4#"5>32;32+##32654&,RU= &*."5}kRZ[HfdX^SqPGt82hnd;g@fBOED /#+8%.=4#"5>3233>32#"&'#5&32>54#")AJ= &4@IR;erAd.Xs0IY(SDCcHmPFyPWJ'-TG7^<_=T(7'"#".54>327#'32654&#"pf6 oHHpkKig-mO({ryzppyysq(@\on\[o#/5:+S/17d"*535467##"&546323733##5'26754&#"Q@ay{b?P FRRXSEDWHFG@D0"00#I@aa[^fiq__k=7(4%>544#''7'"#".54>3232654&#"ig/-##&26754&#"+)@M&X&Q@ay{b?P Fb&jSEDWHFGD%)5F9#4.ﺾ% "00#IR`&4[^fiq__k-=2##53254&+'MDfx]YlZffI_(KJ:L 2#'#532654&+'bk<2btc8@=:dXPM:KA2.0+D9vu#357>54&#"'>32!533##596J&F84O)/*mDdt.R7UbbUI6TQ0:=$ <#1eY8a`6P'u6" #5!57>54&#"'>323533#S3F.%<<0#R;LXE=gTbc>4W2%+3:'OD>a;iIX3>73#'#73L9 _Z886R^yN!,M##N-63'#7333>73:5R^]x8 r^NhIF26<,#"'5326?.'#3>73>73 y_7)16A ^Zp sZ  xZ wnR 6@820LP0^&#i45$W46 3"'5326?.'##33>733>73$ .5 Z  X]ZL ][XJX:I H@A#&,1) )2.1_>2 ,+[a9[f),"&54632.#";#"&'532654&+57hjdP"6#/IC+"54632.#";'"&'532654&+57^S$9'- *35753732+72654&+cYYZn~`KaeV[`-H-bWIWiddsx?QEA 0!.575373>32#"&'##4&#"326 KXN@cyyc?PXFJRDAXJEI*iIi- "0.  " ee\\ckk(73##5#53332#'2654&+mmZYYZn~]dV[_7A@@AInjcerG=RDB0!.##5#5333>32#"&'#4&#"326eXMMXN@cyyc?P(FJRDAXJE[>WW>S- "0.  " Kiee\\ckka@3>73aZ 'e{`1b R,+U #3673XXf 801I,(#"'532654&+532654&#"'>32NGPTvzO*e+RbfbTUdUL<3T*$/pD_v#FWXGem)QEFA@LB=6: @%'^#&4+53254&#"'>32#"&'5326xMLJ9TM ,f>7Z6BBJQ|:\)\[U[ G<@7A!)TAD\^LmyP/S'354632+#"&'5326=#%2654&#"VPHV\T:[U- !2.,-% ")4JdN@LRg^N8CJ,&(27.&#"&'53265#5354632+72654&#"KV0 !!.)xxUOMP\S:7,-% ")INYG 28G/JbKACSG*%&18)4!"3267#"&54>32#52654&$KKDC 1:)`n9kJJqA~LZKGL H tgHn=DiKr5#!"3267#"&54>32#52>54& HIFA/8'`n9jJqWr8OgXST K ztRxBHMz"\g"3267#"&54632#52654&//X $>HRIIVosTS4;>5d -IEJWc_+k~IO7c,"&546323.=33733##7#'#'26=4&#"dxyd>OX8CDCzCED` P1UEBYGGG .! 3PHH"0I]^dkq_`jUc %33##7#33+DCzCEDtX;HPUc?"+23733##7#4#"#4#"#33>323>[Z+CDCzCEDcmNCWnQ>XG U0~&]"]h뜜HYZVYd^I*)Z.,Uc"23733##7#4#"#33>W`b9CDCzCEDqxYDXG \"]h뜜HWd^I*)U3.'#7#33>7A2, 6@B?AKXF S9S¿ ^G^14Uc!3323733##7#'#2654&+UVh$9 h6CDCzCEDL~>E4>QM/?#H-.&0#.2+##3267#"&5#5?335462654&#"4>KUUXP*5GOLP 4K32"!G9?P-aD K[7*!v{"G`-$-4$A*2+532654&''7.546">54&SY/&.=vpGO;19=JaP+/66).UL7P&9D.XfO2<2>>'RBGYE.*,8 '7$)1 2#".5467#52654&#"lHInmI<=yynssxq1g]nm]]n\/NpWH5"!#".5467&'72654&#"-/wHo>~yU<>/)bxQJLPLOK*gF{?sNt[d$;&!FGhUPf`YRh\12.#"3##33>% %ZhYDgQekfJ/f1?U#2.#"3##33>L" CVXF M#SbPE ^179,#".54>7.5467#5!#"2654&'_;T,sFl=;\27+a+ GM>>,Q2T FX=m}4bEG\5 #7($ JJ<LTL?L% *J;FP9,7.546323!53254.">54&;T,sFl=;\27+Ma+ FN?=-P2S!EX=m}4bEG\5 "7)$ JJ< SM?K& *J;GO0 !357'.54632!2654&#"RO=sGo@vhb RJKRQLL@M/oOu9nNjyC~JjZOP\\POZ#!5Z6zPU#3XX \; %3267#"&54&#"#33>32xM!!5LJOPi`ZEmMuw]J[M4^Zyj^26~U#4&#"#33>323267#"&5;?SGXF \5^cA(GBNHC_c H+'_ePGQC\12.#"#33>% %ZhYDgQekf1?U#2.#"#33>L" CVXF M#SbP ^177R5!#"3267#".54677ZI{v,U+(Z7gKiN|NNMXMUgp( "&5467#5!#"3267-v:6q^kVP%D F yPoHHkjWeN(.zHV& 4632#"&4632#"&H$%%$$%%$&&$ %%$ 25!!52[~GGGGQ7#39kQ3jk9a !#!3!3Z:ZlZN|.Q(#"&5463233#327#"&";54&1>??3 Xgg$, /QE9#+ 3<.47 g6/1 FV.'E 4632#"&E/'&//&'/a/,,//,,a7!###33.533#RSh}T@WQ#h7q@L U<P"!#4#"#33>323#32.#"3#3267#"&'?SiqT$!Q0k zq/T((U; ;LcT*LwLr N" =3>32.#"3#3267#".'GDkB)L@MH,CA.El@ARg1 I AX] N7qY7:"&".54>32.#"3267#"&'532=,Go?BqH)L@ML,C9< 0 :z_c|: I ag @EI4@U:E$"&'532=#4#"#33>323 04xZCXXY4bb,9I4FWe^(#)*]g@E  )27.546;32+#"%2654&+32654&#EH̆FB-I*s&\DS[v_JMc A=0Ob?S &F8ajO;:;3KJ<8E6r $13632#"&'##327#"&546732654.#"4X-1j9sl2?BJHB+#2".54675.54>32373#'#'26=4&#";#"4Z7;C277S+7E)  E@W.ZDKS8,2?'KM'0Hd]j^*'()B2,+21)"&54675.54632'2654&'";#"B[YOKqIIr|vuyQSWg)*1S naG[ QERf[nm]N=5=AJ0;-!"^J#"&5475.=3;#"32653#'#:p6O,[iu*[IisYIl g[ *PCXKJ=Av}6a*A<%".54675.=3;#"32653#'#3R11718S?K C8>4XFTAU #E13FB@lf@8B2,+2d]M'0&32675#5!# 57>32.#"%+D5vFUIKgYp=_"%,67>323737#"'5326=467##"&'"%.4532654tg5U FMMu{vKOwEO6p\p 8@I% J[H>QJ ()G?st"Q*QF - Qqg aY6F>7NSWak573>?3%##^Z>ijIZ>d"D"I=@U@)?37>?37#'#5RW  gj,WRs ,& 1?+&"73737##77'#3.=^hɱTZZiեS^Ok>J!~"#h@L ;f"?33>327##5"%54RG \3`bMMWXRGWE I*)]d?4`[4i!###5753277.+27_gZ^^wGAHC) [JYf  =NN > Da4){&U"'733>32.#"7#5WH R8# )H+XW b,@Q-O50?0 /7.54>32.#"%#"&'532654.'&''(:gC;b(%W/CD6C@Cu&QD_jV>5#0)0"+7.54632.#"7#"&'532654&'{$'oZ1U%"J'698Gs#&tb8Q [/C<3I7+DJF# '*?8+NPP+$++ !#!##"#.546;!3ZZ'+'JJTnZM)  ;T.&=#3"&'5326=467##".54>323732>=4&#"X?x8;|>eghR_|=E}UNe N9N.h_bd)WVds2.CX`nP;/`ij(BS*8ux}JuCG%!#"&54632533#4&#";Gd4>?B3$ZggZ$-MM3?.586/2&; )57'5!;hh*hh4;440uHE#'"#".54>3232654&#"HORrp Zx;;xZ[v:DU[\TXX[UgJXWJJWdxxdhsw 373##jIZZ>i@6`"C#7 "33!53ZOO<7&'#"&5463233267&#"(8B/8EA6*&Z)!" $1G)"!&<45<)' |$23327#"./#.#"5>d#*i`)(0$f`z  0'_@(*B "I:b&*.C ^J#2+#2654&+32654&#1~J@JQtZVLWVwVRV[[Y@Q  OMgg<;;8GGC=AU.m= E:N# F4'7&53537#"&'%326q=K%Z j@=><{_;]"w0ZaW(^?X1'Q )MJwEn.g.C6'7&53537#'##"'%5326c58Y75.H \4O.(4YE&,B+F_@@-6-G*'ld"#3#'##732654+7323'.'#)^XXt& 3:O;:A?V?*6)*"4B9,7O&\#&W,0&I%7#732654+732"&54>32373#7#'2>7>54&#">& 3:O;:A?V@Q'F`:5B CrF "\%G:4,'B2,^)*"4B9,7O]ZKg<8%Sc,AI6\91/<1Ul;66 3?'73#732654+732/ UzL VzM & 3:O;:A?V1@221)*"4B9,7OII#732654+7323& 3:O;:A?VrXr^)*"4B9,7O)"&5467332673#732654+732opm\Y]EDYWcYdEtB& 3:O;:A?V g_2L28@\Y)Nr=)*"4B9,7O7&I,#732654+732"&5467332>?3#7#I& 3:O;:A?V=IFYH !%"OD1WrH 3C^)*"4B9,7ODA)G+ %0jXc3"E(@%.'#3>7>73>32#"&32654&+532654&#"#-12Z^&L( D9S7#(V/qu\MZ^4_6J@>VYoc4/edP@?d) JSId6,M#GYDJYdMIU  XG^vHBD>KG<6:85GNf+D"&'#&'#33>7>73>3232654+532654&#"}4SC)e^r%> #F!O3Wh6/ 6!f!!>"4G AM=5?U! Q|0sB61k7Al,2?ID19  4)C[I=x4 )2ZH%-&&98=:Y&"3267#"&'532=#".54>32.s{{/T(9< 0-32.#"#"'3267,E'$k9PQIA[]:gC;b(%W/CDD:?W-u:2$( !IA>5#0)!`S9Q,M9/$0&5J8_j00C &:"&'532=!5!5!! 0`x9I4FD6PDʑ@Ea +32%!.#3 !ŰlV wua~lPyr7#"&546323.=3#'#"!.267!dxyd>OXG P2@F&DPRFF .! 3H"0[ORXfWXT[053.54>32.#"3##"&'532654.'&'Z:gC;b(%W/CDA7b"$u5#0)"-753.54632.#"3##"&'532654./@oZ1U%"J'69;GCtb8Q [/C<95A.DJF#"&A/ NPP+$ (!#!5!3Z2ZMO.{3#5!5!#XXJ2 73!73#'!24;44TTTT#53533533##5#535#???;;??;:+GGGG+C#Ef#/2#3267#"'#"&546326"34&"32654&BK62"32#[))YDYUJ)A'PP'3..43/0fOB:6 . CCWPPV" B+[)2==73>73#.'#.'bo sY  yY] ]i oP0^&#i45$W55620L6g#%_0PNn3#NQQnNgn3#3#QQQQnnN/n 3#3#3#QQQQQQnnn(Gn'3nPO(Gn''3 nPOBPO(Gn '''3  nPOBPOBPOC7"&54>32'2654&#"H['I32I('I3*-/(+,.VD)E*(E++F)F/%$/0#%/9Vo7"&5467%'2654&#"I[%52.\ K%5C'I3*-/(*-.VWC*?):I7 N9+F)F/%$/0#%/cDy32>54.'7#"&'2&Yb(Q@yb7h D_N7>IHf;cQy32>54.5467#"&'my2"+"rXg"+"Lp" 7X39c\]3XeK?:(T_l@+^R3 4632#"&732654&#":./::..;1 G,77,,89*/(2'654&/7>7654#".546&*&4; ' Z$ !# #%1#+ H   &(".'#"&54632>54&#"'632 &(   !&--<'2  *// 21,/.'#"&54632654&'#'2654&#"'>32C  '- )+.7#   + * $! /$."&5467.547>54'7'3254&'w#0#%" 2'&0 #")I"!  #$$",  &$%&   * # #F $.'#".5467323&454632*  4! 1? $-//*4(>F7.'#"&547&54632.#">32#"323&54632/  58#7*" 7  # .4#& + )#!#".'732654&#".546324)+@) 1.3% /."%*5/72,l`bq#!2 *+ J"&546?3267|(@!e'n/='*+%t }- )>54&/.54632'2654&#"? }0''1" = ~  c'..$%. :2675#53##5#"'#"&'732654&'#'>54&#"'>32v  %10  /#/C"*0" # !')+"UO,, "!>F28  * * &$"".'732654'#'654'#5!#z 4.*1'(I, %0>84@,) ,,*'$$.0#632'>54#"#5#"&54632&#"32675#5!.",) %1 !#78+  9 R'&0 $&xK ,,'.,+,!##5##".546;5#!10U  ,   H#5#"&'.=#5!#32675*0#! '( ! W "U,,E  o.'&54632>54'#53#E-G w2/!/>$C   ,,%. 1-C.75#"&54632&#"32675##5#53.546323#3.#"E ##67,   0-+92Cl'01$H- H ,,'.,,  &=0,B !##"#"&'732654&'.547>;-;#+$%9 )' % !1 *'%7' $6a9:09'*=<:9''*=':-9 =4632#"&%#"&'732672&'#"&54632>54&#"'>kMHl"ED6:8Qi<1'J:RD ,!$)5=0 7#$G%dSY^FFKCMO7U M +h9  ;+-, A :9 M4632#"&%#"&'73267"&54632>54&''2>54&#"'>32.'kMHl"ED6:8%.", .(+*!-<;-# ?!M5GR.(%32.75%dSY^FFKC<  "$@ A <18 6!'>-+#9:S9 C4632#"&%#"&'73267#"#"&'732654.'.547>;kMHl"ED6:8`$)$+2QAAe5<#F1!)-(*-+9:W%dSY^FFKC  -/"7@EQ 4=%*'4 9B%2>54&#".54632#"&5467.54632.#"632&"#"6M~K.)"5:!QJHD.K-2]Rab*/ZI4 #X,"# ^>F?lE/>$ 3?S47H'M;:nX4S@-A+<@EA  FF(&:a-72>54&#".54632#"&54>32&"#"MK/)!J IFG[2]R`bG< _>F?lE/>$""0"3GXW:nX4RA&A(FF(&[x373#LWWP0X'on5!X'GGh)#".'.'732654&#".54632ufDqm>):+,\@7XW5P=),12 XOBA9J$-_f.YB-/E ?E:N(F8)<E H1+A1N:HT"&'73267>=##".5463!5!5!.54632&#"3#"&'73267'"&54632Q69,f>.76&"IZH 4"-(0kg%`VC]@715-D[HEE:007GCb6*<G3VW E/@0GLT!RXB@E>^LhH8& 3g,.#"#".'732632654&/.=7+ 60B($  0%  7.F$)1g-25085  35   ,31[ 7>32#.#"zGSy5YB4`MCGI)/)/Y"$+2"&'#53>323733#3267#"&'#"!.265!`w46 v\>OFEE &2 P2?E&ENUEG >ux.!E>@ $."0XLOUf][X`.O#)4;"&54?54#"'>32>32.#"!#"&''26=265!M_an%L'+^1|(bD5R*.N2QXrqhBj#c;DRNR[5D@P RN%w@],1Hc[4o><==FQI12;+-^FQS:&'7.=46?33267'7654/$E- ` ",' dF %E< r $ yJm 3#!'73454>32!!!3267#"&'#"!.2:lLdrcV@1O.*R5g9$k  = VFzo7@@Hg`"m/>".574632>32!3267#".'.#"327#"&"!.SD0 ~_Ec5YP3O*)P7KrC*%0##$ DC?I>=Gly32373"32>=4&267.#") < M;W^WN7Y V8eq1aHm9 KKJJH9CAk3?J/2,4TA+  :799!$%!&,*{MxDSIAcXZb-O4Uay#2!#.#"#"&54632332654&'&5432#"&'X  !  3H.  X   2?3  # D9<9 " B88?z7.#"#>325.#"#>325332673#"'32673#"'#  3<-  3<-X  3;,  3;,X$>C p %>D $@B o #@B j3#5.546753'54&'>X6DE5X6CD5%$$$ U=323>32&''26="1@IP56ICXkKAXET0|'X4Y[2;M8# 753={FBXYZ_cH))Y,-]g 6 OT=&.!Ug#!+"&546754&#"#33>32&''26="1@IP9=XFXF \32%3267&#"B08EB6)':=4&'732>54&'.K &2N)1K, -,+& +"C(+OR. %) :%.J$,"+67#.''7&'5>=4&'77.'.4&'32>K <%H&2N)/#,%% -_W t)* \n"C(+OR. C9%)$, :-/ (7.#"5>327#"''7.'%4'326z.(F E.Q7'3* wK7'3)#5PK0-N(4%8$c>&5%85aF1p6~,!-4%"&'#"&54>32>32.#"!%2654&#"265!=_d?r?mFBf hD5N((M5MSdtOIHNOHFA<F9568Z|A8787MZ`5mIghdfiedgSEJNC+)19@"&=!.#"5>32>327#"''7&'&#"2654'267!etdSM4N()M5DifBO:!4'rD3'4+ ^$;NHOF 8#>59[29fgdJ/NJESC$!(/6"&=!.#"5>32>32#"&'"!.267!267!etdSM4N()M5DifBFm?r?d^>GI+HFIFI>VPGQCMJNM7CPG2.0+U3 #33>73>HXF >1bI^,4UB#2&#"&#"#33>32>" -7!:!:#XF I,&A#S ,O4^53/!# *2.#".'#"&546733>"3265" CV2:E1@IOF M8"#SbPM 6 OT753=C^17x!&.#,62&#"&#".'#"&546733>32>"3265F" -7!:!:#2:E1@IOF I,&@t8"#S ,O4M 6 OT753=C^53/ x!&.c#3267##"&'VR!W.X"+T)#   _#&"&5#"&'5326763274&#"326Sc"+T)VR!W.)91J))L)4))45('6 hX F ++J-0L,)79)(97f7#"&'5325432.#"CI&B& BBTGPڔGPP#'##"&53326=F [=YaX9=WGGH*(`d_HCb`Ed353!533##'##"&=#3267!LXXPPF [=YaL9=NI((BH*(`d#HCONPF# .2#"&546"&53326=332653#'##"'#ZZX47ICXkKAXFT0|'X#  ]g_FBXYq_cH(*X+-TJ#".2#4&#"#54#"#33>323>"&54632ZZX47ICXkKAXFS0|'W#]gQFBXYq_cH))X,,Q#732653#'##"&=4&#"56329=WGXF\GHCb`H*(`d*&B JIJ x !-"&/#'.#"5>323>3274&#"326?'.#"5>3233267#"&/#8}a 1,O\]&!  ':;AY&.%O #'"D0/'+8D JF2<i""&/#373>3274&#"326-:jcecH4%7CA"""" )fC36Ez!"#" 373#'#Թdcec <j"373>32#"&/ 4&#"326UdcI4%7CA:-;gJ"""" fC36E)<`!"#"y5332>7373#'#8  ׼ece+-"O %#Y .=P"#"&'5326=467##"&53326=3t{:b*,g9JF7zYaX9=WGXoyROG *U`d_HCb`V #"&'33267#.#"#>32QHJK62.'9779'.26KJHQHJ7] %"'5326=4#"#33632  M8/99#P:?-+Q;:}"49=)3.#.#"#"&546325332654&'&5432#"'9  "/9!)!  )"$"  '""%.#"#>325332673#"'#^ !% 9  % 9#)#* g326=3#'##"&=4#"5632M8.9- ;':?+  ).T;:+:<0',,Up332+!#!254&+Xh\fnXmx=:QIOW3,_2'S"#2!3267#"&'##33>"!.&Ec5YP3O*)P7nXX ~_?I>"32!3267#"&'#"&'73254&#"5>"!.Bi b>Ec5YP3O*)P7Fn!!lC(M@ML+DA?I>#2414bMn:xElbNgcX:FCQ[KQPKLPLO)3E}T?84Cad^IEYa ^rs]^qk7Y"*23>32.#"#'##"&546"326=4&?P 2& FO>dyxrHGGGYBE"/#/#@^E!.Ij`_qkd^]+8#!"#53.54>323#5>54&2OWA:܆5?9mOOl9?5;AWdS\wAA"y[Cj??jC[y"AAw\Sd7:'47"&546323.=3!!3267#"&=!'#'26=4&#"!dxyd>OX#0 <9 P1UEBYGGG9 .! 3Bn4IE@AH"0I]^dkq_`j95I3".5#5?3!>32.#"+3267#".=72654.'.5467#3*G,LM#4 *1U%"J'69<43H&tb<$( !,E'C<954J( /%HA.*#r{F#(9+NF00C IA H $ (8, 1/,32673#"&'#'##"&'732>=&#"#>3253H 32) H S8" *G+ 21* X3;Eb,@Q-Q6!;E`!3>?3#'.'##'.'##3  >A`;0 >>< 1;aC./6405A<353#5#HHP##53d<<>BHH&KKX &KNX&KQXe&K'KXN]&K'KXQU'".5#575.#"#4>323#32671*G,LM?'<6X5[:Mj/%* 4 HA8*#`=6ABS'91{D1/C 32R"&'532654.'.54632&54>323#3267#".5#575.#".#"8Q [/C<954J(oZ&$.L.GX/%* 4*G,LM .!+. "J'69<24I&t P+$ (8,DJ 6G$90{D1/C HA8*#`4(.F#)9+NP|K >;#"|"tVj)KCR'A:AK 2#.+5Wt"F)k'RCA:A_ .#"#>322g9<93 ]H8f2~ !D< ` 32673#"&'2g9<93 ]G9f2 !C= $!5$AA!5AAY!!NAw 3;#".wF)jVtB@;A'S +53267"tWk)BBS'A;@   32673#"&'2g9<93 ]H8f2 !C= $C!5$׽AAC!5׽AAYC!!NAf #"543!</9^34A- 5!632#9)/"A&2)E +;JV^bfosw}53#%53#5!53353353#53#53#"&5463272+"'5326=3%32654&#"2654+#53#5332654&##53#53533!5353!53!53353)^֔5d;:5566G>BB>>BB>}575.e  =6 "##" G+T66j55B$556666^x_5;Q6^^6^666666㄄BQQBCPPL ) "',21.-33--33?6K򄄄_55_555555)d+ 467>54&#">32332654&#"56!++\P*X"(!>!%!gt())(66d#=1CJW#7'##%bBv#"&'532>54&#"#33>32%&/LZHQ!ZG?K%qlL1+[P5`?N\.tz d`aB[o%"&=3326=4&#"#33>32bZYY\RLZHQ!ZG?K%q:w w W`gQ[P5`?Jb\.tzJwE.Zb #/>73#"&'332673"&546323"&54632W410FI70*#6 9QL, 5pF7!7Fw.Zb #/#.'5#"&'332672#"&54632#"&54614QDFI70*#6 , 5 b7FF7!4Z\ %#5>73!52#"&54632#"&546*41W275 ,GGf4Z\ %.'535!"&546323"&546324W(A5 , eGGa&1|a&3|$~&&a$&*($*&./Z$&:a33aZ6a_&  Z#& x2*& 8& 8& & & ln "&>73#"&546323"&546323V9i 2:;(ZG" 21}6\& 4ZP&  & EG#'>54&#"56323.#6$+% %53#55-Zf  L 2-gb& DaN&1  a:&3 #&Q|U"&S|.$!.9"&5467#"&546?54&#"'>32#'#3267326=-52I`~[:5*L!#`4b^@+--dM7+DZ2,=MRPW C4BV^L*F)-883-*KN07$"&JO$&"&5467"#"&5332653#'#3267D52"abYwYEXH $//-2,<]f_d^G!$@!-8J<33JX<E&  k&  P &  O&  OB&  &  UJ<&  # &  X$<&  0&  Q<"&'532653w,)).)WV  I34p_V& # >13#'#.'3c`9<8>£0.& % & %F$"& %;$& % & % & %M$$>& %8U& %v$& %&  & %+$<%##!#3#3!#3[Ea'r32.FZb]^%E!?YYv;C}VXKBwegu MJXVK$G.& 3 -."& 3g$.D& 3|."& 3i$.& 3 J<+324&+32[fbSH%>fbShhAIhiAJ"& 9P$ < :J< !#3#3!JH32&#"3275#53+g9DaeLFNejhd=-VL#G!zbmpG/& H}$/"& Hr$/#C'%#"&54>32&#"3275#53#5>73+g9DaeLFNejhd=-!0WVL#G!zbmpG78 59/& H J < #!#3!5 WWW<<S<##!##5353!5335!SFWWFFWWF[?XXXX__J "& M]$%< 357'53%AAAA244I2%*& P -& P$="& P$ & P k%& P9$& P q%b<& P [#&& P$%$<& PJ& P$b<"'532653,.)WV D34-_Vb#"& [$J<3>?3##JX de@X<" 3J#<3>?3###5>73JX de@X!0W<" 3F78 59J<!!< I<J& _ qJ<!!#5>73Y0 W< I< 69 57J#<!!#5>73!0W< I<~78 59J<& _< %!5'7373%XWv&II";7 M:cJ<#4>7####33RLOy<g1*  +2<0J$<###33.5$kOk!<Q <2N#HJ$& f -J$"& fp$J#$<###33.5#5>73$kOk!_!0W<Q <2N#H~78 59Jb$<%#"'53267##33.53$WM-(*Oi#O_V D),Q 3232654&#"H:v[Zx;;xZ[v:DU[\TXX[UXJJXWJJWdxxdhsw0H& l 10H& lx$0H"& ln$0H& l 0H& l 0H"& l$0H& l$0HT!*#"''7.54>327&#"4&'326H:v[U:"0#(';xZ,I&/'&%D)<[Wb%=]UXJ#1"1'sIWJ48&qG.LUxc/Hy0H& t 30H& l]$0C%2!#3#3!#".54>"3267.7.5-Vu;;uZXVUX% %CGGGJXWIIufhuJ< 2+#2654&+kjplGWAK>AKAK"Ubk3232654&#"HMUvlZx;;xZ[v:FT[]SWX[UdJXWJJWdyxehsxJ< 2#'##2654&+6;cgW;BDAG<7P<047-J& { J"& {2$J#< !2#'##2654&+#5>736;cgW;BDAG!0W<7P<047-78 59)D'%#"&'532654&'.54>32.#"nb7P"M\5BCAHN4Y8/S#$G 1;;)-F'J\P$-*++FE2E$E*'$(;)&  )"& $)D& |p)"&  $)#D'3%#"&'532654&'.54>32.#"#5>73nb7P"M\5BCAHN4Y8/S#$G 1;;)-F'!0WJ\P$-*++FE2E$E*'$(;78 59E,D$#"'532654&+57.#"#4632}^QmbT6B%7F?Yn 6*>CXrfWb=TGJ[L 0-248~ $MJhhsKF <###5W73W!0W73`|  |a<#28v<.'#3>73>73#  b_VV  [U]  ]U_k ;9<#PC(Y"H,* n&  x"& $&  \&  b< 7#373#b`ad'<#53Y`<b&  "& $&  &  < 35!5!!/78I9FI&  "& !$& $2J!!26Za & lnB a 6&*#".5467.54>732654&hO?2cjqGp?dY!8!O)M1QIMRO  0w^r|5hKZv$1#4B( ,O@HVWMJVa a f& B>& ln?z3?;T"&'532653X" #(:B .)>>;"# Ih# 2/# 'S# X# 0S ( ] % "T# 6# ".54632'254#"$Pj4{vPi5ywJ G~S~F|SJdj6# !#467'736Y c+J>'K I;,#)57>54&#"'>32!64?;>)T).3oA\g#C1?G%1/ ,4 "=,%UI-D<"eS#(#"&'532654&+532>54&#"'632ƋSNv?Y'$^4SYg[=>0O0H53I+(V~\uw  RJdoOJD>:J904832#".2654&#&8,. Y4dnxlQm6CKGB(H,%D/I./thmPURFO&=#,U6]!5!snM8}1 (42#"&54>7.54>">54&32654&'^x%>%,H+ks|)D'4I8`<7G#<$4GFJMIMPVBEXS+@15F1Zie[1H4UB7K(G52%2#>625(4EE73E!I/T#(%#"&'53267##"&54>32'"32>54.03tVAam7gFqDJGC(F-"CI2.qgHk3232654&#"0hVys/hUxv~CQPEEPQCfsXítW# 467'73#L.IV+4>;6&357>54&#"'>32!&6J&F84O)/*mDdt.R7iI6TQ0;=$ ;#1eY8b_6P-*#"&'532654&+532654&#"'>32PDVT:y_8`,-h0`Ui_EFX[F<:R(,&qHpm#HU XG>a6RKBC;KJ=49"<,d( !5!533#467#!kP[hhU K#O4M2?2#"&'532654&#"'!!>n~7a!$g/OaV]H,f:ndoSKOFK QP7 ,4>32.#"3>32#".2654&#"7Ge3-E\5R@]r{hDnA?NEE/F'"D1MyHK.Ph;#1qhpDQUDP'< +U73!5!d%zPDz:(5"&54>7.54>32>54&#"2654&/)s|)D'4I8`=^x%>%,H+j4GF:7G#62552%2#E74EI74E2,#"&'532>7##"&54>32'"32>54.Ge5'1F[6SA\q9fEDn@>OCF0F'"DMyHK .Oi:"1qgKl:ERTDO&< +T81  #"&54>32&#"4'326 0hVys/hUxv~"\QC)?3PEfsXítW,$e7+::J`%}`3v`Aw` U`@`L`C`E`I`J~%}~3v~Aw~ U~@~L~C~E~I~B 74673#.<:N;99:M;;eFJ`^LDB 7#>54&'3<;L:77;M>9dCL^`JI>26=467"&=4&',2I^+1',*)1+^I5)$%z>=A$s.21/v#@:Bv'$ >%#5>=4675.=4&'523 )4K],0*))*1+\L2+$'vB:@#v/1/1s#A>>z&#<B3#3#=B#53#53kk>==5<3#4632#"&9aC54&#"'>32#4632#"&t+#! 4):E)L.PZ21!D,=$!&'#=JC4E!*+ }ld '#"&54632327#"&5467>=3 ,#! 4):E(M.O[21!D,<%!&'#=JC5D!*+ 5f<'  *'57ff;a! *?'7hh;K" ]#2.#"3##"&'53265#57546 4)+)WP# *(iiXD .>ED*aOI,;)AhNR 5!!5!  # !'!6=K9UN77?w:>N!#533BnB-PN !'#5353BĪBPN !5#533BBKPN !#5353Bb BP1373?C P373#=BB P3733?sBnP  3753#>BB?P 3773#5>BBzP 3753#>BB0P@"13'753,CĻ1P&!'773-BU/P"!'73,nBƸ2P( !#'73530Bɳ/P& !5'73(kBsK4P&!73.:B^.2P13573hBiSP ! 753>B},WP !5#733;B7P !773ԠBBPz  !5 '3>BrwP 3'3#'X>ԠBBPN3533#NBBBnP-N 35353#NBBBfPvN 35373#5NBBBPN 35353#NBBBqP13'53#NנBBhPSi3'3#N<ܠBB xP 3'353##N;զBBwP 3'3#5P>BBPa- 3'3#'N<٣BB$P1"13'73#5N,CC1P"3'73#N,éBBn2P&!''73-ȠB/UP& 3'753#N(ȠBBk4KsP( !5#'7330B/P&!'3.hB2.^P13'3#N8CC#i$P #3'3#]:kBB!P&3'3#N4ҢBB&i/P  3'753#P:˭BBy"]Py 3'3#5'N4ҢBB%iP' 3'33##_8BB#e(PF%13'73.CS3P'!#'73/n0P.!'73'ɗB7q2*P% !''753-ɠB2P% !5'73)ɠBrx3sP% !'73*ɠB93P1373>CvGP373#=BBuCP3733>mBvnP 3753#=BBu9?P 3773#5>BBvzP 3753#>BBv!0P@N!#5373}æBTnBPN!#533vBBPN !5#533BOBPN !'#533B-B#P13573:CP! 739B|#P!'73:mBxcSP ! 7539B"@XP !5#733:BP !773:B2P%13'73.C+1&P'!'73/B/0$P%!'73-jB21 P% !'7753/B͠/P%!573.;Bi1P" !#'733Ȥ0BF-(P"13'354&#"267'YfA=##UIEQA7'U -rm?&VA)0)!$)!)C'4?UI;K!!>(;DA=1F3L4]#o?"%e0"#$ 0/,.4 4632#"&74632#"&Q "&54632tu^ .'53@;q+.u8877 r #5>73 29:#" j99 47u! >73#7>73#9g6869g696P,83 P,83~r#&'#5>7\@#:;487;,+ P& /:=, 58~r#.'53673-* h@#;86::67 P& 4<,p #"&'33267SGIQ86,)7BKJC-+Y7 #"&546324&#"326A24@@42A7""!"4<<33<<3  nt#".#"#>323267>,'$"4>.'$#BB!#AC""z!!0E$3267#"&54>7Y-52+0""t-82,6, 5:sU$&"&'53265#53533#&  *KKXKKHG#1KGGKU"&546;33#'26=#"(7#A( . y%?]47 iB 5#/ JC*MA<p"&'532653 9.+t-3&&N &&7&ON &&A&N '&&O'{Ny '&&'{Ny '&&O'BNe '&&'BNe '&-'OS$&N '&.'/#&Na&-N '-&ON{ '-&N t'-Y&O'{N> t'-Y&'{N> `'-E&O'BN* `'-E&'BN* '-'OS$&Nq '-'/#&Nr&dN q&dn&ON; {&dx&NE 4'd1&O'{N 4'd1&'{N  'd&O'BN  'd&'BN g'dd'OS$&N1 h'de'/#&N2B  Q' O ['  ' Y&O{ ' Y&{ ' E&OB ' E&B G' 'OS$ H' '/# s' { _' B7Y'EQ'>54&#"5>32'53#"&'33267"&546323733267#"&'#'26=4&#"( ,3+_j0QHJK62.'9v`zwg8T F %1 S*SECVIG 8#)#0 54&#"5>32573#"&'33267"&546323733267#"&'#'26=4&#"( ,3+@0j_AQHJK62.'9v`zwg8T F %1 S*SECVIG 8#)#0 *'.%I^@ $.$.I_gdjke7Yi&l&f&OH^{^7Yi&l&f&Oh^B ^7Yi&l&f&0^{^7Yi&l&f&O^B^6&t 6&t 6&t 6&t 6'7'>54&#"5>32'53#"&'33267"&533267#( ,3+_j0QHJK62.'9OHX*  & 8#)#0 54&#"5>32573#"&'33267"&533267H( ,3+@0j_AQHJK62.'9OHX*  & 8#)#0 *'UK{1#G6i&t&&O^{L^6i&t&&O^Bm^6i&t&&^{X^9i&t&&^Bw^O& RO& RO& RO'@'>54&#"5>32'53#"&'33267".5332654&'3( ,3+_j0QHJK62.'9xCQ)X53HOX 8#)#0 54&#"5>32573#"&'33267".5332654&'3( ,3+@0j_AQHJK62.'9xCQ)X53HOX 8#)#0 *'#AY6/9M(rxFn<;oJOi&&q&OS^{^Oi&&q&Os^B^Oi&&q&;^{^Oi&&q&Z^B^A6$1".54>32">54.4&'326;;]@"/O_09Z5!4u

        =4"as;!3v1+*rL%F5SN "Sp|V!%K;'_+*Do@=ye *8<(/18K hm)a7"*5.54>74632>54&#":JuD7';-0/N.UI>X0K{H3R0<0":xb6hV2zFIW(4[TAoEkA/3eP^O,*> %J< 2J}<3!#J3353%!.'cl.w 3 6IC0.J< =< J < M0HE".54>32'2654&#"'53=Zx;;xZ[v::v\\TXX[UUJXWJJWXJKxdhswddxNN%< PJ< ]> 13#.'c` >0.uJ< eJ$< f-< 5!5!5!BcGGFFGG0HE lJ<3!#!JW< J< x< <357'5!#*'26;?&G(;753'>54&'5Of9/rdWer.:fMWaKR[OK_H*BM%9c@77>d:'MB(H7SCFVWEDR< Ep<!5.=3332>=3/m}W%B,W,B%Wuuvw?J]J?wv0TD%353.54>323#5>54.#"0w.E?yUXx>C/w-6&N> %J< =J < MJ@<"&'53267#3>?3=c#T3EY@XX d( =3B3<"> %> %> %> %> %> %> %> %> %> %> %> %> %>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<>& %<J< =J< =J< =J< =J< =J< =J< =J< =J < MJ < MJ < MJ < MJ < MJ < MJ < MJ < MJ < MJ < MJ < MJ <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<J <& M<%< P%< P%< P%< P%< P%< P%< P%< P%< P%< P%< P%< P%< P & P k & P k & P k0HE l0HE l0HE l0HE l0HE l0HE l0HE l0HE lJ< xJ< x< < < < < < < < < < < < < &  &  &  0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD 0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <0TD& <>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % P>& % PJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PWJV<& M PW0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P0D&  P%,& PBU$ & P ke,& PCs$,& B$&  ,& C$0H,& lB$0T,& B$,& %B$J,& =B$J ,& MB$/& %O$/& %p$/& %&O7${$/& %&${$/& %&O@$B$/& %&$B$& %'O$*& %&x$+,& %{b$,& %B$'& %+H& % & % >& %<,& %&{b$<,& %'B$</& %'O$</& %&p$</& %&O7$'{$</& %&$'{$</& %&O@$'B$</& %&$'B$<& %'O$'*<& %&x$'+<'& %&+H<J/& =O$J/& =W$G/& =&O${$F/& =&${$J/& =&O'$B$J/& =&$B$J,& ={I$J,& =B$J /& MO$J /& M$J /& M&OY${$J /& M&5${$J /& M&Ob$B$J /& M&?$B$J & M'O$LJ & M'$MJ ,& M{$J ,& MB$J '& MMHJ <& M<J ,& M'{$<J ,& M'B$<J /& M'O$<J /& M'$<J /& M&OY$'{$<J /& M&5$'{$<J /& M&Ob$'B$<J /& M&?$'B$<J & M'O$'L<J & M'$'M<J '& M&MH<%/& PO%$%/& P$"/& P&O${`$"/& P&${`$,/& P&O$Bj$,/& P&$Bj$I& P&O#$J& P&$,& P{$%,& PBU$J'& PH3& P l)& P t,& Py$$e,& PCs$I& P'lp$0H/& lO$0H/& l$0H/& l&Oi${ $0H/& l&E${ $0H/& l&Or$B$0H/& l&O$B$0H,& l{$0H,& lB$J/& xO$J/& x\$/& O$/& S$/& &O${$/& &${$/& &O#$B$/& &$B$& &O~$ & &[$,& {E$,& B$'& H&  &  ,& y$,& C$& ' l$0T/& O$0T/& $0T/& &On${$0T/& &J${$0T/& &Ow$B$0T/& &T$B$0T& 'O$a0T& '$b0T,& {$0T,& B$0T'& bH0TD& <0T,& '{$<0T,& 'B$<0T/& 'O$<0T/& '$<0T/& &On$'{$<0T/& &J$'{$<0T/& &Ow$'B$<0T/& &T$'B$<0T& 'O$'a<0T& '$'b<0T'& &bH<>& % P,& %&{b$ P,& %'B$ P/& %'O$ P/& %&p$ P/& %&O7$'{$ P/& %&$'{$ P/& %&O@$'B$ P/& %&$'B$ P& %'O$'* P& %&x$'+ P'& %&+H PJV<& M PWJV,& M'{$ PWJV,& M'B$ PWJV/& M'O$ PWJV/& M'$ PWJV/& M&OY$'{$ PWJV/& M&5$'{$ PWJV/& M&Ob$'B$ PWJV/& M&?$'B$ PWJV& M'O$'L PWJV& M'$'M PWJV'& M&MH PW0D&  P0,& '{$ P0,& 'B$ P0/& 'O$ P0/& '$ P0/& &On$'{$ P0/& &J$'{$ P0/& &Ow$'B$ P0/& &T$'B$ P0& 'O$'a P0& '$'b P0'& &bH PH&( B)O)[ OLL&{)d&OBL&B('Oq$(~'M#^y^C(wy'l( {( B(^)c&O{(^B^C)[ O)[ OL[ )[c &O{L[ &{)[d &OBL[ &B([&Oq([&M^y^C(wy'l(^{(^B($Q/ &'#2_ x&2_x&2_6n&6&'@3n&0@ n&0cn&ABn&H8y&'"@H8&'#3@H8n&@H8&'$3@'y&'2_"&'#2_&'$2_&'%2_^on&=A:n&>+y&'"2_]n&@n&Sn&@n&l6n&n&$~@n&2@Xn&An&1Hn&.x&n&L*vx&iGn&In& .x& Edn& On&q;n&(x&VQn&n&3?##"&'.'.54632>54&'#5!2675#4632#"&KQ:'*]!)o=68cL "% '@" 4! !'  4n161dX$";0GG .*> ""!!"n7C%>54&#".5467.5467>;5!5!##"6324632#"&A$.:AEIGF6[c;)"h /6EW)DA! !E $ &+90:G55G|M&;4"( VGG  *C&:L""!!.xEP##"&'327&54632.'#".5467.5463232675#5!654&#"oQG22S /24/ (),&:1  ;Z2E1,.QL>Y.)+.O&Y*!K"("*'E 5$) 4 ))=)G+7IG.5H:;0BGG1!51:$"n*%4&'7!5!5!###"&'.'.54632> U`h)hQ". <69-J"!2b)6F+(-/JCnGGrN03B  F< #.g.54632.#"YB 6&(*g#L$CC B -#!?$.73'.(;uӥ&wn,#>;#"#5#".54632.#"3267!5!j6'@3.4QG2/S2nX91:@=(,Ej'G$&M9P^I4/53*#Gn%@%#"&'.54632>54'#5!!3267'#".54632.#"3267)bIlb"% F>Fc3X/N./K+`O6%077*#:J*k}#-";4)GG.R`TZ!K'F.IQE,,+)(n#".546;5#5!7&"('*<GGvn)3267#"&5467.547#5!#632&"#"8,6I) bIM`(. 4n+"#19 *'+<4QC4F*GG!%(F)n&*vn!!#"&54675!23#"3267f5I0Mc%$ :G:&3InG'VG3HF1/++-nF5!2>54&#".54632#"&5467.54632.#"632&"#"]M~K.)"5:!QJHD.K-2]Rab*/ZI4 #X,"# ^>'GG?lE/>$ 3?S47H'M;:nX4S@-A+<@EA  FF(&PKn!!#"'#".'732654&'7!K<)$,)C(5`X*G.d: )=-nGP-.>=w"(,N@WnI%".5467>;5!5!##"6323267#"'.'.5463232654&:/@93`u .7*#='%3 4) SK?"!9h-;E+ FM1 L3( VGG !   E AK  F9 ),!$v<n(!!>3223267+#"&'732654&#"*AC^ (+ >M"U3E)YB7>9).nG D? M27jr]P4+.( $n&*Xn&*Qn&*An&*n7"'.=#5!#'27>=#],O=B14  !;F6GG*:G ,+'.|n!!467>;#".k-RDlY==JG6.O/nG#8G +1[94(PV.x%.546323267#"&'>54&#"ALI5)K0PJ:33L%%aCUw_M/% Q =:89#H8I^##( C-a]G6233 in&**gx4%#"&5467.54632'>54&#"632&"#"3267%[GM_/;R?5G(= (1# 299,5J,QC2G8;#"#5#"&'.=#5!3267r5(@4.4Q@,(@Or. (*?'GG9GG70#vn%!!#".54632.#">7%3267'`%`A8Y2yb(' 2 C0!)nG,*K3V\E43.x)-%#".546;54&'&#".5463233#L*$! +/9KYL4%:Ƀ44%!',i/2G=@;5D>tGtGn3##".546;5#5!#*$"~lAG%!',GGn%#"&'>54&'#5!#3267&]AZo><{Wo=12L-yd /,0GG46l$11+n5!#"&'73267 P,B}H8f76G('GG$%C$,n(!!&#"'67.#".54>326322.M 1(++R:6:`81I%,I!;W nG?=.#.$&EK142[]55C8?n.=!!#"&'#".54>32>3232654&#"326?67.#"%+O66P'I-/M.-P36O' G.0M.!=#*?7%&57%&6!<#*@nG5U1,#-"+U=8T/+$/ ,Ta!#7>@455 >5541!$8vn!!#".54632.#"3267j%_<6T1s^ '% 0>F?-4KnG,*K3V\I6230-(x,7"&54632>54&#".54632.'z#/$'2@;/98^]GC/R3E=-T@3S%#VA8C#FS:3@+U@Eu!'_,,H]n#"&'.=#5!#267%(VB(AO92 E+I@GG )0 n/267#"&'.'.54632>54&'#5!#q24*]!)o=68cL "% z 4BH 4n161dX$";0GG.*> rn/%#".5467.5467>;5!5!##">;9<&GF6[c ;)EE F8 2:G55G|M%:4#( VGG  Kn*6B!!".'732654&'7!#"'"&546323"&54632"&54632K65`X*G.d: )=-'#+)CqnGT:p}%(G@GJ),:yYn!7"&'>54&'#5!#'.'3267Zo><{W  U#  1,=1"4yd /,0GGW! $411 .x=H#"&'327&54632.'#".5467.546323267%654&#":+2S /24/ (),&:1  ;Z2E1,.QL>Y.),"7*!K"("*9  5$) 4 ))=)G+7IG.5H:;0B t!51:$"n&!!4&'7!#"&'.'.54632>O U`Z". <69-J"!2b)6F+(-nG/JCGN03B  F< #.wn&n&(n&n&n&n&@n&lKn&1O6Wn&<n&$~$n&Xn&Qn&Wn&n&1|n&.x&in&'*L*x&in&n&n&n&.x&En&n&O,n&qwn&7n&(x&Vn&n/;267#"&'.'.54632>54&'#5!#4632#"&q24*]!)o=68cL "% z 4! !BH 4n161dX$";0GG.*> ""!!n/;%#".5467.5467>;5!5!##">;4632#"&9<&GF6[c ;)EE F8g! ! 2:G55G|M%:4#( VGG  ""!! n8?.54632.#"3267!5!!>32'>54&#"#5.6JnX91:@=(,E 9#AR#H '#7Q 5J QFP^I4/53*#GGSM.h2) T)/.%#AnC7.'.54632>54&'#5!##5267!75#".54632.#"HL"% AhQ#: F>Fe@(/K+`O6%077.Dfa#-";0GGS^.R`TXS$'F.IQE,,+)Bn'%##".546;5#5!##5/ 7&"BhQCZ*<GGz]n-'7.5467.547#5!##5'3267!632&"#"v/>G(. 4]gQ8,4M+"#19AT I;4F*GG٩d*'+#!%(F(n& n$'7.54675!23#"3267!5!##5/:G%# :G:&2G/hP AU M<3HF1/+++#GG٧n&Ln%'%5#"'#"&'732654&'7!5!5!##50 &)C(O?G.b@nGG{@n;Q%".5467>;5!5!##5'75#"'.'.5463232654&7267##"632:/@93`@gQ:(D, SK?"!9h-;E+ FM1*D, .7)#D L3( VGGp8 AK  F9 ),!$.  !  n0'%5+#"&'732654&#"'>32232675!5!##5|0 :# =N"U3E)YB7>9).AC] #4hQCU 27is\Q4,.' H D?GG{n&Xn&Pn& An&n''%##"'.=#5!##5%27>=#L0 B/],OgQ4  !CY*:;F6GG{^ ,+'.6n7'7.#"'>325!5!##5/*=*9)"J,(@>%6gQAC6-J90GG.x-?.'>54&#".546323267#5!##5iJe_M/% QALI5)K0PJ:34J R gQ)a\TG6233 F =:89#H8J\$#( GGٴn3?.5467>;5!5!##"3:7&54632.'*,L/!`;1:GOR *+- !C& M -N;,?_GG. 5E#1 # 3#""F*vx<'7.5467.54632'>54&#"632&"#"3267#53##5/hQ+AX J92G832'>54&#"#53267,0O:#AR#H (#59QE ()@5e "F9GGSM.h2) T)/.I370"In )?.54632.#"67!5!##53267'9FXyb(' 2oIgQ C0!))S TDV\E'GG٨743.x5'%5##".546;54&'&#".5463235#5!##580 *$! +/9KYL4%:Ƀ;gQC,%!',i/2G=@;5D>tGG{dn'%5##".546;5#5!##5#30 *$"~dgQC,%!',GG{Sn'7.'>54&'#5!##5%3267#]/K\ ><{ShQ=11LAa qZ /,0GGٲ{11*46ln& n0%'75.#"'67.#".54>326325!5!##59 2.M 1(++R:6:`81I%,I!;W gQ4F?-4K};hPASUEV\I6230-#GG٢x$07'7.''>7.546325#5!##5>54&#"0:^&+[/0)M%5)UIBV-#,x6LhQ".!%("/(C 9D+&H'5LI;+EGG66" "Qn?&'.=#5!##5#3267-8"OQhQ<22 5c"I@GG4/ )0n)3%'75#"&'.'.54632>54&'#5!##5'35!04C,)o=68cL "% hQ kD} 4n161dX$";0GGן./#^:n<?&#".5467.5467>;5!5!##">32'>54'&LCQLH6ah;)~:g 6 S^(FSv99 @M35JP!C4#( VGG  6R**K-)? 9n'?.#"#".54675#5!!632'>54'6*,)7&$29*)tf"H"K%5! GGgY0j4)!X+ n%1=I'75#"'#"&'732654&'7!5!5!##54632#"&'4632#"&4632#"&>!%)C(O?G.b@VGGq"DSn%'7.'>54&'#5!##5#'.'3267]/K\ ><{ShQ   1,=1$5Aa qZ /,0GGٲuE $411 .xIT%75#"&'327&54632.'#".5467.5463232675#5!##5654&#"(a2/]!02/+(),&:0 6S.E1,.QL>Y.(/@_+>hQk*!K"("*>h 5%) 4 ))=)G+7IG.5H:;0A"|GGx!51:$"n.%4&'7!5!5!##5'75#"&'.'.54632> U`gQm:". <69-J"!2b)6F+(-/JCnGGٱ|9ZN03B  F< #.j n&*An&@Bn&j]n&*n0<HO%".5467>;5!5!##"632#"&'73254&74632#"&4632#"&73'f:.A>1]o .7Jbbcb;=9wKt1kE! !(;u L4( VGG ! KADVXF1DAN"$s !!""!!n&jn&R*nHT[%2>54&#".54675!5!##"&5467.54632.#"632&"#"4632#"&73'(M~K.)"5:!QJ759˴3C2]Rab*/ZI4 #X,"# ^>! !Y(;uF?lE/>$ 3?S40D FGGJ TH:nX4S@-A+<@EA  FF(&""!!Q&^n&16@n&Zn&$n ,3##"3267#".54>;5!5!4632#"&73'70@7,G*6L*,c5Em>Do?"! !(;u'&A0?J4bFAY.Gi""!!c&Xn$07##"&54>;5!5!2654&'#"4632#"&73'XPXBnBqDo>XG^:9#J/!_! !<(;u'qIFW)qgC[.G=C0M7'FD{""!!Y&Pn0<C%".5467>;5!5!##"632#"&'73254&4632#"&73'f:/@>1]oPn .7Jbbcb;=9wKt1! !(;u L3( VGG ! KACWXF1DAN##""!!n&An%0<C!".54>75!5!##"&54>32'>54&#"4632#"&73'3NuBHvEA'@E @:!A11?sf7F##,! !4(;u7gIF_1iGG<):J(*"<%%<"FW%!-)"+""!!b&On&6n&A.jx&\*Pn&*[vx&?@9n&jGn&*jn&*jIn&*.@x&@dn&*jSn&!*n!-4%.'.54632>54&'#5!#4632#"&73'6;hP "%'$ h,L1-w! !@(;u*61dX$"<'-GG#:7L54o7""!!&On&qn&'Zj;n& *rx& 2jQn&  *n)3?%'75#"&'.'.54632>54&'#5!##5'35!4632#"&04C,)o=68cL "% hQ ! !kD} 4n161dX$";0GGן./#""!!:n<H?&#".5467.5467>;5!5!##">32'>54'4632#"&&LCQLH6ah;)~:g 6 S^(F! !Sv99 @M35JP!C4#( VGG  6R**K-)? ""!!wn.'7.54632.#"3267!5!#>;#"#5]/6JnX91:@=(,Ej6'@3.4Q AJ QFP^I4/53*#GGGn$?7.'.54632>54&'#5!!74632.#"3267#".HL"%  F>FepM`O6%077*#:N./K+.Dfa#-";0GG.R`TXR?IQE,,+)A'Fn#".546;5#5!'%7&"_/ )'*<GGC:n)'7.5467.547#5!#632&"#"3267v/>G(. 4n+"#198,6I)AT I;4F*GG!%(F('*'+>vn& n& n!!!'7.54675!23#"3267f/:G%$ :G:&2J(&nGAU M<3HF1/++->  n&Ln!!!#"'#"&'732654&'7!'%m^&)C(O?G.b@/C:nIM%".5467>;5!5!!#"6323267#"'.'.5463232654&7:/@93` .7)#D,*D,(D, SK?"!9h-;E+ FM1+ L3( VGG !   I AK  F9 ),!$4n(,!!>3223267+#"&'732654&#"%hAC] #5:# =N"U3E)YB7>9).q )nGj D?T 27is\Q4,.' :vn&n&vXn&Xn&vPn& Pn& vAn&An&Rn##"'.=#5!27>=#'%B/],O4  !n0 )'*:;F6GG ,+'.C:An!!7.#"'>32tP*>)9)"J,(BD*nG]6-J@9C.x%'7.'>54&#".546323267/Je_M/% QALI5)K0PJ:34K%Aa\TG6233 F =:89#H8J\$#( Gin&**x4'7.5467.54632'>54&#"632&"#"3267/;#"#53267,0Or5(@4.4QE ()@5e "F9GGG370"n'!!7.54632.#">73267'`9FXyb(' 2 'C0!)nGS TDV\EA 743.>x)-1%#".546;54&'&#".5463233#'%L*$! +/9KYL4%:ɃZ0 )%!',i/2G=@;5D>tGtGC:n3##".546;5#5!#'%*$"~0 )AG%!',GGC:n'7.'>54&'#5!#3267]/K\ ><{Wo=12L&Aa qZ /,0GG46l$11+En&3n(,!!&#"'67.#".54>32632'72.M 1(++R:6:`81I%,I!;W 9#nG?=.#.$&EK142[]55C8<;n&n!!'7.54632.#"3267jh/FWs^ '% 0>F?-4K+nGASUEV\I6230-D((x ,7'7.''>7.5463253>54&#"0:^&+[/0)M%5)UIBV-#,x6L[!%("/"(C 9D+&H'5LI;+EM>GG6" "#6n'7.'.=#5!#3267%N/-O. 22D3BcI@GG,)0  Sn+/#"&'.'.54632>54&'#5!!;'7+4C,)o=68cL "% :  ՚0(/ 4n161dX$";0GG./#D}:n&*n!-9E!!"&'732654&'7!#"'7%"&546323"&54632"&54632m6O?G.b@G@&(6x92Yn!?.'>54&'#5!#.'3267.K\ ><{W   1,=1"4)a qZ /,0GGTr $411 .xx=ALP267#"&'327&54632.'#".5467.546323#654&#"7A^+(a2/]!02/+(),&:0 6S.E1,.QL>Y.(/Y*!K"("* .l#[ 5%) 4 ))=)G+7IG.5H:;0AG1!51:$"*<Kn&*!!4&'7!#"&'.'.54632>72 U`". <69-J"!2b)6F+(-p(nG/JCGN03B  F< #.S=jwn&6*n&7@n&8jn&9*vn0<HO]%".5467>;5!5!##"632#"&'73254&74632#"&4632#"&73'.#"'632f:.A>1]o .7Jbbcb;=9wKt1kE! !(;u2eD  CeQ! L4( VGG ! KADVXF1DAN"$s !!""!!i&?<H/H%jn&<R*nFRY5!2>54&#".54632#"&5467.54632.#"632&"#"4632#"&73']M~K.)"5:!QJHD.K-2]Rab*/ZI4 #X,"# ^>! !Y(;u'GG?lE/>$ 3?S47H'M;:nX4S@-A+<@EA  FF(&""!!Q&^n&>16n&?Zn&@$v5n ,3A##"3267#".54>;5!5!4632#"&73'.#"'63270@7,G*6L*,c5Em>Do?"! !(;u2eD  CeQ!'&A0?J4bFAY.Gi""!!c&?<H/H%vZn$07E##"&54>;5!5!2654&'#"4632#"&73'.#"'632XPXBnBqDo>XG^:9#J/!_! !<(;u2eD  CeQ!'qIFW)qgC[.G=C0M7'FD{""!!Y&?<H/H%vPn0<CQ%".5467>;5!5!##"632#"&'73254&4632#"&73'.#"'632f:/@>1]oPn .7Jbbcb;=9wKt1! !(;u2eD  CeQ! L3( VGG ! KACWXF1DAN##""!!i&?<H/H%vPn%0<CQ!".54>75!5!##"&54>32'>54&#"4632#"&73'.#"'6323NuBHvEA'@E @:!A11?sf7F##,! !4(;u2eD  CeQ!7gIF_1iGG<):J(*"<%%<"FW%!-)"+""!!b&?<H/H%ORn&In&JA.jx&K\*n&'**[x&M?@n&Njn&O*jn&P*jn&Q*.@>x&R@n&S*jn&T!*O3n&Vqn&'Zjn&X*r(x&Y2jn&Z *Sn+/;#"&'.'.54632>54&'#5!!;'74632#"&+4C,)o=68cL "% :  ՚0(! !/ 4n161dX$";0GG./#D}:""!!n<JV?&#".5467.5467>;5!5!##">32'>54'632.#"4632#"&&LCQLH6ah;)~:g 6 S^(FUDeP!92eD  ! !Sv99 @M35JP!C4#( VGG  6R**K-)? ;3V3)PKB""!!"nO2'>54&#"632#"&'73254&#"'.5467.5467>;5!5!##"6GW'>; '9AMCBCKS]Va<='FO1j1+YL;)"h /,(@$5DC !"&6(3:"M?=N\L+0>J! (6f<#93"( VGG  "nN"&'73254&#"'.5467.5467>;5!5!##"632'>54&#"632-a<='FO1j1+ YM;)"h  /9GW'r 7EJD87KS]\L+0>J! 1`@/0 ( VGG  $:!^$A *%,2M?=N8nQ2'>54&#".#"3267#"&5467.5467.5467>;5!5!##"6GW'>; '9AMCBDAdN =7oJ331*9KU-)@7;)"h /,(@$5DC !"&6(3:"9V1'SW& & F O?'@,X3#93"( VGG  BnQ2'>54&#"232.#"3267#"&547.5467.5467>;5!5!##"6GW'r 7EJD54KpU"=7oJ331*9KUC:4;)"h  /,$:!^$A *%,07[5'SW& & F O?I&(S4/0 ( VGG  ^5nF23267#"&5467.#".5467.5467>;5!5!##"6EW)<62);!KT:<>=FHI>6a_;)5{ .,*C& ! ( ! E K;'L (&:5&DI/5MH'@4#( VGG  XnX23267#"'3267#"&547&54>7&#".5467.5467>;5!5!##"6EW)=51 *;! ,%*9!OP64){FHI>6a_;)5{ .,*C& ! $ A  A K8$@1'N:5&DI/5MH'@4#( VGG  "nO[2'>54&#">32#"&'732654&#"'.5467.5467>;5!5!##"64632#"&GW'r 7EJD<;#LTZIHp6./V3.35&0gY;)"h  /! !,$:!^$A *%.3N>=N/20*%%!  6eD/0 ( VGG  ""!!}nR^2'>54&#"632.#"3267#"&5467.5467.5467>;5!5!##"64632#"&GW'r 7EJD;9KoV"=7oJ342*9KTLB;)"h  /! !,$:!^$A *%-27[5'SW& & F O?.-[;/0 ( VGG  !!""5nFR23267#"&5467.#".5467.5467>;5!5!##"64632#"&EW)<62);!KT:<>=FHI>6a_;)5{ .! !,*C& ! ( ! E K;'L (&:5&DI/5MH'@4#( VGG  ""!!XnXd23267#"'3267#"&547&54>7&#".5467.5467>;5!5!##"64632#"&EW)=51 *;! ,%*9!OP64){FHI>6a_;)5{ .! !,*C& ! $ A  A K8$@1'N:5&DI/5MH'@4#( VGG  ""!!:nT?&#"632#"&'73254&#"'.5467.5467>;5!5!##">32'>54'λ&EEOB<KT]Va<>'FN2i0 * gU;)~:g  :"P_*Fpg21 55"M?=N\L+0>J! ;kD;2 ( VGG  3M('G*&; u:nS?&#"632#"&'73254&#"'.5467.5467>;5!5!##"632'>54'ڪ&@NF9O"!KT]Va<>'FN2i0 *RR;):h  3>Qa*A^1)#G'M?=N\L+0>J! *MD30( VGG  .L.E$(+ vQnV?&#"32.#"3267#"&547.5467.5467>;5!5!##">32'>54'λ&EEO?9KpU"=7oJ252+9KTDD:;)~:g  :"P_*Fpg21 34 8[5'SX' & F O?J&.[9;2 ( VGG  3M('G*&; uQnV?&#"632.#"3267#"&547.5467.5467>;5!5!##"632'>54'ڪ&@NF3G KpU"=7oJ342+9KT;12;):h  3>Qa*A^1)!D%8[5'SX' & F O?D'!<830( VGG  .L.E$(+ vAn3'>54&#".'.54632>54&'#5!!632!H!"#"H+-w@6;hP "%'$ A5J(.W%)E##*!.4o161dX$"<'-GG#: I!nD%"&545.'.'.54632>54&'#5!!>32.#"3267;5!5!##"3:7&54632#"&'73254&#"('+  *UG+!`;1:GOR *+- 38]Va<='FO1j1+  /O9,?_GG. 5E#1 # ' G3=N\L+0>J! nO#"&546323.'#".5467>;5!5!##"3:7&54632.#"32679KU\O  *UG+!`;1:GOR *+- Ig(>6pI342* O?9P/O9,?_GG. 5E#1 # *g>'SX' & ;nF"&5467&'#".5467>;5!5!##"3:7&546323267KU8- *UG+!`;1:GOR *+-%(1.2 /"CO?/B& /O9,?_GG. 5E#1 # ;# )!"E 4nK?.5467>;5!5!##"3:7&54632#"&'732654&#"'67.'*,L/!`;1:GOR *+- 47QJSz7=5A.).&"$! M -N;,?_GG. 5E#1 # % J6=NWQ+)?#'#"A "nN?.5467>;5!5!##"3:7&54632.#"3267#"&546323.'*,L/!`;1:GOR *+- Ig(>6pI342*9KU\O M -N;,?_GG. 5E#1 # *g>'SX' & F O?9P ;nE?.5467>;5!5!##"3:7&546323267#"&5467&'*,L/!`;1:GOR *+-%(1.2 /"C)KU8-M -N;,?_GG. 5E#1 # ;# )!"E O?/B& An3?'>54&#".'.54632>54&'#5!!6324632#"&!H!"#"H+-w@6;hP "%'$ A5J.! !(.W%)E##*!.4o161dX$"<'-GG#: I""!!!nDP%"&545.'.'.54632>54&'#5!!>32.#"32674632#"&7.'#".5467>;5!5!##"3:7&54632#"&'732654&#"%4632#"&F   *UG+!`;1:GOR *+- 77QJWy4=/V='0)$!   !/O9,?_GG. 5E#1 # & L4=N\L+IB%%! J""""nO[#"&546323.'#".5467>;5!5!##"3:7&54632.#"3267%4632#"&9KU\O  *UG+!`;1:GOR *+- Ig(>6pI342*! ! O?9P/O9,?_GG. 5E#1 # *g>'SX' & ""!!;n&L|Pn0<U%".5467>;5!5!##"632#"&'73254&4632#"&"&'732654&#"'632f:/@>1]oPn .7Jbbcb;=9wKt1! !I[878d@/.-(17ENU L3( VGG ! KACWXF1DAN##L>0<9 CF84G{Pn0<V%".5467>;5!5!##"632#"&'73254&4632#"&"&54632.#"3267f:/@>1]oPn .7Jbbcb;=9wKt1! !FOVFEgP">1dA..-(4 L3( VGG ! KACWXF1DAN##F84G2Q0'HN D|An%0<U!".54>75!5!##"&54>32'>54&#"4632#"&"&'732654&#"'6323NuBHvEA'@E @:!A11?sf7F##,=! !I[878d@/.-(17ENU7gIF_1iGG<):J(*"<%%<"FW%!-)"+L>0<9 CF84G{An%0<V!".54>75!5!##"&54>32'>54&#"4632#"&"&54632.#"32673NuBHvEA'@E @:!A11?sf7F##,=! !FOVFEgP">1dA..-(47gIF_1iGG<):J(*"<%%<"FW%!-)"+F84G2Q0'HN DGg "&546323#BQQg4632.#"#.53XB!5&(*P{QCC B -#!<$#Log$4632.#"#.5374632#"&XB!5&(*P{QCC B -#!<$#Lom&&&$&Q,$0-#53.#"#.54632>32.#"13##YYW=7(*PTK,>B, 6&(*  ngQ'Ghc1+"7#@"AS  B -#>$G$0-9#53.#"#.54632>32.#"13##"&54632YYW=7(*PTK,>B, 6&(*  ngQ'Ghc1+"7#@"AS  B -#>$GEg. .'#"&'73267632.#":$E^"F9-1/;(? 6&(*g:Y^FDIC B -#!?$g. ,.'#"&'73267632.#"'4632#"&:$E^"F9-1/;(? 6&(*g:Y^FDIC B -#!?$m%g!.#"#".'732632'4632#"&(&  #9/B%+ %8+   gH4;7,,"VM""""%g1$.#"#".'732632>32.#"(&  #9/B%+  P5!4&)*gH4;7,,.. B -$ +F%g1$0.#"#".'732632>32.#"7"&54632(&  #9/B%+  P5!4&)*?gH4;7,,.. B -$ +F;gg.#"'632'4632#"&)2""'46O?!!!!gO[& I3{k""""gg3.#"'632632.#")2""'41<e 6&(*gO[& I"+M B -# /@gg3).#"'632632.#"7"&54632)2""'41<e 6&(*@gO[& I"+M B -# /@;Tg).#"'>327.#"'632'4632#"&-+*2-F&, '46O?!!!!g(% E +&49E3{k""""Tg3,.#"'>327.#"'632632.#"-+*2-F&, '4.Be 6&(*g(% E +&49E#*M B -# 0=Tg3,8.#"'>327.#"'632632.#"7"&54632-+*2-F&, '4.Be 6&(*@g(% E +&49E#*M B -# 0=;*&1&1&(&(4&(4&j&j6&j6&W&W6&W6&&JG&LG&Mg.54632.#"'4632#"&YB 6&(*g#L$CC B -#!?$m &&H8&H8&3H8&3'&&&&+& &&&J &'2_6&'H8&'@H8&'3@H8&'@3'&'2_&'2_&'2_&'2_+&'2_in/.54675!5!5!!>32'>54&#"##"8.N/-i9$@S"I'#68Qe15IG (PU1. HGGSM.h2) T)/.IH +1[9xZb%"&547#"#5#".54632.#"3267!5!#>;632>54&#".54632.'##5!#/.4QG2/S2nX91:@=(,E2n6'1'2@;/98^]GC/R3E=-T@3S%QY#$&M9P^I4/53*#GG=VA8C#FS:3@+U@Eu!'_,,H]j'GGxEks%"'#".54632.#"3267>32>54&#".54632.'#".'.54632>54'#5!!327##5!C'/K+`O6%077*-#'2@;/98^]GC/R3E=-T@3S%#)nDDI"%WE=K]qRQY 'F.IQE,,+) VA8C#FS:3@+U@Eu!'_,,H]} ,l_&";4)GG0QaYV3'GGenBN".547>;5!5!##">32##"'#".546;5.'73265474632#"&fD*;#:3_s( =PZL!,+4!",N >>=<5: F*. >GG   ?8 4 '8Y7%1D32f  Vn>JQ".546;5&'732654#".547>;5!5!##">32#5#4632#"&35#"'4%P:>>=<5_D*;#:3_s( =PZL0!)42'7{%B1D32 F*. >GG   ?80s"   \ n@S_%".5467>;5!5!##5#"&'>54'.#!"632#"&'73254&267!32%4632#"&f:/@>1]ohQB&Ov9B %&~ .7Jbbcb;=9wKt1&>6=17: L3( VGGcac'"  ! KACWXF1DAN##TpV/1<+ !!n">!##5#"&54675!23#"3267!#"&54675!23#"3267hPH2Mc$ :G:&2G5G.Mc$:G:&2FnG٥VG3HF1/+++#&VG3HF1/+++anHc!##"&5467.54632.#"632&"#"32>54&#".54675!#"&54675!23#"3267a3C2]Rab*/ZI4 #X,"# ^>4M~K.)"5:!QJ75$Y?Mc%$ :G:&/DnGJ TH:nX4S@-A+<@EA  FF(&?lE/>$ 3?S40D F1VG3HF1/++(an&nZo%2>54&#".54675!5!##5#"&'>54'.+"'#"&5467.54632.#"632&"#"323267(M~K.)"5:!QJ759hQC*Hv:B %&0' 2]Rab*/ZI4 #X,"# ^>#6=17:$)CF?lE/>$ 3?S40D FGGgac'" '1:nX4S@-A+<@EA  FF(&J/1<+!gn;!###"'#".'#"'#".'732654&'7332654&'7!5!hQ)$,)C(3[U)A)$,)C(5`X*G.d: )=-/g; )=-nGrP-.>8kP-.>=w"(,N@"(,N@nn0K5!##"632#"&'73254&#".5467>;5".'732654&'7!#"'n .7Jbbcb;=9wKt1.:/@>1]5`X*G.d: )=-~)$,)C'GG ! KACWXF1DAN## L3( V)=w"(,N@GP-.>nG%"&'732654&#"'>323267&'732654&'7!5!5!###"'#"&'#"#,U3E)YB7>9).AC] "F.d: *=-hQ(#-)D(=l239 =Mvjr]P4+.( H C?#'"(,N@nGGrP-.>Qb27n<%"&54>;5!5!##"3267#"3267#"&54>;5"m>kA K!EXC2S)9K!EXC2S)(l3m>kA YX9I#AGG  #7+K s  #7+KYX9I#"vHnV%"&54>;5!5!##"3267#"3267.#"3267#"&5467.54>;5"jz:gC`9OD;U&1>`9OD;U&J&;XD=7oJ331+9MS87Q[:gCON4B ;GG /%K o /$K  3I)#GL F G8*? MC4B -n1A".54>;5.54>;5!5!##"3267'2654&'#"Go??lCjz>kA -K!EXC1T)A#LX@mEGZ88)%?W%N=8I$#YV9I#AGG  #7+K 0[::I!G-0#: &12vDnIV%"&54>;5!5!##"3267.#"3267#"&5467.54>;254&'#"jz:gC-`9OD;U&8GLX_N8TA=7oJ331+9MS76V\?j@882F)ON4B ;GG /%K -R4DD 4F(#GL F G8)? KE3C!M0  !Sn2E5!##5#"&'>54'.+#"3267#".54>;5267!32gQD)Iu:B %&70@7,G*6L*,c5Em>Do?*C'6<17:'GGhac'" -&A0?J4bFAY.c hV/1<+Xn'7G".54>;5.54>;5!5!#2654&'#"2654&'#"'Hq@@nCGn?@nCXM[^JM[AnGI\:9*&AZMI\:9*&AZ%N=8I$#%N<8I$BGGH[:GL /[::I!-0#: &12-0#: &12wn)<K#5#"&'>54'.+"&'#"&54>;5!5!267!!22654&'#"QC)Iu:A &&#6w)B5=08:G^:9#J/!_'_ac'! !b;FW)qgC[.GGZ q^/1<*9=C0M7'FDPnJU"&5467.'732654#".547>;5!5!##">32#"&54632'23254#"NwseL3>>=<5_D*;#:3coPn( =PZ=A>(P<: KMFEkov=*'ZXJJ F;1D32 F*. >GG   ?8-C ?  $-1)=>':Gn<'PnR".547&'732654#".547>;5!5!##">32#"'>32#"&'732654fC+;R:><=<5_C+;#;2coPn'<O[_f%#;O[_fZ<><=<51 F+$%D1E4 4 F+/ @GG   @99K  @99KIF1E4 4vfnn%".547&'732654#".5467>;5!5!##">32#"'">32.#"3267#"&5467.'732654fI(8O::AD<5_I(8:1goPn! APZ^g"! APZHM7QA=7pI342*9MR>=Gy.:AD<5 B( #@2B1+ B(!  4GG{    :56D    :5/A 3F'#GL F G8,B C22B1+jn@S%".5467>;5!5!##5#"&'>54'.#!"632#"&'73254&267!32f:/@>1]ojhQC*Hv:B %& .7Jbbcb;=9wKt1)C16=17: L3( VGGgac'"  ! KACWXF1DAN##T!gV/1<+jn@SZ%".5467>;5!5!##5#"&'>54'.#!"632#"&'73254&267!3273'f:/@>1]ojhQC*Hv:B %& .7Jbbcb;=9wKt1)C16=17:E(;u L3( VGGgac'"  ! KACWXF1DAN##T!gV/1<+љ&An@KV"&54>35.54>35!5!##"&54632#"&5463223254#"23254#"7xBuLuBuLA>)P<; KMFDEE>)P<; KMFDjov=*'v=*'YY9I#!YX9I#@GG  $-1)=>'/A m  $-1)=>':G<'o<'an5HS!".54>75!5!##5#"&'>54'.#!"&54>32%267!32%>54&#"3NuBHvEahPD)Iu:A &&@E @:!A11?s)C5=17:17F##,7gIF_1iGGU`d'! <):J(*"<%%<"FWw!zh.2;*%!-)"+n.54675!5!5!###"U.N/hQt15JF (PV0-HGGH *1[9n!!#".54675t15JF6.N/nGG *1[94(PV0-Hx-1G#5#"&'>54&#".546323267#5!%!!467>;#".SQP7Uw_M/% QALI5)K0PJ:34J R F8-RDlY==JG6.O/'ٴa]G6233 F =:89#H8J\$#( GGGG#8G +1[94(PVx,08N%"&54632>54&#".54632.'!)##5!467>;#".#/$'2@;/98^]GC/R3E=-T@3S%<<{QYJRDlY==JG6.O/#VA8C#FS:3@+U@Eu!'_,,H]G'GG#8G +1[94(PVZn9Y"&5467.54632>7>;5!5!##"3:7&54632''3267#".'&#"632&"#" Z`&+YI!`;ٞ1:G/PS *+-"UF9Tj9+P3 2fM [,"  ),L:/:&9?%7_GG?5E#1 % )G,##\KC9<D!Zn>".546;5.5467>;5!5!##"3:7&54632'#"&'2"&1!`;1:GPT *+-"TEU  +&6WP<,?_GG. 5E#1 % Zn5AJ".5467&5467>;5!5!##"3:7.54632'7"&'>7327'9V0G="`;k1;GPT *+-"TE:*pY1f%/  5})G.=R%-,?_GG. 5E #1 % 0G!3$")Z%n]#"&'.546?'.#"3267#"&54>32767.5467>;5!5!##"3:7&54632's *"!''/@(963$4_;!`;%1:GPT *+-"TEJ;    T)+?<0(189X9*SD,?_GG. 5E#1 % Zzn3C".5467&5467>;5!5!##"3:7&54632''32>7#"&'8T/B9"_;uz1:G.OT *+-"TE9*mC+,H; 0c%'4})G.;O%0,?_GG>5E#1 % 0G1)&:  0ZynCVf".5467&5467>;5!5!##5#"&'>54'.+"3:7&54632'%267!3232>7#"&'8T/B9"_;uyhQC*Hv:B %&:G.OT *+-"TE9*m)C6=17:_C+,H; 0c%'4})G.;O%0,?_GG^ac'" >5E#1 % 0G!p_/1<+_1)&:  0Z&nf'#"&5467.54632'654&#"632&"#"3267#".5467>;5!5!##"3:7.54632E9TjAZ` >OM<2C;&&; (  (-9+Q4 *WI-!`<&0;GPT )*-!)G,L:#F=9K5+.&* $ D!##]J/N9,?_GG. 5E #1 % Z$nv.+"3:7.54632'#"&5467.54632'654&#"632&"#"3267#".5467>;5!5!##5#"&'>54267!32| %&;GPT )*-!UE9TjAZ` >OM<2C;&&; (  (-9+Q4 *WI-!`<$hQC*Hv:B])C6=17:o . 5E #1 % )G,L:#F=9K5+.&* $ D!##]J/N9,?_GG^ac'"!p_/1<+W*nG.'#".547.5467>;5!5!##"632&#"3:7.54632& ;5!5!##5#"&'>54'.#!"632&#"3:7.54632267!32& ;5!5!##5##";23d*$"$ B+3&@-;hQ-) S).&,) 5!- VGGa$!( 1&n:"&547.5467>;5!5!##5##"632.#"3267Uf&:*DhQE_ 0? &# ,>>;0Ov4 PC6(<(( VGGq4$2 # H-)*(TD7n7"&547.5467>;5!5!##"632.#"3267Uf&:*D 0? &# ,>>;0Pv448J] PC6(<(( VGG # H-)*(WD<93!.n<7".5463!67>;5!5!##"632#"&'73254&#".'#6&" >1].n .7Jbbcb;=9wKt1.:-?*< VGG ! KACWXF1DAN## H06.n& x;?#".5463!>54&#".546323267#5!##5#"&'!!6&"N@/% QALI5)K0PJ:34J R gQP7Os*6*<(D1233 F =:89#H8J\$#( GGٴUQDGx;?#".5463!>54&#".546323267#5!##5'7.'!!6&"N@/% QALI5)K0PJ:34J R gQ/Ea*6*<(D1233 F =:89#H8J\$#( GGٴAaPIDGx<@N##5#"&5467.54632'>54&#"632&"#"3267#53)!#".5463!hQI:M_/;R?5G(= (1# 299,5J>j/6&"'ٖQC2G854&#"632&"#"3267!!#".5463!%[GM_/;R?5G(= (1# 299,5J#/6&",QC2G854&#"632&"#"3267#53##5!!#".5463!/hQ#/6&"+AX J92G854&#".54632.'#"&547!)##5!6&"'2@;/98^]GC/R3E=-T@3S%#/KQY*6*<>VA8C#FS:3@+U@Eu!'_,,H]#DG'GGGn!.3"&'.546?>7&'.=#5!##52675#/+ %,OGhQ $F'G $  HBGGs+ %߇)0 x<@W_##5#"&5467.54632'>54&#"632&"#"3267#53)!#".54632.#"67%327'hQI:M_/;R?5G(= (1# 299,5J>?Z(`A8Y2yb4)C0# )'ٖQC2G832'>54&#"#5#"&'&'##".546;5#5!3&=#!3267':#AR#H (#59Q@+(@ *$"~mb, ()@'SM.h2) T)/.I%!',GGſ70"x-B235#5!##5##".'##".546;5#5!6!54&'&#".547#%:Ƀ;gQ.&*$"~y5 +/9KYixD>tGG%!.%!',G i/2G=@nT263267>;5!5!##"632#"&'73254&#".545&#"'67.#".54>,I!1]n .7Jbbcb;=9wKt1.:/@3.M 1(++R:6:`81I8VGG ! KACWXF1DAN## L3?=.#.$&EK142[]55Cn&gx-1V#5#"&'>54&#".546323267#5!%!!&#"'67.#".54>32632QP7Uw_M/% QALI5)K0PJ:34J R 2.M3 (++R:6:`81I%/N$8O 'ٴa]G6233 F =:89#H8J\$#( GGGG=92&.$&EK142[]55C"-n1=2.#"3267&'>54&'!5!##5#"&'#".5463267# '% 0>F@1,U></hQN31N9K34U2s6=12JI6230-)$+ /,0GGٳ&"'*K3V\11*46lwx4@#5#"&5'%32675.''>7.546325#53>54&#"_Q3G@Ya/"#0)<F7+[/0)M%5)UIBV-#S|@2!%("/"'PO%PDDC=()!%%9D+&H'5LI;+E GG6" "#6wx;G#5#".54632.#"32675.''>7.546325#53>54&#"_QB)1M,cQ9'3::,%<F7+[/0)M%5)UIBV-#S|@2!%("/"'PL'F/HQE-,+(%9D+&H'5LI;+E GG6" "#6-x?K5!##'67.#".'.''>7.54632>32675>54&#"`hQ5BM 0(++Q:58]96V#+[/0)M%5)UIBV-#= 1=+J"7X4".!%("/'GGc@M.#.$&EK14/XY1 9D+&H'5LI;+E #,3~666" "x3?!"'.546?>7&''>7.546325#5!##5>54&#"B&%!7/N"qV+[/0)M%5)UIBV-#,w7MgQ $d!%("/" $ &&9D+&H'5LI;+EGGi+6" "#6Wn!$+!".547.=#5!##"32675#67'=!TWhA6 6&*Ldq/7[n3FIP!".547.=#5!##5#"&'>54'.+#"3267%267!32%5#67'=!T[hQC)Iu:A &&mA6 6&*L q^/1<*q/7Wn&!\n#5!".5467.=#5!#5#6;'2654.'#",7hD!T\m(%0=l+74GHS 0!$=*F#J=)=?.GG#C/9G!dr-4=,1 * &%,un*=@HZ!".5467.=#5!##5#"&'>54'.+%267!32%5#6;'2654.'#",7hD!TuhQC)Iu:A &&(%0=l)B35=08:74GHS 0!$=*F#J=)=?.GG_ac'! 4#C/9G! q^/1<*r-4=,1 * &%,\n&$ x>[%.'.54632>54&'#5!6323267#5!##5#"&'#"&'7267>54&#".547#|68cL "%  )K0PJ:34J R gQP7Ej08*]!)o2)E(?5/% QAL 4*61dX$";0G #H8J\$#( GGٴA> 4n @-233 F =:.*> yx6S%.'.54632>54&'#5!6323267#"&'#"&'7267>54&#".547#|68cL "%  )K0PJ:33L%%aCEj08*]!)o2)E(?5/% QAL 4*61dX$";0G #H8I^##( C-A> 4n @-233 F =:.*> n/>J#5#"&'.'#"&'.'.54632>54&'#5!2674=#%#3267QD/(A;(*]!)o=68cL "% %=  4 2(F'ٿ#  4n161dX$";0GG .*> )0 &Xn7F3267#"&'.'#"&'.'.54632>54&'#5!2674=#D 2)G$(S;(A;(*]!)o=68cL "% %=  4')0 (D(#  4n161dX$";0GG .*> n.=I%7&'.'#"&'.'.54632>54&'#5!##52674=#%#3267ѩ6 ;(*]!)o=68cL "% hQΏ%=  4 1'H5d #  4n161dX$";0GGO .*> )0 &nAP[>32'>54&#"#5#"&'&'#"&'.'.54632>54&'#5!2674=#%3267p:#AR#H (#59Q@+(@ ;(*]!)o=68cL "% %=  4 ()@'SM.h2) T)/.I'  4n161dX$";0GG .*> 70")nFP.5467.5467>3!5!5!#!">;2#4&+#"'.=72>=#BY, ;) 6'S Q#5%I" )#L>@o=hg;"G5#( VGG  #?8r+218+b E+OW8)os(.)nG".546;54&+".5467.5467>;5!5!#!">;2#5#Y0""76)'VD6Ia1 ;)M 6'UQo"&6. E+LW;4>gg;"G5#( VGG  %=0)/n2D.5467.5467>;5!5!##5##".546;.#"##"632Ia1 ;)/hQ)$"5>gg;+C5#( VGGP$"',/:=A+LW;  bO)!n+G.5467.5467>;5!5!##5#"&'>54#"7267##">32Ia1 ;)!gQ?)Js9Bf'VD': 7!4U29/;>gg;"H5#( VGGDb \^!7~+LW;   8+25%)nV.5467.5467>3!5!5!#!">;2#5'67.#".54>326754&+"BY, ;) 6'WP/A !AI-K['=hg;"G5#( VGG  '; ;>4% !*H438l=(3 E+OW8)nT.5467.5467>;5!5!#!">;2#5#"&54632.#"326754&+"BY, ;)%Ф 6'O  Q;'FZZL2  %0/2+#8#76)#L>=hg;"G5#( VGG   /!V L=@KB&##" E+OW8n22675!5!#'>54&#"'67.#".54>,I!0D*ʤ(B;'E#3,#3.M 1(++R:6:`81I- GG JEFt53)`7-+?=.#.$&EK142[]55C@n&3n&3n&3'DLxKW2675!5!#'>54&#"'67.#".'.''>7.54632>>54&#"N,I!0Dx|(B;'E#3,#3.M 1(++R:68\:6V#+[/0)M%5)UIBV-#= 1=!%("/"- GG JEFt53)`7-+?=.#.$&EK14/XY1 9D+&H'5LI;+E #,!6" "#6n..'#"&54632>54&#"'675#5!###-7%0$( +C@2%=&=ChQCQG8/ #;" >12.FLGG'N RJ>[0n*.'#"&54632>54&#"'675#5!#-7%0$( +C@2%=&=CCQG8/ #;" >12.FLGGN RJ>[0|n&8<|n&9<n&*66n&'l*vn&LvnHT[i%2>54&#".54675!5!##"&5467.54632.#"632&"#"4632#"&73'.#"'632(M~K.)"5:!QJ759˴3C2]Rab*/ZI4 #X,"# ^>! !Y(;u2eD  CfP!F?lE/>$ 3?S40D FGGJ TH:nX4S@-A+<@EA  FF(&""!!Q&?<H/H%.xD235#5!!>32'>54&#"#5##".546;54&'&#".546%:Ȃ:#AR#H '#69Q*$! +/9KYLxD>tGGSM.h2) T)/.I%!',i/2G=@;5.x&@E.x;235#5!#>;#"#5##".546;54&'&#".546%:Ȃz6'@3.5Q*$! +/9KYLxD>tGGG%!',i/2G=@;5.x&BE.xH-5##".546;54&'&#".5463235#5!!>32'>54&#"#5 *$! +/9KYL4%:Ȃ:#AR#H '#69Q+-%!',i/2G=@;5D>tGGSM.h2) T)/.Iz.@x&D.x?-5##".546;54&'&#".5463235#5!#>;#"#5 *$! +/9KYL4%:Ȃz6'@3.5Q+,%!',i/2G=@;5D>tGGGz.@x&FXq,.'#"&54632>7#"'.=3326?b#<&1$+ &1.54&'.+"'&5467#5!#;2e `.+,(11 >)+7-('J6k8HH9o.& *"4Rm2%>54'.+"'&546732654'7#"';2n2b,+-E3B$Q6AAD >D+7- (%L/`%! 3D).Y'( *"4#53.54632#&$#"3##YYP +Se mgQ'G0!SXJPel6A+G;#53.54632#.#"3##YYRdUs=P5tI7< mgQ'G7HYkg7/0Gm#53.54632#.#"3##YYRi[}CQ=P+Gd#53.54632#&$#"3##YYP Pcô mgQ'G0!SXIQel7?+G&K,&L,&M,&N:,&Oj,W&P,~&Q,&R,&S,&TS,8&U,m&V, -#53.54632&54632.#"#&$#"3##YYP GzYB 6&(*X mgQ'G0!SX^MCC B -#!?$el6A+G,#53.54632>32.#"#.#"3##YYRdUAk, O6 6&(+ P5tI7< mgQ'G7HY/../ B -#!'kg7/0G+#53.54632>32.#"#.#"3##YYRi[K{4 R: 6&(*V=P32.#"#&#"3##YYP ta[AU@ 6&(*VFO lgQ'G2N^B;>? B -#!?$;3-Gv*#53.54632>32.#"#&#"3##YYP zfgGXA 6&(*VMV lgQ'G1O^F>BB B -#!?$;5,G,#53.5463254632.#"#.#"3##YYP mtNXB 6&(*U[qU\ lgQ'G1O]I@CC B -#!?$gj;6,G-#53.54632454632.#"#.#"3##YYP sTXB 6&(*Vb|\c lgQ'G1P\LCCC B -#!?$gj:8+G-#53.54632&54632.#"#.#"3##YYP y[XB 6&(*Vjdh lgQ'G1P\PECC B -#!?$fk:9+GA,#53.54632&54632.#"#&$#"3##YYP aXB 6&(*Vq lgQ'G1Q[SG CC B -#!?$fkt,Gs-#53.54632&54632.#"#&$#"3##YYP gXB 6&(*Vxsu lgQ'G1RZVH CC B -#!?$el8<,G-#53.54632&54632.#"#&$#"3##YYP !mXB 6&(*Vթ|z lgQ'G0 SYYICC B -#!?$el7>+G-#53.54632&54632.#"#&$#"3##YYP 4sXB 6&(*Wô mgQ'G0!SX\KCC B -#!?$el7?+G -9#53.54632&54632.#"#&$#"3##"&54632YYP GzYB 6&(*X mgQc'G0!SX^MCC B -#!?$el6A+G,8#53.54632>32.#"#.#"3##"&54632YYRdUAk, O6 6&(+ P5tI7< mgQ'G7HY/../ B -#!'kg7/0G+7#53.54632>32.#"#.#"3##"&54632YYRi[K{4 R: 6&(*V=P32.#"#&#"3##"&54632YYP ta[AU@ 6&(*VFO lgQ'G2N^B;>? B -#!?$;3-Gv*6#53.54632>32.#"#&#"3##"&54632YYP zfgGXA 6&(*VMV lgQ'G1O^F>BB B -#!?$;5,G,8#53.5463254632.#"#.#"3##"&54632YYP mtNXB!5&(+U[qU\ lgQ'G1O]I@CC B -#!?$gj;6,G-9#53.54632454632.#"#.#"3##"&54632YYP sTXB 6&(*Vb|\c lgQ2'G1P\LCCC B -#!?$gj:8+G-9#53.54632&54632.#"#.#"3##"&54632YYP y[XB 6&(*Vjdh lgQe'G1P\PECC B -#!?$fk:9+GA,8#53.54632&54632.#"#&$#"3##"&54632YYP aXB 6&(*Vq lgQ'G1Q[SG CC B -#!?$fkt,Gs-9#53.54632&54632.#"#&$#"3##"&54632YYP gXB 6&(*Vxsu lgQ'G1RZVH CC B -#!?$el8<,G-9#53.54632&54632.#"#&$#"3##"&54632YYP !mXB 6&(*Vթ|z lgQ'G0 SYYICC B -#!?$el7>+G-9#53.54632&54632.#"#&$#"3##"&54632YYP 4sXB 6&(*Wô mgQ0'G0!SX\KCC B -#!?$el7?+G#53.#"#&546323##YYV&S>.1 P"ZObz0mgQ'Gib4,!7@@DUG#53.#"#.546323##YYU0jE49 R`Um8mgQ'Ghc6.!5,J&~0,0*#53.#"#&54632>32.#"3##YYV&S>.2 P"[Oe@I/!5&)*mgQ'Gib4,!7@@DUI$% B -# +8G0+#53.#"#.54632>32.#"3##YYU0jE4: RaU>b) N5!5&)*ggQ'Ghc6.!532.#"3##YYQ@K To^S:U=!5&)*ggQ'G92!17 L\<79: B -#<"G0*6#53.#"#&54632>32.#"3##"&54632YYV&S>.2 P"[Oe@I/!5&)*mgQ'Gib4,!7@@DUI$% B -# +8G0+7#53.#"#.54632>32.#"3##"&54632YYU0jE4: RaU>b) N5!5&)*ggQ'Ghc6.!532.#"3##"&54632YYQ@K To^S:U=!5&)*ggQ'G92!17 L\<79: B -#<"G &= &=w "&'732654&#"'>32Sz7=5A.).&"$!4CIQWQ+)?#'#"A N>=N &_ &_H& H& HvB&!HvB&!.v-?vE&?vE&?v&@.v@v&@ 632.#"4632#"&DeO"92eD  ! !,3V3)PK""""@ "&'73267%4632#"&7\D56C[   'B""B'0""!!@ '"&'73267%4632#"&"&'732677ZD56C]   B7X&F+,F%X&B!!B'""!!m BB bn.:".547>;5!5!##">32#"&'73265474632#"&fD*;#:3_s( =PZ^gZ<>>=<5: F*. >GG   ?88JHE1D32f  cnH%2>54&#".54675!5!##"&5467.54632.#"632.#"(M~K.)#3;5!5!#sK!EXC1T)(l3m>kA   #7+KYX9I#AGGXn&%".54>;5!5!#'2654&'#"'Hq@@nCXM[AoFI\:9*&AZ%N=8I$BGGH[::I!G-0#: &12bPn.".547>;5!5!##">32#"&'732654fD*;#:3coPn( =PZ^gZ<>>=<5 F*. >GG   ?88JHE1D32An"-%"&54>35!5!##"&54632'23254#"6wBuLA>)P<; KMFDknv=*'YY9I#@GG  $-1)=>':Gn<'n -;5!##"&'#".54>32>7532654&#"326?5.#"4D_Q6O& I./M.-P36O&:#W;"*?7%(26%&6:"*?'GGRRAG]&(&K61J)%!M*-24*-23+--*-jn22675!5!#'>54&#"'67.#".54>2L!0F*ʤ(B)E ,#3.M /(+D:-GT#/D+ XGG\ HA,Y62&G)*85%&/4$<*JI&/:n.:F".547>;5!5!##">32#"&'73265474632#"&4632#"&fD*;#:3_s( =PZ^gZ<>>=<5:_! ! F*. >GG   ?88JHE1D32f  ""!!n&/n+#"3267#"&54>;5!5!#4632#"&sK!EXC1T)(l3m>kA ! !  #7+KYX9I#AGGB""!!Xn&2%".54>;5!5!#'2654&'#"4632#"&'Hq@@nCXM[AoFI\:9*&AZ! !%N=8I$BGGH[::I!G-0#: &12""!! Pn.:".547>;5!5!##">32#"&'7326544632#"&fD*;#:3coPn( =PZ^gZ<>>=<5z! ! F*. >GG   ?88JHE1D32""!!&An"-9%"&54>35!5!##"&54632'23254#"4632#"&6wBuLA>)P<; KMFDknv=*'! !YY9I#@GG  $-1)=>':Gn<'""!!n&n&x&>7.54632.'7>54&#")M%5)UIBV-#!g:&]T+[/!%("/"+&H'5LI;+E H 96" "#64!"&'732654&#"'632''73X}747^@-*+'13N.(u1$(SF7375 CaB 8&1D4v!"&'732654&#"'632''73X}747^@-*+'13N.(u1$(SvF7375 CaB 8&1Dv -4632#"&"&'732654&#"'632''73! !$X}747^@-*+'13N.(u1$(S ""!!F7375 CaB 8&1DI6 73'"&54632.#"3267I(u;XCMQEBcM"=._>,,+&2'nC51C/M.'DI CIv6 73'"&54632.#"3267I(u;XCMQEBcM"=._>,,+&2'nC51C/M.'DI Cv6 ,4632#"&73'"&54632.#"3267! !-(u;XCMQEBcM"=._>,,+&2 ""!!G'nC51C/M.'DI C.73'#"&54673267.(;ulC)OQYX:41#1!' A4/OB.v73'#"&54673267.(;ulC)OQYX:41#1!' A4/OBv &4632#"&73'#"&54673267! !(;ulC)OQYX:41#1! ""!!Y' A4/OBIv+73'#"'3267#"&547&54673267I(u;XLC) Q 0"C)OP7YX?/+& 0"'n  , ? C3"<+CB.v-C%73'23267#"&5467654&#"'>7.#".54>32>c(u;X8&=+)5 ;C8> 6F #GA.IY':"::u'nn-&0 < 7,#5 #7  !;+25X7$-.vT%73'"'3267#"&547.5467.#"'>7.#".54>32>323267c(u;Xm !'5 M"d&~'B!!B'  4632#"&73'"&'73267! !-(;fAd#L=>M"d*""!!=&~'B!!B'Xv"73'"&'73267"&'73267\(:b=]  I:;H!c;=[")K/0K)![ho+iiy%??&h??v  .4632#"&73'"&'73267"&'73267! !T(:b=]  I:;H!c;=[")K/0K)![*""!!%o+iiy%??&h??9vvv B%"'3267#"&547.54673267j Q 0"C)OQYX?/+& /"C " 1 4& #!32 0 .-;'2"3267#"&5467654&#"'67.#".54>32>h8&80)5 ;C:@ 5F #"BE+I[':"9;$&  1 -#+ . .#*(F/%.I"'3267#"&547.5467&#"'67.#".54>32>323267 !%5 32&"#"3:7&54632 @k@&*Qq*%=%# .G# *'1$:8?2+"3(( BGG # GJ!! . *.<nZ"&'.546?'.#"3267#"&54>32767.5467>;5!5!##"3:3&54632'T(!''/@(963 T@P% Z4<1i0/PS *+-"=E= N   J)+?<0(189N# OH,?NGG6.;"1 % i g,.54632.#"7"&54632"&'73267SB/"(&$d2J7="$ <Gg$K$CC B , B'oR^L= &4632#"&##5353&'73267#"'3WQYY6 @715-D[GR3gT'G'B@E>^L=G (4632#"&7#"'#"&'73267&'732674VCU3Z;Bf"G=.31@3-1) W"XIF?5PV=:?9 =^L%5gg '4632#"&.#"'63273267#"'`I)2""'42$9715-D[G+!TO[& IB@E>^L,<Tg 64632#"&.#"'>327.#"'63273267#"'`S-+*2-F&, '42$9715-D[G+!T(% E +&49EB@E>^L,<&([ 74632#"&##53.#"#".'73267&'73267#"'3w3QYW'%  #9/B%+  @715-D[G  nT'GD1;7,,"B@E>^L+Gj 04632#"&##53.#"'63273267#"'3QYX)2!"'42$9715-D[G+!nT'GLX% IB@E>^L3GW ?4632#"&##53.#"'>327.#"'63273267#"'3QYK+**2-F&, '42$9715-D[G+!nT'G$# E +&49EB@E>^L3G N4632#"&##53.#"#".'732632654&/.=7&'73267#"'3.QYB) 60B($  0%  7.F$ @715-D[G WT'G(25085  35   B@E>^L,G 94632#"&#53.54632&'73267#"'#&$#"3##3&YP =x3@715-D[G)!$Ae mgQTG0!SXVG)]B@E>^L3el6A+G 74632#"&#53.54632&'73267#"'#.#"3##BYRdU\G@715-D[G P5tI7< mgQTG7HY/ B@E>^L *7kg7/0G" 84632#"&#53.54632&'73267#"'#.#"3##>YRi[8a*@715-D[GQ=P^L+5jh900Gf 74632#"&#53.54632&'73267#"'#&#"3##YP taI8 @715-D[G$ TFO lgQTG2N^*' B@E>^L+4;3-G 74632#"&#53.54632&'73267#"'#&#"3##YP zfV@ @715-D[G(#UMV lgQTG1O^1-(B@E>^L+5;5,G 84632#"&#53.54632&'73267#"'#.#"3##oYP miI@715-D[G&-(W[qU\ lgQTG1O]<6%6B@E>^L -8gj;6,G 84632#"&#53.54632&'73267#"'#.#"3##HYP spN@715-D[G-(Yb|\c lgQTG1P\;4$4B@E>^L+5gj:8+G 84632#"&#53.54632&'73267#"'#.#"3##9 YP yyS@715-D[G/)[jdh lgQTG1P\;3#4B@E>^L*3fk:9+GJ 74632#"&#53.54632&'73267#"'#&$#"3##fYP Y@715-D[G1+\q lgQTG1Q[=5$7B@E>^L*2fkt,G 84632#"&#53.54632&'73267#"'#&$#"3##YP b@715-D[G6._xsu lgQTG1RZD:'@B@E>^L*4el8<,G 84632#"&#53.54632&'73267#"'#&$#"3##YP  h"@715-D[G:1aթ|z lgQTG0 SYH=(FB@E>^L+4el7>+G 94632#"&#53.54632&'73267#"'#&$#"3##YYP $p*@715-D[G# ;cô mgQTG0!SXOC*QB@E>^L 2el7?+G$n 54632#"&.5463273267#"'3###53.#"TK,!+715-D[G ngQYW=7(*T#@"ASB@E>^L&1G'Ghc1+"7[ 44632#"&#53.#"#&5463273267#"'3##wYV&S>.1 P"ZO4)3715-D[GmgQTGib4,!7@@DUB@E>^L%/G[ 64632#"&#53.#"#.54632'73267#"'3##wYU0jE49 R`UF7@715-D[GmgQTGhc6.!5^L&/GJ[ 74632#"&#53&#"#.54632&'73267#"'3##wYQ@J Tn^Br2 @715-D[G lgQTG92!17 L\&#B@E>^L (2Gg"0&54632.#"!53%"&54632"&'73267P?TB0")%#Q1K8*!!% <GgHKCC B , B'oR32.#"7"&54632"&'73267(&  #9/B%+ L5/"(&x2J7="$ <GgH4;7,,,, B , -VoR32.#"7"&54632"&'73267)2""'40:=*/"($|2J7="$ <GgO[& I ($$ B -#5MoR327.#"'632>"&54632"&'73267C/"'%  U-+*2-F&, '4-@ =2J7="$ <G B -#@&(% E +&49E!(%$R32.#"#&#"3##"&54632"&'73267YYP taV>N=/"(&$VFO lgQ2J7="$ <G'G2N^;689 B , B';3-GR32.#"#&#"3##"&54632"&'73267YYP zfbFP>/#(&$UMV lgQ2J8* "$ =G'G1O^?9<< B , B';5,GR32.#"#.#"3##"&54632"&'73267YYP mnKS@0#(%#U[qU\ lgQ22J8*!!% =G'G1O]B;>? B , B'gj;6,GR32.#"#.#"3##"&54632"&'73267YYP s|RSA/#(%#Vb|\c lgQe2J8* "$ =G'G1P\F>BB B , B'gj:8+GR+GR32.#"3##"&54632"&'73267YYS>5(*PTK,=A- ."('rgQ1K8*!!% <G'Ggd1+"7#@"AS'!" B -#0BGR32&#"3##"&54632"&'73267YYV&S>.2 P"[OeAD0-!")%mgQ1K8=!% <G'Gib4,!7@@DUI$% B-# +8GR32.#"3##"&54632"&'73267YYU0jE4: RaU>b) I5 -")%ggQ1K8=!% <G'Ghc6.!532.#"3##"&54632"&'73267YYQ@K To^S:S:0")%ggQ1K8=!% <G'G92!17 L\<79: B -#<"GR%73"3267#"&5467654&#"'67.#".546?67IKj080)5 ;C:@ 5F #"BE+I[n3*"- y$"&  1 -#+ . .#*(F/ UF,FL"'3267#"&547.5467&#"'67.#".5467'73326767 !%5 73.a 0;4 5~71#R3#1RRHy 74632#"&H$%%$6%%$ *ZA3#1RSA0 "&54>32'2654&#"sp-dRtq-eSK@@KK>> ítWsXLW[ !467'73H/I*e!;<6/?>54&#"'>32!!/1E&@3.K"2'g@^n,M2PCL5TR19>&:#1fY7b`5Q()"&'532654&+532654&#"'>325_)+b.ZSdVAAPTC74P$-%lDilUEVZ SKBB5#UD\hhV ɠN#Q%QG4@ "&'532654&#"'!!>322\ =BMWVRC,Q7Ag= T JOGI PQ/]Ep7-".54>32.#"3>32'2654&#" Aj>(FmN1+BU1H:\oue;I@A,B$ @ Dk>xkS/L.Oh:#0qhoKPUDO'; +T7,!5!#_yQG}4'3"&5467.54>32>54&#"2654&'kuQ90C8\57[7I7&E,9dB/B=64=A/EFIM=?A gYI[U@9L&&L:AR5G07##"&546322>54.#"0+BV0I:\oudBi>(Fm,B$ ?0:JA L.Oh:#0rgpDk=ykS/['<,S7PUDOU& "&54632"&54632$$$$$$$$ $&&$ T $&&$ ,& "&54632#>7$$$$ 0C $&&$ 5~7;42M85% 2g1NN2!!!!2==II2M87-52g=N1G+754>7>54&#"'>324632#"&% '96(J"(\/[i/#!$[$$$$&72*0"/:G`V+@6)( &&$ lZ.@3#3#lrr@FF*Z@3#*RR@6Z@3#53#6qq`ZF  3# #2NO=gb!!aZD,ZQ@26=467.=4&#,=475&=4&'53[<>aJ*/jj/*Ja><()1K@H.cc.HAK1)26323267#".'.#"21H (%(<0I '$'<O5  "O5  "(W!!(\WR(W!!(hWRR'>73Y/C 5~7<4Q#>7 0C 5~7;3S'>733'>73Z/C[/C 5~7<4 5~7<4Q#>7##>7 0C[ 0C 5~7;3 5~7;3Hz #"&54632!"&54632!"&54632$$$$$$$$$$$$ $&&$ $&&$ $&&$ Es '7'77233233222_. "&54632!!"&54632!!!!=!!!! "" MI "" 1#RHn3&'.+5!#3##'7326767#H+&B TTf ,12$ GG (H?O G"& x1 x{&  y.&  zc&  x4K&  y#W&  z+ &  {A&  |-F&  y&w" yC& 2 7 6%& $6I'$&,'\W.#"'>54.54632~&%*$^YY?SG,E15P|DmCK_Ui[QX Rr7'7'37'Gpu > uqH433a 7 vv 7 akkx4@#"&54675.''>7.546325#53#3267>54&#"C)KU00B:+[/0)M%5)UIBV-#*q4@g:42 /">!%("/" O?)D %9D+&H'5LI;+EGGB,!"-6" "#6HN&J3g,8.#"#".'732632654&/.=7'4632#"&+ 60B($  0%  7.F$)1! !g-25085  35   ,31""""g F4632#"&.#"#".'732632654&/.=7&'73267#"'++ 60B($  0%  7.F$ @715-D[GT-25085  35   B@E>^L1gD%;.'&/.5<?>32.#"#.#"#".'732632*7/F# P7!5&(** 7/B($  1% g315  .. B -#!?$-250<9gD%;G.'&/.5<?>32.#"#.#"#".'73263274632#"&*7/F# P7!5&(** 7/B($  1% g315  .. B -#!?$-250<9mg$:FS&'&/.5<?>32.#"#.#"#".'7326327"&54632"&'732670 7/F# L6/"(&$* 7/B($  1% 2J7="$ <Gg7; 15  -, B , B'-250<9oR32'>54&#"#".5467.#"#".54675#5Yt  Pa,#G>P .6&"L27%.${nGCA<1R45_'E*2? 2(8##U(8& PGhn<G!632#"&54632#".54>;.#"#".54675#52654&#"/*&OyDV;jA;3 JIJEseIqAKXiQ)(*$$28G##,nGW0aH (996: %(3MM2CW1\@EX*MGS&*! eG#-'(<n#4##5#"&'>54.#"#".54675#5267!632%)(*$$2&=M*&by17:nG^ac'" S&*! eGsW=J1<+&4j  M {"Q  0 y   -;K  h   6 ") _   D *% (g ` >9 < " 4  v] "' Copyright 2015-2021 Google LLC. All Rights Reserved.Copyright 2015-2021 Google LLC. All Rights Reserved.Noto SansNoto SansRegularRegular2.007;GOOG;NotoSans-Regular2.007;GOOG;NotoSans-RegularNoto Sans RegularNoto Sans RegularVersion 2.007Version 2.007NotoSans-RegularNotoSans-RegularNoto is a trademark of Google LLC.Noto is a trademark of Google LLC.Monotype Imaging Inc.Monotype Imaging Inc.Monotype Design TeamMonotype Design TeamDesigned by Monotype design team, Irene Vlachou.Designed by Monotype design team, Irene Vlachou.http://www.google.com/get/noto/http://www.google.com/get/noto/http://www.monotype.com/studiohttp://www.monotype.com/studioThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFLThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFLhttp://scripts.sil.org/OFLhttp://scripts.sil.org/OFLiota adscriptiota adscriptAccented Greek SCAccented Greek SCTitling Alternates I and J for titling and all cap settingsTitling Alternates I and J for titling and all cap settingsflorin symbolflorin symbolj2R  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a  bcdefghjikmlnoqprsutvwxzy{}|~    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgNULLCRuni00A0uni00AD overscoreuni00B2uni00B3uni00B5uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccentuni0122uni0123 Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflexuni0136uni0137 kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146Ncaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188Dtailuni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191fhookuni0193 Gammalatinuni0195 Iotalatinuni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhorn Upsilonlatinuni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3uni01E4uni01E5Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F0uni01F1uni01F2uni01F3uni01F4uni01F5uni01F6uni01F7uni01F8uni01F9 Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217uni0218uni0219uni021Auni021Buni021Cuni021Duni021Euni021Funi0220uni0221uni0222uni0223uni0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0234uni0235uni0236uni0237uni0238uni0239uni023Auni023Buni023Cuni023Duni023Euni023Funi0240Glottalstopcasedglottalstopcaseduni0243uni0244uni0245uni0246uni0247uni0248uni0249uni024Auni024Buni024Cuni024Duni024Euni024Funi0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269 iotaserifeduni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFuni02B0uni02B1uni02B2uni02B3uni02B4uni02B5uni02B6uni02B7uni02B8uni02B9uni02BAuni02BBuni02BCuni02BDuni02BEuni02BFuni02C0uni02C1uni02C2uni02C3uni02C4uni02C5uni02C8 macronmodacutemodgravemoduni02CCuni02CDuni02CEuni02CFuni02D0uni02D1uni02D2uni02D3uni02D4uni02D5uni02D6uni02D7uni02DEuni02DFuni02E0uni02E1uni02E2uni02E3uni02E4uni02E5uni02E6uni02E7uni02E8uni02E9uni02EAuni02EBuni02ECuni02EDuni02EEuni02EFuni02F0uni02F1uni02F2uni02F3uni02F4uni02F5uni02F6uni02F7uni02F8uni02F9uni02FAuni02FBuni02FCuni02FDuni02FEuni02FF gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312uni0313uni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0321uni0322 dotbelowcombuni0324uni0325uni0326uni0327uni0328uni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033Funi0340uni0341uni0342uni0343uni0344uni0345uni0346uni0347uni0348uni0349uni034Auni034Buni034Cuni034Duni034Euni034Funi0350uni0351uni0352uni0353uni0354uni0355uni0356uni0357uni0358uni0359uni035Auni035Buni035Cuni035Duni035Euni035Funi0360uni0361uni0362uni0363uni0364uni0365uni0366uni0367uni0368uni0369uni036Auni036Buni036Cuni036Duni036Euni036Funi0370uni0371uni0372uni0373uni0374uni0375uni0376uni0377uni037Auni037Buni037Cuni037Duni037Euni037Ftonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9 IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhouni03C2sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03CFuni03D0uni03D1uni03D2uni03D3uni03D4uni03D5uni03D6uni03D7uni03D8uni03D9uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03F0uni03F1uni03F2uni03F3uni03F4uni03F5uni03F6uni03F7uni03F8uni03F9uni03FAuni03FBuni03FCuni03FDuni03FEuni03FFuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0460uni0461uni0462uni0463uni0464uni0465uni0466uni0467uni0468uni0469uni046Auni046Buni046Cuni046Duni046Euni046Funi0470uni0471uni0472uni0473uni0474uni0475uni0476uni0477uni0478uni0479 Omegaroundcy omegaroundcy Omegatitlocy omegatitlocyOtcyotcyuni0480uni0481uni0482uni0483uni0484uni0485uni0486uni0487uni0488uni0489uni048Auni048Buni048Cuni048Duni048Euni048Funi0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CEuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni04FAuni04FBuni04FCuni04FDuni04FEuni04FFuni0500uni0501uni0502uni0503uni0504uni0505uni0506uni0507uni0508uni0509uni050Auni050Buni050Cuni050Duni050Euni050Funi0510uni0511uni0512uni0513uni0514uni0515uni0516uni0517uni0518uni0519uni051Auni051Buni051Cuni051Duni051Euni051Funi0520uni0521uni0522uni0523uni0524uni0525uni0526uni0527 Enlefthookcyuni0529uni052Auni052Buni052Cuni052Duni052Euni052Fbinducandradevacandrabindudeva anusvaradeva visargadeva ashortdevaadevaaadevaidevaiidevaudevauudeva rvocalicdeva lvocalicdeva ecandradeva eshortdevaedevaaideva ocandradeva oshortdevaodevaaudevakadevakhadevagadevaghadevangadevacadevachadevajadevajhadevanyadevattadevatthadevaddadevaddhadevannadevatadevathadevadadevadhadevanadevannnadevapadevaphadevabadevabhadevamadevayadevaradevarradevaladevalladevallladevavadevashadevassadevasadevahadevaoevowelsigndevaooevowelsigndeva nuktadeva avagrahadevaaavowelsigndevaivowelsigndevaiivowelsigndevauvowelsigndevauuvowelsigndevarvocalicvowelsigndevarrvocalicvowelsigndevaecandravowelsigndevaeshortvowelsigndevaevowelsigndevaaivowelsigndevaocandravowelsigndevaoshortvowelsigndevaovowelsigndevaauvowelsigndeva viramadevauni094Eawvowelsigndevaomdeva udattadeva anudattadevauni0953uni0954candralongevowelsigndevauevowelsigndevauuevowelsigndevaqadevakhhadevaghhadevazadeva dddhadevarhadevafadevayyadeva rrvocalicdeva llvocalicdevalvocalicvowelsigndevallvocalicvowelsigndeva dandadeva dbldandadevazerodevaonedevatwodeva threedevafourdevafivedevasixdeva sevendeva eightdevaninedevaabbreviationsigndevauni0971 acandradevaoedevaooedevaawdevauedevauuedevamarwariddadevazhadeva heavyyadeva gabardeva jabardevauni097D ddabardeva babardevauni1AB0uni1AB1uni1AB2uni1AB3uni1AB4uni1AB5uni1AB6uni1AB7uni1AB8uni1AB9uni1ABAuni1ABBuni1ABCuni1ABDuni1ABE wbelowcombwturnedbelowcomb veroundedcydelongleggedcy onarrowcyeswidecytetallcytethreeleggedcyhardsigntallcy yattallcy ukunblendedcyuni1CD0uni1CD1uni1CD2uni1CD3uni1CD4uni1CD5uni1CD6uni1CD7uni1CD8uni1CD9uni1CDAuni1CDBuni1CDCuni1CDDuni1CDEuni1CDFuni1CE0uni1CE1uni1CE2uni1CE3uni1CE4uni1CE5uni1CE6uni1CE7uni1CE8uni1CE9uni1CEAuni1CEBuni1CECuni1CEDuni1CEEuni1CEFuni1CF0uni1CF1uni1CF2uni1CF3uni1CF4uni1CF5uni1CF6uni1CF8uni1CF9uni1D00uni1D01aeturned Bbarredsmalluni1D04uni1D05Ethsmalluni1D07 eturnedopeniturneduni1D0Auni1D0B Lstrokesmalluni1D0DNreversedsmalluni1D0F Oopensmall osideways osidewaysopenoslashsidewaysoeturneduni1D15otophalf obottomhalfuni1D18Rreversedsmall Rturnedsmalluni1D1Buni1D1C usidewaysudieresissidewaysmsidewaysturneduni1D20uni1D21uni1D22Ezhsmallspirantvoicedlaryngealuni1D25uni1D26uni1D27uni1D28uni1D29uni1D2Auni1D2Buni1D2CAEmoduni1D2E Bbarredmoduni1D30uni1D31 Ereversedmoduni1D33uni1D34uni1D35uni1D36uni1D37uni1D38uni1D39uni1D3A Nreversedmoduni1D3Cuni1D3Duni1D3Euni1D3Funi1D40uni1D41uni1D42uni1D43 aturnedmoduni1D45 aeturnedmoduni1D47uni1D48uni1D49uni1D4Aeopenmodeturnedopenmoduni1D4D iturnedmoduni1D4Funi1D50uni1D51uni1D52oopenmod otophalfmodobottomhalfmoduni1D56uni1D57uni1D58 usidewaysmod mturnedmoduni1D5Buni1D5Cuni1D5Duni1D5Euni1D5Funi1D60uni1D61uni1D62uni1D63uni1D64uni1D65uni1D66uni1D67uni1D68uni1D69uni1D6Auni1D6Buni1D6Cuni1D6Duni1D6Euni1D6Funi1D70uni1D71uni1D72uni1D73uni1D74uni1D75uni1D76uni1D77uni1D78uni1D79uni1D7Aiotaserifedstrokeuni1D7Cuni1D7D Usmallstrokeuni1D7Funi1D80uni1D81uni1D82uni1D83uni1D84uni1D85uni1D86uni1D87uni1D88uni1D89uni1D8Auni1D8Buni1D8Cuni1D8Duni1D8Euni1D8Funi1D90uni1D91uni1D92uni1D93uni1D94uni1D95uni1D96uni1D97uni1D98uni1D99uni1D9Auni1D9Buni1D9Cuni1D9Duni1D9Eereversedopenmoduni1DA0uni1DA1uni1DA2uni1DA3uni1DA4uni1DA5iotaserifedmodiotaserifedstrokemoduni1DA8uni1DA9uni1DAAuni1DABuni1DACuni1DADuni1DAEuni1DAFuni1DB0uni1DB1 phimodlatinuni1DB3uni1DB4uni1DB5uni1DB6uni1DB7uni1DB8uni1DB9uni1DBAuni1DBBuni1DBCuni1DBDuni1DBEuni1DBFuni1DC0uni1DC1uni1DC2uni1DC3uni1DC4uni1DC5uni1DC6uni1DC7uni1DC8uni1DC9uni1DCAuni1DCBuni1DCCuni1DCDuni1DCEuni1DCFuni1DD0uni1DD1uni1DD2uni1DD3uni1DD4uni1DD5uni1DD6uni1DD7uni1DD8uni1DD9uni1DDAuni1DDBuni1DDCuni1DDDuni1DDEuni1DDFuni1DE0uni1DE1uni1DE2uni1DE3uni1DE4uni1DE5uni1DE6uni1DE7uni1DE8uni1DE9uni1DEAuni1DEBuni1DECuni1DEDuni1DEEuni1DEFuni1DF0uni1DF1uni1DF2uni1DF3uni1DF4uni1DF5kavykaaboverightcmbkavykaaboveleftcmbdotaboveleftcmbwideinvertedbridgebelowcmbdeletionmarkcmbuni1DFCuni1DFDuni1DFEuni1DFFuni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E14uni1E15uni1E16uni1E17uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E2Euni1E2Funi1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Auni1E7Buni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Auni1E9Buni1E9Cuni1E9Duni1E9Euni1E9Funi1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni1EFAuni1EFBuni1EFCuni1EFDuni1EFEuni1EFFuni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEuni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni200Buni200Cuni200Duni200Euni200Funi2010uni2011 figuredashuni2015uni2016 underscoredbl quotereverseduni201Funi2023onedotenleadertwodotenleaderuni2027uni2028uni2029uni202Auni202Buni202Cuni202Duni202Euni202Funi2031minuteseconduni2034uni2035uni2036uni2037uni2038uni203B exclamdbluni203Duni203Euni203Funi2040uni2041uni2042uni2043uni2045uni2046uni2047uni2048uni2049uni204Auni204Buni204Cuni204Duni204Euni204Funi2050uni2051uni2052uni2053uni2054uni2055uni2056uni2057uni2058uni2059uni205Auni205Buni205Cuni205Duni205Euni205Funi2060uni2061uni2062uni2063uni2064uni2066uni2067uni2068uni2069uni206Auni206Buni206Cuni206Duni206Euni206Funi2070uni2071uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni207Funi2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208Euni2090uni2091uni2092uni2093uni2094uni2095uni2096uni2097uni2098uni2099uni209Auni209Buni209Cuni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9uni20AAdongEurouni20ADuni20AEuni20AFuni20B0uni20B1uni20B2uni20B3uni20B4uni20B5uni20B6uni20B7uni20B8uni20B9uni20BAuni20BBuni20BCuni20BDuni20BEuni20BFuni20F0uni2100uni2101uni2102uni2103uni2104uni2105uni2106uni2107uni2108uni2109uni210Auni210Buni210Cuni210Duni210Euni210Funi2110uni2111uni2112uni2113uni2114uni2115uni2116uni2117 weierstrassuni2119uni211Auni211Buni211Cuni211D prescriptionuni211Funi2120uni2121uni2123uni2124uni2125uni2126uni2127uni2128uni2129uni212Auni212Buni212Cuni212D estimateduni212Funi2130uni2131uni2132uni2133uni2134uni2135uni2136uni2137uni2138uni2139uni213Auni213Buni213Cuni213Duni213Euni213Funi2140uni2141uni2142uni2143uni2144uni2145uni2146uni2147uni2148uni2149uni214Auni214Buni214Cuni214Duni214Euni214Funi2150uni2151uni2152uni2153uni2154uni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215Funi2184uni2189 minus.devauni25CCuni2C60uni2C61uni2C62uni2C63uni2C64uni2C65uni2C66uni2C67uni2C68uni2C69uni2C6Auni2C6Buni2C6Cuni2C6Duni2C6Euni2C6Funi2C70uni2C71uni2C72uni2C73uni2C74uni2C75uni2C76uni2C77uni2C78uni2C79uni2C7Auni2C7Buni2C7Cuni2C7Duni2C7Euni2C7Fbecombcyvecombcy ghecombcydecombcy zhecombcyzecombcykacombcyelcombcyemcombcyencombcyocombcypecombcyercombcyescombcytecombcyhacombcy tsecombcy checombcy shacombcy shchacombcy fitacombcy estecombcyacombcyiecombcy djervcombcymonographukcombcy yatcombcyyucombcyiotifiedacombcylittleyuscombcy bigyuscombcyiotifiedbigyuscombcyuni2E00uni2E01uni2E02uni2E03uni2E04uni2E05uni2E06uni2E07uni2E08uni2E09uni2E0Auni2E0Buni2E0Cuni2E0Duni2E0Euni2E0Funi2E10uni2E11uni2E12uni2E13uni2E14uni2E15uni2E16uni2E17uni2E18uni2E19uni2E1Auni2E1Buni2E1Cuni2E1Duni2E1Euni2E1Funi2E20uni2E21uni2E22uni2E23uni2E24uni2E25uni2E26uni2E27uni2E28uni2E29uni2E2Auni2E2Buni2E2Cuni2E2Duni2E2Euni2E2Funi2E30uni2E31uni2E32uni2E33uni2E34uni2E35uni2E36uni2E37uni2E38uni2E39uni2E3Auni2E3Buni2E3Cuni2E3Duni2E3Euni2E3Funi2E40uni2E41uni2E42dashwithupturnleft suspensiondblkavykainvertedlow kavykawithkavykaaboveinvertedlow kavykalowkavykawithdotlowstackedcommadbl solidusdotted tripledagger medievalcomma paragraphuspunctuselevatuscornishversedividercrosspattyrightcrosspattyleftTironiansignetuniA640uniA641uniA642uniA643 Dzereversedcy dzereversedcyuniA646uniA647uniA648uniA649 Ukmonographcy ukmonographcy Omegabroadcy omegabroadcy Yerneutralcy yerneutralcy Yerubackyercy yerubackyercy Yatiotifiedcy yatiotifiedcy Yureversedcy yureversedcy IotifiedacyuniA657Yusclosedlittlecyyusclosedlittlecy Yusblendedcy yusblendedcyYusiotifiedclosedlittlecyyusiotifiedclosedlittlecyuniA65EuniA65F Tsereversedcy tsereversedcyDesoftcydesoftcyElsoftcyelsoftcyEmsoftcyemsoftcy Omonocularcy omonocularcy Obinocularcy obinocularcyOdoublemonocularcyodoublemonocularcyuniA66EuniA66FuniA670uniA671uniA672uniA673uniA674uniA675uniA676uniA677uniA678uniA679uniA67AuniA67BuniA67CuniA67DuniA67EuniA67FuniA680uniA681uniA682uniA683uniA684uniA685uniA686uniA687uniA688uniA689TewithmiddlehookcyuniA68BuniA68CuniA68DuniA68EuniA68FuniA690uniA691uniA692uniA693uniA694uniA695uniA696uniA697 Odoublecy odoublecy Ocrossedcy ocrossedcyuniA69CuniA69DuniA69EuniA69FuniA700uniA701uniA702uniA703uniA704uniA705uniA706uniA707uniA708uniA709uniA70AuniA70BuniA70CuniA70DuniA70EuniA70FuniA710uniA711uniA712uniA713uniA714uniA715uniA716uniA717uniA718uniA719uniA71AuniA71BuniA71CuniA71DuniA71EuniA71FuniA720uniA721uniA722uniA723uniA724uniA725uniA726uniA727uniA728uniA729uniA72AuniA72BuniA72CuniA72DuniA72EuniA72FuniA730uniA731uniA732uniA733uniA734uniA735uniA736uniA737uniA738uniA739uniA73AuniA73BuniA73CuniA73DuniA73EuniA73FuniA740uniA741uniA742uniA743uniA744uniA745uniA746uniA747uniA748uniA749uniA74AuniA74BuniA74CuniA74DuniA74EuniA74FuniA750uniA751uniA752uniA753uniA754uniA755uniA756uniA757uniA758uniA759uniA75AuniA75B RumrotundauniA75DuniA75EuniA75FuniA760uniA761uniA762uniA763uniA764uniA765uniA766uniA767uniA768uniA769uniA76AuniA76BuniA76CuniA76DuniA76EuniA76FuniA770uniA771uniA772uniA773uniA774uniA775uniA776uniA777uniA778uniA779uniA77AuniA77BuniA77CuniA77DuniA77EuniA77FuniA780uniA781uniA782uniA783uniA784uniA785uniA786uniA787uniA788uniA789uniA78AuniA78BuniA78CuniA78DuniA78EuniA78FuniA790uniA791uniA792uniA793 cpalatalhook hpalatalhook Bflourish bflourishFstrokefstroke Aevolapuk aevolapuk Oevolapuk oevolapuk Uevolapuk uevolapukuniA7A0uniA7A1uniA7A2uniA7A3uniA7A4uniA7A5uniA7A6uniA7A7uniA7A8uniA7A9uniA7AA EreversedopenuniA7ACuniA7AD IotaserifedQsmalluniA7B0uniA7B1uniA7B2uniA7B3uniA7B4uniA7B5uniA7B6uniA7B7Ustrokeuni1D7EAglottalaglottalIglottaliglottalUglottaluglottal Wanglicana wanglicana CpalatalhookShook Zpalatalhook Dmiddlestroke dmiddlestroke Smiddlestroke smiddlestroke Halfhturned halfhturneduniA7F7uniA7F8uniA7F9uniA7FAuniA7FBuniA7FCuniA7FDuniA7FEuniA7FFuniA830uniA831uniA832uniA833uniA834uniA835uniA836uniA837uniA838uniA839uniA8E0uniA8E1uniA8E2uniA8E3uniA8E4uniA8E5uniA8E6uniA8E7uniA8E8uniA8E9uniA8EAuniA8EBuniA8ECuniA8EDuniA8EEuniA8EFuniA8F0uniA8F1uniA8F2uniA8F3uniA8F4uniA8F5uniA8F6uniA8F7uniA8F8uniA8F9uniA8FAuniA8FBuniA8FCuniA8FDaydevaayvowelsigndevauniA92EuniAB30uniAB31uniAB32uniAB33uniAB34uniAB35uniAB36uniAB37uniAB38uniAB39uniAB3AuniAB3BuniAB3CuniAB3DuniAB3EuniAB3FuniAB40uniAB41uniAB42uniAB43uniAB44uniAB45uniAB46uniAB47uniAB48uniAB49uniAB4AuniAB4BuniAB4CuniAB4DuniAB4EuniAB4FuniAB50uniAB51uniAB52uniAB53uniAB54uniAB55uniAB56uniAB57uniAB58uniAB59uniAB5AuniAB5BuniAB5CuniAB5DuniAB5EuniAB5Fsakhayat iotifiedeoeopenuouniAB64uniAB65dzdigraphretroflexhooktsdigraphretroflexhookrmiddletildeturned wturnedmod lefttackmod righttackmodf_ff_f_if_f_llongs_ts_tuniFE00uniFE20uniFE21uniFE22uniFE23uniFE24uniFE25uniFE26uniFE27uniFE28uniFE29uniFE2AuniFE2BuniFE2CuniFE2DuniFE2EuniFE2FuniFEFFuniFFFCuniFFFDEng.alt1Eng.alt2Eng.alt3uni030103060308uni030003060308uni030103040308uni030003040308uni013B.loclMAHuni0145.loclMAHAogonek.loclNAVEogonek.loclNAVIogonek.loclNAVUogonek.loclNAVI.saltIJ.salt Iacute.salt Ibreve.salt uni01CF.saltIcircumflex.salt uni0208.saltIdieresis.salt uni1E2E.saltIdotaccent.salt uni1ECA.salt Igrave.salt uni1EC8.salt uni020A.salt Imacron.salt Iogonek.saltIogonek_loclNAV.salt Itilde.salt uni1E2C.saltJ.saltJcircumflex.salt uni01C7.salt uni01CA.saltuni013C.loclMAHuni0146.loclMAHaogonek.loclNAVeogonek.loclNAVuogonek.loclNAV i_sc.saltiacute_sc.saltibreve_sc.salticircumflex_sc.saltidieresis_sc.saltidotaccent_sc.saltigrave_sc.salt ij_sc.saltimacron_sc.saltiogonek_sc.saltitilde_sc.salt j_sc.saltjcircumflex_sc.salta.sc aacute.sc abreve.scacircumflex.sc adieresis.sc agrave.sc amacron.sc aogonek.scaring.sc aringacute.sc atilde.scae.sc aeacute.scb.scc.sc cacute.sc ccaron.sc ccedilla.scccircumflex.sc cdotaccent.scd.sceth.sc dcaron.sc dcroat.sce.sc eacute.sc ebreve.sc ecaron.scecircumflex.sc edieresis.sc edotaccent.sc egrave.sc emacron.sc eogonek.scf.scg.sc gbreve.scgcircumflex.sc uni0123.sc gdotaccent.sch.schbar.schcircumflex.sci.sc iacute.sc ibreve.scicircumflex.sc idieresis.sc i.loclTRK.sc igrave.scij.sc imacron.sc iogonek.sc itilde.scj.scjcircumflex.sck.sc uni0137.scl.sc lacute.sc lcaron.sc uni013C.scldot.sc lslash.scm.scn.sc nacute.sc ncaron.sc uni0146.sceng.sc ntilde.sco.sc oacute.sc obreve.scocircumflex.sc odieresis.sc ograve.scohungarumlaut.sc omacron.sc oslash.scoslashacute.sc otilde.scoe.scp.scthorn.scq.scr.sc racute.sc rcaron.sc uni0157.scs.sc sacute.sc scaron.sc scedilla.scscircumflex.sc uni0219.sc germandbls.sct.sctbar.sc tcaron.sc uni0163.sc uni021B.scu.sc uacute.sc ubreve.scucircumflex.sc udieresis.sc ugrave.scuhungarumlaut.sc umacron.sc uogonek.scuring.sc utilde.scv.scw.sc wacute.scwcircumflex.sc wdieresis.sc wgrave.scx.scy.sc yacute.scycircumflex.sc ydieresis.sc ygrave.scz.sc zacute.sc zcaron.sc zdotaccent.sc uniA7F7.salt uni0406.salt uni0407.salt uni0408.salt uni04C0.saltuni0431.loclSRB uni04CF.salt Iota.saltIotatonos.saltIotadieresis.salt uni1D35.salt uni1D36.salt zero.tosfone.tosftwo.tosf three.tosf four.tosf five.tosfsix.tosf seven.tosf eight.tosf nine.tosfzero.osfone.osftwo.osf three.osffour.osffive.osfsix.osf seven.osf eight.osfnine.osfzero.lfone.lftwo.lfthree.lffour.lffive.lfsix.lfseven.lfeight.lfnine.lf zero.slash zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numr parenleft.sc parenright.sc braceleft.sc braceright.scbracketleft.scbracketright.sc exclam.sc exclamdown.sc question.scquestiondown.sc exclamdbl.scguilsinglleft.scguilsinglright.sc fhook.ss03summationDoubleStruck.miruni02E502E502E9uni02E502E502E6uni02E502E502E8uni02E502E502E7 uni02E502E9uni02E502E902E5uni02E502E902E9uni02E502E902E6uni02E502E902E8uni02E502E902E7 uni02E502E6uni02E502E602E5uni02E502E602E9uni02E502E602E6uni02E502E602E8uni02E502E602E7 uni02E502E8uni02E502E802E5uni02E502E802E9uni02E502E802E6uni02E502E802E8uni02E502E802E7 uni02E502E7uni02E502E702E5uni02E502E702E9uni02E502E702E6uni02E502E702E8uni02E502E702E7 uni02E902E5uni02E902E502E5uni02E902E502E9uni02E902E502E6uni02E902E502E8uni02E902E502E7uni02E902E902E5uni02E902E902E6uni02E902E902E8uni02E902E902E7 uni02E902E6uni02E902E602E5uni02E902E602E9uni02E902E602E6uni02E902E602E8uni02E902E602E7 uni02E902E8uni02E902E802E5uni02E902E802E9uni02E902E802E6uni02E902E802E8uni02E902E802E7 uni02E902E7uni02E902E702E5uni02E902E702E9uni02E902E702E6uni02E902E702E8uni02E902E702E7 uni02E602E5uni02E602E502E5uni02E602E502E9uni02E602E502E6uni02E602E502E8uni02E602E502E7 uni02E602E9uni02E602E902E5uni02E602E902E9uni02E602E902E6uni02E602E902E8uni02E602E902E7uni02E602E602E5uni02E602E602E9uni02E602E602E8uni02E602E602E7 uni02E602E8uni02E602E802E5uni02E602E802E9uni02E602E802E6uni02E602E802E8uni02E602E802E7 uni02E602E7uni02E602E702E5uni02E602E702E9uni02E602E702E6uni02E602E702E8uni02E602E702E7 uni02E802E5uni02E802E502E5uni02E802E502E9uni02E802E502E6uni02E802E502E8uni02E802E502E7 uni02E802E9uni02E802E902E5uni02E802E902E9uni02E802E902E6uni02E802E902E8uni02E802E902E7 uni02E802E6uni02E802E602E5uni02E802E602E9uni02E802E602E6uni02E802E602E8uni02E802E602E7uni02E802E802E5uni02E802E802E9uni02E802E802E6uni02E802E802E7 uni02E802E7uni02E802E702E5uni02E802E702E9uni02E802E702E6uni02E802E702E8uni02E802E702E7 uni02E702E5uni02E702E502E5uni02E702E502E9uni02E702E502E6uni02E702E502E8uni02E702E502E7 uni02E702E9uni02E702E902E5uni02E702E902E9uni02E702E902E6uni02E702E902E8uni02E702E902E7 uni02E702E6uni02E702E602E5uni02E702E602E9uni02E702E602E6uni02E702E602E8uni02E702E602E7 uni02E702E8uni02E702E802E5uni02E702E802E9uni02E702E802E6uni02E702E802E8uni02E702E802E7uni02E702E702E5uni02E702E702E9uni02E702E702E6uni02E702E702E8 ampersand.sc uni0308.sc uni0307.sc gravecomb.sc acutecomb.sc uni030B.sc uni0302.sc uni030C.sc uni0306.sc uni030A.sc tildecomb.sc uni0304.sc uni0328.sc macron.sc idotlesscy jedotlesscyiogonekdotlessjstrokedotlessjcrossedtaildotless jmoddotless yotdotlessisubscriptdotlessiretroflexhookdotlessistrokemoddotlessjcrossedtailmoddotlessitildebelowdotlessidotbelowdotlessistrokedotless imoddotlessiitalicDoubleStruckdotlessjitalicDoubleStruckdotlessjsubscriptdotless uni1FBC.ad uni1F88.ad uni1F89.ad uni1F8A.ad uni1F8B.ad uni1F8C.ad uni1F8D.ad uni1F8E.ad uni1F8F.ad uni1FCC.ad uni1F98.ad uni1F99.ad uni1F9A.ad uni1F9B.ad uni1F9C.ad uni1F9D.ad uni1F9E.ad uni1F9F.ad uni1FFC.ad uni1FA8.ad uni1FA9.ad uni1FAA.ad uni1FAB.ad uni1FAC.ad uni1FAD.ad uni1FAE.ad uni1FAF.ad uni037F.salt uni1F38.salt uni1F39.salt uni1F3A.salt uni1F3B.salt uni1F3C.salt uni1F3D.salt uni1F3E.salt uni1F3F.salt uni1FDA.salt uni1FDB.saltuni03B1030603130300uni03B1030603130301uni03B1030603140300uni03B1030603140301uni03B1030403130300uni03B1030403130301uni03B1030403140300uni03B1030403140301uni03B9030803060300uni03B9030803060301uni03B9030803040300uni03B9030803040301uni03B9030603130300uni03B9030603130301uni03B9030603140300uni03B9030603140301uni03B9030403130300uni03B9030403130301uni03B9030403140300uni03B9030403140301uni03C5030803060300uni03C5030803040300uni03C5030803040301uni03C5030603130300uni03C5030603130301uni03C5030603140300uni03C5030603140301uni03C5030403130300uni03C5030403130301uni03C5030403140300uni03C5030403140301 uni03D0.altphi.saltalpha.scbeta.scgamma.scdelta.sc epsilon.sczeta.sceta.sctheta.sciota.sckappa.sc lambda.sc uni03BC.scnu.scxi.sc omicron.scpi.scrho.sc uni03C2.scsigma.sctau.sc upsilon.scphi.scchi.scpsi.scomega.sc iotatonos.sciotadieresis.sciotadieresistonos.scupsilontonos.scupsilondieresis.scupsilondieresistonos.scomicrontonos.sc omegatonos.sc alphatonos.scepsilontonos.sc etatonos.sc uni03D7.sc uni1F00.sc uni1F01.sc uni1F02.sc uni1F03.sc uni1F04.sc uni1F05.sc uni1F06.sc uni1F07.sc uni1F70.sc uni1F71.sc uni1FB6.sc uni1FB0.sc uni1FB1.sc uni1FB3.sc uni1FB2.sc uni1FB4.sc uni1F80.sc uni1F81.sc uni1F82.sc uni1F83.sc uni1F84.sc uni1F85.sc uni1F86.sc uni1F87.sc uni1FB7.sc uni1F10.sc uni1F11.sc uni1F12.sc uni1F13.sc uni1F14.sc uni1F15.sc uni1F72.sc uni1F73.sc uni1F20.sc uni1F21.sc uni1F22.sc uni1F23.sc uni1F24.sc uni1F25.sc uni1F26.sc uni1F27.sc uni1F74.sc uni1F75.sc uni1FC6.sc uni1FC3.sc uni1FC2.sc uni1FC4.sc uni1F90.sc uni1F91.sc uni1F92.sc uni1F93.sc uni1F94.sc uni1F95.sc uni1F96.sc uni1F97.sc uni1FC7.sc uni1F30.sc uni1F31.sc uni1F32.sc uni1F33.sc uni1F34.sc uni1F35.sc uni1F36.sc uni1F37.sc uni1F76.sc uni1F77.sc uni1FD6.sc uni1FD0.sc uni1FD1.sc uni1FD2.sc uni1FD3.sc uni1FD7.sc uni1F40.sc uni1F41.sc uni1F42.sc uni1F43.sc uni1F44.sc uni1F45.sc uni1F78.sc uni1F79.sc uni1FE4.sc uni1FE5.sc uni1F50.sc uni1F51.sc uni1F52.sc uni1F53.sc uni1F54.sc uni1F55.sc uni1F56.sc uni1F57.sc uni1F7A.sc uni1F7B.sc uni1FE6.sc uni1FE0.sc uni1FE1.sc uni1FE2.sc uni1FE3.sc uni1FE7.sc uni1F60.sc uni1F61.sc uni1F62.sc uni1F63.sc uni1F64.sc uni1F65.sc uni1F66.sc uni1F67.sc uni1F7C.sc uni1F7D.sc uni1FF6.sc uni1FF3.sc uni1FF2.sc uni1FF4.sc uni1FA0.sc uni1FA1.sc uni1FA2.sc uni1FA3.sc uni1FA4.sc uni1FA5.sc uni1FA6.sc uni1FA7.sc uni1FF7.sc uni1FB3.sc.ad uni1FB2.sc.ad uni1FB4.sc.ad uni1F80.sc.ad uni1F81.sc.ad uni1F82.sc.ad uni1F83.sc.ad uni1F84.sc.ad uni1F85.sc.ad uni1F86.sc.ad uni1F87.sc.ad uni1FB7.sc.ad uni1FC3.sc.ad uni1FC2.sc.ad uni1FC4.sc.ad uni1F90.sc.ad uni1F91.sc.ad uni1F92.sc.ad uni1F93.sc.ad uni1F94.sc.ad uni1F95.sc.ad uni1F96.sc.ad uni1F97.sc.ad uni1FC7.sc.ad uni1FF3.sc.ad uni1FF2.sc.ad uni1FF4.sc.ad uni1FA0.sc.ad uni1FA1.sc.ad uni1FA2.sc.ad uni1FA3.sc.ad uni1FA4.sc.ad uni1FA5.sc.ad uni1FA6.sc.ad uni1FA7.sc.ad uni1FF7.sc.adiotatonos.sc.ss06iotadieresis.sc.ss06iotadieresistonos.sc.ss06upsilontonos.sc.ss06upsilondieresis.sc.ss06upsilondieresistonos.sc.ss06omicrontonos.sc.ss06omegatonos.sc.ss06alphatonos.sc.ss06epsilontonos.sc.ss06etatonos.sc.ss06uni1F00.sc.ss06uni1F01.sc.ss06uni1F02.sc.ss06uni1F03.sc.ss06uni1F04.sc.ss06uni1F05.sc.ss06uni1F06.sc.ss06uni1F07.sc.ss06uni1F70.sc.ss06uni1F71.sc.ss06uni1FB6.sc.ss06uni1FB0.sc.ss06uni1FB1.sc.ss06uni1FB3.sc.ss06uni1FB2.sc.ss06uni1FB4.sc.ss06uni1F80.sc.ss06uni1F81.sc.ss06uni1F82.sc.ss06uni1F83.sc.ss06uni1F84.sc.ss06uni1F85.sc.ss06uni1F86.sc.ss06uni1F87.sc.ss06uni1FB7.sc.ss06uni1F10.sc.ss06uni1F11.sc.ss06uni1F12.sc.ss06uni1F13.sc.ss06uni1F14.sc.ss06uni1F15.sc.ss06uni1F72.sc.ss06uni1F73.sc.ss06uni1F20.sc.ss06uni1F21.sc.ss06uni1F22.sc.ss06uni1F23.sc.ss06uni1F24.sc.ss06uni1F25.sc.ss06uni1F26.sc.ss06uni1F27.sc.ss06uni1F74.sc.ss06uni1F75.sc.ss06uni1FC6.sc.ss06uni1FC3.sc.ss06uni1FC2.sc.ss06uni1FC4.sc.ss06uni1F90.sc.ss06uni1F91.sc.ss06uni1F92.sc.ss06uni1F93.sc.ss06uni1F94.sc.ss06uni1F95.sc.ss06uni1F96.sc.ss06uni1F97.sc.ss06uni1FC7.sc.ss06uni1F30.sc.ss06uni1F31.sc.ss06uni1F32.sc.ss06uni1F33.sc.ss06uni1F34.sc.ss06uni1F35.sc.ss06uni1F36.sc.ss06uni1F37.sc.ss06uni1F76.sc.ss06uni1F77.sc.ss06uni1FD6.sc.ss06uni1FD0.sc.ss06uni1FD1.sc.ss06uni1FD2.sc.ss06uni1FD3.sc.ss06uni1FD7.sc.ss06uni1F40.sc.ss06uni1F41.sc.ss06uni1F42.sc.ss06uni1F43.sc.ss06uni1F44.sc.ss06uni1F45.sc.ss06uni1F78.sc.ss06uni1F79.sc.ss06uni1FE4.sc.ss06uni1FE5.sc.ss06uni1F50.sc.ss06uni1F51.sc.ss06uni1F52.sc.ss06uni1F53.sc.ss06uni1F54.sc.ss06uni1F55.sc.ss06uni1F56.sc.ss06uni1F57.sc.ss06uni1F7A.sc.ss06uni1F7B.sc.ss06uni1FE6.sc.ss06uni1FE0.sc.ss06uni1FE1.sc.ss06uni1FE2.sc.ss06uni1FE3.sc.ss06uni1FE7.sc.ss06uni1F60.sc.ss06uni1F61.sc.ss06uni1F62.sc.ss06uni1F63.sc.ss06uni1F64.sc.ss06uni1F65.sc.ss06uni1F66.sc.ss06uni1F67.sc.ss06uni1F7C.sc.ss06uni1F7D.sc.ss06uni1FF6.sc.ss06uni1FF3.sc.ss06uni1FF2.sc.ss06uni1FF4.sc.ss06uni1FA0.sc.ss06uni1FA1.sc.ss06uni1FA2.sc.ss06uni1FA3.sc.ss06uni1FA4.sc.ss06uni1FA5.sc.ss06uni1FA6.sc.ss06uni1FA7.sc.ss06uni1FF7.sc.ss06uni1FB3.sc.ad.ss06uni1FB2.sc.ad.ss06uni1FB4.sc.ad.ss06uni1F80.sc.ad.ss06uni1F81.sc.ad.ss06uni1F82.sc.ad.ss06uni1F83.sc.ad.ss06uni1F84.sc.ad.ss06uni1F85.sc.ad.ss06uni1F86.sc.ad.ss06uni1F87.sc.ad.ss06uni1FB7.sc.ad.ss06uni1FC3.sc.ad.ss06uni1FC2.sc.ad.ss06uni1FC4.sc.ad.ss06uni1F90.sc.ad.ss06uni1F91.sc.ad.ss06uni1F92.sc.ad.ss06uni1F93.sc.ad.ss06uni1F94.sc.ad.ss06uni1F95.sc.ad.ss06uni1F96.sc.ad.ss06uni1F97.sc.ad.ss06uni1FC7.sc.ad.ss06uni1FF3.sc.ad.ss06uni1FF2.sc.ad.ss06uni1FF4.sc.ad.ss06uni1FA0.sc.ad.ss06uni1FA1.sc.ad.ss06uni1FA2.sc.ad.ss06uni1FA3.sc.ad.ss06uni1FA4.sc.ad.ss06uni1FA5.sc.ad.ss06uni1FA6.sc.ad.ss06uni1FA7.sc.ad.ss06uni1FF7.sc.ad.ss06 anoteleia.sc tonos.case uni1FBF.case uni1FBD.case uni1FFE.case uni1FDD.case uni1FCE.case uni1FDE.case uni1FCF.case uni1FDF.case uni1FED.case uni1FEE.case uni1FC1.case uni1FEF.case uni1FFD.case uni1FC0.case uni1FCD.casetonos.scdieresistonos.sc uni1FBF.sc uni1FBD.sc uni1FFE.sc uni1FCD.sc uni1FDD.sc uni1FCE.sc uni1FDE.sc uni1FCF.sc uni1FDF.sc uni1FED.sc uni1FEE.sc uni1FC1.sc uni1FEF.sc uni1FFD.sc uni1FC0.scnullCR_1space_1 uni02BC_1ashortnuktadeva anuktadeva aanuktadeva inuktadeva iinuktadeva unuktadeva uunuktadevarvocalicnuktadevalvocalicnuktadevaecandranuktadevaeshortnuktadeva enuktadeva ainuktadevaocandranuktadevaoshortnuktadeva onuktadeva aunuktadevarrvocalicnuktadevallvocalicnuktadevaacandranuktadeva ghanuktadeva nganuktadeva canuktadeva chanuktadeva jhanuktadeva nyanuktadeva ttanuktadeva tthanuktadeva nnanuktadeva tanuktadeva thanuktadeva danuktadeva dhanuktadeva panuktadeva banuktadeva bhanuktadeva manuktadeva lanuktadeva vanuktadeva shanuktadeva ssanuktadeva sanuktadeva hanuktadeva kassadeva janyadevarephdeva vattudeva kaprehalfdevakhaprehalfdeva gaprehalfdevaghaprehalfdevangaprehalfdeva caprehalfdevachaprehalfdeva japrehalfdevajhaprehalfdevanyaprehalfdevattaprehalfdevatthaprehalfdevaddaprehalfdevaddhaprehalfdevannaprehalfdeva taprehalfdevathaprehalfdeva daprehalfdevadhaprehalfdeva naprehalfdeva paprehalfdevaphaprehalfdeva baprehalfdevabhaprehalfdeva maprehalfdeva yaprehalfdeva raprehalfdeva laprehalfdevallaprehalfdeva vaprehalfdevashaprehalfdevassaprehalfdeva saprehalfdeva haprehalfdevazhaprehalfdevaheavyyaprehalfdevakassaprehalfdevajanyaprehalfdevakanuktaprehalfdevakhanuktaprehalfdevaganuktaprehalfdevaghanuktaprehalfdevanganuktaprehalfdevacanuktaprehalfdevachanuktaprehalfdevajanuktaprehalfdevajhanuktaprehalfdevanyanuktaprehalfdevattanuktaprehalfdevatthanuktaprehalfdevaddanuktaprehalfdevaddhanuktaprehalfdevannanuktaprehalfdevatanuktaprehalfdevathanuktaprehalfdevadanuktaprehalfdevadhanuktaprehalfdevananuktaprehalfdevapanuktaprehalfdevaphanuktaprehalfdevabanuktaprehalfdevabhanuktaprehalfdevamanuktaprehalfdevayanuktaprehalfdevalanuktaprehalfdevallanuktaprehalfdevavanuktaprehalfdevashanuktaprehalfdevassanuktaprehalfdevasanuktaprehalfdevahanuktaprehalfdevakaradeva kharadevagaradeva gharadeva ngaradevacaradeva charadevajaradeva jharadeva nyaradeva ttaradeva ttharadeva ddaradeva ddharadeva nnaradevataradeva tharadevadaradeva dharadevanaradevaparadeva pharadevabaradeva bharadevamaradevayaradevararadevalaradeva llaradevavaradeva sharadeva ssaradevasaradevaharadevamarwariddaradeva zharadeva heavyyaradeva kassaradeva janyaradeva kanuktaradevakhanuktaradeva ganuktaradevaghanuktaradevanganuktaradeva canuktaradevachanuktaradeva januktaradevajhanuktaradevanyanuktaradevattanuktaradevatthanuktaradevaddanuktaradevaddhanuktaradevannanuktaradeva tanuktaradevathanuktaradeva danuktaradevadhanuktaradeva nanuktaradeva panuktaradevaphanuktaradeva banuktaradevabhanuktaradeva manuktaradeva yanuktaradeva ranuktaradeva lanuktaradevallanuktaradeva vanuktaradevashanuktaradevassanuktaradeva sanuktaradeva hanuktaradevakaraprehalfdevakharaprehalfdevagaraprehalfdevagharaprehalfdevangaraprehalfdevangaraprehalfUIdevacaraprehalfdevacharaprehalfdevajaraprehalfdevajharaprehalfdevanyaraprehalfdevattaraprehalfdevattaraprehalfUIdevattharaprehalfdevattharaprehalfUIdevaddaraprehalfdevaddaraprehalfUIdevaddharaprehalfdevaddharaprehalfUIdevannaraprehalfdevataraprehalfdevatharaprehalfdevadaraprehalfdevadharaprehalfdevanaraprehalfdevaparaprehalfdevapharaprehalfdevabaraprehalfdevabharaprehalfdevamaraprehalfdevayaraprehalfdevararaprehalfdevalaraprehalfdevallaraprehalfdevavaraprehalfdevasharaprehalfdevassaraprehalfdevasaraprehalfdevaharaprehalfdevazharaprehalfdevaheavyyaraprehalfdevakassaraprehalfdevajanyaraprehalfdevakanuktaraprehalfdevakhanuktaraprehalfdevaganuktaraprehalfdevaghanuktaraprehalfdevanganuktaraprehalfdevacanuktaraprehalfdevachanuktaraprehalfdevajanuktaraprehalfdevajhanuktaraprehalfdevanyanuktaraprehalfdevattanuktaraprehalfdevatthanuktaraprehalfdevaddanuktaraprehalfdevaddhanuktaraprehalfdevannanuktaraprehalfdevatanuktaraprehalfdevathanuktaraprehalfdevadanuktaraprehalfdevadhanuktaraprehalfdevananuktaraprehalfdevapanuktaraprehalfdevaphanuktaraprehalfdevabanuktaraprehalfdevabhanuktaraprehalfdevamanuktaraprehalfdevayanuktaraprehalfdevalanuktaraprehalfdevallanuktaraprehalfdevavanuktaraprehalfdevashanuktaraprehalfdevassanuktaraprehalfdevasanuktaraprehalfdevahanuktaraprehalfdevahaudeva hauUIdevahauudeva hauuUIdevaharvocalicdevaharrvocalicdeva hanuktaudeva hanuktauudevahanuktarvocalicdevahanuktarrvocalicdeva haraudeva harauUIdeva harauudeva harauuUIdevaraudevarauudevadaudevadauudevadarvocalicdeva daraudeva darauudevadararvocalicdeva ranuktaudeva ranuktauudeva danuktaudeva danuktauudevadanuktarvocalicdeva dddhaudeva dddhauudevarhaudeva rhauudevaoevowelsignanusvaradevaoevowelsignrephdevaoevowelsignrephanusvaradevaooevowelsignanusvaradevaooevowelsignrephdevaooevowelsignrephanusvaradevaiivowelsignanusvaradevaiivowelsignrephdevaiivowelsignrephanusvaradevaecandravowelsignanusvaradevaecandravowelsignrephdevaecandravowelrephanusvaradevaeshortvowelsignanusvaradevaeshortvowelsignrephdevaeshortvowelsignrephanusvaradeevowelsignanusvaradevaevowelsignrephdevaevowelsignrephanusvaradevaaivowelsignanusvaradevaaivowelsignrephdevaaivowelsignrephanusvaradevaocandravowelsignanusvaradevaocandravowelsignrephdevaocandravowelrephanusvaradevaoshortvowelsignanusvaradevaoshortvowelsignrephdevaoshortvowelsignrephanusvaradevaovowelsignanusvaradevaovowelsignrephdevaovowelsignrephanusvaradevaauvowelsignanusvaradevaauvowelsignrephdevaauvowelsignrephanusvaradevaawvowelsignanusvaradevaawvowelsignrephdevaawvowelsignrephanusvaradevarephanusvaradevaashortanusvaradevaiianusvaradevaecandraanusvaradevaeshortanusvaradevaaianusvaradevaocandraanusvaradevaoshortanusvaradeva oanusvaradevaauanusvaradevaacandraanusvaradevaoeanusvaradevaooeanusvaradevaawanusvaradevaashortnuktaanusvaradevaiinuktaanusvaradevaecandranuktaanusvaradevaeshortnuktaanusvaradevaainuktaanusvaradevaocandranuktaanusvaradevaoshortnuktaanusvaradevaonuktaanusvaradevaaunuktaanusvaradevaacandranuktaanusvaradevakatadeva kashadeva khashadeva ngagadeva ngamadeva ngayadevacacadeva cachadeva cacharadeva chayadevajajadeva jaddadeva nyajadeva ttattadeva ttattauudeva ttatthadeva ttatthauudeva ttayadeva tthatthadeva tthayadeva ddaddhadeva ddaddadeva ddaddauudeva ddayadeva ddarayadeva ddhaddhadeva ddhayadevatatadevatataprehalfdeva tathadeva tashadeva daghadevadagadevadabadeva dabhadevadavadeva davayadeva dadhadeva dadhayadevadadadeva dadayadevadamadevadayadevadayaprehalfdeva naddadeva naddaradeva nathadeva natharadeva nadhadevanadhaprehalfdeva nadharadevananadeva nashadevapanadeva badhadevamapadeva maparadevamapaprehalfdeva maphadeva mabhadeva laddadeva laddaradeva lathadevavayadeva shacadeva shavadeva shaladeva shanadeva ssattadeva ssattayadeva ssattaradeva ssatthadeva ssatthayadeva ssattharadeva sathadevasathaprehalfdevasapadevasapaprehalfdeva saparadeva saphadeva hannadevahanadevahamadevahayadevahaladevahavadeva ladevaMARlanuktadevaMAR laradevaMARlanuktaradevaMAR shaladevaMAR shadevaMARshaprehalfdevaMARshanuktadevaMARshanuktaprehalfdevaMARchaprehalfdevaNEPchanuktaprehalfdevaNEPcharaprehalfdevaNEPchanuktaraprehalfdevaNEP jhadevaNEPjhanuktadevaNEPjhaprehalfdevaNEPjhanuktaprehalfdevaNEP jharadevaNEPjhanuktaradevaNEPjharaprehalfdevaNEPjhanuktaraprehalfdevaNEP fivedevaNEP eightdevaNEP ninedevaNEPivowelsign00devaivowelsign01devaivowelsign02devaivowelsign03devaivowelsign04devaivowelsign05devaivowelsign06devaivowelsign07devaivowelsign08devaivowelsign09devaivowelsign10devaivowelsign11devaivowelsignanusvaradevaivowelsignanusvara01devaivowelsignanusvara02devaivowelsignanusvara03devaivowelsignanusvara04devaivowelsignanusvara05devaivowelsignanusvara06devaivowelsignanusvara07devaivowelsignanusvara08devaivowelsignanusvara09devaivowelsignanusvara10devaivowelsignanusvara11devaivowelsignrephdevaivowelsignreph01devaivowelsignreph02devaivowelsignreph03devaivowelsignreph04devaivowelsignreph05devaivowelsignreph06devaivowelsignreph07devaivowelsignreph08devaivowelsignreph09devaivowelsignreph10devaivowelsignreph11devaivowelsignrephanusvaradevaivowelsignrephanusvara01devaivowelsignrephanusvara02devaivowelsignrephanusvara03devaivowelsignrephanusvara04devaivowelsignrephanusvara05devaivowelsignrephanusvara06devaivowelsignrephanusvara07devaivowelsignrephanusvara08devaivowelsignrephanusvara09devaivowelsignrephanusvara10devaivowelsignrephanusvara11deva dummymarkdevaiivowelsign1devaiivowelsign2devaiivowelsign3devaiivowelsignanusvara1devaiivowelsignanusvara2devaiivowelsignanusvara3devaiivowelsignreph1devaiivowelsignreph2devaiivowelsignreph3devaiivowelsignrephanusvara1devaiivowelsignrephanusvara2devaiivowelsignrephanusvara3devauvowelsignnuktadevauvowelsignnuktaleftdevauvowelsignnarrowdevauuvowelsignnuktadevauuvowelsignnuktaleftdevarvocalicvowelsignnuktadevarvocalicvowelsignnuktaleftdevarrvocalicvowelsignnuktadevarrvocalicvowelsignnuktaleftdevalvocalicvowelsignleftdevalvocalicvowelsignnuktadevalvocalicvowelsignnuktaleftdevallvocalicvowelsignnuktadevallvocalicvowelsignleftdevallvocalicvowelsignnuktaleftdevaviramanuktadevauevowelsignnuktadevauevowelsignnuktaleftdevauuevowelsignnuktadevauuevowelsignnuktaleftdeva ngaaltdeva chaaltdeva ttaaltdeva tthaaltdeva ddaaltdeva ddhaaltdeva llaaltdeva laaltdevaMARnganuktaaltdevachanuktaaltdevattanuktaaltdevatthanuktaaltdeva dddhaaltdeva rhaaltdeva lllaaltdevalanuktaaltdevaMARshaprehalfaltdeva vattuudeva vattuulowdevavattuulownuktadeva vattuuudevavattuuulowdevavattuuulownuktadevavatturvocalicdevavatturvocaliclowdevavatturvocaliclownuktadevavatturrvocalicdevavattulvocalicdevavattullvocalicdevavattuviramadevavattuviramalowdevavattuviramalownuktadevavattuuevowellowdevavattuuevowellownuktadevavattuuuevowellowdevavattuuuevowellownuktadevauvowelsignlowdevauuvowelsignlowdevarvocalicvowelsignlowdevarrvocaliclowdevalvocalicvowelsignlowdevallvocalicvowelsignlowdeva viramalowdevauevowelsignlowdevauuevowelsignlowdeva dadaaltdeva dabhaaltdevarephcandrabindudevaoevowelsigncandrabindudevaooevowelsigncandrabindudevaecandravowelsigncandrabindudevaeshortvowelsigncandrabindudevaevowelsigncandrabindudevaaivowelsigncandrabindudevaocandravowelsigncandrabindudevaoshortvowelsigncandrabindudevaovowelsigncandrabindudevaauvowelsigncandrabindudevaawvowelsigncandrabindudevaivowelsigncandrabindudevaivowelsigncandrabindu01devaivowelsigncandrabindu02devaivowelsigncandrabindu03devaivowelsigncandrabindu04devaivowelsigncandrabindu05devaivowelsigncandrabindu06devaivowelsigncandrabindu07devaivowelsigncandrabindu08devaivowelsigncandrabindu09devaivowelsigncandrabindu10devaivowelsigncandrabindu11devaiivowelcandrabindudevaiivowelcandrabindu1devaiivowelcandrabindu2devaiivowelcandrabindu3devaoevowelsignrephcandrabindudevaooevowelsignrephcandrabindudevaecandravowelrephcandrabindudevaeshortvowelrephcandrabindudevaevowelsignrephcandrabindudevaaivowelsignrephcandrabindudevaocandravowelrephcandrabindudevaoshortvowelrephcandrabindudevaovowelsignrephcandrabindudevaauvowelsignrephcandrabindudevaawvowelsignrephcandrabindudevaivowelsignrephcandrabindudevaivowelsignrephcandrabindu01devaivowelsignrephcandrabindu02devaivowelsignrephcandrabindu03devaivowelsignrephcandrabindu04devaivowelsignrephcandrabindu05devaivowelsignrephcandrabindu06devaivowelsignrephcandrabindu07devaivowelsignrephcandrabindu08devaivowelsignrephcandrabindu09devaivowelsignrephcandrabindu10devaivowelsignrephcandrabindu11devaiivowelsignrephcandrabindudevaiivowelsignrephcandrabindu1devaiivowelsignrephcandrabindu2devaiivowelsignrephcandrabindu3devavatturrvocalicUIdevavattulvocalicUIdevavattullvocalicUIdeva exclam.deva quotedbl.devanumbersign.deva percent.devaquotesingle.devaparenleft.devaparenright.deva asterisk.deva plus.deva comma.deva hyphen.deva period.deva slash.deva zero.devaone.devatwo.deva three.deva four.deva five.devasix.deva seven.deva eight.deva nine.deva colon.devasemicolon.deva less.deva equal.deva greater.deva question.devabracketleft.devabackslash.devabracketright.devaasciicircum.devaunderscore.devabraceleft.devabar.devabraceright.devaasciitilde.deva nbspace.deva endash.deva emdash.devaquoteleft.devaquoteright.devaquotedblleft.devaquotedblright.deva ellipsis.deva multiply.deva divide.deva uni2010_1 uni20B9.deva one_onedeva two_udeva three_kadeva one_radeva two_radeva three_radeva four_radeva five_radevatwo_avagrahadeva two_uni1CD0 vi_radevavisarga_uni1CE2visarga_uni1CE4visarga_uni1CE5visarga_uni1CE8 uni1CE1.alt uni20F0_1sharvocalicdevaayanusvaradevaayanusvaravowelsigndevaayvowelsigncandrabindudevaayvowelsignrephdevaayvowelsignrephanusvaradevaayvowelsignrephcandrabindudevamarwariddaddadevamarwariddaddhadevamarwariddayadevan34/045 %&)**+-.45<=>?@A\]jkklmnvwyzz{_` @ A A B   g h h i l m v w   v w              vw23347889?@@AGHVWz{{|~67ABEFFGGHIJNOQB&4--- ;w ;w (!"%**..//0234?@wy{{| w   {{7AGGJNh  #%)  +##,&3-bg;jjAlmBbbDjjEopFtH]hik l m t *-.1u}   !"!"#$%%'3'044]a9hi>`a@cnBqNvw x h h m v -'()*+,-./0123juwz{|} p DFLT&cyrl\dev2 devazgreklatn "#$%+-./123457MKD FSRB z "#$%+,-./0123457 "#$%+-./123457 "#$%+-./123457MAR 0NEP P  !&()*  !&()*  !'()*MAR .NEP L !&(*6 !&(*6 !'(*6 "#$%+,-./0123457.APPHdCAT IPPHMAH MOL 4NAV hROM  "#$%+,-./0123457 "#$%+-./123457 "#$%+-./123457 "#$%+-./123457 "#$%+-./123457 "#$%+-./123457 "#$%+-./123457  "#$%+-./1234578aaltRabvsZakhnlblwfrblwfxblws~c2sccaseccmpccmpcjctcjctdnomfrachalfhalfhalfhalfhalnligalnumlocllocllocl locllocllocl locl&locl,locl2locl8locl>loclDnuktJnumrPonumVordn\pnumbpreshpresppstsxrkrfrphfrtlmsaltsinfsmcpss03ss04ss06ss07subssupstnumvatuzeroFHKLMO1?4$&AB9:;<78' ./    0#!CEDE352(+%:*8+6,4-"=>?)PX`hpx (2:BLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt| $,4<DLT\dlt|<  0p,J\n "& (,4Vrz@v#4(v) )>)B)F)J*8+,,,///4x4448 A B : k q m o v p t y * & ( / ) - 0 6 D > A B V Q S T : k q m o v p t y + + ' ' 4 4 7 7 8 5 5 ; ; < < E E ? ? C C @ @ J J I I L K K O O N N Z X R W \ ^ ^ ` ` a a c c d d g g h h j s s n n r r w w | | ~ ~ } }   . . 1 1 u u  [ cQ                %&'()*%&'()*-./01234-./01234DEFGHIJKTUVWXYTUVWXY^_`abcde_acenopqrstunopqrstu+,56LMZ[fgvw !"# !"#;<=>?@AB;<=>?@AB|}~|}~$98:7C+,568OPQRNSOPijkl\]hmijfg]zy{xZ[vwy b i , F         ! " # $ ` $$'-03 5@BBGLVW"Z`$bb+ee,ss-.;Bamq~  !$%(58BVV  ,,aavvAACGIMOTVacd fl n&/02567mm8||9:<66=DD>HH?@$C==IggJijKMOLR[_flx| ! " # % d d& '  ( P \- :,y,:HVdr "(.4:@FNTZ`flrx~ $*06<BHNTZ`flrx~ &         }  v  w           n % P  [~ ln % M  P [ ]  _  e   f ~ l x      V Q  S  T ,  , F  F Z X R Y Y   U W  \ b  b i  i j       Rb  M   L   N    D E F G H I J KTeSd`r]oagWiYk L MVhXjZl[m\n^p_qUf                              y "&./4FMNOPQRSTUXY  "#&'67BHNUbemMOPQ\]^ghijkyz{   <D$NO ,av6DHj NO  ,,aavv66DDHHjj         #$$%&'3. NO ,av6DHj . NO ,av6DHj ^0:DNj|$6@JTd s6e t7!:BJRZbjrz                            :BJRZbjrz G F E D C A @ ? > = ; : 9 8 7 6 5 4 3 1 0 / . - 2 < B ,:BJRZbjrz  ~ } | { z y x w u t s r q o n m l k i h g f e j p v d:BJRZbjrz c b a ` _ ] \ [ Z Y X W V U S R Q P O M L K J I N T ^ H:BJRZbjrz + * ) ( ' % $ # " !                &   ,  F  Y   &*.4:FJNTZ  % = P  n&0:DNX         $.8BLV`jt~             $.8BLV`jt~            lt   67"#&'"#&'     *>1Q _{1{Q { _{Q{1 c{ _ M L N Nbm M L N Nbm2                  "MPQRSUXY2                  "MPQRSUXY$  }vw   "S        &F4Tn~n~&4FT  .  .  .  d/ % 2 3 9 = G H M P [ ] _ e f l x z {  * & ( / ) - 0 6 D > A B V Q S T : k q m o v p t y + ' , 4 7 5 ; < E ? C F @ J I K O N Z X R Y U W \ ^ ` b a c d g i h j s n r w | ~ } . 1 u bcQ      %&'()*-./01234DEFGHIJKTUVWXY_acenopqrstu !"#;<=>?@AB|}~edro+,568gikOPLMhjlijfg]mnpZ[vwyqf / $&'()*+,-./0123456789:;<=>?@B`bes   "$&(*,.02468:<=?ABCDEFGHIJKMNOPQRSTUVWXYZ[\]^_`abcdef!#= )*+,-./09:;<=>?@HIJKLMOPQWXYZ[\]^efghijktuvwxyz{P % 2 3 9 = G H M P [ ] _ e f l x z {  * & ( / ) - 0 6 D > A B V Q S T : k q m o v p t y + ' , 4 7 8 5 ; < E ? C F @ J I L K O N Z X R Y W \ ^ ` b a c d g i h j s n r w | ~ } . 1 u [ bcQ      %&'()*-./01234DEFGHIJKTUVWXY^_`abcdenopqrstu+,56LMZ[fgvw !"#;<=>?@AB|}~$edro98:7CgikOPQRNShjlijkl\]hmmnpzy{xqf b i , F P $@BFGHIJKLMNOPQRSTUVWXYZ[\]^_`be  !#%')+-/13579;>@BBCELghijklmnopqrstuvwxyz{|}~ "$     !"#$%&'(12345678ABCDEFGMOPQRSTUV\]^_`abcdijklmnopqrsyz{|}~     b. RTS`]aWYVXZ[\^_U  BB MM OQ \^iky{ 6 "( KQ KN Q N KKq   V|;                      ! " # $;./AHUem|gigh d P Q R S T U V W X Y Z [ \V      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP   c -./0123456789:;<=>?@ABCDEFGHIJKLMNOP  )09@LL[[$8C'y3?K!,W 38 @HIJABCDEFG HKL?i9x",6@JT^hr|&0:DNXblvwxyz{|}~56789:;<4:A  %,.=>3OO5336887@@8" *** XO(4@LXdp| $0<HT`lx ,8DP\ht(4@L* * * * * * * * * * * * * * * * * * * * '* * * * * * * * .* *  * 0*  *  *  *  * * * * * *  * !* )* -* * * * * * * * * * * * "* #* $* %* &* (* ** +* ,* /* 1* 2* 3* 4* 5* * * 5* 6*  * 2* D* E* 5<%UW-034I88K::L@AM* *:JXY[\* 6* 6* 6* 6 *M",6@JT^hr|&0:DNXblv  *4>HR\fpz*************************************************************************9*;*B*C*  5<$VW,.34G88I::J@AK~J&0:DNXblv  *4>HR\fpz$.8BLV`jt******<*******************************************=***********************B*C* 5<$VW,.44G@AH?$.8BLV`jt~ (2<FPZdnx*************************************************************9*;*  58;<"VW$&'+.34;88=::><~ (2<FPZdnx",6@JT^hr|6*7*8*9*<*=*>*?*@*I*J*K*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*f*g*h*i*j*o*p*q*s*t*u*v*w*x*y*z*U*{*|*}*~***V*{*   #"$(&4+56:9x",6@JT^hr|&0:DNXblv*******************************************************B*C* 58;< VW"$%&'*@A78v  *4>HR\fpz$.8BLV`jt~6*7*8*9*<*>*@*I*J*K*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*f*h*j*o*p*q*s*t*u*v*w*x*y*z*U*{*|*}*~***F*G*  !"#"$$&4'DE6O&0:DNXblv  *4>HR\fpz$.8BLV`jt~'. 0     !)-"#$%&(*+,/1234556 2DE5<%UW-034I88K::L@AMM",6@JT^hr|&0:DNXblv  *4>HR\fpz6789:<=>?@ACEGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Y~>?FG99G;=HBCK&<s !**?@@ t6nHh* * *  (0**** ** * $** *** * &0:BJRZbjrz** * * * ** *** * **Q* P*O*U* U* *28BLf 60:\     "(        "*28>DJPV\b       $*06<          "(.4:@% " %$#&"! ,+)'"(.421130 / .-  $73 E9J 2<Vhr(    "(.4         ,+)' X(2<F* *(P()OPQR w{()..OR ww{{GGGGGG $2GGGG:@FLRX^djpv|#"#$"#$%$%", x#z"#$y"y#y$y%x"()OPQR w{  *8 II!JJ II!JJ     =! !&HZdnx : 7 x @w? ; 8  < 9 = > A   x y z { | &R\fpz*T~&Pz (2<FPZd $ $ $ $ $ $ $ $ $ $ $ $I $NMLKJN M L &"#$%&'(),OPQR w{ N /V\'K556677889<UUVVWXYY[\ &!%#% $   "% &!%#% $   "   !""#344558899 <<AB#EH%II!JJKKLL$MM NNOOQQRR%SSTTUUVV"XXYY%ZZ[\%^^``%ccdd ffkk#mn%oo!ppqqrr$ss ttuuwwxx%yyzz{{"}}~~%%    !#$&&))+,-./0168899::;;@ADEKKOQ%LV`lx ,8DP\htssPQRST U V W X YZ[\]^_`abcdefghijk l!m"n#o$p%q&r K~       557799::;;<<UUWX[\         !!##$$%%&&''(())**++,-../011223355  !!#$&&--..112688::@ADEKK&2>Jyz{|}~ Kw      557799::;<UUWX[\        !!##$$%%&&'*,,--..00113355OOuu!!#$&&..2688::KK&2>Jyz{|}~Kf     557799::;;<<UUWX[\      !!##$$%%&&''(())**,-..113355^^!!#$&&..26KK $0<z{|}~Kh     557799::;;<<UUWX[\      !!##$$%%&&''(())**,-..113355TTzz!!#$&&..26KK $0<z{|}~nKb     557799::;;<<UUWX[\      !!##$$%%&&'())**,-..11335588cc!!#$&&..26KK $0<z{|}~tKc      557799::;<UUWX[\      !!##$$%%&&'*,,--..113355!!#$&&..3346KK $0<z{|}~PK]    557799::;<UUWX[\      !!##$$%%&&'*,,--..113355!!#$&&..36KK $0<z{|}~hKa      557799::;<UUWX[\      !!##%%&&'*,,--..11335599dd!!#$&&..36KK $0<z{|}~Kh        557799::;;<<UUWX[\      !!##%%&&'*,,--..113355!!#$&&..33KK $0<z{|}~VK^    557799::;;<<UUWWXX[\      !!##%%&&'*,-..113355MMss!!#$&&..KK $0<z{|}~NK]       557799::;;<<UUWWXX[\      !!##%%&&''(())**,-..113355ZZ!!#$&&..KK ".{|}~$KV       557799::;;<<UUWX[\      !!##%%''(())**,-..113355JJpp!!#$&&..KK ".{|}~KU     557799::;;<<UUWX[\      !!##%%''(())**,-..113355NNtt!!#$&&..KK ".{|}~ KR     557799::;;<<UUWX[\      !!##%%'())**,-..113355!!#$&&KK ".{|}~KS     557799::;;<<UUWX[\      !!##%%'())**,-..113355KKqq!!#$&&KK ".{|}~$KV       557799::;;<<UUWX[\      !!##%%'())**,-..113355XX}}!!#$&&33KK ".{|}~KK    557799::;<UUWX[\      !!##%%'*--..113355<<ff!!#$&&KK ".{|}~KI    557799::;<UUWX[\      !!##%%'*--..113355UU!!#$&&KK ".{|}~KM       557799::;<UUWX[\      !!##%%'*--..113355QQww!!#$&&33KK ".{|}~KK    557799::;<UUWX[\      !!##%%'*--..113355!!#$&&KK ".{|}~KH    557799::;<UUWX[\      !!##%%'*--..11335599;;KK ".{|}~K?    557799::;;UUXX[\    !!##%%'*..1155KK ".{|}~RK3 5577::;;UUXX  !!##%%''))..1155SSyyKK ".{|}~>K0  55::;;UU  !!##%%''))..1155KK |}~K% 55::;;!!##%%))..KK |}~K ::!!%%..KK |}~K ::!!%%..KK |}~K ::!!%%..KK}~K   ::!!%%..KK}~K ::!!%%..IIooKK}~K! :;!!%%..VV{{KK}~K ::!!%%..ABkkKK}~K %%..LLrrKK}~K ..EHRRYY[\``mnxx~~KK~JK ..KK~ & K       5566 778899::;;<<UUVVWWXXYY[\               !!""##$$%%&&'*++,-../01122334455             !!#$&&)) +, --../0 112688::@ADEKKOOPPQQ  *4>HR\fptuvwxyz { } ~KKKKKKKK K K K( @KVG .. 5<UY[\  589<<ABEOQVX\^^``cdffkkmuw{}  !#$&'))+899::;;@ADEKKLVOQ.>N^  *:JZjv    f $*06<BHNTZ`K{L{M{N{O{P{Q{R{S{T{U{V{KV KVKV$KVKVKV{{{{{L **//|  j1XY[\  !0 #&-./01256P& !!**// 34?@XY[\|     !00  ##&&-256PP "\rz *34 -2PP **34s06<BHNTZbjrz{{{{{{{{{{{{{{{ {{!{${3{3{  !0 #&56 *34.bhntz  (06<DLRX^djpv|      U*.  !0 #&-./01256PJ 5789:;<"#$%&'()*+,-/123!$4:@ADE2 5577889;<<?@"$%%&&''(())*-//13!!$$44::@@AADDEE  75789:;<V"#$%&'()*+,-/12354:E, !345577889:;<VV""#-//1122335544::EE$ l= "(.4:@FLRX^djpv|         358@D557< !""-%/51448669:::AA;EE<J$*06<43@?!  ?@x&Lr4F    &,2    H   ! (08@HPV\bhntz{4{3{*{ {{43*@?!      !"(.4*@?!    &,43*  9:{J(!?@!$!!//?@|!!$$4!?@4 (.!$B$.8;BDFH 4. . .  Vrz355::;;  !!%%))00,,-.17@ADEs$|}~:BJ0!**==?@ ''     ""%%''))+,s *8 * EDCB*4>HR\fpzeklmn*****\**:ACEG9:5t7stu      !"#$%&'()*+34v5,-./0126G  $@D `d%*+,-.024 : :5 A A6 DFLT&cyrl6dev2FdevaVgrekflatnvabvm&blwm.dist6kernHmarkPmkmkX   '(*,Zbjt| $,4<DLT\dlt|IRV0 < (V X.V  2FZn^Pf, 348 w 7E2 ?. Q>.=n[.%UC..:.=n[.&X.. .b.b.M.. =+o.Vt. /|}~" 8  8 /|}~  /|}~ FFFFFFFiFFF /|}~& (8@ w 7Es w 7EG):DL3434sL"==wy w 7AGG!lVv  &,28>D    V     *-.1u} "(.&"^vf $*06<BHNTnnnnnnnnnnnCL.wy x$Vn#n$nVn4\~wy w 7AGG!wy w uu7AGGwy w 7AGGs+++"*LBBbb       #$$%&'3 0BV )TZ`flrx~ &,28>DrBB;B|BmBypB^BtBxBTBmzsB8+|BBdBbBhhB|BBrBB|BBmBxBCrBBt)'()*+,-./0123juwz{|} p$vi* /|}~B!()**?@DDFF   !00;;BBDDFFHH\\  ##&&-25566HH//|s .<JZjz<:P.$%()    KVWb{{|~      ....,>Rfx &4BP^l!" # $ %  &  A &,28>DJPV\bhntzsJ"BJ1{s{Js{s{" Z(M:GHXJ{ JJ@ A 5;U[%) !$,-.1237@ADEOP!**?@25 $*06<BHNTZ`flrx~VVVVVVVVVVVVVVVV///////////////VVVVV///6. e &,28>DJPV\bhntz "(.4:@FLRX^djpv| $++_<\$< vww      ,\$,    >9$4<Bq7!!22G<\$<<e 5;=DF    !#$&,-./012/34|}~NTZ`flrx~ sx;'XXf|6H06hnLjp  8)*+3         8   83   &    8;y3  3  ;3   83 3   83  3$   8;q3 y 83     ;3   3       8;        'JQY(*B$ $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~44&&00*YPQ#$4&O98GFHmf"&O"4%!o% ll l llll l lll l lJ,  lm lp l lp l l l l l l l l l l l l ll ll m(p p( l l ll& l l l " l l l l l l l lpl l l" l ll l ll n k l l l l l;l l l lp l l l l$Ml  #%)  +##,&3-bg;jjAbbBjjCopDtF[fg h } m t   #%)  +##,&&-bg.jj4lm5bb7jj8op9;<> ?F &,28>DJPV\bhntz "(.4:@FLRX^djpv|Y8H38,j 28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz:nMnMn~nnnsnnn"n"nn1n'n{nnnsnn1n{n~nnninRnRnRnnnnnnnnnn:nMnMn~nnn~nnnn"n"n'nsnnn"n"nn1n'n{nnsnnn"n"nn1n'n{nnininininnn'n'n'n'n'n'nnn'n'n'nnn1n1nnnn]n]nQn"n"n"n"n"nnnn1nn'nn6nn6n;nonpnnnnnnnnnnnnnnnXnnnnnnn"n"nn1nnnnn"n"nn1nnn;nMn59:;=>[ z|}~  !%)0  $&,-.1234567@ADE2"#$%.012 JKLMN2 $*06<BHNTZ`flrx~LnLnVnVnLnVnVnVnVnVnVnLnVnVnVnVnVnVnVnVnVnLnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnVnLB  >p &,|s &,|F &,|" &,28>D|T31 &,28>D|T11z 4 =3F04f]jklmy`{ A A h h m v  $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz      " ( . 4 : @ F L R X ^ d j p v |   |6viY=88`Hjd3j$8,8,6 BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~J516Lb?\&H&O B B  B BBBBt B B  7FH|CC## 87BI F   B  B B B B B D B! B BB.  B  B B   pCCCDGCCBCGCFCBBBCDGCGGCGGCCCGCCCBCF  !"!"#$%%'3'034]a8hi=`a?cnAqMetu v m t   !"!"#$%%'3'044]a9hi>`a@ciBknIqMuv A Aw x h h m v  &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz|6=8`jdj$8, hrr|4b||hh||||||||dzzbbb||b||||||||||||||||rrh@N@@@jjjjjx                                          9;<>&(*8:<!#/ZO( /2  =/< 1$&Bb?ACEGIKMOQSU   % & ' ( ) * + , - . / 0 1   = o 3 4 5 6 7 8 H I J K L l m n o p q r s t u v w z  $ $  $  /_ $/29;<>&(*8:<!#/d9;<>&(*8:<!#/n [P \P $PF/2.=2    # $ % & ' ( ) * + , - . / 0 1  # $ % & ' ( ) * + , - . / 0 1  % & ' ( ) * + , - . / 0 1     % & ' ( ) * + , - . / 0 1  # $ % & ' ( ) * + , - . / 0 1   3 4 5 6 7 8 H I J K L l m n o p q r s t u v w z   [ \ [< \< [< \< P 3 4 5 6 7 8 H I J K L [Z \Z l m n o p q r s t u v w z ^_`abcdefghijklm     : ^_`abcdefghijklm        &'()*+,01456789;<=>?@DH[\^`e&(*89:;<=?Ads !"#$?ACEGIKMOQSUWY[]_acekmoqsuwy{} ^ % & ' ( ) * + , - . / 2 3 4 5 6 7 8 9 : ; < G _ ` b l m n o p q r s t u v x y z ^_`abcdefghijklm     l&RP_,p^((((22222  2((<FF<F<`(F(<((F~~(((($# #=<=&& ((-)) ** 00F11*44 55Z66 995::;<'==F>>???FFGGJJKKQMMRSTUWW:YY1[\]]I^^ooNM - Z   ---- T     FI***T**        :::&&5''1((5))1**5++1,,..0022446688'99::;;<<==????AA?dd)ee$ss(tt"   51BBCCSDDFFII@JJMMNNSOOoPPQQRRUTT@VV[WWZZ[[@]]Y^^U__m``aa@ccnffgghhii kkllmmlnnPooppqq_rr ssavvgwwxxPyy`zz{{f||~~dcj[,+6,!74+4\6+!,,E  %%R %R      ;W%67H7HVV4  !!!"";##!$$;%&''(())**++,,;--6778899W::%;;\<<==+>> ??G@@OCC>DD.EE4GG>HH.IIJJKKLLMMNNOOPPQQGRR VVWW6YY+ZZ [[X\\J]]X^^J__>``.aabbccddii]jjkk]llnnoorrssvvwwzz{{}}7~~E7E4!!!+ GO>..A3A3A3A33 '  !!'""##'$$?? @@AA BBCC DDEE FFGG HHII JJKK LLMM NNOO PPQQ RRSS TTUU VVWW XXYY ZZ[[ \\]] ^^__ ``aa bbcc ddee ffkk llmm nnoo ppqq rrss ttuu vvww xxyy)zz${{)||$}})~~$)$)$("("("("("      !( 18AGHLRV WXlopqrstwxxY|<#=#=NM ^ ^ Q % / 3 8& 9 < ] ^L _ `D a aC b bD c dC l v z z 9 9  0 / 8 B B B     k h  ^  2 K b  i e  $T[ \]2^m  2)7 7=.9.&&((,,4466992::;<#>>??;BB=FF GGHJKKLL-MMPQRS TTUU VVWW XX,YY+ZZ [^__5bb=ooDCP     ----       ,##,&&2''+((2))+**2+++,,-- ..// 0011 2233 4455 6677 88#99::;;<<==;>>5??;@@5AA;BB5ddeesstt  P ,2+BBDDII<JJLL MMPPRRHTT<WW[[<^^H__[``aa<bb]cc\ffgghhjj kk llmm nnEooppqqQssStt uu vvXww xxEyyRzz{{W|| }~U Z    %$%13$"$J1&%"!'*/'::    *    803"&  !!N""8##N$$8%%&&''(())**++,,8--..88990:::<<>>??0BBCCDDEE"FF'HHJJKK0LL:MM%NNPPRRTTUUVVWWXXYYJZZ[[I\\?]]I^^?__``aa%bbcc&dd/ee&ff/hhiiOjjFkkOllFnnooqqrr$ssuuwwxx&yy/{{}}3~~!3!3!K!K!"'"'1*1*1*&/0MML@L@$%$  #  !!#""###$$??@@ AABB CCDD EEFF GGHH IIJJ KKLL MMNN OOPP QQRR SSTT UUVV XXZZ\\^^``bbddffkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~                18HL_d lo pq rs tw|97.7..DC _ _ a a,   > # $A % / 0 1G 2 2 3 8 9 G H L M O [ \B ] k l w x y z z { ~   6 6  ) ( 4 >       T  Y V $T[^m-8 &&(*01 46 9?FGJKMMRUWWYY[^ oo$%&238?FJMRS]^_`cmnopqstwx  y  z{&,..002244668=??AAdestBDFFIJLRTTVWZ[]accftv|~      $%-&7@6CE@GRCVWOYdQil]noarscvwez{g}imnv$?fk#)(=18cALkRXw_d~lx| ^ ^  % / 3 < ] d l v z z           ' + , - . / 46: $;TmTnrs< YJJJJJJJJJKKK KKKK$K*K0K6KLDLJLPLVL\LbLhLnLtLzLLLLLLLLLLLLLLLLLLLLLLMM MMMM"M(M.M4M:M@MFMLMRMXM^MdMjMpMvM|MMMMMMMMMMMMMMMMMMMMMNNN NNNN$N*N0N6NODOJOPOVO\ObOhOnOtOzOOOOOOOOOOOOOOOOOOOOOOPP PPPP"P(P.P4P:P@PFPLPRPXP^PdPjPpPvP|PPPPPPPPPPPPPPPPPPPPPQQQ QQQQ$Q*Q0Q6QRDRJRPRVR\RbRhRnRtRzRRRRRRRRRRRRRRRRRRRRRRSS SSSS"S(S.S4S:S@SFSLSRSXS^SdSjSpSvS|SSSSSSSSSSSSSSSSSSSSSTTT TTTT$T*T0T6TUDUJUPUVU\UbUhUnUtUzUUUUUUUUUUUUUUUUUUUUUUVV VVVV"V(V.V4V:V@VFVLVRVXV^VdVjVpVvV|VVVVVVVVVVVVVVVVVVVVVWWW WWWW$W*W0W6WXDXJXPXVX\XbXhXnXtXzXXXXXXXXXXXXXXXXXXXXXXYY YYYY"Y(Y.Y4Y:Y@YFYLYRYXY^YdYjYpYvY|YYYYYYYYYYYYYYYYYYYYYZZZ ZZZZ$Z*Z0Z6Z[D[J[P[V[\[b[h[n[t[z[[[[[[[[[[[[[[[[[[[[[[\\ \\\\"\(\.\4\:\@\F\L\R\X\^\d\j\p\v\|\\\\\\\\\\\\\\\\\\\\\]]] ]]]]$]*]0]6]<]B]H]N]T]Z]`]f]l]r]x]~]]]]]]]]]]]]]]]]]]]]]^^^^^^ ^&^,^2^8^>^D^J^P^V^\^b^h^n^t^z^^^^^^^^^^^^^^^^^^^^^^__ ____"_(_._4_:_@_F_L_R_X_^_d_j_p_v_|_____________________``` ````$`*`0`6`<`B`H`N`T`Z```f`l`r`x`~`````````````````````aaaaaa a&a,a2a8a>aDaJaPaVa\abahanatazaaaaaaaaaaaaaaaaaaaaaabb bbbb"b(b.b4b:b@bFbLbRbXb^bdbjbpbvb|bbbbbbbbbbbbbbbbbbbbbccc cccc$c*c0c6cdDdJdPdVd\dbdhdndtdzddddddddddddddddddddddee eeee"e(e.e4e:e@eFeLeReXe^edejepeve|eeeeeeeeeeeeeeeeeeeeefff ffff$f*f0f6f<fBfHfNfTfZf`ffflfrfxf~fffffffffffffffffffffgggggg g&g,g2g8g>gDgJgPgVg\gbghgngtgzgggggggggggggggggggggghh hhhh"h(h.h4h:h@hFhLhRhXh^hdhjhphvh|hhhhhhhhhhhhhhhhhhhhhiii iiii$i*i0i6ijDjJjPjVj\jbjhjnjtjzjjjjjjjjjjjjjjjjjjjjjjkk kkkk"k(k.k4k:k@kFkLkRkXk^kdkjkpkvk|kkkkkkkkkkkkkkkkkkkkklll llll$l*l0l6l<lBlHlNlTlZl`lflllrlxl~lllllllllllllllllllllmmmmmm m&m,m2m8m>mDmJmPmVm\mbmhmnmtmzmmmmmmmmmmmmmmmmmmmmmmnn nnnn"n(n.n4n:n@nFnLnRnXn^ndnjnpnvn|nnnnnnnnnnnnnnnnnnnnnooo oooo$o*o0o6o<oBoHoNoToZo`ofoloroxo~ooooooooooooooooooooopppppp p&p,p2p8p>pDpJpPpVp\pbphpnptpzppppppppppppppppppppppqq qqqq"q(q.q4q:q@qFqLqRqXq^qdqjqpqvq|qqqqqqqqqqqqqqqqqqqqqrrr rrrr$r*r0r6rsDsJsPsVs\sbshsnstszsssssssssssssssssssssstt tttt"t(t.t4t:t@tFtLtRtXt^tdtjtptvt|tttttttttttttttttttttuuu uuuu$u*u0u6u<uBuHuNuTuZu`ufuluruxu~uuuuuuuuuuuuuuuuuuuuuvvvvvv v&v,v2v8v>vDvJvPvVv\vbvhvnvtvzvvvvvvvvvvvvvvvvvvvvvvww wwww"w(w.w4w:w@wFwLwRwXw^wdwjwpwvw|wwwwwwwwwwwwwwwwwwwwwxxx xxxx$x*x0x6x<xBxHxNxTxZx`xfxlxrxxx~xxxxxxxxxxxxxxxxxxxxxyyyyyy y&y,y2y8y>yDyJyPyVy\ybyhynytyzyyyyyyyyyyyyyyyyyyyyyyzz zzzz"z(z.z4z:z@zFzLzRzXz^zdzjzpzvz|zzzzzzzzzzzzzzzzzzzzz{{{ {{{{${*{0{6{<{B{H{N{T{Z{`{f{l{r{x{~{{{{{{{{{{{{{{{{{{{{{|||||| |&|,|2|8|>|D|J|P|V|\|b|h|n|t|z||||||||||||||||||||||}} }}}}"}(}.}4}:}@}F}L}R}X}^}d}j}p}v}|}}}}}}}}}}}}}}}}}}}}}~~~ ~~~~$~*~0~6~<~B~H~N~T~Z~`~f~l~r~x~~~~~~~~~~~~~~~~~~~~~~~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|Āʀր܀ $*06DJPV\bhntzȂԂ "(.4:@FLRX^djpv|ăЃ܃ $*06<BHNTZ`flrx~Ƅ̄҄ބ &,28>DJPV\bhntz…΅ԅ "(.4:@FLRX^djpv|ĆʆІֆ $*06DJPV\bhntzˆȈΈڈ "(.4:@FLRX^djpv|ʉ։ $*06DJPV\bhntzȋ΋ڋ "(.4:@FLRX^djpv|ČʌЌ֌܌ $*06DJPV\bhntzŽȎΎڎ "(.4:@FLRX^djpv|ďʏЏ֏܏ $*06DJPV\bhntz‘ȑΑԑڑ "(.4:@FLRX^djpv|ʒВܒ $*06DJPV\bhntz”ΔԔ "(.4:@FLRX^djpv|ʕЕܕ $*06DJPV\bhntz—ȗԗڗ "(.4:@FLRX^djpv|ĘИ֘ $*06DJPV\bhntzšȚΚԚښ "(.4:@FLRX^djpv|ěʛ֛ $*06<BHNTZ`flrx~ƜҜޜ &,28>DJPV\bhntzΝڝ "(.4:@FLRX^djpv|ʞ֞ $*06<BHNTZ`flrx~Ɵ̟؟ޟ &,28>DJPV\bhntzڠ "(.4:@FLRX^djpv|ʡС֡ $*06<BHNTZ`flrx~ƢҢޢ &,28>DJPV\bhntz£Σڣ "(.4:@FLRX^djpv|ʤ֤ $*06<BHNTZ`flrx~ƥҥޥ &,28>DJPV\bhntz¦ "(.4:@FLRX^djpv|ħʧ֧ܧ $*06DJPV\bhntzȩΩԩک "(.4:@FLRX^djpv|ʪ֪ $*06DJPV\bhntzȬԬ "(.4:@FLRX^djpv|ĭЭܭ $*06<BHNTZ`flrx~ƮҮޮ &,28>DJPV\bhntzȯίԯگ "(.4:@FLRX^djpv|İаܰ $*06DJPV\bhntzȲβڲ "(.4:@FLRX^djpv|ijʳֳܳ $*06DJPV\bhntzµεԵ "(.4:@FLRX^djpv|ʶֶܶ $*06DJPV\bhntz¸θԸ "(.4:@FLRX^djpv|Ĺʹֹܹ $*06<BHNTZ`flrx~ƺҺغ &,28>DJPV\bhntz»ȻλԻڻ "(.4:@FLRX^djpv|ļмּ $*06DJPV\bhntz¾ξԾ "(.4:@FLRX^djpv|Ŀʿпֿܿ $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ $*06DJPV\bhntzĀĆČĒĘĞĤĪİĶļ "(.4:@FLRX^djpv|łňŎŔŚŠŦŬŲŸž $*06DJPV\bhntzǀdžnjǒǘǞǤǪǰǶǼ "(.4:@FLRX^djpv|ȂȈȎȔȚȠȦȬȲȸȾ $*06<BHNTZ`flrx~ɄɊɐɖɜɢɨɮɴɺ &,28>DJPV\bhntzʀʆʌʒʘʞʤʪʰʶʼ "(.4:@FLRX^djpv|˂ˈˎ˔˚ˠ˦ˬ˲˸˾ $*06DJPV\bhntz̀͆͌͒ͤͪ͘͞ͰͶͼ "(.4:@FLRX^djpv|΂ΈΎΔΚΠΦάβθξ $*06DJPV\bhntzЀІЌВИОФЪажм "(.4:@FLRX^djpv|тшюєњѠѦѬѲѸѾ $*06DJPV\bhntzӀӆӌӒӘӞӤӪӰӶӼ "(.4:@FLRX^djpv|ԂԈԎԔԚԠԦԬԲԸԾ $*06DJPV\bhntzրֆ֌ְֶּ֤֪֒֘֞ "(.4:@FLRX^djpv|ׂ׈׎הךנצ׬ײ׸׾ $*06DJPV\bhntzـنٌْ٘ٞ٤٪ٰٶټ "(.4:@FLRX^djpv|ڂڈڎڔښڠڦڬڲڸھ $*06DJPV\bhntz܀܆܌ܒܘܞܤܪܼܰܶ "(.4:@FLRX^djpv|݂݈ݎݔݚݠݦݬݲݸݾ $*D>;Bvt|dVime,1*psse?VJTW,lew||e/=IVH7Zeln+/D%$6")"(BR$)4 - |*)+65  qH u552-/?/ LI4+~H &52 ^|D>D>D>D>D>D>nt|d,1,1,1,1????mm||eeeeelnlnlnln"//<<1- - - - //552-/?/ -/?/ -/?/ -/?/ -/?/ //&52&52&52&52^44^D>WD>D$>$t|dt|dt|dt|dVime$)4 mm55,1W- ,1- ,1- ,$1-$ ,1- *)+*)+*)+#*)+psse65 ss5?W??$?$?2B2VJ#TW #qH  ,le ,#le# ,le ,le ,||552|#|5#52||552{{x|B|552We-/?/ e-/?/ e-/?/ H7Z~H#7Z~#H7Z~eH eH H ln&52lnW&52ln&52ln&512ln&52l$n&$52"^")"()"()"(44mm4444>>22t|Lmm4444. . rr&&{MxB66  ||5F-/WW4477  rn%5hh$$$$$$&&ppmemeYR4 Be"e ByD>?e-/?/ ln&52ln&5D2ln&5g2ln#&5q2ln&5g2D>DD>EW44*)+JTW qH$e-$/?/ $We-$/?/ $$memeYR4 *)+KK||552@@//D>D>,1- ,1- ??e-/?/ e-/?/ H7Z~H7Z~ln&52ln&52###e#H Spsse65 ssPP**):"(:D>,1- e-/D?/ e-/D?/ e-/?/ e-/E?/ W"^uuD>t|d0,leeEEln00,1-0 B44H7Z~"^""444444  44)44 ,,44*)+5 55 5555IIRu552552<<B//kkH"Y" O&52//33e  ,,??  44E6?nn''::::U\TRaaaaaaaa=a?aRR<aTTTaaaKaBJVLuebkeD;Bv,)"(psee?JTWw||e/Ie"%$6ff?"## ##   -/?/ &&-/?/ //44t|d&&t|d,1,1ss1BB??Bss5588nDnD>44;Bv1ZDZ,1&5Pbbwpsseenn/=It|de8F%$6sDs]R  ZZAA=@@,,  #F#- wuBJBG !!uu??-/?/ 88LI^kk 8F83+\\))- - 5555  BB^9G9RR>>  VVIImm@@rr&*&U>}}//>8>>bb$$/ BBDJGJ33))3344  ]  FF  DG&$&$ODOF55  55 [[88zDz?G?rr?? AAt$|d$DG"D>,1- r\rrww&&$$WBBBBe-/?/ ////==88W^88^88^]]33 D G : :<:<:%%  44$)4 =D= G ||AAffHH'' d:d%:%V4+55   "" uDu8G8mDmAGAn4n99DAFA]@]*F*h@h,F,##z|=L>,,cc  ****7ull55==//4( //;;//= === **55>55JddQ\DnnYY''A|\//PfLagOgggOggbaggggiaZZa00g?agmagvageg|avvvama;Ju,00a)aa=aeagbTTZZm=)?P''552440aLI//BR$)4 |*)+ :qH}LI44gg+aggppTTaagiaaZaTTqqahhahhaTTTTTTa00g?a00agmagmaaxaggTTvvamaaagaJaaaaaaD>;BvBR;PBvBPR;mBvBlRt|dVime$)4 VPime$P)4 Vmime$m)4 Vime$)4 V8ime$8)4 ,1- ,1- ,81-8 ,C1-G ,1- *|W*)+psse65 pPsse6P5 psse65 psse65 pGsse6G5 H?H?gJTW qHJPTW PqHJmTW eqH,PleP ,PWleP ,slep ,8le< wuwuPwPu||552|P|5P52|e|5a52|8|5852#e-/q?/ e-/R?/ e-/?/ e-/?/ /=ILI/=ILIH7Z~HP7Z~PHP7WZ~PHg7Z~oPPRPPeYH PePH qemH 8e3H oQn4Q52ln&52l8n&552ln#&5q2ln&5R2,,D,P,DPPP%$6 %$6 "^)"()P"(P)"(65 RH 1^1cc..DP>PD>5D>,D>,D> gD>sDP>PD>LD>LD>nD>qDP>P,P1-P ,1-5 ,1- ,1-, ,1-, ,1 -g ,1-s ,P1-P ?5P?PPe-P/?/ e-/5?/ e-/,?/ e-/,?/  e-/g?/ e-/s?/ Pe-P/?/ 444444544P4P4lPn&P52ln&552QQQQQQ5QQPQPQ"^P"^"^5"^oo((..################{>H>>**q4r5      qqq]q]g eqe*e*eee]e^eT^JK-/?/ -/?/ -/?/ -/?/ -/?/ -/?/ ]ege e e e e####  -/?/ -/?/ ################{>H>>**q4r5g eqe*e*eee]e^e##############D>D>W`LD(+euepse?W?v b&&&&""  ekeffUTamaLbvAKUh\hAThTThhTA27?mT|d+vAu55&&=gVH7Z+/DffJTWD>nh4h4A>ee)*)>//7700H zDz6F5 JDTW FqHDF@@@  kk''//TZZy1"(65rDr@F@ZDZ#F#bb!!wuueZDZ#F#;(;(aa54eWue) "JTW qHJTW qHJTW qH,le e<>N> e/=ILI&4@V4+V4++/D4444$*!f$)4  u552-,e||552t|d'*65 |,,*)+JTW qH||552~Ae&=u==g=<66 "eln&52U]DHm3[ht|d)"(Vime$)4   33a//*44<|  ""//,~,++$$VY+{{g88/"44"Y"222 a ( ) iBi|B|cc:le|D>,1$?lnPY$$He ?52$-$ &$52vv<<v<vy<vy<vx<vx<v@<vw<vv<<vz<<O<O< <<<<"<<<<$<<U<<<^h<^^<<58<<58<58"<58<<58"<58<##<2<###<##"2<###<<<<<"<"<<<<<$<<<<GA<<<GA<<GA"<<G#AC<<GA<<,,<C<,,,<,,"C<,<<<<"<<<<b<<$<<<vbv<<vbv"< << #<<v<<v<v<<#v<<v<<<pp<<88<[<88[<88"[<8#8<[<8b8<88[<<<<d<<<<d<<<<d<<<<"d<<<<d<<<<d<<<<"d<<<<d<<<>=<<<<d<<vv<<<<H>>**q4r5pseg eqe*e*eee]e^eff%q/{44  ghG3################ <<<<<<<<,,<C<,<< <<pp<<88<[<<<<d<<<<<<<<<<AA<<<<<<<<<<<<d<<AA< <<<<,,<C<, << << << << << << << << << << << << << << << << << << << << << << << << <<<<<<<<<<<<<<<<<<,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<,,,,,,,,,,,,<<<<<<<<<<<<<<<<<<<<<<<<<d<<AA< <<<<,,<C<, << << << << << << << << << << << < < << << << << << << << << << << << <<<<<<<<<<<<<<<<<<,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,,,<C<,<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<d<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<AA<,,,,,,,,,,,,<<<<<<<<<<<<&?F_nn4~~56M|l-./:;4=?6AA9DD:FN;QVDXYJ[[L]]M_`NbbPdlQppZrr[tu\zz^||_`agj&r).7nv     %((00;_L?R[_hlx|     & &' , ,( E E) I K* a a- e e. h i/ k m1 t t4 { |5 7 ; < 3 3[ = >\ @ @^ B B_ D F` N Nc P Pd Y ae c cn y zo q r s t u v x z } ~                     ) / 2 2 6 6 : > @ D H J O X [ j                               ,,9P A  B3K04k]jplm~` A A h h m v  &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv|       $ * 0 6 < B H N T Z ` f l r x ~         |6viY&"^=88`Hjd3j$8,8,դ''6'Awp-file-manager/lib/fonts/notosans/NotoSans-Regular.woff000064400001037034151202472330017317 0ustar00wOFF> $(FFTM>5GDEFGP gQaGPOS(lhTGSUBK`Mu*[XOS/2``bcmap! hNOgaspGHglyfQ t:headl56%Thhea!$ hmtxHIH>hrloca$- IL,rB\maxp uname[ postZG`prep$ hxc`d```b7 ճL,LJ{lʷ[{ʟAAU텢/Pa x߹^~ m d@+I=2GLOu2Ky:2J6/Tl| a ٍގR:-h:7H6om?ws7={ԍyCl_H;'4dE"㨧h2'c_Y7Om&Ù;w[d锖n_)6Əjt9V:!3[?-sP'0)rRyP:z CMGJ*S 1Hϻq:sVݾ5[#a3jyUt0Ȯv<6=λ8$_龗&z:/Lۮ蘎G}΃gŻGWo򬊺Oۓ8t޻:~-24C}KlQ@_ f-:V{oSMfw2͍.qZSo,I|2J)mJڜ#/>!f{@}:. jU?>+A[c_߁Mh qCx'zʣ+~<>?6{1x t 'Tp'}5pK,#<^J^\)V~|%~9]o{ {.aR)wKw;qyMRgCmlBW 9/cW2Ao͏Ʃws lgioOa7y?SB[eh6$x9q)g0?c'gcLe؝J|kN9u4k=ry~vRĿ?v͖1CRw&6w 'VL{.3˜;1v͑7m9iK Owq|{Cܧx0ݟ~tc#aW<3Z#.Pd?8MX|wU;G&ڋf*ֵ>8Gm\(_ی$3O2%Մأ׏J}nm~|~---=5G7A/ 9͙#,/usiS[ KWqDh5o7g9&k>cYȏЩF)ZOxv4~wm}[;Kur?l"eqj/sdXhj0ϯyt 9eR>* lj=/Hep ώ_͹Pfn?}θOCOoO$ހ(vn3|@lUBF|кDI<3=lO: u񞚣2gv'UG< E7'w/z5֑P<61?x,{1_W}xPt |7] Yuro\ꝘL/6~}˨ZRD._ap1ptc#0Y)7A7mLJ1. ـW7`q=0ģJOP~>}Y}~dk$3qoZx$VgSx]'Izmx;j"=2驱?Et>ɉ?O`9x+yVֻ[!-7Nǣ/SHW͡kgK3b!amf=}!Wg'k+C,u&ᡌb~pi%Hd0|ȕw65!ȧ_$6^^b|_x>R~[F WF1e6*C\F -y<F/UcucpzȕVhδ<f QC> M]0F}~Q(58-awdh7|9՛0>k␫B\Mw_[;5\ ˩NAXLv@r&]: PZnEz&q''w6zk~)M뮽KM\Zqoj_r%4ָu|bӂ_l@??Þ@'C=<)wO[ƶgo<~K2_PYɏXp?x|v{/Rg%5`B}9]O ٶ|$*߃?]p6ݐ`Ԡ l f/x /AWAѠ:`ST0k77uvrEzu=vV M֕3Ɯw7:a-Q-,ט:Wo[4XC S+FgC4Y_:&k^uR5q˟Aj]‘7FiDȯtGE$^v.H;PLŴa Fĭk} hPb-LEOelΎU_W׀qn |D|~vxJwtdFOS=+S 4I6b|w{FG?Jl=#HoKvH.=sdpt}ʠh[EĨq&bɷec_7/n~>:4b>5\ΆL#f 4H Ɂ9+-\kƻ2 ojP'Hoy^ig+ʌ@h]2sã >{sw< '6zo[mJchN:O0 fn>:Q}NNeZ);#;OJi;ngsQ5\̷TYQr+Ѵ?ؠP\N'iim1#7JQ41J2l;UH'N['b5#Dk(/9خum2Рv ry60K:YA9ѯk%=&SgQ?ri](z9rx{?)m ^uf)a̗A) ަUw0'Z®{7:X]5B9ܕSU{Ls7T 9T5ӽ'p7DuWB;lKoG01Np( M`T+sUQ4bJeQ~vR}2+q^a"]š2ƠW ( ~^]|٦bdlb^HKu:tpN)N1sJRWB΀!%3_^]h׽J;rJ7]'HzAk=`W N6x3:ɉfHh4ٟg[g}OCՏ/hǴG]d-ϑxu?yOg f {ReM3mP;D*T6+;:J{(ؚ 77?u{ yGs___ڂbpDnU\ͼq0_M-a?ܡx8a-~ l9Tc ]<\̎aT%S[l[)ߣem=Vu3 ʝ[cjlgp/3ѳr>| P[Me5G׏hq!-ig H0eE?:7.AA|_,cفN<Ϳ-0%Đ*Ͳ3Yz 9 Rսj?os.z@FU}ޞYai [̥$`5|:sں*(61A"h <&Pkį"EtTn56/u+9_0]F'k%!GBGv<5t;m{ubzwv2@2z\eᶊsafc˄v<) e ^I3;K'0AAGLk/Ç'%NO;ߔᴡ礟$ꅭ >2OĞ%[~֓h;9˜e,A;yyWrSWX 4m@#VAy'h78\wZ+m鹥΁sImBm3nmv;1t (hW_WtMoB8:q(- CF]3)sc (O5msxh;M?:CC!S3ތ}=+{8$ =Տs(y\ae5L`z:۹?'Fk5@OC)۳%\Smk4N[zxgRO~vj;^D!87{<} yEqg9 ʷY_&#aï! IF?jկ=3}ퟘ}vY~jF' +2dck:|. nZ~@ؗONz}dwBgqq޾tY?cg3|1& &OwOݫIz$ul.ַwrA6:?/8WZSO>W}CΏޕuVtUX;/WJ<-( ~uq+hNZ ,=#+'Au7 mߍr/З{wVs5i/g}䙞uoq=g}x7S_Ǫ^v{rR+:<$cOzLq춀f/$\TNz~S-R'}w;1L`AT<g] 2otuY( WHW#]3aL= } f U=g~@36O3[z=jЖJ؜xœYLW}wQKg/,Vk}ߵdX6nhDDQefPqEDkޘhT-Aze|𭏞{O;9p#\GJ@Uk̟T32!ԨtKWZFJ*r-!o GZ)R+ʷʬ茘1nvM+ہ^8šZjkmmI- 3M̓f[ݸkd+ir;r\+]Y)˗AO^|AoЗ~: 3 c8#(F3c<$&3Lc:3,f%sDK2:lf ؋G?c8ip "5Ru`Bq{9SOVI?i?fn_)|w6*BspD8$ (>񫣏?bV'.l6,}c7)F#(0(2 ?p<xڥgte%-(vTޫ MTTTP@0`ETT"tRJ'! )'Ԁtl~̚ǬuVg}r%Hq%B OG M4G;~hAQO)A, %=>/gUOTށb[WCpQB<x> 9 xHz y>z?ð?;ϡ&ǜ IoNr}HbEi,ʋ3bzJ-DKAK %p/+KIKQ%{ :KR'`Q F)`Q F)J)jJ)ޗ̝x5𲸗5Prܝ_P9Z<_ʛO<+>W_^ExUWѾV4׃*S̫J0+J0+ìl+ >VceS*tW *UiJoU|S jTç>{³'<{³''_uWUw^Uǯ:~'_ jW>5ϓ'yښj鬦vijzj_KZzҳԡV[^xP:ԹL:z1:s#ڙv˻˻)gOԝx?w=zv]g٫zۧ$O3»i ¬Ӽ| /Q:>s> ph@OZcChȟ~y//`Fz4e_ د*^Xrc^4 &=SSfonox.o9xS=lz5\󪹹6)O|S3c+/n ZBv--̫%ZߊWo5־ mh;Yq~8gq'?N~[ym嵕V^[ym嵕vç..^(x}i=^x{oi{;lڛY{^jo=-h`o;``:ǎftq'~tƧ3.8vq.޽.̺n~wз=p{sOS9}`~!|{y `#~,c=>' y{~ԗ}L?@?/y^ZD"~-9>|M!~^,k1]{ Z̯[,Gy?#?G؟%vt K~,1%,g K/U\Ұƥ/u)e0\veΖٹeܧfwW>ip:A|>!}vMGqQ|Q:ڃcc8>&'t3Hnfnzf, 3hΰ?븾ǽ'<oN_'II\O;S4vvZx4<3j8?c_~eڥL34L=2q;Ygv8~ai8/:Ȼt\4wGhģK_r~{qI%pwޗ}" jW]\fp5^3 o3`Nj O/|Λvo˿WͿހ7v&nBA Blb~DE)NhATȍ&ݝU 7PB=3RGн'8zz)VQ_}C݄l0Ĥ #PC^bӳr 둪GGyTGqy4%=Px\J͏P8yϋ^:NP'Aqg{|i,?R@m< XԿ0 + Q(A(¼, 0 UX½ tƷ0E+Bc[")k}STU[bfRbV\megI: JJ\28Q粸]~rY *@wWгNͨ]d̶2͕},*0\L­ʿF[5? 驎;{:5Isj }- TgPWY]W85Ϻ8>/a=6 ]ڑ8חzNsrykzųA%5/QQAg}n3~?N.?>0OSgv33<78nj;}j9!x Q?|7ϡ6P_z%/ao]0:>p W8|ef_^|%gFtl$_k1opQ<m{>Fjxq|s>s7O$}&;\';d=w})8MsO|o=3o00g99f7G\skG<1 pػ_/B XLb?YbK/w)Me.7/ \pV~Z=Xſ'?3M?Y whVƌаkq k^X8lnch6z_7M|IQ"?a'I?IJ(ɹJ]%̧wP2}&}BCީSne=pm|+og~vܷ/wпCwoh]rv}">K~>큷^Gu/N`>zUOitSwP4޻c`_; ; 7BF8li> O:b#|<yGwTQyG(GyuG=:Qw c㐮_J;v:teː!/C^ y2p!88q8qpNx,N:coΘ{} طL<'fi"S^Ly(sW 3s_:y>Ͻ$t]~y.|GE.|>\2ݗLe^{W^{W^{W^{N\W󪝸jWqj'ڇ*߯߯pMkp ׄkB5wp_u:7--:o|Ƿ rb8CqA8Yx|4Ep'j"%U;g&&{ =s |> 1gq%?Uj,ES6نb+.xg(~vg~sɡ&gTI {EGbQu) 1D\ps&ݹ`䂑 F.KNn9 #7ܼ-''>y`䁑9'|'>_y<q<.'䇑F~3/'Ч>`Q? (B =pႸIAoB|+k!z (B2Sp UX^a *Oa WD"W"8w >E)(-E(btñO1gfqueqUOy0,8PW%.$̒0K,kIJ\R|+c)KX ^)xVWfi֡©K;{)Rhgܧ3gp}γ~Vgk<ǿ=YG;zg;w7u>=azC̥'zϏf1-do>fч>fF_O}83@3 O>>T7H}{1yCy5/×<vK^ S7`mF؃ڜ{yh}h^y#g 2ٻqp6_|s"'Ÿdd4ά܅Sx>| ST1SiOliptz;x7gLsYtR?KYehlg8s\==< h[[D"$!7 /bb{7{G~4q%j಄K]R2-]e'4_z}>3ߏ~>엿Yiޣ4gi. |<`tRH0mawQ>u~cvԧ㖮w 3ˀq= 3;v$];Ej)PYB4u! gE`~E }W⧂H %x\_J^)?K;/]O |K2t[V;E!Rs^r_8D*[An+"+YZ9#TѯWš*]VG5XO SݳzTKyU'[MmZoHݪ˧pJ}=41gVg>yNM# 4Dv "/}~Kd6e9/2^+x՞ʋWzp45&5|_u\ijMi7 훾ǘy=i Kkg|m-`Šůږ7hi-{ՊVV[{+ZԽ۞ַ5/[;{Ն6MٽS#Nj83V~qG[mikglG[;Vv8E;jg;ov߅.wkzGz;sƳ=lg{a{ݞ`>̷Yw0r:`W:Qtь;)y'{҉םG'uֳ3 iLCg{vSwgE^>v ]JSWz*n4tn|Ʒnzv_~w7λk\{x?z{փ`'=IcOx,7{xpp}ү`d"]ٛl?vOpOpO.Ho8V^_'}qǾ|k7՗^K_?9'~k;gpM{џOW_wH_co~pTOy)|@s?7HAt s4 c{"C»!r|b}v(.C?T0PPP{SK/0u c]_+c7z$F:f9RHܾc_ޱ=#8ao.v|c(䏒?ߣ叆?Ѹ|418z:wcX6\ƚXXk, `5Nqz{y8Ύui&x> O{o[]gOy"O?$O|&$O3'˟l7&mmmy>)N3ESL|jSO5s4{=x14ϧ˟.e=t{1w33}22?Ӿ43w3y7w3{~qrό̂9 ,f5[f>\y.s3W߹vxsy.~s?Aw̓;?𜇧;id>qo.|Yk/Y^@B[HB<u"/H"Ipg z&@W,YLÏ~FеR|y]F2Lr\V_J+uU|\E*V j|Vp5ZwiڵpzZyk^kYu8pZG:^gG[zӽ.w 7 hؠz7ҽQύ6ۨnmo9lFjmxMm27&l&=6ݤ&uhJT?Q~"D$](7QD}'ꓤO$}IRO>IjI2$I'Of٬>Yf>nWn}>rI'Y~>$I'Ydu$듬6YmBW RJ-RK/)z ?RԦ“TSէOU>U}T}SզJ[*oR݂-8oy [pޢ|E٪V[*w[تV=6ކ6Ƈml6:᲍xl;q߮v]o;ߡwC;ߡNwS;ߩNwS]]v .9ݭn}w[n}wnv/q >߃g{pC{Q=rWr+grK>8쓳O>9쓳~ZӰwKoQ4>љFg4\7ovw3ݎaO_< zݬow7|&7齉Mu7I-zo{[ނs[xޢ[m6oü 60oü ?'FA4A48Frxq%F^bd͢&ڻ|@[3hֲ³{߳2 ^UAbD@}DAy5l!ps,Gksv#GG>M F uD}(*jFny_y1QS[R}IJJPg-'YYYgeͨ圗ǣ<aק+ï̇tT_P鮢OZ؟*WUxXU̡*_yP5pzRf^\j˭OYOӸ=cϚ[}>y P Kve; 44ƽIN&r &󚞯z>7f~6׌7}7վI{1C{ b&V 1v-Ʈ59?hKsڛgsbsޏXw,ͱv;֞zbGޭXO 9-xV -tVhDcfm/fߎw.xu@KG>uM'u=—pQw{ؙ=^?ۜj}Jg 3Cʣ޿/qv/#eFׯ7}C(G9ڬX1NxMщtNR?Ywf3tt*S1ib:2ݞΰ?fx>=;|=x4Gy9Nsϥg>?}ϓ;sw|9]>-]a yYHlt!Ef/b?G8_~]v.iYaOWߕzK?Oz cu٬g ?x?v ?[Zx䬇z zmnk]rw;F7c1uwnqh߄&$a^I洙t?ESP4U{Mtr?DO[ym8_D뽃;i ;{ݴ=|; 4q@߃QFq#8‹?1$NyFy<:ͷ33q40=_Jzshfxq%u2+ޣf^\E'̿<˳o8|< }orxޢ6[-nٵ[mYbj% KdwKH< Y1/V q#Ȓ,=Ů ]EDKznnuYkFvq癜{B=p&`܃ܣ=g,{} eyׇg)D^xڜ}`Ź$YdyhZmYZ޶<$ycv& `$2B%---}-ZZB -MX-ⵅB϶'q7<+ $Onqp75^g>8#ǂHL dDV%Y̶oengg/B>?//j4 (v"4Ӫ h7x_od"WG|w 7^-?j#8@p_?Ρ?uO#g@A+q{ h.CCyMȥ@hը;7Gklcnx~6+z^ hsxp33E5%M(ʤO*22#P ~7^X؜ bo\O[ڢ-c6Hs+'mhwϪ炣{}oh9%M0DjK{?Y rfɈ~FX<Յ5CG>LَގYsx8f볬AA*o AbyEt d T ET4BŜ] 0Yh C>0Lju=>)4 NYF;ڊ@J 6d`-R(pnh4=TTYU"(u0Z=k5Y-u-U229qFe* ӄ)|rĂ6^h>a92uiޣ,LJg& O YYA{,@4Mj:?4eι;rbg6(nt@AvDZR9a2Ch <j0UPc6MZfV|"@(;zp'SkG:avlkxn[\ho>pڮN{/D։fFxVn3` zOwΆ=1ͦZqp| p|| Gi,=]Xсu4MF^iF#C@a {\  S:uؽ?y/aMт}TџE jq ؍{*ozO?_C{C9$`3) o2"EubpLUN&KzDkh˶*69 <,yD3U\),ȕ|[&D58MA$x@0r q7B ͛kGؤv:]$"hO}Te(Ҷz랓Uօxp|(+Jpz5- Kf{Vg;>ء3ko7[֠>ӏՖ_)JuaD$GnX/3m4S.J3DERo tC Sh^̜BKrE@du.3\_{CmhC7O4cUMOX)tQ(Zh,m*t>-?G2 ,Fۮ޻pUl8q-VSk[ޞ)g [3u45BkHn_ g~~vL3Xλ隅_aE4|G-&%` ~/-l f3v,t >9P (1pgWlZ\fۄM+&u٧_:e#U\w׵}R%hXavt9VH|0ubxlmԷv \ZBv܎D `o_ +T~jJu:w }$ E$Y2*8gxYIR(IUR s!<\>+Ű %jP|[4[ kʨ4`B|?k\4 :kD0g\)Ba/̇-h'dFp _!.KSLn69W-'o:ܼD/޳y3ܴё3뮻8}{n^DœJw`uOfgٍ3s_6Ou FHXExy@=rHRFRBh?my>` ڸ-K@]s0l}aͣ7?7nqճesN ϶S5G*-~ >EgIuK1x&:V<>=rl]Wٕ+Xp75 hbB/W,i˩Q4enǦiyz$!RmoANDD+N\stxl|j`杍s]eyAZ~H')RdD#;MTf#5|}Fx,$Ao{vh,g7bURXH߈'rˋS2\G15bAs"AFX,J/02s3o ul@G['V >!dGBq_ꫦ,UdjBnoR׃` g;ILwW8[pXl"l P}*ch/ #G}k<65,5+mJ @U9 H-΂g#T-xZq? ̃ZZ4S~fܛ)MȯLW)Rər!wgJn$E*%+T`\5^+Y&)-3ma$#S'[mݝ"ޟ%SfSJ}Ņ-2ok N) \0GPٽgS+Q WEaBnv=r/QﮚMY;SA3 ˯ɸM5u[bl]mνmpj}KSsvi&[)f<*U>&c<ܡIrfꎬ$ ft޾ƺh4>2e2_[H=Mc㲙u[&&ײ:@kiM1IK&^ 7H-tcmPN_GaAguGb]I+74F&6zXW'|.%bC\t^78>>m (B:prsy4I8B+Cx1#h-i}!|[DYA2SAP{h(y~ǎmMVhvD.ln*슨ӋSN>xG5S^! Ⱦ b x8I?_j`p rX oCǑp{E\2T |/;7~qHˌ/.ʘf/խ9yz,4Ө4Cd/KQQ -|Y[PɞtٱYoB Je<2kj`yԧHO'G߄D=Pp훉8i 6wx]ՈY}6q4#L@?fƑk*,v91cAhWQfC MÎ`[\!`دT{M5Ժfq͉C;4i4!>dF4c[c,1)r6;.m Evow= zk Qh>r_;ar<:.^;4ߠ G8@"B;7 ]Sԉ2"_i H4Mᑛ=}x,M_\q-븳nMf)#ӒaĊc"}74 ]BQqWzV9kѓ|.xU]㈻RS7;6 {`nmT:eEVѨR9J JyDi * -CstyL(Dj|#% 3~]af}Z" вuouҁG*IçJeUC;nh}l:83@c ÂD؄HdT(e*%[u W./ AiH@ZFس)zoXZcJHNΜiNSD4dbr4M- -÷wAFQH~`$.Usgn֠ iѼ ,4 L iC>!sߟ9r2siIgRSY'X }ݛK[kߞK%&3Ԯf2YG)xm #P/ch%w#ꨍ kN;@5!@2D8ذ

        A7Kp5fumΰ!^_1 7<)Uz~~Bі fR*lN%Djov,l2Md7A!(ԃTJQ&uUں5uah :/]J{0b7 T +eu:m{j3UwPezs5b)ϷVT^]+W(䵨W[箕),:/+hͯXRDtK }!-%ۣ/;מ `! e8JhjUi:w0 YwAi<0c?c:8'W0Jc4^=cv=?r-msnq\ -N : TeBFefTiɱ*}a2`klZ2E9JUX%KY|ąx ݖTfɆZ}~a&m%kj{+T^.ȸ=`5j%%v:eg~gKNW֞Up<"\H KW?ޮeyU֞T)c#8U$X܉$֭ĴqMp;]Ujs[ZSá,_1|5XBud: jL4o;Аu;d>^G&Ҏ@~89v|رꇁE#俘Aa26]`rx&*X\d$| ~AW]c|V{`w'o{Lupzr/&Saw(Ǐ>Wb_P3* |/9vL,EYk`Svy].p__CCCC_; ķ~/6[8[up:/<%w>aM |IHq+ }ޒXTTQp:kFʕWC _a4zhkJ`=ݽCyj_VV.5Fa_OJ|M5jK_fB a2]yŜ*ҕk GC_uVGR{JH\QRT#Ly鈍GUA;?g3Q_h& 5_<n]G&7@BB$"#=  w!皛<뭾8,NHv1iEa+)<Ũ2T/P )w!C|y!X`oSs_kh{ eG<BG?y3!!^+b:Hƅ{ iVa<~@nEIގo~>|jk'Ӧ_ ؘFi%r^I?Ȧ>gL]K1G`.L8s$y[P$8PЩ8!A-=L>4_ O9apm@%6/W  t"[-%[enI-DhBPWTmds*jKZ͜lNpc1e50$G?R†2Qp%jGxpc8oW 0h+uX$y}n S꿁~~vȺ2> &H/d{gy.]Nڏqף$w1 j^.AiG/艷#ovl oo|a`{N==P!ȹzo>fN_gv]0Q;wyp>ۏq̢tFr@5 EWI(j#D:كI6|6q\߀#qh.i9JWGۚv9LٖouZ(_*6AsXprhǐ9TWuAZa ZO揂t;`|5&HЎ\H+[8 턂Nu?PwYoynGR28ɳa/ N2&11`W(ښ7m醁k6XЉduW6]ڽ-==p!Ӫpύ7Ulh|0'MZBtC=MSCdMMXMcqɚzqM]W#ǹ䷿Ŷ Kn E.x r&Vk4Rxo˹F^o6;x ec1mXp`!F;v%4:ʋ k5+sԺY͠\;{Ljknj,նp(Z?^nBkmG N\,o%x#A;錀.Xi{-?Όs ߸ncvX[D[RsnW }iZ5$ tӻG" 0<2nei ?xWZa~QuCr0wO)(Qt>)U$0O# _Cwў LX:^ W i2=48@M_o iҕ >lZN" ,Gbt=_2> ??{1qV Gk^?pY x~o\}@Ag3"-KKbIRM >6`l&x,fx?^'ҾН-|1w? Z>$%{,lŜ¡;ulNN'/ DR8 DJ5YMx9!L蘊Vxin@iQ؅OѺa'hUDעuӋ/5EeDNe{&:⇤߈,v?i$DgOQ{%= 3"_gE9BKt'L;?% :!WUM'2&xigKiOc2h̅0[K]xؘuʳP!uU.{&DŽ.v]FoGwox"xE#Y$i$:~sX] rڈw!iGx!}"_& !늏ڧ= /1)`~Hʠ^tR}ց XQ pV4Ps6Y';qd >8":Ux o|NX:> 8\jO_L4;xQ1/ y|f"o2F6PDP($QBQ/.e3 -!}rfR ,VB MtDgΐ(rm;R1\d«#ǩ"!FcsTwK p6コܝg'|goI"|a?uq[}q9ou_󈳓L -goT)$J\*=N5^-;n߾OæQ77mz`뮻[M2hЄ$G`/$\`SF&i=-p捆ٺȆ[kfr'*+#H:"X4&ցP4|7e0zٙ;Apbh-VwLI,Lbh>Fګ_O8>: d|tݟďIIp <{5Ae8>fI?/w !<𧢳d")ci{ u2~3~#XO.ṗz-Έ_^gˑD\LV!dnp뭠m~@ 6̸$;8hW@uDDtŒ@ }?]oOOvi8T۰#B,$g] ` vv:PC2F'?Z=;34?^BB XMu ;˳`o3I9ּ"Y̆n$p R%&{(iV%P@YlSD(m)ɰniTU6kbW~%RKmYtd׻G cSMFdw.׃oC6JFKb;FogyEB{Hކ6?PP}0D;Epe܎W=\*\T74M`u8]6п/JI\9Hl1wGS;9l;K]R㡏rtR;頶>Y9*`#!  tUm`f]Wq"U&% 6/-8jXxuF|8!`3KS x9KҢ ӱ0?xڴ\Nx`99\NX()d9K`#oz$[vlo&su,S(3[˜ۃp:1;`ͶҶ2m9Qca>t=irba8=b ]('z=#URNk tBԩC@}4 \m-s;qt1и3ܦ0,^#5KRg!vIPK|U!"[wxwx֯}Q@zٽM] a\"I?k?7ɲYDS@,K򿬴bRdA$ .7R)-:' E"XUz%1#:΃T[s$p!"JEH IҟkRs";MjVuV\y~)Y-Rr{XS`T(vL5FJXLiSf\e3 +=y/L% 3S5Ch8g&pu8oM69̌Ms`5ұBg%d˙yUR1Za&`dshdq Nʰ(eI­q Ƃc@uDU--bee^i>~ ޽P3!I+)^={6mܳw />MkUh|kﺋCki, `gLf[`Xd8ŭf5IJԆv5kVe&<\h}ʹlGέ=xlmfa6zl~`o6oY3e:bNsn%T^%o_\\j΅esKn_[u`}kaghm%iim˷/|6pNLqhA"u.|01—"`W@ 1I}Ipвf:Tٯ\U ]9üÿdz YNө-^1근LCbG_JBha ].% tOh6\- .Ja\ @flhml<[HhMyC^C}a96 9z&M%Pm˴k'JZcuidm ] 6>J^1W9rMe{`*}+eAC9 R g!Ze2ŽEe*נɳÉn8Nr|/-h|R1M`AHrU%;rm@#QUp!]+[:WcL"#7[[`?VTI &Y/hU0bI[&%6 `3OILh*P{߁{=Vp gWô|F["^dk+۝ϳ51Gl||_]s'UbYIlo3 MjbK7| nK5I2bB|ia RIcU;'ixb2ak[+]4l O'^瘾ב+L}jZ*QPj}P'5%[ǨyHF23*.+Yb?sd&{ &y5GڪrBDB}'B=fiS"Yx! q<0?y . :@*'0.?JM؋]Wmo;yc>$:-X&a0iK=e~H}.T&WԪ3>RlXjBhl~~ckU߂;[1ibdX9 YIUpt@畁FOo1ʒ4o׻:z&G*G} `~{rr.UBZ7ku63Cդ\ lh"65o_5/֫fn~\A9yw4m_ & ;CQ "@Tu1LHQ%;5kG\{cԤd8xegćTR~:;֯c},wͭf7 PeOkp ly+w:U}3;Z޾يƽ-eia3G&#vQ۷2Eu0_F͆NV>FVF1B.-5-3pimsQkQh.n_'»6`q+LM ĬK 謠v0׃}-Yo} ]G&Пv Qiˊ$\(|\F5HO%vz)-lHC~~!wYLt32<;>W(q%xΐq|8qq|8qôM21qc؏Ƹ8%#Gܑ1GO?h,$YerH܂@&ky]|+Tۂ!e6;~YB?+%4^Yzsƕe,hŕ/`!lH+Z0xe!PdB>5vc}'(Ֆ֤k+tbv'>>n͉S%^ŕ|υ,G9D,^MK~Y ꁰ?K!kfa83NR_]Vzӏ|&k=neܖmg(U_8ma`?%_R +^D4N0hjI!cQ9(R㜈FLpKKp؏hV$\Rߞ,qU`+Yϝ &_XQ/V/0$r$Juˊ%dweA;"kIEe'L1K_N7[#޲y{L@jWsruVnX9Hu$ٷġSiakܮEp\$i{aJ#"yWx=q, YD%.v"gs%FJ vq;`Z?v~R]d7|j8.sxxbpzVqIl7Lv|6mqx^ 5 A.Uie蚚UHZyknIF{zyW 4w>tKd8 aa'B LG6Tdx<^X7f(2tz%dD5$K]̷kJJC%Wן{^f_QfgWXh,sVd" X {C0~<ؘ ~;k㼍LGk8b / [a GҒ$}FK˲|$-تV|Pblw]loȟ>xne]kqeDNd}冼*^_ޓ++i ,$ rLtxTy)v'e%ζ<׸74p9k>>_*]Ru.JUW*M궆+Z s^&(8v\j8@przF+.gvSCQ+uĉL7tŸ0}iQ:TJ h|./SrH9ZJ:< ҏ.RWvT!5KsR>^kjf( v)\MrKX/Arr_|u@[Hyhi're`jinqpYj[_>6Lr j%e# u[芴-;z4C;"嚹W5wwvu3g4|eT5a^/3pb9A(\<8]sW0 r5 PNV,"_}++:b.%zALqN, /^0J=QAK&ՕJ18̢#oʉ>_A[SRǙURkI`htJZj "v,{~]pC"4…=}O'~Om,i}UTʪ`2x+ r=_ ǗQ"҃̄$婚Dxs\q^.Wx'%mĿ m|X p!S6 y0g*O1kܩӠau?-X3b˲reۭ\q*znW2E|n;sc#%%W^SֹM.;ZHd0߈O S"ҵ˪kE/.-O׃ކĄҕ/(ٗޟ&&QeWrw=/p` 93M-ohMlӪP:<y阼'+ӯbOuw"avح>~}ټ >&k#1'U-R;+:V='>K\G3sq4ܭ$SO!ᑍ?,ghBc +Anz8X@U꥝--, 틠9"#Gxl~ 26$͸I9)DHLbHMLцUiUZi,ߘ;{;3i;O740gK{ -=wѴ~tkzȀ: ꖽ=Al;U++˿/2 ﰀoFхLm: +Ƭ' ]w]qfTQԷ8gs5MZ~zpjB/̄/t)rW~uf2/vsfvL=ʙJs#@E?/˒%),CȽ<16WGciZ8]FVsO4wG$\%^N]4[m^kV0&hX6#1ZmϚ2K7W9kK'nNȈјv`&Ysv09v'ln3~Mџ q2r$&7вD4%ZLԗް#O'5T7h2uPODA>*(-s0v-~'}]Z_qLeȧ&uX+ĺ=ѱ5IVXAϯ/ yZv. (FtdHbJV6R,X]KR)y'ɜ=ƋTpezsKdlܬd7d a8ⶸ#cWK`VJ}YOG/̃fl钇Ͷ~jnv-s4{ѵ[E윺ΎΜz]CWLLʔg(LJӛx]W?ViGu "8EnZm tz4}-uTot4Lw4KjrYʢ,t[/#Ni$͗KOOv\pa&6@u=z0ƜBN=c!I2Y=<]g.j#*d6aZyFZUT*ڼuU5+[QP;;+KLmMAcqhHydjtبסC!E,64LUFd^3o}4wY,Fos~i9ȗƠilƞ g %8bR4Q_P?B Jc6\ɏ"+ ~{63t,%\sc-m9=Ah "Q[Wϸ=cvvK.%;RJ1$2:lδ$-4~!?-s?}FU0-ǚrTuCX'T !,lz^/€`wsD[2T)byrzfXטdYҔ qZWS%էRs2ΧdjMfFQ#+UU\Q <[@!/RԷE:VZ45Њ<<#NOMN:QZ= w+]_XYvo) e/{Ӓ_.p, ʨ_Y6n%M+Ȍ &9"B w5q"A7 Y y įO޴q4~ttv^:&1#b!,M<]n%EI|Ie `"Y%)I*uK`H[(ԝ1}OݛěɨBgR*vۥ٩{-,, T vǨ4AȤT|ܖ!u` F9&ZyL )ۀيqiUy䦑R!o\yQ)z[>Jwk)ٴ!OhL|1( K<)ۡP|Hp8mP2a彚2.>!\ $ޔIH#îK,[Nh$~; {5~F~TtU3V^|GSVM~Z!`X|}IH_'C4M/\QCfTRi;ObqC8ysCD~\ o=P!@} :S _FrYYCD0%Z:XM./px5>YXN/mi /hN6=4ӫy=5*EsRl=%yӟu[o7j}WoIqI>hniÇNtÇz^ElX=#103/0G_sZ:SnYw|_ǮzzF{Fz{Qki| iٵ7 )s##)ó|"D4F't{V3Ҵ cFa< Փʾ %/òc\ZHƐ@pXVhu:V`i5Qt ,kbx{  pqYvV ju R^])z" Fb$_Vď|(2lˀIMj9=Ե`o],`Lf?!{b%ۖ@snn6փDTv.4=uي>ήwZfsU7A]Wƒ e Ƀ@!G2|ToߓX=ݟ?w;w;!bzq*q _>qRv|[ H]VGf)FƖXǵUpa x ^+In:HA;pKNQyFK^d>3kJnE-OoZiTTj2yɩ6|Y`/?\ɲeI^lK-Y+vdyŎcg8{H$̄f  Jm((PBR <9^ɒu=}~2D|u~xzJBz9`SUGm3)^kp5o14A׃:RĶåJE U$F3JɱD*yh{Y؈7H7w W7Oٛk:;]⺦v|PEp1V w7VPc]f`MccM--UbfCC^ \&8@a (ڦDh1ejS*us%k;qYѫqFˈFV|1Gcm"k[<]iyܠA򪱅Ӡ zOӉ[FO`:6p1 YOfEYqyqJWnC4S$6878t+"6~KEΈ Fs̼4ucn⎆Ϭ] $y,MlQwH$~ J){OVy`T."/CNuKibloy8]-px?|?ю/QhT5q`Iyx#zKip^ޭ]6?d[V;*+ZkfVex&[+wh7>i"1 O9(>Bâ4wvtcY#9y|oN  1x(r`nT<Ì] 0D}ꩩ@,tXӥ1cngэH@pjKC.9wrT$b;x=$;3.>0s60S.̇3g]oFAm1bǐ~Fr?_u!g> ;N!9w.)Tgls8W#kU:6'h9P~uˋT4~ E;x[ʴ/hmk̊. O"^7Db\l\&⍕¼G "EfF*+F֚1’,bį|3B`VUf1Վ~WkMHU'~EQy0<1[3Yw>x1*O2Ձ#w%gQК6g;Ma|,*[ =+ enƸ XaMyC􍉼/R}I/7`~g"Dc.B=)cYZj%9d_E$mB*/i/?Ȯz#tn#^y,!hD[.79"Loi̩אָ'_3蜞ffo*R'#_%& |%{wAO~~g_rXjfVO4lqG8BBKcqgZF8=1R)ru7ac]q$Vie̶Mx1Vi-:.qV%sSৄGphyse4ZNx핶rߝ1y Ĝi|yrzl9|:SWS;hF^v[)bRJuIBX/I2o3C*#X\LIW-^TO I<_ 27_Vx/l z=ׅW(Z: yE2OڸA:z702&+n&$|QDMf4W\\UMJOLEr?CoO0#:Fc{CiZߑ}CKݶm ;'F!S2YֽR;C#_h4EIJ Őł2PXX:ZŅA=zLRoTK+*OOg-B)PRCōT(Pd9}TL)=\a6Vn7;0NY5 g=Sd `%cޕ;u4YG}"ӨRgqǥ]~&}"x!-0qq$XKFMFb$P 3SvԧE3+Q:.|jfUJlejҭYabe]Vr:h|ToD2U 4O> uk(vF%=_š~ZB4$Z̦qiyW,5,ϙ_|$4@`cOh1P8 66qh4-+RT}} V$K RSeb,'0;bYajjL(vk<j@Nx9 wL]6^" ya5'e]/ɷ˖N\ ˱5+~C+soͺh ɃK j?`?rg\=FR׃2;{GQQgtCj7{wݻݻ]@B f~1H)9?&qYZbu,`v?~\T#ﭤ&{ gY1cSZEMFu=^Cf0^`0zP9TN#+i9B9vɕdm~@ z:iBgapZ.32rtUEtbS.+S΃Jr-!e5skeXb;{vGjLyݾz]m~|w@*Ɖ͈slo1SV< @N:,LEkr24VRȋ2_Y!ŲV _`HXlgt@htXYf]Re-V*rX*UEF;`CAPX$թzT=+O$NJ+5rJQxK&`hbCuƭ#ntmpzJ/F<]nN\)p$@Y$M}8.;&/da~z."DϥrѢ=2o Xn+wPPz0pC?~G%srp.xN oi<YR.5ޏ4KWTg;fX]Aij;8hI]E47DwnI`>'']'O,i;_ c {jK'hK${+rKNː8޼dE*ړ _"{?K#Ԁq@?ɽF99xǛxW_~'ر#xp7>O>7~wsB~BzF(O#xM!# @ǥGҰ)vѱj1Őxw;,YZ[F1 82ij   60{~܃+E\:I8n 'k)fL0(3B7#??&˹<^Fd1Po9W~x GcgdpZ'؁b:?L|:2sqjZlYF+8!- *],{ {sѽ޾p׮nY \ǎ!9qbh!<=Ch~OnBQ,JKRvR'wD~@-#Ux0݊֊.s'8&np g8[sW.qc~ѯLOJBatBEqϛ#躍}~7>7\ ayǘ{{nwmT01]t%,X6TT ~y~{ |zh_x9Qt$ˤlH Z%$wNP/-42>P |cZ~ o hٛ_o,/+#qb dE:܀dA4Ž1*|++Ҟ0,l%k9H,MXz;p"2GT(LM tpg8)4#?fG`TW&]>w]a#"|]~OtBU}D*$/LIzק~No Kq65~P)8B.|6OۈiRF;/r}iӁ»-CkSj?c&\DK~?UQ=Ee.ЧK//)XJJf?.7Sw!s>DmBS >7P/zXvs^=g9F}F5G´7q_, /}i/P3FiLni <}sWEa3js]kB= :I6f%W hB ya27Q? kuTMH\N=J]g\X9T~yV~z@h&[Aܫt!yz 7$Q5Fܸi1 s)S]/ f{+lH. ڙT\2~%[+*чq2nbY=7tp̆4vZ0Jq(9NP^j@\j5&zj+8dD2Yo0*iP&ht.V,шdm{JچVFFKGa(51|/e |1#Ѱ @z;**(rl'vo2OE36nؘP~UƒQpm;5M/t4Vf!_@݈xa@.\XU}J_G}Pסld8U/1EU@ T!a8`0T)gH޽Yb,lkq]h=R/P׻|>WVo 3U߇?,Dg%D?cpKT#gR3Un۽N "Vr\#t ѹ`HK0bv7 5gփᷰL]{2rdY?}22@..IyļW\xGrA҅ӿAQLIpl5u3dlh?9>/ \FB)k&Cmʾ2x wvц@ n@< %71K.4 9GBjG4K}F0c ̬AfPjI3k4ǒg*ӲdtS5 ĩ* U UrYZ]PyPy rFf<=ߦ&)p-B-*)4MޝnN >Oqd4QS>B,Y1IbqP"1:ɢdO[.Q]68IA̬T^\PYV\T9j6[&ݶ<-'1(t1UPut-Tja[G.VkaEU܌o5)E"#\FZݙOǧɲ.G#=|^ǓgLtd$L-Ȁ }^O.+WfMpFJRE_ȡͳ{F*PgYFy c&"Kݙi 2(Fӎeeз2iB_QP&zfZ+bCăVf@i[v}iԏ׫bcco*%R!ljUp'/5!~LLݢPg`"_[b҇ϡ6S% 2exJnv*Nd4M*llf>'q42z5TVbD _@8\\j/M1h,qrGƘ'鳣;bYQiP3X'۹sy ?{\Fc|CmGt55]@0 7qlfvı .2bww\Yta}: 6gƮ. y #4 ;~0<9큛wreuqıK gwRGHZ:R@WdH~ 6BZũ4vipcl#8k1K2ҚMfL?w2/{b {Fcmu`A7M{`1dTOTEקظ'>,T,k'Hv8V? z{70|xw쾀9j'VX3fyنE8o?ĕ'Wq# ^E ֧5?Rd6c>JZ,d55sM)I-3id2a|'h|8xBh8g̨ [.! F v{N &/ xj2Ϊ4\* & 6cR,owYj[+Rk\Ý Oh7 ˻8JZ[57`:6Pߜ ۣFEVtz/iXX{ `iXQ9ҧ58j.-%7@.-*3.hm,nΜe婍uZ"ٽSōc6ǟ!4oƺYRSp7`4d4唹 uum1_RZXۢ6UY|kmQ~NT.>\'CىBRr0p2]7U-Ԙ7574dh+BHTx\b.i]ŹuD s?YB~Iu (Qh@c),mZB)0Y-k ]h76hoal67~gNFCW<x8;-&E:Ȓk "9nvR@V=L11*H(\Jf/A#E2vDQ{kq$g/Q }NdĘ()eYG"~<5k>T 7쉙k3G.~5Y 1+OM^hq4-([&ơ55 S{23;^N~2ҐU%J]]e dȫH*qUx2"snjn%—#8G$q7ܜC\yh[ܥpr^)-m`{02wYRxu$D/0}xwPp@kW,w^նr{wݻZ6] &GLpN ?8d5,=͆T4QSWSc)Nf(lY})&aʢ9^T+ȱEz2QPG)xo>Y~o7ٲSڌ6Xp}ƍMMs_;$[Qٽ Z QH%G}jIH<{&3ʨA7ʒnWc4%(nZ=yX~YY"6GXTB -cYHAUdž[Xp_& vqه.J.xLbvfJ/K2"8@gP1W_hWFBTM56YŚ4iU} X=?s쟀f_ hPK5N#;dwr"qmضI;\Hݠueܜ!t4n}Oiך@|ҝnJ\nm}͆%Oqm4D *zs!' SrVxe|ivS99{F7?:(PZWi w?~*"!o FY7cc ^ l{>izxR,E98N{~*\IJ5od)(Zش7mr}b'_( tz2/T3oHTY"6MYpIAOOnngD +W8 z1lꅏ=2QgXr\#ndV\=hiȶ[b b70fD+BQQd ]TKTȋN?jzmWPG)\&tue4D~En8S.yGSrjʢc6k%;૘gqhW*Ii_=v:!U'd" 1GfiE.B_+_TAr}%7'''З~Sk cA,z)/@*2,bJ.'JfR-+bɱ[3M;o+rñrt~ :ŏLg;XFEW[jDx&ZһS%GR|+ͧq[̀O7HVKY۠ld'f/ۘ8f4ďK@=vcψ&'"T76D$l dא(2'KIze6I#(* jb &,˜[Oɵ~c‹n?QKw+X?*XU4f0G%N+0F$gXdz8L}ЖJMN2XOk*zyܜetƇDkM? v+3SSWcGiHo1Ӵf[Mξizcg]̞!MbL=ݹ :$ٖ}V&?ڊcF8]2J$kae4K1$Ͽ-e' P[].o_SQ3$4/&} ^ 1zgSx#/=`4QSTo @=t투[/F.KHohjtӧ/6h_oH\N{%ff+n2Q2N"Cb.sV|M._)5q'5Y`Y9 w8祗"Ϝz(*Tgωz(r.,dž''ظ j ?Öv?zJľ(QHH@[H*r2Eu^ZIooK'v0;: ֏r}A?}3h>(*'$XâoAv%+qwGWupox1Tp,xgq q 6||6 Nb?5`1sp]A3W0nBzmk)YWh5 'F/ꬪܶf4x`:[k V4yJ̩9\ؑdX@94uhql0uJa>vXԧLߏǙxfSq3Y: dz DFO1OBt9wqwA gqBYd #IM%RIQjC(QQSs/r^=q?":Sta)KYL}6 *1BǢ#ɧ5wqL_31M#mp2X1߰_pS/pЫ,MW?tDPD&;FѯPɂe*uCA`dΔ =lY+}{=HJ#Bw?= T.ZCHPAWVg+mX|[qpax '5NBM^4k,^f?̹ynȕmQ#^} HSټS"eآ?jwchw 88OY9:șAwdl|'li,/8 iNDbH/^Wœb W$Eu W,kZBR z^'Q'SR%+î%J3=bwʊ.87!*`,:5_b,~oލ;Sk/FA1$cr|ǽUx=Mj'6"\O1]G̾99uugv[Zɜ{qϖkw3]@^`1x - ڥ@(3{%2gG6s쇊zJ_ .hT +GSEѴca4M9"~WC[dPd^f\] +z }F{x8+Ѹ\z'2r-"|둌Işٶ\p UBtr1&]B}ٝ -t'W?@r1[bttVg7Їԭa@˸}1NN{p})bb^$nGv"XTBeK&|q8x҆#sGao| sym྅c@VYo TlC65؋,rk͈J"䈩! m]7@M8߂B`D_Rͬޓ_cLm3g@jK;-6 S$"VA,mR4ősj Bi$ &oYP^V[Z;۶Vnܿ`Ѣ &&8FÚM7}-vyQ&[*.ak70J HiU*Ɵޟ;I#,az>ay&~LVDb45s}mkk!CccgF^ܸm|aPu(TTd$dkoĆoiN>ev,1 ՁڵMY֙Y~g{^}V4o|_*nLw6E/~AB?pv;_ `ZEMk S㨼]V/mY`|K[)|D2p򒦺;ʰП~]jmI-A"Z KyPV6B{(cL? 'jsu_Dmd<>[o|6j&c$ٸmOo7½{3ghp֙p,\+@ ciga?|Q]i#&=r+ 0w4a$3 ^YvfTvGe>els op}Ǯ^fxRrP@H1NrVBԃiA;L3śIqH 4 :Kم#^һSw.*@WW1c|F7ϓn?th .[2 >ͳ@rl!1S'n|gr͗k~rm pTK,2Q.Ar N.ብ4BXg;\*̽- d9'Y1ex_^*oX~>=EJ}rh2L`کTڞ(&t(h/K{P&Bac)2 kǸϴh0˞e {dO}w!K'ZړX#OS Qc)9S@_^2$("&giCGqQ7/?-w67grᣑ9S77 F|u@ڮ= }zi@-H5ۘ"VaL+楗DqXo:--;C o8Aݐ,|CAӥ jeщ1 /vI" q,|a&XewMρ\Y`0 I:CNwz^@RG:s3~ /޻*>У*.x=_gLoX@g4,2sJeRcr$Us+2r+u^uvMRcJ>WQ_Qh҄k_ jkR̞"oz^z(C <o^~'j%gjWv#e1k!qlm'+<9T1jn2>r4 d]ORj!BH6TҽGBR bCSh3o$EvGɐ\HҸ5>(ouJngFqY^][Ƃ c'-*εu*mN{y&pMS'k^·):@ɉ2H[J-eu<:PSWQ3묂jXkpoRD cA莜tnbک.dx7d|dKJ՘Jzsw}cFGzzIVVi &X(-&wz&D𓓚|`Z**ȎHbO_Jp35F|' |Ά١g ce6ӬesIWZ%eV]6ԞD짱 g?Mz< K^ca'hklk3/[1KOUo^LB!*ARVLBBn٪} !&%R:5v$i᮪zB[n:t3歃F ]pFL/nMQBO\/3@#&ݒ])Q5Oh!|3__<3w?/)WY/[vOv/U7,Xlز0kh}FJ jq pAwe{YX^#5@aaqY'+v,aa /u;Blu`\RuՐ)n l zmf`bN802R3Jn*Vk;46vh4ŨۥQ(4ʃW@juWga+Z yH"G*" 5׭&Ț QOK*)JH9E%@JY:Uo2J*ۿk\T)==)JYfDdmg’` E' qL h,X*rg'rە juzTV:1bM%ͬ.6v&{u!/c@ѥ1:ToZ@TfE8I,W(F_20rbңZULyh۴MmCJYJt#Y js;9ݏ}٦<8 5)HkPs& vrUf.M,h1\I6/u:镈 5)nXqHn;w{Ijŋ O 1ꦆ,'HdqlvHjD~4;TJEqse)RϠzͮ'Vm1ՄAH%Opl38I$H#EYVssݞu;uyЖ{nomRͻ./`dSwq8H>+E%fuƞΌ\ep뮚LBZ .f(yWos#$ۯ! <Е}My?\c>ﺷuHn 0nXCRb$g9sT*i@ ZNh*w!`pcS^qU us} &-TД7w ZHtDD"sPՖl/,vH;1^(OG+`/ur2;kq]Ws<:PKU,Iq{/SR,KQ=_>we3_y]ZVR+2m[r̿e?Br2D )8Ÿrh!R Tti /(i۫oW|5:x5aA#;d)bߜ斬9"a% -Yn߂[iz[3L3O@#=7;0wr+|MGtnp뿃frLbk΋9u_y% Ov~μJAn!g߬a4wlm棵^gN Vq^AQ24)!p;Eik7W+̡mQu~=zS$ڼa&SLg٘N_@p2|2_)1W闚e|}`t/E.͛X4}9#he횓6jvsu;HKXa/4XӻH Og>汋™ĆGĂ5ދD"cSbФ\ a{K.eSeznM8ÿDE-8װ >Q E\ &89NabmgY,̘3TaMMx驾Rָ qCnxYv9Sn΢L N| s? =xĪ g\΋ Py&w{Ooe9>󈙹xbu T]5!.MU`罃*UfcpuTz #j^*f-k#uv<kI9'Y2&=?YK D<ΆGqgpCJ!THn0r7uά/9ђ8тMhYyvsf KFvs~!Ld~Z4xbF-v#i O}"6݌N vc 6~v&s*y2X-sz.6:ei2O {L7p4>G8BLp«h4DN)!i\ NLoYa#c^wÓ\?$f˚mg7CR~e=hYd xAoD,?&$jNyo4|ra<"b) DԳYkqlfdjli2ݢXxm%rȩY3mF+)v8 3 =zS+HLHHkB/V~ґ]ҷUt{ta-c3k!:ĸ/ ΥyZ 63CM,BL˴ۅi)i"ZkT9K}le8ҡYo-\|1dgv4(TDQm_.jQ)[]!cand Ȥ]e9K;n^rNp͛ 84fEu/MSLJ[S7y!*}"L⛘_LDHg;bTUe/_H9:ICǖhŴ[2}" ioJn/p6F$^>mb6/Ma0a,i$p-aZ wǔKx(S>8ڮ{^\& x%j1}/d*h⡾Z5h[rO|yqLK=Z^T~S곎+-  'O2?롱"囸 ?Șa;ȸg"ezo n(]kb6c{4ިH8Z|snFma1?q^7vd-ܰgn=-ިXtkѸ mׄ"Vo.4k/9q]"fLTNfꆉA/ iqp~} OulEPɔ7j*wq1i_dΰ66mD~K @` $ϱ+0 ӯo/)qڥ9:oS'&LytDp|3tˤk[zp[i eEܲ~vwN@ˏ@H{给k܎NDl  @^MeSM~U.۵x c~Ac{KZwnvH7䃸~̽g;o߲CzB?*y`|oNX ?d;q'). - ?, }l$ۗte_H/ĶUؗg{L[řTp!O/s9 * ~b#:orᰀ7=wK]9x/O58~qND/WEl`#8Ȫ%3I&L{f&3ɔd{df EXX( JE6PA |bCłof2Z?s=sO?+cDn]n.3{K0wB[ã.q{_ir1Uq-V 3z}ּn=f^Uhoio?ph,mLm!.up q:Jɢd~9Ύaxnί|!f (m_AF1M/C^|w iq;@UTXQZ*4{zkOWޱ4睻iӹ,3 PcB5m@ȕа Rf₦ߖzzKy}:Woyz[H\qW!ܺu%і9AbSXiFU媱ZP\ NFg/-M7nJؼċgPsI^ƍw Mեwv&ߗevwD0cǹD\Lq[Ѧu2~Ro 7󶠻= &8gs㜵RkP[??p`GrEy.4v Y3,\4mVɡVt꩹O={c^}0>=ZKcbp'B0ܪ:+!]·S3y_'VRTZX4{vBr.V,Y]TR@sKM7?4ڻL./b}\p26VV뚿 %>Fm3Xwo-@^W9ϲ8 (ջ}X .=8}V{"dm|}:T-YFP̆[g[L3;r6l;ՙZRA~{ckBVBG@ymo` ɶ-rb{&_g?;{;#ԥS'ٜFb $ge }Vy) ]|U7M-:tIܖ١ہtG^t'@oú'zMƉ9kא &Gs Wg"286OC8݌]a5GwG ;"}LW&>|>o4tM\]6[dyΙlж-[l?i6;]uad]Sb%_U&l*mMᭌ7̮gcRg) ItSZdVe_ʈx龜4A׎ߘOϮori:pc3[[Q K̸g 6$v}&,9.ge.%UX`De![3 {b>=$K ZQ( !Zʦce' e&ZlJUzd{3dŶ3Ħ e l>oMךfk;X]Ke3dƿCi0u@%}*xGdӡm^P yDt|ѩVǝx㵲_z ;+q\]0x],xWl\. ckjϲSzDU ~5aXpjfX9螓'3NEoy#2#V'?7F5$ RclMz&qfܓr3ɣ9,L ?$PU+ϭؙdaqyB?¸Nk݊u_ b(,&p=#ur>G$];39AjX;`ePQjEdzM4r|l3W5ٴiGE[w0 @ P}!.` ^6Xy@Nnܕ!yx AŰ^|@O(1QH\,E@;;KzxuLBy֨V- 3NVOZ.H2-I2uc،k1DH2NVY6 2A+fL$oj H0h$A_l' Q('ݔS\ښ}t_l8\ڎm!1;TI?5{ǎA)A6џz,n(Xm (ۡ.QY RD1[F6~ Տ2Q=X[A:@sL|&ͻZBgokxpf"c'.fxhH0>6"16VL+U9аS$6UK ?}b`nSQUuR}ϮWK.V+*|9Rok26Vjv 1R !9"h4떉%E grZ3Շ,s2(lRL kb6-j>lQ*-fS|ƐN]J`b%h>W118P^^蝾ޒ]&j(8WvjxeĀdLnjԭKCס68:Dgv!m%URCj rLI8=F !\b[:oƅ oQvŹ؍DxaĒ=eM:tJYGѷ{0LPE=5y;qvv~ΌKk/!CӏFV('t>ix-V)_N}Nm[6ٿķ:[ptC0_7n(Uj{Uʸ4IT8rY+r3+ks)m^TG|AoRz~_Kg0R{? e!L~^.Nr2cԘZni4;ťHQw۸@m6ZY8\zZ=_id7ήhi/dzYڥTPpSԆD7 xvGBIЄ^./^;rVFB h^]X._^): mI/;dؗ]#9p=fgu3f 9Q>4 N_QefnvbnF") voRiow(렄=.@{]T[i{lziJy%%Z&DM;iAx"v<_0"߬_fzS\~'[!"[ؚ'Ep8jvs,1(T+ JRSWaτ&|CNäPrtGB:⏆]:`.5q%rx`SΗgO} 6r6ot:<8pfpN.ס<ԃrR6Y3BqGeWZƐ<[˶BCUliR-TV~Rn >P nD2;}"u Kfڋ5So|C &m4eģtxpoh:.|(eWl{wџ( aA75 ZKrc/w62yҼ+(/5J[^f'}i[P%KԚʱ˜Bnu}[Rgƫ߆``t̕^arx5efW#I8V3xuľ/⡸ht`EzJ7O1e@+UTr|,d}ݹ̚jQ,W\u:X~*B3e$vN"0\JtLW.65)BHЖ2M}4\tijIG֖ba;P/F>_<8k,iؘٕ(h<➲+6R{6G{}:aFiuJyEl*|x31R_Z O,s}YP^J%Ƹ_;4<}wq'B#KvNs,{r.sJ wa.fssɊ1֊^5 ”FڥT)Y=}sD=WT T1 voKf_/WD"I3U8\.+XJ3ש3Y\~߃ݱ4XVcMAysǎIJG$!~N+"R>6WkWRT)]x} z ŌKv^FFd2E2x0}|v\HFsB>8|YC8Ǵ񩃲C~0֒:*T DqQZ *ZjͤIs_Nk1; @ZÃS}32Q3,f :Z+lNT٭W7%7Se\92mq]JW+o7*S e[U/ v "vAܪ=]> }N&0QY9Sjb?=-;2VJ:3_qE͡dEAUrk$;mS1b!NPVG&Ė_{ r45>1kR!ꉉc>Aw4 U5X{ΖG'A" w1(jd WG)yK6ۅ+2[D%v)oglN>,G͎FjnŨ5{?lJ(n3gC#bEcCQcE CA7f;v6SԉCL|a:P"q ͋GIa%00`7`%yE XlԮ|plĮJ1cvuǭ~)f(9I5Jt*LbMMg_6l.gHd$XA;uB M9OW)0uYB (CnxjGJtAN/ɹzخ ~NL˽p1V59 ~ܬ:)t>ѫ: ĝHs\,}ӷk;@d&wc |0f@"S* ɟv=HScp/GKqlp-N;ȉ1mZ4J}Xb\gm '9ymQBmN~?7ذː}AW-/|:WVƯ%g&3q'y1)38ŗr)Ydv^BH$c+8 "b}ei,շ ]ԠnI+zcd4,{X~ &H+\j)@gUsUMAn`L}5s Qq\v8whHbJip_x(n*+΢x%~'(I݋VcƨqU , "ttkzyȎ,b1rs\˧9FsEØ<(Ύ\ٷBK="OtT{f4%)?u-OVJTZҭLj֍ 6mNGBzK綎hb!jl:>jCTs(WyMխjl읛"HwbVj°05sv+ux\4Α1BGZ("F!Hˆ_ii*5ԺijHVy1ﲬ&Br=,3>K {|_Bm_-&"u_k%@Z.3d {$6ҭ!Glyssڕ UPP{*KBZoI$y uXŶv$-"_VQ6C{ s0k~݌6su {}fu+ CpX_D{^=@) [GLB;GH 4=ɰG~[ciVſEB&^fk4{M'GV讗r5tE+C^uv׽I?i BA3bw`R>96j < s޶ubn= #'SZ"``Deh,79=V"[u혗C^T.< fЛA??CefT"wgag.<~=*g/;8%j (<4K۬+SPH@#€"GϡJi^yr=edL ٕ=J :k䭁bY7)H(4V7`SFz QI~+b[Y.u~=W#,!srF4{})s^sjٲ!^og? 9}p9Odϸ2v?=N}d3~PCOA7< :@RbW;m3I~7:B-TS,\=b?| w*+j˛ZF%@3$RvxyWC#PiɄsS³15%6Rx*S:3^sQx]Jw=}g "i>[ }{MaTQ;,W':!<H*Ɔk 9|9ϧگ@D{qh xrJ~'l;S3132_Aɿ/9 k{fluyevںm֬Þ8[gD-9;!u gAaRbV*ސn&;|daS?buX1<j׫Y?Xu=c[gPPX13єϻgnӛz*82[BBp;#N׵L( K1v\iMؘ'ȂFjBZHE-oӓҤ.9My(r2-L L艮^C(0h/\Z{FBPZ釈%0NB;q9}%qp87#f) NhƆ CjQ2IJL?dRXJBT(4jQ14JTŮժX%Y>đm3b7~GL.[B5.nm!u tV풺u :ZO.EѡU;Vk/-LQbÖzPU=3S" !"S<3Q#h; s|rx |d~0eR7jW>f"Q Ugǘ|NQ>5GFȺ#Q!f_bQUV3vG!WcHVY.ZY/`vHɆ}mpUZB-Q8-BRȴ*Ik(atJl(% L!Qm&Nf1\n6~ɵy$SV8oP]TKEE*%iv& |ԃ3p>sO$^ԟL _ _wo!Co@W2YF*S$%*JQcQ 9'{wH(<3\訮P R)Mo <ˆNp3R)Nl0Oqz}jߎ?D@25\s_׼痱mg8 [OϮڈ'T'9V|*Ӊ[@T\7Yą7jqm ښngsVHڪ~o8#, pch, |}exEcX j2c#0c~If''ZaWbLXfI4d8vspWR=c F u )5c-iJ#-G{bɣ>fwP4W &bx+*;=݃BB8R.MېdxBj!=O [`L￀kqCڮ\4,Up]vqyێ^;g ]\&8$=WJ`C~CfAmu=Թ2۶uy$A@%(<<~ &Wjyޤɷ c0Mf-T\fG3 }_ꍺ_>w׶3߹hC./U _j}? ZpLg% 5R H%n|^ztq .8wnKcBJt.ۻtX :eFx||ϦPZO.<U&i39ɐo^:8:$_Ɉx5@;؋"<$.:.sxh_t ŋRԀ|4c QU ڻ֕J뚺3hUQ4ZSaTn\.t()Ve}8iy\W|Dtm4U(Z\nQ<9sbslN(Cu7ۯq>ώcת_g)jzەCшHC ̧!_U0N Bj^9xj|Y-̎h;f.ߠ.?_#gpPJK \ ).L0 0R}O%M=E$}G Ďg06G!?pZ@jW LCՋ9s#_%q!`L1f_;<n9ꕔ$}ڹ6mk[k6btnAGG+(6=Ky0A-ag2{MmZ۹u'rn\ S)!pTIjq˖`I ++2rUBh˥,rQ W3SJEra *ht%?$j1 e-X8ZtCu}a4XNy n$bx13)!)W㗂~pNgF*4[ ̾_֡Le'v }jm_ӗHpŔC=ڧ֙iwSҘF,p(Gyjz:mz-Jy{dzk8T7HI3߼8ŻKb] 4qzږHǬ/Ąk3 i|}%}T. mҖ.k{TAGh0j LIE'e8әNL2J/X ͫUhz2Nm5 ■Io+s=~oЛ,\W6S~p!e|6B${SިO)ZܔNvE:֭$woVeu8 D# F\yG^nk*#ڐ)\"]NLf#jȒזJgtʐw52u fPjS&Z|/6{ހ9osex&G89ςCnթL5!\_v5IdyVp{6vÒWUVO xڧV.uX/X9.ձ?+eRV ih#.j /߀ezepQ<߸^U)g18gO8Ћ ܵ }͋ [c=Ųr]AMr~8Mܝj 3+~+0tٿWlڷ:^D' Z QewtpS/^}"ݏ>Ӹ֨-PtxB<ּaTM#Ȩpk ip b潞XmBs(M6gclFJ䲘?ЏcKĭirYhFZ!DƁ:,Ht;#b F{C]xs^ǽh=Yph6|/ʞ=04yK{m}O\8v~Q,*vHw0Bтyl`(.+]eP9 eҋ,гv Agr}oJ$ns[ >vٯ)w,1{ 72v'W~Ob ӁkWW eb8\;z=b黎I:3c{ڬ%fZCNpD$^uD M`oө<#^AѲЊkntIzdZ}0!oӷJ.|(h6{#,=7q?L-C9<v۷1 C 1u%o+JـxW:퉏0}lS =D27  |[OdeBrV7\azV3Hyz A&@l0~LQ[UлponZeyUWoow>P렻Q_%9b ;50Lh&1Ƽf.[1eG3&Yܑk, [ys֖WrJ!O#ٟZgx~)26ƏTJ(ʫ8Xnmx͸tl=l!&"PCS}[t%)Gw?Z/0y6 ʟ?5X4ٿem[/Jq{I.ރkր5!n1y/ӟ8{Kfs2ZBXhX>Y|(WdDuu>LF]]hrs5̴(/{E 2D7@d0 S#nݻJdET͢[]sק} %'Q?W E(zMEi[~~MPc筳Wlͅr:孌W< nS (w57mbvr!ו-m^G}ڲLF "}} ot#5?P B;'= `b/82?&aB-n?f.gۄ|æ f:Fs_8_յ`5kh"|.660wkUR)*_~_Gj]d㦹sYDH$4qT$*U8vVr4 ܅}=ý3{Dzh~ʩfZ~l.ѓYu}ɹ]-B$v}rocA(og,|> gIjRȫdoNLJW 0Ihm-3p7ݳZQ(.>ǦQrtiR6JC/&(SFi/9>UVſsfH-qㄢRiD8"Ty!O( a~8kO!#k!|}lo*ihuM[G*] Ѻmi4ϞDCqG]? jB8o!B= V~7 {Hi[ŲP-6a[۹&{Fb)وTD@㖈g47xySl>|9Q9F5]4 ȶ&x.\ :>;}_ ~ܪ_tZC1aGi櫨{)QOVԂvm⚻b`kh]曓 z?AL=u#[TjF%Ms7:;[] ^i;"IHg͔x- x(?s@!zM釢=Jdz?rGXRaS 9,̳%u4?_̼RsG>nÀ_2r1ka5F˖4{ztM|.O,= rij-Br}t7kY1=2s:71-Wp_x,t):2=oˋoyOTv&wXp5Jg{GglSz܋c? Ho':t%e!]pQ3h:}gK:2kX[ҹc>֭;mCMrj8Ź6\4=pC{U@&9٣aOD}xv0wc{8_CYnD #/Ѥql:(8tZ*< ?)< 93%}sx Ӫ ӗL/o9 [{5͙q ͥ8pXԨD{ 1bKeq78}2TrW7󂟹:sXL-dE]>2Ǵ7QܷZS-޸LB6ݒ,}@)wyՔ;StdqBNc s)fEϚS4e Fayb'E!b9)AeSs3#C \;jIrX8On=RATJle"X(DLL#Sp;+~-U{ՍsXM[\  an8w#s Zt:Q{}gJ 1eXNtX v%zɞd*[Yw*vP]fsSKEK,vk"bP,˃Ss-~?ucjo1p؊qvscәp<L[y|lX80=>5apPAhx7ę[+L)}Cr-:"B(-&-0ly;)_~?+=HJψI\uXcH[ML(Dn-u2}"' i<׼KGzxy_+!2uR)ZnȼPWNl[ip>Qc%8?7&{2u~|%ŜW )cyN8v³!~ޝN%NW $H?Q[neGl8'/$Si$)U2 i3,y~/µbϱBhe|*vqP-X1Z$o봫Ll4CzejQѤ0{dm*.m.N\)ۀdT; Ξ-ə=X[]~#TSΫ"YM:Hn:;|Ev j9g.H':GC-f2LRm}8yd6gk|^ pΝdk4#۱xi>쪄'iWJVH%Ğ>g0 ʥYRkZ]2@ShbQe8wD QT$:?|XQ`_x-fd(Ǒ/͏'֯MtESӯ;]iGӼ++7Od>W; nLh6>=@?j]"jou4qYOrEK''$(M J|?o;sYmZly%Y}w'8; !,  4MJFi e+e+ek!G[裁B,}3sGWWlgΝ9sY枙 BH(L!Z,'ud ڲz0Rq$yGdL9BEP iUR}aXT0h^HކZ}KV/Gz;*(ؘmU?=Fm\˶1l:l'Oۡĩ=p9АI<X1Ln:8i^[]G5w2z[ {m>w'a5삦֞D2\ku!FsX#)ARak[njRM@K"⚠R>Y5pbX}ˮhʃ*]<n~noʫz~ڳ7q{q D,k5KXP2 'e)2Bi,<ݱW~+]ⅬS)n,TOWLm>gMd?ep kv Aύ;gk#OO/_i2C|fFZ(M1KuUıqB-7zg Y?⽬_O"`jRQ|&W!XOmO kV7 &oVBȪ*үVDM quՒK.nzڥu#-ھZ5U osVlXUM]({ÂB0 ^< BO-J !GD;G,@J荑5KV1iD5pUIFı27+i? +6xc߈ק$6C]Cā~iD[Id& #mZ0J-,ZnM] -U9R2ub<">xUאS%D@H~]CxR1Jd(PD2EjO.,+* Ere"?YjcqVT1^"Anwy\ [_ ╄BUk>#%R0gKEPTU$ j.32+=2Y%dg[u粪&c}0#JSiQgԈ\vnF5{uNN\l״KB]ZuOSZMyEk72F< qѝ X5|zC")K%* {8'JVU++,},2]?Hu*SZ@l.+!H7Z9mOyW(Ca[3hx 5;] 0Ewq3 r^!t*[mKʞ== ظg!y ]vzʊ.;pk^Zu]؀||فH.k;^KGȔo!9[.cF Vh3@ڻqͯᄎ` ASۭUGh:Vp?596m\řN( _4GQW+>os'tKG+JvB9;{\F[H .Hlظ`jM(YW\o\QWE.ٴw)U6e=/=]uS޾xWWs$\HbU*7i.§>HuHK\:P䮢VQ]z'"+j|r逡64ijsFDlOE[=X+oaٽ3F׭ASł%f^ ׼`>uC)}/u ;8缽u Z5>O7cA9>Sl >O`c]|:BXJWJ؃(b@9*reNwg* 4{cܳsOF 4m!tg.ݶܝhlܩ^H{ Y}"\І758l^lVE*_~r7wMv#a/g59:nuc_\,|2FK3|b=i-uG&eaW09ӹVlL>ğMG$ere>-j=AB\)NI2JBM;%~)tWlB(YEC4pJӇqP3˼r=Y#>“ R>z] ԗtStuDPC!/IJN=GgٝA"^zJTmJ2GmN1{*E @3N YH+$R;e"V$*JwN; bfar;jC9ԂF6=΅7ܴO;xWH'qwOJQ gp^!_i78ym5CU5mЅڔ=^?579UjgE-k U5!Yi=F ǟmh /avӉf{t{]\Ίe .Wwվ=u,hpQʞ. Dp׀NS }:.߶QC2?s1 6{k_CPghUZUiWY5S}>ZS/8e2a:wB7,Z_CMOx:s<4W 35ݿ_,]cQiTA͆=є14$)ТV hǍR1O!,1eAs{Eݒޥ z(Nαxu6\?.0(N#]j p7+\>ub5XvO8}LKN]-qT uUQ{Ȭ #ee^o *PKj JHr9Eރ9ͯO777<ňe.qMmK\* ~|&x2cER2uzkuu}8\kMe J2pׯLyHnpՍ4׃dkGp >J">do|+Xz,\xHGDܠ9qDKq:G#5nT5XJ ̑>YJDjQJ'ѻQ)@\-kX5zomm)[*w:K6K2޸LQ>/;Itcȹ]Ũ}pY IkL*c!33b?~+:O7 R^ ~;+l̑kL˵Fypcja`.ψv؇zXpxcb$qkň?|nz;8i%q(E!CW'x"Ub‘',lܠ8GV'ג/w%ɓQ*y-iԜSIl|\XԤ=j#siKTmND3^nCcPblE`RsuR6dǁ:L/V=5zRsA `W)յy}`⏊: `k{@FTaXdiʐ[|9u:?NLIC:jqjy WWZ:'3GN^|r#ґq"ڦxcmc9p=M!H<"iLڭJ1 '?ǩ=`[! :]SIDu&>lyU"uD`8&EJyY¯3j~*7O]1-λzBy9)Il ;v-ɽs K3xXSQd*qxqZnn7C~ 2p: &RҧV: HC4([LGe" 98Aw/y[\GLϔǵVGάv6= =mPYaOrHY`oJsNv0۰07D/4\~>gI~?7uuc2~Ui*723hgǏ5TT/vPg}6s 4_FH 9`BK10%O8<'ϸ}ׂ5@gӸ){(1Os1@'V!"/W!vWԺd9Hc2Z\i>.nlU*"TFF꯮*5F mZhDmXw0^RO خ G}zCwoj m\!.P*#*.Z摂ѐ$\^+v?QUMreT}~.K`8Oc{/ڠR me*J];_kdK凇 #x!f?#=r0;) |5zp׺SJ{dA;w~r8 į-,c1Mӏ-y|lZ*J'/*TǭМlbdXOȣGx$NVYmU< KᑰQ$VK䌦$mTR֑H"dҐt2oDȍ0uDM?suK &àT7T{ABպUzUחUƍ%=.ceHgs8u>5.ᴄ[#f鰆k-%epmk7"Ϳ>0<cȺWuXeH"!\rVquQۇhJ_U>xg  ۃwι|BN„s#O$ tjfU=mQ)VBƸU4jm>'VIRipȢKRmkC^.qj g^~x/.p oB!Hں`G((- pˏR5 >zmCuuEYh+//:e\m-%d ~iA[y0 @Aaܕ\[Zˑjy۠3|u#,AWJGv"N'gW:Y$+(vԚ`-q+ [P\*#VF^:ıHcL"c2CԢbocn &3 yRk$z}CmgUPـ:hWUoHn,. ;;'c]hj^l/+Xu rPf6xCaX `>ZQ1`Qy]vߠފFگ6G_Μ(la-1khft\^T;2u6"MW򑱼 y3sϏY#'ZT,Zm3F--=lOQD`Lh"4-E^IY\5~8+zI߲==_gZU$[@5WlA!kWèlIa'’"^ɮX/vuAW/Jn]R$/ mVLM9KN Tٞ࡫WjCyىh(hvh{C2Wz zzR/!эlWy]- &[S;K\zvT1g+ƎPclND| rJ$ QT ڜh\ZTԗXMO&` +~S*uJ"F4[v&YT {jVEL^78tY+2J9̯5_Y߁=V˝t>mdA`Mf9ƶLkñU@S#(Px >=t:ƺxNSh-"m+ʱn&mއڼɯGt@(Cx2{o&i6w@l8.#AT?j@̻N7W,PS\R>2vD#R[ D`H*ݴpJL? ~WZ@ވ  O齷4Smk ke{bXH? $߰gxnFr@֧j@YY؈Aob?Z X%H~0+`qG3f a*MX#/(HЪDbK-*B1XCbA![0H{xRO*SX +̵_?^>H<=xV*g { 1`<*:$#).!)ujt QkJ}AE+Vlʀշc;FMb3#ASX_inbM2.V=t0,g~1iアJ 79=h~;c#a3JZ#NIsw 42HFI`7n>.ijO}堮 QeFUGWwW0aXX ֊Td*46[HGKb#JcQ/b~|QoF}ī"[LUGS["bFc}LGKl("V\ І̊TXd,1k:Ǝ6Ra}‹ ~3b3G+BK7"Μ`!8oK_0b\'zRW/y|Cf.-&[33WxsRGpk<9]x`q̃\98ߟIݠ>wjHis;/H>@#O#|qf6΢0>4GU0"hTO 85%E^_T-w,J7×Y WWqjx1<>]wP( |T)û,9S)o}V7PvYm>YrY'>C儏u|<\~MǺ >dzE]h\rFΝ RG/Z|rʳuWAЛ8\xx16MF#wڔz{O3dDD6{ae.ȜK@\ÂԹXм9AA6P髖[F#ԛ5 }^\So f~"h?oW999(㽌>@ |u/(3tcߗ&p4닟#Δ>A>G6+T>)z%>72Y;: a xv4^"_AFL0H+^׿f2o)|C)|f ן/ISTg/H3?[3;t$A{eS| Re5XA (|j<)|4o7 K#7(2BO ǩ@n Ry_H›->^p'J~-?K3  2됽=ȃIו'\\Sz g!۝ pRHk!sMޠoزƾwlapw;cǾ}m-hfUThŚM&!ڂ1d˗߷}=˗ݻ}ߞV2}ΆОnBq:Wޚ؜:;7ߟsWL,"1mӌ&G|r~ mےhUIZo4K+$*[,l0<3ߟa.94;9 ?7 ˟r_h=.dӑkF@ņmGsp"2=І'Sa<C'列|9@u;gkbfKcnۚ > K#grXT[ZՅh83ԘF?)|G7~|GSjNsͩ8&~nn $E [9Ztz:W\YoP);THlf,.G~ MY.d>~ |ЄS}B|x9D#F\=>dM?L)dP:ruOgӫ,I}K0^IJ?hS:zzZ6!&=Q>9/[zdqrqME'4L0J$:ٛ i*L6-ZZv .Ȃ9l dGrHrOr|y7I"tNx=p+`|fj\0;%49+܊K / EL>Is0&8KrOjZ*_=U'k nPȺhƺk#{ i}z|wa{!y tu70;ZDꊴ%kRWwWHӝOs!Uv pV%a]^F<&x᝼|^Ğ_kq1Bt!{0T?SAZ W닾& QKX氹`\`b0C}P$Hg˜r{DR4jn+O*F\eΆm\6)9,tC5k1n8^5MxčsHO_-9_={1,QY~D Dd 3F˝f"@Gn>jL;m3y(>:/{Ӳ7_2^ڔ_XzwKJdpkab{UoT*;ᴄCNn.񷊋5B6^"-#xN%Bs~uF4It`7ߟPEܺR3I\| ۢLK+UseZtՑ\mn4bl1fjw]2 {Ԯͅ]vv>Ay zS;ߧߜnXRv!>'nvj=IP80;FƁs~PsģH݆%N@Oo(&,Eŗa'l1rlni,Sx z"s 3sR3繉Csh=s^gGsRv: Vf3m%VB+Q +Һ=6DW!.V !n#7FLW4omy;rCNSs BnPDc#}CcOWsh`>]矜 g:A/ ӧ ^#̱91_yd5T.Ivv<)[B⍲oMIGxݙ8Pƾl3KPigنS 2 !^Yf>#Dgm ~Ds 7@/[ #A 7#~ QjcOlELr:/'#N`i~GyiʛrG6EWfyB47ۃPTFօ)<]ylzbm.q>JmU/љwy\ylz{rr>>/Oe[A"^Kg>^^r2GmIg^9Wz}{:'`qq>A Y{9>'A O$@S8{&Ky7 ?"ߙ!Lz9 8yx J}c7x 7XD˗pHW1l)~=| w~y|yy7'R(}8ߡqH=_P;Ŕ)R⟀mp_ 8IS.Q9o&Q8rrgۑ\  2,6승^Hvfyk̑Lnnl{ٜ4 G'2ƻLȹ3psj,|TTs9TN=Ι%ӕa gI~@Z?k{ƊǚH`'P\|rk2ln5qbD$m]y¶t-T8ԕ* x)2ACSby^e}84n!<Έ+.$](LF)P7 b 8H/y4zVM䃓cc¾ _㰏;eA>Kկ8nxk}ժ Jugh{sgz!D+t1|X#)h36|`h w޻ɄD,9? OpI5vYd{; NEϲfϥ;v4\ >شتc+xVɵHn5* ퟭOe JNɠUcpdFHiF`Oh&ևZ}OdRЌN۬MZN]r-~=8uIe|T74Elܩ7z1ڴp)-Xd̏rgr}1\g, _>U -#zy>G s=-"81hF%3ގ3Op<3>+~Izti9ѓ2|-0S4h#7~)?e ! 2th98Xg|2Ow{MIvR^E *<*IfOd?bR -4C燁̏֌r:H}u3GE 8x,;>'|S?"}pӁ$. > 'ʀ#jK/e*6]AsO2c:W̭QY3/%~7^ɗPy|sxWH+ɉ!oS o`k*32Z4xfOxg%8{<;s'+R_vE32|#aL||wd#߃?"]ao˰W(9YB˵gNyBMd#4VȄ0rQk>._NDͿ=_AZ!>.anO2"o-g_pppu-?77-Y9nGtC C aN~>dtyGgNR7y.>f0 Zn,mY~em`9eׁpY>w|~OyNf\c3-_GO-eeԏEVbMq{o*_car1>?@Blwdَ&^t?3Q桌3TN&,'/D#̅#qsPyz9I3~.Iaϙ89W;^v\9Ȏ\|$wl㤔7% ^JIPsM~n_5y77s /'^ʇ'_a\C,_ qr~ϋl1}+X O/%0_aܐ[@zN,9͍'eQ/g|grA*bNaYN<圝sv|zn=#<9>o}wσ9?`<sS/HK2JiZ/('$^| B˖//q/?ir~/}.ݧsoûaiȸaR9OPNlܸr}dqD0toH…3cEjZV pǻ(!>>0)4dpŎ[ᇟdRپ$9KBi8ۙk8w}Lƕɪmd:Bon2#2[\=5I¿Jw|S!~>PqXY p[, 8ag Hί9x=5'rgCv= _*'kd6})|v3=-TL: _[CrW3'>B,ʰ7|+cČ"F?_gbOap9.&[I-/I[H?vfVneoIܕm;[es9..(GqoRpO`2Iv1\!1wpc;󾋳uYcR ͨGq'ꖿt0[TwoУuMh(!n12u5RREECA=$yôH?+Qlnbmw9|ٺyy{,Gc~_uVk]Ǜ-7[g]D4|zBxA;ԁ.K~na߁.{>p[Ս^r$}K4oWoRI$vX|ȍ~;g6Ҿ'w\A|l^SWwcb%9u]6˵*4Yr$/f~FNF; =hIrb\]$=K|K neWFn%íE/`YMRZTm>}U񆙨"vq-1)RTKS_2D\OCkKMc zI}Atm }i3WILC큨~p2~֣ƌ4~y;M' /)Qg3&~'Gzȴz/=x'&)(~Ik5|y`۪UWЀpAlZDJ 1jwC3Zv ×܇&ˢ ! hHq9 ºSYV>| J=14U~2?Q!TRjЯhp+ޑq _>X_zL8yRp3tg#  J\B,Pp`'vCo<0?L>%/|Wlt6"ם呂ֱrQ_ M%"ƵHFIf .KEAgk}#В=z{͐(r :( +JN}I>|Wֵo}ͻ FFGǾs[ ۶n>Pst-מ+|5X-#GKc|_X@,8wfbIS) ⧏% nGs%-v[ /PR=] \BkTsY Wꍦe +v&ਪٕ%tq_/{"QHe`b70.WהzÇ=p5[oWW? z.)~㫐l7[@łohZy֧}?_%F~)&23aq'sMIl89/@*%8Qۣ5}E=0P[ѿ;؍݉G0)5" ?|>0N}/h{p}o<6ަ]G,x/ /dC#`RPxO %pqcg83P= 4k-jqYVn]lKXµ Jrk4(ڏz 6l9g3]ַ+$:qzf=ӟz&V?3 ٲ=מ+.=cd=8|2r?,'|wLoG8RZjxΑNպS5xtz}hVp?;h2v)Oڅh,w@A]2*>Xݑx"6ظܝ)ymQyhA"j yɕeK.+oO~)AZb8|AHE^?DZ/]tO/p ?!%?/<~OQ|G-+ #MMIuS}l`݇mlr{'$H2,tm4b i:A}be=j΂HHϑ߯9ITb俙ʐ:Ŕ͑٧\v¿*Z56A'mB|A?9YyM?Ϥ!^O·6YF:f63!Бx:U藄/~уEC`a②=ΨÁ9O$H2')#k疖"_O4F\;i_%d3~6ywg4NY"4c(}ґEhm ^9õq5߃I,BI~ǫ.6 7Wك0ּZM!+(xDRoiiZyxgw4cdFu#Lc w 75?v{ߏvT8._ KU.w Xbj*l ֪u>oGa[p,U}gjDS?oQTS7q Q) T,((x #66o}rB(z{QyfzI?P_*.;3+ \oXcc]o$T ⩫sEꦏ}i6r쥡$Z}GkSR2(K %<9~;6:PR_%6*+?ZhMp(;Wm=L'{ jKo<2VJB~O$R3as&.VTEJyY¯3j~y64:iwШ3iu|``կ\DW_4l]=@?"uRnrj Ww|=jwK< ;K}j ,{E4Jnҙ/ha F+#{xVLiթ]*X:84k r|=6xpje !\F\(+D J9P\4 g!L RGk˱@в|зmQ+˝uhC߅/XxԌ?#ř0R%rVY3͌&ǝ7Y6/y &0 } 0l0l|}30UUKyը[o_;A&🂭ko[!?Zs뺺7܃=HqMf'`E3B B$ _Sqg$}, 3:KeT)٭vL\^ƠU]'>%Rem!P30 ·ѧ[xu@u0(^/?<& P,ǟ?\oo7h|¾=cuį(wHևkیFn ERHA"ư:M'bdyI?Cܱ鎩[&fMCŖD86mVj/;;[?h_GWwO#h!8n(`z/(Zd!> _kv3t@=Zϝ rmcSýEQuh퓿7 _T۴zxjJi R1P;pC PN(x%;zjy5?ɭvؾih61V^Vy`a ,!Em$7ߤ"}@%G}@ 2Q7j!#ðHc,Ow\5:}" uH^? wgәoM[ qk-S9, &!h9HDuQ;uj3Ԣ(jof+W %܊'sTۖggUMquz1T >IVs\.ZE.<#o,a-{ )n YWC@QX{2(cZ-10ֽ?CZ\,xh4nAg,x17mםߑ$"cT|vrpIihdYK -mA{9'}#BdG* y1 4Xr#!)!5]8ԑNZTh w)c Mc&8hCLAK牧֮/cKIk&>Vo "',ןT͎Z=OW]A*'+ՖlMonX\hDBaIG?sg%Kd$]qs \2w2ߺ7!/J (s)TB U]gN XF\1C0 D%@`Qm11 b|[4zvxθyh} l\ >]ckYR#CF[zW q5NL t*c8#SrOƟ zG5 _%:$8'Oc[ ^Lm_]O|]d_Lrގ۱#=5iK "qL-a/_y=3Ku--gY9{:p2 ?@Y(A2q,9Zvdm+}eуZ*P$T1llꡫ^X#?h;AnO_i ǚ]69H[C=nQ$oF+5߱ήr30_Ttwd` }oE߹s'ܖՈ6\i}-oUg &9yX/@璄qQWVX5kʰ+SSU5Lu9+Q-}K[yы=eam/E͎LvzuFkP sCacSavG [4ʒ\}vUUToa?2jƙ8OsM\ pxe4YN+W +jUFo36bjMV5" Q?H8ECONK64~סִ}b66阏,DSsDV 13M M3~"8C~pðe" ]E@,"EF)t Oww'iKʞ)d .ēu6/X%,98LUtM;״ J8Kpfj 4;\PMJڙH;F1 a'gg~J&BD2.T\y쨊+U`{Cdr~~rjnn l^9%vBMqq\;δ RiRfCwWl,S䅁!r0SAI1O=ātӺ.NFIV҇NL3"tyEF{$uH&#N GLfV'J_)L/;9?tfmosʑPgBII)F.uigNgx?WƩTw{#_oWkL;X#-G r/\`sPRspobMUW$3wpD;oHHnB XcZ':fLG RC1f?5xt.'Em7Rl&2 -aw֖3mE4utfh] U5;c\ pIٝ / :},Q&Osf_9?&}eBBs98WlT*RHu Rs&˩cqMt0i1%sjwęYͲ^ʝt:\Į.^{*slPwZG8W™;r*d[[djiF`*!,JeC$v-PF.Iu*1LjɊBh-l.A^/2S^ogxS~&,uZ)˹XTo )-)Ϯ4O˘VerH6ɨhá`>Nsǘ/wٮR]6Jъ@1+}dn)ꩶe}Ra }`+աҟTr԰&̔xӤX @w+lѝ̅@؅depOcJh) :p7U Pyy)1S Iduv7 c}nlܘ}!sBR(ZׇAIyaR"E,nl PG fW뚉ѫꑹtrhҍcMuLx =G߅챾cseޞя@4̋~zRG\ 1VtM"kDsmJBG8r(;8lzAxyqSk)*L$D/N֫x}[ʏ\k;;#W^!"WL\y)/DKAؼ!}s܆Ţe$  'J5ZT]XW zsQDZZaPjZLsL% KgOc;zȷԷUT#z:Η]Lݛ=N]+Z[IMx0P\ӎv :ZAZ=m^خs ,$! "6HmNS =wIF!u(]cH89uӐq&c|l/%J&m,R]b5kњWThOZ$G CYq0p 뻯A D$ЊI,0laAB&8"YwNe |ڠ8Ee|V9vݎP@mPgi`d(fZF3|ӧURlKP=PdT]dRXzg1`utױ26괆mp8f!HY]Z[qRa6E\}Y[ slj՚Iy}qEkb Tױ#cn !k`h>CLS_5pA4;ixjI.|a^]Zk'#'6l#ېЯDW)L}FZ[fWV7wϜ=On[\$ZYn]Rkc뇉erxE?*ɨE^ xnOgsL͇ %/v'+ҥBxJޞ:@v0 E1M@/rF%"~I<y2n?N@9x 6#7vh akhsz&a닄Mm۶cs=R@]JE9X]d\:Vfڬͪ3< zާ) 2GEHd+D* 9:p5R=@r]wmݝ7dRqwbQ"ٞE<3! iXZ!`g$p}paIqhq= cO @sSýK׷@S΍_uc ԯ@kao`x> JNUp  x k 5yӾC[t mz JB$x꿯t^0}t,-yq_U~B޵pffG+OaTGcAb,v_'~~"qirG\0/P=κu4t {{3ޡqܹ#;Z\kysݣ]0s֖ LH mKu47I{C3Uj=ImZ }2: ]tOUsY&`YNk>#US/$ӼTnw)~]˶RVɨfE6Ȉo v{sdR-< fC]$IeMo8-MJYt[x .Wgxl@Fy9SF$P#=%~һȋ|dC7Aa3ji])52X]N,ϝ[`6䦘cq4bFBk4n#Tn=HJaU hN\^:јn^rYA&L^ijwdt:1yBbz1o 7&~I 捤 MEm~*5ќik-'Kn2\֜36=| o!_2Rd$^bBeE M~M3]66 @i˱Vfѕ-cX΢Ч*ϣz]i.%xmRi6cƈ":y䁼1U2RGmQ0>mV2tźrfN2A[k>(%D B|mp˜=) F>P9-9%9|np2xmfgYc z{.M)ȱ׉ eDH ڑ6h?Ę%!8WD0Tq瓗 TlyeRhoqOmIh-7p{l ㈍"sTy#;2\bcndGd뻥!)VvSާ|^ M!LH5K=p:(ڣl_LѺt+֚p~>!cBvHL(Ni5]97 o F) xuoiR-mJ]>*=Ė#bT^,=, FAe2JcKB)XJK~c;'tܨT`t {9ADR\-,X1-j䊵@0p?RrRzu<7҆A>@Ge˦sd ZZȸ=Ţͫf㼉h-7?KLP|m5ᤳ4ե Y%euR!6`{`UԨSbn(%5_@ \#$l iD&$>SËlkfdi昙&(ǸG> !Ha}!+])!ɞ;ECv@Jȅq*ʤJv+gKlj ڤ2+mgLEFtn%x宊TS \WF R(ExD#A dCoL16F"[7$XBIp(QE(ɳn}^/^B-0>{Xiw?8gF.& (^o@\wM2s}ᑶc_ kEn&I'aS@9rH܎_"v86MD}>ʖ$ څg ?1ֈ",#π'[y9iXݨ\tsfw?pne ..xT#` lc=|f3>|C*ц N98$|ĩ#'Cei8c=XjabN9,|| hq.Q6#OSw6Ad%CZ_=l89rO}0}pkݶEw+]Xv-?[Y=( vȼcv2pWuUÖz-ܓ Ŗ*e=h5)l`W) k=rumcᬷ-uh}/Bߖ˨':{&S]#7D{GFSipXꎺքx*?$rI҆ .9&Hl΂pU"`kbP=%oÖ\\D}Xb4FdI$ѓ G,VQe8xzRB͆Ds͇=P`꣕_׫J\]JId$oR*=HVʯ:ܞvJeɾ +ل? Qiph 6?Ok##F!h$3-Ѱ7b"өh"nGͲ&Fg ^zRPxJlz(e@V]Z}e? a]@k̺H!)2cJWN9\*7v";!$_c2 MEff--/^ $Enqi`rڽrdYM6.[mΝ`yRZ5lCZUAћXIGb]3XFFcJZQ AO~8xrgk"7f-$ycγXEymLD8{!J^\/缾N^qc܀.X{?^r򺷕nۥ޵MJVXR}U,~^-l}\@E?緄^~9yC&~jgfUɌ'_,_b)aa{-[$8cCe>C7Q˾I Kyȡ]8|J&^)J1+s#(KU[_ Tt9ښME\K ܡ fMYiV2[Z}'Ru$kH*EC[dxӻ~]d$HDp3vL~<pp@IYʌ6uDS5zm:"x9QfW/jehX9Q@Z (F̶ZW6`i2qo7쭕1'] E>3LmP3RW&(P3Z.;P gp4@ϠH4?gd8 J6$.L V5y߄m"XX&F@kM2ھ;NR)?+aKkHLL¯qVdڸO,g%_OOPM׹x%^i"jѪ #oA0KP_ 7ո7Ӹ3ܻ 6im@8,e_Կ6.wO/>FbLg4]Cgg> @L+iBR_V-_ޟ? []- X_ VG5~FPYdLT~ lC<"ȗ~U0fU[AT :˯ `~W?G/+\jpe[o_{.A}s5_cߛ#Q4ǿ(lD/>/h-*33(D%$\Q952EƄ7zې,\O"o$xF( :{ GbaxdAJ~gOWg5TFG}~{H nR~SgiCdx:%&c)yHn`3t3>8 F69Oirh^ w~zpnz8MyivB3эnz1ST[aZL-Q؉UMI{(%E~sg 9fU6lj2#B#B {X&/w`gaHt^5!!F_(P%$*q(ֆ' /_US½\/c߅'a-N (wL? rMyrOul>x?uZQSw!`obk76'(NOlc-5#FQ idWi=Y>^bܖ)4)53YWܴ)80Wm-tQD5 "tל=tfLZZ^ګox[NTgJ,ryTnCiO ]~?}t >4pګbu<˝ɽIC9F/F lJIkv@+rnJM x5w\@}*LWfCI9 r^ċ(AH`F(E &HǦ3tE26}-tEhUUr\t4TugAEP9jRa.aQ9S׽OSQN=ȷU …~fLLk|cžvs} iG=P +%>d@~=!V% <;괈lC S+UpZ)kRvRl7#C?)R%jk1V(7USn )lc7XqYV*q-\2̇ VqyI"%_dyW['g@>1ºwºQ~63 sv="-p?] iq[`P  $*lOzCdëGdXXgZ#u.\@} ؗ8+3{z 9~'\&4w "XfoPp6GkJ~a@RL~Np1ϋ`?U(M9`l0|q''Yk!at`A =+e(dͥq=k`: =#g{hͱ$1ƍ0~}zC׽Cݏwφ":O܉P2voqz}q8gz0 J>@GX. `" b66)#ak/>(jOqI=.-Q,ŝ OFyK {^RP&(t+c) E8pLlSӂBՌSk.@h\j HjjB!hL1IZ;0&x1|a<7M':: ՉCssqXsK;C ùz~ĵ'q,JI6æ# kT[^ܮr.gf}p Dajh\ƣlݺQ$";dP,f qT.HHKoQgzP}AgŌ mSh]9s&wm9B5y%&=:\aݾCOpV;BiZYE9(1b6n/#wllA^Xb\˻C:烺T~b njߚNyIba塨bT#وl7 B\ HWZC]pKFpKK8 K;@ w2c9,au(p:\r}l$XvJKa_l9G8:t y)eM@<IO=D߁Yjw/*ncg &F:a8FƵ"L5|pk&JҖddBlq1j-LG#xN:#$ND1X%B)gjpB=C|Y ((oX ћ dk9|\#(RnHXd CJ8am +Wj۴jܤϋrYb=z>!N /$Φlk2w֛iَ? 6ߋG|Y*e=OIOSSJ ly \$81c> o~et#Vf3;6.sXڿ o/J?9@Y7hPk"۸'qQ%tUsVwj5%j W/М-־^#h+cD _>P9 eR3U{ciQS!(AkċeppKU1:kJ@[(gJc3C:`k=Y 9\ؔ9ZN֣Qr㵦m֒ҩ_Pi5Kuq6B V eP|mT8gЪgTZ 浕+'Y=%Maά gGY|n}4 8!<hp5~7b |7C0 oO}΄` ACGRRuI dD2.KVPY.A9d<  LlnaX0ƛ(I T M֑rYxS g)&ٜVAOqH/NK׿s$({|-|g6+$lJzVUr8G{]_n}W.W\ pޯxxt{=V N%j$Oi b9}+wuM?g| cVwvzmTtaMhP).%Q)K,eg&qB я$14O ډqP-G{![ d6u is8l›{.2tN<4{@rk鼛<s~0AUu~J#.5r῁F&Pin 7hZ-زwY[mӷ>#>%ǭl'梘j%#N CmS8u]>uX~)S"\J\鍋J#WIxe`U6Ε~Yۃ ^DحYa >Kc6'3W~=ۓxED|^wD} f$L>;,߹;_Z;πe08=AXJfeE왐F/,1eBq^9ce^iQMZe%k*+#k2,܄E keF}`2,VP3~^+lM<)=ipΝN:`~$:5?jjQ]]RCo!;%a)CsǕN^)ezy)07" Q#)T O[||кz$}םƓ'?^}7u Y݇ܡ<WqZO'$8Ե1zjmpE}|Kn/prL=wqK%L#Jn*5ww SD ,WuK;)W,YTYZFp޽^{N>tYX_}dkG6Q{Ѻ6W J (1@;hz~Mz@&b/.( Eg\P#,#Jr \ ~!v,a~ fSnhPζDSx+rхtngP;>Y@56*רj.ak߬ޘe[ _39 ?/?73Q𙒪(5$<"{U;> W}טp(JF|}/{ o_aJlyB#`ϭ'8֯U`?Yt}8PrМz m#dN6,{{AgdgweKu=5STν-LS&%>:F|n3jG۵+bhsg2K|RImx&[vs[5̘\7if76^?0L8ll1^!)N'&M<+ IQ~JIL: 'uBM\Dz\Ȑ饇>z֥KǏ;Fwh o߽c3_<>s|lk}'n^馥] CC ;]]cʕ{zw.jO<^lNFtI}l7?^KzduY]V/bɽ[e{,,v)˒ = $$@B P <@^h $4H!?s,o{ג,ifΜi9;wyǝ{<&u10Pw ]z1Doo"9~EfțH22XWRS@t9? 74U9iiEmnq7ʹ:Sɮ`+:Ӟz2kgQ+Ʀ9idGQRԵ7Uj{yD OnTkoNqr~J\qZ`` ,TQҥ+P648CVi(cI/]7;9&>suo]U7/K;@X`ASJTu=g{lkɫZ^oJqʺ&5zw pn34_H0?t0in,"]ȅ5"r\ <5VUxH#}֦!qzݔ/z Z\gRs&}IJz=}vzzIq"t^e0u[b(wK߿R-`}"t;nݺ fKSB3Z?cg!ӨZC>$O h\֧/]]9 8L:R@0e7˾g/,ϯ[GϰȪisYA2$"g&l&b|ߛAnϽn IHph'M~q+3d( X.sgkG♻d6RM⓷ře*UmkJOWMza8'PD-Va"`ӉW4FQp| Ԃ{o?S7D@y$X>}{ V Ƙ\@\ 0ՉbUwQ mR[+7JR VlΚd51bLG4& 9d(!&t)2TWKWhs(I-v&2L,d輣IRsot~p%? :k[sJƑ5)LؚJ%_`6|JΜ2UjV^JG2 Y ImbCX *VF4W^޽ >ܨRhTJޘl ˆ&lڴn 񦲒|@b.cgvF12< UGl| 3YpG  > / g cq9 &]o2c<U;?0 i].Ekڅ#XEp4Խ^zU7Ky[kWH=.P: YyB=.BZK)~kH㞎Ցt0ՙ&$mx[GG,h|Vxq#p싅o q1G.(Ӆ~$_p^UGby%J4;lߣMQ'x!jhH&:@  by 8Kg7ϟSg&n TjokLȶAC&9;N`Pe0ʖx“a^0dTz 2|uVnхږeF3%,Քm^D7:LD'&x @P$#ILpfɑ~ *y[_['O2xKGMXwn䳝ʝS3 I{sz?1?tck@gD'1[|8@<FB#t$2821 B+'SԩdT:}*Q&\S]= ݮvڷ=<=2L>edjdm`KkPZU =̴ Ẇ0c4⍾mdqp9yHdȷz  X|aOzɘ`v4ٿJ2_喣ߡ2@-+R>Yʸ  !ʯ`;Ý 5~%bg ZR-TwAz!c"dH1>lw}Ҩ[sd`.*._>_#\S%'C[.]^\h91굵ƗQ-/EȘ`={zPMEH*iԓ͎m"6a&XX y3 >'H ͱ E*piuAvU-TiY%Řl A&OS+f[uS_/woh"~.H Hk\mK_UV ˅6%GK6IΤarQK=[A=ZuDqvZhs;E5/[\ J5C䫺xHsiۢk5\G5^:Zme L&oJꋦ?!׫WLJ c$#jaSD[d9oۈfcr%]gEmh9S4F"/7=mEz- \Nbxoh (\ 0^efnDc,r_mXcֱX=LVc+{(ƖV3UVRCi]@,[f3XLa-r9)iV^b~X9t^{վ~}p/[\y vBE*}I C›"c#i/V bD5ȁjPjk/`c~ ɮO8-] KM~%2'TӕлQV}buI#3i]| }Q]K]!:/1Hd^tY Y6]4cD.,bh5? 6y'm 'Bq+u˴{gPSʧپֿϐ,cP1r8{#K+N_xmk kg-kլ ¤䒁ɦLj@x!Ťz 7_X0c_e] Ç<]jckeǹs~~uZ~"3(j7)V x#YatBL01&[x_w sXLkOoxt){<u~DSILbj[ceq ݁Zp?[ W2Ⱦ:zxWzKyU9uС?;AHxtF#]f4:;8d•ޮDW؋g'V1!@ ZGxz3{%^~K'},n~4N =Һʸf5K;ԘUm3=hĴ*gLOeF$8\.Z_쒈E"MkQ$ZF!7vy1a,/5uшlY¢m++»џVX+/nzMӺ >KC&OfiĮmbdL̤t8nLIHIkrH`W ؗ 05jWGccf'ԁ'Ԣc I-XP[P,L4X}I]H 9}W.]Φ5hͲ id ] T W_SD)xZJrjhҹ">\|YzIi>Bz-p G0\>GĊ!`tKd#J[l|";Sxs+ W]Mux^8Bp "rvQJ&7 ͤFx,Xcw`O_W]?D1ʑ6D{(8tOev -/z{#+(V8rP&!hYB0֥&Q6Ǖ>la ~܁-<(KwN \g,9|x/x?GeƁ0 *l Fz2PmP+:zgA{`b9wΙQ?,(N';5$_| #_FLp C+$ ˩hؤDQ+ڥ]: yag{=K SmAP]džVgIb|Tb`~rNl뗲y34:&* ђ2*BI^qs;)@<:L-E7I5f/M6H,Y^3rbqsg/bUډk/W - glBRTqddZKEP bG@"dZVK8|^!ϖ"+m\$/@whwSrXChw7z? X, 9~`",*SI3ϐb#i]]Ρ"*JWJ@.ΥRds>L8 (;C$5]RС*~N4q:Y7wu}k;}v.xlXD5khOϞ=&xM Ν?)Ml' QW#h/jBsj2;~89>)qLg' /d{%G35D, ,[؉h윏U `qה:gYwe42u-ڈ])6P>Κ1Uʞ}IUgtV- w=ɐރˊوc4HG#?2rx;vʈ߷N ~86:ғթ*Ŕ $0%6)gVtٷoOƘ>Kk↶-b?yk|IXV2=hLI|LXh;J")n;ogrEt(, `-Q tG\ד>3b% \a![,ũQJ omtA&Ǔlf'JY(9z}{\}Fd)V,FK;7۫ۧ&ő6M=iC&RwVF@4HGQTWs29lc}agMŒ\(C0u!N`維*p"38l2$AҮ)9nfB~~{ˑ9Wܡ˲kĚ&HWUv!C:>x >'^dOAO4Vnf[V9x8غe uTz9ms4G-H{D؉9r}A+fZ߈Zvt]->٪}gLA?ŁHdm6'~ɫM33?.65s فt׬Rx:)\^c/[j֐#i7$KY'~>]䌦#uUwT JyR}HƤubMUQ4wma5k I3c_ma%< JF*nB W''v%Э{ݘǞ]XNuy_m,u솆GvinaޮI.-('ȅ"E'OtMsmJ(fgEuUK`~ff:z=ԩޓ')Z˻(H3 Kb]K=W^kC_ߙK5.78ԩSᑠ{M3RrK Ip;@grQ2?{6y,jw ^'9v9/@Brtu&'|vbd?cp9 YCZQțD>p:stVi㾩A- aV9g9&o-WY| 㗳{6#M(\~)EN sfYw4)CFC/R*gr12Q{fM]Cng6XM 8y\g+"SZCS<+1|T,flI(48Nf:?(8yJ׮5G pUk݁ ;/ML\n4R_snaaB67eEMH/Ҽm?<;9PU(Dg'LK2',YZWn1 Gnݼca VPZ7C68nOBѪ=ʺv]v]Z`_uxoek6lW NQQpr|Ӧ<"Aԣ,ymVҾJj`@iybƚFFZX3@lRho <ؕ?ĿGLf ,Wk*[RBP ØLq.񌱦 K _ou?z!gnw[ݗ CsC AWokrj7fIqam~ON[;[uFc>(OːeIvFBI}.g)n9>64ƻdCs`r$%,d} yo?"+,TwZT\;ܛUMZ`T[f'k}Of7Uxc91/<>{{nDHvJs&׹wPOW@]j,=aq5_mَ@˪jYz~ ^)FF(#0: Zx؁N|G[v.f67&O;_C$?[*F^҆~y<c&nd@QcovolZ |%;忼K %Ƶ`[$} ^akr2C9Vi2a)2Tsʲ5S7xk22m%)",8RgRADaIOgmt]>o;n ,bg'ܼ7{i뗎]yGFgD6-32юS#s\BI}jߡ=-Mjl9g#U8ZL:{ llJ]o3C ӣk|_I#tW9~Ī?q4)fi_0l~B;oZ{\RPQ, ϣ),dI}s'19jE]yhR`=HolJaЗgDnn[WS/8~mL7]MG-1JޠxjO4,C~IP`@6%=sP+:6q%"IHw{1J(0ǜJ<4! ڨ}x5* G=OkM]-=n^0h==y >_wd"<]K-җC 9wqoxWK.IltΧlݦ]{(pV,t(ZAw&1f_87O8¼{s~_.-+sfGH?~*.0A8+{J 6,gOwF]s_#vDC7/n"7B9Y*LR݇}&7 ZF]w|_]&aȼL-Ѿ^pϥ$ c$fA JJ^g Ez[X\r)|\ qs#&fq8v :T~TwO|+|&Cz56{Xuc tK7_}$MtH Px. +\pLW[\|/UXn-bxYaLU+%^;E %K6fzQ {4Y@ DoXa&X .cl,kc6)n4$m eɛ ( 1Py;^w#Q5o8Vqm27y%|Pw@}]{:w߸'} _n [O:mp[YrCY{J/]OB[Mmlf1 )rŷ&n(mA:C؆eS$56mnЭ [mxe_ëdjͥuds,J_mN18;$_|*?WSd')|"c5YOTi86+MX$pes d#Éb_~uvt(TFW[c;>SƓcOOwX=rǖYzbR{C Kψ.o~H,U^Fg(Yjd">pU_^ccC-w'qr{rT= xOd.9v&`ʀl7[YeW9u5ȹ0 OEI7ɕ)L|Vܰ};x?d:@W2lG%򬢰 ݱ2$ ƽ~cD\k>֎9)>nIA|C5A8f,RB&ն/:6qV=;+ck7vlغcsOȢuv=?6&E}{z):j}]ÙVrp-~ ;-MR: 0'؀;rfK1';jZBM[23&#%l:]ѱnݟPt֠dbdF4w gC¸xqNs/(m[h4<A8ߢ EgC ᓴ+λ5)\27T}QY(eBQݖY"# _|'?T_Y~!0aȻ2 ELX@  9pɵ?`>];\߆4|=V 5@l$cjkD_`:3wɍ,Iwӌ}8'7\_Fo!ԣ0U @v n1Q?ZG|d44'NjX0Wmg[^(]beoSa)b;UL&!=5&[ͷBNBEU-UonGkk^a휭3|P Pv$-[F{+TԸ{^q nFooD$-Oۋ"<".w2^R?zG /lIW!kC +N19,+v\|oMM8`Vퟺ1uPU}M^ک9ȇrհF3C ʼMӛoM/;}=Xhp{ePFO=#GZ }uX1n*yNSY7Ro_ЦWu|p@ Mp@=ڵvmXaS2ΰ `) oPW拺dzOm͏#Ccヹ0,^Hc#s{έݱ z'B2X]6A%,q3P,E9ayĊf*ױ,DϿP9CJZn'PEGmU C}x㨬孾TKe˿99&2N4Ȱ|{iW~78.g#="@D>p 鼀M`҉=2%jTZip:U N%Y9".1ܜLvͥIv;Ӧ! bL\R![o7.s qmCW6<C'Pi .?ᖘJWMMϞYiՉXa5X&,}q"qb:OK6:^ (| (e'- rO28!G7tI'S%]3mmЃCS{v86>[nþK/>P'}ϻ1'O|k6t?lNOcīt=yYo爅I%/ѝ,0F iyt-wgUT+c[-dpZc (E9J)ML^Է(PhP ̶X P"@c)( x8O߃ݏU9ILj Xr93B_w?T8i2q%"$Ar߁boHZ*rOa *i/=Ou6&O@q@ޥ#(R{ "2sBah hT-cNhrt"g'yϏ-|K$Fz{V3?0ƿ@>ao/x9ZnN׳ԳDdt9~H@|"09:AbP6/mJzZg( a H;@Xtl ~vúZͥ(]+Ȇ6Fq\h`e 16^>B xBRI"IG7)+g1αu [Q|gHD^<W SpgtbLƗDw_TZY`N'Էo{+WJG_z)6PXH9pO!+omK篔8겭{WPo9/ ̘= fUs={ΔˑrδZ[>ҿ1 maHBaĬ*}׳czǍHUI?e1uyw&f9 w}h=qE''ACIu}ʘl-?yt1iӭwf3G9L.1uJ"sO *o6 +rYyVU< ծUxcpjc{?$3?`GB.߭N6jy<5 A]C?siz]b[ ,A .\pL$ۅey\U%0YbPYVP'kB1G͈|XZnFīe~aPƑ[U6[/dԃr!+/WUE1(ৗ߅mW7E .q(U AX.Tjd ])j}DfN۫QcZ~ZiT" J 2`2RO}*EhTE({#E=8_bxTUn1Lgl*W(-:IU٣ eFO`6 y<)}E_Ve]~֫}>o'SmBP&q_> *!JJ>L-=WAMѮr * xt/GZ"RܢDc~%%kZ,Nm0P6odx|+l~gU7ua^ӇhQ[Y$xփzLhUZSlW*UZ7eREKk[cr],U*5URAv(j⻔o𽛉9,.\ҝb;a'ߌC)n}޸JP^<#8 zxC'Wt ՆFsJՈo[kZcHtHTTae V ZF'+񷮞P^[2h4r])$rKjJhloC׬z^ef6˫-ƸBi:`WEԺ iG\YQbfQT Zx@Q5ٛjRbc3PcQFJmG+NS@ξ5]-Ue>`ILNi5nimȅAU+tj]kNÍToh]vUX/G hEo>Fmk*7S3Ѯ^Y3gގYg%a[hQwB?j.z]MvGIhPLcy9,*2.==2(_K$&ͳ*Y!C4E69MqROV4&)LiU7nx݃9 Ң [URRjOIz РPg:OCuN)^F1@LgI9V8g^wO߹ f-*9/ |R. PdmH[X:CR*h̳Œf0q|[$2R9#W#GD㎇q; @(z(żI$Gӂ^D ` x 7i`x&{H| ^iE3)JI@.O֧@ W]նJygmUMyrmGY#(/VSYjUIog ] N]QL5>Kcr &A툞][^FfƒTSnR.-#V izWԻr"Ea@+xysUJ$)"YЧyzc ?Wl!+WSiѤ kZٷ3mdgW&Ҥ=k J&J9[SG\0WUP`,ċ!70.W]ixY#3& g? mx.=j4Nآ!S W}{u"͙x沟"b0|DZ,,YjÑm8?l~t2rK" GK/SDbU"HNTt;ә Ew8*U*HHL[an*,P/ɵZP)?jj[iVoE}~j&E||;@O,22I, @2fh(o3IEKa"iZRs֔]%F9`@lXMPI3 #թ[Gzn 4V [~Hodm'áKu-$CTt3 =J뜺M J0žgDC'3YEËҹsga8ӜS精_~Ikp]X`xioik/7؟뫼z +~TSfzlm`x¹A_KLSCNXz Y2jI)c*5BLCqLh]a_m^h0 T<<Ön83U?tw֚=SFpUm]9̴2Kev֫:[Vy+;Ԡ/$5ߘr) 6^ٸo]ReEp~ԅ%X*aߔ'rxᔭWWO̒5Ķb" 7 7Ae>pɸkuy٦M뺖l^; Ѯ3%tфdEsSHFM;hv⧊5Q@BR0^Ư))߼TJ *Ց<븞z;5#D +]Ei=Еuk˦Wtwey xiSɌgN3ZR^{-y ִ57c[1g)O#0}r(3PS}f/U2g?rw`vwI% @S|740iwL|w]V]'ųI$GsRɶS9.t8(Ü_瘪MrQݩ.4몲teC{Ҥ<6 DuIL; KG<7ȼ?vb+LCFu {ch{]hΕ&z&4 :<FxN.P1ayak"m`W x2= Q#Ʌ QTьj\>5itPkOt@KNz{X“<|3{9Vb{FU7͡iG8oݗ`h0VTmqqGI8]ʏoP΃,*6f \%h#cjҴ,[{Ŏ9>1%f4L鯾ʞa:Bim>OrḅroD TP=9U 85tz|JJVi&EW?jv" #m*`/A ^o$*/VH|Ύ/Z6>i:F? L{6swj8ȭqɪUx" ,%dP;ROU-@q=%%vΪLF)IT(e*EJ!I+&)C!Ԥ%+2,^:-E)HQfI[T>~2$Mf%&͐Z%MȖZFH8DGJK 4 66E-ݵ]U%"E8Y;JukbggU6=Q^FvC l& QOY0mwٿ %Voon:gT fz$Y$ˢ.S`AҫW NxY ͂}}_nPBOUclrkS9 rTp0.֥&yM]X yO #32 !-| ^x %PU7kiu-tnm?s<]l墉Wzf !p{Y~?bNH`kh+pԊQ&V&)Z3=u׭h B-\f)$I(JfXxX>4y1RNDψGY4\E@c%==U{i M[kl4ڴ~QFi}{gxn{kC35(0J} ~0fKO)f+ y饦tUdTx VnN!5|!kU@^\OT.* fd/D$qkд@Z ͫK$~퀝Mո`+UO|;qbD>"!5>]U*;mz[ xqʔPo@p&> ;N ~xzXOQ,D)"`CMl?!f@zWHNXӀ71Vzᛕ?3/O^a#>e$icTdNkxa$OD:qgIʌ;O=C"\9r,MX)Cy!/B^TB&ɩmURGY>XPǠU#":?a$$c)ѓָL 3Clfs>Y\lav0;]=6bL?I-lz  Dh"9loHݎC{#[kUo;`\4|o\BFCb0XF)DOe,2@|Cp /{﶑D؏nqp`So8#(v'gߗT"٧]{J)7n۶שQm3{?"?CDZII<>?>_L.[&L8zYBm*.[4h.4sL6U\#W_ϰ>pv~ԑPhty|]ŖOpq{/l[@Sf7miJ(S-~QtXr?MάgK ٫.`3ɜ2 յ RT4q_"QnaF+u7o2y quWMٽ6%}`;lZk[7R8ݏƋHSỳ|V].l0 s@_zr\I"/*iM<Ke; )y^VIo]dgG~2q+Y)*bSr3+n\?Hukڶ١~\4{+"ѬٓNnlKkeeCZ {<eЍ|2i &j"vcFE`K.R#ӷ>>Gxh`+nog._Ϙ3qpi%>$Ho <$s4 %OxaNբ18 P~9Oa17Ou-wmSp:e*`Guw-/f֡89.'j9oάSyB"LyҬif('tm0"pxCU7kp{JgB:8<ӹeH*ЙߴF ol>AP|b?W6 fYW;6H,& v>y4}u_ %4ʩs mU4nV.*Wx͓]<:BdQJm>[vdC 6x1Yc“N=}b! Q8?!* HD$qW@MW|L7 `۽v\'1wyp"8jq{v! 7]`ύu,XHtc:**c/噣U=>-N[:@7} (="4ZO<)7кp ho/7G{x7$/8X5<dRWz8hnCl߼u YK}H'C_QMMx9zUۮm>k ז\\j߮,!,_<DwmTwQ^)/_A8[8gB]Aoϕl74$n,;2O2ʏ(-gE3[}yD 3A:w-ܻ9ޖ]7`=6fR!EԾ WaH| n#)"oFY!4d.?\JXR*mr)0G#m:w_p HN'Q;qVLZ'Ӏ[{ܶ57h<ύk;::>qFEGv@tE 5ծ>L)б7"^k" BS-nu1g1,&Dz-w=P鶀ص637S9;Y#z'U`b!hVbTOcj&-фlP5]%xٗq} AoDjXK(d*_98j&9FZfj:FG?uDQ]ް*yKpb(! ߒ$#0בy9ïd61V HHEIDȩ^ 9ҋTC2\n)#8e۬R}Lժ/mө,.˾iJ* J$9em9y  2xich^"3 xu+7Qo)DݿfI:[F 6ECBbk`DId oE}5%6&-;/4pmcg]c' N4RZK##$,&2нx'0O>+S^G/k wMty^:qҋl.X.^UB9&jϑߖ{%/Fd#pe/7@:rmɢF2n*\_FU4n/k4Ylfur$\44~쉾Z?9iipż*P+ꘪZ^R᩼h` VvXaԏd\{gfo:N&Wܕ+V79p'9y|;m F&~vF8JEmAP 8*4nK,Lru˖lom z=1o]vfPxRonOɜDl hx(\s2'Q:yW.r2Z؛@bZ2sV #h-q*Jim% XV]<&f72PE&vq Q^yeiR2Y'RUzQAb}N.`l" .)]$NM=@R,L:izBSRE']7,6貫X~f dvs[Y* Ni{s?@d<~o&-D_5?vS̼YG3`we?gO{09;ON~rW!qn`6Nw7R?Q8o~^[^cA{\+Ulk;Ap /R^>)Ý&.x=0t_lZTO1;"2GGr/ w~G n"D$8P`ob΢˖O6Uz5kB?MmW kV\]9eMx)Ξ~&,qy3'( ?=7so),NlAd"7,\>ڧ,y2=V f/;.#55>o" l-mW_a)^6~ƴ fSa.X~ ЪzumBd4k%jw9#Mw㴺c 3{)tN4 qgx/} 9m͠IT¾SZjW4Z|x$atvmpiWEŅVp:ĚFwmClu6g[+/t4=3%`Z_jS} .ꚲpTWG?), y+lWe =--~w)ۯ}¨K1vs$*?>X ~u{n.]sGOKeT.߶8pÄqm]@a7wn\$'_= 4`zI?05zwgs4_xX6k!x#1a*ETTsdDߠrp0z7 B`LqޟyXzò^ r`C%0HyȡI.Q!P]SUUUSG[;9и#$>zO;jrOz|@͸jᇛ=44;Y@w~z3QR;yN4r=Y>T;v [mբ[WV$d5UP gb'}}'~6cײuL$'x ޏPuTW~CW [8|!g}{{{F ><n G@Hol݄y Ls6H 6B$ނ ]z`^ތ'd:Ds`\Ts+"}#"z@1nN .MTÛ/`FF螪˂ruЀq͜Wv零P!CH~C/<-۳,lkFW8__?Z<&f5·!I^0z=8Ip1* daǿgQտԤ'_J{. x:k?@&^k#cԮґ!j;7! /e'LT@IrOLJ+FVص: fz7q@"{AllI-x^q4a^ήG͔{==ّ^#A|e?v8Ԕ'"qp^!TwA.jqcoD O4 2 7],(G|7"4޺Os}Yd.鼨] ̂Y+e;Uc&Xy^?vg~ .x<}þg.,yPpߞx[e݅+stDeKD*?`[ˎbhRl `ATJOd*ʷ,`!QMJ]q,<,Mpjx;mg뷢v. oa!m?Ľz3~Vzr}1KN ﵁c_y ŵ"eF屻0JGAM*؅:FF:.!R܋P{d /x--גY\u㇂]ۗ%X~] }ŽW.Aȟ\9Su-Qۜ:U]ئD6Uw!Ǘő~Q7RU߅P&S!ߔ4Ey}N\4އ5Ai;⟎{ۂAO sCB_޷O% iOCk=]b魪w!d/wZ7>hW_\&]7H^g'f47 r>=U?tI.Veo!V)W#si;!hۯńp8]!c0b{}C/Ķboq0>`_R5d؝bۯ">qۍApGAP`Q{p$~ۊNqǾ> e߾ pޅn]WpaQkt$'N e1ӵtfkw?<G39`+r ٦&wm6M=%m.#b?ѽ}#*yqFPm{PW|5ڇ߷G|_Ɣ5Go~O#ȩ8? M`Src(jyڏ}}5hQ'?cE}_'b5!gx%g>"\0~|#kt+{-.JH熊bu/'Oe@NfQ1Vs}eGX{?Ӡ4A'iQ|٦Kt?/7ɫOQJ~7=UiS{7q"7Xz *En'OQJ/K?‰qx||ZeR{Fvդ%r0;=Ik:MšZWJ8tf-7,V}67&mԃ;%W+R} G?Ohܬ윜l7xy~G^ 4lTܒ!Up5i>Ω·: nQ-(.UJuqޅ+m"%-*:bN]$JRVU)Tu3\ M~ 9[ǒݬW*_ _7e:r+Q@ug3:g#iKu_tނԲZg[+D&A()J_j+}H_g-Hy7 TJ}N_GM%zC1^w i|hsr̦3< nk4px!:n5+UGRW(T2x&hL&l6xs"4r5x [&]dp 0?/V!dϙiһ Z)eV0 =@c LsQO\~Gcb30 ˭aj P*cQg`gg2w vx[8:r;!NNQkrvE"FVWGɎ߆1˘Hl1½j&|ՠ"gBcR!v:sre) X^*jJk;[s /5jWU\tE[ <丅I &**C/ {2KKe7 A=ZpksRi .fD T{ý>Eេr>$߼F= ɄuNZ˪,(fDXrMB"[e1.oҦi]x_ d3t2D:,Buj^[r}e|ײd4R7jh*R7/6m8:V j _ tGG 7ҳ w 3򂤞&3 _#-o;'ߢr;`O\&caJo(ާQz 7w ab ś 'ԣ[M >Β>6?_>"pC5 +a98Wp~&r','ǔpB~%۸ ɵG,ףD EopQ G-sDx *P!Mx`x>>0 ]NFJXS87XT~ ί#No$ٴRe}E}-M!xFjPh3İKyơt#ʝ]zuSoZKg̗/Z<%sE*'r6/x9nJ9 Q9UɧXD={:ɚS\3?lOE9OghT=-=?Ӆڳ)'mώ"͹$qѰ "|?^9ؔ!bs `rgt'؉=R3-6 <Ү)y.zjCfz9ˤNp eC䲾8Ⳟ'̚l;y.0F?B>m1Q=E\(dzϴ7qN Yw y?!Ύk(8:k edmq'и2J!i>\;qi#cPu3K9 -}=UUb]@y';y\cr4g]{|&sz?hoq#8!8ck[d>g%5gQCl8S(3ĈF#r:5jIBJ:"7edLo0(5yVk=fѬ5j{h8םb۳M⢫oGյ&Ur ˴S6&/X5Û3/w[G/>L52Pݱ9o))/.^7X޹=hNi4Ӥo9::IuG1HhDpyx~9گ/<#=XW]/\ןyb,(9wN<_1yh\L ؙ΄urnLpdD$.x/\GM6˹~[ X/ N:{zg./5W4~;Q#RQIaig$4p>8B ing$7awqE$07&Kv,b zV6|= VGcOT~+_2V|F)b1#yQz&mmM2mҿs;Μ{[&(SF_&Ǎg)/혀~l{i{뿃NgËoo;mQrƶ{z,SNOYd U787c\m+SlyGvߏQC=<EXBfO8o2h1;g/!X'*?ɕx/\ϕw y8zV{Hv>ʡs/y:vJrZϨ2|ZNer>vVBx8V.לlht{#Z.*k'rrYHo ?H'.OM|ᇸKI _Xp삼7?)n2ry;/w#8y'i}J~'N$vVBƺ%NΓQuCbӱ#i\y@BDg?|pr̉ʁ޺%1O h=Ne&;"`(C}["x`Q|DĻrOE/g21]B\^60L=K{"_Ka(2z+|(UIY u,lẌu\y \A .EP8x/cNp{&}+DiY|hHAx!J߉f|_n5=';cRN͢"giEgA嶸r&<$:-S5bۻK~Gu8NΧ=\#9>^?9y|Ng88|HD?{÷2std\>9C"7]mz C򑟆W~.|+3¿k/arz|밝9^BptZ; pr_" =gr˙L~ +cG}|uO \0nKaQRY>J?wNdZ kNOA09^_m/nRg;ίUզ曳mdq{`PRx؟MZѨӚ},LMO,u\ÃU2ԪP蓤S:M*Qٜm23L8~S0_Cׁ-|uE2$@]jMcQVv?4/8eITgZ͍"ZU`UUxWr~cWN]Suazzfz"3a8HAc@ ( a#A*auwǴDuE]{ ^X{=s=z\leRQ~X"U .&2(jŸ E.rLPkuBV0fS w jȚKj:N ٤\. Y1 JFaWwSj" ULՈgFgZґ1mNev[î+”QM&KXdZMyrTgY;@ C)@bG09f0a߆_'&d7a&h/# B_*#݊3G^ l  BNyxnfWRhO$g,h*گ-"qz_\op6\mض{fLDbjI,IbhءеBv4 z-ZؼɯY~;aZ ewp6~c=! xS9S(!b~jz>N"HREL FҨ=kOD\DjCb)>7*FF)`Z0 k8Ccp HҜ'mHk>@^rSsZ]);~JާwT >MhA!1/Ҝ>O_H>~(4ILMOK侹fa#W,MO%f}l;xH$wOiJg:|rT"Qjt OX-LʥcƸPCK+wW7M`aA88):} 3 (g֟okzbP]j⼒;<w>!t.΁w\eo(6oGo`)p*ylk\  i'z(v0097pOAa$)Ҕ 3!x8^Y QJ>1Jn٣*%nxWd&لh:&тcpP%-,Dь駚QJjyU`9mHa$@śU!tN$ILG.[F!&=,%\,,AW.ܜ~ gR\i4R/-`?#A.}K&*W"%b7Lh5:7]g觧& ."Ǝ |b! K>*hjO1ZA鰄psnzG)G%N3D)uGW2K-%R_77ܣ}j>1?.t5,c N4sj:ImCjh@mCۤRV.ci\Q[ڠ/œ᠌m1;vC1;M{Ff[vœsbv쫌8=s=+,(D:\ˡb^F^Y!65= iC9[KYnb(/{ȅfñаb\/# !Qk*+09ůW_)j sp< e%jR<>Sl J`S[M_}H %ŠM"8ګRW,2ٱW([+|Xre3܍|3?@֛x0 af}d8drCfOfVgIGps6~u ij;Up9gbW0vnQ?=؋y7`G?U_̃߸{xjWts}UZl-ㆁTz]WɘWWfG{R(m[2+czt[-^{16rBB ^X=ǸzZ^qJBm|z i q09H9CRtN_jw\rs§3%z3lzϾ\n@0AZ -͓iUE jFxݏ]xr._jw.A(=Pș XE{ԕwYzנ=6"OEms<~vrek.m}+AtyԯJ[CŔ_ȻOpN6NgDV{YTiA7wzXC=EãNAa0:࿡n/rNjpde2\F[HvnA Pυd#Q23rki*7k M4zEPdUVI+0pVlг V9q Tv0 ނK.P7M@f~'"t\*軩ro=?L&8`zowS݌ ~'oՏoX$,Pq]xjO7;;kw,PXx}`8080ϧR>5x0{.[ۂ/п]?'3u> FЏ_F`+u_~ X.|W@4ZZ}NOfh9fчC["ncT3wl!f*L۪YX+.НY.r#FYhvXFG5Aw58n> g,E_e7iq}}ˠcnZ4Q@Xap2'%*4=&~p_L1. -cY{a.d$&'w}p.T]pD"~flC0.|GeG,7u%~!f qx4).KkhFx#xE2O$3XB%/2͕SZs"C\~w@ұDp}*`fj#2seE1 hBH TK%N.1!$P[ s`a1ivS/K GC U=!/$ KfC9 w[.$Q^ZF+ K#p`ж1QC.(^[zGXn;ld,F>?~撷6dE1PatTHXm[`c*K>L60_R>HWdttֽKX"OcCzgisr?r\Ś@-Ή3u-{~oa>NY[`1"q.wxaTБ@\sÏT(OBWS"R"{1lNBÃ~x~m2|\cbK.w$jxY} >aAHGǰVⷁhadu>FX2zl0+0Pt9 slDT@fv\֖~SfgG_||[t~Q:@$%٫D|ۯ ԬyrPqn&~sצRfnlluÊ=cJ<ĵoR/j]ta$t *sm)a!2Ԋ὏5BdN_M50YєN$ˇqsekeɴQ _ 00xR!jg(ٚV0K/ʔƮΩhq\?,D$}8c%[?¿2ZC9tҗ]N;[%"^['&b=%z1f=z+o{>x-.+(   N?s,ÁPvcr|Kk :L3g2og=9]Į4~3iu SW&0%A!ʐ^j1[쁇C}޴.tI9A^M7/'ؠmȘ4 IQM4IBޛ@4y;a׺n蛃w+MC)ch)+'*%L R)X5b/;>?å!"|QTzӴ=4QYM\]F\t](=( LJ6aWF\B.o:ia?K&v/]Ahٮ-'Ʈ\eiHѳ8}'x#?xКՐTFwR{wh:W{CPM'~A#6 3q;x.=Tju„bY āvaV.MBovOh LTl_c+`5޻)_ͼKE_MNwPj+tuFР; VPPׯS4;܊}ygp+Ј2Z+#V/j~"Rwm0)I=rXMů"0rbd A"<`_03dh}Ͽo"OS?tM=hzD7e,FAwӶ=an \`(7=b$\xxAc׋*T/ދ%MTB.BQiaNa 6Z8(Bo)m>Q䛙4d^B7GYmC=Bz*=e*A??XS%ύ>PbL} T]։}/*SOS2u'x O3{A!=t oˬ`sRRL}}zR̰T1p(x(.EQw  q++~͓Q?템9V}1E&!P ך5<<*ٍf@K&_%bX-Gj($] T\ԗOg?)`f^2yeOM4 SQ |6mBO>PzGVi&k]?ayK1-ڏkc;Z~&sX:z}kYZn}p7d0^f҉}Hl^ /E~3- v?#}&\F1vſELrkd,08V%1-pqL,OZ''[&f\~sm.ʯWz2gG":;L ufP`"/U3VZO~2כⴜZ{11FGp'2+tL$[f4=ĭobjA]:5il,֡ +vj?zNx-$DA>*{Ķwݵrr{Svڪ^ W?;Q]=ok✵|TAMtٳt'̿ pD'`' -~ɷY=ʵZNh)6}K؛'~wҘ#!<d̎:m3>Fa.csf-={RoL6XK%y|E8},(,~rEbyH7?(}ARo#U`~Ũ҉7=W|&ݶ#Ly„-2I$'dbq"Tg&Tg^̢IgŀZ.2y\pϾg '#?g7N*t(.xze:*uqán^ؘI x}11&]S/=_{3bg`SFK7džq|R X:|M?'!bs]6Y{g:w]~x4u :sr"$g96Q9l_R!\ nNNd"ul)GҀI);/yX:iR.EoZ!7Zn1i.uM,߆T}>t}>zwc/u{n|'F:=Ի\}^ށ| Bn4 FX`}!/3Vw)\h24P?4͎4j{\yޤݐ`=h4n^Se6G dkp;^gx?m1BX_sD٧C̎LxqF0H4-jz x%V3H3"i+^,ben82,qԑ5jVg^bܘqT{)y񹡁AǴ-]KRQ6{o|͉X(Vlf-QN,\Tea|zWY W9(8S ;Z]S)yTciOԊgNImkcәLe-֢mf%.loTpygpe2PpXەلw#\PL7kXv$}.+\mrmV,c!k+Q -X[ӄ~Dԣ:uh |e;,gf{_4801< ⓻3bр£kj\)g@)Jn MTCiv#"[l r#vNm(zys6,ioSf.eEUU&T3}vsϰ)w5AeV5RyBæMr/\y55>SD&jk-{U䋭1qtoԥ̟?Bjw1vz6[PK 9s|u\i-bZFV)O; 'מ[v@ f>ްSN#5hs3~)o< txGCmavxNSc 3H28O Ņ/uXlZsVK@ d͔Ns9{/s ]/Z;3 V#kP+d1s5x Qi,DqiDRmj֚"oKOa\::*z'kRa_5U&27ret^I\M{BS<hNPu89J:fh&kW=YJ_S;]8;fJ_e9Si]tǂ>Kgej*ԛQdf.8& 2MFW 7T-rC\i,>_IS5J `*@h #b Q7}zHFn*}ĮB4qZ%!!֥ %~Dn)+zwD~X:*2 |ɔl}.zQN#+hۇ2B髿f*"[ Ʌb맼YQ#YL:sV57 8+{p\!zVZh0ֵ)zմ6![PJ`XəI 2*5J]b%_]Jh}reuuJS ,cfFTng݄:[X^0UDZrt:?=߹ >W]^o~7% fnZMBV-oX:A/haJB7ǂ/htAmYY^7-X2:[1Ҷf6goyY۠kyxhܨH#.sPU2mGʻۤ.m@r@7?si-KqG gJM;z"n8Vyío;v {n:Cx=_W"Ƚ"9LLlwp2B"U_$nlg{.,}*]A^ۼl;'vL-zSUk"'[GRopreuc&뽎l,Ҏ8It-{;-E5|w~|[qxK7g1n`7“@ D[1lu8%a4Fq{b|M XX?K`\xr׈'grXE%kc9{_@^O/r놚|Qm.afj|& 4} V-7z8߱%AL^O\ r bBmuu}TZؠU;c'ckKxzT[peqŬ=3ok0 # @tw3 ?ȶID?$^3ٍy :xPcK=D1Jʡ! [a%V'ƦFv0Om)6cOޞCNOe цH{p7&PZb0GUn/s36M;^` #H}zR'hjP.x ZfVҳ~}_ v-Tg?Yr?b|uy[?AW ںnÏz>b}ZGj>{꧓qlDݘi3k3@ PTv3S:0l\4] ٕ;LL^i gZ6YLjh /,&G[8߷u:v*EYx١hfhKz)z=J}ѓGktf(ktoq̖e|s&RT\C<-CjK/֗OZ4wb$ aew }Krzb- %>&m!Iz(S$-8D c&v: n9Cv_)L '`_Zt_l`E#oY9H'H4o""m1ca6E^Jjk;h96hp=Q|ccc:#ISt|`}n M5ukVۦd=@Bm}uuG{!q43u8PA#3g-1"RK-dP׬Z{cZc J̨̫&" Z9XEn8]>wVKaX>h]ӞA4#XXk_Gآ梼($YX,Qh*ae3p6}g`֚P7Gޫ%sa4nR5kK oX,8вwmg]'+ԣ]J|VrqO^N#J?@4,"0h^F]`._bP\ҠרK[%; Z}HOOyg¿Zxk3Mیu2 Vގj}5׾.WMP#-&H3j<uVJ+:zKov-oOLT}kG~ĕ#daCzG7ӟv W/Q 5锠Dp Ic<џ/9F#' u_oЧ D' c::Pi%a5|xuw__?D;;x4JzM{J)O5+ EJ| | yKޔ5DFå\Ugw^q4߱wȰTx___z"l5cEoˎu˲!>oC̨s^cY67z$4PbH O]Iw7=5i G]j%.yۈxW;~3 Pq%񐂒3a.8yQa|=TU@ 8V'UgIJ䰯pe|+O* Z6yl0C,RTw||?5*k*>jC9TGw.ow""灲 0? blO8hON]~[3sQVmg2Zt%EUbH7wMOK';QPFc`T=F.&- K-]| c733JD˖mGq *߹~aTeXE{xmϢj69H3\c~esM˷G()"gZ(*7A:ZC* 5b+,U\m^ԭ[GBn7IYQ#ᑩjn PrJ<3؈L1#[=ɯ4\|2us~~{.yhfqmgx[GIEDE)}L|;&6-GtȕWH #eVll|F1*nu8E 9WeɊz冽yVrB66LBɮi*`N0Vr#:xx*"^W=Aƈ%B>^0}%14kΐ+`|zBZkPd&ZC S wLwU1f؟H-A/Oҟʲ[0ڄOd)͆a4@./9 +W[/{m#Ǝ |b! 5^K> էU/Ѽ^A25L(ks~'0t>[MQ_3@]T-ժ鑕t%PL`$RՄH&BUue~Mn$}Rg2T"V±͖LI( =SʍcFU~j7\0hQoqu0l cM(Ή7lV F ~H{.s P5-NbԖ0\,>Mب ex<-FC^S&Z%.h/"{SA-qR~~GR/ӑ?vv=6?ހI^ʢ>cŰoXu;A@xG0>Q{𜹰Bq)5\!qtު3Z`XM*^ &CE31M(SL\Qo]0UrS#'dQ072]qdy{_f5h{8vXzy۞)j]+k _&fN{?l,/h]oI%7Y]ݽ-? < ZbF&ZI|_;M1ƻ+f؄gs!r@-;#%@@1Ԓuaw!Ϸm'CY}\>0ןݮҠ q(^.#;N " G_(G?l=!5:[4L.OZq{tiTϷoÍbE=&'RkA$ (b܈SS}uը(ϒIED2n'bN!Yi*sv$1P:="_#>oBV UD.yGUH. aJg†=3r4 y|`QYX70I%dgv lIk_[M.MMQ2GYAhN``1ubs6by&tĤQxgyT[hG{$e8^&ҽa{9j a4'({<d4lΧ$"PGBǨ3W,-xJX!o l7&73*LQ2 BC57K(w0&M~[K^͐Jn̬[M&8#~Uo8NN8jy{;[7Ʌ-1' ,4Rm^+KXzaZew3l-A߇fcj&^d;*hjkG$=y+`[t6;̀ք8/qSuϹbcWsQ<`Xz:>KHW'yCYZi")=(~ҭN}oiԟ ϿEKwIvBe׍Oym>Si8 qmV%۱ `$v7jpDJoy8M+SěLUȉ^?lJf3*b6zKfYDj=Z¥WD'٭#wA QdǺ-kW(d(F-;a,Xc*UJmI aɇCTVW2d5]`fГު!?Ef2;2?6س9 OoԋZ 4l!<+Ғc,6Cxz'؏qЄfs:^F,`d `o=wׁrx|75hRI ds/c[tSs\/ߊMywb t__Un]d qO(siÚ瑟kk5f"5:/l"L 6MҊ[ 2[2nH|O߂%4m3ihN >)HLit [D 1C ڠTlť#dRx}>3Jr,g M۞w`L Dk9^SЂTā7¿|aSK~N\;&"竛XTW&1g7ZƉ; ucx;/.F?6@Bְoonz7{}kcK(G©عKJ 3RoY!8D3X4dT.!TDM@ABNl9xطs/Fpͽ/r}_6<5N{ ֳU4+*ՔªnLbF=#!o[)~C<^ ߫rxcsKwy0ז6wG3Ǩ1)-5M|3 :anpNLP&|R Aճy#Π-|4a}774!7Wge*"hlY;k& Z-wɄ` QIYa\jA9+bp 9wV@#*2,j~I ؉lߍEl1lJ◱ *7DT݉a1pl^~`0g'1zz52LC->hX\jU_ b)w&)?31W"@ &amNXD܆1!ϬR!2wXthֱFYi@n/];)=ZLnB.z" >o5`Ə8z"<Kx:<1>R^4 k& vJyد%x{Ъ gd(^ ϣ'@3.Y<8`/8NDҦH˂C#oo*Q4NnVG-H-Pi:Wns4NnP|ٝl0n{`BbWw b}whN+5lwwsao s/syVrϦw߭K&R|IKU}ѓ=S]]܄]]_gF# "[YǤvSk"]'L+OD if2lnuUƜB)-1ŲۺdJOyU*C q^+{v`CKX,/zH(vGv}[_Jv͸g%P3h ؤt7^.1:b|~yŋʜNB@,gZw/k2`,@ ~\M/WotԬ/H*-̉=J (p+4=hR5!AƾY s98x֖DqKOS#Ԧ܇Isa᝴s;/ 7@ >`Bn{_4-Lu^vlx5:D, |q;3ׄOw˝NbњW]T3{_}?2 Ptɗ~]4e252ezYe$gTJa\Dom0ǿ1iZQN=kH+%J7ߓ$= D<"|>]YTQcDzB#/ [W2s h@y|gg ^v2ghQ Bf9#IN;Ǵ])&[jk I_;"Wwg)נ YCp? > +K>kҨ"ZtBpg(k5/6=B)8 Hpt6;%'haZ juUp]wzsu+̳7Q?B 8ו{ڧYv.Kv]uN| j`#%/X4}A@XΐI ʨ଎Q:hV4$:BioOҠ/_\&p"=&sr ~Vb;#fF!' Du vD>8I䜛pF,ۂýċI m^nI.LlkN$z%u)j'͓LO7 1o7> JڢO6Džf5h3aƗŒj>-HkJ H;,@ hԨ;R%'&ӒJn: F[Sɻt:VҨ%DTo9Rw6kX^WAѨ"k.D1#B *a IDc/$RтAjNtD@oS7K׵n/~N-k\ S ]NCP,όX %0_9*bSH{lFIv*3cj0rz]#< cT7]zh[.*ԧ? $?;n).Fm{M]7.4_1G5U/UCSߵ񾋺?M>o,殘*3ߴ\㢵BkBo^7/sK/G7-yS9\u8||Z@W|ǏĂ^A}єvg\[75}+)VW9bp7=ye_`=߹teo}7n_;RwoZ= ໥>{S~Wώ9򗷞w/TgO_{)?~Ҟ]pXMNh kZԁ7+9_ݶ{m?KNՇýթ?ZrΕN{>x&y;dAߥz> 'jgߢ b:~ Z@s?yj]Xbօ.@awEz~vD?ַf/;uQZN/먟v^]ןX}Nѝh?PUjE֩J떯R}yts%[(\3D:mL$'QGJ\m+qQ;2l {f(?tV+4Hyp{M3{8`UlWwͪzGQڃ+F05,];7َ~F#2;*!`- TMtۯ~o`|x 0T7F߃u 4ZL =o=p>M؎ImCg Ç$湸&ouJ?3g :\ȃagwF6tm#m [͠258PgMg α}[|;fN-̄d0R5&eFöf α7-i&>p8 q9u:}L5vm3'ʷ^5koqہEku&gyŭZ[@97Aľ-Z[H\1lg*u m3_̂ _b;SCoYX:3oY`Q/Gۛb'jF-CH;;˃Aݽp^_x(c+Sl-L\=2-4sV.>w1=*~OuS 9͇1Koyxxڤܮצ(bړ2X ٽw݄ z=k a Zfo{ݖ#=S+ҜviH= k=7(;㧹TFyzhӼt/!\<V-.]^Ư':h;J9/KDy ͸c֎|Kak)xCp>rmEtnccw@ۨ@u WQ V.ͤR76ZFW󠻻tJͻ^bׁ`&Ёu7X-l~B0=':$!D7!3a:w[wo(!jP "6I'ęw߿1oQs&x3Wk#clCL{2hxpZ]D~誮O ~='n'}w;}oeF \D`"]X=+CCq0b5#7;fr$`O vٿv6JozrnrK.m U@%Ƣ2cу4ݫ+]gʆ x_V{}ӱj֫{rhL$6F '0,Sw.Ze{v v97ۈ5<>vRE="aMI=Zh8t~[>WOpZ_GGΝ$ bQ+Йmwh.5 LRplN؍QGsq #@PYci]Ymϐ o ZY|lUd\=j /,)/1~SV*hD j m=-M/Д~Mwb)k%CV[S2;D( 귧%wb, d4V(҈1zHi͘ ota L*/8Qʎ~`Ψ/J1ܯA$־V5uMoȹˣ}rՖ7L]VS[J+Dxkl:F.i 1_Nә Na6MvzF 7x ᱽ7hÀ Ke24CG:jAMW(, zLYi*kV( ?&pBT޽*p 5՚_+N'h96^Yx 'EU::G \] ss/|rNv_ Z~K/suh쁆^r)/N=ց}n=U*OzLs{Dx&;6y>^7Y\.8 މRdڗ1uPt18o6`mlE /w$bw]翁m?o߀܏H%u =!=iFZcv12XF^<%dmWVq߼'Y[-l:,)%[mߎ4W6)%GY(n @KB\eK [B]βK;3=i$N $rӛ7H\Ʀ(jX+9kA^p-cjs5N7ؕAe2Kkqf[yt"ۮ !\/ -bB2) *QFcjsvGR*%WCy5\8QR{=z`vlkF>HFKBA`֨ 5$P{@!a ?El"!:{/+@^Ӂl3γ)ɉ)}&=c:} ^3NrO,k+\XkTYU{D_QqJpv._i]_ڹ٨qswLgΐj&02f^بRMlolbNd{Mu VSܶI*< lZIlfTY!zKҲև:h}wW퉱x!K1_5q#k8Ny#,hiR*6.zyNխlMuϔ׮@2mH bil} ̻ѳts&^]1vܔamD zQ'yɅyϳn½=ն:+b c Ƹ^1Dp5m4lze*P<6b<%<9AB7bj Okukq?qWfj5ȣO;@LvPeZ乣_M.d:]m-s!TfvmYrK$E$23 1j ј0Y3Bm*WA|~T2 AC/8H M>+I+#a@sO Q ɌcI5VyΪ9#-d-90W%*  :1 kbԟdO }ݰ(F(qͪҔ%F,Xg@0VҗW~ƿmnvtB`>G(j OKݘV**0Pp'HR68?;~6v}F5k _%JO$8R@0;X2FFU8FĞ{|ܠPdO0Nlpw$l1v0:؈OMW`lԵ7$Fa JCXɐX̒|=#zm 4VA\L  !#ƃC8{㻧uH!F$PNmyua8'd دNuIe^J"i(ΗF } .DR8W?>ՙ5tr;F߮ZmR{0dYژuklpgqhji )Syխ!tw^ܡ(䣱IQi@ hmP3tp^ 1[f/*t`(',TEڋk6~c X- ŒH k?0s}N<6D0m֒9Mi=&}jmz2xo⟈׹rp/QW>_UG",\g^/x"SaT(I>- k!ٔH/Ap&e(\@,@Y% ^SU%9h$S~gVNi8M+kIʰ aZ] ò.,ALI-)Ss`{rmlj`ix'Zք e ڦ_ &CiḛߕL !.,MHG"Ldgr>WkaϢ1s4xT)ġpNccBx2NjI+[ |co"Ǒ/~j LqrTk\^"^-)G8)lW.iђdћHᴀtqt!#{b6, r oo튤>j\ .) O0]ʍ}S*?37%D!+HgN׉*Guco$ϭ_3}dKqAZR۠`CC<%>Pg*8gFm$*yx5 (pjq=1QtN}Zy˓O^r}&'>օ2ḱLPz,H$*'VSlAa ӓJv$*#_'y_S$XEA-ĵdPFhu64j {"TS+J u%Yrk [8Ưh8B#7u.}p BB+\y@G`d-t2P&s{gEnIB٬dpĝF?z4TJ dspp\=2u:C|~pUq֭sm+Evuw% w-m67wE]]@~u5j~6P\>&M(9<Ԇ_dG'C;ʣ+g.\~r6g~}/uо^:Qr`(fG Gsr+*m@!h_T0h+/avݣ쟟3˷y$U~{=F%.zž/EQ|؟z({b@Ԧ0DsG:$&ua@zw CK:!gCn1*P >{vL߇Fhg{}%1X&aq9 wL##==Ǿy4zǮرc^"#RjR֒[ PC?ʃM*;yl%w#wtMm#Έo9uoX 0Qalf*vg.$N?-vL0 πi1 SJr_mkn9mDDŽ;9k`YsUiq$I$Meм/~_.%t7@T !c. -<90IKg2t LC e Q)O-}*c2k[`F-.k3 dxc. ɧu< ěu/ԓXVFirrZuěwowŸ={\VZtٰum9t_kHٿg] k۸ڷύLlu;Zfq儮Jh_*\,>0[ hfGE9e2Chd1AO2{. oK,& `kL{&Hfc>B~bMwz]}Sm,Jn X$$: Wf:mdm=tU>&B AiHu3VR_okO,Tw򹇠FSF/ioN MB /B3Tztx6/pټnGa }{/m4[oB^/N!"Pjb "߃e` 1~m㰾C.xQ"u]¯'JALF2# ;VX}G YHgi+ GrSwNK.C-_ڛ́˨i͵vkp=+=gA뻑8{Ig?3iֿW` &Yz!\}}4fs])@?ո$ya7@APX(n-މAfx3u;S<BvjM.C;Ro~m K۫+mzNnF~;˦r>4JgV̸Չb(D̋C}Uɞ@ᥞ$jӰK+gh3^m@}l>.8F4 (.Ju.  i~ǯ$ ᳻}sl e2i,A<Vp}33wM73тH{H0G&ᵯs=g-"yܟ.= ^wkUĝ|⫤Q}Nſu/A`a\5)s\OfS1s^}P{#=HXGp{i( -ork/E_rKEm_ṮЄE>vCSG?_Vlv:c,מ ocCe@ PF} ΄-- A^x 33Ϟ5QD?/5Rq.'z7JKN:3#ŢEW?L)EOrsw=j,Mr[5 #|>#7*]|S\:\\]Q~q1˳o0YE2s7eC ?d?cA>T~Y1u/Vz/I s&QnX~W/QO|>W߂j(Y?-Ql7 _5nK{q xGg!v t ^n::h_j±~z'[dGcCqy:O `*s_(^Xo#e~$I8.ȑ,Yg(ޡ.Sfckׄv#sr\rV׋n6"QG/M2KQ}X|)K8^&{nGh3ם~up(QP($ʯ,PbA0XZFnSvjU*M$4sUĎ.eCdRS FD(hk+g,ˤKbn S9wjuǒN _UoVJy᠜38jc U!^N6'/kMު VJ*d`kC5cdF8F_?^/?L )\1Ƹr(XjuisSτBƴ^Y7Ѩ c47:b>` FGĿhwYz9˝W $2%]YV\$6L ~Nn<0@sݻ;Fl22&F:L9nTlȹ,V}.4$k4.χ7rFk74vV.qك>d#n Cs7kAeO/Lr9Hוxtt7X xO?N ƕ*TpPhQRᤶ͛Nm{xڍUMo#Ec']AV$>?ˊ!EbyqJ冠=O[3X9q7Ώ랊,Ѹ_wW~]CDzG}أuqVWezӫ1^ qj׌U*Z9{(1Oo[yeCڬQ`Vw{W}DV}{+*,Uq 0.G my0Ц* ƫtx>,x/EїߧO3~@e\2~H*?\`es%ڪǸ M49eSԢ518ԆEB .1=]箧*^?%<FNjQD{$v>*W٥ A ^A}iE_6LDS$ NU4M$@ xi]q]1oƓv޳Al?3׹!8>Fft<֩pQ鿳bk`*sKwH:΅&Bͭ!:v`su8S~J;֩644Е-z*T)ћƶ @$ h n3RguD P#" `.)E )lNR%'WAwgaE@#x}:hdd^f~=G\_?9ƦXc^41fqem tJ]UU6p8tm9>%öX4O3[{]xc6N:q@<2g)sn*e0Cp(tjD_Lfʞ$TNi2aFJ;]ћ0x7/v)Dpfivݸ;Y<1lj;..; cWI҉.R2,D ,@vԅ2,n 0nS=miOSC[ZW6?9mNa;|bثg?1*KQjlON '"W` CpkC8]$Jt":xtxŌ.lۥ.sƴlДu7qYi.3333333333g[iپ3HpL.a</2p, H(hX8D!Pf3YdF1k2k1k302 MM͙͘--1X&ZĘ8`LنَٖٞفّىI3&䘀8f<3Lb&3S4f:3bf3sY,bvg\͜|ɜ\\ĊȜʬͪã;Ɯ\\\<<\ô1qL$S`c`ebfa>g3/2132w+KL%5s8)2Kn01ef0U1˘ f%Ɯ||ڬúleev;]eHv&6.;]]݀ݐ݈ݘ݄ݔ݌ݜ݂ݒ݊n͎e̫,aclMI6nnnnĦ !eslRv;Nd')Tv;\\dg9\v;].dwfdb>b>fwawewcymg;d"]ʖn-̝l5].gWJvOv/vovv_v?v@ `P0pH(hX8xD$dT4t L,l\<|B"bR2r J*jZ:zF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gW7wO/o_888S88388s8pC0n87ɍFsqsprqsprqs[p[r[qc\8#\s .ɥmm4\ 8ʍs$n27Ms3,n67s .ܮn"nw.ϵq\Ws\WpKpeۃpUq˸ [ϝȝĝ̝ʝƝΝɝŝ͝Ý˝ǝ]]]]]]]]]]]]]]]]żƼ===========żɼżͼǼμ=====ϽȽĽ̽½ʽƽνɽŽͽý˽ǽ}}}}}}}}}}}}}}}}[Yy^E^e^U^uMm]>~$?_____ͯǯoooooooooooŏQ}1>'$www|9>)?O'~*?g~.?/;<Ʒ|_w]|_/K|7×^~W/+~~%'7/? 0(8$4 ,<"2 *:&6.>!1s& )9%5 -=#3 +;'7/? 0(8$4 ,<"2 *:&6.>!1 )9%5 -=#3 +;'7   `` Capa a0R%)%-#+66666666[ c @BRH  ;; ; i!#dT'&Ida0U&Lf3Yla0W' ]]݄EB^hڅ ,:.(, %[BPBM ˅BRSK[GWO_8@8P8H8X8D8T8L8\8B8R8J8Z8F8V8N8^8A8Q8I8Y8E8U8M8]8C8S8K8[8G8W8O8_@PHXDTL\BRJZFVN^AQIYEUM]CSK[GWO_x@xPxHxXxDxTxLx\xBxRxJxZxFxVxNx^xAxQxIxYxExUxMx]xCxSxKx[xGxWxOx_@PHXDTL\BRJZFVN^AQIYEUM]CSK[GWdDVD^DQDYTDUD]4DSD[tDWCġ0q8B)G[[[cĭűbTD_$bL 1)mmŝĴbN D*Njĉ$q8E*N3ę,q8G+ ą.n"qw1/bXbXKŒ-eWCU& _\))%-#+'/ ($,"*&.!)%-#+'/ ($,"*&.!)%-#+'/^ ^(^$^,^"^*^&^.^!^)^%^-^#^+^'^/ ($,"*&.!)%-#+'/> >(>$>,>">*>&>.>!>)>%>->#>+>'>/ ($,"*&.!)%-#+'/~ ~(~$~,~"~*~&~.~!~)~%~-~#~+~'~/ ($,"*&.!)%-#+1+q/ (I,)*i.)Y-9+E!Pi4\ZC!FIkJkIkKHJ MMͤͥ--1X)*y/)&ťR6ҶvҎNRZHY)'I Di4Y"MIӥLi4[#͕IBigiiWi7iڤvC*HNK*JKRIz+!UTeri/NNNNNNNNΐΔΒΖΑΕΓΗ........nnnnnnnn^^^^^^^^ސޔޒޖޑޕޓޗ>>>>>>>>~~~~~~~~9Y%YY5Y ٔ-ٖٕ#ye\Y++=}}CCÔÕ##ccSSӔӕ33ss KK˔˕++kk[[۔ە;;{{GG[[ǘǙC''+ggGWWהו77{{wwOOϔϕ//oo__ߔߕ??UFeUNUAUIUEUUMUC5UKUGuՈ:DSk#ԑ(uMu-umuu]u:FZFUOUԸPjJFVNݞUAQIM5@8u:ANR'Sԩ4u:CRgsԹ~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gW7wO/o_?񚠉ɚ隡ٚZD Նiõ5Hm6Z[O[_@PHXDTL\BRJmբbZ\KhI-mmmmrZQm6^M&i)Tm6]fi9\m6_[-vvvvikyMk:XԺD[nG+kZEj5O[-VhJmOm/momm_m?m@ `P0pH(hX8xD$dT4t L,l\<|B"bR2r J*jZ:zF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gW7wO/o_Yy]E]e]U]uMm]=ч}>J_S_K_[_G_WoooooooooooѷQ}1='ҷѷշӷwwwzF9=Щ>NO'}>Mg}>O/;ަzA_w]zQ_/Kzޣ^}Wާ/ӗ+~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ss!!aa1Capc c1eiemck6376064626661656367042[cA7FH;;;i#cdg7&Idc1՘fL7f3Ylc1טg7 ]]݌EFh3ڍ`,6:.h,1%1FQ1F3ˍF88888888888888888888888888888888߸иȸظĸԸ̸ܸ¸ҸʸڸƸָθ޸ѸɸٸŸո͸ݸøӸ˸۸Ǹ׸ϸxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdLLLєLTLL4LӴLtL׌C̡0s9i242615G[[[c̭ͱfL$f̌ 3imm̴͝1f Lj3Ǜ̉$s9ŜjN33̙,s9ǜk3 ̅.n"sw3ofY0fY4K͒meìUf \iiemckgo`hdlbjfnaiemckgo`hdlbjfnaiemckgo^`^h^d^l^b^j^f^n^a^i^e^m^c^k^g^o`hdlbjfnaiemckgo>`>h>d>l>b>j>f>n>a>i>e>m>c>k>g>o`hdlbjfnaiemckgo~`~h~d~l~b~j~f~n~a~i~e~m~c~k~g~o`hdlbjfnaiemck1kqo hIl)jiniYm9kE!Pk5ZaFYkZkYk[XZ MMͬͭ--1X+jyo+fŭR6ֶv֎NVXY+gY Dk5ٚbMYӭLk5ۚc͵YBkgkkWk7kڬv*XN*ZKVzkaUUerkoNNNNNNNNΰδβζαεγη........nnnnnnnn^^^^^^^^ް޴޲޶ޱ޵޳޷>>>>>>>>~~~~~~~~9[%[[5[ ۴-۶۵#{=naGڣ5uuzF&fV{k{=۷vN){{[{;{{{{G{';mg쬝{=ɞlO {=˞mϱ{mvave%Rdw=v+vծ}2{W{{{ۇ؇ڇهGGGG''''ۧاڧ٧ggggۗؗڗٗWWWW7777۷طڷٷwwwwۏ؏ڏُOOOO////ۯدگٯoooo۟؟ڟٟ____????ۿؿڿٿ::;#:#;:;c:c;:g3 wpF8#QΚZ:κhg=g}ggCg#gcggSg3gsg gKg+g3։:;ĉ9q'$v2N9Cqxg3љLv8Sitg3әv8sy|gY6p brgSr:{8Ԝ>gY;+=}}CCÜÝ##ccSSӜӝ33ss KK˜˝++kk[[ۜ۝;;{{GGǜǝ''ggWWלם77wwOOϜϝ//oo__ߜߝ??]e]]]ɕ]U]]5]˵]u݈;sk#ܑ(wMw-wmww]w;F]]ܸpnM78w;Nr'Sܩ4w;Ýrgsܹ~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gW7wO/o_?&F"bD%F1"fĊ'F"!a5"#"##"kF֊Y'ndtd "F6l$id-"[FlF!X$IDTdȶ"Gv)d"H.Dhd\d|dBdbdRdrdJdjdZdzdFdfdVdvdNdnd^d~dAdad.]#EEv#mHGYΙ<ΔzcǦ"B^-G!twRam²o9],0b{qBo_UֲZSR=8eGrkrP ZD B Ƨ4FNC; 4NC; t ij55VK1Q//$q3A$A$A$A$A3,?~Yg~Yg~Yg~9砟~9砟~9砟~9砟~@?I1P@=zu u u u u uS4Jt|!UKjWX.*7E}DC#&)4b1C ЏB? (ЏB? (ЏB? (ЏB? (={=={A߃}={C߇}>}ߞ}>}ݞ}>}蓱θRVdro{Zp:G"#y #2"Ȉ #2"Ȉ #bz$A?A}/cЏA?cЏA?8Ї#ЏC?8ЏC?ҋuxU VƑC9đC9đC9$C9$C9$C9$C9$ A '~xxI'!xp!xp^ )觠~ )x{x{ॠ>,"x,"x,"x^ig>!xp!xp!xp!xp!xp^6ܡ4(tVM+ <+ <+@y@y@y@y//yyyyyyyyyBBBBBBR6y->6g-b14=V^6Si b1 }>(>(>(>(>(>(>(>(>({QJ@@@@@@@@@@@@@@OOO~ *=Q,T bYҥޮ|{ʵBPA8mnV7&͒1ʜAkӺ An欦%6Ls0:',zzIhyir#Mq22]eqV;ȆUWL:eL[u-?Fap [ڷG5?/5hQ(2%l4lZdfJͦIf\O(r'f#kF"Xn1i_L0&̇ a0|`>L0&̇ a0|`>L0&̇ a0|`>L0&̇ a0|`>L0&̇ a0|`>L0&̇ a0|`>L0&̇ a0|`>L0&̇ a0|`>L0&̇ a'O <1'xbNĜ`nL07&Йt&3 L@g:Йt&3 L@g:Йt&K̥ si4\`.M0&K̥ si4\ 7@ pn 7@ pn 7 bp1@ n 7 bp1@ n 7 bp1@ n 7 bp1@ n 7 bp1@KAOx4K%` b1XGbOG_{(,aQ7=}epXW:e-_*Wj A,6+fSUb{RT  [<^tLy1Phis+(T rOXj;ZVc֌Jᆎ֑= jׁQ RzZG{-0)l\ c}Ӭ¨P۫ȫZ 7#[raYyyT4N?ԞaK|g%fWVVkm^XmX]tsZ_)sՓז+5>)"GukYU ?abӄ\l]eR:QV61pVcqX-2hU*jG aS;JeenBXެJEY\jqEjaY!<{U ADCm7@uGYieh"W R9Y^k`慺;: [TlTrOR֯mP+R{]/4WXFƭ(}KzJPQ6VE}DC#&)4b1C i@?~@?~))))))))tCOͅJ^W#S*jw Ɣ5xGBǧʽ/1&7 [Z5Uզ5ܤ;fyj;}&\,)ZbVݍ2v&3!WUZn_)]k* НGO V6[{X(:JJ}dC3`GL &q<XW& Q#h5|NG>𑅏,|d᧍dYbޱ9L&|6SpT$nUې A.RhAOb(bRg-8h1tQ iŒR?Hf ,^br#8rTq\8.UyđGGqġ~qǡ~ '~ '~;}pds_v"$I"$I"$I"$I"$I"$#H"$#HB?SOA?SOA?SOA?SSh}VH$DH$DH$wCO:'K#4K#4K#4:'΁ ezoW~ځ#ېHN$'Drp"98HN$AEYK~Yg~Yg~Yg>|H>$Cr!9|H>$Cr!9|H>$Cr!9|H>$Cr!9|H>$hlҺ]oPi8ȠmMvAQ XVu3YgA ^KJȘ"cçB' գ#b1DL!3Yb(ЏB? (ЏB? (ЏB%B? (ЇE `Q=Ò$,IK$,IA߃}p$}0#H30#H3!|H!>>>> Hp\GĠ~ 1ipA 1ǠapFapFapFapFapFapFapFapA W 'Ҽ+V0 by3Z_]*`)X"`)X"`)X"`)X"`)X"`)X"HA?}8N"$8 4Їk!k!k"!c8!c8!c8!c8!c8!c8!c8!c8!c8!c8!c8!c8!c8!c8!c8!chTZ~[[x~E@N?)OA SП?)OA SП?)OA SП=)hOA{ SНt;)NAw SНt;ݩC@w SНt;)NAw SНt;)NAw SНt;)hNAs SМ47)MAo zSЛ6iu^:SЙt3)LAg :SЙt3)LAg :SЙt3)LAg :SЙt3)&| >bO11)hLAc SИ4C{Ac SИ41)hLAc SИ41)hLAc SИ41)hLAc SИ41)hLAc SИ41)(LAa SP0)(LAa SP/})KA_ RЗ/})KA_ RЗ-m)hKA[ RP,e)(KAY RP,e)(KAY RPpy8W)xJS R𔂧<)OiSolz"z>"A!Ib1E!tiЏFξJ#_&HFfcQ*G_6t to5{J|CVcIqUG!y{HC=$A͏JŞ=GGPgŠR&l:Dp.E"P"P"P"P"hAG>]]tcЍA7Z~ 1Ǡ~ 1Ǡ~ 1ǡ~qǡnqơnqơn &NL@/K@/K@/$KI3 $OB? $OB? $OA7tSMA7tSMA7tSMA7=l/S+ b% $qP*PHrOU؂6Ѧ44eж ږA2h[-ermˠm- 3G^tl+F=D  $b 1A"0(hQG>FhфPJZ6EQEќ[)T+\lD"񐈇<$! `bbbbbz9P5@!a:Cه.(lHK=" QG>2%00000000000000000_rGcbj|hz%9sY4iBe1g1g1g1g1gS=Ib1!aY dO@DȂY! "dA, BDȂY!J[/=e(]MM+6lQ(ZV',elm}Pi(Zp>VmTjk^jo*ֿ8VnUcI,,u$;+ޮ8uXRV+V mrPS~ˌ3P^3#{ Rsvupה\Z^\kBU[[PvJJUTL(5Hl s#xSSSz$1DC C C!B1A"~I'~I'~Tdv.vt $J$JJ J J J*4miosNE|I )ӉE}DC#&)4b1C ~QG~QG~QG~QGA߃}={A߃}={C߇}>}C߇}>}A>A>A>AOO===AOOOOOO~ 1Ǡ~ 1Ǡ~ 12̾J}R!8R#8R#8R#8R#8R#8R 81.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&0.&OBaaaaaaaa"_̗c5f}QZ%EaTӅeRo(M(JsJ}RAY3iL=FϤ3iL=N@5GNiDdHdHdHd޾ 4~NNɷ Zb0UCA,=ym@"EZ8h f`vVZ:ϗwY]a(:s):ⶣ(ⶣIIIIIIIIII p p p p ZK#f9ЧЧЧЧЧЧG&џIgD&џI៺G]).͠{3 7͠{3 7͠{3[`l-tl-e 2[`l-e 2[`l-e 2[`l-ebЏATˀjU]dGm, R\_9<Hc;VvӯJkzq;V_#{ղK-1lLhe9D_hXoQoIn_œ'O$(HP?~Q?3Tn/MIu{>5=S҄1zͨOhreܬ8VdbMhB9pbOmA;i5_#9Q~^Q"4 'mއS6+R`gjK4\ q)z?]]OoZ\TmUfǷCRlmsNnmvyڪj%ߦ_UG |k:!Ko.B~L]Ʃp۴[}nWp۵|֋ٮ4^0WLrcb>pKhk8}@Kzg:R#W}A7eQG*Ժh}^j47;ZU . jY,z  ,]YsH~2`ݵvWGELܸ=>W5dGE)gɣvPe246 ;?pz$NoA$<'(Dd+H Hz#n4' |*\RUj 4g^1 T*v 랺'8rB56Lul2Z O Cv72[FfһEwK &Y,3/kǑe(K%S9Y'4OErU 7"wg5SgH(s[-Emr^&NOFnֳߋ/4 bb"dyy?O|]gx} ypk=yϑVۭ\QZ2&L;d0ČJ!MvN]%VEIXI6 J)*RF P(4+"@H|Ixa#ЅFZI#pb6Dh^AB, $`WSSfv0Ѕ*Di'H;H*4$%cQƐ!C*D i'bH;C*41u}(1=%#\QIƨn>ke[F5-Y"2 y* u4qoxoR LP}vrl[|̗Ovɱ}E2>h}#\3>d<ƶ>.d!v ;`vq}#s<1g|?bXngX>w؇X2a ;tcl\a ;` ggggg|#9>Cx>YnX2a,Ᏹqv3d+d+d+d+d+dÎz!16ϰ}}.|,<~rX V>^+`+`+`+`+`+`Îz!16ϰ}}xu!vȰCx^s^'>6q=Sd~ݐn {f0r d,0> ,%[|>vm[[kfl%;k.9 Q6/ؙuE=jL I$9%Qm+Uw[>J櫦7d@F@@Dn @,9BD" D!f`CB"1r1Ek1J!f"Ęaf fq&mCc2a1;ρ9<"qнv7r7r7r7r7r7r7*w<,ʼ ec#2n98xώW?\9Q&-* fqmF?[m+7$Sjw&e~$E$k/!x{|̬XYBuRex+_]?\˯&eGIvBIˇ!LQ]E!ځC.DGm~Ň]05ԛXhR~ {@9p w#0!6F8B !Dno9AAAlnp`G>Gl`;1D[EY D E-@ B B B H' @ @ Fny恛zh@Flmцmц0D0!N O!O!p}p7|ׇ|}GXr3A!26Af1D!3QC \0'/VGBR!|$:sLI<#̈<#gD3#܌`H=OcX>},~z|`31?f^E?bcE,og|,g|L0', w|' cx<6~,!o Y}Č|;eNYS|3Ϙşf,/f㋙cb6eWGP,Ee1t", ʩErq9q9<ƨ<ƨ#F#ǀʢY9⬜׬D\c\c\Ɗc|yqyc@Xtm7Mr9?f f6EkD1F`fħ5gF~nj\,oYN c0 [9)E`;C!O<4}3G0_GG6 ;M5ĺn& N.Xq$)tVRV^L(ɸ_29ui99C<"fAY"[m1307b3dGg샬Z+Xa dF;D~F'鄬0OsYc;[]ׇG)zr'Lٛ QnvO7K\R-QnЅ@l[^ZE$BӬV*)΁(T#͑p)I {L':Hc[Qӟݻ#'4Cǒ)mf]wY6[:"lf[WKYfy${>6\ʆ+ʾ1#P<8<elWKM`iY}.e33=nb~F1ȮF[#ڂPhq4goXYW+;XˆV3IhX2 u2JK]?F_iyIVj[s! QnvO7K\R-QnЅ;Zd6`{LiV+ L@LtA  Hy&9 -i[v~H 30ΞYtץ>Ke (&3:y;u#ȓ\W%$uyw2r47 aa `xV)L N+ }IJHnSb2ls˕65_؎$m3;]nfk*6QyMŲeU*T,sW쏬b5>s,+,Y^QQŁRႮjbmz҉SSᕕn21n5fo/l|e'yIw|\dɪ@27H7seyn}N}xDӤxXjgi,u#`|4]c큋ilM Uo{/[[1Zy4dI+h(\ã5݅n$QV`^+RX tW;S[QXg[|hC,nau:LA\VnIb,Wr!.|NڋwKRbmIJu܎LK leoXF0WA+} 'WX;SFjNQ©IVI,agKR)53a(F`$癦/3GGRvn('[ HooGb϶:şE?nlt CZږ`|6i;‘";:ʅw GYhnUfƿ/ݶp xm{ UBu䳭G=`p F!UtQ z\x\0 . bϴ'3}~6X*ŠJU)U JT)*ETPr)Ȼ*R¾K8p =p.a.asgrJUJٯS^rXA2SF5JU*eO+ElXNNtvrA 嘮U~BFv]¾KY@:w{sdb%ϏE  ϦOQV/j?Rծʀ8G\>rTySr7i]|~aVy}LNOw_)8~$*Vd+eUiE>EM.);/JbfjOIE>eO,)"n^Se$Pw v;*]oy14S@-ʩp*xYS}}Z&zfUFZ#%@Wsk@j]AB~lޯLҷ!T[m[;3;EHq.ܒ'<='b T-?zz]eRj5##_Ǔ~|XXDt14gd7|o<'ڬxY:͏L?d|R{bݙGO4lB,i3y]X ~ Tv}2O"u_%I/LxeSUUZ[8g1AP( SR`^%I6JF1A LU@t5I5y){feza9o"M)DomCRz+2RJ*R$l,%RbĐ{$N8*1؊CY J*IJVΔ<8_ B).K6xƒRJ< fEZVI;;0|Dz&' 'd1x\&I96O2OIbsʫ"U{^7o{I~#v8'ax$zxK >!dp|E:ׂQ IH']L5(GHG33ӤcoŦcӱwbf|Ζ-v ,hm\op$]%T#Zʎ)TYT޵~EEM{eoY u!%T9DÚp'a-*ua*è< C*kHҕITI"T] 67~׿DuZ_GȦF*qA6c \*pHv.wˉCϤKQ鑗Qyo9w%.D:r"NumT;ONR3QOt]~+iz\wkuQ+D}Hz YҿQDD9db!r*SL*,΢"\6KmҌvXcL=dM34ϚTk^7AmF513NMfsւVoՃI:@  B)wSB.hfÌP8QV,t/S:p2x#+ky-p6`Gqv_j졭(Mӿ3 {y .3jFL on܏N 4 >5k}W-. n\+С&n:LnMy6v30wһ-mYx} UYf33uŵkl!ɾdK$$!I%I%IJ$$IR)iSJB|cb<~{{f|g9B !)|kڬu'RCQMG]=kAf%ѣ$1b8%H*)MʐtRO*ʤ F$$OXVMHK;6I# Np uٮ"*'s8iiwL#U^>kF81I HY#yb: "{y{*Zc~ߏܭ"ǯk5x?eW&V훓~5Fx](iӮul۸Kб]4:o3ߢgpN38S )y礝:{N;3b>nO" t۷tJîntn߁}H|utE5zO#݄[?Ltנ7^G zDRf MA#-4 i9H#!Ҧov8k _ r~Y!2al!C Fvh6~ٽCM|` fp6cu}ÆUd bfKg[1!ؚF~#lUCg >H3Ҝ܆#jH/D &w{Ƚ2[̖Ul6l;q;<y]_ - ĐͶ{zx^%a{VφUt0 a:uDa:Nޚ iaz0{MguCK/a0}|Y>(LgyreΚO ٙ*O 9:Ϫ|Ϫ<I*R%G/LWLVtJT Kz\><ӗܿ\UU)UK]Voe%,2E1.ܼ9+<6+;o/HPbjU]{L9*]M$&rWjTxUcUza$gs~s;5 %NssssrF;:w:98:3'/>Nqrow'ww{;ܻ܉g^Kb,rvqu;ܝ.wsrCgx6I<3Y:o:SGn Gps:;/y|g;yiMvbt))~u>slp>w6:_8:_MlүNcq* z|FD@K )F秓>O- d*6 [F#Z|B"7-2H~%oG~m">&AarLd*MP̠"3i:-K^hM CwhڅGtD>ч't9}:~L?&_f2|2Xz6 ߂g>eOc v7o"~ [6d7o; MM |or| BY)Z_4 ` pim::Z|1ss#c1Fjj7 cc酱cFVI+^d5մu56֓gݚnw/WQ{=Yjcd%U*fRt}L|e|%+%$N> wzJWVQAn&)6h APP&t6DZ bb5P An.aK+JCUeBՈ5cm!zy e#Xv7t6= "-ZZֳ}϶ KBayU^ "&9o XwKG'G "-+>㛠_N"3f؆Y#(Gx<gΏs'>J,{Y㬏⾂u^<o3p;-h_MΫqZr^sB·hAg.rp>;ЊR -;|/P .{;e Krr82ui/ O+=(uze(Ы xyx K3r8SR܁(!__N3Nw)NW8~Hx–pnd~9\wzW4Ϲp*P#{bgg }3H8FA!]PRQȫ, Kq~pk0u@{@{!@7,Ci9kt>зp}Jgwr>"<*~am>6Z_XZ_mvv{þi_m7ۣ]WO^xm;w|u>t99d_5pփL}Hs1C}Ҕ`4Bʧ ),> 6u@{a<=iI<v-h(2 vb"ik!TZ`Ye :B@P`pG+p?иc_pFM88> .ȋ.AbOetey9y -{S% &_?AwϧJ7us3B鴸|Lc=APm@2 =Lwpb$t8Qe6k IpQ Q ڇ}t0i-}}lzY]%Uk k:-`BT i -;xP2'B˝Nfydx+|I'3Qp |t`y7|gc:ߵ00}51}G̓| .tK0}9aH_d/80ts0}o/?1E<<:߅V9}opőf#+4UHqH#ő G*4P8RWq䂐nnnn͐nf F Z j J r ϻ#M$G\#*NUEqbhʼnQ7+NTIqFʼnÔl UAqző#) RVqő#W+WJqd rdJKɑJF(V8s3=G.W8Mqe#]G:+\8QqH{őv#mGZ+Ri8Bq-rr'HɑG**8RAqHYőt%+egJ+ΔR)8SBqL1ř3g )T)8_q$Uq$HRq$PIC((|#҃NDLn=P~*6;}I*4Hl;Z!Lil[Sh!/ZVZWh"oB>EH:mk҅Nƒ;mwBiNY֝OsVZ~h-Xh.D}K.7D[t%ڬY+]/uNh8Ă(*?DO ?_-.A7ӯ!FA{_ T*=/"ST#+17G㘶l:17z "DD=`jǎs}Z6oqZX6։7~ ~$[aF狋ŭS≸wD΅EE%%i8|襍Whqt",>r AnCaH 85/\ jp>^d^5+/p0&{B^+GH>u qtos˫\$@e/KS{r=4L'K:Q!9"A5qbj?-p'ķYrF q18#Gw;98#GtY83Gonc6}"4$;qn;ɘKXa=pw(Ay#%3rZ5**O Wkĵ8k#bбq,u7x U$PCɚ˘ܾZrOsY:*2N&; ܍#dΎ z,G4}3d&y"OK# @6M n&[ȷDWG QʩI-v Q&i*-@ "-AF@+ ZVi&:.O ic+naj|-mME)7o[6`/xgޅ_ƻn;WJދ՗W^U*eXZYsy |EkzZjkV[k9{֏ONku:dXGmbSم"vQ].av]ɮlWuzv}оnd7[-Vvk݇vfw/WiW#=jMHշv=޾ݞ`!{h س}DIt& 谿?ZegCc'dXm8vdjXirQSwzV<=yj5"#JcH+=(uZ3r iNZ@ك-L֝\Nz+HOr҃ yDjIk h=ڐ6M.Ѓ'ԅj>_k!!>XF>G(>V>N~)VUJXOZY%kzZli-޲[o[+wև:#ckb}c}kflbjm~vX=֟^k:`s۰M;f[m;a;kav`'|v.` ٥v;.kjvui״kٵ:vc}Ծnf_fGRv/kSs}=ؾb`)9ƾkj;?|N)"骜+:NRK\!zD7Et墇){`$zPMH yy{xOϼxϽ&ޗWfko~vzxOoz &0)bp'E "HEQPEQTE QRR(#EYQNy8_dJ"j!2EMQKu'P4Eqh*.%h!ZVh#ڊvVq.|g_)w;}}}Νs_p/ ܗ܅+bU5uwԝ>.&z{ރ!o7{̛=fzOzY9oY|64B׫Jl֤pAUM'E^Dʃ]@jԬ#BJZA duc2 jr>(3OD(hZ&EAYp|8`67[b ׀QZ1H2Gןoy82^NrlzikjI;ўtJ;d:Ρ э[ C0%Y1VUeuYS֖ue} 6cl&+MPˆFjtF4nhFj4N4M,dԨFu4MghFj4EqFui4U5zDG1}l>VO{L=ӿ} fjF4zJ5G{P~1"wIi.) 3i fCRlg#5m :BjCh﷔vS5pi-bܵtp7jtOsxˠlw;XbfBhM~tT:·uaX:9zA&lmb[Nv< ^b|"|o|aQ̨`dXٰX#xg"xw?#xoW|(G>z $G0`<6#8VW`;\5S"8NEpj\4"T"XDAB\8Dp.%"d2e#\W|~gDp#FgFpNFpc8 j# F 3b@&hܲfg2RIz*LX.h֠CQDu!I]tWy9 ^ ;}l(Ͽw`2}׳/AS`9/" ڲ?Ļ ħayU2syiF5zQB^hFhXW5zM5Z}RhFoi\5Z;_*VkF4ZG}?4ڤ?5N5z_4D}gms6jF_jF5Z-}V~hF?kFj]}Gm+hTO&]HLLZ(jt h 2Q\Zje cALgYBVB4_ >BmJҦ-x>} :3Υ2/Vg ,Ud!x@Y֟ aĦl>{ l¶]Ÿϋt^<&5{|mAk=:h?Utvkfbm9ȅdDd>y k!JB]ART^t NB2Π҅t)D+M{x%~~}֌gY?6bl"{b jYg'Z[-[ѩZLjOB}| 9.g rf=h?CɤxH}ّdGklF~>b8"B["ڊbh+VF[~RVLQ-Fy YR Ƚd*IEdYC֓/V짌:Mi&mHӎOQtDt>}kn!c>+YeVGzl8;8C,I,Z?h%%Zb1^1Z&~QR/A:ZrtQ 8&?>?1&Q#"YwvjF4ڭhF4گ_F4:f!hT^#ӈkdhdjҨFFqjQB#G#W#OTkT@iTJ4(ШF4*QiT\ԨFe4JרF4QE(C*UӨF54ԨFIe@ Y:Wjt13uqFu4@רF 5PF5".ZhRV֨Fm5jQ{:hQK5QghtF]5Qw.רFWhS+5QohW~]QhFh4Pk5u zhtFC5pnhF7i4R5hhtFc5UqݖG3-IiDj?&䒠^Ѐ4H+\)AlX*>fY Gw0/4qC@F8(Xp8RdYHր;@^;;L8bL,@HRpY!@1a:?o{Nu039 G {T`qƃqT]au:*S VlWKQD g$pYND0pBg2솸8䄏 RQKvOKlQ.YrUNk2GP/\F>.;rIa.f[dMxh#x_㿾!,GR}eX 67nb>c1 al9j>~P3 Qd*W\0 2D8  )iwiJJC9`J 2 d|:<7әe4H I҃u +`( 偡40PJC` vXj ~ g[ 1@BG#AB1^_A\>ꄤ̍(̋ܐ:XPH7ɴ|fZYO+u*iXrbPB>OPV^z3QP2<{iHB 3HuHk_ =;w6'y>'|xI,/Ex]!ebxG+VbxϿt0- ڭ:h.d葉d=[5Xv_z,%(8J٩׹6U},_%+ qx#cWQ dM*I~i =\w-o +qmuKʷ] "wƏ/ƯowcY9brs~9c0\9`Η0bbs|s.̕s;s9cWr s~9`1krobΥ\9ǜ0r\+N9|so܈9Waw1J-h^O5, %[vvjRIIgC }FhFKh3(-Gm0F&!W8/V+h22fY,gG=qL%K)ȴjbῊ=5iUQ9 1Vdˀm얞_AA4UrnvMSo6ko|\ `v]L9qp7Smy\'&}@ "S?$SSg !o)bϓxA/T^$%R|҅J/I ]^%q2Ib^'b <.3o֥?j) ob,')m,B z/]|U >{x_w@|@bbXKŇ1,>#(S(??(s8ke$ K%+y eZ| e"@@BC?@PŏPOPmbg3 W+vM%!vhM{7A?$g=9se߳~Rrƾ_qxYK~iُ엑3L٣ה:~b_߯zc )_7'e~ Ro$o"Iߚm6mw ~G8RRRw"L].Jnߝx~=${Ay &= ^ZQM d$D<'㕠Mb2" Cǃ4EyP"Uɘ$8_F)A%)yPEFA599žs x MKvSV5| d2AdV6Mi4֡Mi{ڃ8:NsBO7ov_I0DW ,G.quKR6N;#NAqe]!wG,_Gq I=C|%TĽGq}Dq!F|ZH"Z$_⁈K"qAK!qiăA|=tCE|rʵ|qBDZDc`B,%{a4=2XELnIfqx̴Mp܌N1Sm& /BfGf3N5Sf~ҙhLq1nk֕x}w1w&Zڸظ@Kg3M##΢x4.[<.KXIaM@]-刬 =oC9#G9*2}?}3帪~ %m?GRȓ1&ZC!FX`JʑO? Ka(yt_V, ~y~Eý2J+7*~U8RͯyCcPPc ԱXu z?샌G@PPQmԟjKeR3c3c3c'+ʠ-c'BmiQCڨ!PCʾk쉯NB Ya9"1Ja'1Za1 ~[}6c68&lm1hm{i mjymbHs?fgkŰr6',N;3hgmYض,l[* ۓ=6$cT<[Pګګ mT^v)H- EX ͿD-Lh[VE4lˉJN9nCBڍPeoI!𮪒[")yJ,{dZF I=8O7%d2;#%!OO&J\O&=ٯİ7td?Wj)}QjӔZ1q9'7O. O8=+ahSq4q 5 r}2drSsKCj-\(dSm^c395ʱb3y.r@r}'үϑ'pz2)+rԉ-N$gCR^IɨUb8Gb,y5#}t@j9yʮy\@[SgL'{${Kv rrtV/>xR 3rWHNWM N)=&v筃c'ʫ2]ρy Gw&>tZgE:+>\ʑzohSѳ-r60`kuMͽc˙yjPcS`bO{ rjר^_`2RBl^m8&TKja8[$EMG)Rqtf(13߂EI 6`8cgk,ԥB5=죝gS6bgM6B o)Y{ϊ8}9xr"ߙc.Z~?Ή8+wϽYl4?;Dz_$8ñ( OASQO@Ӕ;:V:ȫo:ң#at|WZOF! hD~KNC8]VyQN*W37_q4|˟{'e'\gOsp yr':,Ӈ>qYç<3-||˲=\* ,Sx2o?\DEy\r,͈H=1ϻqj,8wXcr%\2\Iسy?z>Eٗ=W:`$Kr9TrRǕ RxN EfGEY͓=\'{p]3ySr+~L!r.jujJ *<ٞDyp' VqWrZhߙIUF^Õzp50UDr]0\Ʌ. WoaJ UWp], J-Ulٲ=% 1\'[y{4R8 UzFBRy#21\iɎ.3T{"`i<^8Cd8w7fff}87ړlJNq \Ƹ/E=+ǭBlfb4a OƃΗ41*4pz W{#=Y'E-rAibhzy~E~؟`abQw)]%:ccJ#MgKS y l凫"YF,2[Ę2,; F+dXB=dWnJ6Z~OS4 \])ѓsL|#_b~1U~Ž̝ Ro~yt&Fax\2\KB4, 1p ' ևqytFd" +J{1!I \V3E^"VRHqpU*UbJtXzvNO'ddǘ3T$!ihZh^FDRބHz#7#q>+5dpE"sG$5<*=#1`F`+GpJ'~+&kK2'\5뾚-kq݀qmmp|$Io4p\5& [W` 'K7W1ĻC%(T~ [U&d bjC%@~/q6N~w| 6w <'u`nkWc2j_??o8z_@%} \ыCTAkvWkvq\FPCreA:](A*D͓ v{/v|d_})"RPEHi+_NB˸L8c9YNjגuuf =!z$GHxH' 舶\ |Y6_Z֗l?H; V_UHGhnA˃vw> *z)AiG5I h|Fsf)xPl|ȲxD SqxFmˆp(o!EpmpUEOKGE(jEHuYS@[/BZIWFWI#_;hטZRmӤH4`Gs<01r } ۈeTPnD\YLK~J/VWQ)>-|fI ï~ȚGx5mb~,ijcTҚ}$2|/BdG^يH!=ң>Pn5 c_TzXGTz4L!)󷢶###I?a[l!Rfd-ł;`M^~ZtX>d (ЊwB]f25H66!1$-BhZ֢iSښv]iO:ϐ߂ @:Hg!} ls>Y!y$ yfZ B e/#]$T~į"gnƑ M"5373pO~? ,'Η_<C~.VH'Wj"M u pi <7^(7"?͘nUw_EVAtjՆ(d֗Pd(cD!B|8G X"!|"'!;5h @\TX< NsB|SޯW"hA$S<=y97Ƿ ZX0S=PuF.,#AaK1e7F#_Ѥ2x'b\hS}&WuQ(~bd08-c 8Q p j'ȈO(N7Fp1 ȭը{(;%SqiY vΚ7ϫj}$iyMoY ?KN*i$~FRWeɠ^a>zz^ FUeF8 N#؋b?DT>Ժα؞óW_Ճz5";W)֫U֢kIF|u.~`8$SoE۳sr;j#Ymݧsb \l1AO>&ȗ[Nv5h iZKPfҺmn:N,t]BUt-]O7{*kE"QI G1#"݋tH =xAJ2BG4T M"͇4URߑD%XreX6%X%DRX*Kc|,cH},%>rwzJAH mGJrh$_徤 kq^d&2]'(uQWC;Rý2ǀ@m`NH0I~;$m Z%> ^^M86r Y]2 V;PZeh%rNhTf5WȄTO_ĞK`tPy?{%ao;y?ٟI]\Q;?/yp5'A~Ǽ~jwqwƿ/rTŧ򛩺/_v}qr}jhP hVP:( lPhʆd`%`/l5ײto_^c@(| ǜ}I7#cѯFV$y hp3bz6jE MZo6".پD+DĠ-?&f2v2LI&NMzIA2̗LMOHLJNIMKOHL%K%K'$ӓe%+&OHfɚɌdddddddBP)1t`z~,ǡfބ|6#4{d?n YS=~T Hfn.ooLj?ZKx} ޝeA.aAD@@DDDD """QDDDD$ n ! ?$ "NDQWEͰ \G}ޫuW[ݳ @Cmxwr_0/ϡĢqeTX3&B~xH"(pM$H;urr'TP*W~YJY3b**(hv[q rRKQws$¥#zP*R)4VjZGht0" %L&ڋpCp!Eb,bX$bXKc?Y*#NmqӹbVqhDǎbI_gXOd_kmc7[56S5ޚu콖wgx3<w}}_+}4_<^㋷}]6_=od]=׺yـ~ ͳeW5z? +=讠DׅBꃡmmѶj۴ߐ{{E07ZKO_?{(bqn"M,iul#I.x}!"{КkCfri.MŬ8{E;aޫihlëDUŃstҬyq~>Y>EW߯Ogp=DC~`!4[sJ߅:XӪ1j9}',qR(g|+:<=9BOr}=2gWsvM9=Ц3q5Jӑz+ +4ssS#]S0R(/ \z%|>ȁ<N ϟeVIrw u)'v(bx Aj<Џ'6I){>;mxWڷ襵BuuY&y y܉Ln+A574FRuVۢ7^`&b &Z:'=3ORB94EqNțH|ZcIFɲXq:ۺWݰ&i)N;[!fVA_f;[խV-C7Χa aRۤՒE 'd@9HCN. O*d+ȗȶvK2y䎲3p+5 Ffv-IxG vx%l.a4&Bivi[/*jhmƞk'>cMǾKW[]+` f8iv*AqX̼rX9%y|<{6)8U\dz2/rqcK_am;sVuy)}yƺ+7=w\-{>V /rmdxlm3l3mó M}>S5@[HvtxZ~%zwߨEpk>Bpä;)gCs|8ZE4g33ĉyllM։YD-91NXsss$x3%Ls> yINع:ο8Z:Xou:; [g{j."\ <HRWtvu/kpt=1'\Oz U ;׸/rmpm>!=T :ҋ1[{}{E;#V4 s&]> D-ﮘ,wғֵֵcACъc[N0m9;2GzOG61,Ϯ>Q]oU]_ 9\nYq~9A/8_@_Sjڠ9uB~z+4W+:ut05{]QkA @$j!rOA #!T''ZKǺbr4VqMZ{8x4+عt6P')qm&iSOhO)s9rjLԗ?۝d}֕xՁ+kg4^]E+kxڡ5^[ xeaƫKCZ[ƫM/ZY;xӅb(E(>/&b-bX&VjF]{~qPԉ+ѠaG1ͼa~}==5yD&%qj9KozG2tOdNi<~)^>s(M<)y^<7^}UߩRz] =AOsw|hpjN3y]krpr~Zg\K\m\]=rqu]5uk"3Ůg]K\Ϲ~pWdXZ*a`%z^%2yeKעVܠC#AǼ@ج& u@AA5Qx+Ar8Dt,,@,-ZZ m@@;Ag!qt :]jvPS3)M峿{ow^)Wc3tmcľEw+9VZ{MjCZ%kZV&hiLmP[-Vjhk][vk{5vH;}$mҔ$UQc0uno\?> rnj9u5 -VXSV]ye_MX{u 5zеki_\[Ȳjx|'kE[%.O"씈5%Ž<>MC:=l _̻7<&=Ә✟34ܯdwWP2lx?V$B1^V֦ûr!ŪꯊUZz>V/җ/f}GOQF}yW} -rSG=_#ʃ;c5ho(euV@ .E&VP ]kiA@@@@@PE@ɠLP>444|=ZZn@[ z 5IXNadONW8Spq}ҙj4o|S"X}/g2adz٤{q6xk-=y@zҔ]0VuT]UW PCp5JŨDrWT5CVsX-S+TZYo,+"滙?1 N~ܛއ8gsR]޻%Nt0'C~]64:g?gKIKm揜2Ï6Kij^| eΚ\,>eGrXV,&\&sΖѸOS+l@;=mzv}v>Oig8?c^4LCَG9SOVaζ˜|:0u>|9s)BEg:r/gc gg8=q}u-s=Zz׮Nhw{KNzg[[ӧY_ w,s>\s7ΕΗ/7bk-CGWBGFFFuj?MD7_2MSN>}G"ZŚXZJ)!~ z~H|2swX 'Fhm}Eo{{9=6!wB}X^Ͽ>~%MB4Aj+!} ;S?ds C#ToՏ 2F0w۲Q )&n^ ,,w&^M +}:FBYopm ,Z:UwPo~w0hh$( JLT 3Qa&H((D0fLT 3Qa&*D0fLT0fT=B2wm} Dн444 D@dz.AXL"o/ft 2L"W 4L"7m{i}Lߏ L?7)P jj·u  E@ɠLP>PMـȀDL6 2["ւzضn^omп ~HE€ ߀ xb؀ ߀ ߀ ߀ ߀TP6TZZ z T  oI1K@ooCvߎۡ;o1DP:Cv>4 ۡ;o ZZ Zՠ5 ;oп}C:o@@@@@@@@+0{>8i,ocYF,pwN'='kVxctݳSnOo~ϩc_4ωMO|wsU3<˽UZ񳈦ڼp7h'ۘ o9Ffd:U e~=o-\Ss,/bo|7>kSftxc:;N8M g}R竅-X+?vKM`o,5GWRZVAmVNU {@Vz;^YX`q9Yg&95yd؆9-㷞%M(վvjԊ-IRF_ECv_B^ο$/ ] xks Ћ9n*&UYT`[\51~ 9bs;p;%4V܆,@kv.nDF ?m: :Rր5j ZZF)WkpWWKj \%%p<  *6C$p"4ŠJpSA3@Ar.el{$AZnamA@r? Z}M)P jj ŁA|P)h,JW)*\pRK@A ZWM jtܠC# ˳cޟu:pn44 ݯAr8Dt,|"RЋ ^_ u_u_u_u_u_u۠omп A6۠omп A6۠.٠omп AhA6۠omпmO_5) 5VONNCQ^䳇CK0P $an)!LfiKӵ%m\ڪ\5YM֖jV̈ 7h+P<{"Tj_X B.=a>k붂>⾧ц\nG Za+Y\ M>:M'pRN GʽWj_Xc[` 6Q +,1ve/m +w_@-z&䩣!7=qM;hN D`>&2Oq931xI<ՔJԍ4AO9SKi}qUtZxKAAp}Vk|(eWj]Qv5ʮ>Ge<-RP5sPjJ;ǖ֣z؞ewz]$h)Bӧ7-@ L ?ڽVi+n&m~l#Xl=4F/?e4:C/:C/:;Kl6Man؄E+kZ S"A 2AYlP( AEbP T*UV^AA@PB@q`90PKX@n΍ޱ/Bл:C,mY=tnЍ5x=unԍS7zFO=unԍS7zFO=unԍS7zFO=unԍS7zFO=unԍS79ӷ٣DhȫǦ=mm(\ u忄z%uޣ]K:@ 4n4FRS&eSKtzfЃ4Y0ͦ_#(ͣ$-h!-h)NMVFiiZC{icyBN*D+Utq(qI;zAllˍNFg#ܸѸɸٸŸոmDF1H0#0#(0ʌ ʸݸøӸ˸۸qqKQ1c1x˜oe.46Ϙg%sAYg1? Qo n!*D  )) ) )) ) ) )YR*a8G#a:!p9B-awS\LV C Nv%{\NOm3ity6߾s/bďLmR.͜/dD~j4wl}qfm.\'Oͅ"7So'|Ǫ>}s}1בdШݴ-S{fVQwz^|p*ǻ3iG{?݊y|Vzwsbݩ~YvfSg~FbԌuxR=#q~{jg7izr{O>ɟ,m3 'wG>{!Bܞ9)^DOdrN>*)IygN~ ?J{>[fמּ8j~acb=sQ4J҇fq<>k?P R?il950C91ag?w5g<'9tWԝi&g#lV?m::U>45`:U6>y/wgS# {WwV_m6}f_uu#֝;lkFK^l\'Sw~=:Gݏ.?̮ssg=L.]\ȺO^ϼ6ŭ ,n|g7u7cwzӞs.Yjo/F?'_ OHx:C(}^7j;;nb3ss)Sw!m?u߿hSh? {uetOVFK ٝYߪvg>{loۛ'ͮܵͮ'gM_ɷ级rfk>mg+L``vʙw͟'b/`~GK1~_FcZOlugo-?E.=rR.?mo9?述_W|{=~?zO>^^㟶}5)8k;cfO=6Ű?oOsoy630qkwM '3Ʌp" 7PW xnԓD&FA}S?@!#@PW¥t#݊(F#R$Aq4<0R6uRm*(!Ch,FIQi>-_H9Ki)B*-__Q{Z_Nڈџ !@0h3B-A?mEIzv'DiB F0" F{LzA}&G}ОО!on?pMh/uۅ (E0C8I%\P h9LAn)ZBn%Z).@n#@NT\ Utk #nWB.CJ\A[+B\/'(ҥby q(7|R w;/S'^ ''n؀.^G7[-j/}h{=#ad7˛i.C!GPkyQr]"#e$ңdDh12)29d%x2dLTi2 2RdD,E2[fy2*e,DJ,"]bj#Kd 2YF6Y.ˑ^!+\VJU+"vʒ8CA9r@E.y('"nʖ$zYȯ7l@8e1ߎ )(#=@P; VR!*)rPr*'r]TT-UKȭT+ȗK(QQm۩vOuP(D].CiUGȗrIuBɝUg*r^@nr^]u| r9{hu: SjWף@pDjnP7Ujިn[P5fKݢnA;oU"emVR0h*r GhbP{Eq*$DԛSU*T%tNTʀ2!g,ԛQoA*e<*r* UJ2U rȕRUh85Pw 5].ȓ${ B-^u/j*ijJ?8P3ЋՃgRYjzX={\=<}B=yI$jSVOC׋"h j1gճ%~[a^P/`T_T/B_V(P+0JQAKV_V/MZU5귐_Q@zZF~5j yZ yZ''ܠ6P ۳g)ȶĶ vvjogGqq]at4:Ӹܸr'FgF8)k&&Ìao6n<# @[[!4FB͸ (chFH#r9ڈc@5b!qc ȉF"$#L#H&H1R ӌ4F: #r 9ȂmdC1r rQ(@(\aT@4*!WUc!ny1!i y1]]'!mMWIncy1/_@bL|q/TAfL|q??hn<y1!?i< yrҍUd7^6VSF 6^36R񎱟qlƿtq]vn6vn{Dz=lv eoOh!GG4,২}࿒'ق? DCTQGT|80R(3H 4S|/_Mo!]wT@!2D'b Qp=N" ICJzH @!_y -CR0G:lXX5J61Bn`Ӌpz1 acPH`$ӗLg0 a701ɴH2@x%ٴdT}~<$ Q"Q2B9W"% e!\K70hfF;!vbp F8##6P6&?#m@]i%jB՘jB՘jB՘j zAclc_4F81149 A!//"Г'@0tz2iI dD -ϵdR(-'Mc~6 bl$.QYtN_F8W1*F8}\%zx9.qv\<.q|\Zq-d u: (Z0 j(h"XXh*B 1L l"qƸŸ(qQ"qQ "q!,w_ ettyqQ@.b! d4؇,31He,E `tds #ȧ5#X-(H1 `(?]p #>|ahNr܂ 2 e3qN9.2lOYrdlӖMy@+@8Rp#yvhG#d \ʘ;cc6y\~NW/|$#KW@>G2q0GbR rذ4$@A-] 2cPB V* QP[?RUm-I].|B8D1' .'O(P?^-#f3d#V0iǘ cNjAW0摌v$ތv2hR9T*w[أyg?;[@)1/^.y<=Fz,=z{ X( vqqWDq/SUˮ^v< ɴ]No/tc_['vA 䟰^pϼ?]QW>mRƞk}{;6Y/Ak)N4Za7 ZZ{/.h=%2DY[*EuP=EWu*cOsnUqfED4"{rAn&DEXkuXX Wjtqmmb>V IdKSֹxZ"dUW7-*.ŗYN wL.ݴ,/oGhe8{v˴)e<6߾ľT{ʾ̾\[?Q{:ўf?~4X[_N_ ޴< OށOy^ohY'.aEuho> ,,YdO˳^_#A&[~D?R!;^א,!h)gx}ÌQ[GhQQcdfFCGat8=?8jt٣ G뉣x9#^4zGzt gL1b30fḧ̘Ҙ1b&[Ly1 c ^26f} 3fk̎c#P?98kb\c[vŸv ;,v8;z.<{|Yq||j<60<v?1~J<6~VxmUko_o4{BHB "70$ax5!&!1P{M0)0#avF6aAe +$Kؘ%Iؕ 0 Gx\1VubNġ#G$%&#LO,E<6qߟ8㙉p_%MLnHQ)gJiJn)Ӕ~)S`)#R"R`)))ӔҔ)ɔ)R`)K,IYLy%em /eS_)ӔC)GR`)R)ՖjN=wjRGFƧf[J-L-O:1uJT9S1Sy:&>usT}S?I?M6MK?M I K?M5 4oڀ4`QiĴ\iiOJ6촹i /N[quښu7mIJۓJkHWDtXfzNV?һ_@:#8NN8=?lNgK_tr-}e+M_HߝMw#s|,22̌Ќֈ;d[3zs?1,c$Qf>2 391)91[l23j2x؜9cg}3gΨ`e92fvkffz9$s8ǣ2c8NL87Oʜ\|]u9ޒ'sW&^fe+RYY쇲geef"XYY,w,;krִ,̦GeAYKga6e6 ڔ5 )kw,^Wey1+Φl[84uvݳ٬a#S ˳eO̞ٳً"~1{U64]!){[lh,{_lO볡-Ǟ63 +gxΨh&'1'=+82əșș98^S٘5g{ήh"gx9_4\gnr;0wh܈ܸd|Ksr/cS9,-<)P^yR޻9Ir^ˣy/O-uq弎O)^)_}/-g}*|Cm;Y_Y_y./gTU*B***:VtC*0*FUHyU[󪢲I>T̨`Ṷbq+*58X8Sz8Xz8ZUEC tZו*WB*{U1TZ UFT*+Yoi*'W*gzůdUΫdU.\^ʵ+1*V|[鮄_e `}ٚv&N.n&Ĭez8YߵƸ5 гlm6l 9`s؆l 1s6lؠA?fioCemI}/`\cmq͘ -G66m^ڊlmW٢?]oɖn˖"}7lؚbgl%۫mlmmm-m-m-ζжvm}[fvޖ";=;!fvgglakߎQv؝Caw܎z2;';xE;_;CH;CT;hWhjG;pvw퀣c;hݑ^bG~=pcأ?f== ;cjoq}=OӾxwO1{ix?]]#kkïm{5㵃`̮|]{f}gk8^CZd3.^]^kqk^8k3=85ęz3V;`V/8w@p)ث/_pwtݡ;: wt@00pׁwx́"G#F qmq#v<9oӎ#vtގΎx;F;otGX[-G8;>wN"'}'/8uNv'd:g'3't 8;]rNN 8;:gX'JSSYӐӸ!tYSy'Buu~_^q}uB뇮Syu~:o^w~zu㯣߼}kqn:ua__,p8p^ly6g8:pǜig|8:[:GgggOg1CDtgBй9;:St}q f8m nLv8Wsn_ݮuwCx- %Vs"V7Ennm 8snO܀Kw׺gM};pv7q݁;pv?/^ݭa=xǺoLw^݁{;vw݁#w>!X΃,v^Ļ<zzz\zz~==`_xTd=F<=<z<<8{ΞFs6O`=_= a=r=/z^t$D=C==z{zݞci=oy$$%Zk&/Bk./y!.:euy/zY{2^^^y{z%{ez{z^^^7ƽ^oz=Bx[ڛ,{V޻zyCǽ!wސeoso,o'oؕw7I;;՛]]MnyxOz?z~ GCYgfm>$_=>>dA>}g9s·,v $n|r}`7>>>t L_}_؉Z_؉&_؉v_؉>_B/Y_؇%_؇/ۗp E\K[[;K/Y#ߧp#6m׏;<~ﲟGG//ۯЯܯُ֯z,?+I?wx=~/ Nqĝ7oz.c'ɳO=?+g;w#/'???E_B'`m |}O'LLkw@+ 3 ?F zy%QӀ@@iu7pO x9<6)=708020>050;0<693P888x7$8Y y A$$&(JeI693 "Uu $n z$y`Q~7o +$x_#f'|5:!5;808<8689838?4:1=7x(,L ~46x!z" YBz!8 }J e(F2aֆm λL ;fv2LKaWì\übÒ2JêzÆa= {6FM^4u÷.|opd'?~!"ppp})r 4<;0Fdp?Nz!DE0 =-,bOi/pı_s$+$ЈĈ܈ʈֈ["FR$yHHHGzGFRI#H"##*vH"FGQ$uQH~Q[vDF"E:E:u!eeEr"EEFG H~QQQ$(YH/j.n/qԳ(_ ZM^mM-'4}8X4/th_hh_sg4_thtt4_tztn4_tet}4_tw@Xt{D?~C~.F?fUZ:C.f{ [I ⴘ1bbŜA?s)j5b\c(B (&9&3ҘF:PD3#M1b(Y%KƮ%;kKv#vw,qCdDZcOŒ^KvkK@olp,񱩱ƖRKVHd,8wcR,E=w$nEEXqFqh-ng0qq;w"sq?3?z8rh$WG=J@XWqQ|$yWxxIƯD-I&?||3$KWIC?_HK&NX!8akŽ {'J8pԫJ%lS戮oJ%|S©©R TR TR TUpY~|~j>!__Oߜʗþ'a_w._ $+ A , $ L ,8VptW , < H$E `OSSÂ'ԗ,*\[9n*RpWIB#f)D<]xyBBu ] , , /$&fRUXZ|gac!򝅽w"YxGw"]Wv"䷋6!SE{^-"Xty E9"EE"KQj쥨RT[{),¼SHEsE{=(B޳YłbMbMQ1xsb#(>P|Xň;/+,FV\ؿ[qt1aqz1aqq1+/~xX[?)&_JKV-Y_dKJLJ0.*9XqQY E%gJΗ+Zb]BxĖPQY_BFIuIc !W[2T2^"/]rQӒRRiuJK(]tR㥧J K RRR£Է444(-,-/%(m.,%JGJ!ҹһJ>+%ɗ e{Q^ lgٞ2Ӳeˎ(;]vbI̲̾RgweeIJܲʲ2pYw[6V*WFI2iEז/|KrpIGOSR~R9YFu9ܻܵZ^[Nr-,/'W7\{ˇʩ(.'K(Tz *6TWlW[Pъ*V\\a^a[~{WWVWtV*ULVUW<~W^}~B5ϪͫݫIՑ$jjWղjW?~Q# ~YSfc m5;kԘ9\C=p͉5Qj.\~ƾƹ||ͮ́ͱ͙͍ͥ5576nLzyEEBq`˺ -ZnBzrhS-g[.\n1omqjqom nloImn)l)ominlL̵myYˋVA޺޺us֝{Z?h=Jk=ъx\VZ-[[?kloȡ55"V$ցֱV_{$'[I~m66_ڶm$-m'j3ivHGm'δovͺ͡͵ͻ-----hNؾP;cS/>۶;>>Ƿ>>7w>O>mNE=wcE_F;H#;uô@_:NtD;u\ yvXvw<;<;;H$ώ܎gG}GkɳccqqsÎ'wuL;;iIr\۹ڹs{'eIN#f y=a%|=[gʞs {:N3DYډqwgo'Nݝ;ww>D9 ܥ%"ZׅqjqƩ];ۅCס]䧻Nu?Ѕ˼˶".°uE]cT*e..]3v]俻("\ȇwQEv=z8nIn¶ۨ{c7a۽{g7am}>}>}&l=Cu'vc<ڝۍhwe7ƣݭ;݈Stƺ'X7GCX=ow!{!K!{!CPC=xCH=pCxϞW{{oA^~gy='}6QܷoOy¾};w"Je<( //wa}^Ne2˲2ME]FLddLFX'U0ʼepY v&˔YQF& erm}!!{*EK uڿ$߿!:?O?,߼߶$OO/'o'GVD?qҀ`@2@=! l6@ҁ=|x :87@2`9@p yD<rB*h|4=00@10=pk<Á'd/Ed- n2Hv0kdp#f' 4xuzau{0p0|0v0y0s0tzq}wphp|P>x{ CzCҡC6 m1{hCCG:;taӐPPPPPPPPPPlhdhrhnЃCφ^ %+  o=|n2|er2<9Lr& \+I.$[$OI./GD#$U#kGH.#F\Fvo98rdɑ3#F.\!00:=8>;<9?R:R=8>;242>"=rӑQQuFG=wt(㣤WgG/^ڎ^^FƏ^f^֎6^FGFIFF^>}6Jz5&^3#L0 }89?0ErN"Nm2sj)_O::u|٩ Şlܧ|"R ʧj:dS#SSsSwL=z6bZ0-^1fhzm;LN><}lsL[NO;O{NONGO'NONOWNONwOLMOOߚ7p3U3kgl2}f׌̾3GffNΜ9?si eau28>CrIɜ!̔Tϐ\fgzgH.33G3$9E.\r||"/?$HB~\~JN"IN1W,SByV,#IŬ`V2bvͬͳfw5=0{x,sWWf-gIfg=gIfCggIfgsgIf+ggIfgfIfgo͒^>}2Kz5rN4Gz5jnܦ-sWsLH#;9wfj9ߜÜo.p>b.va.s>at`q>`w?7>=k{4+uԻ &憛Gzϛo"usMy&uAgЍ@e1(tb(X1 #(b/Oŏ >=k D <[+8b;Н8u_P|@(>kwtI48EA (@YǑ:UPAPd@>`P@(Ơ ꢭ ʛ"#:.xy3Gg~q3([-\AbߑxD )eW3O=qGkGko3 <@wݡc1r)BCB|)nx)AˢP @YǸ,!(OoA)PEt% ť*Jȣ\UQ@PO I?abڔ@%E1x-J"-x_ /'zEW胯³)<ymJz (<ԞGh)X7T~u(Q?((~p},(}kQ*OW9I~$ 䯦R]Eڃʂ^"W"WYPzns~~U{*{WT㹧Y܌hdP bhN;Zx[Z4fRcT:Dxy UnOp%-ߦX@gE3 JXX7@) /*c-o@+L]$VJֻ⌣}8Égchg=96׾Ewbҿ ?Fz2 ARzcM*\[9~*'6.~c_\ F\fu6[ O'Ʃc-??[ [@=h*b6sE:b⧈F]?.؝CPH[(u 2fAVd*r=cᾫ_Z7gEx#% qkůcY<_}PGMx<_XV;)zsm1Ϧ5B *E"KP1f2v#6 ԞG岱/z+~fX1nX׎X B^i1 xVo&3__(w?(9HrZP{-пWW!ʸџl<{m~H"p'sO:^哢D!}Z:,9y(w?t_7Ƈ>+1CW3cvWsD[J i⎚ٕZ%ϗF{) y]uGotm-~e/RDBcFz;W7̰>-2Qg$\܉Hx^5c;$W+F;rhhܼ:' N<>>̫u3n9/!+_6g"G^cDƜ1:6^͠KAjg9OUx@!A]D=E#xw8>|;nj-k<_µ_i5QQ]ͷ1JRR?@ǜLK`v⍖SQOE &D%(P]}-$u\C9nl5//S :ƻ V^"EtԅFv]NXG]j #,FO)f:_ib? QE>3o򡶷Zrk Cu5EQ2?j_aB+ǡZ^B[RŌ}(^`FAU J5Q_@W 8A(t2GOxNOiCXP @(֊1(֊Lo%ǣ˔cꟇfG~¯ǵ]܅uMv_毖AgX#JvU+>;bWZ;^sW]墎uLA2ȿ-S;4Ғ8c׽;ߤc7kqPC5ڜL|B:ase5*>Kj5=' 'Ǔ̃#4ZScY%jN__am\DZW񵈬uqɮ’-5*|Ϡ0n"e|AU? fv-QGh紎hBKsz3rTx:l\F r25|m2SUg"$$"7a.@CUvlH*Def4"#s!<qƘQC#wDU>?sƪܘG?a5VixKF~BH*F4mgP?:2TB7L[猹dעs3$l^Bcx22%*ihL:"S[OMTj^2N.|6mݯAWd5?B)V+{{ bСo^lUqroG]u}ˮsԙռV] l&&_rwL֢ sĵ\+&orvhRz!p< (eGMMR%h&fO"F!<) _kQ~RZע "HB= S#篸qiA6sDo]<qdE9>Ї> wbRobv(C<4ވ#-*Pgf@S1roem1Q9CO(҂G?bZagKd+ K?ݍY̜h'f!awx,e[~^q+5D,oz3fu3/,s ^Opu̩ rU`; (K#2ֆpͪ4o" U>#%[VɷDekLݎz=hkGk(q)( (R-z:loLߴ;pl&+l9s\}梙V(<xh;ݦ}$m͠/tZ~%Phod<g oՓ|dzZ{&Nvaҳ1Oz6:x`x#t-lSDI~yۇΒ[_<ۍxx݈Jo͕JWZ;}R{h]Z= yum>-Yr:11g;[iUMbg]b ^]⟗7Ʈ'\և^q.[qD.„̮ ow)Vhc:A* _P{_N0}+5vh~ wE"9Pr#w}fG9yHks#xFXڪ1rWE!I)r9FL;si rg 7Mk<#YsV"q[j9ݳiAm أ!Zʋ`Af͕?¾$NCKS{b|#z|~x5}qbLέom0 źY-^*CM9d#h^ b ]_yI&%LWY4_E_ὖ=BEO+hb0Ha(4nHnE:=9[D3WSS g%%G(gٯgٵO%j4LP̥_b@XROSh(48teiG;B=~-R̚}/S&2sX7 )rz;>eF\ iR|]ѿj0rf)ʈi_ȐCW4  <9Kl5)<6Yƣ|NI._bMh|SSn[y~U>8*=ҤkS!]~ msc~=8ZR"F\E-D>H G o%Ĩstn}g_-~R1G,7v/g}ՂLqw3U݃YHݏg 2u!koۭ|W)-`C uTM9s#8]ىSPt.P^%WwER>|_ʙw_R>|ޟ.׫|ڣ8i_Mh_AY bdN =;ߐåD| <p)GA HEMC ҿgS/#H M(r\ҿҿLQkovKG]ѿ)#$:*ǢD|NtL|^|^d& "\l.:-[~$ۈΈb''bWS'z_$L"]mY꽥CDzsˮ.'.K]%ZַOܿl@L< їI$zՒzKVH *ɗ$VV=#NN7%ߔDo$E޷hه?ѿ#+d@~`&z-[$_1n]ߖe]Io ~jSK?|HZI򶁇odtHL_~]#;}3HJIIIICj&5\PARWB-XJ}+i4Tb-FHlQhU&H$tL:&qNIoI\wG#@%!IJBϤ$ҏ(tAc(0Hb WJ 0|CbYJR 4\/I3hQap$-ïI w1#)2kORlI400V2a`$4L1LfK $w k %2470<25<11K~o;K`ŠH>^fŦe˿銧KV X^2x +]ڕ[D++_Xʏ7|_\ʏrqTӪ< {c~dQ+EeX*^#8 ^+{z;v ~. ̗]YYrN,p5xh16?V%%mR[i4V[9ߒW%mmKPODE**kg%@e TvQ1A*GQ9I T.Q*Y zT\xS $Z8X'SɤOJ5F*Tz Q"r}*<2OeA XGEJe5uT6P1U ^n*{rGrYp*SDŝ~L%O%J6J9k4S˨P2GѲTL@ !,PYA5t6鼍N*{ϔr1*'rE*WXRLœ?P*TSɥRLWRJ1m-ߣ?/y),' r9῜_Nr9῜_N/?B43*r9῜_~5*TR K%J&|*T4RiKe89TSyD)y* )TQ@ŘV*;즲~*Q:>΄>OT|S! }_?J!_';ȨPBߥc* 1<o o@Pk@o@o@o@o@o@o@o@-p_eAפ?rA7IU_XY5`WqAg})dv8[,`αPD,Ns^_9EZ0U"8*%۰oEԍQ?IՖb'(p鼷[Ԗ$Nk_GDݎó~E,Ln8P," \[|_<pG SG9o}6AE} qOLU2dQx^*-ެ+j/g\UE-6 ]gJ{)xc```dK9@=uv3(29wp-file-manager/lib/fonts/notosans/NotoSans-Regular.woff2000064400000552464151202472330017411 0ustar00wOF24 $?FFTM,vd` h: L6$H  ` [ מo/yI y?ȯⴵ-ߙmpU_x2amH4x|#kfJ]^QkhDߦy훙ٽ~{wQP ֢X?bĠIk0jc4I_ Xк#:C2,ɂ&ry@i(J)# r"B`("Eq/R88G$s`1co  h̤'2{3LfF0FR 8^''X|?=II@W7s2{C1Ŕi3&q4_.@bjz=n'G3ni20XZQX; /͉_Zl ' 6 f&If!qi,49:ΜZ9 ӫ3F9P #}h!u:"1qUk߱<2#nPޝזM500D2}(-rq{J} bKݹpA1"IfM7O($\4huuu-Ca8 ,C٭3BJdSkg<)IӃ`ݝ_9HAf2N EHAUC)7~B'&ꢇHk>L#s.F!ZҹK3x:nnI^/"UŒ3f>;6vl'W{ 7+@d&z[81 p 3f̘Uf Z, J?> 2Ǟئilg| ]ĆuNk$nUIp}\DJT/ΏZp̸ OP@?ş 1=%# MPz[=vR 4|JN12NLof8f.{kD$X GvճEJM5fb)!SFj@99[^TjDs4B$)_˕ML)9H$\#4ʤ3ZˏΌU)'b9MͦG(9 3R}/6(!c\rcfާ]  zk!M0bjv&Yo  3fX!FXG+#9r?aC}ȭ[[(N',8.Mlh`J+VVkFh0(`ZG5w:}X4;4 ۥPjdCY o9ȝ*8-)ky9598u!/)<$?ݡ8=d臇nqAFH&!( #r$/x?yf~,7P7(+rcyWgh->ɂ /[0l1=p ǚN/YKRҘa\= )*e4fvVQ#JaMAE*S4];iJ\'23l6ݐ G 3zߥ'FP*wXᯁ^d[|V6 L%$5E$EJP LBj)Dž"24t6u=q&uEzAPkGyG}9O?;q:kd~OLD>* y#iӐDz/ދwƍsNod℩u7Bw% aw6m|$)0",ʬu.[ 9 ABtC&3*ꤩq8DЮ#@c1;&a2j5(|PS"=̦ZU1ݕt&0WWUW*\+bBa+<:_'`aͼ AnYmH$ECIk<M)q@0ȈO,ЭMB.JHRd3YK+ni vػv =0Toͥq:tfmEa$+sm*Ad iD1ntC0`Qb6Y( &&V`&oaX^94 ԝm#|O}*Yِty_ߥvz* `/HiLCCũC} ofQ̞Bd e8:3JmYF@U<5nA9NE4󲲮Ʋ1=^1_z2gqwB(bb쮐=KѾZ I؂y_UH_-jw\ 9Pv:>!@}wՑUJJ$Ҁk PBƀ PuنP'h ϻG51(qRRpYg9v N[բac9.HRT)R4«15D@xb~ɥ'hT&W, !!t܏E/~T:*-U:$CKyz9(JRT*5O(pvtS^߽.PQtPQ(]( BEPQ(҅BP(.J] 5J M4`AX0M2Le TO S)41Ԩ5q%okOi{uE ..Υ|`VڨQd XYkm.m(!kPf4^ٴd2 .햷vpt -X U`6&0!CЖxԔ3썘0 Ӛ0aZ0QQmi+LT|„ Ӛ0Qm&LkD Ӂs)3DOɉ&KY*JK<*ȨhT:ϋ4$X>Pb:F%|7z b8.d 1,~S,Y [EfAPm2Z*b/0 ̴=SdLdm js*0L d209H]tE]QQtEPQtхBEP(J BPQQQQQQr_bC;hѣ(v=I$IDa–8F%Q$E&T'2 ن}3i[ *D랝}@349BczihGi4bX sg /%Ki8ӁCi,O"ÁVAZTKqs?Ni,{sg,0F$;Ou$ٙ`83wr![qV~]mã> Jj&rHh< Ȉ˹?ar(zࣹ 9Cp0/zrhJ@ xJ l{K${=l^""bt@Sr|p GA|1LΓ 7rD2Ǐ})FAQ_iT{laTKJƘp i`%tZb\"p k:!l%wB;?(jDQTp{MRJ)կ}n;yB!?ޅ@j ,\dl/F+B)ZJJrI2Mqh3!_~\yw" NwAf:SB.Bd|9?7wn(H ![1y״g/* LF*̦ }NU ;`d8dP]dE}ӹ.~_wA5ӠAN;?b|qBim?NL?b~oU/5]_j,k=gW\JZN Bz)@h*Iڰ6І 54ή J8ƸpM|h.wl3D|k[ʫHY*鿸4KWVrIj٥r"/`EBP!@Ld]wc):N:<\y"]ɪ,?,u-sXAa)K%#I$9Hmf|ήuIkk0%a!![gΔJzZŘ`L0AaDD'ZFeu^ ou(Hߟ):_{_GH "2Hs>!䀋B$DI $@˾i{-} ADDD r,4ís|3*jO6b"*JWV(H3xݏ8_vNG$Y@O`/kDEv!˾`( 0 sNjɭ/&T"v9OFHGnU5M8]qѺ`܅ ) "98mbMn_v&#)4&e8@v;GwӸI;d0W=NzDw;:| %Ycxw8Q} ;.2\f=r˕QvZVnfÌ/V%S)Β9,o C +lDdzo_"N2:(6.Kl|?c0UX#c"%U O"|!Ph[/^w, ]6X99S"~ E?w8E%5g</L$ 1t)!2 œlm5=ș1/γ '<q6FGvQP7H蕈Q(D9~@;aЛ`wO.Y  g7D'K!4H2 adjȶecx[ 8Tc8e$ꗽܢ9]~, S99^Xk\q1,cݎlKޜ(Dc D2$cѼ> 2)`5,`h[}[\g*m}?C4GYS&$;9~w/}}=׶S5lԄIS!FIJ"ňhavUWyϴ9#3iL_B D3&gKNg< 1W^3 qnZ/ sb,.)4uV<տT}yf2l3xǾ5QrMj3@x&r$7dXmR: Ԗ@4؇З MU,t]4I`>89CU|qb^y^>*cS:p[BǷ6'Zx 6oL4Ú1/ZGWAɵt 1[K#ON4Ca p-wӺ'rkns;>c"|DD$ݢ/n6ȣ{PXt8Iݤfvf2`ogBþKLse0ݻ{M尛P;mziWY~5FPVHn$$6czgH,:e= I5ƾf>xPqvO?Gs_a^wAg_|Bk2KL|$/C/vk[rC`hބf?>%k*&A;@h6k L{5 C@R!RpQTӶw^S*Cv=~D5 x Y`p K˫j'^2 1!"(ɀM1d2 B qqVyj]j(04N7̾pa$͊W6y-Qi&  #ruKS"~6c刿 xOR4h hspKs1|73E$E1C4s1PO[1]%hty|$>u?.?iZ\A$(A`BO;|'kPC}HF&Q*d<&i+M Xۢxv2."ӶGS=H}ER`Q[i75-PbDI01=q&Ms4gb쐞;WG%RW:׫s.ԝHf*jfY/R+tW5_Zb|j>BAQ4Bu3偭q%n%e0(`C՜Ñ4tuƁ;.! #O 0Ph=TtUcM_75MK:򮢧oXo{Ƥ4C!P"1 )9%A3021¤MӁ'OE;b.>PREe'))rBZZTmVO>`ifZlaQ'QyAY(R"064p#G!5閦 !Pbx)#[KrZoӃH+X̓#KcnRdP#c[v9aC\wD 9D5&B,~S@BU-o~?r :.$Ѓ2C(`#09,` %` l` 5`8 8p;'!2wP1>>\$0>W,N!܀؉„2.ƅT3VHWiYݷ U?7<>Ɠ<]}7#>!V?'w \RSfK"ӭ:pK (ZZ? z(Pb8}٫m Sa_;DD)^>Z5_Pm4;QnLcVOĢ:\c8^ah.OdzԲ@ 6jlFU$%ֳ>hL\B}o_~'ݟЃсPTf%VSr#lof ()=Qa7rYHjHDu|[ve*Pw2լZPġX#DA8TWá:!D 2&n+3 :$e*EE"Y*8q`n D BDzyW4 /&x ƥ4wl#$V?2#]D0ᬳ܈`h֎4B5;qT)g 9kf W~ۛ":& whŗ-؃ZX`W`57kw+RIo#zn sO/ 5A};j+~ ^>)=@uR}i@/P9cbbRHXOv(E$\wn0uMC#xIy~^!l-v"&!f-j>>J !G;LCEqL͇}1ϰ6-H0ʚo/~Mifj:|W2#u`Ƒؙm$ljCW |Р8n,GƤ2֛;2$c!K8S Q,:i8 y)m!4+@8`K 6Oq䍢d4c r@)%BWթ\' RB͇2_asRܶV~+)a}-y]"j:]M/ae^0)Hajjb"= J9JO>ur ^.O0ZGn5e*wͿLv9ZB.\*4/!' M),»_kH paQ&HerW RCiuzdXmo#u%RR5Z Fn&,Vw 7q' uCzFt'&80 ^R>.Pf?`,P'dk% U؍qMޑĤ)3d~Ci6c )aWտjV{}?VV`"(\R}_u*H݈g.5 Z3DoL2 K7p _(z'NvF[<A?2Wr i%_/Y hs/Fd$zr#ju?mφHe3tkA]xʢ"GLR_@Z%Z5ڠ-ڡ=:Di\0~*rD\mG~:DcW ^ ۱;q q'_S#܏c "5Ol]lkV'nf<8k(^>)d2uB^!nh ymbB=Z#aCe_=MqQf9%5\wDف{A$N %)M/i_k'R˽#9/!8lL5MU[^x4.p0-L^yƗH{v oJݹZ{?NC=->gtu酱Y8Ҩ겁eFm~0فϳ5(?"׾<"w]v2~_L Dakwx5`JӮEC*Һ?e?}o;Gg }Ml9]&=!(I8q٦ξc~:@\^Xp{O Ն5nIX  }/nfSoL{~Y;xu2+m^ŵa}e5:}U2x5ke.洿 1< eE2LǜrcixƸ4=g7RLW=H׶ RfK!6^lke"wd-0^~ty #/["3b~~--P:DRy )hz]KLO#d쎖 =4dO޹+H !8-zu-X1_YT6HgL7(hEܱ%fԦ)Kt5X5Jeٷfټ'$բQ!ӛRe4YKlmm]bl DC4DClYuu%^R2QC5z@k `ʚJ$N.8n.cfL*L+h5`Hb1 !%b]+Ya,5KY!B!,&$S1 ೸vEc)$1-ŴT#H5?/SLbxX(D%6ޒ>4v= z ^C-rkrctDYI'᷎2 arH2ҕH&lKڼ[o5ywHG>u9EuC⑪*j?LWoޘc@湌ݠ\G<.׹sٿ]r]4Ղk5Q/{ /^-.*ymiWː*dL&0-EIZFS4#Kqċf.pw0'dY٢tdYY]bP×.+Bč0D2^CùuW) #)쿜[ECM||yw\q{aл3Y,Rhh*zX=ct2_,13 [MN̵*zb2'Ӊ%M$)ґ<OJ#!cVHTp3+]oXXde VŒ5.c#&lf^+#7ܸmGڮ} ۮ?Ep?p?.á+WWOp'.q5n'qg4' Q# $/@ PA o3A"쿑@/ G"d%E*5TePn4 (j@9V@v(n^"(a 3؅Ya8 >].͍6 w⮰}b&Lpm0v &Lv˧/?hŊ;;~xvy[ah,g@W ;uHo] [w c@ykoC>T?'妟[\YuI:&ieBcvf>nln.= { q Q ~ 0H+d@ʼH 6#}hm m:S;')Ξ74;mMS@ o}͠-em+0N0z3Fi0pO`9fp ``~r( 000F՚hVAnFFfF8Aq}r&[_8' "H/$ D1 ѹ!}^Șb%@ @ !B4. Do@&Pq o;@N4$4hC@I#$!(E# H }B_w M6d r&tF|6e(QT  Mf}E}u mzBuoh:k t@m`@2}LC M0gK, VK2dXXƗ 0re8ٴll#4֤DMg|mv?A/o_?l껨Cp`4a|}a~lX`rXk7{l^5lŽ vY#AL' $na۶gHo j'!S,YdX4X<`; &Hj2R1:* &h6zعX^aa"N"$(g!A cH@HEyt yA<ȜiȞ2WEPXDQu:QDI!РPZMJf@"(h] TU%Ѯ@ t[I82% EaD&tI"CȔodo敷$D"&<$$ J 8Bq DDb$N$IJgwӌ 旗Le9(TB 6n\X&ˑ+p깸F5-ڴKhK'.} &x|?H'vwӾ<{+҇/^?w=/ƻC܃s/\xvp׸W]={n}q[o8{w!QC M0g5WUX5XV2VV] 5꩹FŖ}^x%38ao;Nnq'n(UhUk:qJS0#NCᔴH4O4jܤm7kޢ $c%Ⱦf;t\VGcF3.U54NNM/l1Lf¡ĹۃX9>ڷ?6N^l}i0s ̘\+klԹK]ֽG?=W8f;v?f-'wVbFuAVԅ-zԱ]S宙vo^CZ&! y*T(Z:$UҌ.i_pYt,ĒIJUXglڲmܞo16ŋe5L6 fe sF FQGBBќp4#4 4?vqCG4XlAK ncMhĬ EHd+9CH2\@?p߸= ?^\w|盥* gdEtpɏ SY*С8<8;cp 8 q.%] 8yרNWܨ g.nw |7ƽ7<\ w(h4)ѬFaZjDkmNtQ':Х7z&[/_ Lk$bP*{e Jl-ڱתt Vl >1bI24pJ8 7@7888o8p\0Oý18o pN4X,lƠ!+ [idj|ata0L쉭{as4Z3oFBu %%VQ ZаДf4- m:/t-JN1&`d%#1 &拝^wVxϛi^6l (JmQL$jh :+רMj}u) 

        Fh019FMkn~^L l3عGI%1II˙;3'gINJ(92D.1o 5f `<_ ˨RXZֽa#+U`.lfzy5ޮ V:`X]=e+7إ͈ 3at:7d6,l+60{=0}`~0-`f=}Ǐ8~'' pzG7>>Ǜ|ɻ=m?I?3sßK J3j{,prUy{3O'" 9+J2*&>C^j,x72^YV{&y79^_R9bǪurvo[Uá}kĥܕ:ûܳ^Tk-.:tQ&a0ndʚbnlNL}w;'enXXxP6 ƳS)GgHHʜ%{&xeY6/ LH:~EVҊ6| }'M{ i'|vc?];]n{>/o|ZOEp ONp^=t=z{%N_]ܻ)L][ZYcM6f=zmw?i&,쾻Ǟ)EV#!&((J3J_ gE}L4h,q^۝w7gw~^^q}s@  @BDi k 0lF 1{>L;/\' nJFsIƼyΦtf,˾\˻Z`]d-V׭Ɩr=~{vKڲU׶ͷw lsկư#պ:ʪ۝20ۉ ,ٱ ׼$Ar<("( )a9#)CiM6.(Ԓ4)DT$ ɢC})c8rz^\wxrv~qyu}}Wv{pt|z~ˣ˯o;t+nʭ^!O*d$enYX1)X'6Mbض-1np*w Y߃s|;.2mcqp^Wpzn&pR%prx&x5:[Ek@ LP$@ \i3 EN" {H @r ER>(ҴQ݀NP@QPMDWP$()(BiH1A9AEI HwWxAޯdu"hC͘H_tYwEG†eUUeᙖYpRĪrF8Z{TPi.A" B4#e 5'G3ͩW8foV4|3yr|hzd؊ hXd :jJE|' pX؊w;St20` Kx."{lPQ72^3SqS!%#A )bڈlWDlЀoJZ6(ղEVȠB2ٚ y[ YPR5Nq!\u^b8R;&,שCy"Z O)J,TO J.0ֹ̎],a6\+ByA[]mژ%X(+;"w@fiBTVh_5܈{Ha,iV%@be0/{撢j>P􁐩>>2a|⋥v9 V]1 1]"@LDvB 9f]1Oc]_~45' 4pڈsbEgّ3Av"YN<]R1`-c0Ś/!~k YìؑmDѲ{K븦tl 2AQ^ɅRL\qB U#3VOAcюxGaPk7m *$:eb14dW,>RJCis,xָ4]mP/hB6\AEM'HK_Gǹ\`/a20 )NCBS;8+g_D[@ iZfVuU/-qhLġȡ#.9Rnn@"me),Thd+#JE4gX5س>/&>s*ݼUVKR/uvY/}@w?ٝш!vHlya"ԩ@tOK}LK$)ߎ ʣFmոi{'0~@)x,پd4xD97īɽoॼdK` @$br)i}4wz#ߕ;x0& E"YSy(Np_$1\ 2>$$UR8>t|^K%; `G%[G-7:oYI2rѣd:.QD3螐ܽZв -3?"w3W9H=Ǎm~㼷˛xL>x]FxTPc.d`#y} \&yyifn++[U_r5r0)B᫄ܞTWit(MuHM=C=X+26n(uh_#BZ\pv8> Cu=mV)gzzP30:K`.+ aRBRU+R.Tn|/fbKYwh,JPW): +bba_O-v$M\4[eMo{h(s6K C.ܨ#%0(<<fFe1;3a04o ྕOvЍː E<0}1 O[rQǻD兘5lOs0UvœB頏 Bc><| (].1(7cPvhcMNya2D9z^eQj¢o+u 5~,pU+gw'D,J% 6ɘ}VXaQ%jeU&B}!v"N=kX ҄ Mb4B/#a+xHRjGtBC6>Dw ,}.?Ppt+䝔SbtXƃL0"yoIdxƠ?O(p_y<,GZn@$ cbE1Oĉ$um>/R Ѥ(=/Qr'H1T DrÏ8CP0fS]^7ΆyX}aUdYb‡ _>e bX6][h=&'an *Uy2F֔[6[\l=|K#ŷ%Jz#_.R/Qo(Cz}S@!y|Oʼd!H|`Kp4l3ځ_r"(skI>Edn7__)玵}6RcB>"n,.#񈏨ى#AQ&N=^``үJD:Tr~ckcwryWm1*ҿB]/heEϩ|lI=_ڑyPt:݉ ivn@*Z7վRLȒ`h׮)}A &9*eK|kskBzql_ ѯ d!} t>v:01zkH4.qzv0{|Wt%ۙɍ\eV{&&#){9O,EXA%͖'}4 ɘ[1k~hcT1ztOg:i Q?]hvr s6#"0Jנ31ٻ t,sLx_fcq܍`xaFcg槑͞(/;(kl|^rKsuʹd %n{t$~qB ;;[z"A>]~i~װ8R j1-FLm"ugCEc3%._7Rcx>שRgnKl{vg=JUU_h_N3H*b"D> ɁiΠU8wL3ML)= *{KuOD@d'3]g"~.'g夥igϬo[ޔ@G!^'CzFTMR&'H\wOYjMTR]0ō4_ۗQ#"A;U s(;5)V[z$B yH"i  hZHT2dAňQqx}d,*Ӊ雧IL;,pQܦ_6L0S3iڭ+zRīt[58LC=:⹞n>X/) م= #c`)!wurumR[>ޛ>Gq>/oN%+wWgأ,dx3~3{G;|@D $Q˪Пg:<@lx_a">ADcRCiJiZSTO{֙ɑe\=1̲6TsUW-&+bM5 寥2ej@d: i']h=8zT^t^ӥekk{N n须ekz0fei ;TzGf[71d*vf:wnv`f;ҏv}뻻peD6, [Uoq26o pl?Z+*f߻{ ,/8^ퟙ:5w`?L;*8aChOE0g}^^ן1J_@հt :AQ4i#'%q}#2pMOB[z +0` pn h @|@R (]j'tSuF7-nrQL$RYB 8|N.cM2Y[91krquKp~lsBX"JR4ZZ>`41,-o階1`,=!+hbɤ %RljE4D*>K<-C03MXmvhx"<B(K2BIԔFK1g|t^'kbW^ߠٳغ?d` Gl_< ٧W[QY9c J*4"33G'D?eFm3(]Nם0\!$#"I5"¼ţ|R 9!,涪 9[Ws>@0:*@ϼ/S8$` huMٮўqf'vxwvhW'dGW:^?⿝(I\~;o97{߀סU>F'lyJvcA$qdQ@b9rR{c~Rw׽y ݝ*`<y}`Uu<.4Pto^E(!jl9\˅1x?~Uփm?nMn(#[PTjcřl -Vp}EsͷRˬF-g xdr }!0?`EʕhfR ( kۧ,ddb N4t2m,fFF mrT2&IgjgVu &*淕\@ |lQR5 ȝ/QYQY7{z{k}Ҋs<ۻX4/4/NLN]qy$5$5Qjk4;QqIiYRr<(PE2A!֥2.u!@Wz;-%>UBU~uJsշ<yщa|Jf?|~-@KS4Csl_K]uk/qC_TD旰?,#vdԃhd=^\dmlq%v'X ;hO%iDFfG^3hǐ{ȽڭDLco e3oU-ZB98| ,Y;+_5k`c4(3l8FoSes D+F&m.C D4vF+N:Y{$r98:(QNxI|D]DE#$bD^U$nz|^ 3GB:_ތl>e}oUFWJ(LfQT#W W/zbf@3Pq$e5/ ¾-`Yq񾫳v3W㌿WKNHD=FXzw4iM?q- 'F8V,N<:+S *RT+)rbctתUV;\}\'z/'?Rʹs> C5X 4>0nSZx&\s%rJBj qxnui|Iyջg]׻FfOxWc,rv1nqмp-#a$<13R$!EF72i"DH,C+-_SR_[s KN0IY6X:pեGZkl51TO|ݛy<_Ycr`z8i}g윰f]ìU3e[Sk},ٱ[qOӢa}>-H4G B)&CԌ`<anuʃ>|?p*xi(xy*Ha=&F1k=&G߫65~4xQu>2fFկȂ͎=GUzQ6?2#kaTG^ dJUըU^h1=r;bDŽ{\'=iD:`E{;LnUl*٨D+ Qd)eXdV _25Yi5}w-H8mrg}6y^)B.EP051ϊa#듐4n¤ml7bscW_I*Yy|SL1S1ih+UO q:G{ TǁERTzY8:'ll_aGw0R3=LM݌^.sWoh<O$YB6zoj_^V7֪)t :&Ҏ~ćszB6.\3zÇVC.rLd Q]#(I=/)7d5edtMy']aQpCtV%J"|$AFJBLD(_.&:ږWp#`oKMFNQ+RXMjB[TDNpI`c+vKZ3㘑d`[3L E^ɮtϐ5ڭkWsIX^pv^6^VrjLj*nu!R)dx pR/00l;dR[KSC]͆ UyLj]'R@|u}]~e hiJӚAĶ9>X@ZaYg$jH>?n ?j}hmoɺ4w/zYj;̭Ls'˧s~0-XmvӣT5Zހ Z[< h?w}~NcW zX) pطWEvX¦_'/iG'c|:t$Fga2xBg>FZU9k*ݙ=s|ٟ5Y=+G0LV;DouϧYeK-1u0R#="5u˜^;!ͳZ׉ vw] lx>j12A,VM}X*WeXl;`K1kDSX\KTKH3 + ΁sTqcE `| b2Y#+*FkmckwBQk7̤aθCFo8I|yY2.7N>󥑖iћ뇶k kA] f" mI`0'<ZAaU[Ex$55Bbw\YtLn4Nu``Aw^AyY TX")љU~Y+?aɒd ,f=;'7/2/lohjf0Yx~#EU7m?v 1宴 &"lv'Id Fg0Yl8[,u4J{>|P$HerR>}`4-%JhC08B z:ky|P$Huzdba #LChuzoӂ ˍge;eU7m Cy= ӲO, #ݨun6J_B@Xd;?'K$~:t~,Ũ{[w2'TuO hH0wr^;:PB/s@(w?Fm㧇p5{RJr`YпmAO`J*te؝2AɃ;bӴX沶eY:. RR|a]⿯.|q+fߕw3seo8rameֆpPW:)_BY@J2*TRF:4jҌO6:tҭ_> 2L`Ĩ1&L2mƬ9,ZlŪ5>ٰ3-N.n<$^>~AQUSW1O@HDLB*N8$K, @apffańo(7>04˪nڮzw{h( @,O *`./L/nWd(.py"'f*>ǝgtÞbeVT k0UT0`DԈ‹(e*H sjzM ͷ3RAENTc56sn~pduh)D5)-(UxU:-fo>yJ|RPYlSNw@b> bV&RdSL5t34lsjnp[q/ā 0Ŭdv7d3Im(m3q\<|B"bR2r 0D +)#QhDBg0YjZ:zFl["P!riq.'obVσbZMa5s%o$W;Z;)ΒH2Wntt'cj Qv $1i(fuYOx3E1˝W8d沌:|I$jVT&e(T}u+?y63W懺0Np*C]bvz{wMf ˜ogfY"y^JRyk+[~o ʮ[g{6)L1 N^y8PDh 'ϚT!_}oۏ3ZfI%; h*_in|#%TԓvPx'?*_;K+Oa&.TXmYD&.(;t(<;2ò"j5P)UO5Cdq?(/f_BrRƇLz6b2F~լE6nЩK_=AD yzGe`ttqbBhuzb989^@ c8CۭkOR321X9<|B"bR25hԤY&Md Qk:eEVdSL5G7g\LegƱ@3fݿ`:nhtܞpDK퉠;CP&1]h9ӷ= #pu3ufgQ`SO֏>~{IS Sl^q~m 8fkco;g ?NBTf -8n3 >]=b MlCfDX}Ax<{CXܽy{̘;0 qymt/yxWxOe 5ol[~M#Q+):/5_^n}}O3Ma#dne_-]4oƌo:XUFmitwczç:*l150Fkhh01XBwX?Y]ڨؼ'I-񘰌BCh$4FcdPW *!mqTڞƑws7駃ػfiz]J{ШfQum9"oX@ cRǪW-^^2L> S&@ޫS{R[?(nE(igg|)>z 4oU:ԥo ] Zܑ&+a<וu:tjhp快]Yt('F>`QXHa@)4n> ϦYD`(',YUUD`F2O&K5ZnRX|ju|AM12lV鄜I%6l~+_q?"eQBA(,, GPPTtT-6RnN5EK# DQ1LUt#%6 !4}졇6LL1g o$ 4LYٓMѷMJz,<}6|'C0by bf hҟizP|1ѵR Zx9ZJ|և4N"@ΓeM%o{  &@BQ(:&ФYc3!lB؅s9!" E&`DEQPK`HbJaIcǕ3 7kh Zekɻl1])qJ.uh[PHm/ Aځ'.@\[P{^xsYNVYf:z5$6$Y͖d ݷů3kHX,cH/wa%2a-v8,LP5YhZ@!Xmq[XkqJ&)M;BjI݌-sL&Eꖰl6) #"cwQ[x&$M)iRzZ=ȅ< kEN )MGcJmzoǩ &*SXmk,dܔA٦9X V].q{%]bbFFlEo.g܆kk]/W־WgUծQaq3W"hI T1Ww(kϋ=NP[:j3KFW87i{Rtu.†1OI"T0"3Ԏ|{ZƳ dM]]n]wտIr rBQ-r/Zh!ra\jmj(|8˷HC/eWW&}íyv>rh\,_zV4`5sRkdG|G-+zmÇh,.fJTjRIEE8J~ é&DɐF*Y#焄r}^J QFU AUIыo?:Vf|uj37D@:C/TIW% p@fp~~΋УfN0ums^ q=@zp8$fH@\| n-pTqx'$񶕲vg`!2,בhA*ѝOT3fRe0.1#06sLdt ,CĀj)gDZDȑ2詺-ٿ C "1w1G69*@aoH 5k` " @ J VuՊ@Y )x7FW` _dxSHh$"zj)"-GD1%bx~EF0a ffdjNlnsK^Ĭ8BˆE H # @-pJ/Gj/~g"///`/4vMr}uW^2ED!zH.  ?Ovp_{<øf*QVs^~["<Є&$4%,BQYi*]ِ<|`D1B+N;rŽ5wBӲ;t-k^B9/@I&0v b|! 1NZ&r</w~6mWhVe(hOoƻܒ=v:@t/-~ 0-5#ZnIt]2ƉSN :*2XXظ:8W7y 5&|] ,=%DrޣWvvMShO&Q1밆U$C2x3zTm@aEņI4Kw &T{gih6^9y{٨8%6颗>aWG DaMjI1YNwѻo_/Fq/h깬Ƣ6t{Y99e3O}]ݿSzKBJJX?F4? &64vv]9C瞸3_?6;Q .N8b6v3v^>7 @Qh*6ۓq!bTq1!&ՆNiqT{!*:IANzBqmi]V}3$Oj3[16\m,#Vrt483GcYL>ob=~oO7(*`#nY{ Ҿa=^QJ,}:eki :#TjLrL4(z7d< N`9O=O 4*eK@ZHm"ƒt+)wK?MFH6'^Oq`o`55]sPzAjJ͂at"C h?Q]. `Z|+4m]=]iiF&jH$ Ъ9o* mP}C} 1f”TAQIYEUM]CSK[GWOL&?jnaiemckuaLS qF^ݢNWҴ9qώ#ml'>^S߳Kȝ$821^: U&;IB "'. D{ Rx@} /@,#C@=5M5,C I"aMU#6:lMXCP04 dȩeW]^셾7-u%ZI^nKywi&iQjg $V i}P pu4pk rwt^}8G*)?Nۑm+ܷrj1]Z}E 2ԜRc*^f3=24U%$p QA~1n+mIm'jQ#FB)񪮃zc(Ibp3yX$2򼷆Ea!Y~M?Y>Xb…[flW};C;cN8s:i?L4{pz!CUa9c+zS5~3؏mN{67v; x ˉ1׭% 5TK̶Ԣ&ͲlہK3`}+3 <ʻ1M4;S`OuA Z+Y`̦ swϖ*oA\"~1͙K.ce2,8|9K Hʴl%nYaytgVx"7,%rlm ڈZ߀Sj>:ϋj|hF[σ؍oyVJ̌j;@:ߠڇSkV]qmG:b]5u /|nŌu)ǡUD-&RZpЁ 39bT$Cjd"\?^R o /$ zJ]siEEl+d]z Ձ"QĎy >џڛ$A;B[ͱ䲨==*c{tN j|譏lhưF͚Snp) {Ԃ`'j\m_=&2,i,72d2" mKy i  9A6 &/ 0lֻC1ޡcPMC6c%G?:L3/ 3ȫ/\؋Dl,_V(h [BԭRm[I\zjblx2e@Qy/Z^ ^p1~/o|M=P!ztKHA>1MLQ\E{pmY Qg,YkKwἾ×0iPj~YAװܢa02apc;w+YΉ⇅OǯKq}| y.d-(!PYA G #^"ܪÉAPRn&L Lɱ20&A`2B: @im0]i3ꐲi{/QBn WD2d b~"8,CFl̆#<|%Xy{_Ff5#-&.ZRQSh )j¨Wď$IP /c8'sW-ߒE)M>57~To"b7+8}z8i"]VךU$UY3(TZXsM,lX& X>E%;J "IEdDךH넥|PSbḺ#H% !ޓoj3îJ iBTz ~͗8.eɦ] @S +?~i]q8*\w11U?_~n3FE ͠<))BU!P8'hpT*!j1W<~s%tmDy& 9wy85hD ; EPԷ@"EarK9GfX/UZՁՐ3֧"7(]R-UUr8fٙ9GZR>WkV%8)4Js/Auxsyԉ5Λ%,)獆mLbZt戓2fzdw?}=M`+K `E+ITuy1ur5PgmȲeo\s=ԏjq^#^) ^r8KTqs,.}C&j7tpyC.u/b P2HXN(̭t z-8jo_gϯ[PmZKa{Cj4DyCVjkk ź} On_ۚ<NaW|[ߟA!jl\.|:uTѷVJ,Q<@}rjk{KHJFx#|9P|\_L]_/ڦm|n&|sjQV7w[C}1;Tuc~՛1ܣc/gdOJNG X5.(4xz1bJ+Lp; s'{cp|AF'ǡ30ȗ:z*.#Rs-6z+q `>%}qi5b&bQ,CpG.Vv(N2[y _3/@~wNBoA SMay8,(!; ~3?]ߜ̽|A|*(C@xdN.\ (B,΁i$  `zNpv lcݮ8"𻁢ȱuKe`UI'vtJ o"Z#Ȏ x=m6dhlCjs#%yzӥ=;Or=|&AI7*JlDeajiI[l`!.V0_ɧp-=br떒 U?,+hYv$@ЙA |p5P]ώXBIiHp .xc9;y߀7`A0j=kmͯcVhNrjPU C/͌;7*E4jW-(@E]nЊlr -.c..v5f!k)ȯhH)Nj zeZ0-̊IG`GŪ܍ gÒ@@o=0%'ߓ[;7]>{6*Mخ<>UptqVf+s}TTLK˺Uy\fq:[&^*zhF=<4%A&nrWJj;pHFNǫ%䨸" w(ɳ_vP *R3@fr.vzWiZo1Ph)d8rw%tbE>;[c̥kاr'(llEqܥU(IUE+3!ȎYgmLp+ \`wb箣ۗ,E: !'e-՛Ke.&cU?bT{R|Nj*vx˱n9 ?EwLvT fJ ]Ђ;!.r)櫊{ܩ1pbjeycWZzk;޼bzOK(dفMOרIP'rO+ s®<{aطu@!1ѻ϶%w8NH[45lO2=RN3KXfr[;`ȇs֔HhĈޘj:o*Te0Ԙr"-Pg  =:; Jeb%p~\[C·*܈?opp+JML~CGxK]DN-#B6ŽF-R5N|#:u3L&%jwP1M.%-t]"8=!E_-m2 ]!}T%dȰ7|@A[6N$6 =b" Ȉ$;4DZ}--r0mx)#p {¢ҙ~ms3mfIr'-d!Gks1$FMc9o觪E"S81K>717+$XKOWYjZŴU [hgsdb%i9 U?4iFlѴs˯ud߽'A} o5"o;)wPLsy&J42:%ҷ8eR1*UZ̫4bc橙hkrgluod.<6cZqǯ+";!3dǔ"ppyfeHK/"(x#+34!W 6vazpX[^ڟ,yh|2*3W~?p4Fb!}N[ $4% r%4J mJ!9ʏqӋ%R%6$`+zoQ=,e~hT&+ X*RB .\,՟4dd,yqQaLI.M^,Tc/3-=>{%P2/ &' Ĝ6u=q]VIxyԉSI.a G&?ٰjCHޅheU˺\b-`0Vӥ׀/ZID_x f(py6iOJL`uߧQӄ:(.ܪ:Ǯ`'p~i]c},y 2ӄw^\G\t-Dxo[RRͥ$pg'$Hz}za .lCZ]H'q{VS,c{1s\y{fpA!BSܮ*N 'gw0v[#yt>Zٌ@sysb ^#^,8&\ fl{@2syMqVFX*%Ù}*«5N{X [PD~B|A:2=wQF̴JR e.dֽN&& H<jb2Tl!ĦQUw΁A8yq$VLf"?YǎBsiLSPr qZO >.7)_Qgt.L'J 2K^_" fm(ؒc?ڊVw4 d:?qN5^%}4L%asя5Qs%4L=s a8퍭:"Z@ y%b2Y&nͅE#g=ķ#4_/k.w?c}| $h%J,VEj$ìp~ٜ1Ttuг91) &v|QQ@뇥 yȌdjiFDu4F/Ӡ$Q]%,k>?}с5W]sw,(t@5{Vn n_ g׋:JB!sė1?S(;Q]G H;ϒ#\H~c%6^ܖv9~Nvt*w.NlLMo?fBU)`'VBlw8ԡ,uY.fz* Md 8fe?ӣ6l1Wa@øl$Eg\auևx`^.vd5C m՚VST` B]M}T*dXiIv:{F̅@鸓,*ѕ~c\P…9< uRXQzC>mvcဌj(T<]j̰ШC; @A,sA*Hd>o/e{K ZXwbE1/1 {"54ZZ[+o4ZKzݛw4IBq ZMmţX7Hghz],op#`ra_<_QeIs)GÊ]vxjG3¹`X>nV2.)’u6N8"BI7+S09:'U.MqtǸA_@z,}`vy#LW}S8:0#UC_L| 񞣦8dW)ί4Ѕ2(dъ}qV'C;7&‚;Dv{Drlnd@f:0Ks$鈽&*'$^%SD mz{P_$F0 ",Eth, Bz6T2Vp$H_'i`;&}L4 b)G6X9ѮGn4eK"Qh6b5?_AF Om|=)3.2Ν_&+mI}f&Lr0y9)'a^%kYg}7dNta;\/EG]Yc}ͨaMƬrw^#XN]I=x.Ycm@.o"EIcc\HxB*[ rLlLuw^RorcT2d):pج? 7b7T&ØahG!OŏqiB-Y|XYЌcVxpL}S3c`nl_/8u?:qvfI_Yh39|C\gHyM0~G逽u4wiفRDIJȾs{L.%fb%NiE݊^D!TΒpB :ޞce5!`9M ͳ:lFK6( E2'mQ֚Hi03mMɌ@^m9AiNt^ v>:\3y˛tCCaGͭo- W?k3S(Y ҟb,`7Ɨ.Lv<0PNU݃xdYX a͛!z)Z\ I4+.J`SԕUrYg2c\RswɊ8FwCu1??~txᑡљj"F0\ \^xr2{V^mhK{?>ګl%Е~B^]@ C , N&>3b'0_"<"v--g&N'd׳v؉`(f7ݩ_Bdg. * Lb~$RaJBR ws`P~>91*v+?z޸L0PљP  b|꥾S1qeja~L3KrG/WC>-VL? |-:M&'(BF>PMI0G҄م PFqiuܥa]():?@qIU>Jq]b .?tZS wiJy6Gt8,&}ĉ 25rEZ59zM @M?qnCUdZD3}&a!pDzfkeھ!q(/'bfbt!~(bU"Jr՘79A43')Ѷ+}ޘ<8\AŦH>= c&uaSp&55)x TQevS/l&hjBw]_3vMh >֏q?4鸞D Kx,/+ \0,y @Ubzcbӝ`a2tʂ3G̟/@YsMX! L5PK$aJp98ŒX/E4)fʐB %:$t^@R`SFR1͋t*2sO;> W{6 0ÎM=:,{g.zf1pk%\[d -ΥjJ`nKkr˟IslhRO7U;[>t,FiesN[4y=4::%r;x$,D)PpΥ$h/ ?0o<֕;ij& ucI HjC,e1939åjԍ'*JG=0[f*=T OQݒНvc[/÷OMߒ[W:r$zs<6\b> fiYdQ6C; }10G="H6FChH ٕ7]1mpLJQ9>gkqJ$שW /5(ksb0G.1g|v=0v; +5pI2rszi.-7y4Ooʸ.$8.>=QGEU FiĬ+LvmV"_ǘ4]@rn~`!EIVM@W³!4[bkd'ivOP38Z.>~G1s-WNmx 0Lw"(t/¿u#4<_Bux'pQL^gomr6d4 zTǟg %V2~MmaNpI@ϖp"ͯ!vE\q[A㡛C O[' F92$a/k(6dC=/gPө1ɃJL+yDZ;F Ģs.McTN3@Jmܽ*R:$3s- }sBAĬ]uW)9jj?, ۭBbr(8YZ\b#LϏNZ<=J\5fjY(bā(+d-ԇRBT#b$"Bˆ"m:,YYʰIQh;eM>dřq k=?J=a1Xʹlp1jrȨQ9Ly jOjdwuzycy|n;3?03x9A{IՉ-!_@v :碇ĄR DeuZ2, 駄ye^7\hqۆ0{;G6eRmRA{ F!%%[QIX>_ {G4L}8u1wM#AU8\%s]i~1Un^?a, Qכ`F]#So.Ć" ZGJxv&qLCIpJ!PPwVBLcZ16am,}T gu'~T]Cŷehdr C\3c\x,ڿ^Y"hk>~sxi)K[~k%ۜѻ8DuBSwrTzDh̩AӰ NBun!$v 2=ju!&.WV74Jm~dSՂPҾx,Hh`pAݣix.~eywy%BĜ2g4b~R26eBJ,؂zt!zU.{47ObS*6^,ÿu1;D4ƺ@J:>W0T}&j+/R`h=<2ge-6gfg>'T ,“y2WFFTFbA]>ըX/spB"=l tCvZ;;eI  ƥX=ܳ,>>PJq8UpZ&f Wo85g!rl:VegiGSCnuR@#/z*&{Q #nyQysf "VS4(FʻWi! *^k,$tGmsҝdCf7qYؚrbF5?b>`mcާ ~H YutNQT~ V%_e:u(?]:e^{(p]RKAb^ұŲkzBbfⶱ/!="^u6 V2Tނ޾B,]>ظwxGrAASVJo\o;.(Jas{g]y(tvc./2ǫȅu'ˍ`fWn?Zi\IByh!u|JMbSnWQ"8`L8wW8x<+PmBB]mpaڪb:ik\+mCB,z⭛Fd0@BKy&K>Bu4ui2uE6j}R}<8P5T1i{?J6CXNzx/Ŷ Q98AFˮNsub8Gv uҬjTj1+|)oV9Fw*z20ڴ'؂jc#G$\qjFL{FuF,淠*+_/@/!)M8Xޅ5t}ݧt8/ zpvwL-3a}؝8<0=o (Y'ႁ"UgxsݔcgzCc#- j_)VWE(>(Z<1'2l TsalP "Mf^`&ˡVL؜/ʣDh_|ehP\ frW7Ff3Cg2]:?Bf8^HޠU\xMR^0wޒlCٶ]i6ThkK@ǎ̀2Gqёã߇LЛȈV>R{xa}FGb~#~kE &b|"mb>7 w7nD0W"ǂةA ~f =3 d+E CW]exRZ6(*],QGYw%*;Ԕ*ɞ'pQ?Jo\x֋p1:4ZdҞ%#=Cn;rxZO8CIRR@ !VC^>%u 9i۸x.g!eΗĄ( moG-kwRT3CP+<®5m{:{Ǝ˕TAh[ρaaN\IPF~ $)]dTD B\B* U, q·pB5 Opuxm]e;ufDx1,ADs5-SN>= Bh?>~A~߂BR}2^>XYs1 3c C'*>#AܫZ/O.iMh4<oḱ0Hђy 1: 6Q`b0sTŪAƮZtb=$0kn4NYV۶;rin` B[ &}]-hn x@}5#of2Dpr [/XnSC) ѯbCLߥZ{߸?v2ܚmOL'#`#u"1奖xH/)?HAnPQ³S&A퀐o?C7c l[&dDGCy& uĪz7گYW2gr>?c_L(Ƃ1[Me/EoN!)E#$UO٦TeN8`l" َxSK[0JlaƃY~37 ćDN#ZPvW SQ/IGrXZ)qWTp4R3v;QcgJ:= B+v\edy}(Ю#&~VEe w)ݚ/ [ Yr+ς$}w8~Xʈ\KK 5Gx52Jދ#@Ƌ#>TQ^ҌbdQxf&W=-h ߌ1Hyꗽc3"x+HE-ʣo ?vM,>D J^ͧ6ǦۮT Ta{hC lgz l]oY~^j y[E,ջOnSaN^wJIfzUIV;7u 5xfAZqQYB$m2Y`'\gbBnbV/n3#3OP׭]| rDv8ۺ{.!F J=}B35Η{f;ESy`?{ETaMNd::u f$+zLjz`pm}MNJg7T(S v()^Ϥ#jQ=8G4e'@,WńNvl]5qu:6=cJKPYuY1.^gL?n"GTTX P?kwsq֛Zcc-ɦ&w9 xcVMX \&(|~#(IQ0(|Jb0[1rhБNaukk- L J[<*&TzzfU1)%,tb$a09U'" 5o|5dl?RfQ㞟4( ] |Ocԍ+cD.I"zQ$:6WSƼN 5=; 3tD? 48jmRgn?jQH2AzyfPIhbMZz1@wF=1R _D>Ѽݜ Ox҃u}" VBe6W蝩ZfwA6w j3"eOj'SҤܧ bbCvQ ZOnySΡda74I{)!e2U#T>BfEZ[]jY\HCX7q@Is/mw0#ދ!U'l` Fn%(JK, ^ǖֈ J]F;t`-FSr?u+n*Fz0O;~ U~\Q]V-~;/x!e!63*.@#hˈ̦r=a3ZLx G}?P Ocz# >\C5k|jŧ5E~o0i~TRk Ҍ]AdV-F?(JP*G: }:DIisZЮI8?წ#-^,Y";iM,2M>c^/~b_K@_PDd9pX?}gc&^ݪW~HdFk21I* >98/"! SE!&<ZLG?5 a;m'Xx{|nyD*~ ]Sms!q]PgYWn69'm|J`czUo03':ZۢКR4W%'k 6ICխrg)<3Yܼ,whJrN@5p54\ ^t(Bf,36\tڨ{aZa-7JN5MLp~[ʋ KNCX""^N/^.yunJ +0B8m<ϲ␆3XcN=%ylz`C>צbpg?6`yҴbL ɮ}䵂PLeVla0B7Х=8>-wģwQ kgkq)ǞĶ'6qyB26$g~HI>>"ǫ-LZO2|aXx|Smv|W1ć&:1+$$+|&:3Eg91c H?|+\-[9WśLnzn'-\γ&$cDpT^,/J3DaȿC 5_̶hTp"3nJ7ŋhޥF{w=|cT<ύn'|Nh|+!93'ɪL`* KOf Tkx ! 3]mY#+ K8{yT"Hmla-tFC1ĺ!f~B'NLM>9m(XUa747R06G? DX@#XxIXh`b]ws G!$9 JQ;NgTIes=x '-Nzg>kCKlBbT0?©?]6WG98i8|, $Ӽ[^G71x`GN[eYHǞ'B]ё!8A^䒶S[ȁ 0Y ^Ujlz^-"ʝ7:Acvv,{Q'gLENĿtqW9D) &F`]_(4+63%*HKk*0 |Pd;"g5U)Ud:&2$3L[+?\)/dΤLn耬 \ X@q\Tbopn#EUP_XlZJIB5!d jl͚\[;Z® nPt_ *kpūQ DBƎ%P=$̿Sᣬ?x?HID N"dKXD젫zE  7jnҨ;۫,\g[Fnd6g $pɀd1fͷ2Dza/y'ߢ*b0P 8P+*t=eTGћE\[<=ܦKOI9bK#Ȳf"(Y Cl| cqZguX{jʃVOz(oQf(Qedt!;R1XT;z=|A ׬j)!5 zm0Lox k[ӓr!.ډM!v0YYdChӪkz̞zc dh Mhpq a*T/Kr~2=|xCxaკ LZ1}V1"t{qKZ+\VT-}5O0^/~|eϔT??$svȫe\}[L6u.'\ʉ|$I;ZisjZs8tO)1$S SKztJ ~+g2#q-ۉne@m;4-}7]cpnZA4*ap['.Njύ΅th{< mbW[w.n>Tܹ{SLUg{QÒR`~A%tQ7oA C!R5y0Fmd\qs7n]`{ey%ʤTR22Ƈ;-4 ? ]jJ>Vr9Pq h7mh&U/( n>fEGHA(b( )C;}C871 PeK,[˻y]K;06hR VN>,DVNr?DűRE%#\ ,RM5>u V}X-2߃,)7R'ر䧯+LFq5٫w"6THRgPܪ򍢌OFG/Ă^a&GTk;G! xlqm՟VfVݲ}Vf+z6cҏxyzHlڸ$945i;Q<:-BGh zcY w0e'](\ ;cn #_lc֡-x{(OM4cgu^;S/M|w"Ŀv2 62o}tmU U(80=fc$zs6T34X<_3"?(|Tzĉv;iBY U$:gI­4̩ނkx1:Ch9tJ+b`ؗHUkG'}hg-O. ei [ڒvM9à" Z^(l쉶G=f V5- `nB}GvAOB1E`gJw|OpW;?ZBU-su{[Z'`eS 8ڿ[jڰ5f`C3 \B4-1Ԉ*}C/H-ă~_eAdl!L&d7&ֽOu٩aqc45OD3Z"b+ۈX+sgA9n@}ӫ#Y!w_{B.xmOk褃 ݴ c|=2UN.1ueh9 $de8 oJcɽG $nWܸF9Fnx݁x.VM=&~ȀQ ~3ө!RDy~y/B]ETEqk dI{Ax㔝3EmIɋVX%_&UnNJ+Xh5i;meia@?QZf¯oW?b-\cQ2A!&h;S:n;?LqI_Q1$r%xf9wQI״f8EPsG!r&Oo>4.ZNF[_Khj],D5m5pE/\mԸLKl5YFjBsئn hj툐pn4_µMt/I<_fY- ·3cL-6$iG6ifTsug\Kx?!aف:/P$Iļ^|!gi }k?VؑMK4 sǥe qmu'[ȨCkYJwˡ=}Ē=qͤ319|;5/u f/fK|:J<#LBjcC#".[)&:A.P_eB6"sASĘOTKiWaRJ352$\\9bky%{5`]ڒ ^6Y nB2´*AGL!\Jr1IXSlXd+3k C9~s*꧊Eub8u(BcDca0 a/NNF;BYk2PPH)~Y>^ήqKp[ Ў@= m81,"U.RY~ عvzx$gyI-1_c͡'gV%q53M )x(C*w;$9 R5t8^GԉE_%<sKaJJOyB# 2!u%І{T!b@!]jm ~M +ZZ8xELDhO 'A0)!s͙C[U8qVcx]?7>( $$>jh$!Bm4aJB7SLBn cJvZa]y( ߙw.H'0͜14a.d|@Z9̠'# F#Wo[!2+cQCDkj"!{Qd%AF'Hx v+aʰ2+7swi.cDiܒQt^HO @9 |KOU!s xr`I;*P`' ILds !ž vN 4Ч| ICxxAbJab ܳ`CW1\a ӕǖg,=M_١{W))|0V,40 nDM!N1;nDΘsf H6pRZC7ڨ,Jt1&?F؄Zu2ՇKk]jJ-vg\p 4aV#/Z*f7t3[M~_qA}޻QsƧڙ/#Z.#C뒖8o_gya3F,̓rU40ˇôE b5MmL@JBMVVA)T1aU+'z~P\7 eG>t! :\K8t\JQ(=>Vo'dvx(lfCQ9sk>*[}tܙIl1>Ԏ"[Ġj{C"0\Ipf@v2B9 ,S16{nLZmEXm& R{AGDG c b6 6UJcX hqۇʟ;p}u:1tZO-Zt=7^7(֭3+;`~J+YpӹPS"]xZ=K[x3(f)כyϋ jlxtRk\mf_|Qr=6a 8aH@zVtL D@v;|C9@UmjSKejmJư)[MМBy*J,t\4wr]8eZd2FB /\vIl(./#8\&lAkJ/XR+FuF5!_.ޏ8 9䕠[W=BĿPdnyǘ<9|HMɸTJQ7_>GOqC!\4T&r5@"+YrͧZbMq[WtMjF~O-ԁ/`#.G:٦Y?] ]mIB:\C:1,pnV^/`<'l=2mFڻm+o0ioNK#ƒ6 UBurPVNkϨ )C;;F}bs \`þ#b 5bW7wX["O:W㌃NYu {xDnvo&Օ33HٍxsF 5k@ܟYd{ؿXHv305!xK(;֞7)+۱J 8+?Gyp~xm'Zx0*ȥzx>VI~PXOOkBhhJ$-[\(7 U)!Pƍ/ϤO>{Drb||| tE wL#C@Hw)]Ei&BS^,Ze.KAC~5uGWFœef{Skɜ۽gcVP$(>yx!vSΡxs۰hiH>r؇Ĝh9'>x\->j[ lf*8U.@ ʔĊCa~p=º&b$5,%qʾߴxg]{;nZU(8Xm#: h{EH? GcҖB,U=gy4o ns8`Y"sQe j{ `2j̥ؒrZ\`_p eWEGr@ޑd ^\ y[Q2!Jj׺HI[QOxr9߽& ӱ+sq7=Wbۂ\n1cazH"RB0F(J,}Ckqq,Uk+k6\tm"\r۷,8=:qaGD`di Gl i80GN R1ʇh& .Ic>,2Ʀ'D>p . CYh'1)~7| |uuώ7^'X\Xliٴ%\v;`ǎ/uV.Ÿn 3+8F4P6*͎Я |䗴7y[_V, D=Wfd%-iS$Y)CpC΁ɝm:tIH>N-J(jZلh4*N7B}7>K]UF/K(!&.u1uaShCq>蝧 %usZŜ9c >c%n@LA?X>QPjkY%bÅێ>N7\ \uv9Ks8QѻAHxPtx/(`f+2ҜB3?<>̛JS阄z*"#;t)wsӼ9drm C1잎:{m=/z΄$ Ƴ|ӭHIZ2ejlg I2sZ_| Z2&4eAH92h|IJT^@SHk8JQHngdzd R_9DmEEmt͂MR2 ʴfoiU.JQlHW zd+e j ZVnj_6)TB ,U58iuW_ClRdtYuwn[vom Ea+Mi'LWX/ 06@K@nSh`X8;R3qiF鸮%-e% rKmn֙c.yt-+9ndBEZy5e+HK 6>jXV$&j'醇wU j\"GGƱC)2a76c|&q ob Aw:mp40&ۉ{b8 t%2;byZ&l {| \z(۬jsf_z'z9lyթ)7y:cX.dނ wpj |abb炄gd~5#Hlemt<^s@5cyވgV!5,(OS`.71$ n*; !,M+3cޑcTGe}ҫ㤌Q|ّхޥ<*Ak-t cq:>:CI9-*Wl-Z6" ֞PX8eߑ%bk4)+yBCЂ/'>)-(?^ X "N酅FQfLs+ڱ%&['ʤenK՟"RXîrg]+sxO(<Q^XjT)Yc( (l}qmb JQ_Pz)lXwSԟ*qQ+Z>z? ; yU UAr@hI݁ :AC1.Zbh;O>/XpMlTzpL,2)\PAc!K ا;ɺ ;t1>:=D I&عY[:(2 BT ~,V2 (l^׸@3EXhp-$/g}ټt4E7ƹm66BFq8BQ|Fg d ؚap6]bF#z^\"9BgZ4t-@v** ,5&uP9%sq"*22\pNc $ 7~05'm*V_TU h?2zI"%28 =3- HO / g7P$?؞,w*oTl=bx!c\3q<ܻޞ ldm08--<_Dr~2j6Ąul:ͣ@,/@Z&Q rCEN+sf9~Q`Q&.ŠxOޖ~S$@6.eމ˜|e`"%H%l/dȍPı 9+ I~5UE FXXy!II6 Dcyp{t&PHr(FQ|L0ZvXM<hl[^d 1ƽk_Xׁc= VakIuxG9ywY Ӌ@!sn/@LJ4ad6l.>j o{_Cmۉ`=^r¯D^vϔqݳ0/T13L>d +~R^r4b*8LD?aa2Mq]INUr')ĂתJ^5eKTvlcTM4wr{.1AnV>bTrWZ-|ۦ[ڦKT/0e7IW(u"/h̎!t/=o KL*sWC+& a1ܮ-r8dV}*79„T0gO%4t1E%gfriL3By ؅>+副j9'+*E_a-YG T+60a1*_3 zJ/Fcmra:.˓~|| ,I9Î1Xq\+8Ylcdj.sZ5P}n{kEEH`69{cGMw"`5{Aeؽ?>̅7n;w6~˨ ._u\CUӨP-#VV8?=`ɨ̣#zAm6/j{Ǿ]tu)W_Kt^6J%rheXRWv3.;=ta[trwN-K$}ro9 ,G>Rn!RE93n#,W.ftI{́ETᛋ--o8g.oxXцNfyP'"5>ݳ V.nPMDI؅ْOJ36"[q}a쇆Vwng:wڜXM*W4!=%,_<[*WWw5^@-me48s|t2)A7 7 3Q/*ḃf,?o`_qJ?="^(5XL]UW ^ل8ɢ'FH'"mοl8o1F/XYB[GǘzU8dS6^&pצ W"E=Z)ǠJj&S8+Bߩ8ޝ|]qb6J;t[3գ{Om;R(˜Ee2sX!} Cy Z06ЧuM:ʪ+~Mmc\6wCVʅ'va踨gFPB1kyȧT"uS}̬$隂>B^Dkt+DOϤ!Ҳv@)$dw2)j+qaX63V87pv$y/iH1h1M J 5{Y$淗JO#ό-XЄ/ViԧញAaTf7sQR*88>iـy/IcGYbln8zF( ϔj"XAޱBCބC |  XU&s;74Z-3'ӈFR ܢ΀ ۿ*ziaza]׏bũb^{1˼xWnj QTE*qg#Iڳ 線 3|*Dj&.Xؔ\ +SK,e&To2m)&7`èq^ 5gY.ci,XcZhqFS@º8*8b1HI 7 ^v}@鉷k(Q9]y]F3eZ*gn¿=ЯIT+MSWCkCswrlˏֱ#TC{>ЫV0WÌ/>sک26|;wd,rYܵ WW\.+SyÑ̟u-f]2u SE#ld1Ϡv"}{DAc]s\mzH*7~? [.0Qӹc3U[[(Ogr8sQ|@4343#Y-m0-=ON<)b'we/mgҨ-V/h=L%qFd>nbbP_'ƞ%iԮnwDYۧmu_3Kn+~v a&^m5l =NЪ |:| u53A%@kK2~O> RmwBp@"ĦIlB=^dODYP+G@)Uߡ8†VDgBulVƿU}@(~ԸUJTgɝ %b+`*:~3WBp5gHȒ.X25;+bl9flb~5[%ݚ6br,5L3ҴŒ&a mlT/=a _&y>"E{ AJ.Z '  7,=߉$'%+33"NqlΈMmJMt ::諜]mk?n; & es7bA:W,5V6$Xbz&.mوcy!e}k_Xnh %t[LقMX4-";0W qҋGԝϬ+3T*)괧L$U$,`csC3O*'.Of;>ӆpbwaWSf|@cFQD`V,M%P#oN:^iKXV.^f֋k<6+o2ZUe@1CjG|%;D9K91"()G'mcCe{MV&^fnMܶX; )/!Kg54po |bdHDO ֿ ?`Y;2E/7mrc?of I NV`z=h }JM0yJO u0d&R#MP\PMhNQN{z6qVȰ'G5y:y36II+ʑ2Xp&ɔ.q~zr4)fڙmUa NL4d8q0lEڝ>6f> :/Tio~E ;eYdɅ-&$fkWr71[ OVjZɎ<9ml,5Y )z1ET3b;Eu9- xKRoW yvC/Fh>G 7VMTG+H r-+I{#[E_>gߋ7Wr+J40ӽ;8p2ޡbJajiB?$(,oK WJ[^] XoP^!Q!UZ-@/"՗|Cq~999PU56XGبA)+R_Bԑ[P-! Z&ߢ 3|Q]c7e8 YJ,r)_]D 'ŅU*+ 3}ӻ]HghEլޛ޳sZNVuZ-=0OgNfeYaKMY4-a%B!yz}] u6 -U#d_/ Iۆ& Ak/=z|,+?' J=+"T3UZ>KN/u]/BEVEڂY܉n˞"o~[6BKT=xtlrT(eA?< ?FWy@~!f(Dg1zQcD9} qEE a--ިr͔KX.Ս#IU` 1'1g~(:p-٧}-"޽4?}j>WK4! IJ،o^Hk6E,t|H93.?7[MyWZ:[6ߗ&bGߖi[K|kj8o8~Ld1Rce[#aBng;G<%L+ ۺ=Oˠ}r`MMpp6jHҮ/Um mmY2^jj9ު/vP c#NcHv82K\RҠtDҡDڞVXwC P[ɊNlnc)y3d[2,o+lO ]}Җ!Qq[ .N?Y>=Ԇ,|˹YRz)xnrGzcGiƽ#sP |c5T9Z@T|Wb!0J&( F=:ܚ)=@N#'2LaZ)w-ȐǞ(YkV[h4dz(ƺ0 ~g6@!\Ns<)|soXO,nkO -'*ssV${Zpss[4s/p#Dkׇs@bI叕:͕p\!'og<9$D 2MW*te`0t1вl֋(e}$7d45V^\=aD|fƣL;qۇN,sH@{fy?eݗ&ϣj_^"͐w޴j@[?{$hsgB[7Q@Vrwسp'@~uG`;)jY 8yq {֯]2(9CrYMb(rX8Y! r5_ŷMԽ/p_mk B,!ӆQQ9C?C(ͫ'dExSе DdL(?Dk=xL1P\Ϳܺ kl.I2Vei'6}Ho2'&.f~fQ~rDm=Ur(3M|_%i?HѮWJB[bKmrbvK⭪Kߛ7 g&n 9Um1`'(n^?nU912䬦ܠ96di3ۡOeY:Vۺ>]=}GU`eǿX+ wXfUBtCKCj$ ydpZ '֎Ϥe'Z&rMY"xp"u9њ炵\E.I6_CW>1kU: ۂ@P6E˩q[$h]qSfǏ3^`G/IK,CUW⎱9Mh{NrÌ̅*G{6Wʠ[ߦt19 "ZH8Gvn(جBYO"gMDU;cOB+ ?M ,R5y~e1)'q 4jhzAS'~=ЮWAPAO>|Rc_.y\joTh5NI]?}B򚺺މgmwJWp'0؇LL$Puw~u𸄺Rk^O K B*fB/dQ&B5  h (s)[3Ee]6C[2BĒ2)E `A\;ݙg)TQOih!>XȔ&q{2m=$GL6fb"U3;EyʚfJ:PXN1|z)r2>.S| .(ѐ' C!P@ƵmlEyI4Vs*oWxMzb4DzuS 1qܕü.>L#Dk i|FɫrvQ(J Qݣ_ʝ!SJy]њ&!;QDjw_G+:m&UvVl>ljsh]檟ܯՋOКN!8gb<dP+`Q3N)uQIhm*fS$)*TĽIx"hUA*u8bK-/~tBŴS4׶}TS/{qUs\+AE[ű$jD@eFnBO?> sO;C4Ml "' . Ӄl2di7&fu3G g)̵NQ ARw`zcքޅ=*'w*ĩή8Է Q*B\S7H\.\E>":]U\ ~o@߉ ,)oi]?3Jܧ.G gmHht'j^3OR䛥&W&e@QmdstÒЁMD߮ Y16Tw|ubf˲n>^ٚl"ʂ.`kwH1lK̥Þz1| H:d`i߅.^Bʉp=21_xñ(8M*M7Y`K-;uEyҮҾrtŅ=MHDw{`?'O.zEFME9wLNTsn_{M1ҞsET sW7xZʹcgpeMno9AB~VL+Ds8c?a,%M5 9Έg)&2&z rȂU A1znEw(2hWAwu 6H'Z[qŊ;~T2j3#)E/9yYK"o7r5R*.`J&;~ b4apY{"IȺc5]AW2 oL'AB'g4{(sG!&y._.gln F뉃$m!/=+ZżOgy'OPWI!t^8tn J@ݯ:YqQCRP5n;Ie:렦LWVfC؁T+ῗ yK.LuUNp3þ!H\ G@ K@t'Vji+B}~oܪˇ^M_c>KUfa!s~K/0+ <{!=6fLB7cc^q>p>>nj5 j\f^ä6hj`T=3p2[y 2Q9!z zP_?Ŷar@꯴IoӰ4K+ЈU_7i`%FU`ΨŎ$8=mMd2p/r&~M5϶PRb4j*G!ʀL Mu 0%_ds` F,1yrtOiKUwBzy J4! 5qM s><6 @ sفQ£`G "\2a#puGBMO{D1߱f*UԈw Bjn1b9.<Z2\߼lEސWK:?8#RFG%" ^8f-r(:E Y })U7=pB5\ˆ )?cFa6:| nYIibCgtG!? wkv!WlXHǴ|$b'10[F[+ Pc^Muc  H7K"s}, `6)M ;)dG\Vu,>Ux2n&DEa Wf !98̠~V[s@7>SNe ~"OVīe4>qGitV+ua[P5MĞ (y7#yfM;/6k҆/rsx&$~z 摼 !j62KLCyψtCaV9֜= 9˸33X܈ǃՎ*` oPR@N.|,Q+3[g`~MgxZNI)2۩k=vv-pv.T?Dα޸r_4hS^cpDkk 7E]"5͚*(&潝cһ*wwM8 ZmwC`+|11 ނR>[t?;ӱ. Fl]79N#+"ۣQD/*CyAlQNh vcj|H͛SJЙ4lI x8:P?_`0ïNKϡgX{Hsiֵ"?ҨO޺f^%[5cU3H2,1ig"Q.[ݻ3R`M&h Ű:,sfyÅ}UU{O2k}`ꊞ1ÂZQYsyDCp!,a 8unHӺG]+"(jUgV :r-Y[QB"YWNf[ )Dݡ|Q7꺺T.v\թ~Z I㈾TM} ,,Mh, Ye0 X\۴4GrĶy!E.v[E4VlZ$ٸe5YYW?8V,? G:ʒcM$ʕO}`EWh4\R}WbmIjۡiSL"& V݉ԥ88tI`{>V_(/T"<@҆aY;XܶH"* W31u{/qAj5te-55D\D/F~#~.sA>VJUȮ aSX6bP7p/RpsDz`>{ju_e󳧌 ǃ'Th"l /zHwY~E=\p_]e q\%7N<],c^`۝E^w3ĽLϝηik rkԍΣ˵*/@H>[-w]3ـWW3}WP|A3K IBf)h #]t5nZ1@.+i幓=o|H#ݟsUo~[]C_6P l 'рa%"xH?z@S5r=[nURS9L(NrW`z_57y:qtFxW۞dJy:]c(wjY[~:3K @ @b:ڠtЋG }k;lj _WF{[; GkF _qޙwk(_ ^#ʬ> ^> @W{`{[q]%<8>~tbbʽT}JHc,%ut"䌷`E6 Ij%:A4P]WDUh2yQ勭t䐡~pAe=s4zӬr3!^k^!d|*:^5/KuԸi3nsʫq!qu䓂]ٽbhc[I)(S8ݥónQ1+Iҭpȁ̼uA͞fui>;)g"L`zhׇe,故qkoQ A1N̾ #h2j!9;HӷW,ŚDvsY{E>6'˺փ MfkJ/DÂ?#beгwGJptg\gu'E-p5kL`MjWq<<+ +hGymM~q1xZ\A7T՘i_&z}*AJ?]7Orj F OgKNUnLX~*;=hoqɹ[KxU?ZOQl|)޵qKL`V;.QXf|~ʲ!Ճ*▵x$ 4%$L7b-45Mae[>$o`=̎!L1Qgqrj 1&l>tjyIfW)[dKX^sFS^NVfiX(W{u[m(DGM}e9X3POA}޽#OeJ&:y,=+e7'YlVS2Jƺ2!+4Kj`/zW1"ؾW h3Lgu3ޢO~j*#[Ï?rB$y4788+V 3i7nzl H;:OdH'.qa]HKAg$ ]7i.Ht9(D-$ya> NdPf>ib*2Jv=nvΰL1N,1S]My=ENF\%(3/4 7A_p|f3ʚ5~"V~eyƷL{a:û EiP^>Qt$Ex/{ R܊!mw'HQ:BS&GC@9mxZ*ivZ)JnOh$w^Y=P iEy-?'MuWIWfJN-E QRI I]B JPT 6Orv?y{?.Xpx% [rHƩzL!.yCgflԷ8ep΢tWh3zۻ/R(-dy<,(pϲҎ(D3ܦH^P bt+2utO;Qo8W(hKؒb;8{Լio+)IC|^ok-- 3ZO/ffP#ZVQ42a 9fdVy&J?*Fl t06F lwH@֞/գQ:1zG԰O^KabdNAAh3"H6CH4e/I] 2unChZol,'օLJr[% H䴑v ㎈U1 @/RXdN*Q?h^ѥAD-LEtsFV{jizs~ϊ}QWgg V(#:5%'LQT@=3̝wNDq`r8?%6pd8ow/ra rUgr}St srG G9 ȹ| K jtaD7})zפG\OD +f!iCۍf\sOYCt:Zz3s)H@_UgZ>&;cνqZۘD͌LYdEtzK;4F_V۾ 1>e"=[l]̃ϾB$ܛjf] )tAO{%n )$y8k1xRsM f6ϣX.m ?8W&,dΎ/A==~PG }nGn9*( +[FwsL-̙ϙ'Դ ~V3U)xL~s@vK\F'7U'SS)͹T AH_W\=)WIIkS ߹$)lr#/8{8LwBʏjD-TmwҎؐ>lU/x%LQE$vE'-soNW^-j^>[,f<kmnj$Ҟ>5`SG]-ұ{fs" g5/T)|qT2bHl. EtW.˱~e]yEVvaYߴ-*J{۴%KC4'*[+͋ORzLح -Us"Bs܁TlƉFd8ef VW;y/ YEtWw"xV =Iͨt);2 D0 j9 YB0}}6x+•e ?ScDH7O+>MK}ZyZ&DDN(K* k dY; EAϘnd xFXk+jp\Qj Zh/FLR^M]He?%OtA{&EiAKkQH)<[3{j"Rj=e'{LMs֎5; lOro~[`0~gBYWaݙ  .Ig͔qMk:ebҕx½۬{z85C3yG!^@k1[s:2!tejNd[I |ƥ'a<q5/%~,]^&+Sfs5='ў^,lC!#UN~ /ƫ6Uoh{ y?d9{6 2DpU`AiI;qnGkQU:O&SvkxBq`Nj)/[Wi)ABG3/׿b/v:).蝶l#+'Yھ?zs38fAe2vq]'b$М_Lql*ު{rDHITʒkv΢GysU3Os.L Ni2|"Jx$u FiYтC38 y1̯9><:pV -OWƶ3+7C͝?\}ʃIؕ:+_D#p΂ТfQ~X=Npg"u'\Ϧ'Zg0hVCx&~-ϽE yTeؾ]&qmX!{{r7ϬPV-m7n޼CtXLFgNK)ŗ}xpqrP78@'FS, [W^I"7L1!u}>y"OJb/L;+aצi:RF>qx|XLZ2=ں@4댩áN4Ei|.+=<(/7 !xDeA%:]pEUJl}]r ϋGY.~Sfp=_7:Mmwb/!ο#9m9+cKsҨRJlp|juF[Ra˛ِ4HxRs؉/{`Rސ/{K-/K.CG[0iVAep45*ft:2$9e@PmUH%iusF,6UL5.'_:})2{z) 7n FFtse_ /5/5jΨOԦ,/L;oC)=sFD/\|؉+{g8ہ Qx ) #6@ņ 6(-K}mD$523Y^3ܙ8 v~vEjߵ\/ZJsU,zW=KqaպFxL`4wZSK9}Vܚ?/O۟Ϣ@E,W]*Hģd l|YxF -ڎ OʐBlX<|LR_\%+WT";sCRfneܵ̚l~dt(;Ju˷tuf^!hZd~8AJ+e?rh!Z H1OSwShp G 00 y=ARa ^{U7r}2UvW2ԌW+5,2Xgc4` E 1Y[H-ꔷN>N~Y/s\@>b$b"kb0ICU2.(EM~^;=gOJ'gNJ}=Ρ\U]A d6@X"GBw8[W,zkA!da?0Fr3뒱+¿3voqnn5BCsZ™"|&Lio@ڛ`bEc8jEmk./[!V!\dicf5;]îp;zN`_'8KS0.uh= 1v̙bWj˞">/QΈ[='ˇ9gJx ^YXJh`F"'n֊`ٱVܟPPe=r^zV 3?^/ut<.-(96ʅ'bӠ/ 2{%aҗmtTmvJDp{}h`:,pquyo_mVH&7D[>*ZIKvT9w >eu6mNQ՜3}&Z ^ pEGRpUəΈ/uI*ޣyͼ0=wsŒIIy/ȅB) qCz7yA[Qť"J zOa[ca?x5x/AbZVŝYk]\! 4Ҽ0ȥf4~qE {lgY\FWt nUA1pba ;8#AxElmb)T/~-, e*1WXݱZd0_H֭F, 2˧}p.n Q6̎~I>*- sbKس:8OSR)LH Kꠔ~7G§SN^2.`&ZVmpD<.T+8ZFb-A*_Wݮ/[x[S wq;1ȫV}H:d՜ιv<"8ۤRǹn_ t3͞>䖈=@b!}xwD)ՙGSj"z|uzKKzvPfs-nt&c#K ʐ" KE$^x+D\$T91AD w;eM pm#KLfҔeo0ڥ:bWCF;ls5v {K`kN n$uc @͹3!%u 1nʔaFyJȣ~s>GVH(ʪ +-$=+zgx(0,5F⸔x>wkw@R4͸Fϥ?>Ծ0ȥ9*!k=ҶVI]K`t#yd(qtWS$CHOoP&bjBDIF%g9Ir7'nOķ:b]bztX&FfGrG}99,C|A T6D>|}Z*"opJywOs wT>ܹ]=lUy09xi&|f7_WʼQW*M(n  .L 8Զ3:^QZ=D"/0iABoɆ62_`m!않_FrvRU ԩHfkV\:F.&-nLKɴj& wB{Zs ]Y0_~AHǁA10Q~I%˥Bvt!r#dA,C8  a6oq; b4TvלO[K1 `/5ZQr9u:vєwoe;l:k5f/hAUӺLKuYz0:1AҎBsif,ͲRtqxAn iz].c;W߅Y ވb*'ZV'zO9MS[ɠlqΙTW,`!M;}bH_[29d^qDeKbr`t:ٛQlŖG&56T1[ǀR&7{[eq$KcO)r1~[b9h%JoQfjevH?n+z#>D% @`:a%Wܦq4X){%ϲ_򅩰,>|v>>j*LZT:Mr6ZS@0~ '4:1J'4DcROoa4>nu[ѐ8͞!ǰݍߙ O0u =fFe^YG}Ic5Begd|)Pz;DAI>5dp$ YoLfp-O6V^w|3"R~z6wORٽ3+;NVW'.{FQ#B"fM<:&(@Aa|ՙ4p`so\,_3ryޠIQ<"ϠWfdFR*Q8lTU%4{&cJAz%Y>%a0$D '{ќ4:2]n.Ii:O'9l 6X]ξ@͕^ʗBL-|E{īM`IT ku/JGX:Zr.^!p;w 1rt5T:ޥphEt`0?[va0Wz+oh<4{^7oy;C9 / =̜cYBniXMR:XZfTB~Œ/[(UPrd~/&"D?^$8cWh&_V_qZܕ>{5*J$h'2o5 fD0hwu *yis2)tO{3;֌ 5y./e97M\39IlTLLj*9JI&e2&UT)?~@>(G~DuIp!a\斀wFO`V)MJVuȘ_kU2E6L( J"t8P ;Ca_1xΨC-PHX,x[cDPC&)G2 ş5izЗ2M4v;slV"򒿎05[)bU 'ʮyS4j%1 %peƒ-hK\ݴ\uhl;!,VtL.ŀ U? qT:{h=,{n\4c?F5~  DHlxzCzwo594.Kus"6< 4C?syA"'N Wz @A2 ɠ>j" #_HfF # ctTG8 ̣ ieq$BUH8nTۦ)u^P8٧- /)nŃz_˔ϋNmj O__bBMveq-CF)QOFg= sPEkˮCLzDwC/ҰCTzNQ%'N]PE"{\mᨻ57fw:s쒏҉/~\~ &#εhj}uSP *FŚG9@,S+Bҙm'poE|!8BU  ttՖS'LJՆSPɂy"`O>s<'E3q&#vÑڜY+;"A6LcAy֛Ǥ(HkTr LXfXs>_+py G[j rhVX@k{pÑ$,tfmޞoEw HiOLYId@+AvAD]84.5aGQ|MURQ]N/}oF#djd̚iVB[X4iRoEeh,㉠,e[MW#X'd)WxB|AD `2kI;QӨu%ZEd\ѦvVss/,a)=>[JNJ̯G7n7N~=jږn$p},`$q.Zz[Nc=9 3=WMg8 t uöGCPcҗPcdpIpYgZ nlF G[i7~5cI ~"h򟅓v he(RL 䑣4?mUhSF@>EU:_io6Z[e/1\uFT7 /*k Íf7W9P];Bf[G3+9HB#X} < [̷1'M̂E՞ JNΕ!A Rѽ `WٻGNF{4]N)ƚ{F݋c4 Ae{KuE#;@pT~-ޣOްkND%O"9& G~qRV$R;C* s"Yވuc T#δ4|rrӕ3P@_gD )$wpNct:23>n4ߓkZ5QDMƢÃNzBuqR=Us*yIIIRBK4 '|sMu%cW[eM4׼1A3׷6 5,~ Fmd.0" ߦ<*~Msip Y kiA7Ԑ@h'nDHTC/;0(Qh#Nkf[_^1:ybQ%F^Ӏu\{j B+acԑ QLLFS1U9b8bDE|FĮ6 ;UGa;[ҒdIr$kwKnH3嬂0ggUG5Vf(<S )}zaoK ?KO֐-CIRb$OȁIri@Qm+2dnFϰo@gHYoŵӡBД㙯|ZkM1PIO!4XTz <[Bƒ0RYݽɳ!‚h8Zr*d)mk#z 4FVb$ӡ3VPU䗀d9 ⓬i.qk ͭ<sG\q&\K:8ZTs`W;nKdꪸF:%H* t[y^dY-|LF^]OQRȥqۛJy.bjXNʻwACE6Ȃ+k#tUي!jM/G"MN#e7q:y.P\&6LG fҵ%DW=鷋O{w`N"b۽<)wznObbk2:{`/Ë ־k+Qg-@ Pw(t=E3?+#!Dp*|LsYg#HpR"kY`xV݊i1wא-P&:# WR<\ ȥOY)֧8r!FDa=#Ҳ<+O 3mSM dGcwpR~82)1*ݒ0{ ØU(P*, tY[{) ۉ-7FIm;o `6ݐ Aٻ}SFoyu }on&# Zjk8S;rCzڮjqwYWA;ʏ.90 Kaz45}+Q֏wt8-}ʨCM5;1`(ܟN61}_e4A̚H8ޞdt/?ߐk&gfCƟg4-ce.teKc@ KG"mdk6h$B}ط45ԲO \nv tOmk2?y-p,M|bX&[k5gj"MFp#szCb|;9i\Ȍ񱜪݉F6G" 6+b0i[Y_-؝m|kV(.EV%GSN>N8=N{>)y2:|6!TKohٛdHykx{@x;(TW*XA;}w[ A(:EH.)CkB+bCP#27|K%*&{h?bO)yOb8Ƭ?pɲnDϝgdתmw Me.2cܡB%Ԡ[(pD1ODmI&L?Llբ"[bifoF!GJ"uGCX.vokծ5|7iqd|shD&<&QijVcJ!t*. 95MO:xŤ,G;KѼ"r-Wk9uWs;X|Gm`)<"82 eڽߓ ?d&"a :F)@: cLc}e碃1GNƃ})㮹aAknD@:v~tɚ𡧕_v*]IwVbwkSEtFw};Vϴ XFi$GcJ|NKY XI/kVtO(Rf#D(Yتd޴JO^xaXkx3Χ8uBF4c7ķ (وѦ:|.\W 2¤{`2Li71 ssMM@ Y(d]s|츎Fބa5@5 ICcl}rW¾MPPyЧO7-Cuɇ$@PH0r\f}OUxE^X]cIu>Z~۞E~%UDNq桶ٶI JR%U%U'0 \lbˇ!<х`;,EU{_[?QٗJmv}洄>C}!g,O9?LGg Wbx*ed3uim$Dou/3r9X)TS:7/=XeBe.vOVYq0d/2m.>j\*^fNqsnCd ;ho{&nI7-?Qoh\#XN>V\aǧc:~ohF=w2nXz[A d3XY9Z?[Rm۳:x*o>7;4u H~;>NqYGF<d]R~'I{ѶT0HUST%/'N5S8z$TÌ#ݷR:|TA`_ 'gAl;{a`-s 0zTp."ԉGS B_ jo<:ANB"d^!D/raXZ$τiqpoN 8į^ +0=xDLkp$Tωo/F*R B3= )hU:WvBfN]on`T3U&)f| J04/ZA$֭J>sM0 c0Շ]1!ПҶ}mmJqO#C.$, ,WfUJZ-\!/f:a8iijpA ɲ[hɩY[~Lǻ^7 4]wׅ_ul6X/y !Y.[1rr ?q-\8eXGLƳq Hĥ8ߙީe!"RQoJJeRߒɏ) EJyUId/d},n2QөTT%,f],Qhm: n)eþ-6! hKXVs3LY&K)cG j`kH:d݅Pks%)Wc- 'rL DAc4%M=X,ukӫAj\ьB@Sj}.C6["_S˧eo?t -vf 86O-q+r>!_|LקU܌TPĹ),,9D&*y_Ee2u 9-<$kՉz:LX)m$==tnV|U BÃ4L,itMDxRsB =@Â/lۃ봃e9˼> ljh1Q!gcVRbHh.0R$e.} ,!B|V?(SLЌIh h7J_%k">ۮXg@0?yA4Ц]g +4iFS%*C[hRy8HxAhA#_"hA!L &Wl&JuCXFY}O}&_z>"<v!lz2#X[ʺu0 [ [Ep15tڋXa-k>o87^ |4+홆+hTI}X+G5wB MypY 왕kQ ZnT[sB$rûLdta @)9lAzΟGuR;Mm~hbSV57Xn\E誌$ThĤ"" % <7lҝ3 fڢ6|fu~xoQ,gpWٴ^]NqEq:#d?qK-^T* PS9"(6,~v7ԱOݏVp°SX[Q ; Dq GA m;&7}\P^\ Ü2T~էTK7  j5ḿ{ɏ|sDuxsUVYN^~3 6Kz$ s?`p%!mYD0W#]5I,٤?@oC8j_o N4|a!qV%52 ەw *ymCOpʹk蛇S \rFkrR(=&Q( i֥GQDu!Jv$(]gRI  3vlg'{Vۆ82u96!oT* '^TVv\G58su}/~{ +n6Yʰ,%oh]ɪ K CFJ]&8Evu\t /(p̫sQ88he+ڀ/v / c\(o+ðPf#7oAU~^ *gBҡ2D*Yԍ؎U *< 88K,?%/ v?>χmIJ*n}#89$Ɩ\~<,AӮjCP|+8`s:Vnxo{X 6IUT*mUxk{,cAiVϕ#h749jbůK#M}n{+rMIs1OXS~Fe<H贇G@pAq>AjӈbSx?H RU%-c.#.c/.zh /'<n=]}V3(Kt J??cKK(窾BSNIs ޸JH`?V *$t7 zH3/ܞPc}h _)fj̔r*y sCY̳P)q.Tw@qp8<*iBOq޵V5uu@*( z /`z%3^ٴ͛ $ &B$t83P:^PnIeZ+uAwJDڪ֣!G[' $<1\}SX&ĮO*n% iq2ƙ-s&ެ[YS{)\$ahuJE!Xev߼L%A2L9V{vJuA ẋ0VYqx%{^4d@4[,K"hOٔ~kw0>ruoe{Fx3:]vtW禩F=w,'Kh2OX-F)<ݕ<,CKpIV/nlHsiwVRzژ;4'-)U?.eɕ"Ů=xMɥ8nM3ob8$n xG$P5T8OM|^ğŹ4p_]S0L11go0^D/kr| ZXՊ}|F^Ӻś3V؇myd]ㅥyasLI'O3Iɂ l42ϻ=X:۽Icn<̚FQEM+fe9C <^OeͿJTI4TqyOOI3k~f7>z=^mQ`HA!=Ӡ8.cvKd_ fNF/;L)ηMZ CGq6>DߪY0oҩK:&rCg:my49Uq=O]뿑m;޲?dw9Mja r'7lOUSB>JVv*<&C;T%6ļLR"埃&muX)x-L +hBG\{55}|RlZcFqޙ'>ΌxC(F/ %,F*?+[iǙ{{fglw&=U̲\t Rliy7G|ηg l6HkBwgҲzVKVd}i({)ly=ύªڧiLGe7S\]|oq"z1jk ky ǗCpfV7(u|LR?UL*r?)r SYXJbydqVO N;#玶 )XrTOv,7".Xq} #> LS"RvsCKed2{3t.jc16c,z#M7Rzk>ٓED$IՍy&%sr٢YdXTߊ0&tzrokV5fG뿊W\M49v6V߷0Mg5h 鑬vLTtc'son9͓'`Wn8v6QIE6 R )Arq=+5dF##Qqצ4WQxtq[mǮ1`&'0?f0_7/ҚR4e\$:);ӷ}JH {rٻE4NKf= %Lt-̲ڧV[@>G <ڝZ^%ep.h/YEjydotOI{Fo/|I;|7no ꍬJa>R <*ܠkSOE8C/:Qsqvg95 D "zJywl $D*_B"VsS|T.Ydw,ãggmNH)Li1`VId? 0C ClCv?:֠`Uě YX"9ΈvWӟ(*8ALgh".VyKNHlDUət9+vc<œPHeT,<ף6&zmKfcy#}R0&t:VC8 KW4YۅǬlI1&0M;)2fM|A˼wf/{Ҝ\;gW$s z&UvUk5N'VA H3i:u OCfzD0R)(c@T.D A{^[|\[ɾuy`,sݹȞ& h"|5%<- Ub2].oJgSȪ$o#ѻ3|yҧu=0zRb;B1M=Մӝ$j8=_B0lkPxU%?M8>9,T/TGϬͪ(FUsL1k )&zmϜ*n2\ 8,5~xBt$-(^&B{ TECC{Jfr=6fVD.){&I-BVWW1_FOxYJ\۹Lɾf-V„a"xѳ9=0Pc~~ۆN(O2_ْh.9%"Ep"=jzn -*x?Dl3 ,%^z\i9v>RԴDk-뫹˂,5T^O"a,YKܨϜ0* [U܈iZ& םg~]_!9Rä\FLr uYQ``z{#i4:΃F-@\6V0Zkw\M-CunQQx=L<}]< y1̩Ƽ-1U`,qQE?2=GsDx $!vh%"n$@H8cXen3z _XʞNO| ʡՐN665bv-3< &S~@瑬_Ts]+Υiq'Ğ|s#~QR'm.0Cm_ $?{1m_Fnͼ)kfbW>`L4fǣQ1&o'_m7N蕫(b rW~㭦&  ` 3E2Hr~Ea~mN$Y.,s[l1PWRQ%s&gszF6jFA[KD]Fi,&F)r=pZHS_EYV#ͿN!B4-HіIJ6)T媕G~w :2#8ݚ08}Ubg,/٭S ;gutG:qC}q=50V]\ kO%QotnIJ]cb!Ud䑁Sg❜h=96\Ē *nЮt*<ĮaL;/.5Cxr7[=LND0pL}j'{^" }ۀT7 ` tZ-]ݬ.8ּ2 f3HjWϗ(^\N%305!w A$p/ Ae0M{x?(#CH %@d@<[ٮz:wP Ĵ\eAFKcdiecv= j~oIxLfJ۽l{ dKN6rXD qFH3L#Go=K_$p*p倸I8zC"sbMÕN#V6k}Ex(E>B NvצN'Q{$Jo*#;%: '!9 IjxVJ%d;&q%q0L+/.CPH6R-ԡ>ɦTZX̴dRSǑ7G{gl-kqn%l/$n Gɤ7K.p.v-sPIځz-w0:Ceܟa 3ęU۷J|O>"fpˀoMd&AA0G~`$}0!& h/Ecl:꟎ɯI#h_XC ջkO{Z/3e-wջmCePC[¿߂.\DynRإ$gX#@֏_C{]}+BvrJ`eunCZȫDh0@eݩCM[PINM)"2ڸ\he[һpإt ,nkJ>mmn +ͽe=@z*l_pYz1qG³>pgP2',dk 2rѨ4(cLyv"58C&#n%k#l}=l 51aJؒx{ʟklbCSH$yLXDy :|ɕSH)\^bbQu:\*_ ڴֆLP!p3d R8+2gBEi&09fCD'N/.JUf;FգS`QR=,1$O菹COUKOAQsXe3&9r .ZQ؅<%Xb<&Q& *y\{ Ӌ)W, Cffr ' pK\=g{^.[]XO{09Ş{.ܮɐ &'Y߀'z+?X&!$NihW%ux,ij+qaʧ%hKNu$P:ߚ[ϒ2"q7$,0w͎Q@Cw[S1h/ 4Ҟl!Ob P DƜIPt%򩱔OÕڞ Jyt7,TsO,G5w!"s"z$a ~ ";~i;9yC∦{|qj jN ws0M5GI?A$ j8[VH_nH-dxDnh6YOF:h2fPJ7Vȣ%'J7r@&h $rbւHZN^0W;"AOU>쑩B:52i<{+ߝhZ vũ.95}굗XBC@+ülHϱ޽ԩ̜lQx!|9^nMvSEhX&2yLr*Ew9)*TuG}tpdsu*` VV:<~XWÏ깬N9&T%/ [&S(RZD-sֹ@,c#cNjDm. 3av5TZ:> =Fـ;[0}g~NjsԓōmDdwE _Ĥԍ?\& |6@!^VZax||ܲ@n$_in1x$Ar}UA Wh h5ɾD;O%Sw+^v|--Ĩ}rqSpq&kx5+Uι./=bHFNnFx!^M #5`%uL˜&z~`yѣ13[祔 c wY5|yccYPgg@S Ԁ͋TfnrG6O:?shhgB{< .pW9 TNULTtNt)&HTKӞՇ^]@LPG[F;,lY8'/7I6Y\hCo|YB7*hmFƩ6ܽ[3(fxtX ob d`G7oPpPB $CA/Ƙo}T"K@+ÔE0:me.27\ޫ:(E!_[q93MؗTA=zk` _JrT+ Ij7nQ 0t*A4lDz#RbZB߲`[9.WØԪpC pl>YWJ|?=Hc)F>aXJ_n6N͛'mg.'WDp?$̢k M?:1wդK/:#ԅ6}iei"T{ayFC;8_v̶_&C|IxZ& )f=~ż-32|<cU>:,|11@L}JÏDL_hlhZ, t#>`~8^:C>1۞ p%M4aU#ܼzZUїɞ5V"}ZVҭ )#N{v̶x(Nb'_a3ŏ ʾtif8[  DSY8WڌI?p@ncB=#kdngdDƱCK@MK~;Q}[ܚL>ﺏ'>(j%PG+$9kCo1~, 73*4ve[B6kT).vdFF1džJbN)I3̤Bifd#f?p2jU&UNs,Ł祅A)/şo/F/%BSY\#L`}iӍƇ--,/R$M. _J2I ̀v9E BG& {Zx!A9[L1 z wRFߎJwtowgnj]6SoO\eظ%:F12н^(ٰb_ ۶ܴp}Ĕŗ ڐҌD06U-&*W#.^djt&N{Fknl'uל[2hbo5_pK׫ny "NAXN` H5;ݰu) lwo Xiݾ.?'SiX-0U4iz˛V bO6AT&|X:Wf )y6ǖ!S_Hr`$옟!$ [(+PcO`Yt+ʕbSM7#B`s5n@+T2N,f8:Q.}^ky9?3yT@_#zWtㆲЪ+ЖE_8u]aSev@A!֤/lm#&T֑UܯO4jfX! *~D@@ㇷUzȩIp⃺)ﳢm/ɔB~D 0]ΰ_:s>LӕSU]4aܾi匯xt(;U t>cd: !;}U;n1JIO?19<:94#luG!QHg`.E%C%kNܶV$m2t`%;{8͘:F sdUѧ-׌\owz9 ƓFꛄe͗E3_Uu|.y3|C|~5!p 6FG5F#׳E7 k5 gM7Kp!#= Ha8]zybw*7nlwKw8],}l/iuU/ Bq?rmb@%;¿TT8~ݞo}^PQ۳ҩHc|JZ?q7 VϽB>姮ddX8#eCT}h*D`W{1Zmcs>{3wDη/~<LJI @D"1pUb&N`љDt>>He4!!DX5TO*U3xAuT:ZO(:EV0Tr؁i2w&3[*l6s54gHŠ"AwX$vu0ܻr@:X~goJo l#O!M1_Es&, * ƈ5FsaQꌊ(0a(S, EҠwҝ̚4WFf•酊U7+k,@_C Ι P=m E˯_:gTΘ.IqXY<7)vO,`5[I#a*KxEus"xAwQDAQ.恡xX G, aR]a$Ǻ ak`n"b}1(?(g~n1bD}d,948lK SZɄ jl#qq?SZVFʭZ./PX%maR'*6\ûV 2 gY@ e\`PL$N.1d"b( `6k,瑄} # 0)ۚ態 `{{YjsfXD"RV?JbM7%{{In6{жDH)Qo(J3f_c$BKAjA~ۦW<\9_4ݢ? >QDIͶ]d38KkD}vnкщe_{[po-K1cEA@ YlK?%띅)fB :-XEl/5,LGxX$ܲC@vۛ'y| sh$bAc[R7?g 8ezv !l: u49XLLeVܒ=KYF4iڮRFP>)hE tN+ Ep z|vś\N#4/Sz@LRWJ$twTʔ.[@I-箝yv h_pyt%Of opx"<'PRL!u[=ja>U!߮ъ `=q^=lSqؕ3#LU/"3_f%m_a !LԞd`5q6g7fTb!ĿJ*%Ѵ:!BQ h{pH% 1=  weƶ9<ەy7RYKv]H_'$&q銆6hmCZK{q~zܰ }ab uItSN-LȤCRoEa#(().*9~Sץ|^[h,JT_I,2uQh )}f#MvUFksY>x@Jx>v]YFꒂYdjX|^MGoihw˧OƎ'F;:CCks34lJ5V/'u eE9"+6NZzĄ /+?UVngReOh. vQW$n@QP-Tin0\pPrzp9(x#`Q5پ\3.gR+Ku*ȠGޖ&Rdi?r ϻ՘ngf''m)Nu+^iSpj.6ͱ&j!IL#䡐6y@#"<-Dqӱ)8䤮IkRk/*\ŵh Ƽve^ceԝQ hf2h(EYWLC eڐDM^32^7U!*Z>P*Kf]˥eK BU* @^!Ox1k~->saW;9nL;$5(7-1I52P8Ҽgk9IګKbvf,b7t.,"n޳5),,AJRa [-`l>dm] 9wWp_=fq%#Cfw-Z4KHh۔^IG[Y4 ȠB"gܭiQt5m}{ɏ&-.jntzD7~tqUN?PYb i(ظ{dB\{,LXi^IgM~EWay[TL77]ٗ]N'&CF5cS 6uBAI.,6^B@^i;$YM2piyTU\ ][@U!|y7##J[kNWa![Aj]+)<^GTqHN 9Ck'A,a/7-F*q3}!P iN1m˖D<-XBel|lAFF~pc0;~j_5T3KUvNF'锈.)ujUlރ†ßn HH@rC ZN jMWȢ{KB73nYv2tc5XT4->"43}+hv=l@v<1XcwRe $l6cTj5ܣ0Pdm Sl\ 7'vt:E)u^f~ғ'8*ѩ͐RF0,’]f U2=m^`]uRgm:%/q&b"@8-oZ}pװ.֫bz>LI7TR-;[],A_VAx4QXmi+bFr3 B ,lKvRSmpt Ql&neJF n՘u#FNf_9ιt˞X\4K̿9Reۚ?J у,/xxN-R*\9qӏ9yÔC M=22ϼ 4>o<ݦ[JM'8!}]QUWmsC_bU`'x9}dj^C ]uPkѪyCPM:&_ f&_ &Lir:2בy?6+2G_GdfONOMK9zlz#JnڳY&>KФgXX\0R&O[9pG:َ h#}n@] iJt&ܻH$!QxRZ,r.Tq$UeZ1|)X2,jq4BSWjļSm^6%DR795 ƍBtY|6A=f2Z[Վoo 칻˗t"(?jc0oMiUm47۪SDg=:+N.˖*s3]+ Gx~>#*1 7A!  $Nz^HKoi[Y:+0&*AF]Cm 9#$LTs{񺭫Wk dH=Zl{,+LgC"X:N/6G{>orQgF/!`0Y=m*׉)ph /O =[/Hu\Siy\I[x;QGe 9ԃHalRX,xb䦸"/}7K .Ji߾I{c`CCQE$72f,NhBև-tm~fFsw.Ia&9> K3 0ܫwoiSk4J+r$"HAMS{z{3a/cU$}`\N׻NqBٛn%lbg6oqqlN%8fVCU( Mb&qpӥ@iYX+xo DKKj* q}C`}QS~&%mx?h X\vހYЊfE^쀙~:15%'"~wM ]qTP _Sy7$615g ܸ2%C}'q+`5˿Q]э-ft tBs\_Wf{_yvhA>kea RRwMiĂ(Є!P)Ul 9,C[ţ[,NLdc",$**YP%4pa !0rw׆=`0=)oƮŖy|~eyp~7Ns ׫ \(NP#uLxy]+ŝc1r{XA|gۘ,&QeEr!; W\ Ћ}8P78Y,6 dъ 8O+u2z p0(f,Ü3dFΆUZ>_PD5Z8O"'NgCatN[ fsՂP-G1חؐ B т3!aȞϿx5EN_'Lj`~)}d2ATT޺ag[C p؍Ú{z NHnQ\8skF2drnjؐ~vG 3RF0oF{x^&Q_r"kAmc߉~dʔ"< n/qV;z %Ổ_9#|d X%2J9WӒ+ٚ]ȑ+`*G"1oNuT^J$ÄjXhYMq3x5+b^X.RǃW7jx.?ڕ[څ R _H^~Oa[84+$̷2rV:ƃXXS}Ftz/ܘ,,$ד׈%}J9"c2ٲ M*bMB+^iwDl^(Ɋ5M¿×U׿__5t-q~i/ϫ*T_E/ֹ4}gOTt#X 7F [0>lmAԽ\|rɁG?a .I6%8sk@ 7E+>38{]dA@t JijIGq [2k"aŸb=1h ؎y" mCl /U7(7?D>.11UH5.;rB 2Gtp(fjR]2^H&-7];%[_3}k`y|h$R[U퓿:^d4J VgCq$d=CzU&H‘J"X1aqݩ^=Brﵣ3jѐcdt87S"v|eȈ Fr{|}SL/e.jm&\fy. (XL&u"F]7EpyGBr3Ѡ'FB2#NĭsAc?*s^Ϭ)߲~[n?O=yղy[]aeʒJ3@&>^)~3 e}udqq`u!/3wyݡaagN1p^q_ctY 7:> ﲱ<^oYh辉3e8"[.^:q謊͜\:jW'  '8^6`> Zv:KάrKg!M>Uj +)u&Y !U!Nysn>p?+ "=w0鑟{$1%C=pVXKBJyPvH&k)E=s+"^9WO>0OR֞tS}EXauȁi#H7Ztp+/ptoRW5qr~D_kK*{{;ծxDq3\Qm2?bIxE&|2M̟vEC!=tlJ=)O1=F 2NueRJ|)dUԇmkݱ h>j>]i8o %E.ޮ?_V&|:zQpB߄h=)bF HFp[AG1Kmc4ԂQ6z(贕H@ՃuH %؟TΗV3gPO i 0YJߦ;F V5 鑭h%X]8/+ep$pKdzK:{6FZ߱clgh8f3^iJsH$d쏤Zۀf,gb9r֥YOa"/Mړt\`gQ9v+.mUNEުB_%iP߄Ɔ`yMJ߬Uֈ?ZG;15w|ui5:ڨުd{׹.q2Vfv*C,'9(oBb![5 $X++*uX}{5{ iC n}]C&;Pii3ቛdY ;?}4پpCc*(|U,yH.*g4U,3"\mi@^vm2ۖ/m3 (=gSˏ`I@E&T>I|Q+k((9s-(zF.Uښ:|,1]{k];4#3n-6īN|o<;qˑn$Ad7Ḃ#qGqMӧxjs0!P{MOoHY3qhtW :i\XG ;D_$vmuܶ¡@Qv;DSj۷~JJiK"ci͸Zk ;3ir{mKfW͍y0O&cG~(3s;3V=T!GlENl۬eg vڶTyKqtUeO}레_k)0X݀"S%J]]KO-e䐌_?Uõ$Hfk&%e1Ie0it>pzrbjw:Nx]h81 V9"rhX}f'8hzU#~|oi`tfjw++I<;|Ep֮cL;W_/5MAVӨ V2LfPQ2<ª y7$Ca)V)ȑ7ҢJ@(~}9E`J-6` ^;+J#& /ho3vÉun6vWDiTYR|(@ CO?! ?:j{:4)S#1}N*n]:R(oeUMR{*r~EM~,6'!ɠϳ罐srIEbb༠ ^_+] .H5o]O.'H{{l2@ڻWOJΨx 'M,ϴ_Jk]|[?q@kȩixK'+X7M;h(*snqd--q]֔O|w'el?8@eđi6op\(*Ͽ8.6.A_G[T|Ş/wE&re6ƂU>gN r:, ^k&)k71Bv7MjSx]þq#UKVlaJdqq,Mo=eUƢ|hNSM@F;Zwk 4 ƅ<:'ɋY 3`*j<g <=1[fȮ ;A m]G?u 'KAپ@eZZac4XE/%~y5\ o;EB+L* /2^`t]팢hi1`jt6(hCt"A9jdc6z68%AMu.X2T,C\W4Ok_2Q`,Nn2=ηqqsghJ OQb:{ -Qp_?rҚm $77Fj]2{?ދRģLu~Y 3ec2~=nܶHb' ^,歬!ܾnX6qS9>NN3V;fۭur ro`stَ^Ujvۍ[VmfnȮY-q+J2k&6ͅ wq/Hc9WXfs3DZjNh Mekoe ;^,%Ȧ,vňͥG~Hy̱9Ag=TժQ u:VHBes`*m\ׂZs)XWO2%፸w@$uBE>&@^H\R0X>v2CT.[MSU`N-;RMBuRrUUW|b֊>Mˇ)p"W.U ?u5$^O?\鈚oذYT[M9}3cG:KNǭ(/9&6IN 8p> ~>Jeyqb sTG hJ^Jp!w'`2ejyܗ#]1Vwtk!̕+/S~jYޤ;]nXkvwȦkO+&m/ *I68~>jmu7LT{ƽYRp<$To3CY4i) NFSē-WnDa̛2SN 4΂6$;8{*uwp~:h87{g(~Ҏ_ԖMTg7; j, 1![MLrC~]3k? -'kVDe d2NΏ\Bkub)9ٕV6yOٹ]_E3Bv lO?Z콈/1ޝ<8"K7I@%< }GNbU#bjd4bs,,D"cʌn~{7#UgA=\{e&714ZgUTV&sNQ6U{ئ޵7W7 Ҍp^|5؛oXH,/0Daݞu d Ȯ: ]\XG08ʌv+.7.|r, 6ə*) 7 ˠ>^4:Ìk=S%wM5SSK0Yuڜh.wad֎i^+ˏ(|MPMAF.oO0{jGÕFcv}BqOɏdPgR^km²r4*ī/q5c͂pXOӕcWˢ{$q%8bM:nF۱f_B YEOGCi3$.>B4Xj +nahSpc0j/^x۱b`ʒ p1ɘFBaE%ukCe qk|\vυ̥uKHΙ˕]%Ə?^DYۂyX SלVV{ꯛc7r g5ުd2Gi.k>,xh'67cxE*sFYL s~93DwG=<|%׈Ŧ SOj?XJGߟ \\ c2ʬA=7=N!k]X#y#҂eJ9 N"P$;0Y vCӉ t&,GQp!&]W=~P1_2XBPW\$lͧ<ՙ#alWTsy+_,H۪.6/M=EiNf-sٝ%ݴ<@Յp<_1< $0_Ntڸ`dJIՙ8,ʦ."&ՂPC[&lNjƵ.2my|e=`_6J|`j򖭦~|7hL8L>Н.X6Ӂc'sD1ʌj99%Hdz w@Td{nڭ\> 40Ik%fq{J=dnVtPn;he#H''2`H^HԁJ=Q?1hEAcb\mIu!YH >䔡eXKlx}tQ-6oGH icFLu\9 jJfG0ٜTX9 1b ~o76Bʎ\}_gzb =A :7wQ<?/T#n1Z8^֙=&miI>җ],\hR>OwP;.̒엦Jb\dXhf( Gtk; MC=MZ5f5)l!iugR'fĮ^bmb"xLӞDZ:fbp 2=udz'5_(,%J6P2cW=j.g񗣙|Cy wͮ iZmاFt]2yMng^ fڂrs]wYpћҔds9fw9LZ@QzNTQM[N?Wg`YN{)⣒A>U9:,>KFV{3]|b]C{ΔHtbyz@4QV;Vcҳg YR!_\YL DF2}iJWhb)M!t![a Rɹ $)WӧUBjK)AOFAĚ`GOʘ9:+2᫝fBퟁE)q#[n%C)5x7kAо[b+^&\[/$Gl-T&j V1vU &uIq)e{Cl틸E&ʼ6,5Ԃ!?բ05k^aTW<.8ɗRCʇ!y^=^Ncvc#uou47|-͇֗X*a9fz{8%9*ϜPU%g;WR`6vVGŽҠGÄ#R ؃g̈́Z<_Jlb-|W_郩Tڧg(!bYjU- 1~[}hn4lQ6LL#0h8>6ZtF/#Co aBI1K8MOM>k\Ml0V+nҩEGΰ=H֦YmjWRi v֋sCe@>6uki,c ?7iE>o%3 ;9M:(7)He$H4zsore!4dv½*!bG'|4c314,nYK-^jP~s9y2J_Ŵ8ؙ6dc2K|9_gRrS`mLNy/9z>oqlK 7I nٳ3H/< ;uiAO9}߾s]`!gJUo;o扻_8%xZEGjE`&ךQrEs-7)n|Ѧ6 ߃D=ӑLZ wG~qL@<5A_{9)=Fv8 M >U=9A^{`(t46v*w6,̟íG6}s|BvpϴbyJ7[` 0fNbTX;meN#: ='^O~KR)dK/QX,R;;",?~\$| dPkvso(݂'텚U1nq-`DțE&\o)GD c~^nY D#i Ҹ+w\nF~ꑬ=йG+'y v~OHk:q&-YUHWGsٗ&2Z ӶSYRMo`z_97,22C(%%Нo{?YݵZh pEc}ywoNM-{15>^ۘ#?f݅?w#ޟ XDs[ktq$qug7vrXsz<_?O٤҉e򓊐ԞNeГ?d*t-߽Ѿ㼻rK3+3eki:2GXکC.vҜC~=9=E-; ӺN 51텮 5b21kZCt>dPMmD\oުІrO2>?,kN9%\ j'uq+R4٧E$* ~$ *;-vX:rSLTkV{^%[nՕ:B"i}fth .-~hKǶw4cnrcv\Kwvg3_6u=K|FVJg l.th=5ӓK-MKwݴGtԆs&/r׫hukexg.Mf:ijz5yεcBr4yόV*^c߷:t;JZM^[&Z~A+܎ߩgf"}O1ҿffl͙e/2j3YBe^1+j[X;ަK!dKM[T/29 9W|JXmalЎE&m6Ӕ~ޕ)Je2t.l&`tZٜx䙳ca 2GztEm!v +ǤތcBEJ/ %bP:Wosd\v|̜~Z":CGy% Mz\~p g~9&3pz&h͈ d ZRduyA߫}>>zR_{ۓ"1` AO p{͵Xi1R9ұ`Y⒮Vre(o)ޔ;}{ .l4j,5<=mjrNǀL JXnBys" 7;l͙[/y* s`Wy• f;,qQN@g{_cƹ-Ǚ n-ь&_JZ:+mul>V3^%J"ny7n\)kv:~'W2k+ZnW8 l\\q{q}<dsMB0nWUIJ9mba1 Ʉ|B*-DU৤Z[uOK{7]7Oe!RuY*AF|]+?"(wwmYLЖ(賗[ FAM]^> ,w;5kmCClb[bIn07Cߓ)j'{rڟ|o,˦:~=h]bhP253=5bLvwG5rB@i-ӓtWeW)ۂtmlm kMn:"?k.|X0ȝ`iiic7|FD{MQс2ʔb;1G'm򫡢Ql?/rRSRQZY9dnӻ|_9dJ[4\/q61ctIȤ-zC8Ί'>z`h (r0^t2N b5ݶh B"S*f4 Y$b-}]|rsZԖ z63un;|o/KO%in`7Hlyhji9gXm7!|lP5KIH \Ȁcf;8T2??Vy`PY[̫VìQ.ۣ{WmapXYgl8c1>ZOqq*Phm)#~n˦L+`;tϲFD(dH D@'bTt; Gq\pj䟋ݞ|Rh8 K3fjekƭ*v$ytw;ksoߌLsL뮊 c,- 0MTڅfl &q~OwIw%@h+R.4/Qbr3$4)Gӻ9Y2}d`t*b 3pUIGIc.Ǩ1g 434mn-Is._OhՅ IH fgO29S@\uI9( 13AyN\Kyud4sQbnϫĪ07ˣ9'$! M(XGNa(b3tyod$S\'ss(Ü5Y'2R5,?BWFH_ ŢtdEثx7ZRf!Nڐm3יǙ%h[=cZ};+1ОSaRejX.ƴjSiOi̴0n_ {QH,E(eh_湟[OXfW8]zi *%R04 qI7 1O~ڼ@ ˱r7tb%97r`ĶS ]Yʹ36+3]NɞPAAeUX[#Ss)lRrDqUPQ; 5dzFw9_Z+D ۺ;٪5x '{ O ?bL:B ăozQZv]AV,N稠38&`eҾbDAu̢#]K,;DLnDr;f5?DUzP׽3kCӐbheטILsE3lֹU/40*al%>|iVijS}Cxd1Z%gDqY93bJqjǮL8z D\X)-sc=s{O:дfuߣ^_qV50ی?oБ]5l`{?ծ&";PlxxH jp`gjl:#;9$X{? +W;MxG㤏? SuD|6Iiy Tn$ HDgܪg ]=6OB6)Doc;@YMEWNU]{BqTǎO /3WCݚokiįg.?'|"5Rv,8K| \[}vD,EW įf0b׀K^*!3d a_â[;;t%%P.I 5J8!M:a%(lZ2Hם49z!3 D}GΆM~jSO{b~)~3'+.[Q[6-/6c3;_iU:T[[ceJU] Xs3* r>`mt-;8Ť)!$"xAfkU K[[.Qlk~QW+ߗk x1ʥ>kk[%t4"5æoVT#76ЄȽ; 8k P2Ca@ 2.gd@x=aw֟{a\7UI~[~ ?Eeod)PךU\V={~cH# H,ޝCw-k[Ae=WSi %]O:.*{ZoJ2pO&Lg}Sƚ*ZR=;p%]7׿5uژU] g@BOOVmٟkoO7QS{ w^VgWFd~Do0 ⼸Ƹ_.9}YIyii\iiIzJF+e_y8>ؗ!ب@,%=aOKRsVR&>ڇ`Vҫ*Ŵy:f"N<՜N/5Z(}lA¡8m[5W$fuY O3pz>V)43Yzȶ#nJ T1.oL`tL$3XL_MwR/B10 0&8ތoB` թ_>U} ]Q>Bd;!PwPfeNr4RSg Cb x/сNXmD/Sq~pL1cReON($j"K0i%R lSBX%$M̳Em%1/,"R-rT\IT+RL3>()U}YO0i;ed܀qjC@WP'ف}XyuM?ijim2o`;T llwʷ*#o?qn#Z̚<~wFezX K9v©lF9mFBnɿf(HDTόaٔGFy5_-uk(PL2fQ+sZ? ?vm?Zg Ufb}ԯSHRC=59?b%h#HθKy$>|`x~qסq~}+wJ7ow>/OS|v:1M %hi3h>s@] h2+uH 2CZ @gis"u]JbBcŚ{mn@@# @4g`@FTGnyXA''ȒQT8csIZ>=i>P"!By/fLC!-%qĵ |QI^m75~?`Vp-C`"sud,> ɩ=ONM+Jj^>zd_@9Cz157g8aDAxn7xB^ݩ.n\S|d)q$cjo*K\I?h$ i$ddb3\_]U(g-7K<(ndB(+4r%;j&}ڧk*hwUW$&g$!MY3sr}+v;*tqoV3ƚ#ѯHGd1-A͸NɃdMD.dXڑ}SZuBV]^CU%~1籫  iʲ%'3{zA)Zys Q{n=\iPd;%\p.Z9Y{m+9vd>%XY+L'Q>e<)ދm'X:PiJ'K;lآל*Vjȁ+","BShmœg71:wrS{F,:b9h",I"v#G*lÎ(Czʘˋ;.%d.{2Cu "pZXE2ј5OZ%M5˜rK]/$PEy͹d̵\>Hfuw9x ~-HFXsx[ rn(Y/v|I݂8!Se\xߜNP;H)~{+^):MOODx!cj{(GLGe=D9Jm -zutM.Ek<\#"a:I-^L[ߤ9Z҅͟Z,S.ӂ؆؁.Ŀn'@KR8?>.&"biwSL؎(/ z@8Ɠ/饋i'KHk"ڞ۴LMWk|@9ɧq(l(3e1BܶC(0h`W~E7d^1 GwLY3^ wTn\޶dU{dB&@TB}* ^3bV` eWNv$ !e<ܠ]1X^b:z4m]wkܚ- x$uȿZ#َ (p\~zXALMH ['8s x*vry>/h k_D:ȧ.?@1ԋ,:) ˼*0aemNb,ZU}r&<#Շjҳvs^=VIeKk/-XoPl~=E7=+>=`]/h[ǫ/سxX+E?/9D3tSZϧNفmm{ j6֯WQ(=O3+~Â3,7-Q<͸Yy{W ;d6ŝrtut#jox9G+}aol&!VPڶ<ӾhP@%mMޒ,V~]xr1l9$bnŌl<70 ꞁ_*>"ъ9B\T_jק5[_/2c´e/S12ጻrUltnB߯!zmJSʕmgPN5&/۝WwS>򉓚s\u:2||ZUbc[u3Ml_I(Tth&&8dxÓd)_HT,NL![ah]I >$X z:/xRVd=H ҽ!$;!d6K[oa!Da ͯ`a۞wD# smZ51mwڇPʼn]FDϜ.umߜrb1dCO74mQj'(VѾ9;2Qm/((&?C 0` JK-Š};µ -t]w"O #W):Q,Lޚ5-ԞUkk5nٶw&J:uJKwBgE&g//*/>h6y{r 3[yI4EX[߱n#j]%Z-tPDnW|>ֵ:c},#GxSUYIpFt1~ȳ>{ޟf't,/l&Y_"fŤ"efI"Qo?k&TS \]?:u5¨46]5Ө[Zo1Tvϯ?3 (Eq zUl1/H~ ][Ri.:} A HxYЩOGGY2)@L*Ȍ=1lIFS|mXv}9DXq,ކTACA*Qɟ^r|+>B\?wՃUڴӭU( *&8*`kcU:n=Eϥ*[:]e8, :uKRrT#YJT{Srdf< 9(/g宣<둕}9[uB!} 1t0F%QyҜP(I[39,d ɋ U.\ # yeA"r>ĬT>Q6?yMl’I~6S+ubg \>ꯁUB~ȴS|X4J#CSU5~&yy!yUqH?jeLJDv"!"F*EFYKWԐ(XlnrݯW[F`2l~NKZr<؝;B,?U*-Ýt2c?->HYpCيXˈ'2lFYo.b.rVOԧK_svvӅ&c~:;gCw=yoޗ`>#cH,Zpwc_+xoD1&ߒWow88dCP"I"  cPL8(CwNӘXHfIwxO|dH}Kݤ|ڇ"XCpx/_:cQƮIqc)MY9Y6g[o^ sy|tA.CWEL]IuD*T'K= tSs>&&~ʭW~ntQv8z.BGn{~}0OW%_MD&-g"oGճ➻խۥï(M5@,ϑcay޿"%_ s{J^SXG%oT>X2N/C ۬mA?i?%^p="/.l.uRc#SnzS~\A| -/f5oؔ ֐ ܯsGE@lk~{o+0 ʹ!0o}ʏ)oʗw[%ǚx3{}/W?zT'GPIlb0 `|q=d/+Rr^@ 65/'5U]Wku\V|{W/p|4/>!KKy1 ':n>N2uXg^U!٦| @Ef8?B!_M{禋wV]{<5dxԱa AIǖ|I>_s%[Cc}[ FdX<.=A/$Œq~]ќ<)h Mw$ق\IAli&`[NVB%Wq[oNO0wՀ\TJ5.0t[]+Ro$J9z[$w/5>.e)m]Qw}dԑofGfdAW€˳{X'ZѢb{Ƙ3`Mr$P$bR歡 $nE(r| W>I^s-lt趺2WT؎rss`hۉ-RW,&1 KH.\ aWG[%l%H8Z2Uu I`V@\MX!luj0$~*}%K0vTP$ԁӝ`BuݹS^ |FWO EJX8;3z:̴5sZkz|3W(Z!밹{#"SA*Vg`, ܣK 7WMCLOG]))pݵ~J> -KV_:UU:p;vٳfQ񞙳OxTgA9E[#[J-.xMqd]`I>`LWtVfw>oM;EKx# od[)uwEM?6i~bǍ ڜniw3npk@хm{7##I7HDS%f{?)Q5A[3nğ{엫ujKG>+q%`M04{5=8Ĝ΢DOv.IBXRFt9bgG|1梯?ԠaQ1,cė(ml''#"nXNV\ 1ay>[T,}=F.oŰ-ЋJڮ)@Fh(FޖL- R:܄H]%\ ԦV]~2 kyRQ<8hX?5RRC-uM hj>T^K]|>1境.%0^ƮPgz1ˠ7JTd;CY,нz 3cjԺ Y>1Z`03>) j4Z ]eQa г⦙y9]#䓦x@tMcIO&1xgP.vH$DX=bNvsSK 'yP37.V]A rj=ڋM5!EЕ=,]eR.\9WHۥѹX+fr ÙTGf\tzD`D#EOX*ZɋY\e&7llR I]%Ը *as#h%7!vy:Iظ+ǖ0wIU ԫZ{v,~O&80=l\=F*X趎 t  ;o=, - 0Ϗ<.ZY@j^pH=,A"F-F e]g;[9@9B>KFͅ$zW,x깝ẝw~twG!P>j>kձ- *}ޱM}u.>1yKwIfd8݋rW9Bs=-'YF}3)bW"Y*\["W&pl)s|!{^7<8K:([BN3{+`Yv ?w=ɟLwހ׭ǃ{I SHuia3Y.u(HׂHsm`mxq7'+; ^駱 RˌHGh!<6X_T{l"fфvQ7/LȜbގS87ԢaVrީe_wZup29ZGU5";{k:=!Ugr7f7dzOTvlkٺU|՞1;<`N+cJڍg I,Kpysk #f!JMޙ9IYzW)x\Գ?3Fz$vk9#iO+hږ2e]g`nUT\W"oiwl{!3 xRQ8sCi"NQ7D,Z_5&{K,h䑨,rR4+Vru6;W)R/>3mqGbua(AXveث #bAd46 KFt.2ZT@~C"?/) s!}2X $##_PՄ-JKO^G 8;+HTJ sMA #qT@JHGa%x8LuT Q!$w6KnAUc/EP9xIEXz<[Z*m_fĚna6 oHq泆^ O7%"GE7?(oºҘXSmyݤR%`b"pāXS_'`znA"@v[>PCgTe^69 L BP^h{a^l"} ?ٝY݁܏ QP>w\=uI{ _q!Tw9r!3 Ն7q+l;|P Qгϕ&E+N5fN-ceV{?M~Te/4ڳp ^9>Eh$kH6ϯ:RrqT [}$ I@cQ9Z%-9Y|:"2"A ob/qId#= `7H] p .BN]w .s)L-' rLǰg .ՎSxFծسˣJ RnR$?3ҽy{dV=KSJI4{T>9Qީ|<(FD!~)Y&>OQz'r̙p8@-A)TV|E8u}HF^8N斕lCH8<)e.&l5 hJKez86Ǻ$U95mu:uŽRI*ǘ]?4"8Cm10#g֨ <`).8wP:68^pVPB6ta6d\(? l.gƎӑ7=azWQNZb(0`cPs3׀.Tbesc`U˫ rlfXXY K3Q֓h x&V2)dHK$tքR O+Utcݚ*+狋}jϯW0J^>ܱ@_yK *lZ<@Wx`b#,gȾА.3ru!qf}oР6U{|phlٵw/0$Y<'5wKYDtRā`ñ +IR#?rkރûhĶ$8].u P C%jޯ9BSxḨBܽrj|eJ5GT u긅y;TtCqHET{V'HPr!brs@)>K؁YRE_ "l(05X$(%S:R $@'֡־U8'B/jHmj--b;DJ-ӋTfTvSPnyv=}e--&`-WV,3)4Ɍ M4dbv]xi[M8 "yxILڹ sX]ZcHdK2/=<+"ݥz3VHil|Du*|H&2("'%9 71%}3*P:3IMs&uzB,TG᡿ϣFhQ іbplshZ wvqfxwhaJdkf@ry;=rUtA^ 쟾{ʻ ʐ7jvKPDzAG.ux3O{g gXځֵȦڧ,Sn~t7ǚAfKQ,gANT;UJ7=qi%{&.2EUJ9SstC9Ƌ Jt@7bǴ3\I췪yb^u[W%I"y6g497NNSNcӯ[3 .w_idWoe99Vwpq̠3,#(|d K}Z*\ƹ ?y<$6Lk4mӫLS сq|$ר|W YE Srq L]i60?Հwb@>k|FvM?s^[+Z=v25jTp%7e]c\=1;FJJJ*|@g~pFirx&E+-bXv ϴy,'f6zj?whd#nr\ށT"~I{lMx^5mI%[1̬!,9]2vҏ8ߢ?[@|~2 95,-)g<^Mv0ucDa ~yU=O KTDWqHp$?~-7y<;#LO8 b\&s4 tIƠS ,vAaW&HCJ\؍7y h) 4,tprU|{2qZ^ؒ_Iŧ1Ie)؊3}~$e_Ռ`oS`&Qxk7֡(a1.Ã%(W,*=Cro:{t8QLP`8ַ6t^K!"b.EVAqgltoըUc=3mC7XVn%ئ10)b ]˂YYW¿#*yis}1к3qMy#T.h3J,|j=YF!$+=g'G ]EkIeV>l̤Z*ACX պϫ*&l QnDpi=0n:BG|lESf E5b5{E&`/i9d2JeYeNˠG}p~[|hg.5'3)7arӔc _ߚO`osxc)RO(وizӾcӫZ.ͬTg⳵>3Y { u,&F3 u=wĴ3'76jPbZmIUn 5U&ElRT V]& {`p55MB(%LB1ǿ|gA5f }Q k}bZ !7Yӌr?$Y2N0rIvn=oYN$5ZLH-9)1tm_G{B3bg0NQ,WQ, pTT[ j[Ȣi<::p5y>zpO%Er͆ Vc-v VkW[Q[72É{&Nn CQ5z5ھ+lۣB3Ż݂6[ai?t_U<.f fvo> \uՍTR?@095_RKW$d $LJ/Dڒkfow@QB7R5/cQ=g6jzֈ0 hSCT\؝xa  %#G |[ToٙBA޼7_M+1JhV]9!#4CA&_"lko6gdX,a{ݼe/IL^m`RvkտVuV+Iy<@J5CacV3|J@?[tszXXDHcg]Ӆ#n*5%؜PdyNh}%#n Da01bjoQ%XZIZJ -[XnA L.2 $N;T%$~cx(?i\_$tfnQmXM@1GwvaX:^{3af7kS~>NFg"Z PuyajZ;@zsF'\eѬVOv;7 YbcLƒ&ml7[-@YޜhѮX?p }%s\l9K[c/`-8 c5JUGbX:*z/lUBΔڼgíeGn<0lJqT#AB ,U-_z+;gd)Meb/$50m5[꬏\EG`se`@T^B?d6kTQ:Ej] zLcW[,Ko)nX1Hv<:MS.֙0Wu`u5zDNXM덶wxnWghs.)bw¡877LiGq6n{;B@##{ۂk׀!E; eŘ8,*& +;\#{ԳvKirOK@W; nyVdz-W>`)F'ٮ4@6+ۆ =x!PC,t%zؼ Jw*>%c1eOUbPK6}W|waMǾ*֘ [YqhY|u7\kVoOˑ]Ơ‚ h DZSxN t0GW8zlo+/3öl1$Oյo fht1GV~/$->m%+D! `SO߱ZUFB #Fh h*pj!ЌisĬ´ϨНv>ocEЪcQ3:5wMxQu Y4A  MlB"6u ݇ΚqN.8P 7[ٵ^JH$=Z,Skq,qХHҀC? (B< 1Z!{w I.RY. pi@t.u6tMLZ IUh^m˗lH m;9J KԙZL7u ވ HՒSLKԬ) %-4`dkf2q;_eN- ֥P'.'ylvF0'{X ?d*{+Ry;5M:#CPh/Jض6.L]P`I2 r30T/΋)`8v _Z)Aݨ15kF 9js '{ieY t;!-5Ȧ xYvP x.=..V6 /-MD!Pt|ϣ!xb"!=5s%e`! 3 )`q<}la@ MߤwxtD ǷWWZ|)(+'/W3Uյ5("6nu^vP5^P:en.C@(K2B;huzdXmvӕJ,0a vXKA( @,O($}DPit'g6 u݃d9\_ %R\,7m= Fb  $ "L &H, JlgbC0*@,O *PQ M-m]=}C#cYs@7L "L(B J3,63,6 "D*+*F&j;.`ph7C08Bc8FfqX/(,*Z{kU:g5 #Q5GuJO#_PXT\oiYyEeUuMm]}C#"C;ڴmn׾CNde7r1$/`dPX$4 #襁ъbpW465'[Zڳ`7ړ fD'BϙM1܋x8V-HȐŔPJ2 SA%UTSC-u@#M4B+mDgЕntGzaBR!A1 )a9^%YQ5t\oaZz~FqfyQVuv0NnNͰ/nQY^Uݴ]?jλx:_v\AaYNb5oD2cR8!ԡQTyׂP72= U>.!͐lDž=81жquo m ]=A`G Qh IL[?7wpy|P$U&W(UjV7M<`npD~ER4r˓ >ffa'ieU7mZon8ΗŲ~F1D$iӢXv0N\m?ԩ1\H,jYv3<ó<x7Ejoa`٢ABơv&6.>!1 2r J*jZ:KH/IF&HÆe9 \<|DRZ42,"*&OBRJZF 1jxv~LnWHQň'RTRfVLhKBFAEC-G< *RD2*TRF:4jҌ@ap%eUD1X@$)TdkhjiML͚aZaBR  L\1,6 "DڈVl:h2[6@FP 'Hv 0 #(4$2J;9{0,6 "D*+*F&j;@HSjPrQ!G9rT]THQE.rT(wHBPqxQ!3GrsTzQ1;Gy݋5"jБ"*ё"*QEE,+'HfXDIVTM7L8!-(TOEYM8֛eq|XM0A0*D*T05!+`4I?v= 1{,l%G]ncICJ(*F&j;.`p  $ "LN.n &Wi"NerRhuzdl?  8 DBLBX"JZ Fbsuj  ୩W$2J3,6 "D*+*F&+ky_ AF$RU(UZ`4IfwPN ]tsnQ0-0 t+Nۣ^wDI>*iQ R;B") !PW@,# |p $M/JH̕G}9[6E1$O Ȕ& EbT#Vhu!A?KLYȕ'_B~&Zl#iA e\HE얗8}|`./LPNo0p I (Ɋz? Ӳ04ˋqu$q "QƉ<1NOk5?,"*&OBRoASBhĨ1&La`noRL> !( i3JF{%ב\D#v}@¡ر[[[[Oq`RyN X(b5xy1G XbBPVJX` 6%t)a7;ٙ6O{>I (Ɋz? Ӳ04ˋqup7 fJzc6:NRDVelQ ѳ$iӢX:' !%1m?b|F9}0erL,VF:')0"JdKvt|)*s^v ]t 7q$-):e|JMbo|J7x2sQDBz'"٬s=q#9Y/f猓,ޓ|мg wT}HADrD!%Mw"YY[9/YCQߥx,5#iѥE9J_E}|-m4L4ݷʩZኦVit j.kN6ȶ{>W?=#eN^KfXE}mV_րã׍"66W _ <Sm~1K;΄T6a>$yQL(B*OWU6^kSp|D1 VGqD"ɇh~" 9|k%뱫hxu*a&,a]K6M^7 P5;ƃ+]9h;N`zХ EcQfDiHt^WfjjWg_nq0fhDC,oC]]5th)yY 'ElK)~y™ S'|Snu X Ve-O?6bɄbj|fS0o~ D[.A Q6c2z_~'~_~7O{:?a!:-/svՉ1SPGOB,H/p Hwhێ咣#5+0q HfXN2yZAR4r$S1Y3/ bF@u:U]$FNS dp^T&=vZe ڎ崘,B`APtP?s5]ɅA Ҋ p-SNtllVvЙVS0U0\ۼ- vA?e!geRy_w)He6N~=eB)BI}="mln %ߊ~dd< T6In%賐*j>e%S5.}_7qdGҧM]!„2.򴱹rʸRm;:_CnP0 @1k q tySx P0e\Hics&q!͕D0.򴱹r2.򴱹 ʸ&[ aBRy⩗pkڗ\0/ Z~ ˜k썽w˱Iز@EWX@.4詞uǃ>N^aj,_4?l:&c6N=c޵ܿX@Q$=}㱞B2,guyg3v޷Ouz}s!z-SmXMzty5t6V1Yy5of0ǁ?!T]aBRy\ ?WGSy?Z824B@`d9//(}߾NysZ|r + ī8iúr }Ҫ$Me~) Z[;8 wk 1[ ܌C#_vK:(޵oɱث謬ZXQeڵZ)gAn7:b<̋=@pn}j-=̶FVX7SHY&shټsJYg#cZ"}nt@P t34.* + `NtyՎ[*<<+ At~7t< ARkjб5sl գO`f̔K_v0ɿYPMc7 g`f&oռ/M$1 Ʃ.wnP]{nMBL)T*a+ ~;q%Bѥ9u]뺮B,߼U3N'B!ȔRJeJ)~!4>Lt:SJ)J)LRRʳP.zoa|w> ȶNC`=Z$^ޕ`7~0hS&z 澛CQִ~?7eiLYg]5keijî~ F)W^T跺Bs;7x4= )Ͱu#EQEݮGó/2*^tL7LFt\ySoǭ(9$' d"H$%J(Q F#ea#,,c-]XMU=՛!5νϋG(9 N8L!Cf8r(D( hO=!\2kq‹'zV`tbB$dJe̾ ZVkY½ѵ6r;(*ZOЗqvB0bCa4 %+u #SqGB0bs;#%+;[8F2VTB0bsPXeY>@FPl*]nP+$ ]-ǧw9$&%[$B I)iDȱXDRiZGWvn?^Mg y>Z/[h.$Dr,lF?"D*Wi1q   W!Eb rWBX"m!!@V BX"P$Hewi4 J@(KC]|Z JA(KQiZV!%Rٶj̺Y$$a#zS8 P`h@@@@F; Z@MewNK?SĿLqfˉ#b fظ!] ߸$īO;ksĐSLl+rgFz>g՗vWީ&1c {.g1"U1 JH βQ6RU+{+/J/SUp@ s_f<[?WrA460XhQTjDv> vp 9g#4ػ1YaY+CM!4F~/V0(Y:M;{e\;rYW.DK#VA۵ȴL;AY8/=ꪅ7 o=~3^Fgd:myV`$b@eUcЦfPq&hU|'meeK [X0$DcD+W8"tFWaV_SHh ~X÷/ȍ 8%tp78i[8:Gdw K4S}x省UtNܜ, <<2%C4"5EȤ}ͮo#BEu^CTD,%{m4\hU*Mvҵ+^UhK&Lppi%~潌V^KF.07L1Cr#nB[_QͭsG!c} iw۪Ɂ躁9Mkk۟g2rd2~f$߆6U^Җa[*w#*۷~ OԻ:<[=ĞAQtQ%brXz K6c>a zñ&*P3,.K)7E,f KYrVpr%3̬T C$PBe \fbV\ 4E;w{cHT{W[qYMDԲu3qݑxbH]E7Df!WVy01ۚ~wVc~7OKfݵ-<2mG?MJ(7eqOUExOBlrͳS /|UU@b/.Ԓዯi:|'ɄN˕C3R^S~Ħk:LmV˺G|2Ll26,ʵ]GiMm֖{ۻuCELC[[Mk˂G{Eq?xmn>VRM7#m_&M**'xfbU[6\\\õL*g]Ŏj혹ᔃH}6ɾaf`_Vg|*u;#|#|>zls->ٱ9o$݊&54D ̬LXF?ףSC[kjx1Hٴv9Xk~裟o8ϥazo{>L2(>©y0;UZ7zޕ>΅ǏZܑ 6rn}uf]'_sh{OcN]#Μج;s{ߑ|gmjfXjej;(Zg}=*ƙ 9g zQw x梺7S1q5 ոMœ^z^y2OMl}؟v~ube$+\uVO4$wp-file-manager/lib/fonts/notosans/stylesheet.css000064400000000000151202472330016152 0ustar00wp-file-manager/lib/fonts/raleway/Raleway-Bold.eot000064400000502104151202472330016056 0ustar00DLP[ P rRalewayBoldVersion 4.026Raleway Bold FFTM|GDEF2,GPOSk\GSUBlOS/2gN`cmap^-Rcvt )fpgmZgaspglyf8C2 head,6hhead$hmtxlocaN?*@\maxp\ nameBJS,posta1a<#prepO((r_<^#+tv61hO61--in/QeXKX^27P [NONE   `2M3W=%z"#(=6"5Y3/:::f1,4&.;*_.1\,M EG >="M*JJYJ>J JJJHJaJJoJJek@s<R}<.I'6/>z=4Wrz\==.==<=\=^z=z=j8& G&=*O=2781VP'!3(.Q+MI+(#d;[:I+<(;/M#:F* $:s  YJYJYJYJJJ4@@@@\J.=>>>>>>4WWWW=e\=^^^^^6^j8j8j8j8&Y=&>>>4444JYJWYJWYJWYJWYJW z z z zJ\=\ 3"J= J=J.=.=HJ=<HJ=<HJ=<HJ<RXJ\=J\=J\=\J\=^^^=J=J=J=eeeekk@j8@j8@j8@j8@j8@j8G&sss$^@j8?JJs3JMJB<JJa= z^4JJs z>^>>YJWYJW ^^JJ=@j8@j8ek^^^&W==/qqQ<==QH!2"?n!//<!2M!!22M=?!<2&t=YJYJLeJ LLOJLJLYJ/]'OOLaJJLoJk;J<JJJxL$J7>n06==xWXe=e=:=S=[=^P=z=4&e=%.Z==j==@#:=1!WWg=A=GU=f:=e=&O= .'r]H WEMSzCL=0J)=0h]'L?=Jq=-qAJ=J=XJ=b)j04k& "?<A.<7.J\=| $J/XS+=oJ[=%TE<.TE=>>YJWWW/X]'`$Oe=Oe=^]]$@#&&&<%.L=J=@  R)"SzGTCTFfo4JJYJWYJWYJW zJ\=J\=HJ=<HJ=(aJ=J\=J\=J\=^^^^J=Jeeeeekk@j8@j8GGG&s =>>>>>>>>>>>>YJWYJWYJWYJWY*WYJWYJWYJW3J=^^^^^^^^^^^^@j8@j8@j8@j8@j8@j8@j8&&&&Zd::[:::86:85:#*kMZ:(==f#f:6" L " : a ,]&OJ~(%! ho   k)R$@EI:S+=>&`#  =^t 3 >j:(e5K2C3=8?aI  =5{z=?z{_8d 'QTDQ zDDDl DD RDDDD (D RD&<S@A2! :>J]']'\B6zXj8j8j8.=& \==88728=44n%*+`)I!J9$_.3"\,_(L " M " * " :/("j2!!!9 d ~~-37Y $(.15_cku)/ !%+/7;IS[io{      " & 0 3 : D p y !!! !"!&!.!T!^""""""""+"H"`"e% *07Y#&.15bjr$.  $*.6:BLZ^lx       & 0 2 9 D p t !!! !"!&!.!S![""""""""+"H"`"d%ljeaSQN-| ~xtzxrpnfbZXUONFC?><;:7.-(usjif_;5sW@=    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcZtfgk\zrmxluiyn~epDo]dQRWXTU<c|ab[{VY^s|@J~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSQPONMLKJIHGF( , C#Ce -, C#C -,CCe -,O+ @QX!KRXED!!Y#!@%E%EadcRXED!!YY-,CC -,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-,# Pd%TX@%TXCYO+Y#b+#!#XeY-, !T`C-, !T`C-, GC bcW#bcWZX `fYH-,%%%S5#x%%` c %#bPX!`# %#bRX#!a!#! YY` c#!-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BY(QX@cTXC`BYYYYYYYCTX@ @@ @  CTX@   CRX@ @CRX@ @CRX@ @@ YYY@U@cUZX  YYYBBBBB-,EN+#O+ @QX!KQX%EN+`Y#KQX%E dc@SXN+`!Y!YYD-, P X#e#YpECKCQZX@O+Y#a&`+XCY#XeY#:-,%Ic#F`O+#%%I%cV `b`+% FF` ca:-,%%>> #eB #B%%?? #eB#BCTXE#E ic#b @PXgfYa c@#a#BB!!Y-, EN+D-,KQ@O+P[X EN+ D @&acaN+D!#!EN+ #DDY-,KQ@O+P[XE @ac`#!EYN+D-,#E E#a d@Q% S#@QZZ@O+TZX d#d#SX@@a ca cYYcN+`D-,-,-, C#Ce -, C#C -,%cf% b`#b-,%c `f% b`#b-,%cg% b`#b-,%cf `% b`#b-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,] %cV`+%%%% % % %%n+8%%&m+%%&m+P+%%%q+%%%8 %%%q+`%%%e8%%` @SX!@a#@a#PX@`#@`#YY%%&8%%8 RX%%I%%I` @RX!RX%%%% % %I8%%%% % %%q+8%%%%%q+8%%8YYY!!!!!!!!-,%%%% PX!ehY+d%%%%I c% cQ%T[X!!#! c% ca S+c%%%&JPXeY& F#F& F#F#H#H #H#H #H#H##8 #8Y-,# c#c`d@cPX8U>U=(<(;':'9'8&7%6%5$4$d3#2#1"0"/!. -,+*)! @[@[@[@[@ZKUKUYY K UKU YY2U K UKU2UYp YY?_Y?O_ dUdUYY_@@T+KRK P[%S@QZUZ[XYBKSXBYCQXYBs++++s+s++s+++++++++++++++++++++++++++++++++++++++++++++++ ;+ '%(J222222Pj60RvJx:|V:$b Ff  : R z  ` > \   0 H b r 6 r H"Hl*v8l&Vz$$>P08@Vf:zTdl$6J Zl~$6HZ&8L .>N^p$6\  Z l ~ !! !2!D!T!f!z!""("8"J"\"n""""""""###&#:#L#^#p####$$ $2$B$N$`$r$$$$$$$% %%.%B%V%b%v%%%%&&&&&:&L&^&p&&'''"'4'F'X'(*(<(L(`(t(((((((()))").)@)L)t)))))***,*@*R*d*p*|*******+ ++0+@++++,,$,,-^-j-v----------...*......///,/2^2~222222222333<3D3X3l3333444D4r444455&565N5d5555566b66667<7N7777788L88888899929j9r9::$:6:`::::::::;;T;\;;;;<4>(>\>d>>? ??B?l??????@@2@@@@AA*A^AABBXBBBCCCXC`ChCtC|CDDJpJJJJK$KhKL.LLM M4MHMPMpMMNN>NpNNNNOOqqqr4rtrrsNsst:t|tu&u6uFuVufuvv*vLvxvvvvwDwxwwx xFxnxxyyjyzRz{ {n{~{|$|p|||}}P}|}~(~`~~6R(Nnށ*`ʁFlڂJRZbnvĄXƄ΄:܆Llt|؇FވN*~ƉΊ 6t*x:z.VdҎ:TxЏ܏ $0H2. %#!"&543!24#!"3!27.!@ 4 ai4 8 iW@ rr++23/01353W >=L?320153353=r+r%?@   ?3?399//333333333301#3##7##7#537#537337337# .l/x-l.p!z/l0x.l/z w!dd^牉"S/ >@@ .26:!  ::++!! ?3/33332?3/33333901%3#773.#"#".'732654.'.54>32 CC 09CC%5> 89$H6Fg7*J_45ka)= .AO(8:.S7DZ,FvH2YN@#  t*&"1OA9Q2)w &# $/H6Ic3$#/?E)@@EE8((0 rCBBr+22/32/3+22/32/301".54>32'2>54.#"".54>32'2>54.#"  .J--J..K,,K.    .J--J..K,,K. !! %=)E**E((E**E)C&&&'(E*+D))D**E)C&&'& IV6(<@,; $ r3 r?+2+2901!.54>3232>53#".54>7>54&#"*33Y72U6/N1$;! 9#+Q@%m:b|CIl;4P(,< %!+&b-A63M*#F4/L@,10*MlC_g6;`88TA''!-)W= ?0153=r" //01467."V?f+)E6b)E([ej+Rgn3P]1?//01'>54.'7(D*b7D)*g>V[C?1]P3ngR+j3% @   ?2923017'7'37'K/GIGHF/4-.G:MM:G"KK/v  /3333301##5#5353vgyggylqqlqq:/99017#53I*t)sww:iO/20175!:/yy: r+201353:n rr++01 #:15U r r+2+201#".54>324.#"32>5CuJJuCCuJJuC8$%88%$7 %XNNXXOOX6Q..Q66P..Q,;@ r r+23+22/301%!53#52>73j &0033%yyy/ }  >&E)@ r' r+2+2990134>7>54.#"'>32!&#=/)>+()# U/AO-D`3(/2& 1-H>7!! b!+L3#6) ym@.@ 'r/3+29/3301%#"&'732654&+532654.#"'>32}*>#@uOLu'LI5=@JK=E--JTI_4Dg: 91L.>\31/_ %1148d8*$*&^-,P5'F/; @  r/+9/9333015!533#358O[XXܭwSx k ;"@ r/2+29/301"&'732>54.#"#!#>32M| MT-$7 4!!9uR^ ."Cj327.#"32>".54>327ApG!:,$B-,LM'qCT|C@uPJuE"<$#<$$;$$7.54>324.#"32>32>54.#"0GvFGuE"3)*FS)(TF+)4 $, 7"#+ 8"/--.Bb7:eA(A/ (4/J32I05) 0B!'0 '0A&%$% f);.@ 'r /3+29/30132>7#"&'32>54.#"%2#".54> AqE"9- %A-,MM'rCT|C@uQIvD#<$$;$$<#$<DCk?$@[0+%T6:\gNBpA%=$$;##;$%<%E rr+2+2015353EmmmvG @  ?3?3/3301537#53Hn`*u)vww @ /3/3901% Z >w /320175!%5!>99WWWW=@ /3/3901%57'5Z"$(@ &&% r+2?33/0174>7>54.#"'>3253z $!-*+. W?S-&J<$(5#lo 90 +&$<):0J4 2' )"銊*n[Uh)@^'1 fEL ';/22|/322/339/3012#".'#"&54>324.#"'>3232>54.#"3267#".54>>=.#"326Ji<!9+$'X3JO7W-(:2-)D%W0AJ! ".VuHFvU/,QrF/H%)Y,Kc9>j| <&0$0[1a\:B;&&%O=7?$8G'?I"`4 '<=FwX0/VuECuX246dTY_2 &$!  D@'     rr++29/33399<<<<013#'##  BAbf:%J&@rr+2+29/3901%#!!24.+32>32>54.#>i>|2I'42=G%)ٸ&#32.#"32>7#"./ZSb#j:B 4M47M.!D:q_v:L~[3hA}g=VEI(/*DT*/WC'0&A5J&?iJ @ rr++23013!2#4.+32>JtNVk2^CxxD^1_blXdEi;,=kJ7 @  rr++29/3301%!!!!!7+yyypJ' @ rr++29/3013!!!!Jyp  &@#"" %r r r+++39/3201".54>32.#"3267#5!#qE{]44^~Jd$ga9-J69L.6c+YOr8cMIb8UFL58&BV03V@%86` eJ @  rr++9/32301#!#3!B:/J rr++0133J: r r++301732>53#"&'& B-'2 4iW0L 6V<tP`4J @  rr+2+2901333 #J*!ZRu2^J>rr++30133!JjyJ @  r r+2+2901!##33Mԓ[.l:J @ r r+2+29901#33#Ԋnos8,;'@ # r r++2301".54>3232>54.#"yN[25]LMZ24]5M12N45M03M4hDFe:h.VC')EU+.UC')DTJY @  rr++29/3013!2+32>54.+J-1R="8bC(+(DT,32'2>54.#"73#yN[25]LMZ24]J2N45M03M45M#=fDGe;>hDFe:z)EU+.VB()ET,.VB(J@  r r+2+29/33013!2#'#32>54.+J:1S=!:'(+(DT,-S>g4 "3G2@ *".r r+2+29901.#"#".'732654.'.54>32%5> 89$H6Fg7*J^55jb)= .BN(8:.R8CZ,EvH2YN *&"1OA9Q2)w &# $/H6Ic3$]@ rr++2301###5!]OMMy@@  r r++3201".5332>53wUwI"(B12C'#Kv9dEj,SB&'BS+jIa7@ rr++29013#":$@  r r+2+2/2/29013733# #37=QRzZɖw}|wX':* @   r r+2+29013#'#^h@ rr++29013#5N2Q @  rr+23+23017!5!!!%hyhyR  //32013#3R??( kkc rr++01#L:. //320153#53.@@(k6k'/"r+22013# 'pn/i&6/3015!6oyyy/I /9013/|7Vw'8+@!66$/$ r r r+223+2+9/3330174>3254&#"'>32#"&/#".%>=.#"3269fB!D;:+N++4m32'2>54.#"g<^u[=3T=!%BYZ 5'#=)5) $' 6/[/6+Lb88bK)r*9+I,.}   @  r r++2301".54>32.#"32>71@fH'C|UUz8"&?$%>&+"E] +Mb6J{JJ<('G/.G)('>#]/@+! rrr r++++332014>323#"&/#".5.#"32>32!3267!.#"0?fH'C}UVzAk'=#(G sG`%<%$;% +Ka6K|KK{G (<' (>#:(;!!;@  r r++2|?333013#5354>32.#"3#]EE+O5 A ("$f A_4e 0.%fv!>"6!@#- r r rr++++33301".54>3253#"&'732>='2>75.#" 4W?"$AY6=\uKTUv*I[3+G+_(" +52$'5)J`69bK)7.\ No;94G%*A3B-1k!}./9 8*=$@ r r r+2++29901!#4&#"#3>32$/)6+ d;3@$&=<1 28#;I'= ??2013353= U< r/2+201"&'732>5353%D: 1Q[ 8X0=2 @  rr  r+2++901!'#373GӎFF<@ rr++20133267#"&5<" H?E$f C>=k$%@rr  r+22++293301!#4&#"#4&#"#3>32>32k+&'G+&'GydAAI c>1=" &>;=1&?:<1 a37@/69#;J&=$@ r r r+2++29901!#4&#"#3>32$,'7, y>Q-1?! &?:1  a"/#;J&A#@  r r++2301".54>3232>54.#"/@fG&&Gf@@eH%%Gf$>'&>%%>&'>$ +Lb67bL++Lb76bL+.G()G.-H()G=+\'"@$# rrr r+2+++2901"&'#3>32'2>54.#"w=]u\;5YB%;gp2%(5'$ )6 7/Z.5*Ka8L|Ir-9!8+  {0+=&"@rr  r r+2+29++01".54>3253#'2>75.#"2T>!%BZ4<\u7:u=`{V0 /, p6>+@  r r+2+29901"&'732654.'.54>32.#"Cz,0/[*'/1#:N'5_@8d)6(H%%+?W,r ,+W&$ $7+4K*#'U  &70NXw@  r r+2+23301%#".5#53533#3267w07%>%EEnn(  9.-gg8B @  r r r+2+2+299017332>73#"&/#"&8,+3+ $-#nBQTH<=* Em!*57i  @ r r++2901333 nF  @   r r+2+2229013#'#37'373pXVq~=[o67o[>  tࠠ @  r r+2+2901?3#/#n mq p  @  r+2?3990132>733#"&'H  ϋ| 1I- f1, }#9! @  rr+23+23017!5!!!!$JR\^R^*   //33013#"&=4&'52>=46;7 y# %k %^ kO~//013Orw2//33015323+535467.=2 7yk ^% k% #8h  /33220174>3232>53#".#"8 5($96 J!7)$;4 +/"(1#V  ?/201##5܆> '+)'@%% $$ ?3/333?3/333015.54>753.'>7#3W@#7jL54.54>32.#">323267#".#"9y$/ 7^9=> F }e=@%A?@#2Q/81R",&59D(89  d .p7"2 '//3/301>327'#"&''7&5467'732>54.#"65E7DE2H6 7I1ED6S+))+G7C77D2D E2E0:6E7././.@   r ?+29/9322333013#3##5#535'#5333Ix$"xJWCWW AW4VQ~//9/01##rrrvv+?R!@F=I@MP8 1'r/3+2901%#".'732>54.#.5467.54>32.#"%>54.#"&'+DL#(D7) V32'2>54.#"7".54>32.#"32>7Pe88ePRh88hREuY10XvFCtV0/WsM7[B$>\=Np ")!(# ' r26` r+22+229/3301".54>32'2>54.#"32#'##72654&+Re88eRQf99fQZU0VuEEsV..Vs])?$$gk\@_!Z6bNMa66aMNb64OZApU//Tp@AqT0,C$3' #! <yh(  r+22014632#"&7327>54&'.#"(;+-::-+;K  q*99*0:7>54&#"'>32390?*/(/# 3 2L/RT).!(5G2 "! : G;"/ Nu0,@ &BD?229/3301"&'732654&+532654&#"'>32=\*!1 '9AB::4'916B 2J+.(,42Q('6 H<5"".=)(6/IM,\ !@ rr r+2+2+299/01332>73#"&/#".'#M,.2, %- 2A$&  <=* Er$&3" #c#@  r+233/39/33301463!####".7%#3#&Fq3rEg8p5 7=33ydN  >pM.A%.RU:/01753:n7 0@ BD?3322301#53#52>53N '+QOO O$S@?3201".54>32'32>54.#":T,,T::S-,T'''(S4V12U44U21V4//-/:.e $@   /333/393301%57'5 57'5e߱ngmmAngmm X&'c*  l"392@76613&&%%1499  r+22/392/3/9/333/301!4>7>54&#"'>323#53#52>53  70=).'/" 1 2J/OS(, (N '+Qn=5F3 #! :!F7#".54>7>57#5h"",++-" W?S.%J<$'3#ln 9/ +'%<):0J4 2' )"銊&&/01&& /01&&/01&&v /01&&l  /01&& //301-@    rr+23+99//333301!!!!!!5##V"i՟yyy)7&(J7&*/01J7&* /01J7&*/01J7&*a  /01&./01J&.6/01)&. /01&&. /01@ rr+2+29/3015!!2#4.+32>EtNVk2^CxxD^13dd_blXdEi;,=kJ&3/01&4+ /01&4#( /01&4. /01&4( /01&4 ,( /014Y &@  /33/33392301%''7'77TggSfbTbcSbSggTfcSbcTc&4@&:/01@&:/01@&: /01@&: /01&> /01JH@    r r++99//33012+#32>54.+f1S=!7cB(,F)CT,54.+532>54.#"#4>32>Q!3#$&:d@8X3'AJ.Of8u47"1x! .  8W1(I3">+ fH9R3&Fe</01&F9/01&FX?/01&F59/01&F, =9/01&F KBB//3017IR/@NR%C%%r)118 r+223+299//332301".54>32>7.#"'632>32!3267#"&'726767.'.#"%.#"3Q/9eA >:5*P+)hs>\!_:U{Cf)?%(G sG`:Js$IQ!>34C)2%<&&=$ +L/2L+  ,/UC&$"(K{I (<' (>#;1&0b % .%%(<""<(7&HB&J) /01B&J& /01B&Jv, /01B&JJ *& /01&/01= &'/01& /01& /01D+3"@(/0.-12,3  ?3?9/9301#".54>32.'332>54.#"'?D)Ke'(>$$='(>$eo*q'q&s"FoN)@nE2VB%+#/YSO&#ew}t%;"$=$%9!";= @4? B=$&Sb/01A&T' /01A&T$ /01A&Tv* /01A&TT$ /01A&TJ ($ /0160# @  /3/333/2015353%5!qqqkkA#'+/&@+-,*%&)(// r'' r+22/+22/901".54>32'2>54.#"77'7'73/@fG&&Gf@@eH%%Gf@&>%%>&'>$$>g8IS17?AX +Lb67bL++Lb76bL+r)G.-H()G..G(l)Vb$4 O8B&Z!/018B&Z/018B&Zt$/018B&ZH "/01&^/01=+>'@r r r# r+2+++201#"&'#3>324.#"32>>)H_6-: 93;^C#8'*  '/#7eN."%2Rd1+I,$-:&^: /01&& /01&F@9/01&&/01&Fl@/018&&8&F>&($%/01&H! /01&(+/01&Hw' /01&(%/01&H! /01&(*/01&Hw& /01J&)/01 &I* 2V+4@ rr+2+29/3015!!2#4.+32>EtNVk2^CxxD^13dd_blXdEi;,=k}3(@ ! / r r r%r+22++2+29015!4>323#"&/#".5.#"32>T)&L= /01 &,. /01!>&L> /01 &, ' /01!>&L7 /01 +&,*İV+4!>&L; /01J&-/01=$&M /01!@   r r+2+29/33/3015!'#!#3!2BLL:/$@  rr r+2++2299015!#4&#"#3>32)/)6+ d;3@$UOO&=<1 28#;I'K&./01<& /01&&./01&/01 &. /01& /0138&."8&N  V+4J&. /01=  r r++0133= J&./=<&NO&/ /01<& /01J+&0ΰV+4=+2&PΰV+4=2 @  r  r+2+2901!'#373HҏG J>&16/01<@&Q&/01J+>&1 ΰV+4<+@&QE ӰV+4J>&19<&Q V+4J>&1{3Y<|&Q{  V+4G @ rr+22/3+2/3017'%3!!M!jII<yX@   rr+23+22301'%33267#"&5!"1"! H?E HH$f C>J&3% /01=$&S/01J+&3 ΰV+4=+$&S ΰV+4J&3/01=$&S/01$&S,./01J<@  rr++2/3901#33#"&'732>=Ԋjf1T1%E: =428T/[ *=<#%@rr r/2+++29901"&'732>54&#"#3>32n&D9 ,'7, y>Q-1?! 1R[ 4?:1  a"/#;J&8X0&4( /01A&T^$ /01&4/ /01A&T+ /01&4 ,( /01A&T ($ /012%@r)r rr+2+2+29/3+201%!5#".54>325!!!!2>54.#" ?L+K|Z03\{I,K=0J23J./J24Jyyi 132>32!3267#".''2>54.#"%.#"-N|GG|N-M>&hDNyFl'?&*G oI_6)KBAG('>$$=('>$#?M'<%%;$ GzNN{G7'==D{P %=$* )?!5&'5r)G-.G))H.-F)(<""<(J&7/01=u&W/01J+&7ΰV+4=+u&WΰV+4J&7!/01=u&W/01G&83./01&X,/01G&89./01&XF2/017G&87&X]G&88./01&XF1/017]&97w&Y@]&9 /01&Yi @  rr++9/333015!###5!I.O#KK*Myx@  r+2?3333/30175!#".5#53533#3267 %307%>%EEnn( PP 9.-gg@&:/018B&ZQ/01@&:/018B&Z\/01@&:!/018B&Z%/01@&: ,##//3018B&Z 0''//301@&: /018B&Z "/01@;&:88B &Zb&<U/01F&\/01&>/01&^f /01&>e /01Q&? /01&_ /01Q&? /01&_ /01Q&?/01&_A/01 )@ &&r! r+2+29/301".5467!.#"'>32'2>7!qO]2#6C%&E3 \zFM}\11[~M4S4y7W;d}A +G21!/8R/5#5354>32.#"3#%E: DD+O5 B)"$2R[ vgAA_4e 0.Fg6T/&4 (#V+4Ad&T6 $ V+4@$&:% V+48d&Z  V+4J &3@ r  #""!& %r+232923?33?3+201%!5!!)!2#4.+32>7#'%`tNVk2^CxxD^1UUFk`khyhy_blXdEi;,=kr?? eeJ &3@#""!& %rr?2+2+232923?33013!2#4.+32>!5!!!7#'JtNVk2^CxxD^1!$JUUFk`k_blXdEi;,=k\^R^?? eeU/9@A@$0669 =<<;@:?23r+ r  !r+2??3+29+22923?33014>323#"&/#".5.#"32>!5!!!7#'&L< /01>&48A&TJ&)?J&)_U&I_ &,x' /01!=&Lx7 /01 &Q@,        ! ?3333332??9/333//9<<<<01'733#'## 4632#"&7"32654&rV6}ČBAbf://:://:i#l:%*11*(11T&F'QKBB//3301& /01&xS/01&4&#, /01A&0 /01&& /01&FA <@/01&&/01&Fl=/01J7&*w /01B&J_ )- /01J7&*/01B&J* /01 &.  /01&  /01 &./01&/01&4 +/ /01A&T_ '+ /01&4, /01A&T( /01J&7j #/01u&W /01J&7 /01=u&W3/01@&: !/018B&Z] !%/01@&:/018B&Z"/01+G&86ӰV+4+&X/ذV+4+]&9 ΰV+4+w&YiӰV+4J&4'~0,,( //01A&T&J^,(($ //01S&4'D(( //01A&T&T^@$$ //01S&4' ,@(( //01A&T'^($$ //01&>y /01&^N/01<  r/+301"&'732>53 %E9 2Q[ 8X0;%@ "" r r+2+29/301".'467!.#"'>32'2>7!)V{B(<#)G rF`:@fG'B{T%9%'< K|H );' (>#+Jb7J|Ka"<((<"=_=`G/I /901'73V6}Iw5 /3201526544/::5//1*)15  /3201"&5463"3.;;.51)*1/USUSQ}//01#rv<yh/3015!<,ySS= /0153=r#= /01'3_"rQ~//01#rv!T'2\5?8W/222201".#"#4>3232>53+$J -!(%J /Z *- (/"!IZ/I /3013/|7Vw/I /201'73V6}IwUS/39330173'jajEUUuee ??W@ /2/222/01".#"#4>3232>53+$J -!(%J /Z *- (/"<yh/2015!<,ySS!T'  /32012673#"&53"GI:9JH$* :LL:,2\/01532y\~~M\| /220153353MoQo\wwwwT /3201'>32'>54&#")1(+!" )+0%  5   /32014632#"&7"32654&;./::/.;i*11*)11U!IZ/223301'73'73cB0hJA/iIwwUS/2923017#'dUUEjaj?? eeIL/3332013'3i/Bh0Bww!T'  /3201"#4632#.$HJ9:IG",:LL: *G/99013#57'q(?TT?2 /2017267>732#* a3?\ !.+ 29/01532y~~M9| /3320153353MoQowwww=+ /9017#53I'q(H^^H7  /3201"&'732654&'7>"-(49G %=,*9?8 /32014673.?24*%&'$2;n"D+L&!E'  /32012673#"&53"GI:9JH$* :LL:,<]h/3015!<,SS2WL/30175!2%PPy@ rr+222+201!5!pRhh^&-#@" r,,r+223333+201353.54>323!5>54.#"&0E&2]|HI|\3&F0%;*5L//K6+;%fQf:D|a88a|D:fQff 7JS+)O@&&@O)+SJ7 f=,L !#@   r r rr++2+2+2901332>73#"&/#".'=,.2, %- 2A$&<=* Er$&3" o @  rr r++233+201##5!#3267#"&5K7`  G=Ejtt f C>J7J7&la  /01#!@rr r+2++239/301"&'732654.#"##5!!>329"!5F%>'(V')*`3In<  k 9@+9Quu:iHpwL&/01'@ r r+2+29/3901".54>32.#"!!32>7{O\1.ZVd$k:E!+E3"7G)"F;qaw>iDB~f$n(F40&A5J&G8J.&&.l/&#@& rr++29/3333015>?!32#!#%32>54.+%5#~Lk75gJ+AV*t&//(sw$Vz7cDAd9M~si<u21L'@rr++9/3333320133!332#!!%32>54.+L%~r|6fJs&00(rub@c84p0.@ rr+2+239/3013#5!!>32#54&#"$U0r|=E(LQuuvϿCCL& /01O& /01&|/01Jx} @  rr/++223015#3!3#+ ݈M:&L @ rr+2+29/3013!!32#'32>54.+Lwx4fNȵ(00-wp^?`7w-+J'Lrr++2013!!Lyx@  r+2/23330132>?!3#5!!#&(^yR$*\idh^J7*)@  rr+22+229/3339901333333####<<Ϡ>?pV++'7-@' r r+2+29/3901"&'732654.+532>54.#"'>320W(gP6@?6)UV -1&6Nc(}]Jj;/3?!$DgH%6%Mxi+w Tz:J2J-4L@ rr++23013!#!L?:MJY5(]9@  rr+2+299015326?33#8 昿B7r#|5*#-@- $?223?22301!5.54>753'>54.'\@rX35Zq==rY43Yr>2T13B1T23B%@.RqDHqQ,66-QqGFpR-@2W?/I31W>/H4=Jy @  rr/++233015!3!33[^M<Z@  rr++9/3201!#"&=332673 *@+||AO#F ny?; ;:J @  rr++332201333333JييMM:Jy@  rr/++23333015!333333ˊيي]MM@ rr++29/33013#5!32#'32>54.+0Om:8jL)33+Tr8eEDh:p 5!4!JN @ rr++9/3323013332#'32>54.+3JOm:8jL)33+8eEDh:p 5!4!;L\ @ rr++9/33013332#'32>54.+LOm97jL(43+8eEDh:p 5!4!$)@% r r+2+29/3901".'732>5!5!.#"'>32IDpTr6E'0N78D66L1&D4m+jSZ/1])J2A!1%AU/&f%*N<#0#KDW32'2>54.#"XV lm YUcSV_=U,.V;3!##*#35#"7BK?>32'2654&#"B"BeB0H+hJFj;?yX>IH?'=$ = `V69m:1M:19#= %@ %r r+2+29/39013!2#'32>54.+532>54&+=$6C ').:.V;! $:!,B ?31?[T#= r r++2013!#=[ ui^ @   r+2/233301532>?!3#5!73##IuAƎ 5^Ii&AB[9BJD )@  r r+22+229/33399013'3353373#'##5#),,*+@%r r+2+29/3901"&'732654&+532>54&#"'>32Tp l7)/3*)67'*#-eiF7W2!%018`<51%"S 618"@0"@D.2E#=( @  rr+2+29901333#=z YP=(&f /01=$ @ r r+2+29/390133373#'#=-Ι+  @ r  r+22/+2015>?!##& 9Tw5`K=gO"= @  r r+2+2901333##'=T /S= @  r r+2+29/30133353#5#=Ԇ AT= r r+2+2013!##=ֆ i=+\UH @  rr+23+013#5!#ӧuui @   rr+2+29901"&'7326?33+ ' ԋ|8H j$%+ }0C$+$/%@ r/ r% rr++223+223+015#".54>;5332+3#";2>54.+1Su>?uRRv>>uS&;"":';!":'IwEGwHHwGEwI@5(F--F''F--F( ]=K @ r  r/+23+2015!3333hJ ii. @  rr+2+9/301!5#"&=3326753a='S^)+0 YV/, = @ r r+23+2201333333= ii=g @ r  r/+233+22015!333333KJ iiiS @ r r+2+29/3013#5!32#'32>54.+x^c*R=k##jl`O5T/f$#= @ r r+22+29/3013332#'32>54.+3=\_d+R=eP"#Oq `O5T/f$# = @ r r+2+9/3013332#'32>54.+=w^d*R=k##j `O5T/f$##$#@ r r+2+29/3901".'732>7#53.#"'>325]Gk@(%<)&;''>evQCfF$$Gf ;(2$%!8#W 6 $58B,Ma45aM-=&!@ rr r r+2+++29/301".'##33>32'2>54.#"GjC RR ClEUv?@vT&: !:%$9 9 7a= >a6J{KK{Ir(F/1G&'G00G&!@  r r+2+29/330137.54>;#5#35#"!/70T7GsWc^$*% L>4L+( *B&JE) /01B&JlJ *& /013F-#@!%%r r /2++9/322301".'732>54.#"##53533#>32Z$6&\) 5-,:NNQ4E^09ZC9V=FU'1*P{{P(,=mH_6=&/01"@ r r+2+29/3901".54>32.#"3#3267/AfG%$FhBQve>(';&(=%(?k  -Ma54aM,B85$ 6 W#8!%$2=DX=N&l<O0 $@$ r r+223+29/3015>?!32+#%32>54.+&b^d*S< 9TU"#Uw5`K]L4Q-=gO"l"!=> #@r r+23+29/333013335332+5#%32>54.+=Єe^d*R=TX#"W ı]L4Q-f"!)'@  r r+2+9/993223013#53533#>32#54&#"AMMV9bS/1.>#PggP(-e_880+=$& /01=(& /01&E /01= @ r  r/+22+2015#333#ﲆɆ i @ r+2/9/32015!332#'32>54.+ ЊOm:8jL)33+)UU8eEDh:p 5!4!'@  r r+2+99//3333013#53533#32#'32>54.+Xqqw^d*R=k##jSS`O5T/f$# !@ r /22+29/3399013!####!7!??i]$$] !@ r /22+29/3399013'!#'##5#37!̸ ͡$#fw8|A}@ rr++93301!3>;#"IF<(! B=r H @ r r++9330133>;#"cF@9$  h#=8gWv& /@ V /01+4Ev& V+4@ rr+2+9/32015!332#'32>54.+{抑Om:8jL)34+'PP6dDBf9p 5!4!6 @  r+2/9/32013332#'32>54.+'5!v{^d+R=n"#m^M5T/d%#YYSj '@  rr++29/33333013!2+32>54.+7S-3U@"9gE0!2~88&BU/@l@^6%&6,,C+\(,'@ rrr,++*)) r+23323+++201"&'#3>32'2>54.#"?}=]u\;6W?#"=QW3$'5(% *7&12 7/Z.5*Ka89cK*i-;"$;*  {4T-,Lbrr++3013!53!L;xƜ=r r++3013353#=w i @ rr++29/3015!!!YYy  @ r r++29/30175!!#^\LL uiJx@ rr/2++29/301"'732654&#"5>32%!!96""2DBK+I)(\0{GֈpEMGPx{y== "@ !r r/2++29/301"&'732654.#"5>32%!#A">,7-0!3&G&9[61_[VM>2=\5eKLu@ uiy!3@  rr/+2323+229/33399015#53%33333####9<<Ϡ>?⇇ypV++Z 3@    r r/+23+229/33399??015#53%'3353373#'##5#;),,*l'w71'@+$r  r/+233+29/390157'"&'732654.+532>54.#"'>32r;W(gP6@?6)UV -1&6Nc(}]Jj;/3 V+4=n &! V+4J@   r r+2+2239/301'!%#!#3!׉BMyyy:/= @ r  r+2+2239/301'!3353#5#[KԆuui Jx+!@rr+2/+2/39/3013!#!"'732654&#"5>32J0f96!;BNE&L'(\0Sp::MjOPRTlCyQ==p $@r r /2?++29/301"&'732654.#"###!>32!?,7-0!7ʆ&K"9\51^VXG8Bi 5gLUI)B6F+@C'rr0;; r3 r+2+23333+2+201%#"&'#".54>&3267.54>323267>76.'&B1zH;p-0f@Og:1Y{K1N,>oI%&8P^HuR,/_H ?\%$!!'N>+ &G9Q+,3aXHe6w3267.54>3223267">54.U ]1+P&W0ZM)Jd<#5*Q8  -1BtLLq?LM +E)>"3#.E'$;&ES6cK(c-G*1V5"d;fBGv#."?+#C5 1F+/=w'5.54>32.#"32>7BAkL+/ZSb#j:B 4M47M.!D:qG]1 Dew>A}g=VEI(/*DT*/WC'0&A,A*"@  r! r+33+2015.54>32.#"32>7Ca4C|UUz8"&?$%>&+"5I,{ Np?J{JJ<('G/.G)(!7$zy]&"  V+4 &!  V+4> + @ rr++2901533Nj~ a#@   rr++29/93330135#535333#WV2 W+# #@   rr++29/3333015#535333#zzdžvvՙ< V<y"@   r r/+223+29015#533#'#76yM^h$ "@  r  r+233+29015#53?3#/#(tm np qlyk!@  r+23233/3301+5!5!3!33%^MyM "@   r+23333?3301#5!#5!3333u rJuu ii32#54&#"# *@+}z@P#F ny?; =$M\09%@,5 5' r1r+2+29/33/3901467;#"&2!32>7#".54>"!.L&'xenM~Z1"6B$'F4 ]xCL|Y/0Y}M4S25V9)cLJ;d}A +G22 /7S/32!3267!.#" 7 'vO[9^E%%D_:Sv?u*?!(E nF^&;%$>(W1 QE+Ka68cL+K{G (<' (>#6)=""=$yg4='@9+"+ r5r+2+22/9/320157467;#"&2!32>7#".54>"!.wM'&xenN~Z0#5B%'F3 ]xBM{Y00Z|M4R35VXK9)cLJ;d}A +G22 /7S/32!3267!.#"RxG7 'vO[9^E%%D_:Sv?u*?!(E nF^&;%$>()1 QE+Ka68cL+K{G (<' (>#6)=""=J.&J/01D&/01S'$!@rr/2++29/33301"&'732>54.+#33:336  ,%@Q+>. ӚCh=7^ h"D32ZD'eMUy?=, !@!r r/3++29/3301#"&'732654.+#33:373g4K*.Q63&$(C(8!*QmBGi9 c =554&+517!5!-Nh<DuMZ(hT8*9CIP&>K&Hi9F?@&-6$4A`yh# @rr+2+239/3301"&'732>54&+57!5!3O&RO3-A"XNB jq*I]@=F)/:(>B\o^ tY:Y<O&s /01=(&sc /01O&  /01=(&O  /01& ,( /01A&J ($ /01+#@ "'r r+2+29/333015!".54>3232>54.#"tN[25]LMZ24]5M12N45M12M4@QQhDFe:h.VC')EU,.TC')DTA'@ $r r+2+29/30175!".54>3232>54.#"q@fG&&Gf@@eH%%Gf$>'&>%%>&'>$99+Lb67bL++Lb76bL+.G()G.-H()G&| 0,/01A&}J ,(/01$& .* /01#$&; ($/01&sy/01&sB /01&e /01&.  /01& /01&q  /01<Z&r  /01.&* /01Ly&"r V+4= &!D V+4JN& /01=& /01$(@r /2?33+29/301"&'73265#53'!!5!;  //j0VgX:;\\Eb5yYY + @ r /2?33+29/301"&'73265#53'!#'5!y7!,,R0TS[^ X<5QQC_3 uiLL$@ r/2+2901"&'732>54&/#33= "/P h  2^h+S$2O.,  "@r /2?+2901"&'732654&/#3?3k-Dpn m[(*'F c$3^{7^2-F( @   r+2/9/339015!3#'#4PP^h  @   r+2/39/9930175!?3#/#2n mp pCC&):-@ r' r+2+29/3901".5467.54>32.#";#"32670KwEG@=9?kB\}.[M8&51!UU(7C>5Qh(.[B=\T1>V-E?F%.+*`/-9-&@?F"/@ "r) r+2+29/3301".5467.54>32.#";#"3267Bg;64-&Lh7 /01J9&-=9$&M ΰV+4JE&-=E$&M! ذV+4&X&.'6~ //01&&' //01J9>&1ΰV+4<9@&QO ӰV+4J]>&1~(]T&Q V+4J9&2B=9k&Rc& ΰV+4J&3 /01=$&S/01J9&3 ΰV+4=9$&S ΰV+4J]&3 ΰV+4=]$&S\ V+4a&4'#D(( //01A&T&T@$$ //01[&4'HD(( //01A&T&TJD@$$ //01S&4'y/(( //01A&T&^+$$ //01S&4'$y,(( //01A&T&^($$ //01J9&7ΰV+4=9u&W ΰV+4J]&7V+4]u&WV+4G&83./01&X,/019G&84ӰV+49&X-ذV+4Gh&8'733.//01&X'0,,//01Gh&8':88.//01&X&F311//019G&8'4ӲV7./01+49&X'0-ذV+4/019]&9 ΰV+49w&YsӰV+4]]&9e V+4]x&YV+4@a&:'6//018B&Z&Q://01@M&:'z"//018B&Z&\I&"//01&<b/01F&\/01&</01F&\K/01&<) /01F&\ /01&> /01&^/019Q&? ΰV+49 &_ ΰV+4 w&Y  /01=<!@ :2-(r"r r+2++2901"&'732654.'.54>7.#"#4>32Bz+/-V)&/-!;N&)Ia8!'9$6D +Me9GoH /UC'+=S)l ,+W&$ %7,0B*5&/*H/D<\> /YB& "50PX9&&9&F:$ɰV+4&&/01&FC/01&&(v@//01$;&F(6@@??//01&&)5@//014&F)C@??//01&&*@//01B&F*MJ@??//01$&&+//01k&F+C@@??//019&&'/019&F'X:$ɲVC/01+4&&$//01f&F$hG@@//01%&&%//01l&F%eJ@@//01/&&&#//01v&F&mQ@@//01)&&'//01p&F'YG@@//019&&'/019&F'l:$زVD/01+4J97&* ΰV+49B&J'ɰV+4J7&*/01B&J0 /01J7&*k/01B&JT/ /01JY&*(k@//01B;&J(T-@,, //01*7&*)*@//01B4&J)0@,, //01J7&**@//01BB&J*k7@,, //01J7$&*+y//01Bk&J+b-,, //01J97&*' IJV/01+49B&J'v'IJV0 /01+43&.\/01&1/01J9&. İV+4=9&N ΰV+49&4 )ΰV+49A&T%ذV+4&4I2 /01A&T. /01&4(/@.. //01B;&T(T+@** //01&4)`2@.. //01A4&T).@** //01&4*9@.. //01AB&T*k5@** //01$&4+7.. //01Ak&T+b+** //019&4' )βV2 /01+49A&T'v%IJV. /01+4&E#8 /01A&F4 /01&E; /01A&F7 /01&EIB /01A&F> /01&E8 /01A&FT= /019&E 9ΰV+49Ad&F5ɰV+4@9&: ӰV+48=B &ZɰV+4@&:D$/018B&Z(/01@$&G*/018&H./01@$&G-/018&H1/01@$&GD4/018&H8/01@$&G3/018&HQ./01@9$&G +ӰV+48=d&H/ɰV+4&> /01&^s/019&> ΰV+4 &^E&>/01&^/01&>n/01&^D/01:iO:O/20175!:yy:"O/20175!:yy:fO/20175!:,yy:fOR8/99013#57($zx6/99017#53G(#zx:}/99017#53K(#8{&TT5w @  /329017#5337#53F(#j(#{x{x:}w @   /329017#5337#53K(#e($#~  //9/33301#5333#UxDx*~@  //9/333223015#535#5333#3#xpy@ypxM /301#".54>320//0^00//:  @   ?2332301353353353:nNnNn(q/?O_e5@`eeP@@XHH8((0 rcbbr+22/32/3+22/333232/301".54>32'2>54.#"".54>32'2>54.#"".54>32'2>54.#"  .K,,K..K++K.!   .K,,K..K,,K.!  !-K--K-.K,,K. !! =)E**E((E**E)C&&&'(E*+D))D**E)C&&'&C(E*+D))D**E)C&&'& IV6= /0153=r#=&__#.+@ /3/3901%%# mmgn:.B@ /3/3901%57'5B߱ngmm6rr+2+201'  =/IV6/%! BD?2201".54>32'32>54.#"5O67N25N68N;+"1 :*"1!'@K#&L>&)@K#&K>% >*)/ >*)/~/ @   BD?29/3333015#5733#'35;88`IE`o/&@ # BD?329/3012#"&'732654.#"#>73#>)H-/R45V-@%)6)4A  ."=)*@$&!2'"!3560I_ "/*@# BD?329/93014.#">327.#"32>".54>32*L3%>=3>*O.XgbS5Q./1./(=#=A3"zq]g'B%""!#/ BD?201#5!# lZJ[ /+:@  008B(D?329/33301#".5467.54>324.#"32>'32>54.#"1Q02Q/4!*1J'&K1(%1Q.,--&&&!1%; #;$'/ '#33#* 2  /*@  #BD?229/301"&'73267#".54>32'2>54.#".O+>4<>&1L+.Q4TbgS/.0-"2A=$='(B(h]qy"#$!Q%! BA?2201".54>32'32>54.#"5O67N25N68N;+"1 :*"1!Z(?K#'K?%)@J#&L>% ?*)0!>*)/ :U@ BA?3322301!53#52>53:a'/'!PNN PV"@  B A?229014>7>54&#"'>32391>*/(/# 3 3K/RT). )U5G3 "! : G;"/ NuV,@ &BA?229/3301"&'732654&+532654&#"'>32=\*!1 '9AB::4'916B 2J+.(,42QZ)&6 F=4!#.=))4~Q @   BA?29/3333015#5733#'35;88TaIDaoQ&@ $$# BA?329/3330172#"&'732654.#"#>73#>)H-/R45V-@%)6)4A  ."=+)@$' 2'# 3651H` "T*@ # BA?329/301%4.#">327.#"32>".54>32+L2%><4>*O.XhcS5Q.00-.7'=$>@3!yq]g'B%#"!#Q BA?201#5!# lZJ[ Q+:@ 0 8B(A?329/33301%#".5467.54>324.#"32>'32>54.#"1Q02Q/4!*1K&&K1(%1Q.,--&&%!1'&:!#<$'/ '#33") 2 T*@  #BA?229/301"&'73267#".54>32'2>54.#"-P*=4=>&2L*.Q4ScgS0//-Z! 3@=#>'(B'g]qy""#  " $(,0)@*/+-- r#%"'' r+2332+2332014>32.#"32>7#".#53#3##53#3# B|VUy9"&>%%>'+"D^:@eI&j>>>>>>>>J{JJ<('G/.G)('>#+Mb  M @ r?+29/32013!!!!'5!pIyph[[,6:>@7:>;; 6(/ r r+2+229/32017>54.54>32.#">323267#".#"!!!!8#/ 7^9=n%GN$& &$-,"!>==!E )mmW=@%A?@#2Q/81R",&59D(89  d S-S&7"@   r ?3+29/993201%!5!5!5!#33#7ΉnosSmR8,;J1 2^=@ / r #++$(PI (II( :3 r'' r+/33/+29///33333+201332+32>54.+#".5#53533#3267"&'732654.'.54>32.#"J2R=!7cBWN(,I/7%?$EEnn( =n'+*R'#),5F#/V:3Z&2$@""&9O(g(DT,3253#"&/#".%5.#"32>!!!!55a>6_#$.c7Ae: ,5"5 7"'#tI.[Aj?1&3n%!14@kD(#9"#5 !EE!,!@ ( r r+2+29/993201?!7!74>32.#"32>7#".!>?(/ZSb#j:B 4M47M.!D:q_v:L~[3JJJJQA}g=VEI(/*DT*/WC'0&A5J&?i  @  r  r+2+29/930175!33 # XҊ*!ZuIIuRu2^]@ r r++230175%5%###5!C8OAAAA-My Y!&@! r?+299}//33201!!!!!2+32>54.+ RR=$5U?" "@-/?  /(.0@.*++r# r+2/223+2/2239/3?01%3#3".54>32.#"3267#5!#VCCCCE{]44^~Jd$ga9-J69L.6c+YOr@ {8cMIb8UFL58&BV03V@%86` e '+/'@-,( )) r! r+2+29/99993201"&54>54&#"'>3232677!%7! pi)CJB*.5"F8)_Fmf*BJC)08&G:'d  N  ZO1L=527!&&VVK1K:329%')Y%11c11/,'@( r r+2/233+2/22301%3#34>32.#"32>7#".VCCCC/ZSb#j:B 4M47M.!D:q_v:L~[3@ A}g=VEI(/*DT*/WC'0&A5J&?i] @  r?+23}/3013#5!#5!OOkkR[kk)@ r ?+992330132#32>54.+!5!5!5!)2R=!!>*o)+{77(DT,-S>^!8#$8 yRDS$3@r?2+9013332>53#%5%5%Sf%-2aOrr 5(:_D%UUUU@@   ?3/3933/3012#4.#"#4>?wRvK#'C21B("Iw1CCN4]{E(M=%$=M)By_7/ @ r?+29/323301=!5!!2+32>54.+!W4S; 5bEw(+qyyBBn(DT,54&#"3267'#"&54632%F9!K<)A&?8<  %- drn+:H";%4: Y!"# LPFSw )!@  &r?+22/33/3?9901#33#".54>32'32>54.#"܉kros;S--T::S-,T'''(9.;S4V12U44U21V4//-/+ 23@'*-0  $0 0?33/3292/3/90173#5#'#3.#"#"&'732654&'.54632;WAFAW .%<9F8&M#8'94G5 =)ջ+@  )*-.@ '&,4>)@   r+923333301##5#5!3#5#'#3S_W_"W@G@W:qWջ+&-!@+-r! r+2+2233330173.54>323!5>54.#"!&0E&2]|HI|\3&F0%;*5L//K6+;%fQf:D|a88a|D:fQff6JS+)O@&&@O)+SJ6f#I @   r r+2+29/301%"&'5!4.#"3267'2!5>6,NE|RR|EE{SNo%`F,ON$&PMK|JH{K0##+'%tu$' h&'c*"(U;@O:77)@HH)#((1) &%% /33/293/3?33/33/39/33014>7>54&#"'>323  %"&'732654&+532654&#"'>3270>)-(.# 1 2J/OS(-(צ==[*!1 (8AB:;5'916B 2J+.(,42Q15F2 #" 9!G;!/ NIV6('5 G<4""/=()5 w&'c* &'c _&'c R&'cO !2@ + r"r+2+29/301".54>326<'.#"'>32'2>54.#"Ch<*H\2.E5%BJ&i:rzE~N.%3#;%2 7`;1VB%$  =H"N$&^h%11#:$4A.#'@ &% $' ?22?3201".54>3232>54.#"/@fG&&Gf@@eH%%Gf$>'&>%%>&'>$q2? +Lb67bL++Lb76bL+.G()G.-H()G;n@ rr+233+201%!53 nprhhh^L  @ r /3+23301###5!##PPRTttT  !@   /333/9933301!!5!57'5! Ŷ?W[t>}/2015!>kkyrr+2+201'32#".'#".54>2>7.#"!2>54.#"(7'%8(4J*,M0&7&'9)*N1-L9# #$$*""# $((2S32T1$$2T23S1%&#%%#'#Y^4  /3/301&632.#"#"&'7326'^B?H  &B?G  ;F ` Q>C `!5-@ @%)/3/22201#".#">3232>7#".#">3232>7P%('1 =$+( <%('1 =$+(  ),  s ), K @   /23/333/3017'!!!!V3=994$WW2Y @  /322/390175!%%2a^llPJCY @   /322/390175!57'5Cb^ll32.#"3#3#5354>32.#"3#]EE,Q8%D$, EE+O5 A ("$f 7X4f fvf A_4e 0.%fv@ r r+2?333+201#5354>32.#"!###]EE7O2&C=5F$(f ,L;!d*%v) @r" r  r+?333+2+201"&54.#"3###5354>323267=G$" 'WWEE5bDrl&*4B323!fvf,AY.lX  l 86@ ,$r61488 ?23?3333333+29|/3013#5354>32.#"3##5354>32.#"!###]EE,Q8%D$, DD7P2&C=6F$'f 7X4f fvf ,L;!d*%vD@@  #6r= r(11+..- ?2?3333333+2+29|/333013#5354>32.#"3#"&54.#"3###5354>323267]EE,Q8%D$, 9>G %" 'XXDD5bDrl'*3f 7X4f fvB323!fvf,AY.lX  l Xb>@#TTJMM<+A&F!0Jr80 r\ Y r` r+2+223+2+293333/301%#".5#534.#".#"#".'732>54.'.54>32.54>323#326>06&>%DD !!1. 5*I ')0J3!9K,*ZO30^+(!+-F/9[1J %RB>H# nn(j 9.-g:C3%% T   "1$*?*[!   0"9M( *(A'7O4g ? @  r+22/3901# #33?܍ܗ: -@ $## r r+2+29/301".54>32.#"32>7#'!uNY/0[OZ)m*9#/J31L1#>0 01Vu3254&#"'>32'6=.#"32>}\72R/$>Q,*B;:)Q*)1l=Mj78*")*%I*)+L/(@+ 39U #3aDÄ< $ ?&"@ rr&  r" r+2+29++01".54>3253#5.#"32>76[C$$?V2;]Rk *53%%A)1& *Jc99bK)8.VU,3F/.9+F*(>'"@r' r" r r++2+29+01!5#".54>323.#"32>7S66[C%3253#"&='2>75.#"2T>!%BZ4<\u'':73;H&/C)(#2*Z!-6M.H#7+E Y @  r r+2+93301! #333ffyj{izA oo+ @ rr+2+9901#73Tϊ~  uR7@CC=:r,++'0 rK H rO r+2+223+22/3+22/392/301%#".5#534.#".#"32>7#".54>32.546323#326707$>%EE#/(9"2$&2+$G^8@fH&%FhC0B ]YDK nn(  9.-g$9(7'54+ (+9!"9+()="-M`65aM,1EO$=M(gM/ ?@#    >/2?9/93339<<<<0133#'#3c88R/уD2/&@ >/3?39/3901%#!!24.+32>32>54.#26Z6I+>"-*4=z" /@ /*B$'HI 2} <2# ??3?3014>32.#"32>7#". (LnGSz]S'+@+-@'90 dQc1@lN*3cP0D6A-"2>#@2$;*:1SgDX/  >/2?301332#4.+32>DeEL]+Q;ii /3?39/301%!!!!!Qjj/jwcD/ >/?39/3013!!3#D/jc A3!'@ $## ?''/22/?39/301".54>32.#"32677#53#;;gM,,Oj>Tx\P.%=+.?%+Q$&Sp|d/Pg9:eM,C7D(*0@$%@0*'w$"XDN/  >?2/39/301#5!#3!5Nyyy//D/ >/?0133Dy/ y/  >??301732>53#"'' :&1.y.\MP7|%O<@iJ(!DU/ @  >/2?3901333#'Dy Q/GD/ >/2?0133!Dy/;jD/ @   >/2?3901!##33>By]/.D]/ > /3?39901#33#y^BybO/X m2'# ? ?2?301".54>3232>54.#"FBlN*,Pl@BlM*,Ok,A()@+,@()@,/Qf68eO.1Qf57eP-"?23? ">12?D/  >/?39/3013!2+32>54.+D9Z31V:$%/8U/0V6!%$ y3'+@  ?((** ?2/23/?301".54>32'2>54.#"73#FBlN*,Pl@BlM*,Ok@)@+,@()@,,Atr/Qf68eP.1Rf57eO.l3? ">22? "?1oD?/@ > /2?39/39013!2#'#32>54.+D:Y21#v$&/8V.#?2ѷ!&$3.@ '+? ?3?39901.#"#"&'732654.'.54>32 2B#//=,;W/$?Q,D46;S.-/'D/9K%;e<@l'  &>4/A(&!i  ';+:N(%/>/?3301###5!y;j<R/ >?3?301%2>53#".53F*9!yAeFIe@y"7g0= 9eL+-Nd6!=0O/ >?2/9013#f/{//@  >?333/39013733#'#37pEGpjIfkkfF-/b=/ @   >?2/390173#'#փ/쾾>/>?2/9013#5x/m! / @  >?33/33017!5!!!!VM[jj[jx @  r+2?3/333301333#5!!I~Jr(R3M r/2+90133#  }:( #-!@- r$ r+333+333015.54>753'>54.'\@rY35Zq>>rY43Ys>7]8":I4Z7 7G'FA6^NS\4AA5]RO^5A=lN:Z?"'77&7B% +@ !(r r+2+29/3301"&54>32'2654&+32654&#";y1gOA[0,*=I>iI69:7p99b)//)/3syFf7(L72H_OHa/n@::>58K1++2236+@" r% r+2+2901".54>7>54.#"'>323267O_*'UD%)!.;XoM@T)$I:?6303ET$r %@),9+ //6!?-*:)'  ;,3!>LD0@  r+2/2/?3/3/9/33333013'333373#'##5#),,*-+@ %rr+2+29/3301"&'732>54.+532654&#"'>32Kzc=,)8!<*<33>5-";VlI]i7.@KAlF=,$$ :&'7`4/+0 (38B`P9O_MIb28B Z8B&Z_/018B=2P  r+/3901# #\ o =$S=kR8p @  r r /?3+2+299015'./#"&5332>73;#nBQT,+3+*#"57ieH<=* E8g $'@ r r r r+23++2+290133267332673#5#"&'#".58+''F*''FyeAAI c?0>"  ?:=02?:<12a46@.59#;I&7 .'@' & # - ?3?3?3?933015'./#"&'#".533267332673;;hEAI c?1=" +''G*''F)!$39@.59#;I&H?:=02?:<128 @ r r+2+9/301"&5332'2654&+&p~h1U?$$?U32442f5hl>,J65J,n-()-L-2m @ r r+2+29/301"&=#5!32'2654&+q~ i1T@$$@T41551f5hlm,J65J,n-()-L-2=  @ r/+29/30175!!#l[SS ui?7-7%H.@ 'r r+2+29/3301".54>7.5463!!"2'2>54.#"6O|F:+-0eU ('9=U}DG|O'=$#>''=$$= >nF+OB>&HPr#r8')3232>54.#"^KtN'*QrGMsN'*Qr)@*-@)+?+,@) Bl}<@i?Dl~:Ah?g*SF+.HR&*SF+.HR+@ r?33+22/301%!53#52>73n%/180yyy |$)-(r&/2+20134>7>54.#"'>32!)#8)#KA)/!&A3T1EX5Nj72>!4@%b=]I8&*6'+'X(&7_>-E4)*$#y!2@ +#r r+2+29/3301".'732>54.+532654.#"'>329]EH ,B*)!<),C%Gy7&[*+!.d2.)/%a -1T6(B, 3M-?X0# @  r?+29/333301!5!533#35EU\XXֳxTy$"@r r+2+29/33301"&'732>54.#"#!#>32 M{!MS-$84! :uR^ ."Cj=Eu C9P'.6#"5z ;fCGm=.7.@ ' r r+2+29/9301%4.#">327.#"32>".54>327ApG!:,$B-,LM'qCT|C@uPJuE"<$#<$$;$$7.54>324.#"32>32>54.#"0GvFGuE"3)*FS)(TF+)4 $, 7"#+ 8"/--.Bb7:eA(A/ (4/J32I05) 0B!'0 '0A&%$%(1.@ 'r  r+2+29/330132>7#"&'32>54.#"%2#".54>(AqF"9,%B-,LM'rBT|C@uPIvE$;%$;$$<#$;Bk?$@[0+%T6;\gMApA&<%#;##;$$=%Qk :UlVmuVn~QooQp"TqQr QsTt%! B ?2201".54>32'32>54.#"5O67N25N68N;+"1 :*"1!'@J$&L>%(@K#&L=% >*)/ >*)/ :@ B/3322301%!53#52>53:a'/'!PNNN O"@  B /2290134>7>54&#"'>32391>*/(/# 3 3K/RT). )5F3 #! :!F32=\*!1 '9AB::4'916B 2J+.(,42Q('5 G<4""/=()5~ @   B/29/33330135#5733#'35;88aIEao&@ # B ?329/3012#"&'732654.#"#>73#>)H-/R45V-@%)6)4A  ."=**@#&!1'"!2660I_ "*@ # B/329/9301%4.#">327.#"32>".54>32+L2%><4>*O.XhcS5Q.00-.'=$=@3"yq]g'B%#! $ B/201#5!# lZ\JZ +:@  008B( ?329/33301%#".5467.54>324.#"32>'32>54.#"1Q02Q/4!*1K&&K1(%1Q.,--&&%!1{%; "<$'/ '#32#* 1   * #B/229/301"&'73267#".54>32'2>54.#"-P*=4=>&2L*.Q4ScgS0//-!3@=$>&)B'g]rx""#!/%! BC?2201".54>32'32>54.#"5O67N25N68N;+"1 :*"1!/(?K#'K?%(AJ#&L=& ?*)/!>*)0 2@ BC?3322301#53#52>53N '+QNNP1"@  B C?229014>7>54&#"'>32390?*/(/# 3 2L/RT).!(15F2 #" 9!G;!/ N*u,@ &BC?229/3301"&'732654&+532654&#"'>32=\*!1 '9AB::4'916B 2J+.(,42Q*)&7 G=5!". =()56~ @   BC?29/3333015#5733#'35;886`ID`/o&@ # BC?329/3012#"&'732654.#"#>73#>)H-/R45V-@%)6)4A  .F"=**@$'!1&# 3660H_ "+*@# BC?329/93014.#">327.#"32>".54>32*L3%>=3>*O.XgbS5Q./1./'=$=@3!yr\h(B%#!!#6 BC?201#5!# lZI\ /+:@  008B(C?329/33301#".5467.54>324.#"32>'32>54.#"1Q02Q/4!*1J'&K1(%1Q.,--&&&!1%;!#<$'/ '#33") 3  +*@  #BC?229/301"&'73267#".54>32'2>54.#".O+>4<>&1L+.Q4TbgS/.0-+"3A<$>&)B'g]ry""$ :/301753:n/I /01'73V6}Iw(=s  /2201"&5332673MXS(**%SX=O>(& >O"@ _/]2201".53326539S-^+0/,_-S%B)-* )B%+8u  /201"&'7326=36  '+h c<:auilvu/33017#533JB=3;  $0U h<*ZyDc5vy/33017#533JC?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a bcdefghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234NULLCRuni00A0uni00ADuni00B2uni00B3uni00B5uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccentuni0122uni0123 Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflexuni0136uni0137 kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146Ncaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentuni018FOhornohornUhornuhornuni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCGcarongcaronuni01EAuni01EBuni01F1uni01F2uni01F3Gacutegacute Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217uni0218uni0219uni021Auni021Buni022Auni022Buni022Cuni022Duni0230uni0231uni0232uni0233uni0237uni0259uni02B9uni02BAuni02BBuni02BCuni02BEuni02BFuni02C8uni02C9uni02CAuni02CBuni02CC gravecomb acutecombuni0302 tildecombuni0304uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Funi0311uni0312uni031B dotbelowcombuni0324uni0326uni0327uni0328uni032Euni0331uni0335uni0394uni03A9uni03BCuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0462uni0463uni046Auni046Buni0472uni0473uni0474uni0475uni048Auni048Buni048Cuni048Duni048Euni048Funi0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04AD Ustraitcy ustraitcyUstraitstrokecyustraitstrokecyuni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CEuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni04FAuni04FBuni04FCuni04FDuni04FEuni04FFuni0510uni0511uni0512uni0513uni051Auni051Buni051Cuni051Duni0524uni0525uni0526uni0527uni0528uni0529uni052Euni052Funi1E08uni1E09uni1E0Cuni1E0Duni1E0Euni1E0Funi1E14uni1E15uni1E16uni1E17uni1E1Cuni1E1Duni1E20uni1E21uni1E24uni1E25uni1E2Auni1E2Buni1E2Euni1E2Funi1E36uni1E37uni1E3Auni1E3Buni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E5Auni1E5Buni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Cuni1E6Duni1E6Euni1E6Funi1E78uni1E79uni1E7Auni1E7BWgravewgraveWacutewacute Wdieresis wdieresisuni1E8Euni1E8Funi1E92uni1E93uni1E97uni1E9Euni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni2002uni2003uni2007uni2008uni2009uni200Auni200Buni2010 figuredashuni2015minuteseconduni2070uni2074uni2075uni2076uni2077uni2078uni2079uni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 colonmonetarylirauni20A6pesetauni20A9dongEurouni20ADuni20AEuni20B1uni20B2uni20B4uni20B5uni20B8uni20B9uni20BAuni20BCuni20BDuni2113uni2116 servicemarkuni2126 estimateduni2153uni2154 oneeighth threeeighths fiveeighths seveneighthsemptysetuni2206uni2215uni2219 commaaccentf_ff_f_if_f_ls_tW.ss09G.ss11 i.loclTRKa.ss01a.ss02d.ss03j.ss04l.ss05q.ss06t.ss07u.ss08w.ss09y.ss10c_ta.scb.scc.scd.sce.scf.scg.sch.sci.scj.sck.scl.scm.scn.sco.scp.scq.scr.scs.sct.scu.scv.scw.scx.scy.scz.scuni0414.loclBGRuni041B.loclBGRuni0424.loclBGRuni0492.loclBSHuni0498.loclBSHuni04AA.loclBSHuni0498.loclCHUuni04AA.loclCHUuni0432.loclBGRuni0433.loclBGRuni0434.loclBGRuni0436.loclBGRuni0437.loclBGRuni0438.loclBGRuni0439.loclBGRuni045D.loclBGRuni043A.loclBGRuni043B.loclBGRuni043F.loclBGRuni0442.loclBGRuni0446.loclBGRuni0448.loclBGRuni0449.loclBGRuni044C.loclBGRuni044A.loclBGRuni0493.loclBSHuni04AB.loclBSHuni0499.loclCHUuni04AB.loclCHUuni0431.loclSRBzero.lfone.lftwo.lfthree.lffour.lffive.lfsix.lfseven.lfeight.lfnine.lf zero.subsone.substwo.subs three.subs four.subs five.subssix.subs seven.subs eight.subs nine.subs zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numrperiodcentered.loclCAT uni030C.alt brevecombcybrevecombcy.casehookcytailcy hookcy.case tailcy.case descendercydescendercy.caseverticalbarcy.case uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303 apostropheT\ #$+,, 0$+ hDFLTcyrlRlatn0 !"#$%&BGR VBSH CHU SRB  !"#$%&  !"#$%&    !"#$%&4AZE nCAT CRT KAZ "MOL ^ROM TAT TRK  !"#$%&  !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%&'aaltc2scccmpccmpdligdnomfracligalnum$locl*locl0locl6locl?GHJKLMPRSUWX[]_{"#&'&'->>LZhv &,28kdl}mvnwo ep fq gr hs itjn~n~&,4<FINOQTVYZ\^,>?NO,NO NO NON , +*)( '&%$ {QQ {11{{yz{|"#&'yz{|"#&'_N_N_N_N_N ,->?&',>?.V d}vwefghijOc&F4Tn~n~&4FTT3&?sF_ YYHX6 "(KQKNQNKKhFhFiFgIbOaQ]V[Y[Z <\Y^, NxDFLTcyrl$latn4kernmarkmkmk  (20F` `` Bhx(<PJ8l !4!&&&''F'&&(J(+Z,,r,-.3B48b9T9;=>,>z>>??z??@@@D@@@>,A A(A^AAADzDGVGGIpIIJJJNJpJK !4 !4!4!4!4&&&& &(J(J(J(J(JR R----8bRT======>X:>>>>?XxXYlZJ@@@@@@]@]fAAAAGV>,GV==]^ >z >z >z >z _ a!4>!4>!4>a>!4>&bN&bN&bN&bN&?bl?&e&fd&fff&?'f'F@'@D'ghh''j&@&@&@k^k|(J@(J@(J@a>,k,A(,k,rA^,rA^,rlF,rA^,l,lmA-A-A-A-A-A-r3BDz8bGV8b9TG9TG9TG(J=!4>R]f,rA^,s?@s.!4!4sPst$&&tuL'Fuvv!4w8x'F&&(JxpxyTz{(J(J{|H|>}}:AA@AA@@A>,}}GV@~L~zAA~zA@@A>>~~D?@AGVAT'F@'F@&@ >z8b^AA?&'FA?==!4>!4>(J@'FAA(J@(J@GVGVGVAA(J63BDzA >&?&@,A(,rA^,؂P3BDz3BDz3BDz9TG!4>!4>ڂz(J@-A8bGV8bGVڂŻZJJ6z>z[\^&(*89:;<[]{4BDdfh@AFGUX%!  k &!/9:;<=!>?[\]^_!!!!!!> !!!&(*,.024689:;<=>?@AB[!]>_ ` {!4BDd!f!h>2@AFGUX &(,469; <=> FHIJKLO TVYZ[\]^  &'()*+-/135789: ;< C[\]^_`{|    4>?B DEdefghikz{|} 3@ AF G &/9 ;<=>FHIJLTVX\*%I!*!#%& ( *89:<C[\]^`z{        $4 ?BDdefghik{}  @F ;O[*CDE';=[]*DE;[*CDER&(,/468;< = >FHIJKLRSTUVWXZ[\]^_    !"#$%-/13578 9:;<>@BC[\]^_`yz     %')/179>?BDEdefghikwyz{|}     3@AFG< &/9;<=>?At&(*8:<=?A[]{4BDdfh@FH &/9:;<=>Aqt{"&(*,.02468:<[]"{4BDdfh"2@FQR!9;<>At&(*8:<]{4BDh@F# 9;<>At &(*8:<] {4BDh @F) 9;<>Aqt &(*8:<] {4BDh @FQR'9;<>Aq &(*8:<] {4BDh @FQR-&9;<>&(*8:<[]{4BDdfh@F;"&/9?fqt{&(*=?A[]{4dfhQRVY],&9;<>&(*8:<[]{4BDdfh@F  9;<>At&(*8:<{4BD@F;*D ;O *DG &9;<>[\^&(*89:;<[]{4BDdfh@AFGUX(  $%;A[mnr~ *C_`U&9;<=>?AKXYZ[\]^_!#%&'()*+-/135789:;<=>?@AB[]z{| 4BDdfh3@AFGU;=%*U    ;=A]*U[ / CUK  %&(,/468FHIJKLRSTUVWXYZ[\]^_oq!D !   !"#$%')+-/13579;>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3AGQRUVY]ab    ;A[*UU  U" AB[mr-#*C_`U$;A[mnr~*CUY;=A]*U&/;<=>FHIJLTVX\]^oq!!#%89:;<[\]^`z  ?BDdefghik{} @AFGQRUVY]a*&;=A]*[]dfhU;A[ *C`U;=[]n*U;  %[]mr *)M%*!%)C UUL   %&(,/468A FHIJKLRSTUVWXYZ[\]^_moqr15/   !"#$%')+-/13579;>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3AGQRUVY]ab 1 %A []mr582!%BCU  (,468A FHIJKLRSTUVWXYZ[\^moqr 8 05"    !"#$%')+-/13579;C\^_`yz|   %')/179>?egikwyz{|} 3AGQRUa<  %A []mr1..!%BCU [mr5 CUy(,46HIJLO TV &]_`   >?hkz{|}  &(,469:;<=>Y[\]^%&'()*+,.024689:;<C[]%_{| 4>BDEdfh%z|2@AFGUX  $;A[n~U$;=AB[]b~U$;=A[]U ;[U$;=A[]U#%;6=:A!B b:OZL9: U-;<=AO8U $;=A[UUO$U   ;A`U$;A[mnr~U $;=A[U$;=AB[]b~U;=AORU %;=AU ;=A[]U ;AU ;A[U%&/9;<=>?AFHIJKLTVXoq!#%&(*8:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]a %;=A~U(,469;<>FHIJKLTVXoq!#%&(*8:<\^_`z{  4>?BDegikz{|} @FQRUa %;=AU;AUs(,46HIJLOTV  $ ] _`  >?h kz{|} O6 ;&;<> 8:<[BDdf@FO4 9;*D$;=[]*DE&'()*+,-./0123456789:;<=>?FGHIJKLMNOLPQRSTUVWXYZ[\]^_R     !"#$%&'()*+,-./0123456789:;<=>?@ABC[\^_`yz{|     %')/14679>?BDOTcdefgijkwyz{|}  23@AFG';<=>A]*8:<BD@FUy $&/89;<=>?ABF]^b "$&(*8:;<=?A[\]^y{4BDdefghi@AFGTUVWXY]&'()*+,-.0123456789:;<=>?AKXY[\]^_    !"#$%&'()*+,.024689:;<=>?@AB[]_yz{| 46>BDTdfhjz| 2@AFGUX$;=AO[]U AU4 *$ B GMNOPQ b~         OcTUWX 7 %$ABGMNOPQb n~  OcTUWX$&')*+-./01235789:;<=>?AKY[\]^_   "$&'()*+,.024689:;<=>?@AB[]y{|46BDTdfhj 2@AFG $$;=AB[\]^b~9;AGU5  $%;ALOu[^mnr~*;C_`AGU$;AOV[n~UFc  c^$0;A}BvGiKMiNiOfPiQkR S U W Y3Z [\$] ^ _aUbrjTmnCr~)iiii( \ iiiiiiiiikkkkk       '3)3+3- / 1 3 5 7 9$; >@B3|3i                i  i ii i    % ' ) / 1 7 9 Oiciw y      $ i  3$$$i3 A G TIUpWIXp~ fg&  i   i       ;[U[ / C]hU;=AOU(,46:FHIJKLTVXYZ[_!#%')+,-./01234567>@B\^_`z|  >?egikz{|} 23U    8 =(A;B+GMNOPQa b&jn  OcTU$WX$: #AB b U A U O1UO>U4 *$ B GMNOPQ b~         OcTUWX $;AOA[mnr~U; $9;<>A[mnr~&(*8:<C{4BD@FTUWXe <  <Z9$;AWBOGBKMBNBO?PBQDY[\]^a/bKj-mnr~ BBBB3BBBBBBBBBDDDDD%#')+9;B"|BB B BBBOBcBBBAGT$UIW$XIW=@BB4$;AKY[\]^_mnr~')+9;>@B|AGUOU$;=AO#[U %;=AU %;=A BQUX;=AO[]U ;AOgUH# #?"$ ;A9B2G$M$N$O$P$Q%Yab.jn~ $$$$$$$$$$$$%%%%%%')+|$$ $ $$$O$c$$$TU,WX,:$$$$C  %&(,/46FHIJKLRSTUVWXZ[\]^_moqr *)M%*  !#%)-/13579;>@BC[\]^_`z   %')/179>?defghikwyz{|} 3AGQRUVY]ab ;AOO[U ;AO$UAoqQRa $ATUWX;=%* U    ,;=[]n* U  UVY] $ATUWXC  $%;A[mnoqr~ *C_` DEQRTUWXa$ E  DE8 AB[moqr-#*C_`  "DEQRUVY]a  DEoq  EQRVY]a;=%*  U    ^   %[]moqr *)M%*!%)C  &E QRUVY]ab1;=AB]*DUVY]A oq  6DEQRa $;A[n~ETUWX  $;=AB[]b~ EU $AETUWX   Aoq QRa $AETUWX $;=A[]oqEQRTUWXaABoqQRVY]ab oq QRaH $;=A[ TUWX $;=A[]oqQRTUWXa ;=A[]TUWX $$ABb  HTUWXU $;=A[TUWX "a  %A[]moqr1..!%BCD EQRUVXY]ab AoqQRVY]a;=AU ;AO(UO:UOIU#C  %FGHIJKLMNOPQRSTUVWXYZ[\]^_  !#%')+-/13579;>@BC\^`z|     %')/179?DOcegikwy{} 3AG;O([.*C'DE% + C  D A#%;6=:A!B b6LWI56 U-U6   %&(,/468AFHIJKLRSTUVWXYZ_moqr*3'   !"#$%')+-/1357>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3QRUVY]abv&/9;<=>?AFK[\]^ &(*89:;<=?A[\]^{4BDdefghi@AFGUVY] $'()*+,-.0123456789:;<=>?AKY[\^   "$&'()*+,.024689:;<=?A_y{|46>BDTjz| 2@AFGTUWX:?,.0246=?A2UORU:?,.0246=?A2U ;<=AOv8U%&/9;=>?AFHIJLTVoq&(*:<=?A[\]^`{ 4?BDdefghik{} @FQRUVY]ab&/9;=>?AFHIJKLTVXoq!#%&(*:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]a%&/9;=>?AFHIJKLTVXoq!#%&(*:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]an  $(,469:;<>Amnoqr~&(*,.02468:<_{4>BDz|2@FQRTUWXaG$&9:;<=>A&(*,.02468:<[]{4BDdfh2@FUX@ $&9;<>Ao&(*8:<[]{4BDdfh@FTUWXaT $&/89;<=>?ABb "$&(*8:<=?A[]y{4BDdfh@FTUWX)9;<>Aoq&(*8:<{4BD@FQRUabD&/9=>?oq&(*:<=?A[]{4BDdfh@FQRUVY]ab8 $9:;<>A&(*,.02468:<]{4BDh2@FTUWX;AU7&9;<=>?A&(*8:<=?A[]{4BDdfh@FUH  (,469>oq&(*:<_{4>BDz|@FQRUaq $(,469:;<>Amnoqr{~&(*,.02468:<]_{4>BDhz|2@FQRTUWXab$;=ABbUG&/9;<=>?ABb&(*8:<=?A[]{4BDdfh@FUVY]&$&;=ABb[]dfhUc $(,469:;<>A&(*,.02468:<_{4>BDz|2@FTUWX7&9;<=>A&(*8:<[]{4BDdfh@FUX<%&/9=?oq&(*=?A[]{4dfhQRUVY]ab<&/9;<=>?A&(*8:<=?A[]{4BDdfh@FUu%&(,/4689=>?oq~ "$&(*:<=?A[]_y{4>BDdfhz|@FQRUVY]abv%&(,/4689=>?oq~ "$&(*:<=?A[]_y{4>BDdfhz|@FQRUVY]abH(,469>oq~&(*:<_{4>BDz|@FQRUap %&(,/469=>?oq~&(*:<=?A[]_{4>BDdfhz|@FQRUVY]ab%9;<>oq&(*8:<{4BD@FQRUa AVY]  AqtQRqQR At"Afq{QRVY] AVY]c_  ""%AFa8eeTggUjjVooWqqXttY{{Z[\ C[`y|"$(-/2569<>@CXY _d%%i01j47l>?pBBrDEsKKuMMvOOwTUx``zcm{ppwwy}  23@AFGQRTYac|| (` 4;4G +37)  44')'.. + & (/  & %0)31    & ((    +        %%% +!!","9 ,,!!#$# & $$ !:-78"#78 --"# (  % ))56'56'01/  ****22"  $$ # 3))%% "    &(' !        "           !  "# -#  ./0,  12 , 3$ $$   !   *+*+&'     #   (g  &&(*,4 6:<<>?FZ\\1^_2oo4qq5{{678OUek C[`y|  (* 7E*1G47O>?SBEUKKYMMZOO[TU\``^cm_ppjrskwwmy}nstuvwx|}  23@AFGQRTYab4~D Y| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flQ[|xJffcFF7ytwuucf`P$c}}| yzc9V:@;6wwIJF: +0 1C r CC/ 08 @..!  = ./ /}/ { ( , 03B    d   QI47TeJWK8i    3    }     u, ) ) vu`WWkwnlmi9JJtt;;//''yyO #, Y&()*,-./01234789:<>?FHIJLMNPQRSTWXYZ\^_n~`lm$+  $*06< Y     n  3      T ny$        :.J  n99E] &,28ny *06<BHNTZ`flrx~n3T+Y+  $+ $+^djpv| Y     n  3      T         " դ'^#+tvwp-file-manager/lib/fonts/raleway/Raleway-Bold.ttf000064400000501630151202472330016067 0ustar00 FFTM|GDEF2,GPOSk\GSUBlOS/2gN`cmap^-Rcvt )fpgmZgaspglyf8C2 head,6hhead$hmtxlocaN?*@\maxp\ nameBJS,posta1a<#prepO((r_<^#+tv61hO61--in/QeXKX^27P [NONE   `2M3W=%z"#(=6"5Y3/:::f1,4&.;*_.1\,M EG >="M*JJYJ>J JJJHJaJJoJJek@s<R}<.I'6/>z=4Wrz\==.==<=\=^z=z=j8& G&=*O=2781VP'!3(.Q+MI+(#d;[:I+<(;/M#:F* $:s  YJYJYJYJJJ4@@@@\J.=>>>>>>4WWWW=e\=^^^^^6^j8j8j8j8&Y=&>>>4444JYJWYJWYJWYJWYJW z z z zJ\=\ 3"J= J=J.=.=HJ=<HJ=<HJ=<HJ<RXJ\=J\=J\=\J\=^^^=J=J=J=eeeekk@j8@j8@j8@j8@j8@j8G&sss$^@j8?JJs3JMJB<JJa= z^4JJs z>^>>YJWYJW ^^JJ=@j8@j8ek^^^&W==/qqQ<==QH!2"?n!//<!2M!!22M=?!<2&t=YJYJLeJ LLOJLJLYJ/]'OOLaJJLoJk;J<JJJxL$J7>n06==xWXe=e=:=S=[=^P=z=4&e=%.Z==j==@#:=1!WWg=A=GU=f:=e=&O= .'r]H WEMSzCL=0J)=0h]'L?=Jq=-qAJ=J=XJ=b)j04k& "?<A.<7.J\=| $J/XS+=oJ[=%TE<.TE=>>YJWWW/X]'`$Oe=Oe=^]]$@#&&&<%.L=J=@  R)"SzGTCTFfo4JJYJWYJWYJW zJ\=J\=HJ=<HJ=(aJ=J\=J\=J\=^^^^J=Jeeeeekk@j8@j8GGG&s =>>>>>>>>>>>>YJWYJWYJWYJWY*WYJWYJWYJW3J=^^^^^^^^^^^^@j8@j8@j8@j8@j8@j8@j8&&&&Zd::[:::86:85:#*kMZ:(==f#f:6" L " : a ,]&OJ~(%! ho   k)R$@EI:S+=>&`#  =^t 3 >j:(e5K2C3=8?aI  =5{z=?z{_8d 'QTDQ zDDDl DD RDDDD (D RD&<S@A2! :>J]']'\B6zXj8j8j8.=& \==88728=44n%*+`)I!J9$_.3"\,_(L " M " * " :/("j2!!!9 d ~~-37Y $(.15_cku)/ !%+/7;IS[io{      " & 0 3 : D p y !!! !"!&!.!T!^""""""""+"H"`"e% *07Y#&.15bjr$.  $*.6:BLZ^lx       & 0 2 9 D p t !!! !"!&!.!S![""""""""+"H"`"d%ljeaSQN-| ~xtzxrpnfbZXUONFC?><;:7.-(usjif_;5sW@=    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcZtfgk\zrmxluiyn~epDo]dQRWXTU<c|ab[{VY^s|@J~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSQPONMLKJIHGF( , C#Ce -, C#C -,CCe -,O+ @QX!KRXED!!Y#!@%E%EadcRXED!!YY-,CC -,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-,# Pd%TX@%TXCYO+Y#b+#!#XeY-, !T`C-, !T`C-, GC bcW#bcWZX `fYH-,%%%S5#x%%` c %#bPX!`# %#bRX#!a!#! YY` c#!-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BY(QX@cTXC`BYYYYYYYCTX@ @@ @  CTX@   CRX@ @CRX@ @CRX@ @@ YYY@U@cUZX  YYYBBBBB-,EN+#O+ @QX!KQX%EN+`Y#KQX%E dc@SXN+`!Y!YYD-, P X#e#YpECKCQZX@O+Y#a&`+XCY#XeY#:-,%Ic#F`O+#%%I%cV `b`+% FF` ca:-,%%>> #eB #B%%?? #eB#BCTXE#E ic#b @PXgfYa c@#a#BB!!Y-, EN+D-,KQ@O+P[X EN+ D @&acaN+D!#!EN+ #DDY-,KQ@O+P[XE @ac`#!EYN+D-,#E E#a d@Q% S#@QZZ@O+TZX d#d#SX@@a ca cYYcN+`D-,-,-, C#Ce -, C#C -,%cf% b`#b-,%c `f% b`#b-,%cg% b`#b-,%cf `% b`#b-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,] %cV`+%%%% % % %%n+8%%&m+%%&m+P+%%%q+%%%8 %%%q+`%%%e8%%` @SX!@a#@a#PX@`#@`#YY%%&8%%8 RX%%I%%I` @RX!RX%%%% % %I8%%%% % %%q+8%%%%%q+8%%8YYY!!!!!!!!-,%%%% PX!ehY+d%%%%I c% cQ%T[X!!#! c% ca S+c%%%&JPXeY& F#F& F#F#H#H #H#H #H#H##8 #8Y-,# c#c`d@cPX8U>U=(<(;':'9'8&7%6%5$4$d3#2#1"0"/!. -,+*)! @[@[@[@[@ZKUKUYY K UKU YY2U K UKU2UYp YY?_Y?O_ dUdUYY_@@T+KRK P[%S@QZUZ[XYBKSXBYCQXYBs++++s+s++s+++++++++++++++++++++++++++++++++++++++++++++++ ;+ '%(J222222Pj60RvJx:|V:$b Ff  : R z  ` > \   0 H b r 6 r H"Hl*v8l&Vz$$>P08@Vf:zTdl$6J Zl~$6HZ&8L .>N^p$6\  Z l ~ !! !2!D!T!f!z!""("8"J"\"n""""""""###&#:#L#^#p####$$ $2$B$N$`$r$$$$$$$% %%.%B%V%b%v%%%%&&&&&:&L&^&p&&'''"'4'F'X'(*(<(L(`(t(((((((()))").)@)L)t)))))***,*@*R*d*p*|*******+ ++0+@++++,,$,,-^-j-v----------...*......///,/2^2~222222222333<3D3X3l3333444D4r444455&565N5d5555566b66667<7N7777788L88888899929j9r9::$:6:`::::::::;;T;\;;;;<4>(>\>d>>? ??B?l??????@@2@@@@AA*A^AABBXBBBCCCXC`ChCtC|CDDJpJJJJK$KhKL.LLM M4MHMPMpMMNN>NpNNNNOOqqqr4rtrrsNsst:t|tu&u6uFuVufuvv*vLvxvvvvwDwxwwx xFxnxxyyjyzRz{ {n{~{|$|p|||}}P}|}~(~`~~6R(Nnށ*`ʁFlڂJRZbnvĄXƄ΄:܆Llt|؇FވN*~ƉΊ 6t*x:z.VdҎ:TxЏ܏ $0H2. %#!"&543!24#!"3!27.!@ 4 ai4 8 iW@ rr++23/01353W >=L?320153353=r+r%?@   ?3?399//333333333301#3##7##7#537#537337337# .l/x-l.p!z/l0x.l/z w!dd^牉"S/ >@@ .26:!  ::++!! ?3/33332?3/33333901%3#773.#"#".'732654.'.54>32 CC 09CC%5> 89$H6Fg7*J_45ka)= .AO(8:.S7DZ,FvH2YN@#  t*&"1OA9Q2)w &# $/H6Ic3$#/?E)@@EE8((0 rCBBr+22/32/3+22/32/301".54>32'2>54.#"".54>32'2>54.#"  .J--J..K,,K.    .J--J..K,,K. !! %=)E**E((E**E)C&&&'(E*+D))D**E)C&&'& IV6(<@,; $ r3 r?+2+2901!.54>3232>53#".54>7>54&#"*33Y72U6/N1$;! 9#+Q@%m:b|CIl;4P(,< %!+&b-A63M*#F4/L@,10*MlC_g6;`88TA''!-)W= ?0153=r" //01467."V?f+)E6b)E([ej+Rgn3P]1?//01'>54.'7(D*b7D)*g>V[C?1]P3ngR+j3% @   ?2923017'7'37'K/GIGHF/4-.G:MM:G"KK/v  /3333301##5#5353vgyggylqqlqq:/99017#53I*t)sww:iO/20175!:/yy: r+201353:n rr++01 #:15U r r+2+201#".54>324.#"32>5CuJJuCCuJJuC8$%88%$7 %XNNXXOOX6Q..Q66P..Q,;@ r r+23+22/301%!53#52>73j &0033%yyy/ }  >&E)@ r' r+2+2990134>7>54.#"'>32!&#=/)>+()# U/AO-D`3(/2& 1-H>7!! b!+L3#6) ym@.@ 'r/3+29/3301%#"&'732654&+532654.#"'>32}*>#@uOLu'LI5=@JK=E--JTI_4Dg: 91L.>\31/_ %1148d8*$*&^-,P5'F/; @  r/+9/9333015!533#358O[XXܭwSx k ;"@ r/2+29/301"&'732>54.#"#!#>32M| MT-$7 4!!9uR^ ."Cj327.#"32>".54>327ApG!:,$B-,LM'qCT|C@uPJuE"<$#<$$;$$7.54>324.#"32>32>54.#"0GvFGuE"3)*FS)(TF+)4 $, 7"#+ 8"/--.Bb7:eA(A/ (4/J32I05) 0B!'0 '0A&%$% f);.@ 'r /3+29/30132>7#"&'32>54.#"%2#".54> AqE"9- %A-,MM'rCT|C@uQIvD#<$$;$$<#$<DCk?$@[0+%T6:\gNBpA%=$$;##;$%<%E rr+2+2015353EmmmvG @  ?3?3/3301537#53Hn`*u)vww @ /3/3901% Z >w /320175!%5!>99WWWW=@ /3/3901%57'5Z"$(@ &&% r+2?33/0174>7>54.#"'>3253z $!-*+. W?S-&J<$(5#lo 90 +&$<):0J4 2' )"銊*n[Uh)@^'1 fEL ';/22|/322/339/3012#".'#"&54>324.#"'>3232>54.#"3267#".54>>=.#"326Ji<!9+$'X3JO7W-(:2-)D%W0AJ! ".VuHFvU/,QrF/H%)Y,Kc9>j| <&0$0[1a\:B;&&%O=7?$8G'?I"`4 '<=FwX0/VuECuX246dTY_2 &$!  D@'     rr++29/33399<<<<013#'##  BAbf:%J&@rr+2+29/3901%#!!24.+32>32>54.#>i>|2I'42=G%)ٸ&#32.#"32>7#"./ZSb#j:B 4M47M.!D:q_v:L~[3hA}g=VEI(/*DT*/WC'0&A5J&?iJ @ rr++23013!2#4.+32>JtNVk2^CxxD^1_blXdEi;,=kJ7 @  rr++29/3301%!!!!!7+yyypJ' @ rr++29/3013!!!!Jyp  &@#"" %r r r+++39/3201".54>32.#"3267#5!#qE{]44^~Jd$ga9-J69L.6c+YOr8cMIb8UFL58&BV03V@%86` eJ @  rr++9/32301#!#3!B:/J rr++0133J: r r++301732>53#"&'& B-'2 4iW0L 6V<tP`4J @  rr+2+2901333 #J*!ZRu2^J>rr++30133!JjyJ @  r r+2+2901!##33Mԓ[.l:J @ r r+2+29901#33#Ԋnos8,;'@ # r r++2301".54>3232>54.#"yN[25]LMZ24]5M12N45M03M4hDFe:h.VC')EU+.UC')DTJY @  rr++29/3013!2+32>54.+J-1R="8bC(+(DT,32'2>54.#"73#yN[25]LMZ24]J2N45M03M45M#=fDGe;>hDFe:z)EU+.VB()ET,.VB(J@  r r+2+29/33013!2#'#32>54.+J:1S=!:'(+(DT,-S>g4 "3G2@ *".r r+2+29901.#"#".'732654.'.54>32%5> 89$H6Fg7*J^55jb)= .BN(8:.R8CZ,EvH2YN *&"1OA9Q2)w &# $/H6Ic3$]@ rr++2301###5!]OMMy@@  r r++3201".5332>53wUwI"(B12C'#Kv9dEj,SB&'BS+jIa7@ rr++29013#":$@  r r+2+2/2/29013733# #37=QRzZɖw}|wX':* @   r r+2+29013#'#^h@ rr++29013#5N2Q @  rr+23+23017!5!!!%hyhyR  //32013#3R??( kkc rr++01#L:. //320153#53.@@(k6k'/"r+22013# 'pn/i&6/3015!6oyyy/I /9013/|7Vw'8+@!66$/$ r r r+223+2+9/3330174>3254&#"'>32#"&/#".%>=.#"3269fB!D;:+N++4m32'2>54.#"g<^u[=3T=!%BYZ 5'#=)5) $' 6/[/6+Lb88bK)r*9+I,.}   @  r r++2301".54>32.#"32>71@fH'C|UUz8"&?$%>&+"E] +Mb6J{JJ<('G/.G)('>#]/@+! rrr r++++332014>323#"&/#".5.#"32>32!3267!.#"0?fH'C}UVzAk'=#(G sG`%<%$;% +Ka6K|KK{G (<' (>#:(;!!;@  r r++2|?333013#5354>32.#"3#]EE+O5 A ("$f A_4e 0.%fv!>"6!@#- r r rr++++33301".54>3253#"&'732>='2>75.#" 4W?"$AY6=\uKTUv*I[3+G+_(" +52$'5)J`69bK)7.\ No;94G%*A3B-1k!}./9 8*=$@ r r r+2++29901!#4&#"#3>32$/)6+ d;3@$&=<1 28#;I'= ??2013353= U< r/2+201"&'732>5353%D: 1Q[ 8X0=2 @  rr  r+2++901!'#373GӎFF<@ rr++20133267#"&5<" H?E$f C>=k$%@rr  r+22++293301!#4&#"#4&#"#3>32>32k+&'G+&'GydAAI c>1=" &>;=1&?:<1 a37@/69#;J&=$@ r r r+2++29901!#4&#"#3>32$,'7, y>Q-1?! &?:1  a"/#;J&A#@  r r++2301".54>3232>54.#"/@fG&&Gf@@eH%%Gf$>'&>%%>&'>$ +Lb67bL++Lb76bL+.G()G.-H()G=+\'"@$# rrr r+2+++2901"&'#3>32'2>54.#"w=]u\;5YB%;gp2%(5'$ )6 7/Z.5*Ka8L|Ir-9!8+  {0+=&"@rr  r r+2+29++01".54>3253#'2>75.#"2T>!%BZ4<\u7:u=`{V0 /, p6>+@  r r+2+29901"&'732654.'.54>32.#"Cz,0/[*'/1#:N'5_@8d)6(H%%+?W,r ,+W&$ $7+4K*#'U  &70NXw@  r r+2+23301%#".5#53533#3267w07%>%EEnn(  9.-gg8B @  r r r+2+2+299017332>73#"&/#"&8,+3+ $-#nBQTH<=* Em!*57i  @ r r++2901333 nF  @   r r+2+2229013#'#37'373pXVq~=[o67o[>  tࠠ @  r r+2+2901?3#/#n mq p  @  r+2?3990132>733#"&'H  ϋ| 1I- f1, }#9! @  rr+23+23017!5!!!!$JR\^R^*   //33013#"&=4&'52>=46;7 y# %k %^ kO~//013Orw2//33015323+535467.=2 7yk ^% k% #8h  /33220174>3232>53#".#"8 5($96 J!7)$;4 +/"(1#V  ?/201##5܆> '+)'@%% $$ ?3/333?3/333015.54>753.'>7#3W@#7jL54.54>32.#">323267#".#"9y$/ 7^9=> F }e=@%A?@#2Q/81R",&59D(89  d .p7"2 '//3/301>327'#"&''7&5467'732>54.#"65E7DE2H6 7I1ED6S+))+G7C77D2D E2E0:6E7././.@   r ?+29/9322333013#3##5#535'#5333Ix$"xJWCWW AW4VQ~//9/01##rrrvv+?R!@F=I@MP8 1'r/3+2901%#".'732>54.#.5467.54>32.#"%>54.#"&'+DL#(D7) V32'2>54.#"7".54>32.#"32>7Pe88ePRh88hREuY10XvFCtV0/WsM7[B$>\=Np ")!(# ' r26` r+22+229/3301".54>32'2>54.#"32#'##72654&+Re88eRQf99fQZU0VuEEsV..Vs])?$$gk\@_!Z6bNMa66aMNb64OZApU//Tp@AqT0,C$3' #! <yh(  r+22014632#"&7327>54&'.#"(;+-::-+;K  q*99*0:7>54&#"'>32390?*/(/# 3 2L/RT).!(5G2 "! : G;"/ Nu0,@ &BD?229/3301"&'732654&+532654&#"'>32=\*!1 '9AB::4'916B 2J+.(,42Q('6 H<5"".=)(6/IM,\ !@ rr r+2+2+299/01332>73#"&/#".'#M,.2, %- 2A$&  <=* Er$&3" #c#@  r+233/39/33301463!####".7%#3#&Fq3rEg8p5 7=33ydN  >pM.A%.RU:/01753:n7 0@ BD?3322301#53#52>53N '+QOO O$S@?3201".54>32'32>54.#":T,,T::S-,T'''(S4V12U44U21V4//-/:.e $@   /333/393301%57'5 57'5e߱ngmmAngmm X&'c*  l"392@76613&&%%1499  r+22/392/3/9/333/301!4>7>54&#"'>323#53#52>53  70=).'/" 1 2J/OS(, (N '+Qn=5F3 #! :!F7#".54>7>57#5h"",++-" W?S.%J<$'3#ln 9/ +'%<):0J4 2' )"銊&&/01&& /01&&/01&&v /01&&l  /01&& //301-@    rr+23+99//333301!!!!!!5##V"i՟yyy)7&(J7&*/01J7&* /01J7&*/01J7&*a  /01&./01J&.6/01)&. /01&&. /01@ rr+2+29/3015!!2#4.+32>EtNVk2^CxxD^13dd_blXdEi;,=kJ&3/01&4+ /01&4#( /01&4. /01&4( /01&4 ,( /014Y &@  /33/33392301%''7'77TggSfbTbcSbSggTfcSbcTc&4@&:/01@&:/01@&: /01@&: /01&> /01JH@    r r++99//33012+#32>54.+f1S=!7cB(,F)CT,54.+532>54.#"#4>32>Q!3#$&:d@8X3'AJ.Of8u47"1x! .  8W1(I3">+ fH9R3&Fe</01&F9/01&FX?/01&F59/01&F, =9/01&F KBB//3017IR/@NR%C%%r)118 r+223+299//332301".54>32>7.#"'632>32!3267#"&'726767.'.#"%.#"3Q/9eA >:5*P+)hs>\!_:U{Cf)?%(G sG`:Js$IQ!>34C)2%<&&=$ +L/2L+  ,/UC&$"(K{I (<' (>#;1&0b % .%%(<""<(7&HB&J) /01B&J& /01B&Jv, /01B&JJ *& /01&/01= &'/01& /01& /01D+3"@(/0.-12,3  ?3?9/9301#".54>32.'332>54.#"'?D)Ke'(>$$='(>$eo*q'q&s"FoN)@nE2VB%+#/YSO&#ew}t%;"$=$%9!";= @4? B=$&Sb/01A&T' /01A&T$ /01A&Tv* /01A&TT$ /01A&TJ ($ /0160# @  /3/333/2015353%5!qqqkkA#'+/&@+-,*%&)(// r'' r+22/+22/901".54>32'2>54.#"77'7'73/@fG&&Gf@@eH%%Gf@&>%%>&'>$$>g8IS17?AX +Lb67bL++Lb76bL+r)G.-H()G..G(l)Vb$4 O8B&Z!/018B&Z/018B&Zt$/018B&ZH "/01&^/01=+>'@r r r# r+2+++201#"&'#3>324.#"32>>)H_6-: 93;^C#8'*  '/#7eN."%2Rd1+I,$-:&^: /01&& /01&F@9/01&&/01&Fl@/018&&8&F>&($%/01&H! /01&(+/01&Hw' /01&(%/01&H! /01&(*/01&Hw& /01J&)/01 &I* 2V+4@ rr+2+29/3015!!2#4.+32>EtNVk2^CxxD^13dd_blXdEi;,=k}3(@ ! / r r r%r+22++2+29015!4>323#"&/#".5.#"32>T)&L= /01 &,. /01!>&L> /01 &, ' /01!>&L7 /01 +&,*İV+4!>&L; /01J&-/01=$&M /01!@   r r+2+29/33/3015!'#!#3!2BLL:/$@  rr r+2++2299015!#4&#"#3>32)/)6+ d;3@$UOO&=<1 28#;I'K&./01<& /01&&./01&/01 &. /01& /0138&."8&N  V+4J&. /01=  r r++0133= J&./=<&NO&/ /01<& /01J+&0ΰV+4=+2&PΰV+4=2 @  r  r+2+2901!'#373HҏG J>&16/01<@&Q&/01J+>&1 ΰV+4<+@&QE ӰV+4J>&19<&Q V+4J>&1{3Y<|&Q{  V+4G @ rr+22/3+2/3017'%3!!M!jII<yX@   rr+23+22301'%33267#"&5!"1"! H?E HH$f C>J&3% /01=$&S/01J+&3 ΰV+4=+$&S ΰV+4J&3/01=$&S/01$&S,./01J<@  rr++2/3901#33#"&'732>=Ԋjf1T1%E: =428T/[ *=<#%@rr r/2+++29901"&'732>54&#"#3>32n&D9 ,'7, y>Q-1?! 1R[ 4?:1  a"/#;J&8X0&4( /01A&T^$ /01&4/ /01A&T+ /01&4 ,( /01A&T ($ /012%@r)r rr+2+2+29/3+201%!5#".54>325!!!!2>54.#" ?L+K|Z03\{I,K=0J23J./J24Jyyi 132>32!3267#".''2>54.#"%.#"-N|GG|N-M>&hDNyFl'?&*G oI_6)KBAG('>$$=('>$#?M'<%%;$ GzNN{G7'==D{P %=$* )?!5&'5r)G-.G))H.-F)(<""<(J&7/01=u&W/01J+&7ΰV+4=+u&WΰV+4J&7!/01=u&W/01G&83./01&X,/01G&89./01&XF2/017G&87&X]G&88./01&XF1/017]&97w&Y@]&9 /01&Yi @  rr++9/333015!###5!I.O#KK*Myx@  r+2?3333/30175!#".5#53533#3267 %307%>%EEnn( PP 9.-gg@&:/018B&ZQ/01@&:/018B&Z\/01@&:!/018B&Z%/01@&: ,##//3018B&Z 0''//301@&: /018B&Z "/01@;&:88B &Zb&<U/01F&\/01&>/01&^f /01&>e /01Q&? /01&_ /01Q&? /01&_ /01Q&?/01&_A/01 )@ &&r! r+2+29/301".5467!.#"'>32'2>7!qO]2#6C%&E3 \zFM}\11[~M4S4y7W;d}A +G21!/8R/5#5354>32.#"3#%E: DD+O5 B)"$2R[ vgAA_4e 0.Fg6T/&4 (#V+4Ad&T6 $ V+4@$&:% V+48d&Z  V+4J &3@ r  #""!& %r+232923?33?3+201%!5!!)!2#4.+32>7#'%`tNVk2^CxxD^1UUFk`khyhy_blXdEi;,=kr?? eeJ &3@#""!& %rr?2+2+232923?33013!2#4.+32>!5!!!7#'JtNVk2^CxxD^1!$JUUFk`k_blXdEi;,=k\^R^?? eeU/9@A@$0669 =<<;@:?23r+ r  !r+2??3+29+22923?33014>323#"&/#".5.#"32>!5!!!7#'&L< /01>&48A&TJ&)?J&)_U&I_ &,x' /01!=&Lx7 /01 &Q@,        ! ?3333332??9/333//9<<<<01'733#'## 4632#"&7"32654&rV6}ČBAbf://:://:i#l:%*11*(11T&F'QKBB//3301& /01&xS/01&4&#, /01A&0 /01&& /01&FA <@/01&&/01&Fl=/01J7&*w /01B&J_ )- /01J7&*/01B&J* /01 &.  /01&  /01 &./01&/01&4 +/ /01A&T_ '+ /01&4, /01A&T( /01J&7j #/01u&W /01J&7 /01=u&W3/01@&: !/018B&Z] !%/01@&:/018B&Z"/01+G&86ӰV+4+&X/ذV+4+]&9 ΰV+4+w&YiӰV+4J&4'~0,,( //01A&T&J^,(($ //01S&4'D(( //01A&T&T^@$$ //01S&4' ,@(( //01A&T'^($$ //01&>y /01&^N/01<  r/+301"&'732>53 %E9 2Q[ 8X0;%@ "" r r+2+29/301".'467!.#"'>32'2>7!)V{B(<#)G rF`:@fG'B{T%9%'< K|H );' (>#+Jb7J|Ka"<((<"=_=`G/I /901'73V6}Iw5 /3201526544/::5//1*)15  /3201"&5463"3.;;.51)*1/USUSQ}//01#rv<yh/3015!<,ySS= /0153=r#= /01'3_"rQ~//01#rv!T'2\5?8W/222201".#"#4>3232>53+$J -!(%J /Z *- (/"!IZ/I /3013/|7Vw/I /201'73V6}IwUS/39330173'jajEUUuee ??W@ /2/222/01".#"#4>3232>53+$J -!(%J /Z *- (/"<yh/2015!<,ySS!T'  /32012673#"&53"GI:9JH$* :LL:,2\/01532y\~~M\| /220153353MoQo\wwwwT /3201'>32'>54&#")1(+!" )+0%  5   /32014632#"&7"32654&;./::/.;i*11*)11U!IZ/223301'73'73cB0hJA/iIwwUS/2923017#'dUUEjaj?? eeIL/3332013'3i/Bh0Bww!T'  /3201"#4632#.$HJ9:IG",:LL: *G/99013#57'q(?TT?2 /2017267>732#* a3?\ !.+ 29/01532y~~M9| /3320153353MoQowwww=+ /9017#53I'q(H^^H7  /3201"&'732654&'7>"-(49G %=,*9?8 /32014673.?24*%&'$2;n"D+L&!E'  /32012673#"&53"GI:9JH$* :LL:,<]h/3015!<,SS2WL/30175!2%PPy@ rr+222+201!5!pRhh^&-#@" r,,r+223333+201353.54>323!5>54.#"&0E&2]|HI|\3&F0%;*5L//K6+;%fQf:D|a88a|D:fQff 7JS+)O@&&@O)+SJ7 f=,L !#@   r r rr++2+2+2901332>73#"&/#".'=,.2, %- 2A$&<=* Er$&3" o @  rr r++233+201##5!#3267#"&5K7`  G=Ejtt f C>J7J7&la  /01#!@rr r+2++239/301"&'732654.#"##5!!>329"!5F%>'(V')*`3In<  k 9@+9Quu:iHpwL&/01'@ r r+2+29/3901".54>32.#"!!32>7{O\1.ZVd$k:E!+E3"7G)"F;qaw>iDB~f$n(F40&A5J&G8J.&&.l/&#@& rr++29/3333015>?!32#!#%32>54.+%5#~Lk75gJ+AV*t&//(sw$Vz7cDAd9M~si<u21L'@rr++9/3333320133!332#!!%32>54.+L%~r|6fJs&00(rub@c84p0.@ rr+2+239/3013#5!!>32#54&#"$U0r|=E(LQuuvϿCCL& /01O& /01&|/01Jx} @  rr/++223015#3!3#+ ݈M:&L @ rr+2+29/3013!!32#'32>54.+Lwx4fNȵ(00-wp^?`7w-+J'Lrr++2013!!Lyx@  r+2/23330132>?!3#5!!#&(^yR$*\idh^J7*)@  rr+22+229/3339901333333####<<Ϡ>?pV++'7-@' r r+2+29/3901"&'732654.+532>54.#"'>320W(gP6@?6)UV -1&6Nc(}]Jj;/3?!$DgH%6%Mxi+w Tz:J2J-4L@ rr++23013!#!L?:MJY5(]9@  rr+2+299015326?33#8 昿B7r#|5*#-@- $?223?22301!5.54>753'>54.'\@rX35Zq==rY43Yr>2T13B1T23B%@.RqDHqQ,66-QqGFpR-@2W?/I31W>/H4=Jy @  rr/++233015!3!33[^M<Z@  rr++9/3201!#"&=332673 *@+||AO#F ny?; ;:J @  rr++332201333333JييMM:Jy@  rr/++23333015!333333ˊيي]MM@ rr++29/33013#5!32#'32>54.+0Om:8jL)33+Tr8eEDh:p 5!4!JN @ rr++9/3323013332#'32>54.+3JOm:8jL)33+8eEDh:p 5!4!;L\ @ rr++9/33013332#'32>54.+LOm97jL(43+8eEDh:p 5!4!$)@% r r+2+29/3901".'732>5!5!.#"'>32IDpTr6E'0N78D66L1&D4m+jSZ/1])J2A!1%AU/&f%*N<#0#KDW32'2>54.#"XV lm YUcSV_=U,.V;3!##*#35#"7BK?>32'2654&#"B"BeB0H+hJFj;?yX>IH?'=$ = `V69m:1M:19#= %@ %r r+2+29/39013!2#'32>54.+532>54&+=$6C ').:.V;! $:!,B ?31?[T#= r r++2013!#=[ ui^ @   r+2/233301532>?!3#5!73##IuAƎ 5^Ii&AB[9BJD )@  r r+22+229/33399013'3353373#'##5#),,*+@%r r+2+29/3901"&'732654&+532>54&#"'>32Tp l7)/3*)67'*#-eiF7W2!%018`<51%"S 618"@0"@D.2E#=( @  rr+2+29901333#=z YP=(&f /01=$ @ r r+2+29/390133373#'#=-Ι+  @ r  r+22/+2015>?!##& 9Tw5`K=gO"= @  r r+2+2901333##'=T /S= @  r r+2+29/30133353#5#=Ԇ AT= r r+2+2013!##=ֆ i=+\UH @  rr+23+013#5!#ӧuui @   rr+2+29901"&'7326?33+ ' ԋ|8H j$%+ }0C$+$/%@ r/ r% rr++223+223+015#".54>;5332+3#";2>54.+1Su>?uRRv>>uS&;"":';!":'IwEGwHHwGEwI@5(F--F''F--F( ]=K @ r  r/+23+2015!3333hJ ii. @  rr+2+9/301!5#"&=3326753a='S^)+0 YV/, = @ r r+23+2201333333= ii=g @ r  r/+233+22015!333333KJ iiiS @ r r+2+29/3013#5!32#'32>54.+x^c*R=k##jl`O5T/f$#= @ r r+22+29/3013332#'32>54.+3=\_d+R=eP"#Oq `O5T/f$# = @ r r+2+9/3013332#'32>54.+=w^d*R=k##j `O5T/f$##$#@ r r+2+29/3901".'732>7#53.#"'>325]Gk@(%<)&;''>evQCfF$$Gf ;(2$%!8#W 6 $58B,Ma45aM-=&!@ rr r r+2+++29/301".'##33>32'2>54.#"GjC RR ClEUv?@vT&: !:%$9 9 7a= >a6J{KK{Ir(F/1G&'G00G&!@  r r+2+29/330137.54>;#5#35#"!/70T7GsWc^$*% L>4L+( *B&JE) /01B&JlJ *& /013F-#@!%%r r /2++9/322301".'732>54.#"##53533#>32Z$6&\) 5-,:NNQ4E^09ZC9V=FU'1*P{{P(,=mH_6=&/01"@ r r+2+29/3901".54>32.#"3#3267/AfG%$FhBQve>(';&(=%(?k  -Ma54aM,B85$ 6 W#8!%$2=DX=N&l<O0 $@$ r r+223+29/3015>?!32+#%32>54.+&b^d*S< 9TU"#Uw5`K]L4Q-=gO"l"!=> #@r r+23+29/333013335332+5#%32>54.+=Єe^d*R=TX#"W ı]L4Q-f"!)'@  r r+2+9/993223013#53533#>32#54&#"AMMV9bS/1.>#PggP(-e_880+=$& /01=(& /01&E /01= @ r  r/+22+2015#333#ﲆɆ i @ r+2/9/32015!332#'32>54.+ ЊOm:8jL)33+)UU8eEDh:p 5!4!'@  r r+2+99//3333013#53533#32#'32>54.+Xqqw^d*R=k##jSS`O5T/f$# !@ r /22+29/3399013!####!7!??i]$$] !@ r /22+29/3399013'!#'##5#37!̸ ͡$#fw8|A}@ rr++93301!3>;#"IF<(! B=r H @ r r++9330133>;#"cF@9$  h#=8gWv& /@ V /01+4Ev& V+4@ rr+2+9/32015!332#'32>54.+{抑Om:8jL)34+'PP6dDBf9p 5!4!6 @  r+2/9/32013332#'32>54.+'5!v{^d+R=n"#m^M5T/d%#YYSj '@  rr++29/33333013!2+32>54.+7S-3U@"9gE0!2~88&BU/@l@^6%&6,,C+\(,'@ rrr,++*)) r+23323+++201"&'#3>32'2>54.#"?}=]u\;6W?#"=QW3$'5(% *7&12 7/Z.5*Ka89cK*i-;"$;*  {4T-,Lbrr++3013!53!L;xƜ=r r++3013353#=w i @ rr++29/3015!!!YYy  @ r r++29/30175!!#^\LL uiJx@ rr/2++29/301"'732654&#"5>32%!!96""2DBK+I)(\0{GֈpEMGPx{y== "@ !r r/2++29/301"&'732654.#"5>32%!#A">,7-0!3&G&9[61_[VM>2=\5eKLu@ uiy!3@  rr/+2323+229/33399015#53%33333####9<<Ϡ>?⇇ypV++Z 3@    r r/+23+229/33399??015#53%'3353373#'##5#;),,*l'w71'@+$r  r/+233+29/390157'"&'732654.+532>54.#"'>32r;W(gP6@?6)UV -1&6Nc(}]Jj;/3 V+4=n &! V+4J@   r r+2+2239/301'!%#!#3!׉BMyyy:/= @ r  r+2+2239/301'!3353#5#[KԆuui Jx+!@rr+2/+2/39/3013!#!"'732654&#"5>32J0f96!;BNE&L'(\0Sp::MjOPRTlCyQ==p $@r r /2?++29/301"&'732654.#"###!>32!?,7-0!7ʆ&K"9\51^VXG8Bi 5gLUI)B6F+@C'rr0;; r3 r+2+23333+2+201%#"&'#".54>&3267.54>323267>76.'&B1zH;p-0f@Og:1Y{K1N,>oI%&8P^HuR,/_H ?\%$!!'N>+ &G9Q+,3aXHe6w3267.54>3223267">54.U ]1+P&W0ZM)Jd<#5*Q8  -1BtLLq?LM +E)>"3#.E'$;&ES6cK(c-G*1V5"d;fBGv#."?+#C5 1F+/=w'5.54>32.#"32>7BAkL+/ZSb#j:B 4M47M.!D:qG]1 Dew>A}g=VEI(/*DT*/WC'0&A,A*"@  r! r+33+2015.54>32.#"32>7Ca4C|UUz8"&?$%>&+"5I,{ Np?J{JJ<('G/.G)(!7$zy]&"  V+4 &!  V+4> + @ rr++2901533Nj~ a#@   rr++29/93330135#535333#WV2 W+# #@   rr++29/3333015#535333#zzdžvvՙ< V<y"@   r r/+223+29015#533#'#76yM^h$ "@  r  r+233+29015#53?3#/#(tm np qlyk!@  r+23233/3301+5!5!3!33%^MyM "@   r+23333?3301#5!#5!3333u rJuu ii32#54&#"# *@+}z@P#F ny?; =$M\09%@,5 5' r1r+2+29/33/3901467;#"&2!32>7#".54>"!.L&'xenM~Z1"6B$'F4 ]xCL|Y/0Y}M4S25V9)cLJ;d}A +G22 /7S/32!3267!.#" 7 'vO[9^E%%D_:Sv?u*?!(E nF^&;%$>(W1 QE+Ka68cL+K{G (<' (>#6)=""=$yg4='@9+"+ r5r+2+22/9/320157467;#"&2!32>7#".54>"!.wM'&xenN~Z0#5B%'F3 ]xBM{Y00Z|M4R35VXK9)cLJ;d}A +G22 /7S/32!3267!.#"RxG7 'vO[9^E%%D_:Sv?u*?!(E nF^&;%$>()1 QE+Ka68cL+K{G (<' (>#6)=""=J.&J/01D&/01S'$!@rr/2++29/33301"&'732>54.+#33:336  ,%@Q+>. ӚCh=7^ h"D32ZD'eMUy?=, !@!r r/3++29/3301#"&'732654.+#33:373g4K*.Q63&$(C(8!*QmBGi9 c =554&+517!5!-Nh<DuMZ(hT8*9CIP&>K&Hi9F?@&-6$4A`yh# @rr+2+239/3301"&'732>54&+57!5!3O&RO3-A"XNB jq*I]@=F)/:(>B\o^ tY:Y<O&s /01=(&sc /01O&  /01=(&O  /01& ,( /01A&J ($ /01+#@ "'r r+2+29/333015!".54>3232>54.#"tN[25]LMZ24]5M12N45M12M4@QQhDFe:h.VC')EU,.TC')DTA'@ $r r+2+29/30175!".54>3232>54.#"q@fG&&Gf@@eH%%Gf$>'&>%%>&'>$99+Lb67bL++Lb76bL+.G()G.-H()G&| 0,/01A&}J ,(/01$& .* /01#$&; ($/01&sy/01&sB /01&e /01&.  /01& /01&q  /01<Z&r  /01.&* /01Ly&"r V+4= &!D V+4JN& /01=& /01$(@r /2?33+29/301"&'73265#53'!!5!;  //j0VgX:;\\Eb5yYY + @ r /2?33+29/301"&'73265#53'!#'5!y7!,,R0TS[^ X<5QQC_3 uiLL$@ r/2+2901"&'732>54&/#33= "/P h  2^h+S$2O.,  "@r /2?+2901"&'732654&/#3?3k-Dpn m[(*'F c$3^{7^2-F( @   r+2/9/339015!3#'#4PP^h  @   r+2/39/9930175!?3#/#2n mp pCC&):-@ r' r+2+29/3901".5467.54>32.#";#"32670KwEG@=9?kB\}.[M8&51!UU(7C>5Qh(.[B=\T1>V-E?F%.+*`/-9-&@?F"/@ "r) r+2+29/3301".5467.54>32.#";#"3267Bg;64-&Lh7 /01J9&-=9$&M ΰV+4JE&-=E$&M! ذV+4&X&.'6~ //01&&' //01J9>&1ΰV+4<9@&QO ӰV+4J]>&1~(]T&Q V+4J9&2B=9k&Rc& ΰV+4J&3 /01=$&S/01J9&3 ΰV+4=9$&S ΰV+4J]&3 ΰV+4=]$&S\ V+4a&4'#D(( //01A&T&T@$$ //01[&4'HD(( //01A&T&TJD@$$ //01S&4'y/(( //01A&T&^+$$ //01S&4'$y,(( //01A&T&^($$ //01J9&7ΰV+4=9u&W ΰV+4J]&7V+4]u&WV+4G&83./01&X,/019G&84ӰV+49&X-ذV+4Gh&8'733.//01&X'0,,//01Gh&8':88.//01&X&F311//019G&8'4ӲV7./01+49&X'0-ذV+4/019]&9 ΰV+49w&YsӰV+4]]&9e V+4]x&YV+4@a&:'6//018B&Z&Q://01@M&:'z"//018B&Z&\I&"//01&<b/01F&\/01&</01F&\K/01&<) /01F&\ /01&> /01&^/019Q&? ΰV+49 &_ ΰV+4 w&Y  /01=<!@ :2-(r"r r+2++2901"&'732654.'.54>7.#"#4>32Bz+/-V)&/-!;N&)Ia8!'9$6D +Me9GoH /UC'+=S)l ,+W&$ %7,0B*5&/*H/D<\> /YB& "50PX9&&9&F:$ɰV+4&&/01&FC/01&&(v@//01$;&F(6@@??//01&&)5@//014&F)C@??//01&&*@//01B&F*MJ@??//01$&&+//01k&F+C@@??//019&&'/019&F'X:$ɲVC/01+4&&$//01f&F$hG@@//01%&&%//01l&F%eJ@@//01/&&&#//01v&F&mQ@@//01)&&'//01p&F'YG@@//019&&'/019&F'l:$زVD/01+4J97&* ΰV+49B&J'ɰV+4J7&*/01B&J0 /01J7&*k/01B&JT/ /01JY&*(k@//01B;&J(T-@,, //01*7&*)*@//01B4&J)0@,, //01J7&**@//01BB&J*k7@,, //01J7$&*+y//01Bk&J+b-,, //01J97&*' IJV/01+49B&J'v'IJV0 /01+43&.\/01&1/01J9&. İV+4=9&N ΰV+49&4 )ΰV+49A&T%ذV+4&4I2 /01A&T. /01&4(/@.. //01B;&T(T+@** //01&4)`2@.. //01A4&T).@** //01&4*9@.. //01AB&T*k5@** //01$&4+7.. //01Ak&T+b+** //019&4' )βV2 /01+49A&T'v%IJV. /01+4&E#8 /01A&F4 /01&E; /01A&F7 /01&EIB /01A&F> /01&E8 /01A&FT= /019&E 9ΰV+49Ad&F5ɰV+4@9&: ӰV+48=B &ZɰV+4@&:D$/018B&Z(/01@$&G*/018&H./01@$&G-/018&H1/01@$&GD4/018&H8/01@$&G3/018&HQ./01@9$&G +ӰV+48=d&H/ɰV+4&> /01&^s/019&> ΰV+4 &^E&>/01&^/01&>n/01&^D/01:iO:O/20175!:yy:"O/20175!:yy:fO/20175!:,yy:fOR8/99013#57($zx6/99017#53G(#zx:}/99017#53K(#8{&TT5w @  /329017#5337#53F(#j(#{x{x:}w @   /329017#5337#53K(#e($#~  //9/33301#5333#UxDx*~@  //9/333223015#535#5333#3#xpy@ypxM /301#".54>320//0^00//:  @   ?2332301353353353:nNnNn(q/?O_e5@`eeP@@XHH8((0 rcbbr+22/32/3+22/333232/301".54>32'2>54.#"".54>32'2>54.#"".54>32'2>54.#"  .K,,K..K++K.!   .K,,K..K,,K.!  !-K--K-.K,,K. !! =)E**E((E**E)C&&&'(E*+D))D**E)C&&'&C(E*+D))D**E)C&&'& IV6= /0153=r#=&__#.+@ /3/3901%%# mmgn:.B@ /3/3901%57'5B߱ngmm6rr+2+201'  =/IV6/%! BD?2201".54>32'32>54.#"5O67N25N68N;+"1 :*"1!'@K#&L>&)@K#&K>% >*)/ >*)/~/ @   BD?29/3333015#5733#'35;88`IE`o/&@ # BD?329/3012#"&'732654.#"#>73#>)H-/R45V-@%)6)4A  ."=)*@$&!2'"!3560I_ "/*@# BD?329/93014.#">327.#"32>".54>32*L3%>=3>*O.XgbS5Q./1./(=#=A3"zq]g'B%""!#/ BD?201#5!# lZJ[ /+:@  008B(D?329/33301#".5467.54>324.#"32>'32>54.#"1Q02Q/4!*1J'&K1(%1Q.,--&&&!1%; #;$'/ '#33#* 2  /*@  #BD?229/301"&'73267#".54>32'2>54.#".O+>4<>&1L+.Q4TbgS/.0-"2A=$='(B(h]qy"#$!Q%! BA?2201".54>32'32>54.#"5O67N25N68N;+"1 :*"1!Z(?K#'K?%)@J#&L>% ?*)0!>*)/ :U@ BA?3322301!53#52>53:a'/'!PNN PV"@  B A?229014>7>54&#"'>32391>*/(/# 3 3K/RT). )U5G3 "! : G;"/ NuV,@ &BA?229/3301"&'732654&+532654&#"'>32=\*!1 '9AB::4'916B 2J+.(,42QZ)&6 F=4!#.=))4~Q @   BA?29/3333015#5733#'35;88TaIDaoQ&@ $$# BA?329/3330172#"&'732654.#"#>73#>)H-/R45V-@%)6)4A  ."=+)@$' 2'# 3651H` "T*@ # BA?329/301%4.#">327.#"32>".54>32+L2%><4>*O.XhcS5Q.00-.7'=$>@3!yq]g'B%#"!#Q BA?201#5!# lZJ[ Q+:@ 0 8B(A?329/33301%#".5467.54>324.#"32>'32>54.#"1Q02Q/4!*1K&&K1(%1Q.,--&&%!1'&:!#<$'/ '#33") 2 T*@  #BA?229/301"&'73267#".54>32'2>54.#"-P*=4=>&2L*.Q4ScgS0//-Z! 3@=#>'(B'g]qy""#  " $(,0)@*/+-- r#%"'' r+2332+2332014>32.#"32>7#".#53#3##53#3# B|VUy9"&>%%>'+"D^:@eI&j>>>>>>>>J{JJ<('G/.G)('>#+Mb  M @ r?+29/32013!!!!'5!pIyph[[,6:>@7:>;; 6(/ r r+2+229/32017>54.54>32.#">323267#".#"!!!!8#/ 7^9=n%GN$& &$-,"!>==!E )mmW=@%A?@#2Q/81R",&59D(89  d S-S&7"@   r ?3+29/993201%!5!5!5!#33#7ΉnosSmR8,;J1 2^=@ / r #++$(PI (II( :3 r'' r+/33/+29///33333+201332+32>54.+#".5#53533#3267"&'732654.'.54>32.#"J2R=!7cBWN(,I/7%?$EEnn( =n'+*R'#),5F#/V:3Z&2$@""&9O(g(DT,3253#"&/#".%5.#"32>!!!!55a>6_#$.c7Ae: ,5"5 7"'#tI.[Aj?1&3n%!14@kD(#9"#5 !EE!,!@ ( r r+2+29/993201?!7!74>32.#"32>7#".!>?(/ZSb#j:B 4M47M.!D:q_v:L~[3JJJJQA}g=VEI(/*DT*/WC'0&A5J&?i  @  r  r+2+29/930175!33 # XҊ*!ZuIIuRu2^]@ r r++230175%5%###5!C8OAAAA-My Y!&@! r?+299}//33201!!!!!2+32>54.+ RR=$5U?" "@-/?  /(.0@.*++r# r+2/223+2/2239/3?01%3#3".54>32.#"3267#5!#VCCCCE{]44^~Jd$ga9-J69L.6c+YOr@ {8cMIb8UFL58&BV03V@%86` e '+/'@-,( )) r! r+2+29/99993201"&54>54&#"'>3232677!%7! pi)CJB*.5"F8)_Fmf*BJC)08&G:'d  N  ZO1L=527!&&VVK1K:329%')Y%11c11/,'@( r r+2/233+2/22301%3#34>32.#"32>7#".VCCCC/ZSb#j:B 4M47M.!D:q_v:L~[3@ A}g=VEI(/*DT*/WC'0&A5J&?i] @  r?+23}/3013#5!#5!OOkkR[kk)@ r ?+992330132#32>54.+!5!5!5!)2R=!!>*o)+{77(DT,-S>^!8#$8 yRDS$3@r?2+9013332>53#%5%5%Sf%-2aOrr 5(:_D%UUUU@@   ?3/3933/3012#4.#"#4>?wRvK#'C21B("Iw1CCN4]{E(M=%$=M)By_7/ @ r?+29/323301=!5!!2+32>54.+!W4S; 5bEw(+qyyBBn(DT,54&#"3267'#"&54632%F9!K<)A&?8<  %- drn+:H";%4: Y!"# LPFSw )!@  &r?+22/33/3?9901#33#".54>32'32>54.#"܉kros;S--T::S-,T'''(9.;S4V12U44U21V4//-/+ 23@'*-0  $0 0?33/3292/3/90173#5#'#3.#"#"&'732654&'.54632;WAFAW .%<9F8&M#8'94G5 =)ջ+@  )*-.@ '&,4>)@   r+923333301##5#5!3#5#'#3S_W_"W@G@W:qWջ+&-!@+-r! r+2+2233330173.54>323!5>54.#"!&0E&2]|HI|\3&F0%;*5L//K6+;%fQf:D|a88a|D:fQff6JS+)O@&&@O)+SJ6f#I @   r r+2+29/301%"&'5!4.#"3267'2!5>6,NE|RR|EE{SNo%`F,ON$&PMK|JH{K0##+'%tu$' h&'c*"(U;@O:77)@HH)#((1) &%% /33/293/3?33/33/39/33014>7>54&#"'>323  %"&'732654&+532654&#"'>3270>)-(.# 1 2J/OS(-(צ==[*!1 (8AB:;5'916B 2J+.(,42Q15F2 #" 9!G;!/ NIV6('5 G<4""/=()5 w&'c* &'c _&'c R&'cO !2@ + r"r+2+29/301".54>326<'.#"'>32'2>54.#"Ch<*H\2.E5%BJ&i:rzE~N.%3#;%2 7`;1VB%$  =H"N$&^h%11#:$4A.#'@ &% $' ?22?3201".54>3232>54.#"/@fG&&Gf@@eH%%Gf$>'&>%%>&'>$q2? +Lb67bL++Lb76bL+.G()G.-H()G;n@ rr+233+201%!53 nprhhh^L  @ r /3+23301###5!##PPRTttT  !@   /333/9933301!!5!57'5! Ŷ?W[t>}/2015!>kkyrr+2+201'32#".'#".54>2>7.#"!2>54.#"(7'%8(4J*,M0&7&'9)*N1-L9# #$$*""# $((2S32T1$$2T23S1%&#%%#'#Y^4  /3/301&632.#"#"&'7326'^B?H  &B?G  ;F ` Q>C `!5-@ @%)/3/22201#".#">3232>7#".#">3232>7P%('1 =$+( <%('1 =$+(  ),  s ), K @   /23/333/3017'!!!!V3=994$WW2Y @  /322/390175!%%2a^llPJCY @   /322/390175!57'5Cb^ll32.#"3#3#5354>32.#"3#]EE,Q8%D$, EE+O5 A ("$f 7X4f fvf A_4e 0.%fv@ r r+2?333+201#5354>32.#"!###]EE7O2&C=5F$(f ,L;!d*%v) @r" r  r+?333+2+201"&54.#"3###5354>323267=G$" 'WWEE5bDrl&*4B323!fvf,AY.lX  l 86@ ,$r61488 ?23?3333333+29|/3013#5354>32.#"3##5354>32.#"!###]EE,Q8%D$, DD7P2&C=6F$'f 7X4f fvf ,L;!d*%vD@@  #6r= r(11+..- ?2?3333333+2+29|/333013#5354>32.#"3#"&54.#"3###5354>323267]EE,Q8%D$, 9>G %" 'XXDD5bDrl'*3f 7X4f fvB323!fvf,AY.lX  l Xb>@#TTJMM<+A&F!0Jr80 r\ Y r` r+2+223+2+293333/301%#".5#534.#".#"#".'732>54.'.54>32.54>323#326>06&>%DD !!1. 5*I ')0J3!9K,*ZO30^+(!+-F/9[1J %RB>H# nn(j 9.-g:C3%% T   "1$*?*[!   0"9M( *(A'7O4g ? @  r+22/3901# #33?܍ܗ: -@ $## r r+2+29/301".54>32.#"32>7#'!uNY/0[OZ)m*9#/J31L1#>0 01Vu3254&#"'>32'6=.#"32>}\72R/$>Q,*B;:)Q*)1l=Mj78*")*%I*)+L/(@+ 39U #3aDÄ< $ ?&"@ rr&  r" r+2+29++01".54>3253#5.#"32>76[C$$?V2;]Rk *53%%A)1& *Jc99bK)8.VU,3F/.9+F*(>'"@r' r" r r++2+29+01!5#".54>323.#"32>7S66[C%3253#"&='2>75.#"2T>!%BZ4<\u'':73;H&/C)(#2*Z!-6M.H#7+E Y @  r r+2+93301! #333ffyj{izA oo+ @ rr+2+9901#73Tϊ~  uR7@CC=:r,++'0 rK H rO r+2+223+22/3+22/392/301%#".5#534.#".#"32>7#".54>32.546323#326707$>%EE#/(9"2$&2+$G^8@fH&%FhC0B ]YDK nn(  9.-g$9(7'54+ (+9!"9+()="-M`65aM,1EO$=M(gM/ ?@#    >/2?9/93339<<<<0133#'#3c88R/уD2/&@ >/3?39/3901%#!!24.+32>32>54.#26Z6I+>"-*4=z" /@ /*B$'HI 2} <2# ??3?3014>32.#"32>7#". (LnGSz]S'+@+-@'90 dQc1@lN*3cP0D6A-"2>#@2$;*:1SgDX/  >/2?301332#4.+32>DeEL]+Q;ii /3?39/301%!!!!!Qjj/jwcD/ >/?39/3013!!3#D/jc A3!'@ $## ?''/22/?39/301".54>32.#"32677#53#;;gM,,Oj>Tx\P.%=+.?%+Q$&Sp|d/Pg9:eM,C7D(*0@$%@0*'w$"XDN/  >?2/39/301#5!#3!5Nyyy//D/ >/?0133Dy/ y/  >??301732>53#"'' :&1.y.\MP7|%O<@iJ(!DU/ @  >/2?3901333#'Dy Q/GD/ >/2?0133!Dy/;jD/ @   >/2?3901!##33>By]/.D]/ > /3?39901#33#y^BybO/X m2'# ? ?2?301".54>3232>54.#"FBlN*,Pl@BlM*,Ok,A()@+,@()@,/Qf68eO.1Qf57eP-"?23? ">12?D/  >/?39/3013!2+32>54.+D9Z31V:$%/8U/0V6!%$ y3'+@  ?((** ?2/23/?301".54>32'2>54.#"73#FBlN*,Pl@BlM*,Ok@)@+,@()@,,Atr/Qf68eP.1Rf57eO.l3? ">22? "?1oD?/@ > /2?39/39013!2#'#32>54.+D:Y21#v$&/8V.#?2ѷ!&$3.@ '+? ?3?39901.#"#"&'732654.'.54>32 2B#//=,;W/$?Q,D46;S.-/'D/9K%;e<@l'  &>4/A(&!i  ';+:N(%/>/?3301###5!y;j<R/ >?3?301%2>53#".53F*9!yAeFIe@y"7g0= 9eL+-Nd6!=0O/ >?2/9013#f/{//@  >?333/39013733#'#37pEGpjIfkkfF-/b=/ @   >?2/390173#'#փ/쾾>/>?2/9013#5x/m! / @  >?33/33017!5!!!!VM[jj[jx @  r+2?3/333301333#5!!I~Jr(R3M r/2+90133#  }:( #-!@- r$ r+333+333015.54>753'>54.'\@rY35Zq>>rY43Ys>7]8":I4Z7 7G'FA6^NS\4AA5]RO^5A=lN:Z?"'77&7B% +@ !(r r+2+29/3301"&54>32'2654&+32654&#";y1gOA[0,*=I>iI69:7p99b)//)/3syFf7(L72H_OHa/n@::>58K1++2236+@" r% r+2+2901".54>7>54.#"'>323267O_*'UD%)!.;XoM@T)$I:?6303ET$r %@),9+ //6!?-*:)'  ;,3!>LD0@  r+2/2/?3/3/9/33333013'333373#'##5#),,*-+@ %rr+2+29/3301"&'732>54.+532654&#"'>32Kzc=,)8!<*<33>5-";VlI]i7.@KAlF=,$$ :&'7`4/+0 (38B`P9O_MIb28B Z8B&Z_/018B=2P  r+/3901# #\ o =$S=kR8p @  r r /?3+2+299015'./#"&5332>73;#nBQT,+3+*#"57ieH<=* E8g $'@ r r r r+23++2+290133267332673#5#"&'#".58+''F*''FyeAAI c?0>"  ?:=02?:<12a46@.59#;I&7 .'@' & # - ?3?3?3?933015'./#"&'#".533267332673;;hEAI c?1=" +''G*''F)!$39@.59#;I&H?:=02?:<128 @ r r+2+9/301"&5332'2654&+&p~h1U?$$?U32442f5hl>,J65J,n-()-L-2m @ r r+2+29/301"&=#5!32'2654&+q~ i1T@$$@T41551f5hlm,J65J,n-()-L-2=  @ r/+29/30175!!#l[SS ui?7-7%H.@ 'r r+2+29/3301".54>7.5463!!"2'2>54.#"6O|F:+-0eU ('9=U}DG|O'=$#>''=$$= >nF+OB>&HPr#r8')3232>54.#"^KtN'*QrGMsN'*Qr)@*-@)+?+,@) Bl}<@i?Dl~:Ah?g*SF+.HR&*SF+.HR+@ r?33+22/301%!53#52>73n%/180yyy |$)-(r&/2+20134>7>54.#"'>32!)#8)#KA)/!&A3T1EX5Nj72>!4@%b=]I8&*6'+'X(&7_>-E4)*$#y!2@ +#r r+2+29/3301".'732>54.+532654.#"'>329]EH ,B*)!<),C%Gy7&[*+!.d2.)/%a -1T6(B, 3M-?X0# @  r?+29/333301!5!533#35EU\XXֳxTy$"@r r+2+29/33301"&'732>54.#"#!#>32 M{!MS-$84! :uR^ ."Cj=Eu C9P'.6#"5z ;fCGm=.7.@ ' r r+2+29/9301%4.#">327.#"32>".54>327ApG!:,$B-,LM'qCT|C@uPJuE"<$#<$$;$$7.54>324.#"32>32>54.#"0GvFGuE"3)*FS)(TF+)4 $, 7"#+ 8"/--.Bb7:eA(A/ (4/J32I05) 0B!'0 '0A&%$%(1.@ 'r  r+2+29/330132>7#"&'32>54.#"%2#".54>(AqF"9,%B-,LM'rBT|C@uPIvE$;%$;$$<#$;Bk?$@[0+%T6;\gMApA&<%#;##;$$=%Qk :UlVmuVn~QooQp"TqQr QsTt%! B ?2201".54>32'32>54.#"5O67N25N68N;+"1 :*"1!'@J$&L>%(@K#&L=% >*)/ >*)/ :@ B/3322301%!53#52>53:a'/'!PNNN O"@  B /2290134>7>54&#"'>32391>*/(/# 3 3K/RT). )5F3 #! :!F32=\*!1 '9AB::4'916B 2J+.(,42Q('5 G<4""/=()5~ @   B/29/33330135#5733#'35;88aIEao&@ # B ?329/3012#"&'732654.#"#>73#>)H-/R45V-@%)6)4A  ."=**@#&!1'"!2660I_ "*@ # B/329/9301%4.#">327.#"32>".54>32+L2%><4>*O.XhcS5Q.00-.'=$=@3"yq]g'B%#! $ B/201#5!# lZ\JZ +:@  008B( ?329/33301%#".5467.54>324.#"32>'32>54.#"1Q02Q/4!*1K&&K1(%1Q.,--&&%!1{%; "<$'/ '#32#* 1   * #B/229/301"&'73267#".54>32'2>54.#"-P*=4=>&2L*.Q4ScgS0//-!3@=$>&)B'g]rx""#!/%! BC?2201".54>32'32>54.#"5O67N25N68N;+"1 :*"1!/(?K#'K?%(AJ#&L=& ?*)/!>*)0 2@ BC?3322301#53#52>53N '+QNNP1"@  B C?229014>7>54&#"'>32390?*/(/# 3 2L/RT).!(15F2 #" 9!G;!/ N*u,@ &BC?229/3301"&'732654&+532654&#"'>32=\*!1 '9AB::4'916B 2J+.(,42Q*)&7 G=5!". =()56~ @   BC?29/3333015#5733#'35;886`ID`/o&@ # BC?329/3012#"&'732654.#"#>73#>)H-/R45V-@%)6)4A  .F"=**@$'!1&# 3660H_ "+*@# BC?329/93014.#">327.#"32>".54>32*L3%>=3>*O.XgbS5Q./1./'=$=@3!yr\h(B%#!!#6 BC?201#5!# lZI\ /+:@  008B(C?329/33301#".5467.54>324.#"32>'32>54.#"1Q02Q/4!*1J'&K1(%1Q.,--&&&!1%;!#<$'/ '#33") 3  +*@  #BC?229/301"&'73267#".54>32'2>54.#".O+>4<>&1L+.Q4TbgS/.0-+"3A<$>&)B'g]ry""$ :/301753:n/I /01'73V6}Iw(=s  /2201"&5332673MXS(**%SX=O>(& >O"@ _/]2201".53326539S-^+0/,_-S%B)-* )B%+8u  /201"&'7326=36  '+h c<:auilvu/33017#533JB=3;  $0U h<*ZyDc5vy/33017#533JC?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a bcdefghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234NULLCRuni00A0uni00ADuni00B2uni00B3uni00B5uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccentuni0122uni0123 Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflexuni0136uni0137 kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146Ncaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentuni018FOhornohornUhornuhornuni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCGcarongcaronuni01EAuni01EBuni01F1uni01F2uni01F3Gacutegacute Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217uni0218uni0219uni021Auni021Buni022Auni022Buni022Cuni022Duni0230uni0231uni0232uni0233uni0237uni0259uni02B9uni02BAuni02BBuni02BCuni02BEuni02BFuni02C8uni02C9uni02CAuni02CBuni02CC gravecomb acutecombuni0302 tildecombuni0304uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Funi0311uni0312uni031B dotbelowcombuni0324uni0326uni0327uni0328uni032Euni0331uni0335uni0394uni03A9uni03BCuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0462uni0463uni046Auni046Buni0472uni0473uni0474uni0475uni048Auni048Buni048Cuni048Duni048Euni048Funi0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04AD Ustraitcy ustraitcyUstraitstrokecyustraitstrokecyuni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CEuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni04FAuni04FBuni04FCuni04FDuni04FEuni04FFuni0510uni0511uni0512uni0513uni051Auni051Buni051Cuni051Duni0524uni0525uni0526uni0527uni0528uni0529uni052Euni052Funi1E08uni1E09uni1E0Cuni1E0Duni1E0Euni1E0Funi1E14uni1E15uni1E16uni1E17uni1E1Cuni1E1Duni1E20uni1E21uni1E24uni1E25uni1E2Auni1E2Buni1E2Euni1E2Funi1E36uni1E37uni1E3Auni1E3Buni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E5Auni1E5Buni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Cuni1E6Duni1E6Euni1E6Funi1E78uni1E79uni1E7Auni1E7BWgravewgraveWacutewacute Wdieresis wdieresisuni1E8Euni1E8Funi1E92uni1E93uni1E97uni1E9Euni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni2002uni2003uni2007uni2008uni2009uni200Auni200Buni2010 figuredashuni2015minuteseconduni2070uni2074uni2075uni2076uni2077uni2078uni2079uni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 colonmonetarylirauni20A6pesetauni20A9dongEurouni20ADuni20AEuni20B1uni20B2uni20B4uni20B5uni20B8uni20B9uni20BAuni20BCuni20BDuni2113uni2116 servicemarkuni2126 estimateduni2153uni2154 oneeighth threeeighths fiveeighths seveneighthsemptysetuni2206uni2215uni2219 commaaccentf_ff_f_if_f_ls_tW.ss09G.ss11 i.loclTRKa.ss01a.ss02d.ss03j.ss04l.ss05q.ss06t.ss07u.ss08w.ss09y.ss10c_ta.scb.scc.scd.sce.scf.scg.sch.sci.scj.sck.scl.scm.scn.sco.scp.scq.scr.scs.sct.scu.scv.scw.scx.scy.scz.scuni0414.loclBGRuni041B.loclBGRuni0424.loclBGRuni0492.loclBSHuni0498.loclBSHuni04AA.loclBSHuni0498.loclCHUuni04AA.loclCHUuni0432.loclBGRuni0433.loclBGRuni0434.loclBGRuni0436.loclBGRuni0437.loclBGRuni0438.loclBGRuni0439.loclBGRuni045D.loclBGRuni043A.loclBGRuni043B.loclBGRuni043F.loclBGRuni0442.loclBGRuni0446.loclBGRuni0448.loclBGRuni0449.loclBGRuni044C.loclBGRuni044A.loclBGRuni0493.loclBSHuni04AB.loclBSHuni0499.loclCHUuni04AB.loclCHUuni0431.loclSRBzero.lfone.lftwo.lfthree.lffour.lffive.lfsix.lfseven.lfeight.lfnine.lf zero.subsone.substwo.subs three.subs four.subs five.subssix.subs seven.subs eight.subs nine.subs zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numrperiodcentered.loclCAT uni030C.alt brevecombcybrevecombcy.casehookcytailcy hookcy.case tailcy.case descendercydescendercy.caseverticalbarcy.case uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303 apostropheT\ #$+,, 0$+ hDFLTcyrlRlatn0 !"#$%&BGR VBSH CHU SRB  !"#$%&  !"#$%&    !"#$%&4AZE nCAT CRT KAZ "MOL ^ROM TAT TRK  !"#$%&  !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%&'aaltc2scccmpccmpdligdnomfracligalnum$locl*locl0locl6locl?GHJKLMPRSUWX[]_{"#&'&'->>LZhv &,28kdl}mvnwo ep fq gr hs itjn~n~&,4<FINOQTVYZ\^,>?NO,NO NO NON , +*)( '&%$ {QQ {11{{yz{|"#&'yz{|"#&'_N_N_N_N_N ,->?&',>?.V d}vwefghijOc&F4Tn~n~&4FTT3&?sF_ YYHX6 "(KQKNQNKKhFhFiFgIbOaQ]V[Y[Z <\Y^, NxDFLTcyrl$latn4kernmarkmkmk  (20F` `` Bhx(<PJ8l !4!&&&''F'&&(J(+Z,,r,-.3B48b9T9;=>,>z>>??z??@@@D@@@>,A A(A^AAADzDGVGGIpIIJJJNJpJK !4 !4!4!4!4&&&& &(J(J(J(J(JR R----8bRT======>X:>>>>?XxXYlZJ@@@@@@]@]fAAAAGV>,GV==]^ >z >z >z >z _ a!4>!4>!4>a>!4>&bN&bN&bN&bN&?bl?&e&fd&fff&?'f'F@'@D'ghh''j&@&@&@k^k|(J@(J@(J@a>,k,A(,k,rA^,rA^,rlF,rA^,l,lmA-A-A-A-A-A-r3BDz8bGV8b9TG9TG9TG(J=!4>R]f,rA^,s?@s.!4!4sPst$&&tuL'Fuvv!4w8x'F&&(JxpxyTz{(J(J{|H|>}}:AA@AA@@A>,}}GV@~L~zAA~zA@@A>>~~D?@AGVAT'F@'F@&@ >z8b^AA?&'FA?==!4>!4>(J@'FAA(J@(J@GVGVGVAA(J63BDzA >&?&@,A(,rA^,؂P3BDz3BDz3BDz9TG!4>!4>ڂz(J@-A8bGV8bGVڂŻZJJ6z>z[\^&(*89:;<[]{4BDdfh@AFGUX%!  k &!/9:;<=!>?[\]^_!!!!!!> !!!&(*,.024689:;<=>?@AB[!]>_ ` {!4BDd!f!h>2@AFGUX &(,469; <=> FHIJKLO TVYZ[\]^  &'()*+-/135789: ;< C[\]^_`{|    4>?B DEdefghikz{|} 3@ AF G &/9 ;<=>FHIJLTVX\*%I!*!#%& ( *89:<C[\]^`z{        $4 ?BDdefghik{}  @F ;O[*CDE';=[]*DE;[*CDER&(,/468;< = >FHIJKLRSTUVWXZ[\]^_    !"#$%-/13578 9:;<>@BC[\]^_`yz     %')/179>?BDEdefghikwyz{|}     3@AFG< &/9;<=>?At&(*8:<=?A[]{4BDdfh@FH &/9:;<=>Aqt{"&(*,.02468:<[]"{4BDdfh"2@FQR!9;<>At&(*8:<]{4BDh@F# 9;<>At &(*8:<] {4BDh @F) 9;<>Aqt &(*8:<] {4BDh @FQR'9;<>Aq &(*8:<] {4BDh @FQR-&9;<>&(*8:<[]{4BDdfh@F;"&/9?fqt{&(*=?A[]{4dfhQRVY],&9;<>&(*8:<[]{4BDdfh@F  9;<>At&(*8:<{4BD@F;*D ;O *DG &9;<>[\^&(*89:;<[]{4BDdfh@AFGUX(  $%;A[mnr~ *C_`U&9;<=>?AKXYZ[\]^_!#%&'()*+-/135789:;<=>?@AB[]z{| 4BDdfh3@AFGU;=%*U    ;=A]*U[ / CUK  %&(,/468FHIJKLRSTUVWXYZ[\]^_oq!D !   !"#$%')+-/13579;>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3AGQRUVY]ab    ;A[*UU  U" AB[mr-#*C_`U$;A[mnr~*CUY;=A]*U&/;<=>FHIJLTVX\]^oq!!#%89:;<[\]^`z  ?BDdefghik{} @AFGQRUVY]a*&;=A]*[]dfhU;A[ *C`U;=[]n*U;  %[]mr *)M%*!%)C UUL   %&(,/468A FHIJKLRSTUVWXYZ[\]^_moqr15/   !"#$%')+-/13579;>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3AGQRUVY]ab 1 %A []mr582!%BCU  (,468A FHIJKLRSTUVWXYZ[\^moqr 8 05"    !"#$%')+-/13579;C\^_`yz|   %')/179>?egikwyz{|} 3AGQRUa<  %A []mr1..!%BCU [mr5 CUy(,46HIJLO TV &]_`   >?hkz{|}  &(,469:;<=>Y[\]^%&'()*+,.024689:;<C[]%_{| 4>BDEdfh%z|2@AFGUX  $;A[n~U$;=AB[]b~U$;=A[]U ;[U$;=A[]U#%;6=:A!B b:OZL9: U-;<=AO8U $;=A[UUO$U   ;A`U$;A[mnr~U $;=A[U$;=AB[]b~U;=AORU %;=AU ;=A[]U ;AU ;A[U%&/9;<=>?AFHIJKLTVXoq!#%&(*8:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]a %;=A~U(,469;<>FHIJKLTVXoq!#%&(*8:<\^_`z{  4>?BDegikz{|} @FQRUa %;=AU;AUs(,46HIJLOTV  $ ] _`  >?h kz{|} O6 ;&;<> 8:<[BDdf@FO4 9;*D$;=[]*DE&'()*+,-./0123456789:;<=>?FGHIJKLMNOLPQRSTUVWXYZ[\]^_R     !"#$%&'()*+,-./0123456789:;<=>?@ABC[\^_`yz{|     %')/14679>?BDOTcdefgijkwyz{|}  23@AFG';<=>A]*8:<BD@FUy $&/89;<=>?ABF]^b "$&(*8:;<=?A[\]^y{4BDdefghi@AFGTUVWXY]&'()*+,-.0123456789:;<=>?AKXY[\]^_    !"#$%&'()*+,.024689:;<=>?@AB[]_yz{| 46>BDTdfhjz| 2@AFGUX$;=AO[]U AU4 *$ B GMNOPQ b~         OcTUWX 7 %$ABGMNOPQb n~  OcTUWX$&')*+-./01235789:;<=>?AKY[\]^_   "$&'()*+,.024689:;<=>?@AB[]y{|46BDTdfhj 2@AFG $$;=AB[\]^b~9;AGU5  $%;ALOu[^mnr~*;C_`AGU$;AOV[n~UFc  c^$0;A}BvGiKMiNiOfPiQkR S U W Y3Z [\$] ^ _aUbrjTmnCr~)iiii( \ iiiiiiiiikkkkk       '3)3+3- / 1 3 5 7 9$; >@B3|3i                i  i ii i    % ' ) / 1 7 9 Oiciw y      $ i  3$$$i3 A G TIUpWIXp~ fg&  i   i       ;[U[ / C]hU;=AOU(,46:FHIJKLTVXYZ[_!#%')+,-./01234567>@B\^_`z|  >?egikz{|} 23U    8 =(A;B+GMNOPQa b&jn  OcTU$WX$: #AB b U A U O1UO>U4 *$ B GMNOPQ b~         OcTUWX $;AOA[mnr~U; $9;<>A[mnr~&(*8:<C{4BD@FTUWXe <  <Z9$;AWBOGBKMBNBO?PBQDY[\]^a/bKj-mnr~ BBBB3BBBBBBBBBDDDDD%#')+9;B"|BB B BBBOBcBBBAGT$UIW$XIW=@BB4$;AKY[\]^_mnr~')+9;>@B|AGUOU$;=AO#[U %;=AU %;=A BQUX;=AO[]U ;AOgUH# #?"$ ;A9B2G$M$N$O$P$Q%Yab.jn~ $$$$$$$$$$$$%%%%%%')+|$$ $ $$$O$c$$$TU,WX,:$$$$C  %&(,/46FHIJKLRSTUVWXZ[\]^_moqr *)M%*  !#%)-/13579;>@BC[\]^_`z   %')/179>?defghikwyz{|} 3AGQRUVY]ab ;AOO[U ;AO$UAoqQRa $ATUWX;=%* U    ,;=[]n* U  UVY] $ATUWXC  $%;A[mnoqr~ *C_` DEQRTUWXa$ E  DE8 AB[moqr-#*C_`  "DEQRUVY]a  DEoq  EQRVY]a;=%*  U    ^   %[]moqr *)M%*!%)C  &E QRUVY]ab1;=AB]*DUVY]A oq  6DEQRa $;A[n~ETUWX  $;=AB[]b~ EU $AETUWX   Aoq QRa $AETUWX $;=A[]oqEQRTUWXaABoqQRVY]ab oq QRaH $;=A[ TUWX $;=A[]oqQRTUWXa ;=A[]TUWX $$ABb  HTUWXU $;=A[TUWX "a  %A[]moqr1..!%BCD EQRUVXY]ab AoqQRVY]a;=AU ;AO(UO:UOIU#C  %FGHIJKLMNOPQRSTUVWXYZ[\]^_  !#%')+-/13579;>@BC\^`z|     %')/179?DOcegikwy{} 3AG;O([.*C'DE% + C  D A#%;6=:A!B b6LWI56 U-U6   %&(,/468AFHIJKLRSTUVWXYZ_moqr*3'   !"#$%')+-/1357>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3QRUVY]abv&/9;<=>?AFK[\]^ &(*89:;<=?A[\]^{4BDdefghi@AFGUVY] $'()*+,-.0123456789:;<=>?AKY[\^   "$&'()*+,.024689:;<=?A_y{|46>BDTjz| 2@AFGTUWX:?,.0246=?A2UORU:?,.0246=?A2U ;<=AOv8U%&/9;=>?AFHIJLTVoq&(*:<=?A[\]^`{ 4?BDdefghik{} @FQRUVY]ab&/9;=>?AFHIJKLTVXoq!#%&(*:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]a%&/9;=>?AFHIJKLTVXoq!#%&(*:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]an  $(,469:;<>Amnoqr~&(*,.02468:<_{4>BDz|2@FQRTUWXaG$&9:;<=>A&(*,.02468:<[]{4BDdfh2@FUX@ $&9;<>Ao&(*8:<[]{4BDdfh@FTUWXaT $&/89;<=>?ABb "$&(*8:<=?A[]y{4BDdfh@FTUWX)9;<>Aoq&(*8:<{4BD@FQRUabD&/9=>?oq&(*:<=?A[]{4BDdfh@FQRUVY]ab8 $9:;<>A&(*,.02468:<]{4BDh2@FTUWX;AU7&9;<=>?A&(*8:<=?A[]{4BDdfh@FUH  (,469>oq&(*:<_{4>BDz|@FQRUaq $(,469:;<>Amnoqr{~&(*,.02468:<]_{4>BDhz|2@FQRTUWXab$;=ABbUG&/9;<=>?ABb&(*8:<=?A[]{4BDdfh@FUVY]&$&;=ABb[]dfhUc $(,469:;<>A&(*,.02468:<_{4>BDz|2@FTUWX7&9;<=>A&(*8:<[]{4BDdfh@FUX<%&/9=?oq&(*=?A[]{4dfhQRUVY]ab<&/9;<=>?A&(*8:<=?A[]{4BDdfh@FUu%&(,/4689=>?oq~ "$&(*:<=?A[]_y{4>BDdfhz|@FQRUVY]abv%&(,/4689=>?oq~ "$&(*:<=?A[]_y{4>BDdfhz|@FQRUVY]abH(,469>oq~&(*:<_{4>BDz|@FQRUap %&(,/469=>?oq~&(*:<=?A[]_{4>BDdfhz|@FQRUVY]ab%9;<>oq&(*8:<{4BD@FQRUa AVY]  AqtQRqQR At"Afq{QRVY] AVY]c_  ""%AFa8eeTggUjjVooWqqXttY{{Z[\ C[`y|"$(-/2569<>@CXY _d%%i01j47l>?pBBrDEsKKuMMvOOwTUx``zcm{ppwwy}  23@AFGQRTYac|| (` 4;4G +37)  44')'.. + & (/  & %0)31    & ((    +        %%% +!!","9 ,,!!#$# & $$ !:-78"#78 --"# (  % ))56'56'01/  ****22"  $$ # 3))%% "    &(' !        "           !  "# -#  ./0,  12 , 3$ $$   !   *+*+&'     #   (g  &&(*,4 6:<<>?FZ\\1^_2oo4qq5{{678OUek C[`y|  (* 7E*1G47O>?SBEUKKYMMZOO[TU\``^cm_ppjrskwwmy}nstuvwx|}  23@AFGQRTYab4~D Y| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flQ[|xJffcFF7ytwuucf`P$c}}| yzc9V:@;6wwIJF: +0 1C r CC/ 08 @..!  = ./ /}/ { ( , 03B    d   QI47TeJWK8i    3    }     u, ) ) vu`WWkwnlmi9JJtt;;//''yyO #, Y&()*,-./01234789:<>?FHIJLMNPQRSTWXYZ\^_n~`lm$+  $*06< Y     n  3      T ny$        :.J  n99E] &,28ny *06<BHNTZ`flrx~n3T+Y+  $+ $+^djpv| Y     n  3      T         " դ'^#+tvwp-file-manager/lib/fonts/raleway/Raleway-Bold.woff000064400000254170151202472330016237 0ustar00wOFFXxFFTMX\GDEFtv2,GPOSްykGSUBOS/2P`gNcmap h ^-Rcvt NfpgmtZgasplglyf L6 8Chead66hhea!$hmtx`loca0\N?maxp \nameBJpostƈ#a1prepLO(r_<^#+tv61hxc`d``^_?!VC2`vq-in/Qxc`aJe  0+P7b ,M ؙ).@xڕmlOyB/P PPТѠam)2Yb":Q(ts˜d/eFq.*ENB7XAO)teM\ש_ZZtS~i{\i&"LU:W"JuEMS܏Ԡ_XY3\n35ר(_RN5~0עq:.]>83cjQ?<DUU*ğ'UjƂ5~&^qȝFP{@Eq4`qw"G5*Ym׸h/>35(}|2bUbC~EY _{C= v1[%֠ˠkP-V\I-Aػ9bՇoE_Ȓhڙhoh;S!9f$:~ 9 0"X*h(R1c!NLFċ5q,VqksWm5`*,A7Yl'VvhLu{'31U yeeIkTsv5-~>fL!{핬͛/2kҬ/Y,>k9>r[_N/:W:fYY!ן kWۆIs/ETWF*q1>CeP94q?V}N@ɘJ&|s=ȿ&QK/[ߡV|/Ғptc.~ҩs|>*joA_g.zm-`%_ _є fń(C};6DOp?G^\@-viÐoՍw&/~*w =5(dţZnssAoQf{e*f,fc hդo^إQ}?s׶jxB6[h 1\sםj 55Jk^y3=qtNE44{iU*z-Wjj85,UO8lvή{:R Xڍ?2=rǑ[{K;g?~UPk[;xw3\_-ñkc xYLUG\DQ@YƹGQTpZm-VAFJXTԊT&EEjKiCY&ɤt3.Md2߼L7060ZeWzլcM]d1BX)AJ$tK/="|ɏ("(h6ͥf'ݖBy\![IpL,>`Ν|x"Ox.c8ogo/EB"^$$"JnqHtn'ŀ⺸ r t9ӝx)~J(\QV*3|˲FRã`]==aKRGyM)}"}C /[9VN)!Er|qD87y'e|5湼WZ<!q2@LaBxs|\.k+ϋKbH\(Ӝ9a+'ʩ)x(κk YVfYVʷҬVk>4.yl5[<`e֘U&7}ܿGWC9w{].7ڍSFd4 a㠱Ϩ5FQb4Fi7 }X_/Г$=Qc(}D{}}}}}=hi L+Ҷk۴<-Y6A^S5j.Q>W%.l, ҟgN8xc<|0v1D1SP3c'LGf ! 3\u\M-ܦlcڈ=B)ޤ#DN:=ln;mʆ v2އ oc+JYj.&cG=N LkieP&z|L]P!UQ>P/Qʢ\@p ]48ъ6[؂38aGYX3;ZPNVewxڍW[oR{U6v)U#!ڵ.ҮRSr/&ӋQumL oyY~ȏP3]]%9g9sn3nO:oxr7/?O?ƣ M~{ww;lkscF6kE+Z5--VGhRK5P #wk'j9;U*xmzӑN1X`VOlmF-nd3\SvNљ = /7hJ9؜xd[XA \AUX'-Ӟo#4C1nxٞҭ7a?OL?Q|ȹ*ybЍD8x'ŬԑpyON^/pf^lgA/K۲[jh™ 5&(ii,x]$dXc CB ѫYl8 i$S`;6`yl)4τbX aÞ _cU}Ӱ-' XY5t&NNy J`М0<ۧ+}`௿Xgi7qάAЦk"M<{miGb8{m5-B #teiOiBM4WsPt @;TcK'rჴ$b`a{: $N-=H!\>MȰ:CS\6:Y4̆zX]+SEQ$U.yS7MTaJũD&< iaZIRXZ}=Z:$I(u*R .*].j?~a.rT;^:.5' Ў")TT: {_ = D:IOznj7-$m áZ 3FuV.˒_ZQp Nm7ykWd2b02U1_7_}d)D!hl'R)IY7t>e iGA;W6`Ql~Gߠaf ҶN}Вn ݪxp*@.rN}(miuЇ(cB|PzMf;T>qPH]D$ Zd!d\iujz g5Zg™%>- yyލ FfV){Ow -a*z6ƪ:PTZ:î0ĺEp/mfU2b92=|^٨ae\QI;}JS?*:XG3Ō#23p)Bϛ0׊U1+Us"ފi%E:?7c*{y~'`B{S]ۼhYU}yZӹS^#@RN,KC(AT{p~sVi mU+.r4uH_c,CcD[us={@;b+&'YMKΛ2.6o]TgHNCG7lՃFV[vjt˛^ i>Ԅ=O\ń}$q%PO Rԝ| iM؏|@gpW; h,P॓.TW3K=94~k!\_I&yxMINBA@f12C1 ڎ8O^(b'4,pʄ dqŎx\|WeT.˲gX\Caon \.s"8,,pF8I!Q'8#c(DaD!Dl Vڋ,#2j[x]ؤGٔ[-IDW}x5b XYٜ}3dNT i1:Nwt*|hD7 6F;3 2[4jMM"Tӆs0 0GƗN>S>T.sԪo/Wok¿`hxctɚAo qA "DAu D RAAIqՌ{]x]mHZ`_ךsιfffv2=Gff'g̜3Ws6gΜL"bDDDDC"FDDDDD!2"""bĽ?/`k-;gp| ߃'פ׼VR)P/e3%q]}}_TB*0ߘq !;bHaҠ4EZgHa:&ݘ>~d332p$BJf Ft\CaQjuv|KrqkV =Uۼێno_`(53YƜKpg_l6vuww6)Tg32aA:m08%Ίsp[Y,LV(k0k?cC~?wIlT6)[gDzdzgC\% ~rRs2s(9Y~N"璈$ ('N&xrܟ$ CҒ$?)J#͒Hk=U*)yyL2#Kzr9@#%#/'|l>%ʗcW lF0 P(.P <c P(EF1PIq!]H. 5TʧʨFQԟ}jzFKe4MHܴY*mv8 :A9&"dU$,+.J-FŁ=NЃ(}>IN_ЏKF*i2cqD0b&)g.f9Ĝb.2יca,.KҰY>V5ƚgY'%%DQ^,,(Ygcx6 l1{`/JaR~TS()])*=9x8ӜuN ^F)ˬe}eeee'\ ̝sqcSK<O x.[A`WW*f!8@\B04-CqhکW*+ʙʭ+>O{ 0@/ F*dQ5P5_TSuP[=˜pNx|`xZ5ZSW=Z=[hj5m5_ͪ&")kk`tv1L u:jZK%jɈaCCɇt@ꔎJq#QۣC6);'s% y\ w ucccT!pژҘhhko\knn_ɧڧm m涎omg\V{'Y}ǟ'\1x~ v$yyD;!gyJj+v}w}-=:>w%zd3x{%yo{/;H:]ǿox{?oDۥZuy#08~0~2 `op:3(_jIS⤯*x# l, E;\~QGN;Lx2ѲMm {oɵ6mF[*l :,)*ga"X,Qy$m4krSd4 c=F*%'$|ɔ"b`Z7  pQ|P3i α1g0Yo}HY<RTJ1zޛŚr`˖{M  g!f@z3hprI~p\.zǪ0u0<1@ "N$黸[Vas"N$ ѱ'tt745&̪+6@$0,xO$pS!˾^lۜ6/G/>r%K-ŖrK+/4ZKRW0 ~լRJOΦ ƛ2Oo &8pef )v AΈr^lR^w~] Cymkun`UnThڛ d*զ9@^)0`4A~EI'㧊c Nx Bj^-]278jΖ#lR:bm) -L:פ.2ibiZ뜭lp Nmn*ds!r<2@b16Mx`!M$?Bt¶O+WVCw__z'$0=x$Ju02;d 6ԚZ7 c]cVL]P]םc}), 97c[[z/aΣWVyE%`,ȨC } \ϳ9(߽{]*5:j 8[޻tdocO|ѥʫDo[ܳ_Ÿ{IʆBzʞA#J;⺾oP}ne3 :wiKf! +4s橱!7eh9f)gZ]C{*7|çIeû)βgc~*~ ՗`+^ZY>ĝ.|?ny= 0x ui@MM CN!V #2ϭhm[#f{%]o t֐ђwBB+69#6[@gi;E11q.QO.ƊVI{ufs0)J5vgp06$'rdaM3 ƺR&aocE "E| ‡T𴝨K>62r"qL,ɯh TkdHtbS{Mƣ*!*|^tѵ:91Jg¦u :kŞ9u]64=cvtW&S{{LT.y7OXl*~!rPcČ/ D /~D*y|H"P)kh,7 AtpJ?7|}3i<4@' [= `bXSSi=M@,'Z} ssYfq#O7qY"l F#g|?ݮ)2c#?sU{G\[Rŵ-}-AC"Н tm7g0}$@e & ÑSFK&(@tfj]綾K޸pSjcRIP"AUfGz Zc0R}tgw)Vߌ/^T5(硥 ˻oj>BOb\,^%~QEI.&`"4a0j&6˥^fj/Lfݕ#>bPhٝXyK> avcWmlͶz驲-wPz{mLjA,<UtTdPtګ=xޭFǎTQCƫC'@' :eQꑣ5n#|bè$'95XSVQMfۊĨVٚꀗTZz1/1X #/lQOiC0BQrw}VoW˫߮u:1<>G²"bv!O@O>,n /|DҊoZUϑMKg?N%H x*PE"&?h: 4cbR 5e];jW}++ыW_ ּ->Ƭ1Gj:Pȓ@b=.nAesU;ԧ>?~?zw w '<$ !E5P,/Yb0_ OR`nD˨\1&JDzM~zWO֪|GP~E>d4h/zWW8HޠCZL/gGmlGl"agn߱r(YAGX3CXkOO68EOT\ws4Gm3MF|(O[.1~b-"e;y@NL_wP15-&lxdD a<==89yu'wLMZIdlcn򑑎*&b:qk1 B*bt O]b0OИ>ёc{_qeF|q/V}hLP֩ zP0zP! [N̘gw'3-#ȯǬh*F73BL#wYͷ۷Z NgT"i"柮cc֍}C=ƪVR@E"蔍ɚqFiNY@(4oPYu+q]t侖atd0bY/2<,;S>!e# 5U A;Ӛܡ0W8cfKtIKjaE*P*a%^5h#T7Iæ\D23cԞ.0P%]ױp}/m=@kI8"4ZA#tiQPN#pW)JM9$04>[QRi2̋FjD"?L0f s Ö[YP>HyܨY=(z&j# ̼y xp&1!,cXJx/(mM֡ki@cƤWy됽}uY$+z;k81;0;j*̘ RR͈LHdn~3@pPɽpl.L? @`p\<N t v$XG#g>Bel0WDxS1>\և1@ub>zs ,KXuiϞo߲^}V,7;bٖEFW,-b\ +-Tx^*E+,RS+S.^,*cmpB&5щLޙ{<[-zg:%Mm#|N惆]sEZ|"--e9#RQU+Dhd3ۦRV_@ݹN0"pA^"9ƗF/jeD|uK0nIzM\hȯg׊hEl6^%̢opi-M XN8>DKxb"ny[ͮADmz}HfjB ngI'ovT^VJLP`VTjIEV+WzS3M.[m&#ZgZywWϲPGƸ-6J{15 vb5;Ilv!) oxud]s3Si FT  d$K~{Ԟ\՝⡇~Zܡ}(i.G@<9πH.icNI(Jw$Wo##٣ͣՏxD~򠈎[0kE [teDtJH&)q;~65qJfo:xpʥ ( xOx n^:iY#ޑxGpx;WY׬[^}t2b_ϊ*%A ]gSeJ0f#ɵC)J-T9 \-8*~w4Z:CE^ kqOTf|̭0:@m,@`avĿro602{Qs*!AЯc5? $+pira \1U*m W6+6tD·}&(Xl& ^l͙L}BK'ɥiq SRoN ހ":a,kt~?Y>RPt$1XbŀUA5vH\OQ`.oV,v 1sa[^KN]Dg z4+C%.x=*!%L~^c+b<~^èiqŤf&̃)obFl^ePX Fxz7]B.i0FUiͭQkp:R2WlTvԲx[r'B_Vp "HIR*bvb`7'c?;>е;8l(dC ] a`8_!td >JO ]ypߩT5l6IT*ƼÞ7*?՟(:ro15nǯ8Ȓ| FժD2_Fu"eS8Ǟ$6%)# y?/=\:;m+z+f{T?X-2a!P=Xa]α5~R@Qu< g+~.2|KXcp>%%LEw+lm 0<!w["n6 :U)a?Rd@`7 xA -?þh՜@.2eu ]'KZ BVD P @׿]x]Ow?| o| A$ugR= oKuos"uo& >YӕdrA;fTnq+g3gLHyJYre7N 7.[udbjoSk_wt>ӖknTfɍ1''vL$6볦]P:Xdy )o;pnIVb>H3y2@I=Z,FI$2Z'BR($2R"BO._;P+KTAN2-n*ul^w略;m;ټ5bR(Iu=.RJQsNa+[a~`o.$]-# K8eWSx]v0=V[e.`'%Vj1[S( JGuFhn]`N@r 5; {b1IeǕBLj< f ,VMס3+Y'&¡J.O>l2&.ڊRHAs'G1“;6RQJw }态/v=Y9ƴGkU?³"oYZHf0@[[OF!ϺfЏ#X300']ҶۙuKМN×\b:wź 1'ge x.v#ž$m6iyJ;z<*R'H <_/=Y4RW ^,tUc|k4KlvHa]~7Vjog(Q&8Nщ[A)h4MgLf2|'z@"` dHlx6_-B> vQ~ϧwmfڹ\~ Tmj;OA|.L~2S(psX %-c><ϟ#)p±=%%qK(u?9dcvA3䗪H&/}I^T Kˊ>_0 ZGKhI:)koYʻd-oQF#6RꑐçMִw.v:Zf ~͜5-Zz+MT4^p|c)h>!*n#=GݴmzNKJy:#{ƮӑFShF 4lIJ'/U jks6X}+K 4GhNU=v|:qxiZ%;gV "h}s G{)Lclm&FM6 * Q|b,>R|ph}8|r/^,I8?FMöyx3DZ1X] V9=y:>yM$3֙9yoALoT}maYNOS?~m%ϡtp]Jd~m^ 't6h9<> mwQZFi# O΃OW_(k$b1E9q-hsS6J7p:9 CӼ:CT?XgHJ QEqZ^K*H\[iRGo֨F4OЉՇY' [OAVR_v*h&7<9kͦ_OV6sqI޹̝v&S;CM嶕iS=[2ݶfR`w]1cU$m+ᴧ3"LӍ] Wjw3TP?+ m#$-C6A~QgDu<z`GӰ i܁ r/"?jN& 6[r*ƺ+F\=v7oOPyR+xasӄ%W̶,^ܹ^_4ső}eݩc L)R<G P1h<5HFI4O|Тˇ%M@°ѤSk~H:<Z L!^}u#<_'ōyfۼ]osuMm0/#-\ *aE*Eo#d+ [Jƭ %d\֢y!ݾ{dZWPk{u7/yf{WO-ߔ G >C Qan-6p>U$2S#c1 kNՃl~s |m汝Fcaa`= 6Rk>Gh!>}qsC:gnq9E 'rV8(!</q9r\oH #°6Ƀ 2 cY)>Rd}z D2~cAl9 &[ŭҊZ#!%b֠1?/I0|i]"\6^WO{Ĺ_pشˆҏ>=gC=4r>bVwUkX~<3U )\Ԕy`9q&O߹_=cx9>:T7qlm1n8hagȾ6J>_-}]ͥ$`ڜpk: Gb%Z%KK脊3t<6_Bo(}=9c}KCހ)~1t N^ TRyy&/JQ:,=5pe/WᦚplC33 {w~$&'{tl9CAuTqmTTYRsOx环c6Bj~9X~J+#dGW ,<C,'jσa=1}\N}mJlo@U2HuT.0ak!6FH72:p]Qv65bq+X$RI+$O9+i3IOuƬSg(44A!Oz9^fǗd"<>M(G Gm87ϱ9u|<^/{/7EgcYӐ2&>`2ݓ۟L֪v{?pv8}$9[RRc%3өx$v /IԤJbTԾV|əj pWZ>~˒0\DSzAyi6>YYm2L`ϑ_k s|sge<}Yg綤Heـ*]V3P\qԶVĥ䜠Rr-lUk4DzE%!|Tlb$eGbŒ9p`+imҵ'[ɪ/?M61s-zIeJ4^o)IҹSp \8/oIX¨-a⃃u[`d]AE{0D2%BcLo1/|ЖJ}/E w@0k[cPu |MNr}3=_v6?L_uub:3u9[p1O(~8 :Gt ? 7uXzZ\p7K8 pNM-rW-a@ad*n nıI\M^9&Yrhm ;V7%7Z\60vŚdrc z_otE) ֤;޶<ޱP5;.ͤ3:B =N+cjijnsNe+v>z*MGv8ʰM5yst76lޔ73$ ̐h8߈qXjS݇zfOv>לXcu{$jas;"{Rx8x)<6Tyľ82'ZlHQ*у ;:o:RZmNYWHA N0w9XE.޼qFF6l:V,|VֳO2w"iYR, }ۺf\2o^e]%r^.J."FiEsr!X}].:G}ťcBs6l<GCK;Lkq>yjpxR8iGu8/iGs9c8׍#zv̉:ju-!lN|[toz: ]'_w&ж lXgil;[7{n l0QL.+9O΂Seb@*S(Db1O*j4nI#i̱q@OΆc kGġw؆/6"ަwqmK2J&'LS|6d.֭Pe4ͭF(uk3RZR[gLgoTa}^OQX Fc'>BӨќ_GX7:ʚkuǹܧ뢏uђf:P12sZzKdzz@s\-ɧK*PZ1I>|Tas |\>\t|4.ss.\csHlmI.s7s9r75ڄYqoNo'1Gc̛q?u4F+46vZ_u9sM=7P^skN1z *Hz(=;}U823eOU1Νc"d:at Ҙ56&N`C=Ax'` T;$I̢p;Wx٘9h#PdK>mEt4|dÝMua~v??ʂkp.8,$U`etK8:ZtD9,4#%h͕Wb}սx](>?#Vj@;R\M ;&!PJ\ =a+rJ{YC1Ԉ^s'N&']~9^} ꜓bs_Г:FV||›)649ُY"}èC]^D?-D[ ϝo <,WGeGBqx2.h]FakpO:1ŞCnij/(sf/lI3)mIp@Qkpb(c3)~^{ <8E鎄iu>{c3_#a4݊GкuCقt'I< W`'Ss9a6(jnm e Q*%RA-hK"9Y0>FlrFa u2-* 賦M<}v%h(s9撑Mv5Dn4s%`i>+hd"/]iC;t,"wo"A-X`/qY-fn3Oo݊֝~>ݙzoY2S4Ng4BTmw̼$Ҹz=d'IU_mx|Qj˦}7m8W^fG#%@$˧)D('-\& Ӟt^RiTҥB8^i~.B7VZl}$_4ҲUz~Naw.Bm] :JSS\G+9sWif,ٿ#r~,ہY7VTrHs`yx^p^Ae-X=J:; 3p-秇wu;B9RrV1Zw7ⶡ1D!8~WƂ-R7(z h84gƑoY /9&[uԦ[};4~w?@A'? 6tn8}[ӷ+4qpQq' ^ k3@Lb\v.Νs.@ +0b9Ո% յ-d^+TcWWgTHj$7⡋y.V}ݛ hʋaH9IRM=?A:T* d |R{1zf*=nPs=GMc?_80 :Q T{m0S=۞pXcڹ_xk% + 4ء;A-Z7)F>;՟yZN ~Ï(ʛb%Ix |}nُpz1El=Rt=CX *d5G\?h;GnTj7G;NJ&>ޚs*{jlG◟ % D3^u~~lXecKkԣ[āP^ϝa-`W qԉJP:aɺ \NgUKy9֐MږCߛQ;oe^=Luł{mACyAOu I, \ #9 BzOY,U7wcVm+ƒȶ0V;`ƞA+pVB*c| U׈vb_1E=A5ױtA\YήST9/>y(5t{%'Rt̋-7gYZؽW~ ɤVtŇvKeZ;ӢԗҪF̟Lյ;jIVQh>9u,1UtoVĨkB8n.4Y8%m)G^0@=_%uཟv+e^[ro GD8DŽszDXyr#1edb}*1hn~.e-˕]{{Gc0q mGo?NM!4QmZʺw&f1}qr`\TK`4pdLG$c m"k~,ϳ8z%G>!̏O ӳjMXNjBX),&Fw-ԏއ}'M?XU rȖM2 #G_*\{ ?t"w? 3_DZ Fgةd*"ZGgsr^3%ݸRr~})z)ΣG/wtǧ\_Ʀ;&֒3?]wGv^rlmŎ;<'wj`#T\-k``Mgkгc ^s2gi@E]}U߇Walx\{9-UhD +vr Fo5ݾ {ӳPD:2ᡮ`*IsS9U¢"9VL:,SY1*EB^*+]Yr %Wm6+j o+s 6xIii#-$a~Y9>S=7G_NW=nC҃yB\ZK.>ک·p.*-Vf۶۟H/&-vWZfŒKy OY若sCdbI9-{V~.~_yHdgnjgrgyK37y d'N`z~_# t p2"HjrFSfM*LCCE1wܰS?k~L*>"wHYfnT>f&G`9Xv kĢxr㤗ڐa9d/|SNbPWWs\`=\u5k(ɦ=! S_ޥ0*TMc׬Wc]{3ܙ0)Pg<' ֎QYV9(S"Gw@6KdPGd}X@ڐJnWH?v1Ijն?Dh$~hنq@=)v ]{+gTuvWi0=`S zkx7?ؿ-X@k@0H^CZ 0Mr9":T0cKBl֙̌:hHaZC㉴Ո41ipĔP_ 켩=J>~]/3nEŔ.K3_L /x{<=@|Y89#3to|G^ޝ&E\$*ܐ|Ѣˇ+xr0L$d-}1,Ȓkڃd!uҡx>1+.Xk񟔏vfF#sP[E᳜T? 7n6k'm%X]㓩,|`!Ǩ6sx~WromrS5ZT,^<ۗe%̅U:^/_k)L&ɖ? /_z<-]wСzսt ֜at{H.^7Z"U%?0== lYϹY _ T;\ĭc cўυsJ}M{ X?N gBGn??cbeO,:yX4롮)5@4ek.ɡX;r uL7&m ɚ̲VM٩un-SNjK4lj>'.l]k{8_9zn߅+m^Xd/45OQ;Z!'F(ٯhZ {5McG^]Ϻwͼcq|&uw-K?Ľ]U?~9{uܹ3sLd+!Fr!!@&$ *MT|ʣZTDς"̝.瞹wf>$3;uv]{~۷S[[*Z{9sC mWYݯsb ;]b,g[5:[2ĶWLJfy;u3S %?3"*PWd3z)|E^ :jjo-`S=:h:_+:W0;o%֞Μ:`oOx i}%("4i*p v0=y֝w#/9zd_ؘ/sڧk_'ѻоmK仴ANMͻ ~q}幻o5vnhҗ4TCvP Ұ`ȣ= 0'o5wnKStVS2X3+Q|3WlW >Cr=ض݌ʼfBF%BuOۅ(3]H~8ETqJg2Uvq=8R1n611TszwVl7sEj2> aنsņaa.<~d3܎'۾_+Gx>GGuH='vd646l(`L>s2쪊sw9R6wvemF?^쭼6[V뽱wb =,/ Q1XDEpX2<8hBz4)Zה5Og机*E2vY)ڟ?¾ҋ+wCZ-eU* gλtգBGQezԑcӵTс "#GgjCqHalʂWvv?"s،ܼKҏ+<%SLaW㶔۞ -/ /SY-2EBQm9T&i 9s]+5B`@@-U4b*&;DvW#TǨW^95G]p{e1Itl"h؜7\f˥/q-r=wGwa|PiMZNG}LдT Q7ܰ/0swA_ <[u>dgdn aՠjhdB۸UOζȖtƒ[e)ܗZʦ>lh=?wSwVg>Q!,yQ*FP e3NN-W*ࡓ <D{;ѫk=u0Axׁ宨T,}ŞQ$xű7|쁛gjmeO?  l߾ŮӰ% ˃mUΛ?FFPGF`{ ]P|浍o=k3G`T¿Ps05N_uw\~soV ê@ˏdTkM#ACmwsze:uA8ׅwH;gx|gP%ퟌ;mb\(chiav{MN^@@g*Dhzxd~%Q8F= {U+!:uKzGծv+;#ANh?VJ/Xdk4L-?y5-2`}D1zZ?`ejf".` M,s!o dykRs0h 5eªV#jKIF:%[ @#yA͘UM3&hxN7,ok$t###)?-\XD_0Om!6Wh9_cG^`րt4YQci*DN'ԃ=#'Ͼ[jm1; wof`SUK],xHHrMOƺ"/w AZ*6Q59kl-I;_z\jŎ6OGt\=";P:24;@Xeӄyb8Eĺ6 ӤUsoDR5c\<Cxpτ8D~2 1b!1GN5W\OVp_O#+[02-#|xŮ#/ ®;ny޿[(쑔|^| K"JFID"/;33WM _x'%_ Nt~-lM9汝e b;`&} sI`y*!KG-ǜ;9GD~bA.FҧAuxܰk&цNnmm>\\,N6~YSZĶ5tiX5]{Gq^|EeAw q5o ^hc6߃I*A,gd9YiU. Z >RNzAyB.#:p'h2Qw_}?xci3 HY6]3rɺdjݥ->8ϭ߲zcXmulCAW2?qléU)Ti??< Qe-j@'c^s] J7 y4 Das߻}2M1;'߯M`d~_)F!8NGm5p)BMs'=R-C*Q3MӞӱݒIZS| ó5YF5`?l}g,#RV_yڟl(5}&LƬ tyi^Ifj}h>;z4|?8Os% `&qp_>1gsA8}h<[j6@4" i- !ЖaKͥH1|D*M.J^}(F6F[E-jqIڈ/y'_pz;Z5sKq\_?"2܉lW7` S yy7w[9X>^ ghg=p7_PT8~#9 I ~0w9vtC&MGkǖMgZvs *˗׾Z.?J b$g:4B yk| akVG\cwi_)[Px{!P&BubG ퟊)?:k?R4#Οᗬ$.at_gi}$s Ts&/l=^:!^q}]aEea!,DKu្-*˭SAΫ\$qy^cSrz1'ė̒D Px |tOl"nI(Οܽy<<`\y~`N}$4-kz }M>4[b =˜iK"̵'+gdk?Ę `}uzE}ujߥ^}/DoKcżOXuKCXuWtX !uZ$FS,/m_Sh9%}ZQރKW_~ R? a,ҹzCy>P ;2v[bOQ7\],'Pw秳~ecw-{}O*'cBX~t[ۙHzt= WǵC W>\KZt](4a-.Z.4a-:-ZV`ۢ. Қ&E{P AgcjY] v9.j`z{cj뉞X^gG̷7?ǼBX .A&6&Fo'i%Lggvp6mAo,+fgEɹ=3Ys0lVǶR^Lc/q1.xNQ'O:83xl8,rNҮMF!e 1UO#"o@S1OB^UgN`p>8Ƹc, ^y$䪞1j/NJb5ͦի$Z>ꎘ@RY:7\uRg7ij֓KM@>lFSٳ<:nCmt=~ # )ɞ7oeBԅBSQ9^R)5Ms'/L<}rpEz =N^V+-Q>ɋ"yCK8yQN/%o'/s>sJ`{OcKEa[u«݇VeI\}xx<,.̾]ӕRm{I.)o/'Ϗׅ3KrWCwIyrg@}pP3ѝ,;6яZݻ9%fm> 2T&Op ;&<#SYIjmtĒ$cV?}h4u9JTx%kGp ßHa<- k"yq"Q}us"{~awz)y{8yѳq}CH[1܈ɼo+.㐌8Ix{6>W4"'ݓ{`͑*o:?ƣ){湡YB}Z4?8_ o33'8y@K3#Ϗ ## 8}$%ʆD"K/naYX^f<-.W 'ɋP_ K c;<<[ر,/?=<2Ӌ8O&}huW6݃c_ Ix@&ն/ -Kq:rnmEr^NǶ}~'891ؽ c*X.6(EVF}n19\s5=xIY>ti6W(>uLVF|l}E'oS#[?||:&QL<8~>O}O###roS {(#[X<^H=j|s?I'd/dS`\#@Pp_㍜'L"iR]gv,q}Fk?`0lƿBWW.EVx8 & ch ~>w)7-eF?~-XNUcp/2~/ˁϡ9e| Þ}6cGbwɋ)CE"|3Y$c$\p)IIesRDžiH&9[9s$Ϟ8qj@G\*)JB B_j?~2ThmA(JRejBmrY۷OT*k-k R.qug($ba?[0NӘֶ7 |u]<ņht8uku.O_@/Gq\XX{;B{0F#44pR}9 [k_ݻ *fy>28tK(>%{TpeMEiWν]XkVQjԯbV3 گX@=QИ{* &ڠ0!I32h@3ҫ)6Qē]l%[5*`iDa.H2HzeYiv8b%кš durju̲v8I:ŮX!N  [ľ1Fn@Hnf8o7*""w,tu-`AVv2CD(֒Y>h[TVoX6}QgV8ZބHX [,D}\:kE&`d21Huͫ:2YVn|ozGu< i u]UDk%b4\]-5Tz!ۚKk%&\zXk򲪮k^ =wmt$/Ζ۵9dS9mq-}cԜ{943x>w59[H!`нK.s]z/sÁzhzNzopv9E]yaTs:X9T3*.j:k^ 0ETEgKHm;')9׻]YUU\p'Tq/=:Ǡ .-lyUrQ>BBxd4jmҪ RC,̀iUό"r9a?fpkٟKVr\.xpZA \^>K/b`=?/~h\QS#Gb)_$U&_}V<~c0H?5+6l{ܟi GX EKPR\뙭(,>OR;28272$mޤ271>1c6bmskXq/m>` !G[%"9 R!&do8ZHp')ӴD!j l-ގBQGI#F_ϟ;y&j1""QCso,^W.*dhC2g`(lRϖ;h7P]k\I|RG '9z5o^3f 1 %M2o}}}3 hdE6Ɯ~oru{v} x6`+vOzW:vreyFj)$@|S;(I0ۗ GUNĨTb-5EV}%;I7jEVR9dRH/3Jk"AW-vZ<"YcPWf ?A֘2Fmx <->|럾×\z[Y+Vl; (DW~CzJVrřL6BFc>2wsL?#( Y3$(2u- y^nt;%GE6dq_rCljg 5ȅ 1x2~hzPjXOPQS7_[LWEB/\J /?2A9fE!E*_nU\&wÓw^GG}觢뒩AS'.2]sПTRSBFEi*FMptLE«etrv6;ZzQ{wdSKˆιӺj; #mu7P<|^쑶m'Fݶ$^ʮZ: ȷnFsQAh+%A<2Jt#:' _а#pHk>ɻ~ uG9O-ߎHPO8ϩ <#Idb.w:jepz=)az t]^CyQN 6^dadToh34rnkV B̸ F$׭uyV[q={j+ {9J9Qf3YN\$ yCzgq-w iQ7/6Y`9+h*bh*1:)ɖ$0 kYr`̯Ý@iRӦk?n|uNu}_㷴B*#1\%+V\wdr<~VlV{6 8|teGS^= _pdevѯ<`+!|8?iUUTG>ޞχ+˖P:, ؛TxhF-;|"ǝ`S>e/!{+KK2CIK(u?XC-\ܠľPu@:ןM^ţ6 aÝtO5htsrjfɦY')C᜙mK)x%aF[unWu{j >^7iwC}UqzXUUmDG0vhD&]xgWgdLO ڡՋ.${;2Y~Sf4aǘ|qQ*䩐! 5,TFOJ׮]ه#Ǿ~~:UUJ#D vW|u8bv% .%hhoľwE!DiT&bN"ϭ2zdƀ[cL?;.[[1ve@3 y]z~a?N1* `+Αoa ߤ'y݆M2J@I0P(J3βAd'9pj~p?C OñNNRt>ejB-CC׌LLh[d})P%iԃ붡 j\ > (S_N3ᘶQtsɌ啌9䖞w=d¥ &fr"_5k!\:d cѠsΗ(G`:T>,f}C q<)|Aqefs^kd V9fjA_-5kxP6p3ۘ; "1CFD 'v >vw`Y=PֽxB #| ,Őp6HTMLKʅ8A+PBD\ h=DMPTT^2Slf^h7CBetŤ QC6A%e_w\M+raS__lyg3tV<==Ϲ\VeHMOwk[2LoSjv.sumiQ)`N_0%U`Z 2f!TZMɞzgiyH[ОcY"fMwo$G#AUzcJ!xSg@msS;+(|WPfL__^NiDQw|̑۲n9b]{֮ud^\lFV,?c?[4R`6 66ҧeMn\X͇uꇵ⢎'pö}Xfn9S.4jkv\^Rqe2 EJyD '㚕J:FjOB5 v];[ﻠ]v C P)~:*U+,hW-HهնQ"Y'TK-Jo) g -~npr@17n/nKϟE0%&jVWoN'$J t&#lH ep,~ܞMmCf;j'ͅ i].-J+vs =_w+Š1BsHj}rDuj78R^cK3)ZC -H#lM^pWRDHlPV :%?mw[>MwwE촹&}^/{L{#BN@[GA  ;.pt|}"[Me-H[Jwtz!~wV|pXdU.Z5&n@!wQ\*>Q%r*բu$}gu8_/4R|fEWZt:#' 6!љ&}? GGJԠ;}˛[ S"zO'ђ58e!<ZRU^Σ!H9~h1h=k[7|ՙM=Hu#K"C mճתּeA#i$ hp*aκ .UA3aPk"&R0A#;&?._2O¢;wtlH9#C9. VRh#Gb 2EGb#шIn$܊&}_<(xB A? rb^-oqf+hlyǽa "d  *:=k4_ 8 侊^S=CCMY#EG7A`2+Kn΍C*& wۓA%ـWDi+=7>׀*dC/K  ){!ݓջƮ7O:5UGdXzlVz7JU5v1x}[knmDz@'QLD17[G`Yeoi:@_,f3b`Tb06 mڱG}܋g]'hYFp‚u^ /ʧDhʵD!-=QiӆEO|ј^kL}{Mc4] R%"@,EbT&b@(U4XP ;;?E$cWhdŶM`x%h)hoKWE-m"83%|H#=?j4SGT&xl|hqaFۯ9s\×ZFc{dB/P[wS><_rtrmX2Ĕ1>L*9V w~;˷sϽOwY SE  Zã. Lʋu 1j$r_`%??Yh>"T篤,armA>.@DֵT7P}РoO~BNsOC [C67?RjJ P'MRSѠ etB1Ll_";ʹC!7[UPIGJ"2&'{] S@zk9֞*b9|c7}2>F<$[ hمzZMsõOC1? D&<^S| dJbOmSgڿkd$G;W%MའηJHl|LP5b3f%hm>H/ߑo;e;2en>q{ᨗK͇@XXMnOgfd۪dju[>-|BOCRtH'l#}(#ѻ•[.xy"^<Յu.:+DR(,$#UZS2ִ/6ƀ&rF ٧>w۰ txѲM'%"sЕFRyoIKS$M&Xǚ<;ҪLēda߱7n[VΤ*dWHp+w-FE'S;c!tQ /Ѩ ^pZhv|{7z ZJ. JGWu Hrvm^O)=TхX4 GsZB9}PJg<p gs$3a*TͧBXBTl=/7cT+@݃xǞ=;?X?S/Eg0Jȓϖ-B~N+~S:S_~tJqu,AY"J8O #[O7\O~ωpQ\(@̧i>:GsյGkњnؽ{C1EExiL"J%"Cq<:d j-d?~ͨ6w E8~:([@P lDE8OKG0]^hGW+8l8n*dRXL@{: !1C-"0Q!AR]ͭ?XT]ג]w~h~S}-@׺-LWtcsLqXuiPu l}<˵16_%z_*!7إ>\~YEJNDLհYpz159޵!K9LYSߑ3-˶&WKWp2Ys:6x6rY* *Q*o>֡yP6!+ƷDzamHth ˭TϸW+M(Vw9iAuIJT'c.<2U1| h^Ph$@@ȵ>K!,}N6"^"]D Վ68ІԐj60,{.t;;鋱pfKôھwpӹDekŘjBg$)W(}Da\2:xvϽ>?SYh.\u?39&{_}9?j Gl5'8$ܜnop8Q_MbOC`GEiMrAU#V Yr[x~.$$7C}i;*E-٨rF=J zO.v,#.W^~?xى9:f(SZUUDLlؗ@ja7ē6 U3}ʱkPVNzul^.| Ͷ" Z7$PwL }/՞C擓ǚ`^LFFkoFs>?06iu]uRTm *8b @bΔ:~I=Om_dBBqե>o)xNS ,/7пTuÝnwg8$ǽj;aꤣsi6_0,ÕHh vV-2&?\2x~#嫘C1YEDjpRm"2?/[5|N0y+ AWabBW d4P1G p*o[;6'݁f"ݷ67;oϔ-V.nl3֠#jkU)k kmW%s6X QVKYLUxh^`k2t!dTM}eXwgx]ƑqdFuk #[Kc=)=`XLQ;a:'IVWܒ^Ixym  l// (ژF*4%5fD9_6][;X^Gهc<(Jk2)Ph.s!IcԺq#;(=O}mNGծ>lžCD0hzrvwruǎ}E<,y{s:Lېe3,KgOO[@ c F{V^S941t:|?)kʆTԿ}v4}'m o)1,l?_FqI97sjAjw~x䝽Cn*K6,Ut5Y 4j:ha 0:5pa>Ob "9lbFWޣF6OI)mg۷wrYŞʚ͙-)SnKЪ\MiK.k@>Ώ--o&] ]%TP~O!/V&6xa`|~g^_x{OY[Ƈq@W pFacBq5yq4]3p.39yl|"l.|_*S\￀E\t& PzBA;}#o=cl"ڠ{ߦ)8_~>*yG^խ6nC;%Vj׼6]TmY#l.nlV5mHx@)F"o6xF XkAy϶ oyu8 X1NӻZӱR'`a?6 )j)_}{RX79G.O'aeԆ*B96ΩT;TrZmYr)x/dάΈ2}@eW/zQ=z@87I+鵞MB ٰdN=_{' nS1trc 轜rH=&tUc9/2k&l61 \&cC-(s-3*6wH ' 7붞ݦ6 rf% lhr˹= 1Vn' .P?'z83eqr<(I~~ p)-Pb<(=/__g5Q6w@ N8Z'ԳЍO(]B;Pd % El4`m E=άir !U\ZjQnn aLf|խ҃]YxD›,֖\:sk'C7.4'VrJ.oZ䤶Ö䦺DJ&㛣dlK|~#pbFAuʒ=,(:Ӹ`f%̮em<^gCmB]HPia gP ١;~}S39y8zl{KZnu8]*SLB3~w[} 9l [5r!ff76Wuo#ؽg`k`(pzlh|/0 fFJGA\rw'ʂ9VV1eE&F]Y>bf聊3Ņg0 ,/$::t+csXG'[2y0cϑ 2!tOP| H<㬋1m9rf'8H|$^=^&wVl8'&ɓ1Ag2340VꌹaL&Jy 1xVnG=61~D,W h ,5=5]MUmYd2HQ}Y와]u>󬢌~MtF n|v94&Kt%=џJk1 t2їVD/ҭZ^#˴t'+tmmз?%*]_y $"~aTj]ξJuϲ}g?':j]Ke굾K"64mD/ӗ%zK_'J&&CzDj#M%)-ڠM=NJ$P#~ ~K/6 c͑ h@o2xFZc9kQ:QW?*Y }c~[y_#iHSg_If&o%QepZdDOwDAcҌE.+9-d^WQ"u%F*maSֲ* `z71$+QT= ♾Ix,P9]i`Rh_xE@aG=%)/-{u‡i TmlaYw7w*,n ޲QԆa,p JxVh;2LcCH|]:%Je*80'S^!:xQ)V:=<9DT(>wWMh0<JYOx8^S[Cﭯ#Frlo`O"x5Mq4*2E9~1>\J3٧.0Yw>`)ͻS$Xm&3dvfINx+62$10Z9ΟE(z>0(,ʣ h@+jU5̻ C[L͎`eIj,HBC:ںr`g(dxmxG2!{XҞ,%!BdYDT &{{xٻyg4+ABP?kLaVRhR#5Q3 4ehYZFH+ʴ JIkڴKmHƴ )PΏ!bJqJf9mA[V5mCIr(Eir)ChdSf3<$ގ'ޞyx:G1Ÿg9_W5w=?O3¿o;_7X2DB CQYpYJFHYZF2,'eyYAVdeYEVduYC֔dmYG֕d}@6dcDXTZ$,[b*qIfl![Vl#Iq$%iq%#dLLdLe*dɎ2Cv2Kv]dWMfvIS[ 2GJJQJ2OT*5@e){޲+r(r*r)Gr+r('r*r)gr+r\(r\*r\)Wr\+r(7r*r)wr+<(<*<)O<+(/*)o+|(|*|)_|+(?*)[fUtAj6iẔБetY]NG򺂮+ʺ꺆kںnƺѱhX#UƴUtsBԭtkFhJjFxu[d:Utmu3u论5kvitբtehUkڧu@7j?BCtLJW#P{^KҽuW=P҃=T=RңW=Fx=AOԓd=EOt=CԳl=G|:J/ "X/K2N+J:No*.,d]k>_QoқUoSһW}P҇}T }Rҧ}V}Q_җ}U_ }Sҷ}WP?ҏT? RүVQҟUSҿ"-Բ!VjZVl [KY#(kkYk9k5kmjXa+bE-cMn4IRSjBKKԉ@PhHfsR!h(^CY_R1?!hs*W(j=͹vSTrb)J粞ˎ@uj `@7}ir;g6#h <}i7 A[k//p$60{moϖzP-tC_& _l"-*&JaN9 h :lnW9/d\hR6WC=`M&K5SoBY &Jj4;nKŮ)H|>Vʖk=Zuxi`/45 mfr ӂ_ XQŢjtUʥG41bVoVӊx8xqK M'o&o&O?~8$I'O? ~||$I'ӍmsSP7Y#p;Q%\ AL819AL(EuE($5I xaPT AQ1(*&~ )O? ~4iO? ~4i]]]]]]]]]]qp288||| 8`L 3gπ?~ 3gd٨A6jbب)6jaFب6jaFبvPnPC뚀i &ՆƠPc~Pb~UW ޢ(G1>uB|kA|mogg#ؘoc~ co o o o ׊ߊZ tȌ|_gt|Pi ? ğ@ ę$M"$'1>|7|DIğDIo'r9;;;;;;;;;;;;;;;O?~ )SO?~ )SO? ~4iO? ~4igτC3 =z yqBEP'pKSgVwԿb-_UˊV[c^< Eq8/q'J=bofVO n%cyJ* TZ+iX 18`:T]5\ɗ |o<75+BoV0lcm9 ]arvзV Ϋ3~^kշ7;fG+c+Dh\]؞RgmCYz8HÓhh'&ÓXIkI<4?kUwڽ&5^Nn)x5=^5E)y^G%7ٞj\{l.[ɇrjГozR`w+uDG\w1o˗\=_x2N #G Ѧ?z!x=`DgАG N c`-omd@$\՞ClA9۾A5jtީZV/`q DV2\0g=9r3{>iSxڭ{PU]D+ &j (EZVb}ӤcM868T8fL󑩩2++_ԌL:ًRD;{==[ YrKNu=^ųPQ Y l[ 6z!\#h M A44_\<.`&Bf\Lĥ̎Xkq nbvm>_|b~ߤ>M mOi+m>v>O _s n^9H5i8g2}C'[:IH?tY:Gy:EG.** R5Tj*ٟoj |mnϷ8-:@G tn0<='@*G I a$|cpByDUÿ̘%>F S3'qH%v6 ΐEQx"Ugۃ]w33[ٲ!{BLsmB(S.rWL={tɆ/I T^y;MH*MGP^Cb-)ʭ|ډ-/>g'rOKj=~ңǑ{$Oiii}Z}3xؐ>yxy8r}~ώX9eTѳGewK 7aĔM?eôfZU5KLo!f 1krref^rYKg}2g_Ms-sӭUs8srh∕Dȿ$߼yC//HMoޖo^/jԬ_Ɲk,QLo΂qs_w}PbqxI鈕YKOC=)#JͻhbVU7u&~xsQџ=;*|QN3za̘5Jy(8?Өxd#O;#J2.){ mKl%+~G/g|yA 3g-|ߜ<ߍ1see- ]@\Issl7~)[Gѳ}/ɿ6zvB7~b'_ڗUtSe۲=ǧs}g ~3G0kz-9 qj1 F?GFt^wvdonE4o<$FfgVZ_!۩.}5y.٪֜ZezvsI+zv+>/+'n?Zg̒~y?+Nο Ŀo{ʰ^~<wfӶu[~Z6uݘuW|8aӚ1sValf-͹.灜rn.#lxDo0ʨ b4㸸Ψe~ ge`9XVMb]e[(aá0bZOIeص1`ѨM6j)F68Mc됋zmaӞd@w!9VaI eq2 o[6s o5 *=g;d#hgláFAnx~b4[qBS/s8hԉn| CA'#(F-b 6K,\"冗V}aZ(-kI3>b8W=UF0` #y\F(<^$bAЇl2rt"M?bq>}y~_`%x(ěx8?s4E?^-E ,|7_8C\ $0O\Ej׋- PNm3"qXdiT'" G/< ɵы|"p."E/r-,DzB/\ ؏^ы|b?zF/nb?zᶴKH);:Б\tąT#UH:EG\B}77Б&tQ? 2Г!C> tc85cq`"막>:aAo1cnDnsFT܂ޙ\dE݆Idz7Mwdz7޽@F| Ux4|b~kZ#| >u39r9vʙv`R|[,D!D<Y,E! "r`ԀZP>H;@6"m/69T#KGDoѪ7Zȁt `(zr4l6y)r,ae*0\.hWʹa: Nm S-?ɖ1,+ !qa#췔D>|YVt:VkY*Qͱ'fg[ҁlD6aYKOÌV}8rFk 병szH? FLG7O&o+Vہta4;@!pR-D8s P hw=8O=84v^ $N{}vcؽ}fe ,bGwe`9XV߱_ `7~gߍb,;mmNxi; ()m3aeYvMo/*;6(OޅE0#catlLn.;߱բ-U6}4{Vx'V Usaפ]ٔvdэ>{ aW}D&fڎ$JىTvb7c7e7fn4cɖck|sUql@6"}Hۘ!tlBD>~3ߜuF_nM8_ 0`"!0Pcguau?Z6ڈF4tVEo Q@>\Oh5x}pRq=hߣ y"EDQ.cEC&Am "p ?h-LCa'ڰ+!v&ⰋFIyRa0O2s)yab"S,; #DvjN}D/P90T CP90r";чNa'}؉>W2u: {^GaQث*abث裇})m6 s<(rsd!%rs~d Y<<< ʁ TjPj lWLb@^1+z`^NKA_oab;lXL4b !6yb%LH3\&k`2QXq* :h=,`&hIs`ң0r(ъ6-֞K9r vص/&YvQD,v";Zhìu4c [M: ځ@{!>e9F:]Hèâ-tڒa샭abK/"ӌ#0PK?A:B`< \ ,?6%Z~`DaX(,Gab8 Sȧqe`x A1 hgymkY!"Q ?Qby'ot~rA~g!3DPr%wpF! A B D B@r('m/V1nF%񦏶).Ŵ(qQD b:%ߒ=V%G}>(M>ɧ>JPI *)A%%ȧ OM# #weKX;0̰i{YɌOS>"OA2CMW!9LڋnD锏;>zGSwmHAcd0qpԼ/Pb$v셔3@ LxȈu0q\6, EilQ01[Լ03ZY`,K衭M6VZ/f:V(1gQ @NfHdm8(G>c'=ȒBxT'8hK"T_2Iht5NFnJxVQ?7ɕ[V"(}WxH2Lw"2(YDbp acXVЩUka ;.o(.N!GEȍ$wj.U~S yEEEEEԅRDЕ:IY&yiRrL"1O)҉.uKt]D"!)>uOuSAE߅աctЛ{a0?LpX^,e[8:PN&͠~>&z?.6[gb]H!Y$%bu^G KeȃôO9TP اN وlB,!|ôOD\ޠ/臯O;9?!# 3g88$Ԙxj{<5=8LNjZVQE27}QMxU[G17[hz{<_%@tr<:d iQd'߻A H=A/>"ӌK?>Aȑ`4Wkα%=|a#;{,e_SȧrKgn[^7N[|_/Swx8G_N=40 _>I(.<ܝ{ގ\`l&Lυs\8>`Pz*zs2r8?υsї\8?%#Hld$62 I/bBPHF䒑8d$A.O'r \|B.>!ā_##qH<2>"O.q z<=g| %+)'+)'+)'+)'+qKrJ\>%ā_%+)'+)*JZ3d%C>YI+&8LV>d%~YFVb#+Jd%A;Yn>y.7V pR.YI+>*DnYI+SAV +q JJad%d%d%d%d%\rr[.YIKVRNVRNVRNVRNVRNVR咕r}d%d%d%d%ArrrrrrrrR1,GB|*|d!>2ā%+q3sJd%A YI9YI9YGV&+)摕KJd%a0YIĎͅrJ\YI$HVROVRďďďT8 9LscLB|l>6#yLlp`@ I3I1I3I3WLfLf"cd&d&d&d&r^1WLfl>9vÙY,A瑅Bld!6rrY,Fb# )sXx1(S}_'&K’{MtÒŒ$0@:|rI2`k`X 7   -:3 ,k:e4)XnWU&ZTF/Z9FYwkhE:=<5B<*D0 Lƫd#fU7[7E̱y1ďUmCw-c탿[y퀻䄷ݴ^kZx^k6㺫!lOwɴ1x9/elmMc좌{@>/T[/86>ǵ >mq|\c|lm >Z >Z+kz:b\Cpq-\lkb\\ ZZpq .q . . .>-pq \-p.n@ w'8R/7n-okZ ·!6|oCm 66߆[||oCm !|kocm ! !6߆|oCmompm ±A8dž[ Z8V$ic86džZ8 u!8 !86Xcpc_mk-j_[~uïn5^x%>uçn S7|Ok |ZVUX~;|ڂ7b ;j2rU*}?V-c ?t N Z@ʃl ~`jOzQeɑp #kp~8l#y*J\DXD5PM*XfՈ[k51pԴ++aXj%bpgZ]澪bdr- Z:!ܹX\?prR/~I^8l{I2C)tJѩ&bK0Ļ'`,cy0o [Eo7j4X  Y }VcX} a1,İbX[ ˊaY1,+eŰ bbX }$ 1Jj[zEL1ig:c2rT^K}1-ByHhA3ZЌ4hQw(B 8.ηȹ8rOͽn9FΧsi<zNΕdmMc2OeO+j@]5M6ojS|Nv]͏Y,FOr.10ЂE`[Zh5|3jSk2:6VHS8.n9TJDcZbiXf_"<$F!r>R?T%-7-*q ހt MDhͫ|lRآ/hVB| ZDhe0~sNJ ւm-hg"9H+qGX؃ָįнgz :;9r geV&6.GVgM \Lg^Vcq&'u6ިh3d@E%YԳSL䨧9waiRw7)fǞ6/Bwɧݗze]{|Zp#\CZOsV5#}oq.lT&aoSJ"M܇}B$m_9%nrPDL*r>I~rN#Tutwj,"4)c)e R<*zOA,˪>f6ݭփPB+뤰'~^x/TR".fj|&^r\O'm''[#(S#>ЃfɘރN3 ]pRFU#GD5_(Q!-BLm+8}DfwٚM%Qڝ㫾wF:V54rJnS$Hժ^fO ;ƗR:.Û ',A~8 ֘K?J1 Y1b<|^⧤ 7T>[Mnos|,dG8oXV"-eUG#o|Do>6yO1 " q 6 r|5ZLت%'JD$n7шHM$&qDD"n7Ma#HM&p]ɗ:;ȓ:;ab|W1W|~4M[DsVD~$nɋ:U~9XZTO*&7VD+n"7Q(M&OTK"GՒȑeE.>7M"Z baEGD3n"$G݆5c~'X ņVckZs 0(}G& rrD9n7Q[YT̾‚F4*:мxΒk_ CXƱ (9m :LI=΂g߈'F;.57z>hQt1Ǽ^E,$(zEomQ6*G`$H:['zDoQ5F諓ʏ:譓Xʏ:ODwuNb-9o_r2]vg'1vkמ2ׇC^k;zEZ~د=>?Cnc.M͢;DGQى>;g'D}vgCW~tډNi;Eq=vce'q}v_sNUF賓ʏN;i;:mGW9=B. =R? xSӗT~b*?1ʯ%K.Fž! 14!v].ޚ$]\4"QJ?b:?Ke`9XV bxN[/m2TjXD cAaB !G(V Bf& Ё/%+#ʎ[_:wi_DS݆DY0  Vx^݇kzXƎ* ZDDX͚U9,}j?_U ܔ.Osh`+"bj~ 2X~bcG>6y1KUQ$; 1C.Eq|yOMD^D~9 y-Rӧ=m/P#g[ai\p3<~ Cp+9ŏ"__׽u}8]D`X ^/Q?Q? -ωE¾ y  ޑkPq=k:$}>r| 6ʱ] 0P^ CyϲnHPf,B9%rVj>X `58DW YDV!ǐ5Zd#O Ily)[ ۊl F#=H/҇@X'|9l/V iA&'֓6R>3HCVdف¸> `\/qP!3ri5Gz͑^5sb4e'.E%ƽ 9N=W+z(W"R+Ժ(؍ZI$V*PC ,j_[z/5SU\)x-em_7Q|߮598_ߋG]$fzT!lFs 7<\k>G~s /^kg^b&>V s?YGuș(_=xXr+O? "?Gg"><ÃzxLćWQ*"k8ZmDbߖ<|NxV"vyljX鈹 s&aiīNz*[{^J cg׳j5`-X֫_rux|F{uHߨƂy}:1-рWHu3zG:"B;n^ @!cD^}I<'^əx`8CrD>" O\pisמI<xLjV DSFs9>{rT*1S'G%:[;1Kx!)QoĚUw7\b vڀWnQOtkA-58MK獛sb>}c`X ^r DfqYoǛfqYo:1b58Nր׉5u[*1|+f,̜1ZVͿ#>Ts'ZNv7 PYYbF|⚧75t.0N 3s78bW=|EfHV=LFjZK˚U\9j^@_`;wy1xIj6B1s$y6QѤtpzʼnB_!W+D%cW+D"{^!jg]&Sw\nc9ˬ)dTA+ <ϱr//q?q\G"v ;BN!b;Nqb8S)N'v;N~5'쿋Qh-ĉY+qb8qJ MB%!bHX$N'ĉ=d!cA*ސ3B2S'BhhB2vq qb8qBA26qA 3j9 ͖36F\".h#. ~b?q{\ir>,#%lL"_GYC߅EC>u㚜՝Ϸa%~|?χ!|?DZ6|+jÂ}.ȍO>_NC+?GJrcQn,ʍ_cUa_(E]X[O1{ 'y>9F+ B=;{Xbv}]XW8&ot7 'E=]#TBL$WL&#MJcNo1Ss#pLpF9#O 3ݠY ;"@OLXR@oXA-?_E2%uBF )Nj`R>ԣZVi Y_jffVjffVjff}Yo+3"gMVjg5G9XYEjÁJ*䈮.їv}]_jחYYͧVjgvVjgvVjgvVjvVjןeP;+R;+r |W\e4{) .+?#v֎:[M>שy'`u#-&ԝ;(L-~y?q?  xVq:쇑ڂ*~T*p N#0nF`q#n֍X7bKMy#0o6F`Le0lv 'U* U, 9߮WD0Ica0f=6h2kɬf8Ũ[Q#Q`{.pQ0jF5F&XMagj~ kʕ(a 1#0fƌ[Ua l[aF2[6l-#e ÔaJ?Ly\-l-z}K Fq]"CKЪ5h k8'wq.sK̓y+?$WnCxh!GzzxiG\#z+BnXB5'{@ZĻ FNjFNjFNjﵖkn ilGZ`6SHOm ws-~X,sG<Џp ląnδX#=^O<.~._r_&=٥*xW? ? ? <,rny` vq\aZ /1%5'hn<:@Ac;] X@H[z!{#+ȁ ] B`< \ [w|~<1 ,WSeT ;*>A5+Fs|q~5~&kD}-~s׃O1J[ąV|u|'7&;A3hm@*Fd\@Mu59y_C~|J;LT"1CE&V#|^\d]1|S5:x ow1H̠-| >m ly` Dž'Ƅwbُ,A"ːʑ6WjPjA $N)`vNY(ѩC "ӑCެ/" wȹDqr9y%* Hh$yv-23WryzvI~IIIԩ{@'H MO|>}uySISȧuO~"7 #:0rHO0͜}f|</?@^H럣g>;sV{9VJ@}A>ԛ4Nwqv࡯'cw:3u gix4x L sȜg#!-ZSd)2"x 4up(5>,GR+3aIhX%;3UqWXԓc]o~x%%jȾbl5-qv[N3LΘfRhO v9MQ.(}]fb22Τ2K 6y-f2 iHZj$-5-@ S0K2eL/S ʋebkje_jv5gLl(eL'Sm4<*3OL\("Ӎs^U (q`V*$5^E"fw^bvg|yrJ7mXh†}侚xTJYSbXVV$g4WkuxcU~~~~~~~XE"wβCLVl`;`'E=ITd!%re+8r& g"pȃà@%5ԱO=Ҏl@:&5u'\{"hRAo@D#!# 3g88\9r~~Zrs< L׀kA⮔ܠܠܠM%Gk*{-7Ҷq<Ҏ@#:)C3he7xt? 9NwCn$pk,L3Z-< 29*p- ?%G<|\\e=| 49ο %q;wo}-w KaJɻy77.> o:9A|m<ř#_,>{{^r /؋7E"r<y8.s \("u_Nr=Ƚ B~/B~$/֋9~).A#\_͞lˑR.r)?\ʯ;"rdy A hc}ہH=9?Vmĩ>([}P l*m8`*m+lB m'Q7:Pc)cG{5Z5cZlcѥ}.|v"; *I>y%iQD%dMFL^͢]4}\Us]GZo*E5-$ԯd}7L}7ōudrJIm+>JN[ "=ҴQj4J(I1Չuub]_[J(l _C06.F#gӯ]ܠVM6v;w gʊJ?9{ܫF;Ի8j|FaڨZ[6jR(M7^UkQb; j ||zּ/!Y.t(b=5m%Li^Lg?'4=zutgg$1;Mmq8gsƠZw|7\?X/Y,_[Qi=J=* Ҋk$J[II+)qU>b,݆]SJ,b;粒 ] vʒ}&ȶBXrLn1ӊeb[u5j-}\FۘUbbHHϬֺ3q;g rŸV"G+ *Δ͗ W|kk7v#EwZB|pzdr8rkPoގRz:XFo>ޡާFjی"tȌOvGV#A r^ZO_Y=k=(s GkF/A7>81t$M"!Z!Ԉx;bp.k\:/N!r/iǴ~pn𹜫 w߶~|x99*.H0I -~Zw^8nr=]}F"=gR~{|96 $Q1U6ɷɺhڱv{^WRTcC55jƌN} 8K'gTgM3f;jTɚTNp~UW0Iy_f37*uRIQe/=J<22;dm@:]NWӕ^67ӜWC0iJ7b7*mLeHL6&ӎ>х0G@娆64C:}wSZfR-%rom.ϢgSwg7F h3s`79bhHsj}\7R"3GgK(Y՝:@}H~z@RjxúkwN̠ ԔH'9L{`F+3;l hQX:UqW+5b_%[6VwuzD~`b.QuQ1›U`*p'X 嘞>?oͥ靈>K77qm*Zos]ƞQ;-QFF1XSF-ty -oXv9l4f qAD4y3z ?w|rc0nG.`; -NbEmwFX¶{8߻Z ր@jz>}>)6f߶`۹vv]\{7݃KP̾% C9TP n9_+pQv " o]+X@ R|-}Ac6 C@ۆpv  FYjˍ"m< L׀k<4~2 `&A ۪-?K9S쳌5}b[8~3h!o~_7ہ@[!>G8G.` Xђo$㘥Rfl6j,}U ҟ ter$ .UZ0L<=) x&OFM|΁Y6s~o,տ Eny`w"wPE/guX֬1gVÚjPC~=8lsz#h46k71x||aF"VX2PO0噺4oxeGAu.WВzriex+|(4ww7'w׊Jé$jp&5bYWT+ s"cjmZg$͐{?k-5NV=HG3R% 3N?ѹ`$q(C3N{"r,Wavn"o&_|?r~u ^b1M;1#r/K\*x ow9=ʳk:Ȣ2xRL)^41@μ&$_K.˔eJ2xRL)^/ӈiȷBdK>S^ާ-2i%{OjA:e6ucG#|*u7w"r߃\z{KD=~|qOTj?x{nM~^xCxSk,W$*<?<Cx2O^|wq#ަ+6x &+Umx o6A\o#WazQy7䁚3J7ʶa<5/[-WȖcطZ6/ Gqj5 \B`!W+WFhzڋVW3WU9cUczw~D5.6}zZ>a5:URVk !#DneZRsͣoX^Sswc^~pߪ8_2vc^,c72vc^9UQtZqa=Zc-^}ZMn~r'ނtb-XK'҉tow¼jmj6b/(ZEˢhY{R^KQz)J/E(=GHyҞ;z\9_f ߹;-j@uIEףcG>HFmǵSrm 'j nq ?t m7Zܤ>}ۊd&Ll?TȇrGʞV+uubM eruFpr4D7 ;bLK߀KlRJeT5Q(FUbjGjhhNb+bUO}hUvʎV*;ZUq` X ց}|6)9~>@.˹[D&Mv"ʃVy*ZQ>l|ՠ\I$Ws hQ4C'g/hX VahX=@hX ,7ta?ZVв-+Q$+ukh-ẽy2ZQDMih|ǥ\]QN$$^L$ԁy4Qys|Ƿmmh[)#jѶzmW<_sWUu2`@ *eZJm VZZkn\Z7V[Z$@ {@YD& $fB$!yw͛$$_}wzz}s(bQ"G >?&y:ش:#6dbRϐY21k!C!rH`9$XofK`{ۉY[n$H`䘵!H`!H` ;6}U ,KqFծXY}9CXx#GWī-Lr#FՆ !vwe2H`#$ħC@?$uFC$0dӆN3_l~vDs q:|:Hc6<ݐЇχDfA̟i;1 =g; Fo,' ooooo b7.vC++++S gFv od7Fv b>$" 4gAv6|8V68 2fY'')m|p,|+̇/\ײ7铭\ nhnE`]qv5GWS~:*8zr|R$ 9…L 8Sl6=_Ckfy_H30<p` -p ( S6͠p.( =E@BP,z!-e ABP5TͅCGPu3ZnU7AQ֞ kЯ? sl@ ĸ(b ^!4C=D:堎)ewח:3l HAP(~`\ 8.z(1 -,81KoѸc?0+z&2*9t0o4@n 7 P]׉:hu#CN8jX(Yy)Ucc3xւ:N-S Ԃ:N^AZP"O9E"3,R&XS|~ؗr`3'Vk9Pc mɅ}S"ܡ*ka"PM)s#`Ϙfak4:1s\_xllllll2_~9z/?Ssԭ“ysDXZV $Rh`BhQԇ=H1Tg 8_\w2)IS)zh52^(;WIYjv&q<  ]+(p;()q hPԀ5A>e2 \\yltt9`,< ]P Xo::: 9Skt e}b6ia!"ոz5 ܡ2`kif'ހ> ?zxo"O.:Q&ȒE>_E&2$N ! MgC)c'v&,92;*hwc-XMv1ogEuV|$N1SlP P{ rp>V1j8֦#h C0n ԱO!722 xrF{a#6F39Jm D-AnEx%X`]Whcz7Q ?ߗC\G1X;^I,һ*%8Usx/{xw]`!`Kϭ'ʶ} 7&`O_>lP}@qO ̉y>s}W|syB9AXI%5J.rP +oVg3ouMT"y&ʻ%RyO]*M9]ݥO)GSɿ'9zJ>VO˿ʿ+5K͒/oʑ/j|EW,Em+%g W~N=t>E~=AW.ғ'2WOS2+}3 Y"˲PߗlEnҟaCdX2~])z'-]kATR:tXWJӍQu9Q'ЩeHq!G^FJ|a-BӺߑKfM٦pwLZSl ZMlX_:vê>na"C'"YKke&aEXX0kuM;5[acŏ+jɼq$,X=ԬUp0!cjUƽBU>8.zki\geUhLS]+yj9UNm?0Q-$piO_01"E/Է)2pV dGU WޡVՌD;p=q*[詍cɎ!}l>IK\R} mу1~@M}ѥ/ٟ[Mv k;kں3&`g?gdDRioGS>n7^`_kiCl!\2˴=4h!WGܵ|7M^2 An6V`V<9..Z = 7ob@.7suZ$+}7ZNt٧PV;Ӌd`N8:&¥qhc'iYlZ mZ_nu <]lK>֩۬;uy?-(Bvl L_8wqs79Kv>)y$" G˩`➃v4#sSV$0u"Z`iK}N]9 lݖ=9cob@S +Š?iR~g_G2tx $12N`_1 l}T vimlWȊJX/Yz=1{S|uc:u]|Sق:Ӕ~)fz;Kf(X.n*Z ^pILa)L>ek@P\7e1z!31qE1K?qkX^z?l}gGxfxfc< l}g>3[3[3[3[_晭Yg+_<}x_}x3|\;g8sHt뼭: Ӝg,YZO9f}z3O3(FsMpjO5_rfgmN.vYHmS{Ω93\Ҳ1mn1#޶ L7$i̴m\sbUq-ANXNJ(!WCbYb!,(xM\Ƶ+AdvS<<OJu*o[\țPN-Ѽ߯ P{x<ϳ}>~*oyRQwY -5MuU |y8_weZHWXLu޲F@;}./6SO`<_LuXurEbD&. sy˹txGENjOx|-|-|䷹n_ǾJYDunvtuo] ޲21W 7.zG"K~\d̔,#B9J\r('S)ZYi\@Ar _|:..e.,cTeW.k2vɸHp̫9풷tM;xoyX_y~1K-py߳v4b?ry%}y/c$*ΆG7 #s1Ƥsc87=I2}qBXDTLLWkpk7M<,EY,}mSrY J_uPW5+4:W/y JPuzޠ7Ej1d\HF ܕl8YodVJsYiAv4yd)6РWh=usv{Xaΐ yIH)B9lki.e-.qP<>>k'slsYp$[\-k>)%V\/r{ vGO54k,ݕ˷KBΗa1bf2熙c"x1w$Z1U"nw eC&^3)sco&L񓹜\固 RRATSO+!Kf-r'Lv32:ȨNI!?< A~E*.t;z]Q`դ'^#+tvwp-file-manager/lib/fonts/raleway/Raleway-Bold.woff2000064400000175540151202472330016324 0ustar00wOF2`?FFTMp`F   \6$4  [N bn?zB#N Iõt#1%tZչ+݁yߘLĦ'9dLCxtmnFP݅Ŕ}*j61űHRJΦ_bfֱ& norMɽ"-aE,B~VsV:u:`+~3.ݱyH[OyK`w1bW1-+Megm֡NJWMPRQd1KWlRVwAI=>Q#Jfx#9|X]gy>*àj$|>38-{"^ $n%(OQ-2srRjߪL䲃%ۑ+OPʹzzo%$sC@"9boc0&Q#`*1nR1 l0#h@  ll<_:4MF^ED߲lF[>b#~οwZa˦5te;s%lxK[όF;Z@҂Gbrt*'ڒt;JvW $@00Cn( 1'ɵiiei)OOzL~#pEiu _|mQ^in$hH0Edh:6fz%h#5MRi`lߐsfej0lҕ y<{سf?q96@SR|uGFDsE #n]g\ƲJp| d#I0V! 0Xcm9>@VSMt:`k D9'LSOfىTt k ;&y k?Lt>Y5g&P|jqEc WBPB@D'nLQ ˵-qBҤ!MjXqVv7)"\qn+JĄ}d#08'~°$} S -tj]YM|yuRKN#t pm0L1 .WM6&uE LmREX= ޼pmOVRY.IdHe!@(uf` h7SI$AvZM:DH¬A"l xEr¾;ڛ[חvx%oS6`s$uȹoƹL`ŏbWpch0Kb6DUPe(?ub(N^*9@@=0Z}/˰a|[V~49ζdlw\'2Y0Ȥ%+TNm[@K ~ ZkZLC];&:?gL8hdhUuL8: b9&%O1fvD  6Ģ-\"U IiBf+M)h>)Jl`DJ=0Tm4ƘHiZ2+3Gk\6h;7Kl`}_Ŝ:J>ᘬ rWգ>|EFhiO FhxLӺ[E?gڰlàZp4tB9{C 0f y t#ə#ʤ T BҔ޷nuwr)0;NAy_㽹9ZQJ(]3쮊Kӥ\`P`^`` A{m:RUK$EiewȬ uZ`?%2!^SD Pz$T_ղ`XŅKt=%'nsQEO@N/AINNtShR,:qf4z:ZJRY cXF3Vƣ(j'%2PU;v,Hc'4 ̷3\{8[;H(F+dKI!mR"~!I )E ` |@-Z,m fhp_ flChl!+?Qf{l !% "VVa*Vd^u?󸏱-chRJ2_ @"jEVз_~?5aDC ٴلR"@q"E="BJo4TV0}9㵿xU6}B@օs LM>C>.qe%_eP_) Sy1t& B2UFW(wd o|[@MZ#g[p HjWblfbڇ}(H!FpHP P@ 8>>eok /q Ƴ~&;,7?v\E`]\>F p$=Lx݄C IiraaeF]}ත_eY mӫ8yxvd;x繋d(G^xp6X?bs |OYqؑ#׏RZɜ7A y$2;rBIgij-=6ۏ\ Ymk+\%Dr)H z~>OϨ3?f{+O"被3Spl쳏z}==T,.oJYf$oc1…,$s(A+hcTxbcH76rS4n4bIHwJ2gǍjFm\M*~3[e#TAfBpdjj0N(N8NO$eOBBho9CBKM "vJiPJ XAr cME*a2ÞgmHE  6 ;|ٚqߎNtwR cS() (P*cZZS JIۆ hrx{bDN6ِr>ł?l2g/RXJ[PT(j _iPd!M ѫ@?.+jcvtrz{0U/ -4seZ`&ժ9k>~A4/_ K䱔#P'-Sk2c֜رdZYs֯ˆͶmiW;px깗^{}Gv܉:s/B*l" fdN>DB3dCw0 2lӣ ^r`O3Ǎ3"K;vϬaLx]LQ|Fw' qݹK4b{\GX_)ly**I8VZ> ɴ"mC}NE7۪] j6;ad O >'tzN}[ݲ݃N/@X֐Ǘ fes9lVLV"3N*2Oy. u OCd2[v9\'u{x82e|7q*%YFvrW+QyR:#ޒf 70ޘ@"YԑQ[[KgΆ6m*ɳ@p`Hlْ6]i5ĚM\~ 5H6aUAdbI$Vus _6CrULH 5˧f z@"I%LnJwCeBȟ0V(Q(q(I7zfe`ep%BR[^%4Ji!tGi77/h֐ ]+J=CeK¾;*p2jYjݎ8mdfT\Vs™:X,Kȉ\@c/! 3;|w;ULᅡf|+wSXh~jSR_ij렀Gΰfd"7,Q1<(Zt^j:˙t'5V)! ܌pUjv>m23Q$RQ搅E9ULᅡYVmU~5e2yfc2>_8|Xd2~>ݳ a`]vN^ ZPc1nr.,1}"wE&BY6ai̻OFt$A}%h0a|p|[B#K!_qz&vN=3y&RSE-|a]" "Q8CG ‡$f{ 㶄0+KVGjrV̓j#! Cн!97CXr_[@,F&*$p2a$HPA/qD"JP,۽Bh:`REۆMB؝a|L驙uiHZ*lt)ܗل,χI ̴ -Ѣ'abfXs-LÙ*xJc L, >D$*hGVJ) 177p jCsڼg5A@p0740仝 K(ԟa* \Tg@#SX;EXGB+T[U%"[FnTat][7͓I4dbr LRl%p*MfFU= :ZsspZ^;]C3vdJZ]YKx:x>;[;P9 vU;'?; ^iSDaO6aE'Fϥ{Ntnoԝ&f Ӧ#7]}T&"1-ahZK@4z5PkA(ƠYǗ_h7a&w<[ul* OtϮ<ߍ+ɤ*yO֭alaQd}0 iQQ(Rc+R%ȔIsp~/ 31vղIpÐPvw~(ACD10Eɔi*E2OFR!R9ۿf*t]Ga:E=nФ,ɺj!,7'lat';91|),"*&.m)i2j gCl6-HnL,M,M,6Fޞfو=b#>þ2 \B}h61Fff >a-zL埿#gh':!\÷l)gu'Fv5j6܊ISW Nx_JXSkAnH@)&fsg1/I5BцOۨՒ9iMs%X>J8"b)HIȎԈi1kBZE#کl.y  2%gN+z4+LuЯcY`UtrSu1g7J!Vbcr3SH0|aurS׊4!fUzw*~ڋΖ"V Ub e2Ysk dA%hj=y<ƇBBiA<d$o(F>j!L{ְkҍ!OɦndU:'{g rTӽgoç.#5 |>^M* kt3OCgc9eRc,qF!]7ݍtУoU;CW%BȞNMbjQQx, _0X*`j0ϐјL##P. 0ȕJڧCo6Zvi'uU)s#∙ >!P<.+5vcu )f,We9`9qgB{pbH_D)-j{M&Lf%v;Iʮs^'mo3 0Oc*WUWug<F#Q%y5BvR2:!- ku l#IR3QgBrلCuila:{>ر8ܓBZF$nO&/MMˌYsbՒe+k5ʗ ǭ=;vwp{JKr̹ }Xr.fd1\ffɶ[4}$2hȰ1*qxQc&Ύrrw~3Iޕr7s*|3QK1Jܕ2W))WS9>P- զ'F'I_s򺦅Ow ۃ<'L m[fNv-yGRHxqqtcu F (f ׮=VBP`pu=/ #=" c*%YFvrNUJTީTE 8~ >JlIIiM3דԒ\?O4ߟ`9VO?y~zSgC1;jI0(>fV*|sݍ*H* 8BKωg DϫRUdJMtw|UFBYZm$K4y흶NXɪ#S"jJRbX}ZOmLA)qijǮ=OYϫ^z;;Sg]b?Q9Z>A #ӎ1T(43K}һidАa#aaGb< u5÷Z}]~;< ΄azw][FE1IP)BNIʘsm_c@6=5(bD978_&$pEGY݇@Gކ &K(# EY!5De*y[%)5 Sl}!kmu D{.ṹnd=ExK&Q:2̺*Zn7|Y-YXq.N HGՃ`m*1F1Z) 0S%J.~x;Z@hPZ78sOn*{G@Pb9Vٍ f̚ AAT w\^zw̹ |_ ӟ %ʉ\y(,DɔHV\lv:F,gU)MYn`1裀Ji"?i!ꐞˍ8wccQMϪm@+p6ݡ:Q kr-DjY>н'eEjsd+v9jYXIXef7zrSye;d%UW-j $'1~)/`jơͤNK2e2L&swus HPJZFvj 8e3״˗ Ǯ;SϽ[;urz< aEGw2^ យd+ `6i[>ЏYd5ajON!eT» .w(kat>ȸxׯiq#&¤B'5KEW7X"&/vW>b=%"!YϧM2Q8u+ |t|4@e DϕSr|r³d2M39/ PZXDTL\"%R2 >R( Ciݱ!5ǶbڳUP( .LK9rQWܯ͂^4gJmhWl侸Qh31OK=kgv1b"fr.8(p;#YE@ EQk@)vG*tK$x&c0kM06Iޔ"`>6nP3:ap w` 7a_-ݾ-@Ô)XaGVx]*AnY*uHïggxf`0^ `0USHh*܏Mx-5R*46ǐCS؞ăR!>HGA0R #x3{.ApDx>>WU<Mu1wbg^T3.3c3'eDTɐW%9~gTN]D@g'Wܡr0CX7WC6 (n2@L}sKF+iEZa~c [98Vmw$FDTL\""紾R٤;[}IcHs<-ܦRW*d|Vmik5;Y{ M┹p۴qZrPzt(:k0̜02o4_Tn@ɚ5kj "_+#upKy,~v#3aLY,c&FrWC{?ΝUA?㤔9 ={}roͭ2c>`[:/!]%ѥ!I ·:=zUy~TZm}7h( SkZXAl;2[dņ{p4Cgӎc: ~0hȈQr5q_5M PP ! z3T ;f!bÑjl]`GȘ8G'Z<좷xۋg f7`U1kT!eP\+PqJ_#mbEc |=_i3|~o@} LVKWFW-2ʳ@OYA1̃aqy:"Jp&Ys-wqml#| *=SCrq.uS%) v(PH!LjRi3-y(=⸓锹Δٓ9~u:J*U7}eȉs{טy\'i-6ړSHϠwhz&]Or[O{i|[%S00EEWC-yd:xLҩ?[  D\ *bJ%t-'0̆tJf.|fxiw ih&nOAFMJӴP8"4JTTͭ6EqP .GpqJL Cu4.Fg@|7)@FȆ޷MywzTF sEr^K39R=4-B|DC1*wVV|{H2xWQGLֆf~l6`$/k=8Uv6d\Q_NpPixξ bB Ca9:pX*mҀ15IyŎv _~0->GC dL;C\p׎t7$( JTbvb7Jsuc8nvjP ޏԲk78fX}K9~{/ op$ݳ v92ݖ`Zswke*p ÃsS*U A(N^!!7h( Si GL*c(2efǥt87[; p%t*b4ƱU1wP ^V8M[x^8ZDuS&!iV&ڨ61.kj ze~ C]Kë6J4+*A7?7ur%pVVVVVV^L BEd󭭭 m3S}LnjYsҒe+i5~-_6lNn|=_8UV.ׇ!l-*S$N#HV^!rTFauGs+B4Ԇ@`##  X@$8.U9 &r c˗ eGمv766ͺ o)`( gcO^x1'BrOTAq:)A<ּ#y> .o*qZ"EV$S^(a;<<ӟ)e`8%H!G 1HER|0ltO#?'P5,X/Kk9-JBXUi\l0Xv R` 5 \N˽V!Ȥӌ\i-&E)m%B;tRyW X(,vl@֯/S:67U dᄎ [4k5# ܁`(ODU)/9k.S6tބȿI!ѼOCKkX4x_[R&p!-KYC= ړAUB-݋ιGRsƧBj[|jdʫh@*y u[uw'+ک,AT բ˨hիVi*o;$~X6`ƭC; `♨+s) ,Mi_I{Jېǐ6P'j˖5o[:+ŭ'#hLUĔ^!p)J1k]iJ|E{j-rVs AT"C(jc,dW"Ujn7<qw\DQGv6nqV:4FW8ax<(cE} yL*V4hA%(%RâFMK̠30ΰGFx#1#FD#;Ӑдܪs: gr;[kۻa3QX&n/q^2e%P$*cj:@nY*U^z7Fhΰ.|Ptŀ DW]:gӼ7pQgOFA1>ep [Azt u.YEa6j7@a"ġss^G|O ǟO2Hddd211ᢄg]2[U1gi7ޫD ~,/(?}=lPTҤV?hr{ekZO 1q@\ʀ]tIpY`([ ɐ-("T EWbbc)U *Ujo6H$A5 ]fdSZ2LoZ\Wju}!ml,2cKzvNIw~>.:h-Y8hL;)\ыs:gJ@<_UDz8,.j7)Ǐ&Ezy#Co;Jc (SEVjr2:2iXQ+Mt#N')(njה\ߎ/J3G%%+Rz-9Q";vzQhq~ 'yS\UQkLe 9t*cq[ hEy)-mnk?gWa=ÙaDVyYtq5-SW|9#k?'hL@aZ 0WX(,Ś [vه8rZ9;<Ļm+Տ%)6 TLwIY%9UףzPƋTxGWFw>'S~2dĘI]dҀ2l(9jIPoEj)Nnm'Kՠ5_AbTL\+X_6Se_Ny=U4qީ;蔮a=#,TU[XY&oRt+ZXR36h&CZw!ibNVMjZ> TNTT嬇y#he:ڭ*_ P V"aȻpf4vBqTU /B&V7bPF./QW5J޾l,h~Dv/K4qqyrWXԂ ͘*Llت]r?c mTytNųB@Fv;޼\K[Z~9Y-%LsEk]e&Zc@Zn> 4{"3%)gsq@_"zB6>㟇qxNr3L^j zdBc9|' @44db9[ &hn y#0# Lޒ' v O7͉c|'fm]Й1v1FB%a %ge-s"ert&|]tqT K=3,՞,OK>+lϸGHLt(Um$Y g@YV-b(ʹ_Hna:Q=QÊusprewYxgMeUa-ATF)-nR)Oz42S3(a>l7y<G"J؟}4 ]j|2Ż5p#xi-bw'c}|;АfRNE(wӀHXD#QA5X!JÉqhE,se?Fqq[T7xU` SCïP+ hLAY+yCMsޗKzC'c5s z ҫ{Z=Ho~i@?w#Cg:\w>0fJ$/gl sJ()YV>FlthU:*J\ ˴.a,m1ӊHpm5* _wW_=h}␹/Oiq-g]=kQ.7S3*ZQ< Zs#фeو7 ،NG}B4D?!<*܊!A 'tLHdH=t2v佲89tP[ظtH:C8/(pS Mk8 ;ΰ xRde<8f?CӦ$~(9q}D+b&,:Oڸy N$EeD$Sue3F$*vdρ#'Ϊl  '6c+9(_AW Nw&+eiz.p}3U3tL,b.4r#Qxk{",I$=:[1n^kHc aGto/ p˲oz:&V3>#xǧky-cZݞd[ f;[QgG6,',cy|6wvF:!tVy`x9fQ{#(T(M}6KT#Qwef! oB:iV0JE"JXJ!Ѱb`“eA$D¾BV?֍3*SV'=W][EBw'Y=333s{݌N_ׇ%F#qTy!"ILZONQ3汚?Q@P(J$)QٟVJ*=)DZ No+Rz=>d[  uDp׆PG'V:a2jYz!$bIVZ!V(OeJT^987%q'<{iCjGIKvܘq|R(Lr6jƒ?4!Yd[\m=SrL*.qˑ ^ ,k6wts<nJP666666T+6 rx 66nq(yy:^ PJ3d0T @QEQEQ%)jAGL .31`. *&f.tA=Ĝq<}GQteo=vWEu^'\{#=eg0O ?UFh٣}}6_v]fB۳\xѹ'1h*XXk?zķ\*5_]GOM_$`n=\]B(FdhP`Ԇ_YR[[E0:F|srqMGt:dXvƼ=qwafZzq^Y{e>jkŜ9W Z9O5~ߟhi[h `?8a-ǃ&=\c7D80^jRĈ^TpvҞ-R4f7M1s<7#-Qp6խ+{ɩi{vyʃO<4|%8Ez,j/撪"Vo%# 3+n a:A.퉞ʜʀZbNP{<6 H~@a #ښVMr@r-JU m5~gEK~LjpFE3 H){6zmQ@DG1qPrmT-U,AR2 8׻A*mdyO+ k' , |pl#*9dw2Ra#d +e7Es)ڠ܏б{.9e*uwlM(K80f>᳍(O dX'v*B-h\w<򿰷M9:a|fkӸуAuZsh; .[GDWTg[AOUF#׭l&hhЫ v7bե+(s<ӕ3u0iQ?Bz_Ws}j\V;_Ӷ[\>0-{'ܬ%!/=r_\r/?Xd9tczV4o|!1oz?:*+&bj1@b~$YJh2TQK6QlѷZ,?mۄ/m2yPw2,Npa wd& 2r4'-*scbLt=KI=myIz{=5\\ ڔY b˦^Id&9oVhGX) ۲Rَ xr MdAP( 4B Xbl'Z8vjeAn޲"5CZ s(<03tbo;bbgsa0LOÓp?Z<}"aa:X$ǯt+Zfԩ[HQs+n`MW?ucbJ'9:BN$9VLBB9?\R'bWb 1 RDzCY֧v['jIBi T`bZ0h+-W-u@V{έ䏬'E4hNA (m\* |' >IUaӍMQ#xOKn#NL̛SQ{6b♱Pi`صAGtm^Q bD-؜c mΩ6 oQPw&b31oy `H>KRA,/Wm8-$5Ft~j E`I~};@:=[vF sA^X; aQ赎K< CsWq֏ JIMȋAJX0}F#wr8_׽WB(Z\6)AM  &N__)}B;8Ȧw;xG04"54k7 =ԟ#1q?E ;HB:s:k8PN=L2o?k޻Ϟ[û۟ן_?tH9"B4;sUpK2h/ ]%&g[{lw y1ɑJ29W+O_SW׆t5IoPnPQ 9NjI&d/=+e*TѠ~rsk ,زc   !+,Z.LULލjp}aRMIjviӠ|_߯捽lU;F~>XAڼV*bhH>uO/w?m/^x?T+^ \|k׫P\ xeϼֶ mRRCHv:~e[n` u¾+`?hD FaB1g[-& k'mo/vnc&)@F$۫]~]~u-G&Z) Z3LV]ʅLD\JfV/7E5{_}^*©zyu'wQ=Ex=y>9juEU֠ g^ =0z6sc@]f\K$DxIK*aǝ `\~.^if\bT5c=J)LEW1T*JbH<64DMl>(?(* $`UU 8j".Wx⋈"&X*Hw`.BmTb$nn|%s5.wuk꡵=kAWT约ZlU=V`kMܑq$H" Z٣g5 YgǞGN0p%;~/ftYd\uu"TDUWr_K%R╬J~eU:]Mu(9_>t @ uO ^Jw4W"Z)Z8HLfE&0Rv;{k^xy{5\4G )JI&g{AizxwmӺ[Dl~h >1>gu;G]'>i@6Yp'\8 W+8,\-c \/X4)Nq}ԊđC'%׸jZ3ZqX\TjQ+2 0BY չ^y?)P:|2R'{ʉ3X +QBU،=](*[{gJ9ym3 ">+ <iWBx +N7^+$C]P%j?w}!oFuo{g}+qޝ ~'K~xsQ`cޕ+'8B1g4ip6qܯf2|騪T :5Й'S#BuC +Q\LbҞ3 c0L43=@1 M !w5B0R u"4quя;?s0JN(CR¼Y'~$;0.(]S`me-sWxIPB0Ϛ^&r?0pMGw݁pK6E'0ikQ0DƸ;Qf״|^!._܈aeÈd$fX~yHri(_r-*1q[I}VNA_V&J>7x(YN s%+!:1j_] Apb7+KuH@n/ʑBs%`9?5XM P730T?"JeBOF LNH T\:A|\OK:b4z96mllW[K{)eSincڼw) čQh@)4&Vmе;>0riЪSA#q02)3Nl%9oVgr]46.|*[r"sI5:yl>Nc * Q.Z/gʒ#W) ǬCK6֋w;*'7Э߰E sI#Cy-_l7#]<]]< AGZnI{vbflw:ئ.4 bЩInszNj.6h0j6ƚU\I$[`E0kwR.6U +}~лRd"5@TQ"eoa-oŖpqRKSx}Ku(bk[2TJZ5kԠI .貫⭐0)!ER 9,yljI>3|^32gms>Xi8wҰ`,ZKh?cQv+Zp˔N8)qg._`a i[ml{k>yVxSXly0l]7[ಚ6&nOdK76NjODLH6rr}^[6SΫT6ڶlԝaH t&MiS0k,yD#J߶ub[CY2珅 /۲B(i:|xנ6sUysvA}t>p ̨p8P ~j˵%$:tCteA_d @ڀgf, 0|&`??EW!7 [F( t!8h~i2&8Gx}H.+&<S$ HpN~6 M#Jkc@!SRM<_+)poigSȒ@˳Je갭UDlP 2/|ӱySv*.0$cuX'8ދki_쯔 p6uzUXa)z?3mUQФ X3m O˪衛/ pD7"f*y;=32^=T޹JsE/ ZX\صҍ6-@`Y+:jMu4i0ȟGVU2}Y v$vvl̦)떖,j|ʰ6Q`|)u_R+.l~:~3/~'j"JkU я|P3ѱY#Ibݦ hS 3Ok~.x}V}eo@@H ՠhنTyY/[ ӵϴ[b##}{*@oȀn\2jD·VO0ټb 0'na251˚5VbC&bd,\M y!1vqu S5:9 03q!͙{ DvH8Ei^) )z(KeMJ\+]U #aW_š.T$gG+nd7.;H=t1`6yy4S%|zOr*7nm+PM{,nrUBT]f FѻDQh9ŸVfuMisV ?K˓::݁ºgVw:1%d+4Z} _8ay0;QшbŽ|2\BVv8-xGSKiU])`*3B^Vp )A;"b?Y ;4P`6SAD Qcꮉ^]n@<͋ Kw :O[LiLϬJuYқ&gayH9WBq3+&y(rBTo?Xlwbwn.%>lYA`6d5߶h:1X@/pt 2\óe4SYf)Y J?T>aPMvFas ՚ pݍx7Q8'eO8 +-~V%a34F6"]2eJ5:(4 8>h3KYcvw?ggP㥠?,nHp['+cn O%xj]P|;v]} ˷ۏz椁vx[|2_̅)CvlR3E|+}#=DsNXb!J9( bWM>O@Xo0"CB/AWBMpj  ,uH%V9YQtm ]M^ͽ ҽgvJN޿vBՍaZyOoQ`ObL#K`3yt QHƈcTdzˍ:XPe ]Ŧ/8K\Ó\57GW i"\BL<ZC1Kv_1A?Ϧ$RoQ\,s+NFvZtРVMC"IQ-un` َ*.C瑪bIL?v545N\ :Q=sϋ źb*A;c$rZ[aĪ+0猫 RNIKƖAK&w* ӌTt_Kt: ,ظQDEP;:L٫YhJLz@kzG8u VG?f[ h:b[SlZƽc'5@[LzoE`$ 9 Y>0tѿñ(73z gALj yІE/\uӊ`դoPA=$czi=Nt=a~1;C02_%1 2@vR~dZ2%5/Q{~kKW^s/>ZYGd9? cPJqHVG""oh=)ߓ]laƚuYzYݫY|C;ռw;֥+ i^a^=v |7H١xw9ve8R@U#ُZpa b G7:#%X*+P祆8e <4@2xҜ=)@eXTkSwWwEaнirL5X/4o({v60۳E ?(Jq%6XNaLe5}C$m4{dz ju(Nl/SK[E@F?.WȑA.%cpo&/LC%O.iC`236xK8H {Z-9 QsIbr4+%A%RLf<5iw V8Υ/^ރy}@FUuf$t8^o္ηY#oŦk푵8^۾c$K+n{ i&p49w1|%ěu.4A3(aEiXT -O<wвUH}^4Ր`K-Kߝ=qIcm3+vIJfŢ`ѓ7՗']caAZ@}1b-1ȹh*8/Bڹܑ"iIQdwB\3Ҏ_d^W0u#zh[燃}F~`"Gvly.:"X^S+㺂_7z}N3ۡO"[/c]\-{ZkST\̙o KaC쳀+"cɃ9+!ilh)Xm "\^טGvڅY,,Ɔ6 jy\yLqma.aRKd4x.0/bKD='<߳fEfRMCphf%^q9j ֑ i"B0MN܊$#t ƓQCɐ4`_WXUIJ7k׮" =f; pHZO"B$0 F.0pNRLb]f3QE^^=7Ƈl7\ H`E3% L~Ֆ\lE&! +" rHrZ!5x{X=NBf%/-7^nckJd=tR5g}ѹaDyRmxG\WoDS|ˡZV ^+V!p5eeu7<ߨò%yBʲu*_^解>LrUW@).a6aB{M)Aθ!'Kdb O,I &_ܭBb hggXL K*ʧfoݍiw7i>^֭ mʽ goW$VP/"o@zhE#$j~x3capެtާzRNotP&s:už7iF9rZzxюv}2K%>Q?0bMU0 3s ñVݏy+ n#LlW}{%Q.BA( ȣ,X}=,tat0ɷb' ė.H7..]8J\*797Gg8<|+)zwKߒVNOחΧ[k3 DŽC Dpt>wG1cʺ 7cwSArkߖOZZrIlYK,NFͨC&B| e / ](bgj "]or_k'N+sAt8@=+R0- ϢX".-9)j""_jn&ҶS\표uȪ,>FbAI'衋YwTdⴣ-DExg7O{?hfh/\ƁGclh-g)Bݠܰ7fq>=7Gӕ ^N5gx:'d0.j L ˬ5X>R>2T)8,.DOxq9 ǩ8LFywLqaatoU=Y[,NoHy;Dtl6'Md2 FN -h,erz$IB"(?i[êd>"W ɥY-G@or.Sb: u QlMb),؉q>Ti9 wCVAf#sJ1U~2zI Gڽ{K@)\[ βMe:Ou'_@eWCV.mon<JHs11Fi9S2F{nO1w9DV尢lWA޵q`TvXYp=YCiUKy>J~EoT9# vT4}YNmo%%K!ݶGKYqz@_dsa\n.\!3ZZ3 bq<95%A<1>!.? ԕtZS._h_fܮ*:Nc~ }<,|AZG^EIwAzeݙk[-3WS"?G_~3yz%az"T.4ǃf >5bG;CJmZker2(b_c'H O4Pn%" uCя'Ky‘j4Y??{@uK  o/`Y<*os:d텱.ї;;ТVglw=KKВ ̩St^PjSIG3AU}q"F}HC7S3)fF[ۋ0sf.s;ŧ)Z){uU9`eu2~8 o)`L<$.]BnuI@ڱc]NYK.(y)9g;Dx1;]\Vvq]<7#)1hNˆꑾN.Ez)'a'Da3kOFf!d܅kEN){8_i y0|ԧh*`?0@^`A8b̗1 nlX D9Eb@)/9_BL-S 7K) _gC' rMQ8TcQQKb*8U;Ilk$ڨF!ݖXZڢgi/eiPÉ+xU6u si-܋"Gwg4w}/=-}Ɵ~|preΌuւ3 $F%?g!f)wN$h2YS RSS[uϋUF'#*k]m%GNY`W ?)SYJM`{BU?`:PWyԬ>G71J $ڒGZ&*/!Y:yH le܋֕lSq{+3!]&E#cϦޱuXbr8xSu{ g·就h*,hC ?`wB*N rԚRсub( h G/mpG%St-αׂKBwEuJ/+*7\*T魱w sQ&AajַeO`<a[e;P)I?kP: Xu˼4yx!IH 0tDc!a* 07jUt͇^[6û(nYL$%T>R.8WlS d}UJq+iaE"Z /f)]#2?FAa^lhoMpea #FROq&P9P^=xeժMBῶpXH|\VB16">a[n C-S=U3 joefهtֲXLt$9RXMS ?iPL Q2q˥\r6ZsC&4u)2?pzȪp0 nil%-wuhkzd9\ZDxI>St E:!}FxO)%㟴 WUI]͚STX/KX-?Cmf 6VNOwLvZ1,wlIdL^ņD m9rµ}SModcR%):WBڡ,n1O"/u`DZ]4JLqRX`ieڎ~c2z|:8Ss7mڭyr8Qv[;#f2bR/k*Ic8[׼)Ǘ; TGQ_X.);ܰSrC<|d9"TT 챶MR7҉vIX.UOZPOhMLD8L!62dŒA& Qsfd^2IeihtK9/'` =_ D"9(1y;ƈ@DZQ]R@"Uޢ "b)XU$Za60Z+q J~:mY"m͖Y{%M1#S`\hpc'yk!Mni@Rú㑊?8AГx/jͦFg:mfq+bX+dIE|+->5|?瑛[#H3D+*a>Jo|Ռ8Ykl64; kyǘy`ׯ7=o+5?*,94z.GyJl~=6?2 ^.JVl MV?jB2̂զe']m_sZ?j ; 35䥁(kE-,|JK[9!, ֊0klV}Y#r'_n`qdYZQn6^qKcܶnwd<> 7d'{?BR) V6{ad00$~ԜʎV\' Knl7nc쌧 K߾t*F d֑d3;Am"oUͬS"D2L:feYfۿ^y"65)Տ8cKGOWR -'%Ttf*凣f5kx{F&Wp۠fl0 p0#\U9c'(O@a0>K%^\eQٽWdb Ta/.N *K !(rsv5; z4O8W2Oc >nR3+kq,BLVpփ3_ jiIKSؿ!hEl'd7WHDU_y>1FN@?FzH(+<7 Pu`uzw8)Du9Ovr}?`=pۓ{v_ð+o2o_hsy]z*wbSX`KuyDqz" :ۍyޔ"t꓍z@1|u kln 3l}66:)PǸv; );z韣8[/|`9B aFf hB)mAъQQyX{{Pjh?6[^xacg~H8|D+ pF-?NW/3mcyx>aԊjfkvӝ9 /\6Ru֢<5+u/~a$,V"!9늁xqlڤZNatʖ|iȤפ^J $)fDÑ@AIi+Xި'HQKEnJh/TX"e,hRb472 |$Zꓪ6JPekq#ٽX[/$]ijOH e]n҃a\{^t9=qsacF)*/W.I^"02]{.xY`e0ْNϚCx(^#$'Gz?Frˋ`YKzmv ꭦz'Zn$Tr&rr ^ٺm]|dyAz_WT ^c9ee]hIDftj(Ȁ7"ܭӦj Z]b(Ty˦Mch;ҥfEҜ{сmk5f1c1-Rɋ?b(UԱTSf( r% l 7 VNaEA{)@!ropJPXhVޠ߫ȕ1x;g'w {AwgkGơQTZ]O_s#16 }L86̯gWreV1m)kzEVPI|w#U='grm@2QL}_].#3sgցHڠP^{Qo m^"a}WEB<5Ui*pKF,wYߦЌVX)Y~ڧU϶t/'^]u3~Jekqny?La!Ew-:qٴPr](j\kMͽe鷟-kHfʊSΊTTI Q$µ$1kr)}Ktܖ 0[ߖk̞!!yy<=LBy!q;CKs貥2,k6>G֘ǣ,}-a&VS_љ v=a!nVǮz- +IOE^.岿(&̺Fdpp0}vuXEƴxv⾢QS7݆#;(5A*{0CZ=o?ӪCg[W+Ğ/tᵟe29= ӯzeҟh]Ž@=wt}_TC38>MANXPv,^H>aAK}ιN 0;TǜI4$^9v4Nz@w">;1[~FuxSHssY+X&GBsk3l{_e/Wc6vA/R RH87BOpD\@ΩV]q5ךS= jW" N뤻7AMe [wDS|J:(kdH\hR 1?44QEs^iJf,TSE9GiG4N.6R7c3ȖA4VlJw55<<&_z@nl#[YWhG4L oߒK:*dr/$:I aoUk鰟 & ·77[Ø?ٻGVJv582CU;N5o,}yFiwk?^4.Ns-{@U #j8W(xgw.JETD| CԖ˙|{-ɼg,eT9z8{'v*.=G,Mv#{ {D^IwHwL)w}M2z58fNniښJʛUX'eZJ]hEغ{' O[@@ HBY|f~Qh Ghk`Wssq7 .k^+:} &Ċ&IYk'90c*Nnmuڰ_xzДez_g7}ZݝbҸ|Gi?$>(G&i|JͥQ\ζb?vӌ)_I.l%8&2aC6ׯqS_.],o˾O`i db#[3T2ćO^EIDĘ ~=ZoU9:Jbbɽ^UeXY $s0u'6f 4tՠugiYⶻٰw("&صF#Ɔ*s~u`(4AI4a@s PH'EeD8e5B#D 4ˬynkjs ƬB<ɯo܂﷌ ]Zmz#vr(œ;)K\2Nx;Ż'I#ڒƶt!4uȊNbʴ?c|\Q'5i4IdyJqT쑐16T0 V+llyD89)10sZXp4`lԾݲ:uϪN Q_^fONGڍ|b"Ht_ ѴJ07.'^'kTYS9& ⾡e/c4"Xln,k%м_|@pv"4(_:cW&q"ob s\P}w5SF#OLkڄl 6I'~o)cb{DP6qXqVF'p_]oq.ڗOv|%˓K mÇh х+M@oq4sLKYc5U.(4HK8| MHJ1'7 iڪ(L*;R`ZŽk[ SMSSGƮ".n74Ln!Ǘ=v;!fҮI FTh^j-4|3 1ґjb4ڴx%vn<,WF4c9c5EhVnF,栉Y'z7۬km0iug^ɔ.>Jt!2V7<KDKZ_+gRԜ\ICL:#,HvDpDk"Gi&VAzsdT)Xdhښ^oHC.zGf ,j OqH:PzV4TuiV3r *lOkO/ _4u-7_Ϧ9?Y?N57d"z$+4WX VyG`S)$Z͝]6;;i1VE R~)/ϏZ{QܿԭJ_Y6BڬjCi3SP+, yD(hcfW[ v/l!__XUfޠ! 7t܁.2p8a/ Ǎ./y{6Ak^<{Zh!\¦xI9Hh'  6t6)Dߵ1֦s;(N.|2+S0&f)T(wh*LSX]TV503cQ>~~_jOx?SIZLʥRtP&c:iuA-jd$S!m F߈rY߇gkrNIaz0d<h'lr GOo:ճ )H Mϲ[ݷ\`/+!%g`[-D5mG <+s>nʱr R[1bab}/w}!;xݙd /NgR%친Fb>" O?\h;xiSػYDWjp3v;wPx6:oSTYxu_qs2;L- p΀3mJ|aʧjD}՟m'^@{vP+ٻcv?Z_Nn뙖l$$t6ʻx6Mݔۘwp clE?{{-J[(A(s1‘J!/*p#7%׾ ^Pߌ}.I;GX7N8\Q)<\4)h/~jbLaӼQ:i͉rEX~,&zEqS-\vU30H)sKø+\|n s=W:pQJ\'.gQ,AXN))cySe@ܩZ!kǚE#T U^)\08enEBy5ң_)c7wڻa]t޿z#جr[Nzbsqְ"pce]y`͠xz)\rȧC;+`q#f5%m~rƛ qV):Pnu{ wKu+~J+Ϸ[e_ab{ P>nCH_~U! ɟͲ@B_| B`©?mtg'meV%폾 N1j7K9\,+];F/ dxl<>RFF0 #z m]Nzm,3bdɠ\tNUV3n\MHѼuCQFWDnE^$qYRC9={GN͇}' Os@?w=b I;%צ,0w^~{8nzqbf0&~=z7W\g$nY?{?\κ3 ÇՆ|RyuNo J@z_^=ɫ7q؀=〽K9 dW6v슾QQ,xyW=Ms0I<aS9(yTM#rELdZx=6;uspr0lOHv÷lEZA˚ [ju[oӪ*|_w"ȁKڢ:i`1YgvUTf`uN!%โ}^&;6˧2tfqyX=!8|"1r{ q*┹ffm7t٥2"D]B\*y)*֥/mCU_h.ertyGd-w p6d9Jn/ʛMNc @Űwq6&sM2-%c|܌٢(1ͫ7<Մ9T.qt )2,nDvqcνZɤ3,H ר5UT8y$>;$d72wM܌ULY635#9&Wt+l/`"W1/o,#E˃"aݠH:b;ZKK>7ns2a`&?"O%Q\]!m<K(G"O"|HGR EmՑY R|W1|GKL;`8. -)p2Ū C-=֗n cQQ)8Ĥ@$t49V\ jjDPSF8]U8BBDz8 C)TgX"I&5e٠xCrv}H?'|F./X N,G4r69mrxd6~p/&'}*_+t=Ŗmߪhh9A`菀ݎtZ8y N~asdQƷ+AV~ByVY̒WZy4f=K,d)CN8/]E^#+a.q|`V#KA]g;w]4 aӘʗb&WGQ8kbK 8=e)k(zK Y#z)m6gJWݚbxޜ.UP(@TwPK˶.͗%^vɰ^6l_v꺮CRE{,W|]m+:gpMi>}/)IY iEgb3F3ظ)~TFPeӒ07mSuS퉑IT!:-VﻋxTYpC s5k+Lt5SCLoʆgԝiP&QO-Ծs|+wUxS!SRbtA9%Jrýכj+Kc123NV9KJqCmiH_ ^854$6z U%9ı@='5U99=cH`6-[Sj8x0iyy^Ix?xy[m3޶wȟr>rv\H)Ukt^{JL~ΝqBSK;ԴZSfc @N2l-LHUrv^@;KkXYZT5$PumlyZjû'LqqTՑ,~== I4sʾ+94X.syMgDyU-ZƎ[{y7[ =b) "pd][59H87.7:gI_" i;Dܝ;dK57Ẕg/ _b&d4)̳%N/MZLЩbŁ9f^f#RoZQ%7-?vXP:z;*KLvyG;al<{!QevjM'8ncz`q'ZgYRt/;sy9hz?-T, FZHQ\ }׊Sy;Nޑ1g+_+ #S\$" %) Ěȇ{_#]= 5T> D-:8qR#?Qg0vYqgkul;{ִ Gd8R촅ۦ~FYУ{}ׁwU 'ܼϫDj+– z^IrT 4\yx_F8*Ճ$31DĴwTަ'AH_uO_wU ;H fʁRwiέ9*4[ ΪzN,0vs͹jEz-϶Qa>Jt'n(y*9VrJUa:G`:L+y}UEW/r+/ǒJ>އ:*]ٿT9k6Qށyx0[pB ~myFnܐT#4XM04JI-ka  ⺂1体q(N>/"E@/LcCUsAR$C-DEj` U2$ Q0U,^c ݘ xv+@]4V 7ո >9,а4v!Ub lj,F3 ݂HVM!8SaLӁoHGi) 8,΅ {M JLMp Gk1 w䋓9fqs3k (^r yE ϥf&8W£6K΂ 1ZK$ F܋׎yM.D,O e 驔ry<O.&mb dRc#bz!ݺBp4@aeŘ:vf%aFY Ή}i] *Ɏg.]J\Z؃.#KTZ&U,W}ā"ʳb%_=B Ū$D{W]78Xv"&q֡";C68-݊ɾ X h3ɤK| xCNVqlh1FNU6^F\=Íp>g|4HEjFzy{ oOܨI (ӟ+m!um} X#$𔉅JC*!1F$ ;+s ꏟ~܊T?K(_ߧSX 6YrXIf?S7V&ISD39RTahK{n۫r?/]7"9̜Sk/S~R)b1|69_N愤'ǘG<4E(zq }D[U9]?ncYkCk$ŪM,*8YUIM@i'=`bNHAFtl#C&ap2\P|qc :' sȰTI"wЕ'[^P\&lQj3fsnP]HdV#A'{C^GIŸOj܇[DeyCFvf6ܔKf|\'{.OOffw03-[#k."IMO M.~f=\I .}0B"p )GLm,`)7z6_-c1{ܶ>+9fk X.M~ȐChehaT+4LAz/&U_bN}Q/.C~{K!E>%?Dk+=̖׎o֒Bmbdg@UW!Z%Nu(`nl,?}3""A_z)FI}0?)Ƥ46@TvVQ0׏U ArBaB)ebSVh9ŚIf}~ҖvWf5Xz1 =._M`؋ &-% fⴡӁd>4*85 szMm$M0):(N1䒒_4[M[~!|F?2`Q|O%HaW넠*[""41< hGJiy!Ym{(|Ci=HRÍ}iirU Y/t2!ݰG蹒aWp`wpQ+fdTzʹHtbۖ=;:6kO F\C*5Ol-$#JfbɌW((FDGPBmod%:'6@Ua|!\Q h!wjD[zGi33?&s&HܨAet:bi,fͧ -9VE2&D`BBNh$lOHcgJ#սʬS>\!jE2Q ˛j JlaOvmj(FtiFU΅U*SPb6> =ذ& Uev}cE`#X9 ɱ8: ]{57Ѽ,Pګ0(75qn yjoA1 ~; +#_%md'$gţ]ǡMzj3!ةnѾ l?i Ebw=TIƝD(8gcgi-"2_0ʔ6;P viXo!CpW&cĄm*II*4Qf30%֏piȨCAi.׺AYM<9|D!BD*MR?U 41!AcECZ 5Wp'Gh4׭.jiP,s~kgҠ1e"y1ݞ`7Og<; "O9S?қ8h汱tqP({EPH~! E&ϮNHϛuy:fI0 set.ƠJE(eJ{Ku&oSaKh7D/Πq Ŭœd6K'>ff<ҵ*'`fJW#,zJ?9q dp<(6`2u6wi-a-hynW+{EȚppj h.UNm?9Ro]A'3RO'i/!MXmD1-$Eo@~͈0Hpl %ڈ.&:4:JvNAmrQU$,dgSa ɹxje3-&OnD6C&X>[AIr7+HoMrnϩ<{C)6O}suNF%C%!.[ڜhu47$҅{Gey%'lww}{>ǷV ~@Y[_Y1N}7Ƴ6D@G~6Ne##It]7|>[LC1y.CI+մlH+էJϦS>FHߺ8-xLXqq2ܼ:;(4NVѧTb #|,Vid9nʱ{cچtv/?6T8.~ה'>+4ۻ8 gD Izo ZL@mU@>{# }Pby+ R;i"'Q wP- `z \lbVكt CXBQSr9~=^ nw:KSӸ4~P725D$F+ Ļ2wuӇovx>[#֩o݃k:T2nolS ~(1#~rØMr]Fr,Te'2vtj.8(=71J6h(ੵtvR2g+ w}8jVEWix&j03>P''Fb8Ҽ&=ބ̰$xb9ή<ۄӥ .HIp^wTeȯA=`XI6ߚa g-ۘ7(G#{oFq4fnN_QMRMOuFJ _iě6\6}v!I6/'X\țuFPg#²ݸP(Ba*lw ylKR&q sk;mg1l8q}%^m*$b dCqB!|I[D va1mZbRHP~:|{9a:|?}] ."0$S|7 d(xokkc>PFFJʬK>O:]G#I=sakm|rxUx( %&p~$WymޡOM8g"N< so2fכw$5wCz_WYVgɣGu޳J4l\76k/fӂVhwj:=b2/O;jT}jMQI1&r=$fE1.}Q`=1C3 >m~@um;= Cjx[-wY^]Cv:;kҦ;t (2gM,NwTƂˁJyj*u&m땮.cU.++)$y& e~=D9W…t?%?fǡC?9U:mb; 0 \.8sQ@`DW5iiOC"ò"S!Ư)1zZ"j9^G$ ''n=Yһ9(|nU;H]",j*dNn5呅- ]R=nV\>™Uig2W2|e>8H~!H)q:9nd~Bq3XYy dSAKl^%yDd6P]D"RxP 2:۹. ^H{Mll*˝N'KiEߍkr_8wPqeOFKv$JLaS8`v׌;Gk@~$QBؕi&F;Bg՚JGPXE='u_uciuQY5I]'Py >$v*)`R/ir\ϯ]c._.<&Cb2 ;Tr||~_^Y'+6E\̊ݡ)BjRՂFvqՇW3+귞%PC%х,lY7uya"q@c%H>|^Љf1fέf"'b'n5 =P':@ L&+M֚^Sm]bk7V ܛwG~%X ji 43A5JR:LQ@> >l"g]&/.'ZQܶ@ qF°NYEJZx>;&(g t>kL2Qz8S gF*5rͶ}sUAY ѵ0^ n pN+ XS[FI@ }JiM%sD]\]=2{LFC* LpL~$a&DKB9wt׭@h1IVn,Ry7ػ SQFQ^g$&2G]wP(wDz]~ %/}A{ƤѦȈLjZćoTů (B EK*;Q?EҨ<)K@E?W+ W U>g,͊3esE@ !-:I )?h&6[-:Y픈:SfGL tHߒ`0#.‰Tjb%*qua7Kk<,Q#7 7E`R(=+qq\pXtA\696 `(,I2p3iSWSa7~fҼqf CIOZ.9S4r(؃jQ /+p')[ŘY ?#Tv8, AAd4Jz0z{8fA")YwILj>$F܄'g17Mn><,2RYOSe_ %:eBI2t=HY3ڇ]Kݥ:\ 4YX0ၐ z}5m F%,_NTIiz'vWN#+o^v`60,3VAimM#e_p,T(`f&6x9/?: Gꬹz K!ZsnX1[\:{%R&lsKңt&"eܷj޵s-kD@:POSteK;zq 4Ay$? >FtD(-^}*–]EÌ.ȻP뜅Dv8.湧(ʪL'$ް;Fr,w%j6)oYEjN? = Ԏd-7&hdA (lGmND0d7W/UM^9֢bt)j \Vάav߰jD-t+Q3хM Thx8TfsK^۠o"ߺ@9`+VyxrRDK=S1, ƭB3U;[fP*)D*AmӰ8:iv)\ԏNO]1LdĢK#|b,$9l1ɶ.XcjܨU"pai-T09|vKhl>(%rgL,cD Q{/L%wȇIU+j$gQs)Rj$p9cK^fI>*%kAguR$)sozԂɿ߬ @ 4]oP -[ƪ6vg;H?C ;smن=HQP~Q(ǰT`?Ih&`?SOvRuw+P? _INLJ~4d 2`<X0VCZжĻ03\RDD~:zhh8*U" -dFV=@Z?\WJ F|t{@G^ =+&8Y2 PBslhmy)n1@ѳ׬@Sjbn$L4c [B, Z"ZNXU=J]`i\TIhڀM?PᢡUAI7ȿ;ND1c_6FB0i&iXcx@z;*-H;ps7sԝOKP5O!,#2.Y`jVO;1V Zl,5&A"ǸHؗd@DlZ&ޖ 2\0M1GuPVh dn4C;)_X{L(W6kMV?2 +1t)gn&3˨i Q˼yKPlK>'wJah,Ͻ;n ߙ7 %7)rЊ`AMk}>p?&-S e)>11DbCIKR[lH\voӍc%0Bnt @GL'VF*so46F0C4HaF"8= ,EOD쬧Y1ť*D|.Q!(O͍zW/Zqiy,V*9Ӭ^'+?rJXoAl #{z'{ܶH#F`\5h 3äEqn,OdױݮUEȋ)$Kd7,lPSLU:뫨3Zm$.$Y OnrčvOBit cOtjw?\X fgΫH?1W2NB`p.4l숣\,L#R7Ȕm8 tڧ:_: @+@qnc!ta:UWaӳ*Iq\䓑bNz(=<~S[a tyi>Y%AՒ$+ƺnxYͶ-6[m%n{1TcَWcB SM4Z3e;8:9 -=#3 +;w _@PHXDTL\BR*_IZFVN^AQIY4KDLBJFNAIEMCKG`qF@88yxEbݸmKgh̾#`l`㘚?_13ZӬV?3ԜJv8wδ @3²e fX0J &!<~'ƽ`ƓU5-=#3+;'7/`phxdtl|brjzfvn~aqiyeum}csk{gwo! #X~ΊEg\SkuU{k`hY˨q4; JSBjUx^߳oir_zLY7_,WͶ2\'*3^PƦ8`>WWÆ,I[PeCsN;%9&w{)"Nv@b$pJ 9K[ f3dKDŒr3 @fY-h,V|pso+LJPDA2$DREg$.l3f8E+9.όw]Qzr,Û U z@1$M4uɺ3Ż:H獎w>NK0Ǻbo#Cc.hݎe3V Řbt][jJ/}ǫ9j-ipᠻyڨ߬~2Nqq!1*kG#`ౘWkZ߅xQj%زAvG3@"L(B*mZvDʸ*:+ N+mq;BȡKYs;߰k/7 j;^8xj+q;>шJDDAZrrtlmB!B!BȤ 6-;Β`!„2.ҦeI0 iqR"L(B*mZvTʸJ'N'LBK !RJ)RJ)TJ)RJNqk]|wLLV<&q!6-;NNʸJ'@ e\HMˎ „2.ҦeaBRiӲSf$ iwQҴ8B7c%$Ti;NqBPƅ4-;N*@DPƅ4-;NzHuGěsH?D%PLR"mQ<汳"L(B*mZvlʸJ''@ e\HMˎ „2.Ҧe aBRiӲ8[=9;4gD4c.p%/~oC hRB&q/r<sk0Q3+W e=ۦ?*2Cj\7Mv ҤXpSrJH;*m~D3,\ϺZRJPoӧ"] -9͎Ex)bOEvB84dto&-y[CPWv G>Q(Y\~DI| ,WhN(VL tAjq A jz*UTc޼6Ԋ#dY%<{V#PŽ0&8P:GvQpF8.+p 'p `>|#3. ߗTܽ~F"͹]??i?k>|o ЁsYDٸ=ܛϐ}/gjОY1(4Q)y>umsaElCøtxs-'h8 V]+Ye3-ct$4TFxBGhg&['R/ğ{&BcAƻId@]ŲEA'UR% jDU jKX+,@(BҀضر!nKB2Ջ-ARMՍfsn4PAA\d7. ,&"!#[4"Q2J$AF!D7"E/ Y*YaYMY*YYYGYmYY*nY*Y_ bO  xuX82+A1!!iK%'n(K'Jj(GKKKNKGKS'iKi(_K ORF-5V2B[1+45W/I=@00=)FI:A@06 2H$#1lRZ"A#",=?"'"#!      *aYaYaYaYY"Y*****@*OOOO[Y'K!!!!!!!!!!!!!%'K'K'K'K'KZ*GKS'S'S'S'S'CS'RFRFRFRF[K !! !! !!*%'*%'*%'*%'Yn("n(aYK'aYK'aYK'aYK'aYK'*j(*j(*j(*j(YGK,G !YKYKYKKGYNGYNGYNGY:NN$ YGKYGKYGKGYGK*S'*S'*S'* 'Y_KY_IY_K_  _  _  _  bObO!QORFORFORFORFORFORF -uuu*S'ORF?YYY((Y'YNYY(K*j(*S'1YYY(*i' !!!*S' !! !!aYK'aYK' *S'*S'Y_/Y_KORFORF_  bO*S'*S'*S'KEE"1##J*J*W6EEW+2#5,F+11*:6+2=#+*%+"22=9#5+62-XKMaYaYY*_ Y&YzY]hY YYY&aY!-]]zY&mYY*YnY*bh+*xYEYYSYbY0Y}A!!`;JJDK'&RJRJJ9JGJS'8JiK%''CJ:J7JMJJ-& K$K'K'9J.' K"+JIJRJ5J&*R' )]RJ{!hSaCYJzYJ&!-YJkY"KCYbJYJ8Y\JS43;*%'b + rE:E:YGKc cY&cSJ&9YGJYGJE:mYJK !! !!!aYK'KK&!-4-]RJ]RJ*S'*R'*R'0-&hhhE:YJSYJ")#&9*i( -TKCYGK8&9*%'Yn(Yn(aYK'aYK'aYK'*j(YGKYGKGYNGYmYKYGKYGKYGK*S'*S'*S'*S'Y_KY__  _  _  _  _  bObOORFORF - - -uOwK !! !! !! !! !! !! !! !! !! !! !! !!aYK'aYK'aYK'aYK'aYK'aYK'aYK'aYK'3 YK*S'*S'*S'*S'*S'*S'*S'*S'*S'*S'*S'*S'ORFORFORFORFORFORFORFCdAA:AAA@@P<@7@WP')_VA*.EE`)`?(&v(c& &"$#v(c&!'(d1K%Y^)n)!!_n*>7*b+N"O;5HtY6>-[+0"#8"#S6S'f DLA -, AS>A9FG1+#&*K!l(j(KQi(<NF=p'JCTS,mTTTk,TT2TTTT,T,:T $KL) 2(%)(MY!-*!-*;N:j(&RFRFRFKGKKgFFDF| J%'%'Y)0*E/H09,([4 Q2[,&"$#v(c&!&"$#v(c&!&"$#v(c& A1$+;2+*+X/& d ~~-37Y $(.15_cku)/ !%+/7;IS[io{      " & 0 3 : D p y !!! !"!&!.!T!^""""""""+"H"`"e% *07Y#&.15bjr$.  $*.6:BLZ^lx       & 0 2 9 D p t !!! !"!&!.!S![""""""""+"H"`"d%ljeaSQN-| ~xtzxrpnfbZXUONFC?><;:7.-(usjif_;5sW@=    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcZtfgk\zrmxluiyn~epDo]dQRWXTU<c|ab[{VY^s|@J~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSQPONMLKJIHGF( , C#Ce -, C#C -,CCe -,O+ @QX!KRXED!!Y#!@%E%EadcRXED!!YY-,CC -,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-,# Pd%TX@%TXCYO+Y#b+#!#XeY-, !T`C-, !T`C-, GC bcW#bcWZX `fYH-,%%%S5#x%%` c %#bPX!`# %#bRX#!a!#! YY` c#!-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BY(QX@cTXC`BYYYYYYYCTX@ @@ @  CTX@   CRX@ @CRX@ @CRX@ @@ YYY@U@cUZX  YYYBBBBB-,EN+#O+ @QX!KQX%EN+`Y#KQX%E dc@SXN+`!Y!YYD-, P X#e#YpECKCQZX@O+Y#a&`+XCY#XeY#:-,%Ic#F`O+#%%I%cV `b`+% FF` ca:-,%%>> #eB #B%%?? #eB#BCTXE#E ic#b @PXgfYa c@#a#BB!!Y-, EN+D-,KQ@O+P[X EN+ D @&acaN+D!#!EN+ #DDY-,KQ@O+P[XE @ac`#!EYN+D-,#E E#a d@Q% S#@QZZ@O+TZX d#d#SX@@a ca cYYcN+`D-,-,-, C#Ce -, C#C -,%cf% b`#b-,%c `f% b`#b-,%cg% b`#b-,%cf `% b`#b-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,] %cV`+%%%% % % %%n+8%%&m+%%&m+P+%%%q+%%%8 %%%q+`%%%e8%%` @SX!@a#@a#PX@`#@`#YY%%&8%%8 RX%%I%%I` @RX!RX%%%% % %I8%%%% % %%q+8%%%%%q+8%%8YYY!!!!!!!!-,%%%% PX!ehY+d%%%%I c% cQ%T[X!!#! c% ca S+c%%%&JPXeY& F#F& F#F#H#H #H#H #H#H##8 #8Y-,# c#c`d@cPX8U>U=(<(;':'9'8&7%6%5$4$d3#2#1"0"/!. -,+*)! @[@[@[@[@ZKUKUYY K UKU YY2U K UKU2UYp YY?_Y?O_ dUdUYY_@@T+KRK P[%S@QZUZ[XYBKSXBYCQXYBs++++s+s++s+++++++++++++++++++++++++++++++++++++++++++++++ ;+ '%(J222222Pj60RvJx:|V:$b"Hh  < T ~  d  B ` $ : R l | @ | R,Tx6Dx4f88RdDL$Rfv"J"dt|  2DX 0j|"4FXj&6H\ .@P`p(8Jp   & p !!!&!8!J!\!n!!!"0"B"R"d"v""""""""# ##0#B#V#h#z###$ $$,$<$N$^$j$|$$$$$$$%%(%:%L%`%t%%%%%& &&0&D&X&j&|&&' ''.'@'R'd'v'(H(Z(l(((((((()))&)6)B)N)`)l))))***&*8*L*`*r********+++,+>+P+`++,,,0,D,,-~---------....&.8.J....///(/:/L/\/n////////00 020D0V0h0x000000011*1D1\1t11111242<2D2L2`222222223 333"3*3^3f3z333344$4<4f44445 5$5H5X5p55556666667777b7t777778.8r8888899:9B9X999:&:H:Z:::::::::;&;x;;;;<"6>L>>>??2?B?h?????@@@(@Z@@@AA*ATAAAB6BBBBC*COlOtOP>PQQ"Q4QFQQQQRRR$R8RpRRRRRRSSS S(S:SJSRSZSlS~SSSST THTZTjT|TTTUUPUbUtUUUUUUUVVV&V8VJV\VnVVW*WpWWX.XXXXXXXXXXYYY Y4YHY^YtYYYYYYZ Z$Z:ZPZbZrZ~ZZZZZZ[ [[,[8[L[^[p[[[[[[\ \"\:\R\j\\\\\\\] ]]6]N]f]~]]]]]^^^6^P^h^z^^^^^^^_ _ _2______```,`@`T`h`|``````aa&a:aNadaaaaaaabbb(bifiijjtjjk(khkkl"lnllm0mmn"nVnoXoppJptpqqxqqr8rnrrs6sst$ttttu`upuuuuvBvfvvvvvwwwx x6x\xxxyyZyzz{2{\{{||`|||}4}V}}}~d~~$Pr,Pdf6PƂ0NV$,4tLTĈDވf‰ʉ҉ډ Hr"fʌ,vލj֎&<.VxΏ $0@@ .26:!  ::++!! ?3/33332?3/33333901%#773.#"#".'732654.'.54>32!..&*..)1: ]W*WEKo;%E^86fY(#5AK(U_/`GJe4AsI/QE|} c G=*0,K@1H0-#9#>=,5"*E9B[/$(/?E)@@EE8((0 rCBBr+22/32/3+22/32/301".54>32'2>54.#"".54>32'2>54.#"  )D))D))D((D)--,-j)D((D)*D((D*----M#&B'(B&&B'(B&'00//&B((A&&A((A'(/00/T[/<@,; $ r3 r?+2+2901!.54>3232>53#".54>7>54&#";+4/Q2/K,3Q1)E(2M)6[D%:0UsC>h=3Q-.G(:-!4.+u.A5,F*#?*-G=9@),=1Wp?Ld91V:6QA35'2.%7-eE  ?0153E; , //01467.,R:4-'D;3*?#ZfbXeh0N[? //01'>54.'7"@*2;D(,5:QZ??0heXb>  @   ?2923017'7'37'W+D E)E D, *+">$II$>AA4k  /3333301##5#5353k|?||?88Pb/99017#53VBQT__TAe0/20175!A$??A|b r+201353A;bb@ rr++01 #@(M:7-U r r+2+201#".54>324.#"32>-ArHHqBBqHHrAE.R66R//R66R.%XNNXXOOXGl==lGGl<=k.;@ r r+23+22/301%!53#52>73&1062"F>>> B",E)@ r' r+2+2990134>7>54.#"'>32!, "B6>7!;, 4( +#7K-=W.#7;/@&f"ED?#-0 /"+H*);+ ,-+>&m@.@ 'r/3+29/3301%#"&'732654&+532654.#"'>32W-@$:hELr/V@JW[TMR&A*9W,@V1>^6 ;2L0<\2=6++5IDDQ:H8)63-*#4-P6(D.; @  r/+9/9333015!533#%!dc.XX <6>_#k;"@ r/2+29/301"&'732>54.#"#!!>32Kz-a:2O/-M0.T?OW1L,Ai>CpK="1<,N31K*)'?:fBFj;4/.@ ' r /3+9/3301%4.#"4>327.#"32>".54>32/AoD-O:1X;8[,pGNvBBsJGrC3T32U32T33TCm@ :'bJ=3(=G^\GBou2T23S22T22T2" G r+2/01!5!#N?:2!3C@  ''88@0 r+2/39/39901%#".54>7.54>324.#"32>32>54.#"EqCGn?+A"6 '@O('OA'!6 'A'E5? +Q34? +Q4/H"$G/,G(&G+>\39^:-I2 +:#,C/.C,#;+ 5H($7&%C.#6'%Dp&77'&67$f;.@ 'r /3+29/30132>7#"&'32>54.#"72#".54>$ApC.N<1W<7\,qFNvBAsKFsC2U22T32U33TGCm@ ;&bJ>2(=G^]GBnt2T22T22T23S2A{ rr+2+2015353A:::bb\bbF @  ?3?3/3301537#53F:4Bbb T__T!@ /3/3901% %!@]IKDrf /320175!%5!D..11s117@ /3/3901%5-5]@KI"$(@ &&% r+2?33/0174>7>54.#"'>3253%1+'>##?0/AR+%F7!'0*9;,?. #3$,9.):0G1(7' 70kk/n [Uh)@^'1 fEL ';/22|/322/339/3012#".'#"&54>324.#"'>3232>54.#"3267#".54>>=.#"326Je:6(!# Y5GO8U,,C61'H$R.8A ) 1ZxFEx\41YxF*J% (U*Kd9=h C0#?'02[7eU:B;&**L:3:0H)'$=H$.*@FI}^52[}IG|^5 8eQUb5 !&()$*   D@'     rr++29/33399<<<<013#'!# 5;'J\[KՏ:_Yo&@rr+2+29/3901%#!!24.#!!2>32>54.#o6[6V2I'60=GF 7# $:#v#6 4!5S/5S-5Zb5$=&&=%<"$;$*$@  r r+22+22014>32.#"32>7#".*-V~P_ 7FO'@bC"(Ha9(TI:\q6IzY0hA}g=WD"/73Ui6;lS1:.5J&?iY @ rr++2301332#4.+32>YqLSh?xWXx>_blXdUKNY6 @  rr++29/3301%!!!!!6#r[>>>;Y+ @ rr++29/3013!!!!YtN>:* &@#"" %r r r+++39/3201".54>32.#"3267#53#vGzZ11XxGi"6"rF;_D#(Ja8At5eZ;=hDHd:VE$B>2Tj953#"&'"E-4@" F.\L1L Y#GjGwP`4Y @  rr+2+2901333 #YFM1OdrdY9rr++30133!YFx>Y @  r r+2+2901!##3 3,FHGB?:Y @ r r+2+29901#33#F:FAEO;*'@ # r r++2301".54>3232>54.#"wKzX02[zGKzW02Zz&Fa:=aE$&G`:hCGe:h:kS13Uj7:jT02UjYR @  rr++29/3013!2+32>54.+Y&.M8 3\>*>"(A'&AO):g@D.J+,J+*'+@  *r r r+++3301".54>32'2>54.#"73#wKzX02[zGKzW02ZzG=aE$&G`:hCGe:?3Uj7:kS13Uj7:kS1Yg@  r r+2+29/33013!2##32>54.+Y,.L9'G0O*>"'A(&AO)3Z> D.K*+I- =2@ *".r r+2+29901.#"#".'732654.'.54>32(29 ]W)XDLn<&D^87eZ'#5AK(U_0`FJf3ArJ/QEA G=*0,K@1H0-#9#>=,5"*E9B[/$Q@ rr++2301###5!QF@x>O@  r r++3201".5332>53zTtDE4XBDY3F Gr=Ku:_As @   r r+2+29013 # # UOOP5+^h{@ rr++29013#]LF~B S @  rr+23+23017!5!!!%,#7Q>7>X //32013#3Xw77( 9f9 rr++01#iLL:2 //320153#53288x(99+/r+22013# +:</iWA/3015!A}>>>1l /90131G<,]!'8+@!66$/$ r r r+223+2+9/3330174>3254&#"'>32'./#".%>=.#"326!8cA&R NE*Q,3b3`p #p:2Q-] "I%IZ:'1U1G' ,BN0##na 6&-1+I L :23!&KA'@ rr r r+2+++201"&'#3>32'2>54.#"J=h=D#bA7W> %DYE*H4/S8(E5"38 ?0e5A.Ma37`K+<"32.#"32>7-9_G'BvMIpBO04V34V4"?/CAW +Lb7JzHC9(-6^<;`9)%;!(7/@+! rrr r++++332014>323'.=#".5.#"32>(=lEAgD   j96[C% :I$*D16F)83"J{JE1>x 6 33<,La$;##32!3267!.#",8`F'CvKMsBB5U23[;BY5U33T5 +Kb8IzIJyH8W34*%32.#"3#dHH%E/: */36@\11 JF6-(!"6!@#- r r rr++++33301".54>3253#"&'732>='2>75.#"5ZA$#AX6Cc"=EuEYn#*g:3U3h&90 8G&,E/5G,K`37aL+D2mHc2@6!10%J8g1;9%.&;!%=L&*K; K@ r r r+2++29901!#4&#"#3>32D>:&K9 DDo?-?'#XY'C+:E =Q3K ??2013353KDDD vddK r/2+201"&'732>5353!;!'*D,F.D. +$.H(+ddK  @  rr  r+2++901!#33oDD'K hN rr++20133267#"&5ND$ 7.7'7 6/KR$%@rr  r+22++293301!#4&#"#4&#"#3>32>32RD:9;]D8::^D>!g?AP $e@,=%#[VTB#\URC v=BJ32D6:(N; D>DV.+<$#\U'C+ v&9 ;S3',#@  r r++2301".54>3232>54.#")8_E&&F_88^F&&E_3V44V44V44U4 +Ka68aK++Ka86aK+ :_78a9:`8:_K+A'"@$# rrr r+2+++2901"&'#3>32'2>54.#"UAgD=h;6ZB%;jZ+D16F)83"6G D2e1=-La4I{J<#3253#'2>75.#"5W>"&C[4=g=DMd)C3"2:+E41T ,La57aK+?0f"Av762ODgD@Y2 H? }7D +@  r r+2+29901"&'732654.'.54>32.#"@n(,Y2=L%E06I%3Y7<\!M/ :%8);X0n *+0)%1.! !3)3C#&". '" !4/IRE@  r r+2+23301%#".5#53533#3267E"03HHDxx%. -!u66F @  r r r+2+2+299017332>73#./#"&FD=<(K:D "uDRT2YX#A+HI 6F733&'i HD)  DB =`! @  rr+23+23017!5!!!]ZW.3.X35  //33013#"&54&'52>546;  7^^ $ % 9 !4 9V~//013V;w2//33015323+53467.52^^7  9 4! 9 % $ BX  /33220174>3232>53#".#"B (43 + +!!7/  &%[  ?/201#7#5DDDpp+ )'@%% $$ ?3/333?3/333015.54>753.'>7#3U?"9hH%JeAH+<0CHT%*J/'=*xo0L[0DwNttA8)(_(*:nz1X<&;G4:'@%::(77,3 rr+2+29/3232/3301!!>54.54>32.#">323267#".#"4P.6'1R26a(N) 5'.&$.,*946:t6.G? -IBD&/N.81*)1 5!!?@K/!?B* 4 5}'"2 '//3/301>327'#"&''7&5467'732>54.#"9!!9F"HIJ:!!:GG$F!;!8""8!!8"!9!G!H99HEEG2=9G!%<#$>$&<##>.@   r ?+29/9322333013#3##5#535'#5333To!FpVLMn060040X~W~//9/01##<<<ii/?R!@F=I@MP8 1'r/3+2901%#".'732>54.'.5467.54>32.#"2%>54.#"&'&. 5&-C,!*#!2#'%%G3->(3M+" 1"9,&:+2|%* '&+ %=y 0'L@ :2 rD(` r+22+2201".54>32'2>54.#"7".54>32.#"32>7Oc77cOOd77dOFwZ32YxGFxY11YxN.TA'8V:BgB -0(<'/94, B 4P6bNMa66aMNb6%/VvHEwX11XuFEuY1]!=U5*SD)96 3= *@,"6&0Zy#2+@*-!')$@ ?329/93332/301"&5463254&#"'632#./'2676=.#"1ETA:+2-8FEFP I!8 0-9-Z?/0=+2%.ID 4"- 4 %()B $@   /333/3933017'?');;%;;I~l /301#5!5<l>A0/20175!A??0&6?%@?0446>' r26` r+22+229/3301".54>32'2>54.#"32#'##72654&+Pc77cPOd77dO\W1YwGGwY11XxR(<#.o:ju5(+1&6bNMa66aMNb6$R`EvX11XuEEwX2'*B# 9(8(*56W2.  r+22014632#"&7327>54&'.#"21"#00#"14   #//#$01A  H=@   /32/3333/0175!##5#5353HC??=99L99$]+"@  B D?229014>7>54&#"'>323$7+@+33!2" 'F0II,0,,4E. %+ !D3*)*+#_+,@ &BD?229/3301"&'732654&+532654&#"'>32>U!8$1DRC?H?+)= -: ,E)/,.8-I0)#' #')" !'"2"- 9&"21lR,( !@ rr r+2+2+299/01332>733#.=#".'#RD=>'K:D >N*2 D YX#A+HO< B#;"&"-#@  r+233/39/3330146;####.7%#3"FP)scdA|f/01753A;pp#L"+@ BD?3322301#53#52>53Q!',---5-,Z@?3201".54>32'32>54.#"5R-.Q56P/.Q"7"#7!!8"!8"Z2T01T11T10T2%<#$=%%;$#>?B $@   /333/393301%57'557'5;;%;;"&'c ""392@76613&&%%1499  r+22/392/3/9/333/301!4>7>54&#"'>323#53#52>53  6*=*21!0" &D0GF*/+,Q!',-x#4E. %, !D3+**,s--5-T[#t&'c !+$(@ $$''( ?3?33/0132>7#".54>7>57#5>%0+'?"$>0.AR+%F8!&1)8:0,?- #3$+:/):0G1(7'70kk &&/01 &&  /01 &&/01 &&y /01 &&  /01 && //301-@    rr+23+99//333301!!!!!!5!#vT)L>>>V*L&(Y6&*/01Y6&*  /01Y6&*/01Y6&*  /01&./01Y&.5/01&. /01&. /01"@ rr+2+29/3015!32#4.+32>"-rKSh?xWXx>J66_blXdUKNY&3/01*&4+ /01*&42( /01*&4. /01*&4( /01*&4 ,( /01@l &@  /33/33392301%''7'77,zy+yx,wy+x+yy,xy+xy,y*&4JO&:/01O&:4/01O&: /01O&: /01{&> /01Y?@    r r++99//33012+#32>54.+l/L93\=FF+="'B'9&@P*9g@yƍ.K)+I-K-@% - r r+/3+29/33017>54.+532>54.#"#4>32]p+K1#7"7",<A4Z:5T10JS(He>9KM/G'>3"$1(C*;Z2(I/#@-kI3N5!&Fy</01!&F9/01!&Fb?/01!&F.9/01!&Fc =9/01!&F KBB//301!7IR/@NR%C%%r)118 r+223+299//332301".54>32>7.#"'632>32!3267#"&''26767.'.#"%.#"1N-7b@#E K<'T,g^A\ h?LuC;7X43[<BY3Dp#LX5Z @ HZ!85U64V4 +I./F( (5= -D71/9JyK8W34*%32.'332>54.#"'?/*I^6EuD&CY3Bn#BmR`Rj=@2U46V43V44W3fzxjAiL)AoC1WC&A40^]]-0qwwc2S15W32O/2T?LIBK&SO/01',&T' /01',&T$ /01',&T* /01',&TP$ /01',&T ($ /01CJ @  /3/333/2015353'5!;;;[[ZZ99',#'+/&@+-,*%&)(// r'' r+22/+22/901".54>32'2>54.#"77'7'73)8_E&&F_79^F&&E_94V44V44U43V@)-3(,,)> +Ka67bK++Kb76aK+<8a9:`89`;:_73R9>z9F&Z!/01F&Z/01F&Z}$/01F&Z~ "/01  &^/01K+5'@r r r# r+2+++201#"&'#3>324.#"32>5(E\67WEET=:[@"F-Q6(A1 19)D35cL-6$(:0Pa18`<"8 -$#"-rKSh?xWXx>J66_blXdUKN(e3(@ ! / r r r%r+22++2+2901534>323'.=#".5.#"32>i=lEAgD   j96[C% :I$*D16F)83"i..J{JE1>x 6 33<,La$;## /01*&, ' /01(!&L7 /01*9&,*İV+4(!&L; /01Y&-/01K&M /01,!@   r r+2+29/33/3015!'#!#3!,2E[FF55:L<@  rr r+2++22990153#4&#"#3>32D>:&K9 DDo?-?'i..#XY'C+:E =Q3&./01 & /01 &./01&/01&. /01 & /01!J&.J&N  V+4Y&.+/01K  r r++0133KD Y&./KKp&NO&/ /01K& /01Y9&0ΰV+4K9 &PΰV+4K  @  r  r+2+2901!#33pDD%M h Y9&13/01N&Q*/01Y99&1 ΰV+4N9&QS ӰV+4Y9&1HNC&Q V+4Y9&1{-fN*&Q{  V+4@ @ rr+22/3+2/3017'%3!&1F('x> $@   rr+23+22301'7'33267#"&5!D$ 7.7!'''7 6/Y&3> /01K&S/01Y9&3* ΰV+4K9&S ΰV+4Y&3/01K&S/01&S,%/01YK@  rr++2/3901#33#"&'732>=F5E-F'!:"'*CK".F(. +$KK%@rr r/2+++29901"&'732>54&#"#3>32h!;!'*6:(N; D>DV.+<$,F. +>\U'C+ v&9 ;S3.H(*&4( /01',&Tc$ /01*&4/ /01',&T+ /01*&4 ,( /01',&T ($ /01*X2%@r)r rr+2+2+29/3+201%!5#".54>325!!!!2>54.#"X(OghLwS>5S1>3Uk7:jS13Uj7:kS1'*:C%@C?3r##+ r+223+2239/301".54>32>32!3267#".''2>54.#"%.#"(HuDDvI3XBwOIpDB7X46[:DX12ZGDV15V33U54V43V6U33S3 GzKM{H)I3NWCyR6X44*&;!)I13I'<8_:<_89a;:^79X22X9Yg&7/01KO&W/01Y9g&7ΰV+4I9O &WΰV+4Yg&7!/01KO&W$/01 =&83./01 &X,/01 =&89./01 &XS2/01 L=&8 L&XT =&88./01 &XS1/01LQ&9LE&Y.Q&9 /01k&Y!` @  rr++9/333015!###5!L*E?455Tx>F@  r+2?3333/30153#".5#53533#3267!4"03HHDxx%.-- -!u66O&:/01F&ZI/01O&:/01F&Z]/01O&:!/01F&Z%/01O&: ,##//301F&Z 0''//301O&: /01F&Z "/01OK&:FJ &Zi  &<e/01&\/01{&>/01  &^q /01{&> /01S&? /01&_ /01S&? /01&_ /01S&?/01&_Z/01 )@ &&r! r+2+29/301".5467!.#"'>32'2>7!mGy]3K,GY30WBBYr=DxZ43[wEEpFHs7bJ 9bH(#?)3N-9cLKa7?EwMLxEK&@ " r/2+29/33301"&'732>5#5354>32.#"3# ;"'*II%E/:*/2-F. +6K@\11 JFM6Q.F(*&4~ (#V+4',^&T6 $ V+4O&:I V+4Fq]&Z  V+4Y &3@ r  #""!& %r+232923?33?3+201%!5!!)32#4.+32>7#'%-"pqLSh?xWXx>hUU'c2b7Q>7>_blXdUKN??UUY &3@#""!& %rr?2+2+232923?3301332#4.+32>!5!!!7#'YqLSh?xWXx>][VUU'c2c_blXdUKN3.X3??VV(6/9@A@$0669 =<<;@:?23r+ r  !r+2??3+29+22923?33014>323'.=#".5.#"32>!5!!!7#'(=lEAgD   j96[C% :I$*D16F)83"\[WUU'c2bJ{JE1>x 6 33<,La$;## /01  &^Q/01K  r/+301"&'732>53 ;"'*D-E. +$.H($%@ "" r r+2+29/301".'467!.#"'>32'2>7!"KvC6T24Y;BY39_F'BtL4Q46V I{I8W24)&:"+Kc8IzH43X89X2E _E E`"Ta1l /901'73^-;Hl]#K| /3201526544#'22K"#/%%.#K|  /3201"&5463"3|&33&K.%%/#*p!*p!Wp//01#<i6W/3015!6!//E  /0153E; E  /01'3]; W~//01#<i+u2yp#K5J,vj/222201".#"#4>3232>53*"*$'%*'~!"+l!1l /30131G<,]1l /201'73^-;Hl]*p!/39330173'*b2c'UUUU??:vx@ /2/222/01".#"#4>3232>53*"*#'%*'~!"6W/2015!6!//+u  /32012673#"&53!)9))9*"&*;;*(2yp/01532>yaa=y  /220153353=:[:y^^^^`w /3201'>32'>54&#"&!"  &'  #K   /32014632#"&7"32654&'22'&3Y%//%%..V+l!/223301'73'73P%9@*&9@l]n]*p!/2923017#'PUU'c2b??VV%l/3332013'3?9%@9%]n]+u  /3201"#4632#."*9))9)!(*;;*&"Ta/99013#57^?@FF@2 /2017267>732!& : &03 !  2Wp/01532>aa=W  /3320153353=:[:^^^^99x /9017#53<?JLLJ#L  /3201"&'732654&'7=&!$$"'08' '3'(-5J /32014673.5--)%'%+/i;-- +h  /32012673#"&53!)9))9*"u&*;;*(6W/3015!6!//2"E/301532--p@ rr+222+201 !5!ao55x6--#@" r,,r+223333+201353.54>323!5>54.#"-8R,1XxFGxX1,R82M7$C_<;_C$6N1>]tAE~b99b~EAt]>>>T_05fR11Rf50_T>>K,! !#@   r r rr++2+2+2901332>733#.=#".'KD=>'K:D >N*2 YX#A+HO< B#;"&4 @  rr r++233+201##5!#3267#"&5BP n   7-65>>!7 6/lY6Y6&l  /01#!@rr r+2++239/301"&'732654.#"##5!!>32+!HR,M0._.D/c1Cg;u9OR8L&==7gHplY&/01*'@ r r+2+29/3901".54>32.#"!!32>7zH{[2,XSa!7FR)<`C%M*I_7*WJ:^r?!32+!%32>54.+&'9'Le32cJ'7C 9G F?>/l6a?54.+YFoFrr2cJ9G E?1oZ8_8W;*D&%@(@ rr+2+239/3013#5!!>32#54&#"*^3ppDMY1b==jsUOY`& /01]& /01oy&/01Yxa @  rr/++223015#3!3#?F}E刈x: &Yn @ rr+2+29/3013!!32#'32>54.+Yjup1cK:F G@>mW9]7>*C$$?'Yo'Yrr++2013!!Y>x&x@  r+2/233301532>?!3#5!7!!&+U>D&.gxƈJiY6*)@  rr+22+229/33399013 33333 ####RaE`RQbEcnX<<JJ--@' r r+2+29/3901"&'732654.+532>54.#"'>32 It!6V8LY%D0DE%8 #?*3N3gH=[552?E/S86WbA>Y0] @  rr+2+29901333#]EAEMf:[]p& /01Y` @ r r+2+29/39013333 ##YFkQVm<J&~@ rr+2+2/301!!#52>?!9 :T:'<*o/>(d:Y2Y-*4Yq@ rr++23013!#!YFt:xYR5*(Q9o@  rr+2+299015326?33#-MI*&;A/)$*#-@- $?223?22301!5.54>753'>54.'tDx[36\vBBCx[45]wAAHwG+J^sHwG*J^4B.RqDHqQ,55.RqEFrP-B|?pM;\A#@pK;[B%s=Yy @  rr/++233015!3!33vFzEVxxE*@  rr++9/3201!#"&=332673:D'vpDQ[3aD2  gpSLU:Y] @  rr++33220133!3!3YFFExx:Yy@  rr/++23333015!3!3!33tFFEVxxx@ rr++29/33013#5!32#'32>54.+ѾMf43dK;G!G@<6bA;d:;-I(*H,Y @ rr++9/3323013332#'32>54.+3YFMf32dK;H!H?E6bA;d:;-I(*H,;Y9 @ rr++9/33013332#'32>54.+YFMf32dK;H!H?6bA;d:;-I(*H,0)@% r r+2+29/3901".'732>'!5!.#"'>32N+QD:%cQW.1Z}'J4,;0Tl::3eO08-#DW=g~BEg=Y&!@ rrr r+2+++29/301".'##33>32'2>54.#"eZSFFUUaRV\Nq?BrJLo=?pSceP]jqV?MV[HKWZIA$@ r r+2+29/39013.54>;##*#3#"AMS9hHE 1N*&I-nL9]7:$a($@,,D(!F;9'@  r r+2+29/301"&54>?>32'2654&#":~ >[;_L:?>nHLq?6V1J %@ %r r+2+29/39013!2#'32>54.+532>54&+J,<(&-8)G.+(ű(/% %:!*C D0*>"1,+/,$6J r r++2013!#J7 =4( @   r+2/233301532>?!3#5!7!# &SF=b4yF{^4yyZ]}I'-J& )@  r r+22+229/33399013'3353373#'##5#&ðMDFFNOFFD +@%r r+2+29/3901"&'732654&'#532>54&#"'>32Hf8H3=I:359$75,;4[=2K+$ .32X72#'8/+4/('0#".4!=+%?F//D$J @  rr+2+29901333#JD==DT[J&x /01J @ r r+2+29/390133373#'#JDNNPN  @ r  r+22/+20152>?!##*!RD/D>F{_ZlT$Jr @  r r+2+2901333##JFCA, gF]J @  r r+2+29/30133!53#5!JD*DD ',TJ r r+2+2013!#!JD 4K+AU'H @  rr+23+013#5!#ͺ==4&  @   rr+2+29901"&'7326?33#  .HD,2 042A=/<'+$/%@ r/ r% rr++223+223+015#".54>;5332+3#";2>54.+;Mr>?rLDLr?>rM[6T0/T7T/0S7HuFGvHHvGFuH7]98\55\89]7 ]J' @ r  r/+23+2015!3!33`DDGyy 33: @  rr+2+9/301!5#"&=3326753u F(VWD9?#FDX[F@ J @ r r+23+2201333333JDED 33J @ r  r/+233+22015!333333lDEDGyy 444. @ r r+2+29/3013#5332#'32>54.+YZ(M:)23-9[J0N.6!53J[ @ r r+22+29/3013332#'32>54.+3JDvY[(M:{r)23-pD [J0N.6!53J @ r r+2+9/3013332#'32>54.+JDY[(M:)23- [J0N.6!53&#@ r r+2+29/3901".'732>7#53.#"'>32.WF7Y/5T60R9/Q5jK?aC"$D_ 8(0.5Y40/T5(15B-M`13aN.K&!@ rr r r+2+++29/301".'##33>32'2>54.#"Di?hDDh@iBMp>?qK6R-/R43P,-P >mE Hl;#5#735#"$5A*M4Dtx4>3MC-F*;-.@'-&JE) /01'-&Jl *& /01G-#@!%%r r /2++9/322301".'732>56.#"##53533#>32B'0 )'7#C8@SDKKD!\wWF{]5J&/01'"@ r r+2+29/3901".54>32.#"3#3267+;`D%"Cb?Kj4Q/9S04U5.Y7z .Na31`M-B50)5T/04Y5.0?!32+#%32>54.+*!CpY[(N9/Dk)22-j>F{_UD-J*ZlT$90-J  #@r r+23+29/3330133!5332+5!%32>54.+JD D{ZZ'M;Ow)32-u UD-J*60-'@  r r+2+9/993223013#53533#>32#54&#"MKKDb@`RD;G@W2-{{-26hcNN?:J& /01J& /01& &] /01J @ r  r/+22+2015#3!3#DDyy 3yZ@ r+2/9/32015!332#'32>54.+|ENf33dK:H!H@*776bA;d:;-I(*H,'@  r r+2+99//3333013#53533#32#'32>54.+f{{DZZ'M;)22-..[J0N.6!53 !@ r /22+29/3399013 ! ####!!OcEcalZHH& !@ r /22+29/3399013'!#'##5#37!&̶R #*|',} @ rr++93301!3>;#"5I76) !"82<"$/ @ r r++9330133>;#"E73% !  9c406&r]lp& V@ V /01+4JlR& V+4R@ rr+2+9/32015!332#'32>54.+GEMf32eJ;H H?D--6bA;d:;-I(*H, @  r+2/9/32013332#'32>54.+'5!DY[(M:)22-Yw[J0N.6!5366SL '@  rr++29/33333013!2+32>54.+7S&.M8 4[>*="'A($$&AO):g@D.J+,J+C+:(,'@ rrr,++*)) r+23323+++201"&'#3>32'2>54.#"?NBgD= g;6ZC%"?WG*D16F)83"6GP!" D2e1=-La47bK*<#ƏxJr r++3013353#J> y4 @ rr++29/3015!!!v<11>x  @ r r++29/301'5!!#97.. =4YG@ rr/2++29/301"'732654&#"5>32%!!n*+!GSYV.Y..b/qxuw :^aag>{|w>xJH "@ !r r/2++29/301"&'732656.#"5>32%!#7!"K@#>)&?#%H,8U0-Y7. bTCQ$:2fONt> =4y3@  rr/+2323+229/33399015#53% 33333 ####/nMRaE`RQbEc>ŇnX<<JJ&  3@    r r/+23+229/33399??015#53%'3353373#'##5#,iðMDFFNOFFDyy54.#"'>32/S86WbA>Y0L&|DYy{'@  rr/+223+2/9/39015#53%333 ##=/mFkQVm>Ň<JJ %@  r r/+233+29/39015#53%3373#'#*gBDNNPNyyK  !@ r r+2+29/390133373#'#7#3KCKMh$$  j'@  r r+2+299//3930153333 ##ElQUnD--<J )@r   r r+2+99//339+0133373#'#5!CD@NP@"PD--!@  r r+222+29/390153333 ##ElPUn<>>:L<J @ r  r+2+2239/301'!3!53#5!D7[D*DD==4 Y!@rr+2/+2/39/3013!#!"'732654&#"5>32YF*+!HRXW-Z..b/Lg6u:xw :^aag>=tR|JHC $@r r /2?++29/301"&'732656.#"#!#!>32{7!"K@#>) E#DD%N&8U0-Y. i[DP$4 2fNSzB4)6F+@C'rr0;; r3 r+2+23333+2+201%#"&'#".54>73267.54>323267%>54.#")5{G0]%.\.Vn=.RqB Ag9Vg)7Q,Q^GsR,8nR"Hi)4`@OMCpCKp?\.44cZDz_6>I{NdO^{GaU2ZxGHb2!M}T OU[x;Fz;2B-@3%rr,;; r/ r+2+23333+2+201%#"&'#".54>3"3267.54>323267">54.!]1 : @!`O$?S/ +C(;lJ  ?E@rKJm<]Z  /F 7T.&J38Y40O( IR3]G)66[8@i>!yMJqA?lEU$0W81[B ?_8?R(*u'5.54>32.#"32>7\DpR,-V~P_ 7FO'@bC"(Ha9(TI:Oc2Cg|AA}g=WD"/73Ui6;lS1:.0E('"@  r! r+33+2015.54>32.#"32>7 Ch;BvMIpBO04V34V4"?/C 8L-yqLvDJzHC9(-6^<;`9)!7#pyQ&"!  V+4 &!  V+4{>+ @ rr++2901533GB6 u#@   rr++29/933301!5#535333#LM쒒1~B1 + #@   rr++29/3333015#535333#wwFBuuհ%1%y"@   r r/+223+29015#533 # # X/mNNO>M5+^h "@  r  r+233+29015#53?3#/#W_MMMyy<yI!@  r+23233/3301+5!5!3!33:F)FmFU>xx "@   r+23333?3301#5!#5!3333ǴEwDDG==y 33Ey&" V+4: &!k V+4E*&#G: #@  rr+2+9/3/33/01!5#"&=3326753'#3t E(VWD9?#FE$$X[F@ _ Y>@ r r+2+9/301>32#54&#"#9E'voCQ[3`D  gpSLKM909%@,5 5' r1r+2+29/33/3901467;#"&2!32>7#".54>"!.. 1+dQPWFz\4,GY30XBAZr32!3267!.#" ! ,%UCDNo4[E''D\3LtBC7T04[<AY6T31U5O+ 16+Kb87aI+JyH8W34*%7#".54>"!.>6- 0,cPPWGy]3,GY20XBBYr=EwZ43[wDDpEHsB1%"==H7bJ 9bH(#@(2O-9cLKa7?EwMLxE1:'@22&&7r* r+33+29/33330157467;#"&".54>32!3267!.#"Q=" -%UDDNo3[F''E[4LsBC6U03[;BY5U31U5yy+ 16+Kb87aI+JyH8W34*%54.+#33:3) $4)G^4WEEG QFl>/Q<,Q8;lR0=hPIm=J> !@!r r/3++29/3301#"&'732654.+#33:735P-&A, *+1T4;DD2 NPpB<[2;I;Bi> &l& 9 V+4l8 & V+4Y.&uJ= &Yl& T V+4JlF & V+4Ey*@ r r+2+23/9/301!#"&=332673#53#:D'vpDQ[3aDh?M2  gpSLU:>: @    r+2?39/301535#".=3326753#)HD$:O'A:@#DCOy)R;GB yYl]&  V+4Jl &1 V+4K  y& /01!&_9/01 &  /01!&l =9/01!Y6w& /01'-&w& /01C$&l .*/01$&m *&/01&H /01&& /01-&t 2. /01&: 0,/01- !@  r r+2+239/33012#"&'732>54&+517!5! C`<>lFM|"6^;6M+`^E$7$ @rr+2+239/3301"&'732>54&+57!5!3Mz7X<:M'hd7qv">VB</.+N1PX1==u^2U3232>54.#"WSKzX02[zGKyX02Zz&Fa;hCGe:h:kS13Uj7:jT02Uj','@ $r r+2+29/30175!".54>3232>54.#"P8_E&&F_88^F&&E_3V44V44V44U4##+Ka68aK++Ka86aK+ :_78a9:`8:_*&| 0,/01',&} ,(/010& .* /01&&n ($/01o&sy/01& &sI /01o& /01& &j  /01o& /01& &  /01E*&  /01:&^ /01Yy&"u V+4J &!X V+4Y& /01J[& /01/@r /2?33+29/301"&'73265#53'!!5!* 42k&FAv=LE>?A]2>x<11= @ r /2?33+29/301"&'73265#53'!#'5!_) 3/G&E.688J=<==W. =4..,@ r/2+2901"&'732>54&/# 33+1"P PO)!0M= 3#J*cc04[%4M,> "@r /2?+2901"&'732654&/#3?3=  %.!&A MLMR+.*C;<,(L+N `3c00L+ @   r+2/9/339015!3 # # ahNNOG--5+^h @   r+2/39/9930175!?3#/#6nIJI..)-@ r' r+2+29/3901".5467.54>32.#";#"3267DjHg3N4,C$"<&ED0E$XM8V6 v 0Y>AbW68S/>7").":'$:#8$A*BO0,!8?#/@ "r) r+2+29/3301".5467.54>32.#";#"32679Z32.'2V3+F41 %1:H-?<3:#>)4J8i$D//A !.+=!+.((67','#27&.~&u= &*6(+V  < \Ty&"'  V+4C0 &!  V+4Yy&N" V+4KK&O!  V+4.&= &&y&"9 V+48 &!  V+4*L&('39/01'L&H'5 /01YW&)İV+4(W7&I1ذV+4Y&)V+4(7&Iq1V+4Y6R&*'x //01'-&J&c-&& //01Y6R&*' x //01'-&J&c*&& //01YL6&*''/01'L-&J'A /01*&,' /01(!&Lg7 /01YW&- KW&M ΰV+4Yh&-Kh&M! ذV+4\&.'5 //01&&& //01YW9&1ΰV+4NW&Q] ӰV+4Y9&1?&Q V+4YW&2eKWR&Rz& ΰV+4Y&34 /01K&S/01YW&34 ΰV+4KW&S ΰV+4Y&3 ΰV+4K&S[ V+4*e&4'2D(( //01',&T&P@$$ //01*c&4'HD(( //01',&T&PD@$$ //01*R&4'x/(( //01',&T&c+$$ //01*R&4'2x,(( //01',&T&c($$ //01YWg&7ΰV+4KWO &WΰV+4Yg&7V+4O &WV+4 =&83./01 &X,/01 W=&84ӰV+4 W&X-ذV+4 =u&8'733.//01 &X'0,,//01 =u&8':88.//01 &X&S311//01 W=&8'4ӲV7./01+4 W&X'0-ذV+4/01WQ&9 ΰV+4WE&Y~ӰV+4Q&9m V+4_&YV+4Oe&:'46//01F&Z&I://01OO&:'x"//01F&Z&]&"//01  &<|/01&\/01  &</01&\P/01  &<f /01&\ /01{&> /01  &^/01WS&? ΰV+4W &_ ΰV+4E&Y  /01KS<!@ :2-(r"r r+2++2901"&'732654.'.54>7.#"#4>32?n)+Z1=L%E07I$0Sh6 .G+;Q+A%D\5?_;:fL+7) /01*&E8 /01',&FP= /01*W&E&9ΰV+4'W,^&F5ɰV+4OW&:)ӰV+4F\ &ZɰV+4O&:L$/01F&Z(/01O&G4*/01Fq&H./01O&G-/01Fq&H1/01O&GL4/01Fq&H8/01O&G3/01Fq&HI./01OW&G)+ӰV+4F\q]&H/ɰV+4{&> /01  &^/01W{&> ΰV+4   &^%{&>/01  &^/01{&>l/01  &^=/01Ae0A0/20175!Ar??A0/20175!A??AD0/20175!A??AD0R@ /99013#57|Cjggj@ /99017#53GB kffkPf/99017#53VBhhffh@ &TTy@  @  /329017#5337#53GBWB kffkkffkPf @   /329017#5337#53VBSBhhffhhffh'~o  //9/33301#5333#Ar>'>)~q@  //9/33322301#535#5333#3#A!?n?|?n?V  /301#".54>32 ))))Z))((Ab @   ?2332301353353353A;L9M:bbbbbb. /?O_e5@`eeP@@XHH8((0 rcbbr+22/32/3+22/333232/301".54>32'2>54.#"".54>32'2>54.#"".54>32'2>54.#"  )D))D))D((D)--,-j)D((D)*D((D*----{)D))D))D((D*----#&B'(B&&B'(B&'00//&B((A&&A((A'(/00/(&B((A&&A((A'(/00/T[E  /0153E; E E&__)B!@ /3/39017');;?B8@ /3/3901%57'58;;(rrr+2+201'  #T[&*%! BD?2201".54>32'32>54.#"0H02G,0G01G!A0$7$"A/$7$%=F"$G<#&=G!$H:#%I006%I0/7b* @   BD?29/3333015#5733#'3599g*+gV*&@ # BD?329/3012#"&'732654.#"#>73#>+E),J,1P@'0B!38)   0 9%(327.#"32>".54>32s*I/(HG8%<I-N^\I/K, 8"!7!"7!!6&=##KT "%vwP[%?;,++,[* BD?201#5!#A3,q&g*+:@  008B(D?329/33301#".5467.54>324.#"32>'32>54.#"g,J,.H):".+C##B+,!(5-#55"$64"..-&= "5 6 '2 ) -- * 5!!!$$# k**@  #BD?229/301"&'73267#".54>32'2>54.#",K<%9FH)-I+,K.I]^H!6!!7!!7 !7&"TK%$>%'>%[Pwv,,,,&?%! BA?2201".54>32'32>54.#"0H02G,0G01G!A0$7$"A/$7$U%=F"$H;#&=G!$G;#%I0/7%I007" E@ BA?3322301#53#52>73 Y$+$-$,,5 ,$^D"@  B A?229014>7>54&#"'>323$8*?+33!2" 'F0II+1,-P4E. %, !D3+**,#_D,@ &BA?229/3301"&'732654&+532654&#"'>32>U!8$1DRC?H?+)= -: ,E)/,.8-IU0)"' #(("! '"2#, 9&"1b? @   BA?29/3333015#5733#'3599Pg*,gV?&@ $$# BA?329/3330172#"&'732654.#"#>73#>+E),J,1P@'0B!38)   0 9&'327.#"32>".54>32s*I.(HG8$= J,N_]I/K+!7"!7!"7 64&=$$LS"%vvQZ%>:,+,,[? BA?201#5!#A3,q&g?+:@ 0 8B(A?329/33301%#".5467.54>324.#"32>'32>54.#"g,J,.H):".+C##B+,!(5-#55"$64"..-&="5 7'2 ) .- * 4!"#$%#!lB*@  #BA?229/301"&'73265#".54>32'2>54.#"-J;%:FI(-J*,K-J]^I"6!"6" 7!"7U%"SK$$=&&?$[Pwu++++( $(,0)@*/+-- r#%"'' r+2332+2332014>32.#"32>7#".#53#3##53#3#(BvLJpCO04V34V4"?/C@W38`F'F%%%%%%%%JzHC9(-6^<;`9)%;!+LbJ @ r?+29/32013!!!!'5!ytO&>:6616:>@7:>;; 6(/ r r+2+229/32017>54.54>32.#">323267#".#"!!!!3/6(1S17`'N* 4'.&$/,*855;PP*.G? -IBD&/N.81*)1 5!!?@K/!?B* 4 +=*%%"@   r ?3+29/993201!5!5!5!%#33#%F:FA+>+O;Y 2^=@ / r #++$(PI (II( :3 r'' r+/33/+29///33333+201332+32>54.+#".5#53533#3267"&'732654.'.54>32.#"Y.L93\=WS*>"(A'Mv"03HHDxx&-;d%(S-9G#@,2C"0Q37UG+6"4&7Q,e&AO):g@D.J+,J+ -!u66Z*+0)%1.  !3)3C#&". '"  !4/IR)4 !=@   !r?3+9/932233333301!5!3!!'!5!3!!3733# #3 CDCCdeC}K>>K>++p**u:_A)L,04/@  2233 (--0/33|/33/33|/33/3/3014>323'.=#".%5.#"32>!!!!B6a=AgD   i;@e9 9J%/G(-K.93"R#.C=h?E1)6 32=AiQ$;#1O-0K,$/+*!,!@ ( r r+2+29/9932017!7!74>32.#"32>7#".!7+8-V~P_ 7FO'@bC"(Ha9(TI:\q6IzY0 ++++8A}g=WD"/73Ui6;lS1:.5J&?i @  r  r+2+29/930175!33 #8FM1O55drdQ@ r r++23015%5%###5!?0F@''''>x>R!&@! r?+299}//33201!!!!!2+32>54.+PPJ&.M8 6K.*>"(A'/+=*c&AO),P@%D.J*-J+*/(.0@.*++r# r+2/223+2/2239/3?01%#3".54>32.#"3267#53#]....GzZ11XxGi"6"rF;_D#(Ja8At5eZ;W=hDHd:VE$B>2Tj954&#"'>3232677!%7!*kf/JTI0CI+N!'\>ha0ITJ/EO0P#&^oUO1L<65?(352QJ2J;55@*783/ V */,'@( r r+2/233+2/22301%#34>32.#"32>7#".]....-V~P_ 7FO'@bC"(Ha9(TI:\q6IzY0A}g=WD"/73Ui6;lS1:.5J&?iQ @  r?+23}/301!#5!#5!@@??>>+@ r ?+992330132#32>54.+!5!5!5!+^.L9'G0O>*="'A(Zxx&AO)3Z> D.K*+I-\*E+"#@r?2+9013332>53#%5%5%`F4> F0[Kkkx,G48\B#3334O@   ?3/3933/3012#4.#"#4>?zRrG F3YDBX4EDt9..N4Yt@/\K,+J\154.+M1N70[A1=!A/>>y77&AO):g@D.J+,J+H-&@ & /3?39/3017>54&#"3267'#"&54632w#A4=2!6605  $!&0Ygd):H";%26 7"")*'QTJYa )!@  &r?+22/33/3?9901#33#".54>32'32>54.#"F6F=?6Q-.Q46Q..Q!8""7""7"!9!DN;\2T/2S22S2/T2$<$%=$&;$$=6 23@'*-0  $0 0?33/3292/3/90173#5#'#3.#"#"&'732654&'.54632UC0T(T0B * *1;@1$>4" ,13?02 ٯ)  %,('$ "')+>)@   r+923333301##5#533#5#'#3,_0_C0T(T0BU0ٯ--!@+-r! r+2+2233330173.54>323!5>54.#"!-8R,1XxFGxX1,R82M7$C_<;_C$6N1>]tAE~b99b~EAt]>>>T_05fR11Rf50_T>>+: @   r r+2+29/301%"&'5!4.#"3267'2!5>21WCwNMwCBwNKi#`E2XW-&L}KK{IH{K0#,.(|}'." &'c#s"(U;@O:77)@HH)#((1) &%% /33/293/3?33/33/39/33014>7>54&#"'>323  "&'732654&+532654&#"'>32#7(?*22 1! 'C0GG+/+,#>U!8$1DRC?H?+)< -: ,E)/,.8,JG4E. %+ !D3*)*+T[0)"' #(("! '"2#, 9&"1"&'c #&'c  w&'cv ,&'c+ !2@ + r"r+2+29/301".54>32>54.#"'>32'2>54.#"@c8'DY2>](H2.T'!i:moDxO(A1(F+0S3(F 7]9/VC'>8$$Yg- )&'\<4@!)C(1Q0*D(',)#'@ &% $' ?22?3201".54>3232>54.#")8_E&&F_79^F&&E_3V44V44V44U42 ? +Ka67bK++Kb76aK+ :_78a9:`89`;`@ rr+233+201%!53 `:555x6 @ r /3+23301!##5!##BRtPB>>  !@   /333/9933301!!5!55!G].3@-D C/2015!D 88Urr+2+201'3*"TA|f/201753A;pp  @  r+2/9/3301333 3#gGGvBmm3-/? @0<$ 8(/2232923012>32#".'#".54>2>7.#"!2>54.#"'4&$5&0F&)F.$4% %7((H-*G,,  + //6.. + +//-K.-K----L-.J-130&&11&&0 40 Y$4  /3/301&632.#"#"&'7326'b408 #  )4/6  /? 0%"4: 0&"Ao|-@ @%)/3/22201#".#">3232>7#".#">3232>7Q*,& '/  *,& '/  e $   Q $   SJ @   /23/333/3017'!!5!!l8--]11>= @  /322/390175!%%?B>=99BBomDA= @   /322/390175!57'5AC?=99DmoB @  ?3?3901# !IànlB99x /01#7#53_#?JLLQ31@ +$r2/3 r+2?3333333+29|/3013#5354>32.#"3#3#5354>32.#"3#dHH%I5#9)) HH&D0:)/46,P23 "(6-6@\11 JF6-@ r r+2?333+201#5354>32.#"!###dHH-E0%;, ?%*5DD6%H<$ 1+B"-I) @r" r  r+?333+2+201"&54.#"3###5354>323267.6/*'2nnDHH(P32.#"3##5354>32.#"!###dHH%I5#9)) HH-E0%<+ ?%*5DD6,P23 "(6-6%H<$ 1+B"-3D@@  #6r= r(11+..- ?2?3333333+2+29|/333013#5354>32.#"3#"&54.#"3###5354>323267dHH&J5$6&) ,/6/)'2nnDHH(P@#TTJMM<+A&F!0Jr80 r\ Y r` r+2+223+2+293333/301%#".5#534.#".#"#".'732>54.'.54>32.54>323#326#/3II((@2 !M$!='+2$G:##:H%*PC,]0!?+/5&D39Y.!B G=5<vv%.P7 -!u6KR 9+4)("*$$4(*;$#/#$*$#2&9D 0#%>&8U86 @  r+22/3901# #33IINLо:Uaa*-@ $## r r+2+29/301".54>32.#"32>7#5!|J|Z22Z{JY+7+8C'qX2K&/01! 3@ r' r0 r+2+29/3+01!5#".54>3254&#"'>32'6=.#"32>$l:1N.'?N&6PNE'T,,c6D]0U#J$:0#9 @7R0,+I.)<& /CS -'4^=sU *"4 ("&"@ rr&  r" r+2+29++01".54>3253#5.#"32>77ZB$%BX3AfDDb6E)*F22V7*E3 ,Ka58bK*C4ji3@Z'="%=K&8_:!;$('"@r' r" r r++2+29+01!5#".54>323.#"32>7d96[C%=lDBd DD :I$*D16F)93"a0;,La4J{JE1>&T%;"#=K(*L; #0K+r+2?013#3#KDDDD&[Q  rr++0130*#QD &(,7/$@rr!" ' r r+2+29++201".54>3253#.5'2>75.#"5W>"&C[4=g=  !Md)C3"2:+E41T ,La57aK+?0f};$v>5F @ r r r++2+29901!5#".5332>73AQ*3D%D63*I7Dr&8$?Q-21P0'A'H' @  r r+2+93301! #333(GGAG^ LL+  @ rr+2+9901 #73 LVH " 6'eR7@CC=:r,++'0 rK H rO r+2+223+22/3+22/392/301%#".5#534.#".#"32>7#".54>32.546323#3267e"03HH,*31BP1*E14E)?3CEX-;`E%$B`:2ENJ,;7. ,)$/2?9/93339<<<<0133#'!34BLKv$ܥT$&@ >/3?39/3901%#!!24.+32>32>54.#-M/!)= ,(3;?-0,*)@$$)A")EJ),-m,*,1'# ??3?3014>32.#"32>7#".,%IjDOr2b05R7!;P0!F<5M_.=gK(2`P/C5 6)&?N(,P?$+#(91QeT?$  >/2?301332#4.+32>T_@GX4cHId2$J{LS|D@a8L9dT$ @  > /3?39/301%!!!!!m#88$84T$ >/?39/3013!!!!T$86,4'!'@ $## ?''/22/?39/301".54>32.#"32677#53#B?2/39/301#5!#3!5->>>]$$T# >/?0133T>#\#  >??301732>53#"'&;$<:> (OBM5L 3cG>gH(!T($ @  >/2?3901333#T>DFJl#6 bT$ >/2?0133!T>K$8T$ @   >/2?3901!##33c$>AAOM$lTI$ > /3?39901#33#>0?6Q$I,]''# ? ?2?301".54>3232>54.#"E?gK(*Lg=>gJ(*Kg:Q02P8 :P/2Q9/Oc57cN-0Pc37dM-+O?$&@N)+O>$%@NT$  >/?39/301332+32>54.+T4R-+M5#2 6!$4O+-P2!6"5 ,]''+@  ?((** ?2/23/?301".54>32'2>54.#"73#E?gK(*Lg=>gJ(*Kg<2P8 :P/2Q9:Qa>>/Oc57dN,/Qc37dM-9&@N)+O?$&@N)+O?$zT$@ > /2?39/3901332#'#32>54.+T4Q.!;(H"36"$4O+'D0!7 5!$'.@ '+? ?3?39901.#"#"&'732654.'.54>320=#KG#H8>[1:M/Ex1?O-BO(N;=S*6`=;^$3-# ":1'9%''4!-, ( !7,3G# $>/?3301###5!>8K@$ >?3?301%2>53#".53E7J*>;_EFa:>+H5%?N(7cM,.Nc4)O>$:$ >?2/9013#TB6$3$r$@  >?333/39013733# #373;ST;ioE7||8Dl $( $ @   >?2/390173#'#SFEF$ $>?2/9013#5XE?$"Y%$ @  >?33/33017!5!!!%zy&182F8x @  r+2?3/3333015333#5!7!???;Cʈxƈ:r/2+90133# ?H:s(#-!@- r$ r+333+333015.54>753'>54.'sDx\36]wACCw\56]wABJ|I,MauJzI,Ka5:56^OS^3555^QR^35o\J\GmM*JZFoM+Y++-u,*u>-L&z*LN +@ !(r r+2+29/3301"&54>32'2654&+32654&#"*jr/Z@8U/2,DK8aBINPJOO8GG8;Fqk*>Z2&I45JgQG^/:ULNRIRt>997>54.#"'>323267DZ--[C&/13G0aG3N, D7MNM?6T,"m <+09(&$'/<-,6#4.-'!$!,,(!L&0@  r+2/2/?3/3/9/33333013'333373#'##5#&ðMDFFNOFFD b$+@ %rr+2+29/3301"&'732>54.+532654&#"'>32Gt8S26I&&G4P==NG8*H5dERf8.FI8eB</.+O11H*5B=9@)/5A[P9NmOBd6F ZF&Zq/01FK P r+/3901# #0HD ; KSKRRFK @  r r /?3+2+299015'./#"&5332>73; "uDRTD=<(K:D 0yyD g@AP #f@,<& [VTB>\USB?v\USB?OF @ r r+2+9/301"&5332'2654&+goD1N88N1FLLFKjcB,C--C-:@:;?dEK V @ r r+2+29/301"&5#5332'2654&+gq1N88N2FLLFLjc 9,C--C-:@:;?dEKJ  @ r/+29/301753!#`7.. =4'?L-'L)..@ 'r r+2+29/3301".54>7.5463!#"2'2>54.#"*HuD'E/23TK42JDKvDEvI5U32V44V33U >nF4WB@)CD<',)3>mGFn><-Q67U//U76Q-0{'# r r+2+201.54>3232>54.#"VHnJ&)MlDImJ%)Lm8Q78T7:R59T7 Bk}<@i?Dl~:Ah?g4iW58[g/4iW59Zg*@ r?33+22/301%!53#52>73 #.06/E>>>E @%o/(r&/2+2013&>7>54.#"'>32!0-@(&RF+!D43O5-%?W:Jb1)AK!@L% ?`J7#*=.&@'"0,(,9\75I1$888>02@ +#r r+2+29/3301".'732>54.+532654.#"'>32?f@*2W82Q/8fF""ap-K,B^/EY0Dk= >-/G'Ep *J1&"A(#=),?";@@*>":+.$44X9(?+ 4K-`("@r r+2+29/33301"&'732>54.#"#!!>32 Ly.b:2O/.L0.T@PW2M,Ai=Bo K>"1<,M31K+*&?:eCEk;4/.@ ' r r+2+29/9301%4.#"4>327.#"32>".54>32/AoD-O:1X;8[,pGNvBBsJGrC3T32U32T33TCm@ :'bJ=3(=G^\GBou2T23S22T22T2  r+2?01!5!#L?:2!3C@8 ''@r0 r+2+2933301%#".54>7.54>324.#"32>32>54.#"EqCGn?+A"6 '@O('OA'!6 'A'E5? +Q34? +Q4/H"$G/,G(&G+>\39^:-I2 +:#,C/.C,#;+ 5H($7&%C.#6'%Dp&77'&67,&.@ 'r  r+2+29/330132>7#"&'32>54.#"72#".54>,AoD-O;1X;8[+pFOvAArLFsB3T43T32U22TBn@ ;&bI=2'>G^]GAou3T22S33S32T2&?k" El$^Dm#_Dnb?oV?p(sBq[?r&g?s!lBt&%! B ?2201".54>32'32>54.#"0H02G,0G01G!A0$7$"A/$7$%=F"$H;#&=G!$G;#%I0/7%I007" @ B/3322301%#53#52>73 Y$+$-,,,5 ,$^"@  B /2290134>7>54&#"'>323$8*?+33!2" 'F0II+1,-4E. %, !D3+**,#_,@ &B ?229/3301"&'732654&+532654&#"'>32>U!8$1DRC?H?+)= -: ,E)/,.8-I0)"' #(("! '"2#, 9&"1b @   B/29/33330135#5733#'3599g*,gV&@ # B ?329/30172#"&'732654.#"#>73#>+E),J,1P@'0B!38)   0 9&'327.#"32>".54>32s*I.(HG8$= J,N_]I/K+ 8"!7!"7 6&=$$LS"%vvQZ%>:,+,,[ B/201#5!#A3c,q&g+:@  008B( ?329/33301%#".5467.54>324.#"32>'32>54.#"g,J,.H):".+C##B+,!(5-#55"$64"..-&=o"5 7'2 ) .- * 4!"#$%#!l* #B/229/301"&'73265#".54>32'2>54.#"-J;%:FI(-J*,K-J]^I"6!"6" 7!"7%"SK$$=&&?$[Pwu++++&F%! BC?2201".54>32'32>54.#"0H02G,0G01G!A0$7$"A/$7$F%=F"$G<#&=G!$H:#%I006%I0/7"F@ BC?3322301#53#52>53Q!',-s--5-$G]"@  B C?229014>7>54&#"'>323$7+@+33!2" 'F0II,0,,G4E. %+ !D3*)*+#A_,@ &BC?229/3301"&'732654&+532654&#"'>32>U!8$1DRC?H?+)= -: ,E)/,.8-IA0)#' #')" !'"2"- 9&"2Kb @   BC?29/3333015#5733#'3599Kg*+gFV&@ # BC?329/3012#"&'732654.#"#>73#>+E),J,1P@'0B!38)   0I 9%(327.#"32>".54>32s*I/(HG8%<I-N^\I/K, 8"!7!"7!!6&=##KT "%vwP[%?;,++,K[ BC?201#5!#A3,q&Fg+:@  008B(C?329/33301#".5467.54>324.#"32>'32>54.#"g,J,.H):".+C##B+,!(5-#55"$64"..-&="5 6 '2 ) -- * 5!""$$# Bk*@  #BC?229/301"&'73267#".54>32'2>54.#",K<%9FH)-I+,L-I]^H!6!!7!!7 !7B&"TK%$>%'>%[Pwv,,,,A|f/301753A;pp1l /01'73^-;Hl]$K?  /2201"&5332673DJ2-/.+1JK@1(& 1@+Xp@ _/]2201".'3326731C"7)64*7"A3*'3=<  /201"&'7326=3T#  ,.DS;JI+=aal</33017#53 >&mH<. >  /201"&'732>=3k)'*F#F ;*M3&??^4l>/33017#53 >&mI></3015#53QQyy<y> /3015#53]]>2NV /017#3V$$N>+P,&FR*O*&P+R@&OOQ?3&YXQ &.3RP&/-/Rb &/&Pd+&Ql\/9901'7'\W-&n;"nd?W *)3  3   " Z      / G 4_     R: f fT  D  , }   4 uCopyright 2010 The Raleway Project Authors (impallari@gmail.com), with Reserved Font Name "Raleway".Copyright 2010 The Raleway Project Authors (impallari@gmail.com), with Reserved Font Name "Raleway".RalewayRalewayRegularRegular4.026;NONE;Raleway-Regular4.026;NONE;Raleway-RegularRaleway RegularRaleway RegularVersion 4.026Version 4.026Raleway-RegularRaleway-RegularRaleway is a trademark of Matt McInerney.Raleway is a trademark of Matt McInerney.Matt McInerney, Pablo Impallari, Rodrigo FuenzalidaMatt McInerney, Pablo Impallari, Rodrigo FuenzalidaMatt McInerney, Pablo Impallari, Rodrigo FuenzalidaMatt McInerney, Pablo Impallari, Rodrigo FuenzalidaRaleway is an elegant sans-serif typeface family. Initially designed by Matt McInerney as a single thin weight, it was expanded into a 9 weight family by Pablo Impallari and Rodrigo Fuenzalida in 2012 and iKerned by Igino Marini. It is a display face and the download features both old style and lining numerals, standard and discretionary ligatures, a pretty complete set of diacritics, as well as a stylistic alternate inspired by more geometric sans-serif typefaces than its neo-grotesque inspired default character set.Raleway is an elegant sans-serif typeface family. Initially designed by Matt McInerney as a single thin weight, it was expanded into a 9 weight family by Pablo Impallari and Rodrigo Fuenzalida in 2012 and iKerned by Igino Marini. It is a display face and the download features both old style and lining numerals, standard and discretionary ligatures, a pretty complete set of diacritics, as well as a stylistic alternate inspired by more geometric sans-serif typefaces than its neo-grotesque inspired default character set.http://theleagueofmoveabletype.comhttp://theleagueofmoveabletype.comhttp://pixelspread.comhttp://pixelspread.comThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFLhttp://scripts.sil.org/OFLj2-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a bcdefghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234NULLCRuni00A0uni00ADuni00B2uni00B3uni00B5uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccentuni0122uni0123 Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflexuni0136uni0137 kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146Ncaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentuni018FOhornohornUhornuhornuni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCGcarongcaronuni01EAuni01EBuni01F1uni01F2uni01F3Gacutegacute Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217uni0218uni0219uni021Auni021Buni022Auni022Buni022Cuni022Duni0230uni0231uni0232uni0233uni0237uni0259uni02B9uni02BAuni02BBuni02BCuni02BEuni02BFuni02C8uni02C9uni02CAuni02CBuni02CC gravecomb acutecombuni0302 tildecombuni0304uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Funi0311uni0312uni031B dotbelowcombuni0324uni0326uni0327uni0328uni032Euni0331uni0335uni0394uni03A9uni03BCuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0462uni0463uni046Auni046Buni0472uni0473uni0474uni0475uni048Auni048Buni048Cuni048Duni048Euni048Funi0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04AD Ustraitcy ustraitcyUstraitstrokecyustraitstrokecyuni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CEuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni04FAuni04FBuni04FCuni04FDuni04FEuni04FFuni0510uni0511uni0512uni0513uni051Auni051Buni051Cuni051Duni0524uni0525uni0526uni0527uni0528uni0529uni052Euni052Funi1E08uni1E09uni1E0Cuni1E0Duni1E0Euni1E0Funi1E14uni1E15uni1E16uni1E17uni1E1Cuni1E1Duni1E20uni1E21uni1E24uni1E25uni1E2Auni1E2Buni1E2Euni1E2Funi1E36uni1E37uni1E3Auni1E3Buni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E5Auni1E5Buni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Cuni1E6Duni1E6Euni1E6Funi1E78uni1E79uni1E7Auni1E7BWgravewgraveWacutewacute Wdieresis wdieresisuni1E8Euni1E8Funi1E92uni1E93uni1E97uni1E9Euni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni2002uni2003uni2007uni2008uni2009uni200Auni200Buni2010 figuredashuni2015minuteseconduni2070uni2074uni2075uni2076uni2077uni2078uni2079uni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 colonmonetarylirauni20A6pesetauni20A9dongEurouni20ADuni20AEuni20B1uni20B2uni20B4uni20B5uni20B8uni20B9uni20BAuni20BCuni20BDuni2113uni2116 servicemarkuni2126 estimateduni2153uni2154 oneeighth threeeighths fiveeighths seveneighthsemptysetuni2206uni2215uni2219 commaaccentf_ff_f_if_f_ls_tW.ss09G.ss11 i.loclTRKa.ss01a.ss02d.ss03j.ss04l.ss05q.ss06t.ss07u.ss08w.ss09y.ss10c_ta.scb.scc.scd.sce.scf.scg.sch.sci.scj.sck.scl.scm.scn.sco.scp.scq.scr.scs.sct.scu.scv.scw.scx.scy.scz.scuni0414.loclBGRuni041B.loclBGRuni0424.loclBGRuni0492.loclBSHuni0498.loclBSHuni04AA.loclBSHuni0498.loclCHUuni04AA.loclCHUuni0432.loclBGRuni0433.loclBGRuni0434.loclBGRuni0436.loclBGRuni0437.loclBGRuni0438.loclBGRuni0439.loclBGRuni045D.loclBGRuni043A.loclBGRuni043B.loclBGRuni043F.loclBGRuni0442.loclBGRuni0446.loclBGRuni0448.loclBGRuni0449.loclBGRuni044C.loclBGRuni044A.loclBGRuni0493.loclBSHuni04AB.loclBSHuni0499.loclCHUuni04AB.loclCHUuni0431.loclSRBzero.lfone.lftwo.lfthree.lffour.lffive.lfsix.lfseven.lfeight.lfnine.lf zero.subsone.substwo.subs three.subs four.subs five.subssix.subs seven.subs eight.subs nine.subs zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numrperiodcentered.loclCAT uni030C.alt brevecombcybrevecombcy.casehookcytailcy hookcy.case tailcy.case descendercydescendercy.caseverticalbarcy.case uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303 apostropheT\ #$+,, 0$+ hDFLTcyrlRlatn0 !"#$%&BGR VBSH CHU SRB  !"#$%&  !"#$%&    !"#$%&4AZE nCAT CRT KAZ "MOL ^ROM TAT TRK  !"#$%&  !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%&'aaltc2scccmpccmpdligdnomfracligalnum$locl*locl0locl6locl?GHJKLMPRSUWX[]_{"#&'&'->>LZhv &,28kdl}mvnwo ep fq gr hs itjn~n~&,4<FINOQTVYZ\^,>?NO,NO NO NON , +*)( '&%$ {QQ {11{{yz{|"#&'yz{|"#&'_N_N_N_N_N ,->?&',>?.V d}vwefghijOc&F4Tn~n~&4FTT3&?sF_ YYHX6 "(KQKNQNKKhFhFiFgIbOaQ]V[Y[Z <\Y^, NxDFLTcyrl$latn4kernmarkmkmk  (20\X* `` Bhx(<PJ8l !4!&&&''F'&&(J(+Z,,r,-.3B48b9T9;=>,>z>>??z??@@@D@@@>,A A(A^AAADzDGVGGIpIIJJJNJpJK !4 !4!4!4!4&&&& &(J(J(J(J(JR R----8bRT======>X:>>>>?XxXYlZJ@@@@@@]@]fAAAAGV>,GV==]^ >z >z >z >z _ a!4>!4>!4>a>!4>&bN&bN&bN&bN&?bl?&e&fd&fff&?'f'F@'@D'ghh''j&@&@&@k^k|(J@(J@(J@a>,A(,A(,k,rA^,rA^,rl,rA^,lJ,ltmA-A-A-A-A-A-r3BDz8bGV8b9TG9TG9TG(J=!4>R]f,rA^,r?@r!4!4ssxs&&tu'FuPv^v!4ww'F&&(Jx:xyz{^(J(J{||>|}AA@AA@@A>,}J}GV@~~DAA~DA@@A>>~J~?l@AGVA'F@'F@&@ >z8b(AA?&'FA?==!4>!4>(J@'FAA(J@(J@GVGVGVAA(J3BDzA >&?&@,A(,rA^,؂3BDz3BDz3BDz9TG!4>!4>ڂDb(J@-A8bGV8bGVڂ|·$|$JJ8@D@DA`XbA䜞Ȣ~ԧ򨌪ܮp(J AAA@@@A>z>z0b$P &/9;<=>[\^&(*89:;<[]{4BDdfh@AFGUX%  k &/9:;<=>?[\] ^_9&(*,.024689:;<=>?@AB[]9_`{4BDdfh92@AFGUX  &(,469;<=>FHIJKLOTVYZ[\]^&'()*+-/135789:;<C[\]^_`{|  4>?BDEdefghikz{|} 3@AFG&/9;<=>FHIJLTVX\2!#%&(*89:<C[\]^`z{   4?BDdefghik{} @F ;O[*CDE';=[]*DE;[*CDER&(,/468;<=>FHIJKLRSTUVWXZ[\]^_%   !"#$%-/135789:;<>@BC[\]^_`yz    %')/179>?BD Edefghikwyz{|} 3@AFG< &/9;<=>?At&(*8:<=?A[]{4BDdfh@FH &/9:;<=>Aqt{$&(*,.02468:<[]${4BDdfh$2@FQR!9;<>At &(*8:<] {4BDh @F# 9;<>At&(*8:<]{4BDh@F) 9;<>Aqt&(*8:<]{4BDh@FQR'9;<>Aq&(*8:<]{4BDh@FQR-&9;<>&(*8:<[]{4BDdfh@F;"&/9?fqt{&(*=?A[]{4dfhQRVY],&9;<>&(*8:<[]{4BDdfh@F  9;<>At&(*8:<{4BD@F;*D ;O*DG &9;<>[\^&(*89:;<[]{4BDdfh@AFGUX( $%;A[mnr~ *C_`U&9;<=>?AKXYZ[\]^_!#%&'()*+-/135789:;<=>?@AB[]z{| 4BDdfh3@AFGU;=*U;=A]*U[ CUK  %&(,/468FHIJKLRSTUVWXYZ[\]^_oq (    !"#$%')+-/13579;>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3AGQRUVY]ab;A[*UU U"AB[mr .C_`U$;A[mnr~ *CU\;=A]*U&/;<=>FHIJLTVX\]^oq!#%89:;<[\]^`z  ?BDdefghik{} @AFGQRUVY]a*&;=A]*[]dfhU;A[*C`U;=[]n *U; %[]mr 9.!%)C UUL  %&(,/468AFHIJKLRSTUVWXYZ[\]^_moqr'2   !"#$%')+-/13579;>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3AGQRUVY]ab1 %A[]mr*3!%BCU(,468AFHIJKLRSTUVWXYZ[\^moqr (9    !"#$%')+-/13579;C\^_`yz|   %')/179>?egikwyz{|} 3AGQRUa< %A[]mr 0!%BCU[mr'CUy(,46HIJLOTV  ] _`  >?h kz{|}  &(,469:;<=>Y[\]^$&'()*+,.024689:;<C[]$_{|4>BDEdfh$z|2@AFGUX $;A[n~U$;=AB[]b~U$;=A[]U ;[U$;=A[]U%;/=6A$B b &6S^.&U2#&;<=AO8U $;=A[UUOU ;A`U$;A[mnr~U $;=A[U$;=AB[]b~U;=AOGU %;=AU ;=A[]U ;AU ;A[U%&/9;<=>?AFHIJKLTVXoq!#%&(*8:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]a %;=A~U(,469;<>FHIJKLTVXoq!#%&(*8:<\^_`z{  4>?BDegikz{|} @FQRUa %;=AU;AUs(,46HIJLOTV  ] _`  >?h kz{|} O5;&;<>8:<[BDdf@FO3:;*D$;=[]*DE&'()*+,-./0123456789:;<=>?FGHIJKLMNOQPQRSTUVWXYZ[\]^_X     !"#$%&'()*+,-./0123456789:;<=>?@ABC[\^_`yz{|     %')/14679>?BDOTcdefgijkwyz{|}  23@AFG';<=>A]*8:<BD@FUy $&/89;<=>?ABF]^b "$&(*8:;<=?A[\]^y{4BDdefghi@AFGTUVWXY]&'()*+,-.0123456789:;<=>?AKXY[\]^_   !"#$%&'()*+,.024689:;<=>?@AB[]_yz{| 46>BDTdfhjz| 2@AFGUX$;=AO[]UAU4 $BGMNOPQb~  OcTUWX 7 $ABGMNOPQbn~  OcTUWX$&')*+-./01235789:;<=>?AKY[\]^_   "$&'()*+,.024689:;<=>?@AB[]y{|46BDTdfhj 2@AFG $$;=AB[\]^b~9;AGU5 $%;ALOd[^mnr~ *;C_`AGU$;AO?[n~U( (J($;ALBDG3KM3N3O/P3Q/RSUWY Z[\]^_a$bEj#mnr~3333%333333333/////  ' ) + -/13579;>@B| 33  3 333%')/179O3c3wy3 33AGTU6WX6N/,33 ;[U[ C]hU;=AOU(,46:FHIJKLTVXYZ[_!#%')+,-./01234567>@B\^_`z|  >?egikz{|} 23U8 -A3B GMNOPQab!jn  OcTUWX3   A'B b U' AUOUO#U4 $BGMNOPQb~  OcTUWX $;AOG[mnr~U; $9;<>A[mnr~ &(*8:<C{4BD@FTU\WXe $ $;A'B#GKMNOPQY[\]^a b"jmnr~%')+9;B|  OcAGTU WX( 4$;AKY[\]^_mnr~')+9;>@B|AGUO U$;=AO[U%;=ABQUX;=AO[]U ;AOrUH $;ABGMNOPQYabjn~%')+|  OcTUWXC  %&(,/46FHIJKLRSTUVWXZ[\]^_moqr 9.  !#%)-/13579;>@BC[\]^_`z   %')/179>?defghikwyz{|} 3AGQRUVY]ab ;AO8[U ;AO)UAoqQRa $ATUWX;=* U,;=[]n * U UVY] $ATUWXC $%;A[mnoqr~ *C_` DEQRTUWXa$ E  DE8AB[moqr .C_`  DEQRUVY]a  DEoq  EQRVY]a;=*  U^  %[]moqr 9.!%)C  E QRUVY]ab1;=AB]*DUVY]Aoq  DEQRa $;A[n~ETUWX  $;=AB[]b~ EU $AETUWX Aoq QRa $AETUWX $;=A[]oqEQRTUWXaABoqQRVY]ab oq QRa\ $;=A[TUWX $;=A[]oqQRTUWXa ;=A[]TUWX $ABb TUWXU $;=A[TUWX a  %A []moqr 0!%BCDEQRUVXY]abAoqQRVY]a;=AU ;AO&UO/UO>U C  %FGHIJKLMNOPQRSTUVWXYZ[\]^_  !#%')+-/13579;>@BC\^`z|     %')/179?DOcegikwy{} 3AG;O[*CDE%C  D A%;/=6A$B b  /LW' U2#&U6  %&(,/468AFHIJKLRSTUVWXYZ_moqr $(   !"#$%')+-/1357>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3QRUVY]abv&/9;<=>?AFK[\]^&(*89:;<=?A[\]^{4BDdefghi@AFGUVY] $'()*+,-.0123456789:;<=>?AKY[\^   "$&'()*+,.024689:;<=?A_y{|46>BDTjz| 2@AFGTUWX:?,.0246=?A2UOGU:?,.0246=?A2U ;<=AO[8U%&/9;=>?AFHIJLTVoq&(*:<=?A[\]^`{ 4?BDdefghik{} @FQRUVY]ab&/9;=>?AFHIJKLTVXoq!#%&(*:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]a%&/9;=>?AFHIJKLTVXoq!#%&(*:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]an $(,469:;<>Amnoqr~&(*,.02468:<_{4>BDz|2@FQRTUWXaG$&9:;<=>A&(*,.02468:<[]{4BDdfh2@FUX@ $&9;<>Ao&(*8:<[]{4BDdfh@FTUWXaT $&/89;<=>?ABb "$&(*8:<=?A[]y{4BDdfh@FTUWX)9;<>Aoq&(*8:<{4BD@FQRUabD&/9=>?oq&(*:<=?A[]{4BDdfh@FQRUVY]ab8 $9:;<>A&(*,.02468:<]{4BDh2@FTUWX;AU7&9;<=>?A&(*8:<=?A[]{4BDdfh@FUH(,469>oq&(*:<_{4>BDz|@FQRUaq $(,469:;<>Amnoqr{~&(*,.02468:<]_{4>BDhz|2@FQRTUWXab$;=ABbUG&/9;<=>?ABb&(*8:<=?A[]{4BDdfh@FUVY]&$&;=ABb [] dfh Uc $(,469:;<>A&(*,.02468:<_{4>BDz|2@FTUWX7&9;<=>A&(*8:<[]{4BDdfh@FUX<%&/9=?oq&(*=?A[]{4dfhQRUVY]ab<&/9;<=>?A&(*8:<=?A[]{4BDdfh@FUu%&(,/4689=>?oq~ "$&(*:<=?A[]_y{4>BDdfhz|@FQRUVY]abv%&(,/4689=>?oq~ "$&(*:<=?A[]_y{4>BDdfhz|@FQRUVY]abH(,469>oq~&(*:<_{4>BDz|@FQRUap %&(,/469=>?oq~&(*:<=?A[]_{4>BDdfhz|@FQRUVY]ab%9;<>oq&(*8:<{4BD@FQRUa AVY]  AqtQRqQR At"A fq{QRVY] AVY]c_  ""%AFa8eeTggUjjVooWqqXttY{{Z[\ C[`y|"$(-/2569<>@CXY _d%%i01j47l>?pBBrDEsKKuMMvOOwTUx``zcm{ppwwy}  23@AFGQRTYac|| (` 4;4 X ,,0$$244')'.. + & (/  & %0)31    & ((    +        %%% +!!","9 ,,!!#$# & $$ !:-78"#78 --"# (  % ))56'56'01/  ****22"  $$ # 3))%% "    &(' !        "           !  "# -#  ./0,  12 , 3$ $$   !   *+*+&'     #   (g  &&(*,4 6:<<>?FZ\\1^_2oo4qq5{{678OUek C[`y|  (* 7E*1G47O>?SBEUKKYMMZOO[TU\``^cm_ppjrskwwmy}nstuvwx|}  23@AFGQRTYab4~D Y| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flR\ywXfecQQ6qysrrc||oKzN#cxwwc0G:;33zz EFK; "* -7 L 77) ,s- 9##mp  ( ") )m* k  " *  v  ! I m m R=|<h>C+.j    *    O   q& % % |{cZZq}qopp<MMzz>>55++}}0O  " Y&()*,-./01234789:<>?FHIJLMNPQRSTWXYZ\^_n~`lm$+  $*06<G     Q . |   B |Q[/        :.J  QWWh &,28Q[ *06<BHNTZ`flrx~ssQ.{Byp  $+ $+^djpv|G     Q . |   B         " ||դ'^#+tvwp-file-manager/lib/fonts/raleway/Raleway-Regular.ttf000064400000501774151202472330016621 0ustar00 FFTMGDEF2,tGPOSJJoGSUBOS/2gX`cmap^-Rcvt )fpgmZgasplglyf'2!head,6hhead$hmtx&loca'*@\maxp\ nameAMS4posta1a#prepO(({_<^#+tv( u?(M--in/QOXKX^27P [NONE   `2M\$E%k&(/E , A>4PAA\d7. ,&"!#[4"Q2J$AF!D7"E/ Y*YaYMY*YYYGYmYY*nY*Y_ bO  xuX82+A1!!iK%'n(K'Jj(GKKKNKGKS'iKi(_K ORF-5V2B[1+45W/I=@00=)FI:A@06 2H$#1lRZ"A#",=?"'"#!      *aYaYaYaYY"Y*****@*OOOO[Y'K!!!!!!!!!!!!!%'K'K'K'K'KZ*GKS'S'S'S'S'CS'RFRFRFRF[K !! !! !!*%'*%'*%'*%'Yn("n(aYK'aYK'aYK'aYK'aYK'*j(*j(*j(*j(YGK,G !YKYKYKKGYNGYNGYNGY:NN$ YGKYGKYGKGYGK*S'*S'*S'* 'Y_KY_IY_K_  _  _  _  bObO!QORFORFORFORFORFORF -uuu*S'ORF?YYY((Y'YNYY(K*j(*S'1YYY(*i' !!!*S' !! !!aYK'aYK' *S'*S'Y_/Y_KORFORF_  bO*S'*S'*S'KEE"1##J*J*W6EEW+2#5,F+11*:6+2=#+*%+"22=9#5+62-XKMaYaYY*_ Y&YzY]hY YYY&aY!-]]zY&mYY*YnY*bh+*xYEYYSYbY0Y}A!!`;JJDK'&RJRJJ9JGJS'8JiK%''CJ:J7JMJJ-& K$K'K'9J.' K"+JIJRJ5J&*R' )]RJ{!hSaCYJzYJ&!-YJkY"KCYbJYJ8Y\JS43;*%'b + rE:E:YGKc cY&cSJ&9YGJYGJE:mYJK !! !!!aYK'KK&!-4-]RJ]RJ*S'*R'*R'0-&hhhE:YJSYJ")#&9*i( -TKCYGK8&9*%'Yn(Yn(aYK'aYK'aYK'*j(YGKYGKGYNGYmYKYGKYGKYGK*S'*S'*S'*S'Y_KY__  _  _  _  _  bObOORFORF - - -uOwK !! !! !! !! !! !! !! !! !! !! !! !!aYK'aYK'aYK'aYK'aYK'aYK'aYK'aYK'3 YK*S'*S'*S'*S'*S'*S'*S'*S'*S'*S'*S'*S'ORFORFORFORFORFORFORFCdAA:AAA@@P<@7@WP')_VA*.EE`)`?(&v(c& &"$#v(c&!'(d1K%Y^)n)!!_n*>7*b+N"O;5HtY6>-[+0"#8"#S6S'f DLA -, AS>A9FG1+#&*K!l(j(KQi(<NF=p'JCTS,mTTTk,TT2TTTT,T,:T $KL) 2(%)(MY!-*!-*;N:j(&RFRFRFKGKKgFFDF| J%'%'Y)0*E/H09,([4 Q2[,&"$#v(c&!&"$#v(c&!&"$#v(c& A1$+;2+*+X/& d ~~-37Y $(.15_cku)/ !%+/7;IS[io{      " & 0 3 : D p y !!! !"!&!.!T!^""""""""+"H"`"e% *07Y#&.15bjr$.  $*.6:BLZ^lx       & 0 2 9 D p t !!! !"!&!.!S![""""""""+"H"`"d%ljeaSQN-| ~xtzxrpnfbZXUONFC?><;:7.-(usjif_;5sW@=    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcZtfgk\zrmxluiyn~epDo]dQRWXTU<c|ab[{VY^s|@J~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSQPONMLKJIHGF( , C#Ce -, C#C -,CCe -,O+ @QX!KRXED!!Y#!@%E%EadcRXED!!YY-,CC -,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-,# Pd%TX@%TXCYO+Y#b+#!#XeY-, !T`C-, !T`C-, GC bcW#bcWZX `fYH-,%%%S5#x%%` c %#bPX!`# %#bRX#!a!#! YY` c#!-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BY(QX@cTXC`BYYYYYYYCTX@ @@ @  CTX@   CRX@ @CRX@ @CRX@ @@ YYY@U@cUZX  YYYBBBBB-,EN+#O+ @QX!KQX%EN+`Y#KQX%E dc@SXN+`!Y!YYD-, P X#e#YpECKCQZX@O+Y#a&`+XCY#XeY#:-,%Ic#F`O+#%%I%cV `b`+% FF` ca:-,%%>> #eB #B%%?? #eB#BCTXE#E ic#b @PXgfYa c@#a#BB!!Y-, EN+D-,KQ@O+P[X EN+ D @&acaN+D!#!EN+ #DDY-,KQ@O+P[XE @ac`#!EYN+D-,#E E#a d@Q% S#@QZZ@O+TZX d#d#SX@@a ca cYYcN+`D-,-,-, C#Ce -, C#C -,%cf% b`#b-,%c `f% b`#b-,%cg% b`#b-,%cf `% b`#b-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,] %cV`+%%%% % % %%n+8%%&m+%%&m+P+%%%q+%%%8 %%%q+`%%%e8%%` @SX!@a#@a#PX@`#@`#YY%%&8%%8 RX%%I%%I` @RX!RX%%%% % %I8%%%% % %%q+8%%%%%q+8%%8YYY!!!!!!!!-,%%%% PX!ehY+d%%%%I c% cQ%T[X!!#! c% ca S+c%%%&JPXeY& F#F& F#F#H#H #H#H #H#H##8 #8Y-,# c#c`d@cPX8U>U=(<(;':'9'8&7%6%5$4$d3#2#1"0"/!. -,+*)! @[@[@[@[@ZKUKUYY K UKU YY2U K UKU2UYp YY?_Y?O_ dUdUYY_@@T+KRK P[%S@QZUZ[XYBKSXBYCQXYBs++++s+s++s+++++++++++++++++++++++++++++++++++++++++++++++ ;+ '%(J222222Pj60RvJx:|V:$b"Hh  < T ~  d  B ` $ : R l | @ | R,Tx6Dx4f88RdDL$Rfv"J"dt|  2DX 0j|"4FXj&6H\ .@P`p(8Jp   & p !!!&!8!J!\!n!!!"0"B"R"d"v""""""""# ##0#B#V#h#z###$ $$,$<$N$^$j$|$$$$$$$%%(%:%L%`%t%%%%%& &&0&D&X&j&|&&' ''.'@'R'd'v'(H(Z(l(((((((()))&)6)B)N)`)l))))***&*8*L*`*r********+++,+>+P+`++,,,0,D,,-~---------....&.8.J....///(/:/L/\/n////////00 020D0V0h0x000000011*1D1\1t11111242<2D2L2`222222223 333"3*3^3f3z333344$4<4f44445 5$5H5X5p55556666667777b7t777778.8r8888899:9B9X999:&:H:Z:::::::::;&;x;;;;<"6>L>>>??2?B?h?????@@@(@Z@@@AA*ATAAAB6BBBBC*COlOtOP>PQQ"Q4QFQQQQRRR$R8RpRRRRRRSSS S(S:SJSRSZSlS~SSSST THTZTjT|TTTUUPUbUtUUUUUUUVVV&V8VJV\VnVVW*WpWWX.XXXXXXXXXXYYY Y4YHY^YtYYYYYYZ Z$Z:ZPZbZrZ~ZZZZZZ[ [[,[8[L[^[p[[[[[[\ \"\:\R\j\\\\\\\] ]]6]N]f]~]]]]]^^^6^P^h^z^^^^^^^_ _ _2______```,`@`T`h`|``````aa&a:aNadaaaaaaabbb(bifiijjtjjk(khkkl"lnllm0mmn"nVnoXoppJptpqqxqqr8rnrrs6sst$ttttu`upuuuuvBvfvvvvvwwwx x6x\xxxyyZyzz{2{\{{||`|||}4}V}}}~d~~$Pr,Pdf6PƂ0NV$,4tLTĈDވf‰ʉ҉ډ Hr"fʌ,vލj֎&<.VxΏ $0@@ .26:!  ::++!! ?3/33332?3/33333901%#773.#"#".'732654.'.54>32!..&*..)1: ]W*WEKo;%E^86fY(#5AK(U_/`GJe4AsI/QE|} c G=*0,K@1H0-#9#>=,5"*E9B[/$(/?E)@@EE8((0 rCBBr+22/32/3+22/32/301".54>32'2>54.#"".54>32'2>54.#"  )D))D))D((D)--,-j)D((D)*D((D*----M#&B'(B&&B'(B&'00//&B((A&&A((A'(/00/T[/<@,; $ r3 r?+2+2901!.54>3232>53#".54>7>54&#";+4/Q2/K,3Q1)E(2M)6[D%:0UsC>h=3Q-.G(:-!4.+u.A5,F*#?*-G=9@),=1Wp?Ld91V:6QA35'2.%7-eE  ?0153E; , //01467.,R:4-'D;3*?#ZfbXeh0N[? //01'>54.'7"@*2;D(,5:QZ??0heXb>  @   ?2923017'7'37'W+D E)E D, *+">$II$>AA4k  /3333301##5#5353k|?||?88Pb/99017#53VBQT__TAe0/20175!A$??A|b r+201353A;bb@ rr++01 #@(M:7-U r r+2+201#".54>324.#"32>-ArHHqBBqHHrAE.R66R//R66R.%XNNXXOOXGl==lGGl<=k.;@ r r+23+22/301%!53#52>73&1062"F>>> B",E)@ r' r+2+2990134>7>54.#"'>32!, "B6>7!;, 4( +#7K-=W.#7;/@&f"ED?#-0 /"+H*);+ ,-+>&m@.@ 'r/3+29/3301%#"&'732654&+532654.#"'>32W-@$:hELr/V@JW[TMR&A*9W,@V1>^6 ;2L0<\2=6++5IDDQ:H8)63-*#4-P6(D.; @  r/+9/9333015!533#%!dc.XX <6>_#k;"@ r/2+29/301"&'732>54.#"#!!>32Kz-a:2O/-M0.T?OW1L,Ai>CpK="1<,N31K*)'?:fBFj;4/.@ ' r /3+9/3301%4.#"4>327.#"32>".54>32/AoD-O:1X;8[,pGNvBBsJGrC3T32U32T33TCm@ :'bJ=3(=G^\GBou2T23S22T22T2" G r+2/01!5!#N?:2!3C@  ''88@0 r+2/39/39901%#".54>7.54>324.#"32>32>54.#"EqCGn?+A"6 '@O('OA'!6 'A'E5? +Q34? +Q4/H"$G/,G(&G+>\39^:-I2 +:#,C/.C,#;+ 5H($7&%C.#6'%Dp&77'&67$f;.@ 'r /3+29/30132>7#"&'32>54.#"72#".54>$ApC.N<1W<7\,qFNvBAsKFsC2U22T32U33TGCm@ ;&bJ>2(=G^]GBnt2T22T22T23S2A{ rr+2+2015353A:::bb\bbF @  ?3?3/3301537#53F:4Bbb T__T!@ /3/3901% %!@]IKDrf /320175!%5!D..11s117@ /3/3901%5-5]@KI"$(@ &&% r+2?33/0174>7>54.#"'>3253%1+'>##?0/AR+%F7!'0*9;,?. #3$,9.):0G1(7' 70kk/n [Uh)@^'1 fEL ';/22|/322/339/3012#".'#"&54>324.#"'>3232>54.#"3267#".54>>=.#"326Je:6(!# Y5GO8U,,C61'H$R.8A ) 1ZxFEx\41YxF*J% (U*Kd9=h C0#?'02[7eU:B;&**L:3:0H)'$=H$.*@FI}^52[}IG|^5 8eQUb5 !&()$*   D@'     rr++29/33399<<<<013#'!# 5;'J\[KՏ:_Yo&@rr+2+29/3901%#!!24.#!!2>32>54.#o6[6V2I'60=GF 7# $:#v#6 4!5S/5S-5Zb5$=&&=%<"$;$*$@  r r+22+22014>32.#"32>7#".*-V~P_ 7FO'@bC"(Ha9(TI:\q6IzY0hA}g=WD"/73Ui6;lS1:.5J&?iY @ rr++2301332#4.+32>YqLSh?xWXx>_blXdUKNY6 @  rr++29/3301%!!!!!6#r[>>>;Y+ @ rr++29/3013!!!!YtN>:* &@#"" %r r r+++39/3201".54>32.#"3267#53#vGzZ11XxGi"6"rF;_D#(Ja8At5eZ;=hDHd:VE$B>2Tj953#"&'"E-4@" F.\L1L Y#GjGwP`4Y @  rr+2+2901333 #YFM1OdrdY9rr++30133!YFx>Y @  r r+2+2901!##3 3,FHGB?:Y @ r r+2+29901#33#F:FAEO;*'@ # r r++2301".54>3232>54.#"wKzX02[zGKzW02Zz&Fa:=aE$&G`:hCGe:h:kS13Uj7:jT02UjYR @  rr++29/3013!2+32>54.+Y&.M8 3\>*>"(A'&AO):g@D.J+,J+*'+@  *r r r+++3301".54>32'2>54.#"73#wKzX02[zGKzW02ZzG=aE$&G`:hCGe:?3Uj7:kS13Uj7:kS1Yg@  r r+2+29/33013!2##32>54.+Y,.L9'G0O*>"'A(&AO)3Z> D.K*+I- =2@ *".r r+2+29901.#"#".'732654.'.54>32(29 ]W)XDLn<&D^87eZ'#5AK(U_0`FJf3ArJ/QEA G=*0,K@1H0-#9#>=,5"*E9B[/$Q@ rr++2301###5!QF@x>O@  r r++3201".5332>53zTtDE4XBDY3F Gr=Ku:_As @   r r+2+29013 # # UOOP5+^h{@ rr++29013#]LF~B S @  rr+23+23017!5!!!%,#7Q>7>X //32013#3Xw77( 9f9 rr++01#iLL:2 //320153#53288x(99+/r+22013# +:</iWA/3015!A}>>>1l /90131G<,]!'8+@!66$/$ r r r+223+2+9/3330174>3254&#"'>32'./#".%>=.#"326!8cA&R NE*Q,3b3`p #p:2Q-] "I%IZ:'1U1G' ,BN0##na 6&-1+I L :23!&KA'@ rr r r+2+++201"&'#3>32'2>54.#"J=h=D#bA7W> %DYE*H4/S8(E5"38 ?0e5A.Ma37`K+<"32.#"32>7-9_G'BvMIpBO04V34V4"?/CAW +Lb7JzHC9(-6^<;`9)%;!(7/@+! rrr r++++332014>323'.=#".5.#"32>(=lEAgD   j96[C% :I$*D16F)83"J{JE1>x 6 33<,La$;##32!3267!.#",8`F'CvKMsBB5U23[;BY5U33T5 +Kb8IzIJyH8W34*%32.#"3#dHH%E/: */36@\11 JF6-(!"6!@#- r r rr++++33301".54>3253#"&'732>='2>75.#"5ZA$#AX6Cc"=EuEYn#*g:3U3h&90 8G&,E/5G,K`37aL+D2mHc2@6!10%J8g1;9%.&;!%=L&*K; K@ r r r+2++29901!#4&#"#3>32D>:&K9 DDo?-?'#XY'C+:E =Q3K ??2013353KDDD vddK r/2+201"&'732>5353!;!'*D,F.D. +$.H(+ddK  @  rr  r+2++901!#33oDD'K hN rr++20133267#"&5ND$ 7.7'7 6/KR$%@rr  r+22++293301!#4&#"#4&#"#3>32>32RD:9;]D8::^D>!g?AP $e@,=%#[VTB#\URC v=BJ32D6:(N; D>DV.+<$#\U'C+ v&9 ;S3',#@  r r++2301".54>3232>54.#")8_E&&F_88^F&&E_3V44V44V44U4 +Ka68aK++Ka86aK+ :_78a9:`8:_K+A'"@$# rrr r+2+++2901"&'#3>32'2>54.#"UAgD=h;6ZB%;jZ+D16F)83"6G D2e1=-La4I{J<#3253#'2>75.#"5W>"&C[4=g=DMd)C3"2:+E41T ,La57aK+?0f"Av762ODgD@Y2 H? }7D +@  r r+2+29901"&'732654.'.54>32.#"@n(,Y2=L%E06I%3Y7<\!M/ :%8);X0n *+0)%1.! !3)3C#&". '" !4/IRE@  r r+2+23301%#".5#53533#3267E"03HHDxx%. -!u66F @  r r r+2+2+299017332>73#./#"&FD=<(K:D "uDRT2YX#A+HI 6F733&'i HD)  DB =`! @  rr+23+23017!5!!!]ZW.3.X35  //33013#"&54&'52>546;  7^^ $ % 9 !4 9V~//013V;w2//33015323+53467.52^^7  9 4! 9 % $ BX  /33220174>3232>53#".#"B (43 + +!!7/  &%[  ?/201#7#5DDDpp+ )'@%% $$ ?3/333?3/333015.54>753.'>7#3U?"9hH%JeAH+<0CHT%*J/'=*xo0L[0DwNttA8)(_(*:nz1X<&;G4:'@%::(77,3 rr+2+29/3232/3301!!>54.54>32.#">323267#".#"4P.6'1R26a(N) 5'.&$.,*946:t6.G? -IBD&/N.81*)1 5!!?@K/!?B* 4 5}'"2 '//3/301>327'#"&''7&5467'732>54.#"9!!9F"HIJ:!!:GG$F!;!8""8!!8"!9!G!H99HEEG2=9G!%<#$>$&<##>.@   r ?+29/9322333013#3##5#535'#5333To!FpVLMn060040X~W~//9/01##<<<ii/?R!@F=I@MP8 1'r/3+2901%#".'732>54.'.5467.54>32.#"2%>54.#"&'&. 5&-C,!*#!2#'%%G3->(3M+" 1"9,&:+2|%* '&+ %=y 0'L@ :2 rD(` r+22+2201".54>32'2>54.#"7".54>32.#"32>7Oc77cOOd77dOFwZ32YxGFxY11YxN.TA'8V:BgB -0(<'/94, B 4P6bNMa66aMNb6%/VvHEwX11XuFEuY1]!=U5*SD)96 3= *@,"6&0Zy#2+@*-!')$@ ?329/93332/301"&5463254&#"'632#./'2676=.#"1ETA:+2-8FEFP I!8 0-9-Z?/0=+2%.ID 4"- 4 %()B $@   /333/3933017'?');;%;;I~l /301#5!5<l>A0/20175!A??0&6?%@?0446>' r26` r+22+229/3301".54>32'2>54.#"32#'##72654&+Pc77cPOd77dO\W1YwGGwY11XxR(<#.o:ju5(+1&6bNMa66aMNb6$R`EvX11XuEEwX2'*B# 9(8(*56W2.  r+22014632#"&7327>54&'.#"21"#00#"14   #//#$01A  H=@   /32/3333/0175!##5#5353HC??=99L99$]+"@  B D?229014>7>54&#"'>323$7+@+33!2" 'F0II,0,,4E. %+ !D3*)*+#_+,@ &BD?229/3301"&'732654&+532654&#"'>32>U!8$1DRC?H?+)= -: ,E)/,.8-I0)#' #')" !'"2"- 9&"21lR,( !@ rr r+2+2+299/01332>733#.=#".'#RD=>'K:D >N*2 D YX#A+HO< B#;"&"-#@  r+233/39/3330146;####.7%#3"FP)scdA|f/01753A;pp#L"+@ BD?3322301#53#52>53Q!',---5-,Z@?3201".54>32'32>54.#"5R-.Q56P/.Q"7"#7!!8"!8"Z2T01T11T10T2%<#$=%%;$#>?B $@   /333/393301%57'557'5;;%;;"&'c ""392@76613&&%%1499  r+22/392/3/9/333/301!4>7>54&#"'>323#53#52>53  6*=*21!0" &D0GF*/+,Q!',-x#4E. %, !D3+**,s--5-T[#t&'c !+$(@ $$''( ?3?33/0132>7#".54>7>57#5>%0+'?"$>0.AR+%F8!&1)8:0,?- #3$+:/):0G1(7'70kk &&/01 &&  /01 &&/01 &&y /01 &&  /01 && //301-@    rr+23+99//333301!!!!!!5!#vT)L>>>V*L&(Y6&*/01Y6&*  /01Y6&*/01Y6&*  /01&./01Y&.5/01&. /01&. /01"@ rr+2+29/3015!32#4.+32>"-rKSh?xWXx>J66_blXdUKNY&3/01*&4+ /01*&42( /01*&4. /01*&4( /01*&4 ,( /01@l &@  /33/33392301%''7'77,zy+yx,wy+x+yy,xy+xy,y*&4JO&:/01O&:4/01O&: /01O&: /01{&> /01Y?@    r r++99//33012+#32>54.+l/L93\=FF+="'B'9&@P*9g@yƍ.K)+I-K-@% - r r+/3+29/33017>54.+532>54.#"#4>32]p+K1#7"7",<A4Z:5T10JS(He>9KM/G'>3"$1(C*;Z2(I/#@-kI3N5!&Fy</01!&F9/01!&Fb?/01!&F.9/01!&Fc =9/01!&F KBB//301!7IR/@NR%C%%r)118 r+223+299//332301".54>32>7.#"'632>32!3267#"&''26767.'.#"%.#"1N-7b@#E K<'T,g^A\ h?LuC;7X43[<BY3Dp#LX5Z @ HZ!85U64V4 +I./F( (5= -D71/9JyK8W34*%32.'332>54.#"'?/*I^6EuD&CY3Bn#BmR`Rj=@2U46V43V44W3fzxjAiL)AoC1WC&A40^]]-0qwwc2S15W32O/2T?LIBK&SO/01',&T' /01',&T$ /01',&T* /01',&TP$ /01',&T ($ /01CJ @  /3/333/2015353'5!;;;[[ZZ99',#'+/&@+-,*%&)(// r'' r+22/+22/901".54>32'2>54.#"77'7'73)8_E&&F_79^F&&E_94V44V44U43V@)-3(,,)> +Ka67bK++Kb76aK+<8a9:`89`;:_73R9>z9F&Z!/01F&Z/01F&Z}$/01F&Z~ "/01  &^/01K+5'@r r r# r+2+++201#"&'#3>324.#"32>5(E\67WEET=:[@"F-Q6(A1 19)D35cL-6$(:0Pa18`<"8 -$#"-rKSh?xWXx>J66_blXdUKN(e3(@ ! / r r r%r+22++2+2901534>323'.=#".5.#"32>i=lEAgD   j96[C% :I$*D16F)83"i..J{JE1>x 6 33<,La$;## /01*&, ' /01(!&L7 /01*9&,*İV+4(!&L; /01Y&-/01K&M /01,!@   r r+2+29/33/3015!'#!#3!,2E[FF55:L<@  rr r+2++22990153#4&#"#3>32D>:&K9 DDo?-?'i..#XY'C+:E =Q3&./01 & /01 &./01&/01&. /01 & /01!J&.J&N  V+4Y&.+/01K  r r++0133KD Y&./KKp&NO&/ /01K& /01Y9&0ΰV+4K9 &PΰV+4K  @  r  r+2+2901!#33pDD%M h Y9&13/01N&Q*/01Y99&1 ΰV+4N9&QS ӰV+4Y9&1HNC&Q V+4Y9&1{-fN*&Q{  V+4@ @ rr+22/3+2/3017'%3!&1F('x> $@   rr+23+22301'7'33267#"&5!D$ 7.7!'''7 6/Y&3> /01K&S/01Y9&3* ΰV+4K9&S ΰV+4Y&3/01K&S/01&S,%/01YK@  rr++2/3901#33#"&'732>=F5E-F'!:"'*CK".F(. +$KK%@rr r/2+++29901"&'732>54&#"#3>32h!;!'*6:(N; D>DV.+<$,F. +>\U'C+ v&9 ;S3.H(*&4( /01',&Tc$ /01*&4/ /01',&T+ /01*&4 ,( /01',&T ($ /01*X2%@r)r rr+2+2+29/3+201%!5#".54>325!!!!2>54.#"X(OghLwS>5S1>3Uk7:jS13Uj7:kS1'*:C%@C?3r##+ r+223+2239/301".54>32>32!3267#".''2>54.#"%.#"(HuDDvI3XBwOIpDB7X46[:DX12ZGDV15V33U54V43V6U33S3 GzKM{H)I3NWCyR6X44*&;!)I13I'<8_:<_89a;:^79X22X9Yg&7/01KO&W/01Y9g&7ΰV+4I9O &WΰV+4Yg&7!/01KO&W$/01 =&83./01 &X,/01 =&89./01 &XS2/01 L=&8 L&XT =&88./01 &XS1/01LQ&9LE&Y.Q&9 /01k&Y!` @  rr++9/333015!###5!L*E?455Tx>F@  r+2?3333/30153#".5#53533#3267!4"03HHDxx%.-- -!u66O&:/01F&ZI/01O&:/01F&Z]/01O&:!/01F&Z%/01O&: ,##//301F&Z 0''//301O&: /01F&Z "/01OK&:FJ &Zi  &<e/01&\/01{&>/01  &^q /01{&> /01S&? /01&_ /01S&? /01&_ /01S&?/01&_Z/01 )@ &&r! r+2+29/301".5467!.#"'>32'2>7!mGy]3K,GY30WBBYr=DxZ43[wEEpFHs7bJ 9bH(#?)3N-9cLKa7?EwMLxEK&@ " r/2+29/33301"&'732>5#5354>32.#"3# ;"'*II%E/:*/2-F. +6K@\11 JFM6Q.F(*&4~ (#V+4',^&T6 $ V+4O&:I V+4Fq]&Z  V+4Y &3@ r  #""!& %r+232923?33?3+201%!5!!)32#4.+32>7#'%-"pqLSh?xWXx>hUU'c2b7Q>7>_blXdUKN??UUY &3@#""!& %rr?2+2+232923?3301332#4.+32>!5!!!7#'YqLSh?xWXx>][VUU'c2c_blXdUKN3.X3??VV(6/9@A@$0669 =<<;@:?23r+ r  !r+2??3+29+22923?33014>323'.=#".5.#"32>!5!!!7#'(=lEAgD   j96[C% :I$*D16F)83"\[WUU'c2bJ{JE1>x 6 33<,La$;## /01  &^Q/01K  r/+301"&'732>53 ;"'*D-E. +$.H($%@ "" r r+2+29/301".'467!.#"'>32'2>7!"KvC6T24Y;BY39_F'BtL4Q46V I{I8W24)&:"+Kc8IzH43X89X2E _E E`"Ta1l /901'73^-;Hl]#K| /3201526544#'22K"#/%%.#K|  /3201"&5463"3|&33&K.%%/#*p!*p!Wp//01#<i6W/3015!6!//E  /0153E; E  /01'3]; W~//01#<i+u2yp#K5J,vj/222201".#"#4>3232>53*"*$'%*'~!"+l!1l /30131G<,]1l /201'73^-;Hl]*p!/39330173'*b2c'UUUU??:vx@ /2/222/01".#"#4>3232>53*"*#'%*'~!"6W/2015!6!//+u  /32012673#"&53!)9))9*"&*;;*(2yp/01532>yaa=y  /220153353=:[:y^^^^`w /3201'>32'>54&#"&!"  &'  #K   /32014632#"&7"32654&'22'&3Y%//%%..V+l!/223301'73'73P%9@*&9@l]n]*p!/2923017#'PUU'c2b??VV%l/3332013'3?9%@9%]n]+u  /3201"#4632#."*9))9)!(*;;*&"Ta/99013#57^?@FF@2 /2017267>732!& : &03 !  2Wp/01532>aa=W  /3320153353=:[:^^^^99x /9017#53<?JLLJ#L  /3201"&'732654&'7=&!$$"'08' '3'(-5J /32014673.5--)%'%+/i;-- +h  /32012673#"&53!)9))9*"u&*;;*(6W/3015!6!//2"E/301532--p@ rr+222+201 !5!ao55x6--#@" r,,r+223333+201353.54>323!5>54.#"-8R,1XxFGxX1,R82M7$C_<;_C$6N1>]tAE~b99b~EAt]>>>T_05fR11Rf50_T>>K,! !#@   r r rr++2+2+2901332>733#.=#".'KD=>'K:D >N*2 YX#A+HO< B#;"&4 @  rr r++233+201##5!#3267#"&5BP n   7-65>>!7 6/lY6Y6&l  /01#!@rr r+2++239/301"&'732654.#"##5!!>32+!HR,M0._.D/c1Cg;u9OR8L&==7gHplY&/01*'@ r r+2+29/3901".54>32.#"!!32>7zH{[2,XSa!7FR)<`C%M*I_7*WJ:^r?!32+!%32>54.+&'9'Le32cJ'7C 9G F?>/l6a?54.+YFoFrr2cJ9G E?1oZ8_8W;*D&%@(@ rr+2+239/3013#5!!>32#54&#"*^3ppDMY1b==jsUOY`& /01]& /01oy&/01Yxa @  rr/++223015#3!3#?F}E刈x: &Yn @ rr+2+29/3013!!32#'32>54.+Yjup1cK:F G@>mW9]7>*C$$?'Yo'Yrr++2013!!Y>x&x@  r+2/233301532>?!3#5!7!!&+U>D&.gxƈJiY6*)@  rr+22+229/33399013 33333 ####RaE`RQbEcnX<<JJ--@' r r+2+29/3901"&'732654.+532>54.#"'>32 It!6V8LY%D0DE%8 #?*3N3gH=[552?E/S86WbA>Y0] @  rr+2+29901333#]EAEMf:[]p& /01Y` @ r r+2+29/39013333 ##YFkQVm<J&~@ rr+2+2/301!!#52>?!9 :T:'<*o/>(d:Y2Y-*4Yq@ rr++23013!#!YFt:xYR5*(Q9o@  rr+2+299015326?33#-MI*&;A/)$*#-@- $?223?22301!5.54>753'>54.'tDx[36\vBBCx[45]wAAHwG+J^sHwG*J^4B.RqDHqQ,55.RqEFrP-B|?pM;\A#@pK;[B%s=Yy @  rr/++233015!3!33vFzEVxxE*@  rr++9/3201!#"&=332673:D'vpDQ[3aD2  gpSLU:Y] @  rr++33220133!3!3YFFExx:Yy@  rr/++23333015!3!3!33tFFEVxxx@ rr++29/33013#5!32#'32>54.+ѾMf43dK;G!G@<6bA;d:;-I(*H,Y @ rr++9/3323013332#'32>54.+3YFMf32dK;H!H?E6bA;d:;-I(*H,;Y9 @ rr++9/33013332#'32>54.+YFMf32dK;H!H?6bA;d:;-I(*H,0)@% r r+2+29/3901".'732>'!5!.#"'>32N+QD:%cQW.1Z}'J4,;0Tl::3eO08-#DW=g~BEg=Y&!@ rrr r+2+++29/301".'##33>32'2>54.#"eZSFFUUaRV\Nq?BrJLo=?pSceP]jqV?MV[HKWZIA$@ r r+2+29/39013.54>;##*#3#"AMS9hHE 1N*&I-nL9]7:$a($@,,D(!F;9'@  r r+2+29/301"&54>?>32'2654&#":~ >[;_L:?>nHLq?6V1J %@ %r r+2+29/39013!2#'32>54.+532>54&+J,<(&-8)G.+(ű(/% %:!*C D0*>"1,+/,$6J r r++2013!#J7 =4( @   r+2/233301532>?!3#5!7!# &SF=b4yF{^4yyZ]}I'-J& )@  r r+22+229/33399013'3353373#'##5#&ðMDFFNOFFD +@%r r+2+29/3901"&'732654&'#532>54&#"'>32Hf8H3=I:359$75,;4[=2K+$ .32X72#'8/+4/('0#".4!=+%?F//D$J @  rr+2+29901333#JD==DT[J&x /01J @ r r+2+29/390133373#'#JDNNPN  @ r  r+22/+20152>?!##*!RD/D>F{_ZlT$Jr @  r r+2+2901333##JFCA, gF]J @  r r+2+29/30133!53#5!JD*DD ',TJ r r+2+2013!#!JD 4K+AU'H @  rr+23+013#5!#ͺ==4&  @   rr+2+29901"&'7326?33#  .HD,2 042A=/<'+$/%@ r/ r% rr++223+223+015#".54>;5332+3#";2>54.+;Mr>?rLDLr?>rM[6T0/T7T/0S7HuFGvHHvGFuH7]98\55\89]7 ]J' @ r  r/+23+2015!3!33`DDGyy 33: @  rr+2+9/301!5#"&=3326753u F(VWD9?#FDX[F@ J @ r r+23+2201333333JDED 33J @ r  r/+233+22015!333333lDEDGyy 444. @ r r+2+29/3013#5332#'32>54.+YZ(M:)23-9[J0N.6!53J[ @ r r+22+29/3013332#'32>54.+3JDvY[(M:{r)23-pD [J0N.6!53J @ r r+2+9/3013332#'32>54.+JDY[(M:)23- [J0N.6!53&#@ r r+2+29/3901".'732>7#53.#"'>32.WF7Y/5T60R9/Q5jK?aC"$D_ 8(0.5Y40/T5(15B-M`13aN.K&!@ rr r r+2+++29/301".'##33>32'2>54.#"Di?hDDh@iBMp>?qK6R-/R43P,-P >mE Hl;#5#735#"$5A*M4Dtx4>3MC-F*;-.@'-&JE) /01'-&Jl *& /01G-#@!%%r r /2++9/322301".'732>56.#"##53533#>32B'0 )'7#C8@SDKKD!\wWF{]5J&/01'"@ r r+2+29/3901".54>32.#"3#3267+;`D%"Cb?Kj4Q/9S04U5.Y7z .Na31`M-B50)5T/04Y5.0?!32+#%32>54.+*!CpY[(N9/Dk)22-j>F{_UD-J*ZlT$90-J  #@r r+23+29/3330133!5332+5!%32>54.+JD D{ZZ'M;Ow)32-u UD-J*60-'@  r r+2+9/993223013#53533#>32#54&#"MKKDb@`RD;G@W2-{{-26hcNN?:J& /01J& /01& &] /01J @ r  r/+22+2015#3!3#DDyy 3yZ@ r+2/9/32015!332#'32>54.+|ENf33dK:H!H@*776bA;d:;-I(*H,'@  r r+2+99//3333013#53533#32#'32>54.+f{{DZZ'M;)22-..[J0N.6!53 !@ r /22+29/3399013 ! ####!!OcEcalZHH& !@ r /22+29/3399013'!#'##5#37!&̶R #*|',} @ rr++93301!3>;#"5I76) !"82<"$/ @ r r++9330133>;#"E73% !  9c406&r]lp& V@ V /01+4JlR& V+4R@ rr+2+9/32015!332#'32>54.+GEMf32eJ;H H?D--6bA;d:;-I(*H, @  r+2/9/32013332#'32>54.+'5!DY[(M:)22-Yw[J0N.6!5366SL '@  rr++29/33333013!2+32>54.+7S&.M8 4[>*="'A($$&AO):g@D.J+,J+C+:(,'@ rrr,++*)) r+23323+++201"&'#3>32'2>54.#"?NBgD= g;6ZC%"?WG*D16F)83"6GP!" D2e1=-La47bK*<#ƏxJr r++3013353#J> y4 @ rr++29/3015!!!v<11>x  @ r r++29/301'5!!#97.. =4YG@ rr/2++29/301"'732654&#"5>32%!!n*+!GSYV.Y..b/qxuw :^aag>{|w>xJH "@ !r r/2++29/301"&'732656.#"5>32%!#7!"K@#>)&?#%H,8U0-Y7. bTCQ$:2fONt> =4y3@  rr/+2323+229/33399015#53% 33333 ####/nMRaE`RQbEc>ŇnX<<JJ&  3@    r r/+23+229/33399??015#53%'3353373#'##5#,iðMDFFNOFFDyy54.#"'>32/S86WbA>Y0L&|DYy{'@  rr/+223+2/9/39015#53%333 ##=/mFkQVm>Ň<JJ %@  r r/+233+29/39015#53%3373#'#*gBDNNPNyyK  !@ r r+2+29/390133373#'#7#3KCKMh$$  j'@  r r+2+299//3930153333 ##ElQUnD--<J )@r   r r+2+99//339+0133373#'#5!CD@NP@"PD--!@  r r+222+29/390153333 ##ElPUn<>>:L<J @ r  r+2+2239/301'!3!53#5!D7[D*DD==4 Y!@rr+2/+2/39/3013!#!"'732654&#"5>32YF*+!HRXW-Z..b/Lg6u:xw :^aag>=tR|JHC $@r r /2?++29/301"&'732656.#"#!#!>32{7!"K@#>) E#DD%N&8U0-Y. i[DP$4 2fNSzB4)6F+@C'rr0;; r3 r+2+23333+2+201%#"&'#".54>73267.54>323267%>54.#")5{G0]%.\.Vn=.RqB Ag9Vg)7Q,Q^GsR,8nR"Hi)4`@OMCpCKp?\.44cZDz_6>I{NdO^{GaU2ZxGHb2!M}T OU[x;Fz;2B-@3%rr,;; r/ r+2+23333+2+201%#"&'#".54>3"3267.54>323267">54.!]1 : @!`O$?S/ +C(;lJ  ?E@rKJm<]Z  /F 7T.&J38Y40O( IR3]G)66[8@i>!yMJqA?lEU$0W81[B ?_8?R(*u'5.54>32.#"32>7\DpR,-V~P_ 7FO'@bC"(Ha9(TI:Oc2Cg|AA}g=WD"/73Ui6;lS1:.0E('"@  r! r+33+2015.54>32.#"32>7 Ch;BvMIpBO04V34V4"?/C 8L-yqLvDJzHC9(-6^<;`9)!7#pyQ&"!  V+4 &!  V+4{>+ @ rr++2901533GB6 u#@   rr++29/933301!5#535333#LM쒒1~B1 + #@   rr++29/3333015#535333#wwFBuuհ%1%y"@   r r/+223+29015#533 # # X/mNNO>M5+^h "@  r  r+233+29015#53?3#/#W_MMMyy<yI!@  r+23233/3301+5!5!3!33:F)FmFU>xx "@   r+23333?3301#5!#5!3333ǴEwDDG==y 33Ey&" V+4: &!k V+4E*&#G: #@  rr+2+9/3/33/01!5#"&=3326753'#3t E(VWD9?#FE$$X[F@ _ Y>@ r r+2+9/301>32#54&#"#9E'voCQ[3`D  gpSLKM909%@,5 5' r1r+2+29/33/3901467;#"&2!32>7#".54>"!.. 1+dQPWFz\4,GY30XBAZr32!3267!.#" ! ,%UCDNo4[E''D\3LtBC7T04[<AY6T31U5O+ 16+Kb87aI+JyH8W34*%7#".54>"!.>6- 0,cPPWGy]3,GY20XBBYr=EwZ43[wDDpEHsB1%"==H7bJ 9bH(#@(2O-9cLKa7?EwMLxE1:'@22&&7r* r+33+29/33330157467;#"&".54>32!3267!.#"Q=" -%UDDNo3[F''E[4LsBC6U03[;BY5U31U5yy+ 16+Kb87aI+JyH8W34*%54.+#33:3) $4)G^4WEEG QFl>/Q<,Q8;lR0=hPIm=J> !@!r r/3++29/3301#"&'732654.+#33:735P-&A, *+1T4;DD2 NPpB<[2;I;Bi> &l& 9 V+4l8 & V+4Y.&uJ= &Yl& T V+4JlF & V+4Ey*@ r r+2+23/9/301!#"&=332673#53#:D'vpDQ[3aDh?M2  gpSLU:>: @    r+2?39/301535#".=3326753#)HD$:O'A:@#DCOy)R;GB yYl]&  V+4Jl &1 V+4K  y& /01!&_9/01 &  /01!&l =9/01!Y6w& /01'-&w& /01C$&l .*/01$&m *&/01&H /01&& /01-&t 2. /01&: 0,/01- !@  r r+2+239/33012#"&'732>54&+517!5! C`<>lFM|"6^;6M+`^E$7$ @rr+2+239/3301"&'732>54&+57!5!3Mz7X<:M'hd7qv">VB</.+N1PX1==u^2U3232>54.#"WSKzX02[zGKyX02Zz&Fa;hCGe:h:kS13Uj7:jT02Uj','@ $r r+2+29/30175!".54>3232>54.#"P8_E&&F_88^F&&E_3V44V44V44U4##+Ka68aK++Ka86aK+ :_78a9:`8:_*&| 0,/01',&} ,(/010& .* /01&&n ($/01o&sy/01& &sI /01o& /01& &j  /01o& /01& &  /01E*&  /01:&^ /01Yy&"u V+4J &!X V+4Y& /01J[& /01/@r /2?33+29/301"&'73265#53'!!5!* 42k&FAv=LE>?A]2>x<11= @ r /2?33+29/301"&'73265#53'!#'5!_) 3/G&E.688J=<==W. =4..,@ r/2+2901"&'732>54&/# 33+1"P PO)!0M= 3#J*cc04[%4M,> "@r /2?+2901"&'732654&/#3?3=  %.!&A MLMR+.*C;<,(L+N `3c00L+ @   r+2/9/339015!3 # # ahNNOG--5+^h @   r+2/39/9930175!?3#/#6nIJI..)-@ r' r+2+29/3901".5467.54>32.#";#"3267DjHg3N4,C$"<&ED0E$XM8V6 v 0Y>AbW68S/>7").":'$:#8$A*BO0,!8?#/@ "r) r+2+29/3301".5467.54>32.#";#"32679Z32.'2V3+F41 %1:H-?<3:#>)4J8i$D//A !.+=!+.((67','#27&.~&u= &*6(+V  < \Ty&"'  V+4C0 &!  V+4Yy&N" V+4KK&O!  V+4.&= &&y&"9 V+48 &!  V+4*L&('39/01'L&H'5 /01YW&)İV+4(W7&I1ذV+4Y&)V+4(7&Iq1V+4Y6R&*'x //01'-&J&c-&& //01Y6R&*' x //01'-&J&c*&& //01YL6&*''/01'L-&J'A /01*&,' /01(!&Lg7 /01YW&- KW&M ΰV+4Yh&-Kh&M! ذV+4\&.'5 //01&&& //01YW9&1ΰV+4NW&Q] ӰV+4Y9&1?&Q V+4YW&2eKWR&Rz& ΰV+4Y&34 /01K&S/01YW&34 ΰV+4KW&S ΰV+4Y&3 ΰV+4K&S[ V+4*e&4'2D(( //01',&T&P@$$ //01*c&4'HD(( //01',&T&PD@$$ //01*R&4'x/(( //01',&T&c+$$ //01*R&4'2x,(( //01',&T&c($$ //01YWg&7ΰV+4KWO &WΰV+4Yg&7V+4O &WV+4 =&83./01 &X,/01 W=&84ӰV+4 W&X-ذV+4 =u&8'733.//01 &X'0,,//01 =u&8':88.//01 &X&S311//01 W=&8'4ӲV7./01+4 W&X'0-ذV+4/01WQ&9 ΰV+4WE&Y~ӰV+4Q&9m V+4_&YV+4Oe&:'46//01F&Z&I://01OO&:'x"//01F&Z&]&"//01  &<|/01&\/01  &</01&\P/01  &<f /01&\ /01{&> /01  &^/01WS&? ΰV+4W &_ ΰV+4E&Y  /01KS<!@ :2-(r"r r+2++2901"&'732654.'.54>7.#"#4>32?n)+Z1=L%E07I$0Sh6 .G+;Q+A%D\5?_;:fL+7) /01*&E8 /01',&FP= /01*W&E&9ΰV+4'W,^&F5ɰV+4OW&:)ӰV+4F\ &ZɰV+4O&:L$/01F&Z(/01O&G4*/01Fq&H./01O&G-/01Fq&H1/01O&GL4/01Fq&H8/01O&G3/01Fq&HI./01OW&G)+ӰV+4F\q]&H/ɰV+4{&> /01  &^/01W{&> ΰV+4   &^%{&>/01  &^/01{&>l/01  &^=/01Ae0A0/20175!Ar??A0/20175!A??AD0/20175!A??AD0R@ /99013#57|Cjggj@ /99017#53GB kffkPf/99017#53VBhhffh@ &TTy@  @  /329017#5337#53GBWB kffkkffkPf @   /329017#5337#53VBSBhhffhhffh'~o  //9/33301#5333#Ar>'>)~q@  //9/33322301#535#5333#3#A!?n?|?n?V  /301#".54>32 ))))Z))((Ab @   ?2332301353353353A;L9M:bbbbbb. /?O_e5@`eeP@@XHH8((0 rcbbr+22/32/3+22/333232/301".54>32'2>54.#"".54>32'2>54.#"".54>32'2>54.#"  )D))D))D((D)--,-j)D((D)*D((D*----{)D))D))D((D*----#&B'(B&&B'(B&'00//&B((A&&A((A'(/00/(&B((A&&A((A'(/00/T[E  /0153E; E E&__)B!@ /3/39017');;?B8@ /3/3901%57'58;;(rrr+2+201'  #T[&*%! BD?2201".54>32'32>54.#"0H02G,0G01G!A0$7$"A/$7$%=F"$G<#&=G!$H:#%I006%I0/7b* @   BD?29/3333015#5733#'3599g*+gV*&@ # BD?329/3012#"&'732654.#"#>73#>+E),J,1P@'0B!38)   0 9%(327.#"32>".54>32s*I/(HG8%<I-N^\I/K, 8"!7!"7!!6&=##KT "%vwP[%?;,++,[* BD?201#5!#A3,q&g*+:@  008B(D?329/33301#".5467.54>324.#"32>'32>54.#"g,J,.H):".+C##B+,!(5-#55"$64"..-&= "5 6 '2 ) -- * 5!!!$$# k**@  #BD?229/301"&'73267#".54>32'2>54.#",K<%9FH)-I+,K.I]^H!6!!7!!7 !7&"TK%$>%'>%[Pwv,,,,&?%! BA?2201".54>32'32>54.#"0H02G,0G01G!A0$7$"A/$7$U%=F"$H;#&=G!$G;#%I0/7%I007" E@ BA?3322301#53#52>73 Y$+$-$,,5 ,$^D"@  B A?229014>7>54&#"'>323$8*?+33!2" 'F0II+1,-P4E. %, !D3+**,#_D,@ &BA?229/3301"&'732654&+532654&#"'>32>U!8$1DRC?H?+)= -: ,E)/,.8-IU0)"' #(("! '"2#, 9&"1b? @   BA?29/3333015#5733#'3599Pg*,gV?&@ $$# BA?329/3330172#"&'732654.#"#>73#>+E),J,1P@'0B!38)   0 9&'327.#"32>".54>32s*I.(HG8$= J,N_]I/K+!7"!7!"7 64&=$$LS"%vvQZ%>:,+,,[? BA?201#5!#A3,q&g?+:@ 0 8B(A?329/33301%#".5467.54>324.#"32>'32>54.#"g,J,.H):".+C##B+,!(5-#55"$64"..-&="5 7'2 ) .- * 4!"#$%#!lB*@  #BA?229/301"&'73265#".54>32'2>54.#"-J;%:FI(-J*,K-J]^I"6!"6" 7!"7U%"SK$$=&&?$[Pwu++++( $(,0)@*/+-- r#%"'' r+2332+2332014>32.#"32>7#".#53#3##53#3#(BvLJpCO04V34V4"?/C@W38`F'F%%%%%%%%JzHC9(-6^<;`9)%;!+LbJ @ r?+29/32013!!!!'5!ytO&>:6616:>@7:>;; 6(/ r r+2+229/32017>54.54>32.#">323267#".#"!!!!3/6(1S17`'N* 4'.&$/,*855;PP*.G? -IBD&/N.81*)1 5!!?@K/!?B* 4 +=*%%"@   r ?3+29/993201!5!5!5!%#33#%F:FA+>+O;Y 2^=@ / r #++$(PI (II( :3 r'' r+/33/+29///33333+201332+32>54.+#".5#53533#3267"&'732654.'.54>32.#"Y.L93\=WS*>"(A'Mv"03HHDxx&-;d%(S-9G#@,2C"0Q37UG+6"4&7Q,e&AO):g@D.J+,J+ -!u66Z*+0)%1.  !3)3C#&". '"  !4/IR)4 !=@   !r?3+9/932233333301!5!3!!'!5!3!!3733# #3 CDCCdeC}K>>K>++p**u:_A)L,04/@  2233 (--0/33|/33/33|/33/3/3014>323'.=#".%5.#"32>!!!!B6a=AgD   i;@e9 9J%/G(-K.93"R#.C=h?E1)6 32=AiQ$;#1O-0K,$/+*!,!@ ( r r+2+29/9932017!7!74>32.#"32>7#".!7+8-V~P_ 7FO'@bC"(Ha9(TI:\q6IzY0 ++++8A}g=WD"/73Ui6;lS1:.5J&?i @  r  r+2+29/930175!33 #8FM1O55drdQ@ r r++23015%5%###5!?0F@''''>x>R!&@! r?+299}//33201!!!!!2+32>54.+PPJ&.M8 6K.*>"(A'/+=*c&AO),P@%D.J*-J+*/(.0@.*++r# r+2/223+2/2239/3?01%#3".54>32.#"3267#53#]....GzZ11XxGi"6"rF;_D#(Ja8At5eZ;W=hDHd:VE$B>2Tj954&#"'>3232677!%7!*kf/JTI0CI+N!'\>ha0ITJ/EO0P#&^oUO1L<65?(352QJ2J;55@*783/ V */,'@( r r+2/233+2/22301%#34>32.#"32>7#".]....-V~P_ 7FO'@bC"(Ha9(TI:\q6IzY0A}g=WD"/73Ui6;lS1:.5J&?iQ @  r?+23}/301!#5!#5!@@??>>+@ r ?+992330132#32>54.+!5!5!5!+^.L9'G0O>*="'A(Zxx&AO)3Z> D.K*+I-\*E+"#@r?2+9013332>53#%5%5%`F4> F0[Kkkx,G48\B#3334O@   ?3/3933/3012#4.#"#4>?zRrG F3YDBX4EDt9..N4Yt@/\K,+J\154.+M1N70[A1=!A/>>y77&AO):g@D.J+,J+H-&@ & /3?39/3017>54&#"3267'#"&54632w#A4=2!6605  $!&0Ygd):H";%26 7"")*'QTJYa )!@  &r?+22/33/3?9901#33#".54>32'32>54.#"F6F=?6Q-.Q46Q..Q!8""7""7"!9!DN;\2T/2S22S2/T2$<$%=$&;$$=6 23@'*-0  $0 0?33/3292/3/90173#5#'#3.#"#"&'732654&'.54632UC0T(T0B * *1;@1$>4" ,13?02 ٯ)  %,('$ "')+>)@   r+923333301##5#533#5#'#3,_0_C0T(T0BU0ٯ--!@+-r! r+2+2233330173.54>323!5>54.#"!-8R,1XxFGxX1,R82M7$C_<;_C$6N1>]tAE~b99b~EAt]>>>T_05fR11Rf50_T>>+: @   r r+2+29/301%"&'5!4.#"3267'2!5>21WCwNMwCBwNKi#`E2XW-&L}KK{IH{K0#,.(|}'." &'c#s"(U;@O:77)@HH)#((1) &%% /33/293/3?33/33/39/33014>7>54&#"'>323  "&'732654&+532654&#"'>32#7(?*22 1! 'C0GG+/+,#>U!8$1DRC?H?+)< -: ,E)/,.8,JG4E. %+ !D3*)*+T[0)"' #(("! '"2#, 9&"1"&'c #&'c  w&'cv ,&'c+ !2@ + r"r+2+29/301".54>32>54.#"'>32'2>54.#"@c8'DY2>](H2.T'!i:moDxO(A1(F+0S3(F 7]9/VC'>8$$Yg- )&'\<4@!)C(1Q0*D(',)#'@ &% $' ?22?3201".54>3232>54.#")8_E&&F_79^F&&E_3V44V44V44U42 ? +Ka67bK++Kb76aK+ :_78a9:`89`;`@ rr+233+201%!53 `:555x6 @ r /3+23301!##5!##BRtPB>>  !@   /333/9933301!!5!55!G].3@-D C/2015!D 88Urr+2+201'3*"TA|f/201753A;pp  @  r+2/9/3301333 3#gGGvBmm3-/? @0<$ 8(/2232923012>32#".'#".54>2>7.#"!2>54.#"'4&$5&0F&)F.$4% %7((H-*G,,  + //6.. + +//-K.-K----L-.J-130&&11&&0 40 Y$4  /3/301&632.#"#"&'7326'b408 #  )4/6  /? 0%"4: 0&"Ao|-@ @%)/3/22201#".#">3232>7#".#">3232>7Q*,& '/  *,& '/  e $   Q $   SJ @   /23/333/3017'!!5!!l8--]11>= @  /322/390175!%%?B>=99BBomDA= @   /322/390175!57'5AC?=99DmoB @  ?3?3901# !IànlB99x /01#7#53_#?JLLQ31@ +$r2/3 r+2?3333333+29|/3013#5354>32.#"3#3#5354>32.#"3#dHH%I5#9)) HH&D0:)/46,P23 "(6-6@\11 JF6-@ r r+2?333+201#5354>32.#"!###dHH-E0%;, ?%*5DD6%H<$ 1+B"-I) @r" r  r+?333+2+201"&54.#"3###5354>323267.6/*'2nnDHH(P32.#"3##5354>32.#"!###dHH%I5#9)) HH-E0%<+ ?%*5DD6,P23 "(6-6%H<$ 1+B"-3D@@  #6r= r(11+..- ?2?3333333+2+29|/333013#5354>32.#"3#"&54.#"3###5354>323267dHH&J5$6&) ,/6/)'2nnDHH(P@#TTJMM<+A&F!0Jr80 r\ Y r` r+2+223+2+293333/301%#".5#534.#".#"#".'732>54.'.54>32.54>323#326#/3II((@2 !M$!='+2$G:##:H%*PC,]0!?+/5&D39Y.!B G=5<vv%.P7 -!u6KR 9+4)("*$$4(*;$#/#$*$#2&9D 0#%>&8U86 @  r+22/3901# #33IINLо:Uaa*-@ $## r r+2+29/301".54>32.#"32>7#5!|J|Z22Z{JY+7+8C'qX2K&/01! 3@ r' r0 r+2+29/3+01!5#".54>3254&#"'>32'6=.#"32>$l:1N.'?N&6PNE'T,,c6D]0U#J$:0#9 @7R0,+I.)<& /CS -'4^=sU *"4 ("&"@ rr&  r" r+2+29++01".54>3253#5.#"32>77ZB$%BX3AfDDb6E)*F22V7*E3 ,Ka58bK*C4ji3@Z'="%=K&8_:!;$('"@r' r" r r++2+29+01!5#".54>323.#"32>7d96[C%=lDBd DD :I$*D16F)93"a0;,La4J{JE1>&T%;"#=K(*L; #0K+r+2?013#3#KDDDD&[Q  rr++0130*#QD &(,7/$@rr!" ' r r+2+29++201".54>3253#.5'2>75.#"5W>"&C[4=g=  !Md)C3"2:+E41T ,La57aK+?0f};$v>5F @ r r r++2+29901!5#".5332>73AQ*3D%D63*I7Dr&8$?Q-21P0'A'H' @  r r+2+93301! #333(GGAG^ LL+  @ rr+2+9901 #73 LVH " 6'eR7@CC=:r,++'0 rK H rO r+2+223+22/3+22/392/301%#".5#534.#".#"32>7#".54>32.546323#3267e"03HH,*31BP1*E14E)?3CEX-;`E%$B`:2ENJ,;7. ,)$/2?9/93339<<<<0133#'!34BLKv$ܥT$&@ >/3?39/3901%#!!24.+32>32>54.#-M/!)= ,(3;?-0,*)@$$)A")EJ),-m,*,1'# ??3?3014>32.#"32>7#".,%IjDOr2b05R7!;P0!F<5M_.=gK(2`P/C5 6)&?N(,P?$+#(91QeT?$  >/2?301332#4.+32>T_@GX4cHId2$J{LS|D@a8L9dT$ @  > /3?39/301%!!!!!m#88$84T$ >/?39/3013!!!!T$86,4'!'@ $## ?''/22/?39/301".54>32.#"32677#53#B?2/39/301#5!#3!5->>>]$$T# >/?0133T>#\#  >??301732>53#"'&;$<:> (OBM5L 3cG>gH(!T($ @  >/2?3901333#T>DFJl#6 bT$ >/2?0133!T>K$8T$ @   >/2?3901!##33c$>AAOM$lTI$ > /3?39901#33#>0?6Q$I,]''# ? ?2?301".54>3232>54.#"E?gK(*Lg=>gJ(*Kg:Q02P8 :P/2Q9/Oc57cN-0Pc37dM-+O?$&@N)+O>$%@NT$  >/?39/301332+32>54.+T4R-+M5#2 6!$4O+-P2!6"5 ,]''+@  ?((** ?2/23/?301".54>32'2>54.#"73#E?gK(*Lg=>gJ(*Kg<2P8 :P/2Q9:Qa>>/Oc57dN,/Qc37dM-9&@N)+O?$&@N)+O?$zT$@ > /2?39/3901332#'#32>54.+T4Q.!;(H"36"$4O+'D0!7 5!$'.@ '+? ?3?39901.#"#"&'732654.'.54>320=#KG#H8>[1:M/Ex1?O-BO(N;=S*6`=;^$3-# ":1'9%''4!-, ( !7,3G# $>/?3301###5!>8K@$ >?3?301%2>53#".53E7J*>;_EFa:>+H5%?N(7cM,.Nc4)O>$:$ >?2/9013#TB6$3$r$@  >?333/39013733# #373;ST;ioE7||8Dl $( $ @   >?2/390173#'#SFEF$ $>?2/9013#5XE?$"Y%$ @  >?33/33017!5!!!%zy&182F8x @  r+2?3/3333015333#5!7!???;Cʈxƈ:r/2+90133# ?H:s(#-!@- r$ r+333+333015.54>753'>54.'sDx\36]wACCw\56]wABJ|I,MauJzI,Ka5:56^OS^3555^QR^35o\J\GmM*JZFoM+Y++-u,*u>-L&z*LN +@ !(r r+2+29/3301"&54>32'2654&+32654&#"*jr/Z@8U/2,DK8aBINPJOO8GG8;Fqk*>Z2&I45JgQG^/:ULNRIRt>997>54.#"'>323267DZ--[C&/13G0aG3N, D7MNM?6T,"m <+09(&$'/<-,6#4.-'!$!,,(!L&0@  r+2/2/?3/3/9/33333013'333373#'##5#&ðMDFFNOFFD b$+@ %rr+2+29/3301"&'732>54.+532654&#"'>32Gt8S26I&&G4P==NG8*H5dERf8.FI8eB</.+O11H*5B=9@)/5A[P9NmOBd6F ZF&Zq/01FK P r+/3901# #0HD ; KSKRRFK @  r r /?3+2+299015'./#"&5332>73; "uDRTD=<(K:D 0yyD g@AP #f@,<& [VTB>\USB?v\USB?OF @ r r+2+9/301"&5332'2654&+goD1N88N1FLLFKjcB,C--C-:@:;?dEK V @ r r+2+29/301"&5#5332'2654&+gq1N88N2FLLFLjc 9,C--C-:@:;?dEKJ  @ r/+29/301753!#`7.. =4'?L-'L)..@ 'r r+2+29/3301".54>7.5463!#"2'2>54.#"*HuD'E/23TK42JDKvDEvI5U32V44V33U >nF4WB@)CD<',)3>mGFn><-Q67U//U76Q-0{'# r r+2+201.54>3232>54.#"VHnJ&)MlDImJ%)Lm8Q78T7:R59T7 Bk}<@i?Dl~:Ah?g4iW58[g/4iW59Zg*@ r?33+22/301%!53#52>73 #.06/E>>>E @%o/(r&/2+2013&>7>54.#"'>32!0-@(&RF+!D43O5-%?W:Jb1)AK!@L% ?`J7#*=.&@'"0,(,9\75I1$888>02@ +#r r+2+29/3301".'732>54.+532654.#"'>32?f@*2W82Q/8fF""ap-K,B^/EY0Dk= >-/G'Ep *J1&"A(#=),?";@@*>":+.$44X9(?+ 4K-`("@r r+2+29/33301"&'732>54.#"#!!>32 Ly.b:2O/.L0.T@PW2M,Ai=Bo K>"1<,M31K+*&?:eCEk;4/.@ ' r r+2+29/9301%4.#"4>327.#"32>".54>32/AoD-O:1X;8[,pGNvBBsJGrC3T32U32T33TCm@ :'bJ=3(=G^\GBou2T23S22T22T2  r+2?01!5!#L?:2!3C@8 ''@r0 r+2+2933301%#".54>7.54>324.#"32>32>54.#"EqCGn?+A"6 '@O('OA'!6 'A'E5? +Q34? +Q4/H"$G/,G(&G+>\39^:-I2 +:#,C/.C,#;+ 5H($7&%C.#6'%Dp&77'&67,&.@ 'r  r+2+29/330132>7#"&'32>54.#"72#".54>,AoD-O;1X;8[+pFOvAArLFsB3T43T32U22TBn@ ;&bI=2'>G^]GAou3T22S33S32T2&?k" El$^Dm#_Dnb?oV?p(sBq[?r&g?s!lBt&%! B ?2201".54>32'32>54.#"0H02G,0G01G!A0$7$"A/$7$%=F"$H;#&=G!$G;#%I0/7%I007" @ B/3322301%#53#52>73 Y$+$-,,,5 ,$^"@  B /2290134>7>54&#"'>323$8*?+33!2" 'F0II+1,-4E. %, !D3+**,#_,@ &B ?229/3301"&'732654&+532654&#"'>32>U!8$1DRC?H?+)= -: ,E)/,.8-I0)"' #(("! '"2#, 9&"1b @   B/29/33330135#5733#'3599g*,gV&@ # B ?329/30172#"&'732654.#"#>73#>+E),J,1P@'0B!38)   0 9&'327.#"32>".54>32s*I.(HG8$= J,N_]I/K+ 8"!7!"7 6&=$$LS"%vvQZ%>:,+,,[ B/201#5!#A3c,q&g+:@  008B( ?329/33301%#".5467.54>324.#"32>'32>54.#"g,J,.H):".+C##B+,!(5-#55"$64"..-&=o"5 7'2 ) .- * 4!"#$%#!l* #B/229/301"&'73265#".54>32'2>54.#"-J;%:FI(-J*,K-J]^I"6!"6" 7!"7%"SK$$=&&?$[Pwu++++&F%! BC?2201".54>32'32>54.#"0H02G,0G01G!A0$7$"A/$7$F%=F"$G<#&=G!$H:#%I006%I0/7"F@ BC?3322301#53#52>53Q!',-s--5-$G]"@  B C?229014>7>54&#"'>323$7+@+33!2" 'F0II,0,,G4E. %+ !D3*)*+#A_,@ &BC?229/3301"&'732654&+532654&#"'>32>U!8$1DRC?H?+)= -: ,E)/,.8-IA0)#' #')" !'"2"- 9&"2Kb @   BC?29/3333015#5733#'3599Kg*+gFV&@ # BC?329/3012#"&'732654.#"#>73#>+E),J,1P@'0B!38)   0I 9%(327.#"32>".54>32s*I/(HG8%<I-N^\I/K, 8"!7!"7!!6&=##KT "%vwP[%?;,++,K[ BC?201#5!#A3,q&Fg+:@  008B(C?329/33301#".5467.54>324.#"32>'32>54.#"g,J,.H):".+C##B+,!(5-#55"$64"..-&="5 6 '2 ) -- * 5!""$$# Bk*@  #BC?229/301"&'73267#".54>32'2>54.#",K<%9FH)-I+,L-I]^H!6!!7!!7 !7B&"TK%$>%'>%[Pwv,,,,A|f/301753A;pp1l /01'73^-;Hl]$K?  /2201"&5332673DJ2-/.+1JK@1(& 1@+Xp@ _/]2201".'3326731C"7)64*7"A3*'3=<  /201"&'7326=3T#  ,.DS;JI+=aal</33017#53 >&mH<. >  /201"&'732>=3k)'*F#F ;*M3&??^4l>/33017#53 >&mI></3015#53QQyy<y> /3015#53]]>2NV /017#3V$$N>+P,&FR*O*&P+R@&OOQ?3&YXQ &.3RP&/-/Rb &/&Pd+&Ql\/9901'7'\W-&n;"nd?W *)3  3   " Z      / G 4_     R: f fT  D  , }   4 uCopyright 2010 The Raleway Project Authors (impallari@gmail.com), with Reserved Font Name "Raleway".Copyright 2010 The Raleway Project Authors (impallari@gmail.com), with Reserved Font Name "Raleway".RalewayRalewayRegularRegular4.026;NONE;Raleway-Regular4.026;NONE;Raleway-RegularRaleway RegularRaleway RegularVersion 4.026Version 4.026Raleway-RegularRaleway-RegularRaleway is a trademark of Matt McInerney.Raleway is a trademark of Matt McInerney.Matt McInerney, Pablo Impallari, Rodrigo FuenzalidaMatt McInerney, Pablo Impallari, Rodrigo FuenzalidaMatt McInerney, Pablo Impallari, Rodrigo FuenzalidaMatt McInerney, Pablo Impallari, Rodrigo FuenzalidaRaleway is an elegant sans-serif typeface family. Initially designed by Matt McInerney as a single thin weight, it was expanded into a 9 weight family by Pablo Impallari and Rodrigo Fuenzalida in 2012 and iKerned by Igino Marini. It is a display face and the download features both old style and lining numerals, standard and discretionary ligatures, a pretty complete set of diacritics, as well as a stylistic alternate inspired by more geometric sans-serif typefaces than its neo-grotesque inspired default character set.Raleway is an elegant sans-serif typeface family. Initially designed by Matt McInerney as a single thin weight, it was expanded into a 9 weight family by Pablo Impallari and Rodrigo Fuenzalida in 2012 and iKerned by Igino Marini. It is a display face and the download features both old style and lining numerals, standard and discretionary ligatures, a pretty complete set of diacritics, as well as a stylistic alternate inspired by more geometric sans-serif typefaces than its neo-grotesque inspired default character set.http://theleagueofmoveabletype.comhttp://theleagueofmoveabletype.comhttp://pixelspread.comhttp://pixelspread.comThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFLhttp://scripts.sil.org/OFLj2-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a bcdefghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234NULLCRuni00A0uni00ADuni00B2uni00B3uni00B5uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccentuni0122uni0123 Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflexuni0136uni0137 kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146Ncaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentuni018FOhornohornUhornuhornuni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCGcarongcaronuni01EAuni01EBuni01F1uni01F2uni01F3Gacutegacute Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217uni0218uni0219uni021Auni021Buni022Auni022Buni022Cuni022Duni0230uni0231uni0232uni0233uni0237uni0259uni02B9uni02BAuni02BBuni02BCuni02BEuni02BFuni02C8uni02C9uni02CAuni02CBuni02CC gravecomb acutecombuni0302 tildecombuni0304uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Funi0311uni0312uni031B dotbelowcombuni0324uni0326uni0327uni0328uni032Euni0331uni0335uni0394uni03A9uni03BCuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0462uni0463uni046Auni046Buni0472uni0473uni0474uni0475uni048Auni048Buni048Cuni048Duni048Euni048Funi0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04AD Ustraitcy ustraitcyUstraitstrokecyustraitstrokecyuni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CEuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni04FAuni04FBuni04FCuni04FDuni04FEuni04FFuni0510uni0511uni0512uni0513uni051Auni051Buni051Cuni051Duni0524uni0525uni0526uni0527uni0528uni0529uni052Euni052Funi1E08uni1E09uni1E0Cuni1E0Duni1E0Euni1E0Funi1E14uni1E15uni1E16uni1E17uni1E1Cuni1E1Duni1E20uni1E21uni1E24uni1E25uni1E2Auni1E2Buni1E2Euni1E2Funi1E36uni1E37uni1E3Auni1E3Buni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E5Auni1E5Buni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Cuni1E6Duni1E6Euni1E6Funi1E78uni1E79uni1E7Auni1E7BWgravewgraveWacutewacute Wdieresis wdieresisuni1E8Euni1E8Funi1E92uni1E93uni1E97uni1E9Euni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni2002uni2003uni2007uni2008uni2009uni200Auni200Buni2010 figuredashuni2015minuteseconduni2070uni2074uni2075uni2076uni2077uni2078uni2079uni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 colonmonetarylirauni20A6pesetauni20A9dongEurouni20ADuni20AEuni20B1uni20B2uni20B4uni20B5uni20B8uni20B9uni20BAuni20BCuni20BDuni2113uni2116 servicemarkuni2126 estimateduni2153uni2154 oneeighth threeeighths fiveeighths seveneighthsemptysetuni2206uni2215uni2219 commaaccentf_ff_f_if_f_ls_tW.ss09G.ss11 i.loclTRKa.ss01a.ss02d.ss03j.ss04l.ss05q.ss06t.ss07u.ss08w.ss09y.ss10c_ta.scb.scc.scd.sce.scf.scg.sch.sci.scj.sck.scl.scm.scn.sco.scp.scq.scr.scs.sct.scu.scv.scw.scx.scy.scz.scuni0414.loclBGRuni041B.loclBGRuni0424.loclBGRuni0492.loclBSHuni0498.loclBSHuni04AA.loclBSHuni0498.loclCHUuni04AA.loclCHUuni0432.loclBGRuni0433.loclBGRuni0434.loclBGRuni0436.loclBGRuni0437.loclBGRuni0438.loclBGRuni0439.loclBGRuni045D.loclBGRuni043A.loclBGRuni043B.loclBGRuni043F.loclBGRuni0442.loclBGRuni0446.loclBGRuni0448.loclBGRuni0449.loclBGRuni044C.loclBGRuni044A.loclBGRuni0493.loclBSHuni04AB.loclBSHuni0499.loclCHUuni04AB.loclCHUuni0431.loclSRBzero.lfone.lftwo.lfthree.lffour.lffive.lfsix.lfseven.lfeight.lfnine.lf zero.subsone.substwo.subs three.subs four.subs five.subssix.subs seven.subs eight.subs nine.subs zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numrperiodcentered.loclCAT uni030C.alt brevecombcybrevecombcy.casehookcytailcy hookcy.case tailcy.case descendercydescendercy.caseverticalbarcy.case uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303 apostropheT\ #$+,, 0$+ hDFLTcyrlRlatn0 !"#$%&BGR VBSH CHU SRB  !"#$%&  !"#$%&    !"#$%&4AZE nCAT CRT KAZ "MOL ^ROM TAT TRK  !"#$%&  !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%& !"#$%&'aaltc2scccmpccmpdligdnomfracligalnum$locl*locl0locl6locl?GHJKLMPRSUWX[]_{"#&'&'->>LZhv &,28kdl}mvnwo ep fq gr hs itjn~n~&,4<FINOQTVYZ\^,>?NO,NO NO NON , +*)( '&%$ {QQ {11{{yz{|"#&'yz{|"#&'_N_N_N_N_N ,->?&',>?.V d}vwefghijOc&F4Tn~n~&4FTT3&?sF_ YYHX6 "(KQKNQNKKhFhFiFgIbOaQ]V[Y[Z <\Y^, NxDFLTcyrl$latn4kernmarkmkmk  (20\X* `` Bhx(<PJ8l !4!&&&''F'&&(J(+Z,,r,-.3B48b9T9;=>,>z>>??z??@@@D@@@>,A A(A^AAADzDGVGGIpIIJJJNJpJK !4 !4!4!4!4&&&& &(J(J(J(J(JR R----8bRT======>X:>>>>?XxXYlZJ@@@@@@]@]fAAAAGV>,GV==]^ >z >z >z >z _ a!4>!4>!4>a>!4>&bN&bN&bN&bN&?bl?&e&fd&fff&?'f'F@'@D'ghh''j&@&@&@k^k|(J@(J@(J@a>,A(,A(,k,rA^,rA^,rl,rA^,lJ,ltmA-A-A-A-A-A-r3BDz8bGV8b9TG9TG9TG(J=!4>R]f,rA^,r?@r!4!4ssxs&&tu'FuPv^v!4ww'F&&(Jx:xyz{^(J(J{||>|}AA@AA@@A>,}J}GV@~~DAA~DA@@A>>~J~?l@AGVA'F@'F@&@ >z8b(AA?&'FA?==!4>!4>(J@'FAA(J@(J@GVGVGVAA(J3BDzA >&?&@,A(,rA^,؂3BDz3BDz3BDz9TG!4>!4>ڂDb(J@-A8bGV8bGVڂ|·$|$JJ8@D@DA`XbA䜞Ȣ~ԧ򨌪ܮp(J AAA@@@A>z>z0b$P &/9;<=>[\^&(*89:;<[]{4BDdfh@AFGUX%  k &/9:;<=>?[\] ^_9&(*,.024689:;<=>?@AB[]9_`{4BDdfh92@AFGUX  &(,469;<=>FHIJKLOTVYZ[\]^&'()*+-/135789:;<C[\]^_`{|  4>?BDEdefghikz{|} 3@AFG&/9;<=>FHIJLTVX\2!#%&(*89:<C[\]^`z{   4?BDdefghik{} @F ;O[*CDE';=[]*DE;[*CDER&(,/468;<=>FHIJKLRSTUVWXZ[\]^_%   !"#$%-/135789:;<>@BC[\]^_`yz    %')/179>?BD Edefghikwyz{|} 3@AFG< &/9;<=>?At&(*8:<=?A[]{4BDdfh@FH &/9:;<=>Aqt{$&(*,.02468:<[]${4BDdfh$2@FQR!9;<>At &(*8:<] {4BDh @F# 9;<>At&(*8:<]{4BDh@F) 9;<>Aqt&(*8:<]{4BDh@FQR'9;<>Aq&(*8:<]{4BDh@FQR-&9;<>&(*8:<[]{4BDdfh@F;"&/9?fqt{&(*=?A[]{4dfhQRVY],&9;<>&(*8:<[]{4BDdfh@F  9;<>At&(*8:<{4BD@F;*D ;O*DG &9;<>[\^&(*89:;<[]{4BDdfh@AFGUX( $%;A[mnr~ *C_`U&9;<=>?AKXYZ[\]^_!#%&'()*+-/135789:;<=>?@AB[]z{| 4BDdfh3@AFGU;=*U;=A]*U[ CUK  %&(,/468FHIJKLRSTUVWXYZ[\]^_oq (    !"#$%')+-/13579;>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3AGQRUVY]ab;A[*UU U"AB[mr .C_`U$;A[mnr~ *CU\;=A]*U&/;<=>FHIJLTVX\]^oq!#%89:;<[\]^`z  ?BDdefghik{} @AFGQRUVY]a*&;=A]*[]dfhU;A[*C`U;=[]n *U; %[]mr 9.!%)C UUL  %&(,/468AFHIJKLRSTUVWXYZ[\]^_moqr'2   !"#$%')+-/13579;>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3AGQRUVY]ab1 %A[]mr*3!%BCU(,468AFHIJKLRSTUVWXYZ[\^moqr (9    !"#$%')+-/13579;C\^_`yz|   %')/179>?egikwyz{|} 3AGQRUa< %A[]mr 0!%BCU[mr'CUy(,46HIJLOTV  ] _`  >?h kz{|}  &(,469:;<=>Y[\]^$&'()*+,.024689:;<C[]$_{|4>BDEdfh$z|2@AFGUX $;A[n~U$;=AB[]b~U$;=A[]U ;[U$;=A[]U%;/=6A$B b &6S^.&U2#&;<=AO8U $;=A[UUOU ;A`U$;A[mnr~U $;=A[U$;=AB[]b~U;=AOGU %;=AU ;=A[]U ;AU ;A[U%&/9;<=>?AFHIJKLTVXoq!#%&(*8:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]a %;=A~U(,469;<>FHIJKLTVXoq!#%&(*8:<\^_`z{  4>?BDegikz{|} @FQRUa %;=AU;AUs(,46HIJLOTV  ] _`  >?h kz{|} O5;&;<>8:<[BDdf@FO3:;*D$;=[]*DE&'()*+,-./0123456789:;<=>?FGHIJKLMNOQPQRSTUVWXYZ[\]^_X     !"#$%&'()*+,-./0123456789:;<=>?@ABC[\^_`yz{|     %')/14679>?BDOTcdefgijkwyz{|}  23@AFG';<=>A]*8:<BD@FUy $&/89;<=>?ABF]^b "$&(*8:;<=?A[\]^y{4BDdefghi@AFGTUVWXY]&'()*+,-.0123456789:;<=>?AKXY[\]^_   !"#$%&'()*+,.024689:;<=>?@AB[]_yz{| 46>BDTdfhjz| 2@AFGUX$;=AO[]UAU4 $BGMNOPQb~  OcTUWX 7 $ABGMNOPQbn~  OcTUWX$&')*+-./01235789:;<=>?AKY[\]^_   "$&'()*+,.024689:;<=>?@AB[]y{|46BDTdfhj 2@AFG $$;=AB[\]^b~9;AGU5 $%;ALOd[^mnr~ *;C_`AGU$;AO?[n~U( (J($;ALBDG3KM3N3O/P3Q/RSUWY Z[\]^_a$bEj#mnr~3333%333333333/////  ' ) + -/13579;>@B| 33  3 333%')/179O3c3wy3 33AGTU6WX6N/,33 ;[U[ C]hU;=AOU(,46:FHIJKLTVXYZ[_!#%')+,-./01234567>@B\^_`z|  >?egikz{|} 23U8 -A3B GMNOPQab!jn  OcTUWX3   A'B b U' AUOUO#U4 $BGMNOPQb~  OcTUWX $;AOG[mnr~U; $9;<>A[mnr~ &(*8:<C{4BD@FTU\WXe $ $;A'B#GKMNOPQY[\]^a b"jmnr~%')+9;B|  OcAGTU WX( 4$;AKY[\]^_mnr~')+9;>@B|AGUO U$;=AO[U%;=ABQUX;=AO[]U ;AOrUH $;ABGMNOPQYabjn~%')+|  OcTUWXC  %&(,/46FHIJKLRSTUVWXZ[\]^_moqr 9.  !#%)-/13579;>@BC[\]^_`z   %')/179>?defghikwyz{|} 3AGQRUVY]ab ;AO8[U ;AO)UAoqQRa $ATUWX;=* U,;=[]n * U UVY] $ATUWXC $%;A[mnoqr~ *C_` DEQRTUWXa$ E  DE8AB[moqr .C_`  DEQRUVY]a  DEoq  EQRVY]a;=*  U^  %[]moqr 9.!%)C  E QRUVY]ab1;=AB]*DUVY]Aoq  DEQRa $;A[n~ETUWX  $;=AB[]b~ EU $AETUWX Aoq QRa $AETUWX $;=A[]oqEQRTUWXaABoqQRVY]ab oq QRa\ $;=A[TUWX $;=A[]oqQRTUWXa ;=A[]TUWX $ABb TUWXU $;=A[TUWX a  %A []moqr 0!%BCDEQRUVXY]abAoqQRVY]a;=AU ;AO&UO/UO>U C  %FGHIJKLMNOPQRSTUVWXYZ[\]^_  !#%')+-/13579;>@BC\^`z|     %')/179?DOcegikwy{} 3AG;O[*CDE%C  D A%;/=6A$B b  /LW' U2#&U6  %&(,/468AFHIJKLRSTUVWXYZ_moqr $(   !"#$%')+-/1357>@BC[\]^_`yz|   %')/179>?defghikwyz{|} 3QRUVY]abv&/9;<=>?AFK[\]^&(*89:;<=?A[\]^{4BDdefghi@AFGUVY] $'()*+,-.0123456789:;<=>?AKY[\^   "$&'()*+,.024689:;<=?A_y{|46>BDTjz| 2@AFGTUWX:?,.0246=?A2UOGU:?,.0246=?A2U ;<=AO[8U%&/9;=>?AFHIJLTVoq&(*:<=?A[\]^`{ 4?BDdefghik{} @FQRUVY]ab&/9;=>?AFHIJKLTVXoq!#%&(*:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]a%&/9;=>?AFHIJKLTVXoq!#%&(*:<=?A[\]^`z{  4?BDdefghik{} @FQRUVY]an $(,469:;<>Amnoqr~&(*,.02468:<_{4>BDz|2@FQRTUWXaG$&9:;<=>A&(*,.02468:<[]{4BDdfh2@FUX@ $&9;<>Ao&(*8:<[]{4BDdfh@FTUWXaT $&/89;<=>?ABb "$&(*8:<=?A[]y{4BDdfh@FTUWX)9;<>Aoq&(*8:<{4BD@FQRUabD&/9=>?oq&(*:<=?A[]{4BDdfh@FQRUVY]ab8 $9:;<>A&(*,.02468:<]{4BDh2@FTUWX;AU7&9;<=>?A&(*8:<=?A[]{4BDdfh@FUH(,469>oq&(*:<_{4>BDz|@FQRUaq $(,469:;<>Amnoqr{~&(*,.02468:<]_{4>BDhz|2@FQRTUWXab$;=ABbUG&/9;<=>?ABb&(*8:<=?A[]{4BDdfh@FUVY]&$&;=ABb [] dfh Uc $(,469:;<>A&(*,.02468:<_{4>BDz|2@FTUWX7&9;<=>A&(*8:<[]{4BDdfh@FUX<%&/9=?oq&(*=?A[]{4dfhQRUVY]ab<&/9;<=>?A&(*8:<=?A[]{4BDdfh@FUu%&(,/4689=>?oq~ "$&(*:<=?A[]_y{4>BDdfhz|@FQRUVY]abv%&(,/4689=>?oq~ "$&(*:<=?A[]_y{4>BDdfhz|@FQRUVY]abH(,469>oq~&(*:<_{4>BDz|@FQRUap %&(,/469=>?oq~&(*:<=?A[]_{4>BDdfhz|@FQRUVY]ab%9;<>oq&(*8:<{4BD@FQRUa AVY]  AqtQRqQR At"A fq{QRVY] AVY]c_  ""%AFa8eeTggUjjVooWqqXttY{{Z[\ C[`y|"$(-/2569<>@CXY _d%%i01j47l>?pBBrDEsKKuMMvOOwTUx``zcm{ppwwy}  23@AFGQRTYac|| (` 4;4 X ,,0$$244')'.. + & (/  & %0)31    & ((    +        %%% +!!","9 ,,!!#$# & $$ !:-78"#78 --"# (  % ))56'56'01/  ****22"  $$ # 3))%% "    &(' !        "           !  "# -#  ./0,  12 , 3$ $$   !   *+*+&'     #   (g  &&(*,4 6:<<>?FZ\\1^_2oo4qq5{{678OUek C[`y|  (* 7E*1G47O>?SBEUKKYMMZOO[TU\``^cm_ppjrskwwmy}nstuvwx|}  23@AFGQRTYab4~D Y| $*06<BHNTZ`flrx~ &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flR\ywXfecQQ6qysrrc||oKzN#cxwwc0G:;33zz EFK; "* -7 L 77) ,s- 9##mp  ( ") )m* k  " *  v  ! I m m R=|<h>C+.j    *    O   q& % % |{cZZq}qopp<MMzz>>55++}}0O  " Y&()*,-./01234789:<>?FHIJLMNPQRSTWXYZ\^_n~`lm$+  $*06<G     Q . |   B |Q[/        :.J  QWWh &,28Q[ *06<BHNTZ`flrx~ssQ.{Byp  $+ $+^djpv|G     Q . |   B         " ||դ'^#+tvwp-file-manager/lib/fonts/raleway/Raleway-Regular.woff000064400000251454151202472330016762 0ustar00wOFFS,FFTMSGDEFՈv2,GPOSvJJJoGSUBOS/2Q`gXcmap D ^-Rcvt NfpgmPZgaspՀglyf (k!'head66hhea!$hmtxd&loca \'maxp \name4AMpostĜ#a1preppLO({_<^#+tv( uxc`d``^_?_V92`w -in/Qxc`ag  0+lk1041R``cbg:mxڭ{lgǿ;(zBKi K-8L(qTP *1%1jtcdN1˦f–  is+;~Y9'y}{oyF[~Y wuZ⿯~!j/č4w.-p5['nwtP]~&jwji5UiJ>:=ƞ_ǽjj%jtߧ~ 9RNjRGB)Ư}x*AS-*FƤJ9TZ?W`fM'4V-Syi߫Q0QdN_^W^2Xo(6OFUM׵n@J GjӟdY5U6d1YMZr͏ifj=Z;vk+ZvݮGڿW57I=nkaTo2"#r VEA?~#[ ^;* ;i2v5 ĸ<47 n'FRyU\K&1bS@JęxxU+S'WwĬo[8/%`=g#:<ʴ%'|Yt%2 ḴX->bqD'q($b dլSX{NmrEsb 5A-̇NC񜭙k5ɺx][i1k_ +1Q'>!U/WUۯXp@MAAO6X=9&C! .=53sZa1ƿ%'@jfyF#_febwυ| 4Ap)dz ƹWIG[[JQ2Q;{wt(`;TdžcFXjT_\>cw;Ne Wsdg?bx-CF}ȷd d4Ωdr*cV7ߦbw"o"xA,rI׃}]\m>a22/ߌ<λ42yQ SMݷ4_ӓߤ>Gވ}!1=cg;bA.V$1b`D.sM0D bs`|Ll{A9o4itQ%< /ÿݝϿ >?&xC=pq uKsZ. /q>b. 1~R;/ #Wo.кrM쾛d 6zB} ZB]E=}jgԕjҌ$oB˦!5}]EIk݅ٷ*j]ɺۃ͚LLjj J^a#b63Y$W#j mZx B]h&uUEl(sL 6ITIAOSA+ UDfզ568jj~I*\TO4_QޒnN5` 䠭߮5zYk y;З^vcȋ%oPqH>kI'(j]֫Z`rMpq}!Y?A M4:F-N7/#wiQuaWi?okq9ݚگj6jıSa;BZ+eσ-PBxYLUG\DQ@YƹGQTpZm-VAFJXTԊT&EEjKiCY&ɤt3.Md2߼L7060ZeWzլcM]d1BX)AJ$tK/="|ɏ("(h6ͥf'ݖBy\![IpL,>`Ν|x"Ox.c8ogo/EB"^$$"JnqHtn'ŀ⺸ r t9ӝx)~J(\QV*3|˲FRã`]==aKRGyM)}"}C /[9VN)!Er|qD87y'e|5湼WZ<!q2@LaBxs|\.k+ϋKbH\(Ӝ9a+'ʩ)x(κk YVfYVʷҬVk>4.yl5[<`e֘U&7}ܿGWC9w{].7ڍSFd4 a㠱Ϩ5FQb4Fi7 }X_/Г$=Qc(}D{}}}}}=hi L+Ҷk۴<-Y6A^S5j.Q>W%.l, ҟgN8xc<|0v1D1SP3c'LGf ! 3\u\M-ܦlcڈ=B)ޤ#DN:=ln;mʆ v2އ oc+JYj.&cG=N LkieP&z|L]P!UQ>P/Qʢ\@p ]48ъ6[؂38aGYX3;ZPNVewxڍW[oR{U6v)U#!ڵ.ҮRSr/&ӋQumL oyY~ȏP3]]%9g9sn3nO:oxr7/?O?ƣ M~{ww;lkscF6kE+Z5--VGhRK5P #wk'j9;U*xmzӑN1X`VOlmF-nd3\SvNљ = /7hJ9؜xd[XA \AUX'-Ӟo#4C1nxٞҭ7a?OL?Q|ȹ*ybЍD8x'ŬԑpyON^/pf^lgA/K۲[jh™ 5&(ii,x]$dXc CB ѫYl8 i$S`;6`yl)4τbX aÞ _cU}Ӱ-' XY5t&NNy J`М0<ۧ+}`௿Xgi7qάAЦk"M<{miGb8{m5-B #teiOiBM4WsPt @;TcK'rჴ$b`a{: $N-=H!\>MȰ:CS\6:Y4̆zX]+SEQ$U.yS7MTaJũD&< iaZIRXZ}=Z:$I(u*R .*].j?~a.rT;^:.5' Ў")TT: {_ = D:IOznj7-$m áZ 3FuV.˒_ZQp Nm7ykWd2b02U1_7_}d)D!hl'R)IY7t>e iGA;W6`Ql~Gߠaf ҶN}Вn ݪxp*@.rN}(miuЇ(cB|PzMf;T>qPH]D$ Zd!d\iujz g5Zg™%>- yyލ FfV){Ow -a*z6ƪ:PTZ:î0ĺEp/mfU2b92=|^٨ae\QI;}JS?*:XG3Ō#23p)Bϛ0׊U1+Us"ފi%E:?7c*{y~'`B{S]ۼhYU}yZӹS^#@RN,KC(AT{p~sVi mU+.r4uH_c,CcD[us={@;b+&'YMKΛ2.6o]TgHNCG7lՃFV[vjt˛^ i>Ԅ=O\ń}$q%PO Rԝ| iM؏|@gpW; h,P॓.TW3K=94~k!\_I&yxMINBA@f12C1 ڎ8O^(b'4,pʄ dqŎx\|WeT.˲gX\Caon \.s"8,,pF8I!Q'8#c(DaD!Dl Vڋ,#2j[x]ؤGٔ[-IDW}x5b XYٜ}3dNT i1:Nwt*|hD7 6F;3 2[4jMM"Tӆs0 0GƗN>S>T.sԪo/Wok¿`hxctɚAo qA "DAu D RAAIqՌ{]x]mHs9\333{33SS3{s}sLoεk<+g91"DDDDDHĈ!#FDCDDDĽ?/IJJbi-i/_K0"Ilv %庵 A?=}{vC {c3IFV78,HV$&G)sTL0Ր:K=BP DP(7*[u}7&et}s~Oquob0E]i4nH[I~/ك),kN`W6<\OeP3 QΣ}g9pn Aɘ8θƣ$</«~2QLV-ӝʌd.dg L*0I8ςggQxY,]I%1H 2UD)@Y6<;=ϖd۳d`$,BQ$)J}i,CHrt9]9ќ-2,$fCXdl2L83Ie0G('sy̼fY$%b)YV`X_#u1V,*;œX EaGy}Iq2s ;N39s\+BQw{R*J%{d$^rƃx͟/7{2DX&,Sʾ)Ԁ>p+` <3R*O/dJ0*=>6<< ^EC"PVdW +#˕{ʛ*DZZګFVӪS!O. c5Af&\3^3Ys, K~.jy]:XQgK ]#bPo>>>|y#K@I$"ْH.R*~{A(m47=ƛ&^)o:lzxVٞB:׌o&7sC͉K\2.Ee,!;#89INr\&;|B()RbFaS!EDЂh[-o-3----J(JRR*Ӟ۟O=S1TUPMQMUKMչƪIjZ֫Az^SkP@j[ӫ|,h65 ͥiZAڵ>7vU[{KёuN鼺݊.K.ZSZ֦Vu5ںѺzGz^yPنj#ڦږ6N p@7Tm1 ;cM{Z;loj7{Gۧۗ7OIFjFe ڄ1&IbҘL^Wӌi7fYdVwy3Olh$mizn˲˲]@EnEDD9D@<}_A\XoQ_oU_O333iP* >7eXO2/hIajc}{V; TG,ŏ^aBiFGga` .t0@ LUbH߀LD"iH:V'Ͳ-ZH~^v<.G k;N K%*?߮c7T]b\/ՈJVaB"qhߒ)蓲&ԗ,K_Mt7Su+nHOH<|./-@KCCLI ʠZ튧9QѣHb(D"4 c,[zK![L.cXg|^25`Ű\6l 4n=(IΆg'-Μ فĎ=]xew3Żuvj?tiщjj4i|QfZ]x00tہD3(-;"sb}:1eקzC驞B_LΜ?TϮGBŘ'#:xa| kþJ86v=~wj`e3 MͺiGܮc:a$Gl*G\ڎR9\Bg%mK?_-=̨A ![4hH(1ƂZ W|ptٗ\{Q xU0ItfnNjPԔ-+GT _Xܷgչo 4WTjIerCsDL!m)%%"HHM9zа Glٺe_g# g"$+2`b%b|Y90iٗU.{5?yv. Ǡa@f 6&&es< 7t= H`UzLJ~eB'LJvX?V~dq?FD'Sr胨ʅKb745fj4 HM ςMm9@ctFG ܆D|Cuk\77wڵ͍?02rl_#^U+JV3 R~uRJɲ: bȳ:s! FK.Er ?rX6K1mRY塃7O{S}5lj",93Kd\ z>*ELW-z lT`ooՔE6aQ n?ˤ. Dd>xFΩD\W6\;_l+ugȏ xb=#mXZ}ѡJ:;/4k` p惁uKga!3涋)8 '&2 K%"Di(o 1 xCZlCLU v7X<ğ0MjE}VsNMp MS CA!^ #n5T,|dG0!=`f oE+qc=t]H*4|[gM,tF `n[gg0V*Ovbže 1=,iLJ5YAK2Q ~/V+>g(~خ[r)\S3ޙhtHkʥN}x@Bj{,CC[2C_ OBr8ꡤt$4Zy8X Vgx;uhO9hutvu;պ}۲w\-ku{_?sݮ՞>MڞnGآ&4To`#<\e"F(@Ĉg)*\$ Heߑ&OzAVG^,=RTB- 7W nzo}.[=5l;$axQ'h>CD*, t-]-万X0w}_./xnLcٍf~W?-Џ׷}R7-UnqLS^!M^!&Meon> 6]n5]yK}mkYM-.O}?[&Vv\ƔweKyL#0CUZ/BpF1"<-8ɍ5Cܡ2:]g\9Ě $I $aP ЛԄ,Pr [0KĽX KN3LDmxRc[P  W{3/_=0'Z:_P` %,&^Fv4I X|K6RsFκқ65_h|g=IIܿHmM݃BK`4cI$B HQCBGEEg|:~uB%'19w {2ttu`݌b ҁN*͍cWUƷL&;̾#buWȘ͠5+lUKD@A'X@R|^3ŽSk7B_΀羁g_n+`xb#hD`E<[x[3F3rH, 5T#d(:mn)qQ),#hgƄ3-^H*B 9 wg_@Ëz],Q"7Y]1zA^[^n)W749:XS[ކx$:T׶7u\J:ٸ `NH1.°̕Ё7 0 RSvt;&4|o%ɂ;8|p=Dp <%e'(Gb4/6ǴH&qiM6/ɸv҅=ssm=$\rG}Lv1Nph!FG鳞g̥P,ƶYЇݗETE.Bt-o@'yΨ9 h%D`j^K/-Ĩ gx_`poP%&YInRm8lh&ҽBtk᝿#0BC8ov`Lȱ{; rWTc&iW'9weF  ">v(|"ME[uT{ބEzzAjr H߭lt MGR/jB\!o@i,49+f -& {+ː%=еf8>jcw;J`1>*U1fW1Hj$RE׸]Ioh0.] 46ŤZSL;YOgbM4m#j\JiCbE{#4!C6·c&9k]r6?8{CY**=eفN6c"wKO^# GEd rLMj =Vx0V>hj}м6f6elH30Lʏ_2:T0bm}k/y0ZDOi#HhإiX()snx$xC  uT*_- Xw9s[/)X^ 6R-gc9Rba6e>3Hz$Jh3FG wdRM ?i[RR5^ -y rxzb aaXhi|ۼAGv@o`.7?|9{oa]BK;'l4:Zt5I%{S(yDļfthJNPT*x}O/Hum`\ LTJC|p(=,k TI[CJdq]HiV![3 t]z~FcBFZ"daSҶ,5됦<%#hh=^{\okֈ u/ 1 VGUP!% 1h(E¨yR=Y~sk5xP<<=t, u^+{RɝK|'^?n_QA.W4r[;;`*cE|U ƧfQA@hΖL^l#b7]tD3Դ+l!1^f)ze[bi[fjPV`HެrDdn8=DW)%Q#*T..uM*'ۀ= *zρY$ v :~%g˼IuB~#.d*s/=P0XHYPXĮlhu'W*}^n[^ M;Wi$F'D k sƨ'X5H,M;$veX2#ɹ[\9YEZZ"PAHxN2a uӡWK:PzusC}; x 9b< 2-1ab%`d:vl׾/tt-><l(.X+ءI?e:dSM* $*/?T*u]Z$gw<ߢ}~ъ}4*}~nfSlc)/_dJ`WVhD Z%f}JtRU:NoC֨*/v=(cɠƠ,~6-]ndutJW0׽s1b_.F.Y,&Qј5/$1 IoFDmyV@)( _e6CytԪjM q? 4 Z|.'j*MLAA-reX{[Q"O>iqwNՆˏq8!o8p'z)Ǥa7%Ak˛|;Y"0"Kb޹ oVFT(nQjJЬj$qnbE]Af0R7fihdg*¾Qǀe4bKJoйBv^SOqۡ9i KRs}Rx(Pkooб1X atQVްL4GUmoNԳ|wWRBt6s;]!뚞tCZa`wernk/qG*]Z &ޛ O:T"˨*QB,x7 q4%ƇV-R~%"`>l[V ORzk\xH^WzwO_5Ϩv,a٤vˈ%hʉñHjVRՌ`QCA˫p=ox]B'js=7XM/M)xN2gO>TҙI9xyzMT@8#@b6uS__4qg[_w)/5&:cUԺ.,d:_QkPH^A 4z>C2$Um.Ҝ&x{PG?%g|Cir6'ŘGSVO>GJ^3w7*5jPԬy:>- 5b"ZWi)l)o! bđ6H2eR%ЏCV52Z!5kofFSCkAG^ˠ:4g`D:inוkܙrj͕rĦF/K._8Ɇ7z 9˭t]jbZ \Pn1ENgX&y=`uDt+єk3 K\+d/5<=Pc^>\_'WUR1CeLZc\I$Hڄ} J`[kt{cJKng!IN iuD2eA,hiYg!oZL ?z3>B#k.} =.GbxD _Sd㮂PY$uq6 :U_If2rЉY+[ZŠI *ѴX,kY^M8[nM_<2rdthTrD ZGB'uеB¡+*W\Q/dӍuV&mt,28ju+ _s65u;W5²Wɱ1G4iF; o ǵ*mJcC/ "|}nGI5N@aqʄy0 , ģ"抧32;vj,h%RŊ]D47&{Z9 x{륞uೱʬr:fLR+HC&h퓔r^ngs{^_B^9=LMtqn_qRĈҽ~i6Z: -ϕA]zqڀH 6T$ sO?DzʂHW;\ TPW!cU`)o a0e\N\OyJ@y F÷i=*CYCh9LE􋌝=l;Ɉ#Xvq=gX)[h%mӞp(hӸ6/bn:)<c)8Y۠Qs4m>·Zm6G:h#ܪs66GF#iD8cT V5˔Z$U/!k4:Wl!e&EJL_ri&[$++7qt IRDž ZG}ZDh,zCыG9|8zr8z,JqP܋^;%˸ns6ӴHtC6wSxEMk$(C|t+TGذgaStv(J*N *^lЪɂz{~op0<*…U}{O|'2"D1RNS6N+ɝMvo"Km&z022}y7}΁bv:H:7F hb*1,;Yow34椈)mNjL={]u"L7᧘nuL7 0TS>YЕ왒=\/6x.Ңr x/>{7ijO-<x/c7 Qq:7d~ti'5osʩ`XZY ڹ֚M 4kh'fϴH򻪾a}uﶁ-} W2삮O;8LsfɕYEegrMF'!e\Z>(-W2=ik&YBїʺRK AlH8*ث Z<'ȗorm)/Nvp%m=K6w6dPKM| ld]emlJlY,[)C߀+,_HZު!Hct5tIExԝkni8d]xri VJǶ/s26ذU3ܦ YDe3͗CY=f䶭[c.xwzc*;˦&٤{L:H,1nn-%w/9*VU˜Wt>OӦ9SkU'B݊0k*M |Cv \*~o7,,pyc*^M*Vv#h ap B5tt)>%P544Xye[ 0^hQiLr2#^lM维S%YlwڲND ՖAe_\2 eahxK.?kvNzl}.4u k0{2~ƽ*&Lv=du}} dlVq 1 ol+m8N5w^B`Ta,>Tg?#<7Njg{@ ~KWʣ9B=vs%۩}\EO.~oW'|8 (IWGu^F+cě) /P81E;?ZIgRhs-ӯ85;OYWùEO.EO.>W)=[-8.F K=D$>Ha+:SLy=,]nC%fJhaiU˶ cBxZ)jL u6瓘Dm.k6M\F ehիM҆4ͺ]HX 'ռP"H}@{[^K,}Q0s?WSaܱ 0p?2ø~;5qҟyۦiWr .p< >:ousksjtNE5ob |#5kz ZIKu?>-f2Oǖ&A_ ^y&+Y.M1 -ZtI^^_*/nn'tX'NܮU+bIR7}JݯՠJԕsR$yT mT]ςWqR $i+?¦^(_Q pj=7PIji[k>.1p|3}\ תXj3W䤚A{(=h|oaȀo᭿ -9gk/$ g7DGZe )taI6X*=ڊ;Vy +0?jtBj;7 u]jo_׽/2^K+ۈK~ڦS,KtscP-¾fնCt>;YX=)ZA5@COi| M,zPtTt8 aR%*QNVNWG뭒}X>NB|4Ԗ>G9!gZ>-wb{M`$NShmaen$9O[W^]=%M;ͨas:=:_޲X1TGifHUuF9.d^oyo ] 7r[\~,1؛aN"v|qV1c""U+C tt|4'YgNY^lr\$Vh4ahZ1vnPx$Y܂ͥқGڦTvd3$gr3,e#LL]:3Ʈ:A!e2amKcžt/ yAFmo̬ 3zg/ͼO^}JJ1Z`aZG/n'^<*/ `e4f>?2 >{O罴TOs=saEׂs]S=$`@`['Yf:IpXpИ^ }v9V3g(R~x{(=6=rŢ3oq6gdmpV^,= C-8wS8GrY{mH>CA./RWY.sO^p J8Xlm-pb$=磊ddX۳r|2Kݣ8)w E[Yф8:2&g5F ph k45+''ؙ _<5yhs.~M#R{n947+,)6b]%Enl?p1aS"} 6کmC=/#Qqx9m-?ñ:o;4)s}[k'BR ?Sbzx3ྙ'gѕifF[tȹJfBnvJ%9ߕ.W~,Jci~ \7m8儽Pd.WP#4+iNH(j +:K!^9' e 5F*">?hhDxk`I-$Gt3pQs+mϿVx i ݾڶZb4AQM lŧ|_c=+1sN?8'䃃&N.6O+LNkiRMlXW2Z*רj%QJRrR&!`=VZD*nY̱ xOΖ㏗ [G̭$nx 7 4]Nt@<6i7[m?JZ}=iyl}9VZH_ϷC_X\MiiqF)bgL} ~su}cOXo]sVqZiTkBX֔9Z~KOLކj8 kKӬ/(m9[z-|Sc.f[}y4yi^\Ow9%8Ur6%QB&zM6Uk2{b@<{sڊS|fɪj1xib6ɩ08=0.g\<p `C3AƇ>|?=roCkd~އ1g#V}HpW[O .\?Z= CH[h+ge]j+;֊X^A tq)PK#ٓŢ\jէиM-" TFiv\% Ҹ-o^jEމ (71Ala{=8xdf}6).hĽL6PF&v]2az si2v1wпh{>EssAhυXimj p+PGBFg=YYެ.c0F^b% ϫJ \`ـ0ߟ,&W Po_,<( !KK71R ﵟUFR9 DkA8 9hI:\6Z8y kjm@*CӉ{"Bg:;itE&4{};4Z˟.i|,ѓLE:͟%GV*el6I2C[iXjˍF<&ŊN@O3g'鶲s)`|q%wCwwgfU33J'!͊Ib:9VHqt.Rnzz a/h.¶=u$ω;wb}#CBކQ|~vQ*DM| T@I *!vfҩjz̮:AUkU G U|E/o;4qpc%'ro""NtxX$8'  pP%\taU|#b›i>^Ǵ?6pa@RZ?0#} x>8&xГ!oGw}H6҉^U66: :Kʼ@d$,ϗB.E(Q+U$|U)UNԨ rYpp -t fϖfjqi->{@`3 TǁHsU(>>99KA/<`Ȅb"00VOwL>N-h0X`(Ɵ#C"91ꈸ5lrY D4Au,wɭunj(&tѹ\t9T{80~8;+/d] ,#wĨ!A/\ȡɓ;aP,/бsYt!x`yWyL"d4Z,?7ܭ'\Xf wBh%,ؗ{7DSs#R OsHOCJۇ5s×*v]>ߠkQ}UcU@t( ]oYZtT8Ş-yX(qg© ʆ ` $i p\_"9"g!9]NVyry. /@GL|nCn#maOǟӫڀ%m~Bk|}6IϠT2F!FYP%ZL:|ok6p}g*4`E;$̏/~~ϸ]x0{//ֻ#ߠc5[ؚ/+Υgש}qoC@q2Zhؠ[{׿kx;8G*S܇8yQ۹4сbZ ML7ҴNcxrz'dm嫄5ֽw!MWΒWz=@w,z=|977k(')}(o7S1PJONU/'/ sSoEg.q)">}߹pozaJ ^V}~sMܻB&#=L5P:=a*T^`_S$B~䦯(x;+0k߱{%$'%":7xh<ֹ qbnpgзߡ:yC I.! ܀ "= $dŢqsߛc܏*l%Qo跠{1jbvFbm6+$ljfc'!zBC;:Kڡ6C ֋F/o;o j筏"k߇u14x*m!T=8QZC~?(9Ӣ_УcTF.^HuͻVɄ.ZU^2kUzk47LSF,6Qø| |IF[s`mYi^qҬ3Z7M% ILeЋ``gچ}/y;Q0Zcf.x7ȶa C:ki 쌲W[N j_׺L̰gL<҈5R{=ktF Gͻަ=c2kXNt(E2' R=6u&>cF=lUukm,Y8i$ OGgtX[GSeLZe-ᚾsm%Hqx;ڮrd}R_{{f3hə>P4잵I[oW{{ҿO͌}OU3`2ZOgi+>S]ru)ڳ3 nڲ`c|A =ZϻkSeM WN\=}{mj`h)O"DnQvS F6Z~5ϙbvs?ñmBI=#uGiMa {_U]z=Paö:N.Ă}imŹ[|a]O%?[L[:o Tdv^=۫- '9Un.6uԯ;qH]Fp8j[YsC"p}P 3[}a[Ȝ?'aw]2/3y*I8gZgz`' -3D+Φ$t/؛d` &}^G<+ZM=usdLeӉrE$'k}ɸiŷ/KاY{t<_Ÿ`wwkckyZ.?54ǩ,$7G8鴇=FF7ԾDD);n7Nw75(~3LĈܕXy1w;4H} ֹ-9xš!(}X=Y>"t j܏W\Zw'<;݂?&u5-;z 熞Ǐa̴&r=tV7k^lXHڲkhe>&8w|wfI{?f/ݚ=?yi=|)w:|dBp/WJց|aLgI&dy|N6c*6'{Xsgdg@۞%bct︄^}~V|z?$n-mw0 cbՎn96MC׺郘iKs7ݒX,uNgIO nwfj\I=u ED':rƶtA5!~]yspbN.D୷rBtn&?HWwHVso圫+Vgz'g a`\ ÚXPQ"JEPYҊ"osν{}L'ϟP(`ֵ-:-I^ݴO%UٱVt bs'f95Ua~G4w bmE_dQd2އװ2 WeU 5ե5̳7Bfe̖]5Uq~/}"؄c6vfD5,B!_ͦ'Y3 DZ)!{N=ygψ6R Ϯ.کH@~ 珑I43Jy}fV9NC]'9E կƏ,;Hl?Ԑ+y@d$erjY̵. [ͩ c@?}lŝ`| 0qca>Op47-w}wx}G>Δin@ rܪG"B]6ѐW͆2-zrPiWb7؝I~mK`cD P'md}CSkg|d!:j&i8Lbʋ8OֹeUͪIs d>;a[wGd-[j>̈́q8SEe|2'Uͅ'薟%Zk?r9yk&8,ՊbA0Ee3K}%܇p_z{wTW6 @:"HDa&Z4 Bz)X#C!["5bnӀ]/Yq}݉5^~huJ5Iv` A~u%G7iyĤ1ߕ8sè=<;%S\x@pώaPW f}x N^̶̔>A.[=^R_FuFT%]s^GgL8=uN?¼tz{-]1i Z."뺮.$1-rJ|#U=g\սzp"a,72wItmTcEЦ\nkUK ѓ+́9&Hs"RDZy: I'n4!a`6u}'owGpsJ: ƶSGVC Y&hLƣhxO1ٗ8mm\<+$\jP yP"Wva5֚8Xx/SmdY~S_H RIQR1;Ҹ[qB杦 :/?;7~yz!P]d> J,+)vHIzb[铏" ׎㇓w-_~v/b tVT(T? u9F¡cOhr><5u3z,Aq?BۘrLٙffM7Wv ہZhb|< z,;7COpP~?6,!ͥbk*knzvfy'z{/ Q|6tdiT*-+jN7  /GQJ>hqc5_YYsr͞PpD.d1Y, ^<(L۽IF7\N~:Q+]ʑ5cQ:7wn#4;gͅ85%%}w E+hR=;tAOM |7*{6~-!}x3KoBD""@T=Y, U,ӔF+8,&ŮEv&8UGoFO ^0o}5gU{i1Fg6|h5r2;* gY(*Ufg6ߞ%j=WN m GvI*zwcs6W:oS&RK*]OXj@P,XZOPVի-lʷq$zj޲L)gOioymB`>>vZMb81|+?хthJeы[CBcg U.NR Yy{&Hp碘1A[N[jgμqh:P5΍ztӻӟL0P+>^wrom'Fw^XXwu U I3-Ut2άϸ р0;xhbmn}0[ҹZ|Fmj#_Opuyz8PoBv; y! رg̲^*R}s`S;Й, 7T!O)VcLlXIFS֧tH{}JО^Y_"KoA>I^vhW5tq/m5 ;N([PV$o@m <ԶT3%3ս ZӺHVm[B~hd קRvNܛ8_UKd>w(U6[DG-;"guܴ'Ԩ7?N^sn)196%gjgIÇWp EpPR,&26~].IbAOi}V_|YaVc.QRI̷< nL挟[7kP6:4g?*y*8.+<+"W0B`c\N[W@|kP9 ek65@ZK,jնLD.4ĕzԬ .ֆtUXC2诳KCJٟE~tPܷ&jC=1G '}ff>,0,$wI ܊lqXCa4egbܮRHj.S_Y=sfwsZ ,FՓKZ %;nKG0~w<]Mlzƥ8A:%p.C$ !6Gq=~>*iu,c16bl։Zq#SNi! /f_{`_Ӹk.b)tkXuuoc6j|߂t~1b95`:鸳y kEcۃ$&p"$Q xYWjuvNSyTaMUҾCy[17ٱmi~p[6odhpOwER‹<岥,y񞱣R ^Ѣ8>e{#U/fM!%Lo͛7LNړ9>]xd*5!Ǿ?ݖ^j\!&k]‡OJqu3&x֠PHZX58T41OVdldz?.#FR(Az\X솚  n5i2*k8ɵoŦߛg,ך,s[t餅K"ӧ%NiԙXYƍW![yQǛZ:j 9PBzfA0.; 4Nаg{ENtb"z$s|ms xMag(+P=Is['67Fn&\;s3#G#٣m#MW7h\ۢDkX5hNaqd+&/ M:_p%ĵzLǤo!j"۞mNGkAa xs&jjpakkpnϯ8,qZ;f7LI?"Q(avлɉk]fU<wt`ykS~E͚sy+1r5m6wBs<4Z]0Nv7'u;y~c:.mM ,)[qĭDqS7sq~[ ؎u+ȶE/k/֭* ,n>߷/]m~<}Gsj cۇK>FSn$~ |ԭ C]?5߁?u+{iZ8|5zу㴹ڑUOXQK uO)ڗTt P+i[H16= [x0oIڇ/4w}XIڰ+>Z#XAoܶOo+V3S 8 .j8{k[#˱wn$~A7bAo%^cnfyZ÷:k v0,ޫ:ؘFv7pɵizFqs[wǘCl1B D~02t;ƸBx1@ Gƛ?ݤq0gyc`qV]y߽|H݁s-8 \K`9 XN&~eдlS,tn"mMˎ'Fǩ/hx5r'; 6{n%u]{k#Wn7sQZQ8NңIǺB+qhĦ.Nڣ|pLvOO"R}d~ԛ\{RNNŇ#H%[^Q='NDlPp$Attŧ9Kz]w|&%RBS/U251|N@B[8m2Ec_1c}15n&]ypL,<Ҡ 1Vm{ŝ7ԢJ\tMB%~Uz&P8Ǻ*=g^x;W"Gwa5z&H8Es@<!*s1¢)kٽk=7;M]momm6-h4+m{yxRYm ~Ӥ烲'U酛|qߤY^I7{zj [ ^# sw-#$XX? Vŧ xo?ѱYmMz7+o4qIn~#:wa5z&.߅кhgu?wQ\'-^'K 曻? rsE,!q7Os/ˮna#{or5[x5ks| K ?CĊĖ!}:ϻIf8N2o4i_+H\_s+@y/8Zëxmg5L/*=aǡB^tJ٤ǮqڤzXZ^I]ۑ054^ۍk}cVZkskX8B`hG*#:lp9:B)Bε\ :54`u5`i%5G:.}j6,&#Gֶf{v=&)0ԉ~hi ii`bz?C52z& G 7XI7?RFn6,~&G1Wdd\aLO"s\?Z%.v *q{]CAǚdiYZXּf֭hM!j\GcuĽ7io@R#@`KnlHA.~P\>gk~NV?K8 >0?ކqH5`"?eS_` zbXU5SO~U2>deO[ϧۚ1j p{䄡" Y,%c%V-E9GΠ'$Ih'p Λ~\r1Ϙ@ ΂#\*)Lr87ݓ=?HCHė,K"Aib;qwpLad &]^QlC~Sp]k=mZ9> T `֘Xb0}pu5N5ٟ[҂`?AfҊ? f;ss2,-um0ڎx 0^'! \( X@I5 @蝇z*^~Y2и @ >лFˋwx1P'>A[ڏ<#Py3H~p ý#G\jQqEة%_M$hrN ?Oz^?~k|}Cnp7x&ɜr$,.| JR,CB! c#K{bdD؟ <ΪR)ѯlFu$K;Pt,5@-*Dr Nuu&3tf2]K(_Ap%8 uG[EǓc9pBF = *#\DpD ^E3ڶe41Yp.wʑVcsmn3}%j6G8p7 =`МOEy]dYp5^k!"P 4UN4,hA^sdF2VL tĊ ^8P xRڜ9g -Θ+t˥Ѻ&V}TgU*:Maךɩܜa=[h|;OGW3F5VE{(GBHt<>uۈ+3;]ypm8m>o(69j2G-f8!QW̿up (~n:G.- +93y bsg7J=pKY"ނ|f8Nw9{-`k|.i:93>@l.\es˭x]^΂ٜU}ךo@q +zX8:ۺmԝssn'u>X;nzrsogO43r.]N ȏN‹+%QMp"iVisR)O(M8WCH{*rcgZuyc(|n|ʢ+2 nq+_ֵ x6r=&E"("lM"s4sMO-10]*QDj p|VBR(NtEay6ce.[]xM7vQ 9=hOMw]Saga tq֫&F}آ6lU4 sLJhOL p(̺\xUy|1e2|6fuS>c-dPIRuBQ׀+34o|v}PP?PFJ'.AN/ =_쥡Wq&lҺBDQYpt4(@-]!Eط`k 8lU\'D76\rC=c/rC=;1{|XMt~nsnSƟJſR*!#\ojyڽ.:DxӡNỆ1D 7WRA(Z.JEB148-.F dlU,oa4g Jy#!R+^c,_9acrIkJ3HphcbK37%IЏ < hivxA1K< ~B/c)3 h o _2,>~Ws;j2Nw:N.VN_wxM5g7A1;<ş+ Gޢ'5KGun#_(#Pd䎠*tGw BWx"0?4Im^D4ւ1l9+7z$E"WE" d/!BNOe §MF\I;scPMĜ!_QSl9Hgu4;+fpH8NE ṇl;AQpA|v%Ҋ V j 42ćn7n|~k!Fd%'"q@w"BR"Ԇ\qni!(`vYn\D ΑI˺YKZۑmx '9d-O \Μ~˝T0}<m FX^` 2-Ruzh|W:TQcu{|p/gJɐ*y 8ٖM6A߆1a\^[m6 fN(GZ1dL˸e(5a琁Xnsqr* &e<ےB%wt2BxJΊҠpɉM{xՈ_BMOMmGLY][T:ziA#K  >ܨ#O ]pYK+\W\./ຊ &Rp5 m̺xٽ]]6K[QH:>N9y98IC@zƜ?pտ_vߖ^G Sp-wx!xz܆>D tA٢~2]d@!C{i)KPu.TaW~Yu̝dQx*R!O᪝pZ+l,sr8z3 vKIT)m,<$`!ϙ/ɗKE; \'Q'R ]pZJD"-u_0/ d>GVh]Հ  lw.4u|ypE$^|N^";3Dc+]C!(#BD£M+C{;qLRzySpF] =r79#!՚A<6fc"1tlvnLߟ4:3k҆Px ewwq6sMJ`ڎ.*tjGjv!**SjqDY&N D>:Ӄ1V7?Q־L!\4ݾ`('ii@2>8d"l~S` a2ުoDRΨzD-Iz+bi19;]E")AQB!OJ$De mk 8;\\ Na[f@{8oўXxxpvZW:;n a&h"URņmv!ML Re\n?ĺ4A6+?f=F6̲GFҐ>OљZA%zwP#11%Q!|+)_ڕ0$u`Z 6V-+퀷jl!6R gM_{ RUo]z ! nA[\[*sJ Z-68 mxNFp鵑LMf/]^A>^4]jPΎPc>*D|/,ggbI)& @FFiNƍ|ؤ~(2x`{#v]}|E>ՈJ)T_7x-3mocRm;b ;)tOFHa лeڝEzX ,~ދN(L)^wj>ʺ&Zj^ iC(6E!8gʚ4NI= ta=^h-Ҩ=>дEדS܌nj00ն&ש=c^KOv+5hd4k4Z=f d19[Ya;cCUY[K wEƯDi 9zڦvI-W@hPx(mIχi$:3[5Ȝtl }}Wlcp:T<^6 & 69MKT-̃l{s|}j=ZM3m]unjgؙ`l0J~0+=}yfuk)ևq/ T *Yȼ1<5/nFkzj!!;"D5d|~;J|X<: '$'1!3_p(O®|AeKnL^[L.ъ =ZC=`ƚ1^WN1 F@u7YRw"Pэf?B|>X>irr!X;JLjZ* =>j-\|ZC>taSt9:GQ!(\k#{|Bexa/2G>=i;vC5,0{}BR"Lm: ߅o'yP 3s4^4Ą^>*Tm+7т̽;Oѥcd -] 2Ԓr `Ǝ^J[Czϰ,{;w_zx=h5J}plϓدͱ cx,y<A=i XJ5{+I16WB 3K-5!RJEh")hG] = k#A n+sJ,] y s%P; ~0@'w w}㤗 QbI%Ay.5Tѱ W_w3wif [|9Σxh#@HĀ[q^+KIpY9ngf^< IG< XJ`{J{ǂkdzp$ҳv^bz7\*Sn:g2 _ EK^_eۏa^.;W}cOBNn9άE&'mu\t$6!9Y'} ]RupuZ+ DR(̠$cWǏ[][{3qW1x':rjI?Dcw8.9R#[sEV5U%,l=mޖ1 u3>)6=RCy:VNֆs;ۼ^EALI}@ W, d W>J{PyYK$|ZKπWcuZx ZB. JC XXS1KXY|jw b)Jэ΄$y@O>㧃C j#>os/|R fKW yaޡ!mУ>o~>x~31կqAZNHKD  dd }owex;sfc`#ׇ6.;#1$g ymO1g2ƟPݮ[:(P$"T"RP$kc18 :(ѥϻ(]ŗ5^~mCե$MRGX L#okg/~ۑKG)ٶ J%7X2)U]@D7CN $"ԜSepv-tn[ءsEZcOmxz%h2.]s1 r 5vٖ&$o㛆Θ\5uxU# \8_Ks\_%8~)մZz䑏tlDPD &;V§*ut6^Yjzp8$8T.mJG31rDϺ5_])uw16[yCFp,22 6ձQ@s'/[ؼ7~wo"#嫨C14gbDhj&+~9rX'u\K9(Y4@b8JH7e^EU@ C8( p1TwB%tk"ZΪb_yglW*?Ld\]1=Ᾰp'uQa0ޒώ*[P%&i"xݡVg) )/-JĽkfCw3 &p̴pM\F(c (TLמʘ(8|.58|60ǘ\c`?㓐Eictdϙ+3`y1mW=C2^rztj<+KVG YLXk_xZE\iR1Yp3my<噍dZlGP,lGmgOVGi=hz*ΞOmˆgKk'b`c%8nJ~/l(\|a<\^Ahz"hbe@Wѓ$9ey8T#\N 311xHۑs*t :egdvdЯ s$1'Ap{[Ol4-Gz<сz<;:@ܓ |5p?o]"+捂&چ[ˍv6>VTi3DlgMO ]Ӗ3zzYh_:Pg^:ƹ441pηF@Ņr3F _8>ayu\D7 _夿wE{Nt%joB콍t&G%}? m߷r!gSHG1ùGW)8]/av9F mi 'C6[ v8fK;11bni3[WhJ]TWh|y]!oB^W ƹ+ _+hufGX7u^x*c|aVT,\KQ$[$~^ξI,$ iýw7pBAʭ[|pat]"փOy'z}7y^N!/1 " In ^P X09M y\ wϨF<%M=ML9 W\Í )9|_P%^ZZz\f(!z?2|D7!2 CE]D89r7%y Q2Ep #xVnG36 l",P+G,$"XG#)]STU{H(|,*(|B|@9ux&ĠbkoWǹ*"*E_JFE[E H"}GtI/ӝ^OD)ҝBiUFMwD\z$+QEZn"s:H_/G#D2"@Bgߘ3ҋyH/QMDH_ͥj)!yAkgXQxOoVئ !,9|߆Ϡ@k guc-H; 'xX_6!;b43x:z& 8Z8i-+қݏVfbpt9G!! zӦlH4g^/=kxs6P} ³9NHLHڗ Ğ^%BB`HS+T1b#g{ÕVA̩'afnW<ǹItšIQuFTx-s7Z ;)ZhzRs=J|p?3C_, 8t~;)wv𧈝}*T- 0-4c{2FR)G`)LzoFô/KD5q73v㜴gOcTߥL4q7ZI!,(xf*𥜃|Jc<+і=v p9o}Pz)De=5Hɨ<#sLM&NUp܂LKT썏ّю(S)82< ó{\5};nзs^q MU=Djѕ|fۓXLB\eǟ[yץD~ƤE ̜2 r,Wu!*]cSH! oz/2D+AT ¹qx. PY]h`ђjW ԌT UN\L a̡DQb Ҧ U5xFQ&KZQ+Zeb$09x1h06=ܑх+mDHy wd+R{' eV2krsjRUPZJ@brwEofF!j ׎c5dSf3<$ގ'ޞyx:G1Ÿg9_W5w=?O3¿o;_7X2DB CQYpYJFHYZF2,'eyYAVdeYEVduYC֔dmYG֕d}@6dcDXTZ$,[b*qIfl![Vl#Iq$%iq%#dLLdLe*dɎ2Cv2Kv]dWMfvIS[ 2GJJQJ2OT*5@e){޲+r(r*r)Gr+r('r*r)gr+r\(r\*r\)Wr\+r(7r*r)wr+<(<*<)O<+(/*)o+|(|*|)_|+(?*)[fUtAj6iẔБetY]NG򺂮+ʺ꺆kںnƺѱhX#UƴUtsBԭtkFhJjFxu[d:Utmu3u论5kvitբtehUkڧu@7j?BCtLJW#P{^KҽuW=P҃=T=RңW=Fx=AOԓd=EOt=CԳl=G|:J/ "X/K2N+J:No*.,d]k>_QoқUoSһW}P҇}T }Rҧ}V}Q_җ}U_ }Sҷ}WP?ҏT? RүVQҟUSҿ"-Բ!VjZVl [KY#(kkYk9k5kmjXa+bE-cMn4IRSjBKKԉ@PhHfsR!h(^CY_R1?!hs*W(j=͹vSTrb)J粞ˎ@uj `@7}ir;g6#h <}i7 A[k//p$60{moϖzP-tC_& _l"-*&JaN9 h :lnW9/d\hR6WC=`M&K5SoBY &Jj4;nKŮ)H|>Vʖk=Zuxi`/45 mfr ӂ_ XQŢjtUʥG41bVoVӊx8xqK M'o&o&O?~8$I'O? ~||$I'ӍmsSP7Y#p;Q%\ AL819AL(EuE($5I xaPT AQ1(*&~ )O? ~4iO? ~4i]]]]]]]]]]qp288||| 8`L 3gπ?~ 3gd٨A6jbب)6jaFب6jaFبvPnPC뚀i &ՆƠPc~Pb~UW ޢ(G1>uB|kA|mogg#ؘoc~ co o o o ׊ߊZ tȌ|_gt|Pi ? ğ@ ę$M"$'1>|7|DIğDIo'r9;;;;;;;;;;;;;;;O?~ )SO?~ )SO? ~4iO? ~4igτC3 =z yqBEP'pKSgVwԿb-_UˊV[c^< Eq8/q'J=bofVO n%cyJ* TZ+iX 18`:T]5\ɗ |o<75+BoV0lcm9 ]arvзV Ϋ3~^kշ7;fG+c+Dh\]؞RgmCYz8HÓhh'&ÓXIkI<4?kUwڽ&5^Nn)x5=^5E)y^G%7ٞj\{l.[ɇrjГozR`w+uDG\w1o˗\=_x2N #G Ѧ?z!x=`DgАG N c`-omd@$\՞ClA9۾A5jtީZV/`q DV2\0g=9r3{>iSxڭ{PU]D+ &j (EZVb}ӤcM868T8fL󑩩2++_ԌL:ًRD;{==[ YrKNu=^ųPQ Y l[ 6z!\#h M A44_\<.`&Bf\Lĥ̎Xkq nbvm>_|b~ߤ>M mOi+m>v>O _s n^9H5i8g2}C'[:IH?tY:Gy:EG.** R5Tj*ٟoj |mnϷ8-:@G tn0<='@*G I a$|cpByDUÿ̘%>F S3'qH%v6 ΐEQx"Ugۃ]w33[ٲ!{BLsmB(S.rWL={tɆ/I T^y;MH*M)EoSt՟tѭUxSMSޞ/,^0費/˼Ǘ.4eWwH"2H5cbbÓ?ol=35X;='͘4Eʤ&O0r+ +̈<3dg!癮Cry͘ mxƒv<&ְ؋?yqlb' ;?|KsaIs/1eҎ6+2˛G_ֲWSo_ eMRҾ׾}}3>?yoaUcUG.urETT5`|y͘9~W=~K7~| g=e֎}g/P<;Nm' i #ߘ&À?ܧ7Ô?|fωo of#'OKIϫt67>#Zuj#kzwT_RZ͛Χ%T{ əKYn_۠کo\U֜W?}KݿT_oU/|>eOc{yɁo?>bˎ/~VFVծ.YaZFLZ{KX:aq 3Sޒ|%uaMCŏE`KUb<%,& dSZ<|怹`B}wm.3dEd1 =XYj]5'e1Cg+He"AT`r+K Nj%Y#"~XV;ٷU|FnGVd"]Ge9cna6Yif39|> d,:zr/r&1H֋dP\'b#6T~SDEclf˩UqH0ܲը^)[elq\*pbz<,[fyf(CU\^|1L~qЇa+Oib"=)_: 9`.wb?\gss`n>pDar?u#eĸnc`̦{^Gp@9I  }bAYg,νn$F/ы:؏^iKbzQ^ԡuE6zG/F/E6zw7}aʎ#uH:R#H :҄ԙDw3ٞEWrEW̧q '1F+7F10m݀<@K?MAaTO|~B6 p#=, +]A zWл+?@~" Xo_`X+JkkZgF̀V[6vtʹd]`7r\ 8DYs\62yC'E$(e}*YFnYM֋E#Ro4ZL1 #p# nN0F.x4[l!O#rY| cֲiI8ߝȓrnǹBlBFqJCf쀙I=A : '` َ5:]? J8^///L|G3#}?|&ruP~G%b[5҅XaI` C`A&:j&:j&:j9f-rFMc aAs\anf#\;G6cX,|圫T^P 4F7-ؾ!z+;8c7 BNENCN^Rs\0w ~9R ,_`%XŹV5`-U}.دa>ׇ_óYyyyߎ 'E$K6آ;Zma6}a>lg\^ׁa*vY6vhb6C0F>9fr,m_ڶvʿ[žᳲ6rs;nlg9ob诩lH6aC>lȇ A쨳|lGp/"|Ip2o}|>ƹh>K} e1s%\'>bt]'CzbycK~D r9Q@+mAhBCȈVQ헞$JP\zm}xgi*{r ; N:m4'/aj6z z[`;NbKE]+J NRĭ>J$f7z 0B@)6dm$EF[,ӑ}hU2@IZ)IHDG)Q%7sa<4/(=m;H>'(-|E mQM[,%-!+iɯ6{^W}t&ʵm[V  `h@(Wއ܏<<<>9'rD .˃`|.ˇa|"lG@<^˃z٬ѕ|zI}d>ш&'D#1>*4jYl A^ZPuț8f;U#YI^}"'W0i1L&-&Z;saMHcl׬6aG,"؜|{AcleV@47#àiE5oHO#%9 2`bםe>l[;.{7dwY#| G^(p+y`|aW|1,,_ /a|8u0f}6 d(=~`x<;Z :>erg r C9)hGNA~x|'"OKe`9ؙEy$x<I dՙpyu%@FGLä%xms\0we %`VJI_$."CǸFh, vrn$d72t3t3u4.f9T<: u?X<@/zZїTQPYu!KE ˣ ) cf0O9~1 |pvTg3Ȣ5h,c$5nc*GiLZ)SgN3PZ&ɲdGehLZ&Sg+/,e(-sɢe2Gie2iL'Dzq }wQNm}~G)ݬ84dd:5=FMQc5=FM9~;# jya85>FQ&jfR&j}Z7Q&jDmQc5mM%}SiN`PqHj 竻aJaJaJQGS0%SMPn S(MP%MP0%MP%M?.EÔ8LOR'kbYei5c,6o`S-l %B yu߷ݠmudNr.'%ȑG rzl l\6b܈}[hp;SmEƑ߅?y3 ~04#'%УfcftfftIݝ$ЧԌ>UOX}O1)>Ч9@jvCbW>*I,:cX Db^8?N''fz8nnRw"2i3Qef9#3U@cbCs}߯TIkPy9z p@V,@#vϝa.7~9 g&\ mM<#W?uj͹lhf{T?S?dC|~`*ENcc҉ElW5 7[}<>oj/-fbb&-fbq`!,P/(R ,_`%XŵW5`-X=q bo[V  `M/kCG@D\/yVBV#]H7҃*}o1BEaծD@ A,3"!!`p%J6]Nc$4"CGˮ1nQV0F1N$p/>?I ̀l<|?L=s%ZOcvo_q;A1ps\ A-|R2@:.̑.s7dwts_$G^(p+d1cF̀O3?G$e~f,F#}n;>o)ߗ9y8 G<z 8h0~zbQ?&9IOo|`%xӟaF #mܛg N/4On`'n)܃ >!pdp6v˵'>BP s P \dm*sxA-cY^0hk?B {Ͱe9|\GY|Ѣ~ i:zs:^ ZGkԛ{vHsv29c>_)^MIuE/UM *მ`oeWUFp{цuWB7jVtXR\ų^ (VJ"{ޡ$  OӖ\9ʕs\yWq\yW^}o=-Wc^WO/J-\+к%|k+[ׯ\gqm\xEhR4M*x-x0ޮ/õR=/"om5|xW!l[V1U o[V1ULk5XւuҧZS;NaS-Ycr? 0GA8FO'IP @۫ x'aIx0$-KճRGa̿握a΅wrN `0Æiga(q¸1w qðl ;1s<l?lm%O~}a0L&m0SOdOШG=M`eiȊlg-C+׃@Eڹ \-Sv NaqY0 ۴l&f0;]zjO?ZG؎°mG'M[&]M K1_֓`qFU8|k}QWP*8sj[6(=N\rHVD΀~Mlƺ~͎[9sg4T'6jN-)lW5v*mt f$zNy'=7'=oTk(x&:c"N oFgM4'"ہm-Įu5'esSrKe̗':j[G]K-ùi65=LM i&5Sv^=o*mL8k_t(W?LOmOVUʹJxv;Ev@'-vцa-miBڰ ~%d!d!cE" qB\d!.ֳe6/gd"A9LI&℣Dt>D&&)g`ao(k|~SbiYXZeaiYXZp|6Mgp|6 ǧp|:ǧwHЏV2'K:M44cYl?  dH\t2 ą?H'#q  |B:>!OH' d$.|C AFGdmq]N"+q8Jd%N$ą?I'+qSJ\t'Y('+ gCd%!q$}Jd%d%d%d%d%d%>{~Yl|j|S6Q NJ'+ =d%.j=LEV"+q]d%N'>,IV$+q8Jt'YNVҌK'+q8Jd%N'YK'+q}Jd%N'YI3YIV$+q8Jd%N'Y _g#a,|d6>r5>2NV$+qd%.|f:YI3YI3YI3YIVf軌 IV$+ KGu|?gd%d%d%ѓѓz4???z $3 sAx.=Dffc3 ;3)5oad&d&9d&d&d&d&9d&d&6TTTT䐙T䐙TpP/# qB\d!.wYH!YH!YH!Y,IRHRHRHRHϧVi17m,ffR͎HnӪXKy& l-,t4U[NeeȃXv@uXyC3-ڬ[tQja 5Ƭč2` ūNw.K;Q; Qqz9>o{m2x ^.2x x9/'-rBgZSEɴfKx^.Kx/e샗NN*W'2>.K2>.KR>.K>.R >.R >.{[%Gowc:*J @o>..K2..K(\EKpq¸s Qq?{*GU6\n7I\샋}p.ζ.ve.7&2xM3eWc(ؾmǑNP |,^4 h!7#àQC&~Hom·%m |oKh(|o·Q6 F(|om-oK4F̕z$N|OKRTрO}Xwç%hY?eވu'AE-ĕ-cX?ec)}~Q?Gc X?ab GVtհ^8YG#8G#Y GVCqn3,P/a_ؑyضKϱ/mK%݂%u’vjKps YV(Q<ŝu^~M\ wfb-+OjqQ wlWO_`3w]Ϲd/1OpB+D(':\ H0ܡf~=#lSg=ŵ#;jjRU 8li@9ԝ/4G 255(f8 Im3&;z'S|>K8nηtu߲Az>KM>ar>&j@dA-6@] j.S`܍ z}fqٜc+2ﻑ\.~gʍ_*r-zLDc /eALYs)p >ǽrk㨱6}y`"Sb?1|{5҅t#= x65>fIGFs:X%+{>JQ8xܧ`d"s̰_ӛ@@{xuD?ѓh8a{`/jOy>[gjLk9 b zU#>ΒУžghj>~n N~D\G[bmTNYp/Y5kq >/ 좏 \P{ʹvAcux݁W* XFR )43 6LߩK(ךط'e:P(媂/c4mQOTq.#]h] :wx=r[]A5)EG9ʮ]ԦvjiJC#jw^~r.;yFM~jVz`ahH=щ4[]ZWѪgѯG'isd'WMZ}7W7AWQjcd-uY߃{ZVkDuo3EkhT=q>G'}.o {ږ'ty;Z2ҖЇ / QF?'k8[DI]bwkY(#@~D1_mMm7|xWR0>9 mw⌭`H;^m5+皕sb9Xh$@$  `rQH$@ P7KȣP'u憎ɸ\GwZM'K'{ߠ݌$y5,מ[G5蹛[;n$?'|- &6ryM]V\Ct e++rKVi"jQyIk`& Q!9;x?tI4f>fԬ̫yeQP#@ / ڢF;8F#h^ȶVX*XyFIqQ(L\&. ۣAv?Lvk͑ںIzyY_}> PX(G}e`9+ݸk:`^֋z[/:G_j)zԳ=/qz%RIz]/Ew讗X+JV"|j3Fz+.{3?/1z%S>H#?55r)GZaث{5t#BخFG:-Za5B}^ً>{g/EWj"|oq8{@/qz&% [s!e5XOs@7 5g/z#Ԩ3#)JΧr9^b01U*LLDzm/%"hc6}OAiJ\kE=j eDX |v!k%D|=~CjzvjzD}}ߞ]rVw/%ߐ۵QZфV4"sֳrNjLxq^X^JZqh+^/ڊmŋE[a8o׊kρVJ8VrNv 즾z/Vӂ-rZeXO [-V{r|oPSv58S< D"ȓd) Yj{g=Za?/e}:d=و " !d3#E=A=VitAO 6  .qۺ/AvCvG@❌^XL,/29yr~W D^]-+!kC^9L.1S7#ƍz՟*&Q["oCFAގy'r2Xn1n=#ƘLAދ>l$)jru42͢,9=L]X| 1Lv=]^,uZ|? 8ξN5LXZBSfpn OA4zݕr#cr#@:s%q^CȁAӫy0:0\F[GKwǝ|&jrfXraME Eϑ䷗w^ϥG=Уa,Dz)ۖq5*vvDf G_5_YYȄs_('.,cB猠0<#h+FVG~(%&̓x%lDAAA͓I2+@%b 5 jA_$5I׊_y=ӚzfT #;_WۜytKjz#^IHEM? }8J+#ԠS "r}H5?MMsxH7ҍt!xHxj+_<{^X)G[*R25z CuvDY@eD7!o[m`4PH-݉Tc;\w]Db;MP-b 5%VЊZB+BhE鹝*yo?/`B٧k1 |]P I!(l; SX>p Ke^*RW jAP bH!bC!BYZ_;;Sl6`N1T n@#opK 3_8DJQs'Or;khG;2Ķq8mQ]ejLbE$#~>KTg죲rdTjfD*l㷩|YNj@%gYf" Sa_FŜ_d*FnI^"~/3l<={DqA(q}+zugsh3[o՝NW}/݇O%Swl[WKfhͣ k8{ |U&ޚ!വ=Fw=:C_7vkkaä zIPF(.V)Za:qܢb5n7(k'`0vNjNKq~]5;Q)i|`ajF=L]S0u=L]Sa,tN X:K'3AX:quMKan\g9kc @!(%`q؊q0nM*hunM =N[PA pòq6aV*aV*7"/j5b1YO1f ªqJ54&`qG#è C+}`lI= àa&ꝪV_/ 와5ðf Q>} AÖRRGByÖ-)2[&`loUk5~ðcvL 1;&:op1lVeD*sA""3HDCne#hЋzRi%GL?6&~=ϰ\B >^!JOSoZ#`7 ^5*FԨR#'JZ=6a16՜A0]7A%1)!z>z~/(z4|=J<|xLœRkqZ9VyxcߏGa:t /N5Rx4`4`4`4`4````l3c0Ri{q=\h5olR${?G6j2e4 O)#2WItDю_v:x ęz@9Aoo_WXe5ښj7A:5h/s\ֺzb^1A+Xw'Oށy-}%F;G" ڗ>k*s=:fJ/{}o 3}Ů[+~P\v,]x` =<oLAP63A1Ӑq<:7j/Ǫl`!,O9b|9e`9+*k:`Mg5~f+Nv d{r8O62yC3"p2P~VBV#]H7҃zmYzë}d y5p- _7j;1 IDf܊$"3F# oG❍;*2PQ3\Y3ϳZ1#mǁ7'Z@LH݀Z~{"_[/}&g!g#@ώ csRQɸ9Ioތ7oƛ7͛M\;kF5.I?QVis;gs?8]"@}RS~x@ sz@_c$z&df4fZ/Iž2]*3aeHS$EIBVf'H$ T'Hth I0nl&I0m{&I_>vf %ٙA 7IMz1ZcΟ m`PFgQmמwdU軇Ŏ&OEpy-!k ,᷶Ed$dK6>&X10sua"2Ed>&h Q""%DKL9U~(x 9ɿ^Z/6쮛CъgPk뵴b%!ɴko4$ IoV#nhͮ綽mhR2lD9eWu/OkVPقTAhQdhV2f%Y 7u{]{auHFѾd/Kw*40TʩW xI,h D>};&'c8cKw˲ΎKn Usk{NMuV6ИVXYyG>,Qs_z`PHն;:sG*s1VZ}F>`[^۽d]z1g۽X؅=&ͽڽ/E5OyV6_ZeIJ:pyԶδxv.Om5ߧ=g^Ї /}Oe2W2ZԊGP@OwCнpp=nwq`=Q˓R25B$ 2 %w ?5#@2M03sl{bͦo$i$i$i$i$ 9Zu|_6&=My$5fmw N=(nBjՑ=Ƚ 3=(nBFZڳ#f&j0ey">5ɊdEA%ђɎdGAm~QHn3&[}胺¦٪ؤUkˈD^<[!Rf㐔[:N'eQJ;f[_(+62HKD^"Ubֻ\4ytŸi{ZB]ac:sK1G~׵wZU_K-R {┲UF.YDSs%/׋|ӚlO %ma}A髕5,F"t!JKr`]+v=@/Y#=$}BSW5~5xCNGk' }oZmY{UZAF5GӖt=>TfPFn~XD I!mVO0cOWj-n{s]L-%?;$(M;1*+['9s9=rv,83r-Z/+JG8Qg4~z[o\UzOx'G|F JtBRPBgf7D&8=QQkmC%4s#]DEi(I̕mG[n:mv*|y;j3Wt~Rl:vΊlߑ/JgFҏ\/*bVˎÿq#_[YUڥW{S}9-@rT<~BZ=JPr+:^F/J|DKlѫDv'>YI|ڊfU*x+K#UD C? (O4#%$|?M]uAM~3N񲯭V̱W#)U\ɭ5~Gۇ}m.hm_ 9?m6=oYT}>_{PYg~uSg]9b&ZPkZN?l%h"+L)՛ GB}ZM=C0d7cN |UקCcHbAwP7F5սԤkVZ׍ruO^ա! m8m|T{]Vb.Ǯ]^ܱTNPoD2c>o{(> E\>NGsE߱?3Ҟ!gf=o1SZ-XcfoNKiDݴunZZVВM_kIjiMlﳶ絟|w3=3s)gߥ.(zt*>]mox>Q} ;|Q+\ s >ZUYNz ?obV/2ۣbX}h}). rV v -8Kwz1}q yfe!e Z=l\aZ=Y>͏HJ[KIuW)IYO;þ1N_Y܄>KZGz?W:r:a- Em@7o[_vU1<@\! (C|H?O?SQ4{ 9~-|lIOZ]k-r%XVUo5Xւu`= lZawo[V  k`P+dr]O{yu8|.'A)(l.^S%<4fq~;MBb8@'tF7\m0\Mz \cM׃Md`4 I^g7&{i,טɹfs9:RE=ўh=5\ TA&fdY C&~H0ha'Ep$q ۺANw) zEjupp=nwq`"Qs 2}^ {l|$W8>Nǧ|^}#e<) U&u!aCF֣ DK}X+J\+ s=@ }+`7˓z#]g}f@ ﻐA&AY`nr 7Ykz凜WJP65m~W.`xw|wqAg%L)[ϣ6Sz~k|)]c %ĺ)#7iV@`]gjڵim`5e5x 4Ux*zQ OTe([#x]#ޥ@y'!4xq05ZvodJ5Y Fu~ VfQkl۔m6xfM ަo +4m6xfM ަoSi5=xF/fa2`7wZ+{Wr[9=gur^=hFr=]}0}cj#53Jd׽oPz}oDwՋ,eX2TR`ĶzT#߈7j>,с;;qWZ9 F}Xz+>,ˈjenrR,eXK#ֲ ki4w}f! XK ka-1%}_E o&Rr8,Ѳ8Z?R^Kqz)N$=^E1w .⟺Yo]oVTCF(y@ ѪzMqDzOZQGh5dTACz-W97MT%Po7T* zI)4%$ҔDHSi4CD!"fMT" U*CD!J>JH$JHI"z 9Czh^4IP @^.׈VC!_O.¢V9gUFTI"V[GlEZk&Ի"4It" T" ew5LzO1I^'ODOTA$BDL!PXbbh(D$fm{0OhGI>ɇOR~*Ms^OYԊz4aOv2}YdGVڟ zi!r~bZDwf^5i Ua*VѪ0ZFB~5Xւu@܌m M}ZkiѪ^KQSS3V5UMhU UA*Vs6UMhUZՄVG[665 ar0B\A{= [a4 kVvaj @-[FܢeѲhz{ehz,Ѳ ZD˂hY- eA=ve\;F֪=N4-7TSP5?G:9AMa2aO9ɣm+Cж2|h_ׄ5}mMh_ }Ayh s95a- A{w!X߬gVwX}֥}h`!Dh` A40@?Gh ۫xz.li`V ګgbh 5~4Џ@??[@?GhW npq3m+g;ZYyvyV jLGxK?Z;fԻM/lfJ~4Џů$%0J ©Hb 1l 3ƀ;zy6Zxvzr*-=EhTZ6MUѪ۰6>jJѪyjy~6Zt~<]ϐhZV7sfmz`U M0)&zތfDƌPkFQH[_c>dAﴱx-6ox^ gsoE >Gm[P&|+J| Y<+/lgf,jf%lsgV= v3[CKTc!W@/i؛cmJlDG0rҌTQI3"rx^̔kLjJXg0gNi{p>y|l${(1 c_]۔q`<?Hu'|?Bg0cuR) gX?͗b43}fZhGHEXO< x 4y8 7BY<uYǬcViXO!.ޅඉ/4ߔ}p_n7 A:Р4S:`gcRwnWCCC `$ # # # # # M6666666 TD*Q((EEW@<((뇑@@ xF曀ud~;d~;CL'#QxQxQxQq7N1dtK@֟ ZaP+ jAl*H.d$ˁl\\1 T\.,q§[malc&(eàl aP6 ʆцІІІ@P: JA0(àtaP: JA0(AlP:m m m m m m . 9hsD'08 N08ͨj''D8 n0L#ِ\d.d2 mVC9P8Z6Z .6Z61 Z’,,r}"hóІg .0hk6+т5mv߄]E׆6l'w OÆ} E b1b}#D5ې|F6'muJ+j9F333333ց%հoa>x^ՀW%U F-F-F-F5:-|ˇx|ˇ淩|+*J;;;ցOf||j;^o.X Y,,_^L|8c{WrO}"э?5_vP|59>̄ ]~56Sm޼vkinK?;020kQy^|&הty!9?cpx46td`G.na&=}]vU5_.Y/Jo_+ڹOTO=RG a֦@7>׀E~7o/%Y~}*C;xN 2^<ܡ Ƿn7#mCލG{hK`W\ x"ী+5nQNj!vo3ݜVvJ(\%֬' ~,]q/n/_#n~ OدcدA4JI->A]l=VyI)r*C\9_$ Gr\,iX3d\!ϖ'+Z9Jr 1rcN^(wHG~OI%uJL9QeF[-a?ԙ,y:Ww;r{EbyL]&.WՕJZ]#T7Vu|DMV|J=OrS)zF=#ijzI*^SMʗ/"*W+kB}"_WTX樭jm2Wgn򟺿>N92__+9OOWj=Q.7[b=EOKs9~Y, =S.ӳt\urޠ7ɨެ7&]f\:]'KRBz%uR)Qu 阎@@?uP#nߢ6mh™aa Z='[1SZ9s;k=y|O S͇N3wÙ':p>ungD}GͯD =i'8 ^haᴙx;,|.߹uO|XО~x~c>_g5ny'4;gᾳMrK`^rʖ󆳌r^Rxw& <~e\?L 7%m \bV"ʽ5zz')1ODS@;*lq[;{?U_9t疛deSemiOv9%UqSltuDieBmUն-Ύa\hVWGSo?]!tL|ÙòOij~mc;Rg6쟫S_^|9|w4,cؒF ];^;uZ{:9cޱJ`Y![K/sѮk`~~ǙU'j|ԻψKۻ&.oC7tGg% -Б`mW Ԗbv5ۜZtfcUQX ̿L}伛^Yp󺓓)~ꔡu-*֧Yi۳k)_R+駕'kLe϶|^/qm{-`Z!pvqD^8+|nqڬ'`$dWҜNUI'{ l[[r޲%oim_?ynSsI]yXdWʄn9u{wh|j^pEQjm;T =9=l82֔z}V$ԡߢv1:+gaO.|ya#ޅ>Z&"n)X}϶wkDxl{9}Nm\%=]7q)g%VzhWj؅}ސ]΢%Z7;[kן:ot]q/>Bʿyvyg=^ h[v)p^їءv65ف;©,+JI!Nӹ2@|`a {R*zqc1H}EǚÙĖ)W8B'4cѢuEq=v|rs,_{X.>8wK{ۺ'0+ ];ܬAA/U A7t;0۩8G=`P8  C_&Xp75:`dj|tiꦿƽn 1#Pu]1*~Гlzn9Kً{#Lf,zCy1LsI,?2iGfX폽уrID]0c@qiϧzvBYxKFOthqyN6{tu&;e86-7#[ĈT5N8^H>CIu:9Gi25ybĿv(s4!M؝%zϙJ# ~kJdt⡉1øc}}oawaIRi"Uֶ! Xw4mHd>H2&45ǖ}N6uO'zX$ɶ{LVyqHxFzkG0DžV$0wB$ŅP;ϛVi$nH&݀Y:8 s}c8ft nMSп\:˶99ӘC Gz~xWI`ڑ^1`^Se`gΦdfVjG'6WHαF. Iē ڈm6,mUuTIt$|oE7guP:$-UzM}Z㾦|ckB%mp<5)4n:Boih9 EztrLMdO6$<2kk6%[o A xj3#LhsQWccwоƋIgyL까Z=:ZGF7#[/3UFٚoַ7 |[<9rrw|=_BX?Tx-ПMr!#^1PwȥzerfN3/MSЄFS;^r6}>1WXZ&檽xq0Aon.W=Cd^y@{!;F:7tWv~r~Ͻ۽d/w=N +{=^r!c]g_Cyg!A2CFyv04D9 A% ڊ Hl%6A@4Wc+N^nMGOi`*]1$F'8E>y6Te'2?r}RD 3t6ӝL0=wS+Dz{LO#}ۙ[yg3L{2ն됿%G1L=3?MKOGݖ }wInj[?ȋNfd_1%|Xe<Ѥ̟kNeQ[?Lyэ'ãcѹ<ÿCnT|_@P\.?Ujq2 ~#~'(|bY*}Qn5r/NUUmJ* u^z't^bL/e\Ы]+v Wc`dp6jhiJ=Ux6ZxF? ׃V@`7`[?}Ь=ȾQ{]ͬ6x^љKHL72-f:{Wә"ǹ}lc3^4i>iL3N2p1]^腾?<4WcfB#semzϔ)lFovˡ؄zL1w$mI&!eO@Φ}{&/t#bilsդ~򏨈w8H_1<==i2]WQSOUh Gg"K%(ݭeeԝS1^I7b4ћSIv5зK`%i 2WʷTp2դ'^#+tvwp-file-manager/lib/fonts/raleway/Raleway-Regular.woff2000064400000173434151202472330017045 0ustar00wOF2?FFTMhp`F  B \6$4 4 [#PDڏ6YUS$u@R/ tԩ0Pa40FY_"ӟ[@A@P5ۚ  S"%J>+ E.em-IWb[ad+DV~a ڕuHҍJ{,w8qprW@X4H݉lc.R9*u7b e o6h7!+z:wit\XzdMT1XE|ONTjֶs컉72y(ThOs"#I.%AF [6'#%;G}e6 dM2 sf{M9mM&vlP{ R^&= M v3%]?1- *ב46f.? eId6FČ y&D&(7ky52jy20ݶh,‹#i>zE'Wo] =Q)) [Dzi?ϭd4}xjJC]54B F k )v0a*l'ʙs"mzcA[A{!Q`l7L5C>̙#ŽF%$OD,JtP҈-@2I~+>T]O{Uug1aQF1Y޿}ےyB@Ymj Ȅ[z9mL3a- ![HXp{W pn&|S bAK{tbu eݮv"{.r"m,$z#$Q#%A ̛fWw%3ss $j 6`ndْ-sߊa&'dH[,,DU0@6%0$Ć/D4GY@hwkD4&<6QYXB *q'Yw/-9DNl<'3ZpJXs3s5a/S4jpL݇/W=H &$AAXvbdZyQ=wZ(aQBt]g%IJn Psmi%B)^ishooTSSu훩v(BSѿ1)/LC^nahY꣡V: 2R/Y9xuiO77V; *t:@Nft(2 ree|I s*},#KhEn{YAeY8ڎCTߙv%0~N4~㊟(QY#F -Nle@BjA- |e+Y<3;[_u $_<Ͻ'`dzm\ì26?2ywS n& Xjk+>ޗ-=Lm(vGMOlK7 đ^|ƋMfڷ"ֶ&{ AX 5iS'JHtx!駬 ^=!'WoMB,g~g2UM5e3EO|k~ڙ diS{o|ۿsJGlO!!+JJWkdy޴^>gɏ|>fw??4F[Tӯ16qJj~e|bGPTIe5oO@Ȗ'ORvֿ!}!@ I,:0{ZQ ,U?Z]=PЀғ.IW%bq}搨ed\܄@cj/DZVۤ[xm3ѩ}4?&sh))dR)k XOpz/&|fۅAhA5 3^ z0B!.ty7߻ "b7]N?HU*\1YǗXk3Nh%J+g^o>sZ6"""J)˘R Q[Bzw?}i5:!(ß˕k*IB)2r-sݘc6Ě&)*hR4n7߰Kx}V[J3xG:xשSVDXC1(Ffjl  g: y'wyH0SLA0`Y@%@T'ը&PQU _b_;DEǜB"*Qj36 Ϫy8;#{DNĠT@K ߟFr[_Ƿ}]_Ǹwg6gE93N(_Dp5Ǥ8"n ay-m)09{ nąiUߊb@kCڭUƿA<8LMݦf6/h,ڲrroG:s/]}r-uSw1Ly:a,,e!pڨaPP3-cZ.P&weŞ*sUⅈ>]_kz5h?_#{@8Lٜz<7շEHNA[x ?qm2i&p.2IdsؑLN3hnuCB/6,TrܷmվڲJ4jYXM=R><.q]Ԫq1-950oXMZAz{6).,6 3X]򧭲ktS u'5hLh%JC;cL闙q3w<$#)b(/^Y[C)di[WRu0(#_iNE=ՊF52k,^qayQ,]sΩCLW  Wk0Fe0aX3zLԲj}+9I_ KorԲjVV){Pa/}>+*vU]ɪo57Kcӿu/{)5Cf#Hvk]{V[Am(SL Y,ۜc!_;2Ǵ BXRS#ΟlMV{02)Efel"c(]8dv0+<5:eީӜ7Üec,2 LaKi&aƑNݥA-1Cj}]oVS-@v+r/ʇ^j *B (P؎;d>l:/v8kqZ-םf`P(J(:NN EtI4WȔɔT%BAh"*S`bMVmݑ؎„~D""myDQt"CbcE1L,1;f-PK5Ҥ3ֳ;e氵{,լ]R 0GZ8{du_hè+[e`&``:̂ ~aQ K* mېm8('n~au)T'D& hD8˸6C4BSt@'tA7zYy兀瀗׀=z4Ҕ4 3 9x o4O$-H$|&xM_23"2"3 % =a$̤2u&]5ikO:TDG$ikELMDݒI10S vʬ@=w p |2 O1U%BӑP& h&f\@TT?} :GGZVq5qzR=͟gYr(P[@@p: B"1Lb$S22 YYl|>g - <ƃRJBPA l(0]\3k3g[]!B \iH,ڍ^JX |>Z:|>?SnY1`-} cekL:o. X#8vяJ)W uC"Mqf=Ws:_LQ?tc8e˾GM[?Rӊ c/utvC+.CeؽьQn>Fޱo |K [T$IVUS e#y E*JUpI51 \pTAj" ۭvzg ҖLW vf+zQ\bv|5LV f=kPiŲ̃m7lʕ/-iA#g+fpQ.D{m[!.Dy2YYUV>Gsx ,/\jy@J,9Ω*ZЙuP.fP(KR\<5`6Z_)82111111/-Y Uzo;N}>N&˲i>G'9$.n0ϭxDŽtYS,N^H(ə'gXJ+N>RQ5˅b$&'ȿLT[BwPZ W[(ɇa<Ι]r|]Y]F$EQi/w@Utȁ\`5HEqivB=)pO? !()[(m55l BM}DB^))ߴ쾱D!rkvșP, O >CTw$I--`BPӚH33ć|VS"}Q%xI*TtyBm*JUjJ^oc湬U~rR ijug~Km!rWM晸+ %5EeluRu JKOE8RF\1'O+=DmJ)C*ʄ A~g.w Pܟ57kg6y³0 0S-@8=|PX?HA7,Lw^BtҺ韾ө.x\>4$]45zIZPiF9՘`Agbym5!-ӡRl*%SZfY˕&4d[~аps)=6aKu]P|X %+,wwa^l\IɥټEԝFB\X0r^лiERMZpl2gjw%}7C/h~Yv$]0@ŒGd AL3<ÅYxhlmb@rP-ǥg (@6ٕ-ފLV}CN\|?K6r~0BxALTFPD\ MmLEӭfQTbe&1 SVeb+6;9ab-6+_DSiB/B^Vv1/ aExhx9̳G6aYb~iBKG?5RN_wI602*j*idTTմut/ 7hpŴIJ=>~! +GʯpɶHXޯ2GC=&>۔ʧ :g2cf_V`R]'-EԄ,^e?&a ,zvh!%v;ף"ʡfI] v)-yp Ԩ'7:դO>>|7:(Pa.\׿KW(@4_H,]"CPTUUUUUԢ)(QѺw}Gcz KS݃nOtփ=*ENT=S\쮋 <7QcunL;3:oU;" -VJfvr噜 ˚bp4xQ3'O "b)QL9jaTԪרI6@\.UITH}JF)QU}5U9 87q߷\U%mp"D;݌nL 'qUukd#Q@\ōKߦUV$J-! "YQGJ2pl' QtZih}Ai  @8Ju2r04?ebyY,`aKƯ[o$[0 U@ʎf;8?if=),1T0m-su l_PH+ Ys Y7$7}>I%?ޜ['39Y=wCgW4[yO*q6h5YΛv$l?1o h̥)W۱tQfT8I$cueD,re &TQUl4wittJn=8qO_ - fxsyaL4bМ-K~5 Ϗ$;RUE`G..C ~ u F PҠWz,;n 79j]!k(VD{m6Фm`֞BeG^ez&[ .gjE<m}2( I:ۮ(La&P$OSܳJrYΪrͣ7a4͍cV|r&8mXf[kr@wԐR '琽Ѻ\Ffz?ZCD+F%(=iW4QVT0ڐƜ<S߄uG{}y0Ġ AYOƔ_[)Tl =>o`vSTzˀKCyIs^2ޢw/rUp]G3iq{Z?_y;RK]h9bclr^u51 ף7c6Ϗs2>\vjݏ#-*mN`X𿮅GXJ EYYYYYH*URRb)Y,eeeeee KVQHYwD!GtYS, NQ3'O EKReQkRmVFMZz6 \.h: ?EL PyAhY'@u;ua-}˕s-7n섄95&w>Apft`87plU%()Z\K۔HDѢQJJk|~ko?hO#.ED:n_ YDH)eoE׭`ov&^@KGtbbU:I>2uLd2u:,fɃQ*UTJI] :TnL0`+r0 1 wO30!XF":L,I6"AXmv! 1n\,_:<_m!b@ 짎~%k#WʵܸMNT{]gft R0UxUԑl\.rھYp&D#QuE/F5U2Olg'")4cT*]BQro{}d4?Z:`3fb|.{T7AREeTj)J^C1\\8!#F ŋ[*on$|kWHY6F3#9tHHmG #v֎m|<1偳!.\•vݓ{kkE< OzTuMoy;TLܗ׽|+"[yȬg,*C EgI>6f M<7]r{qliA4" ?4o s~/ Pn?ԫ:l՟|H#Q~+} (FESL.ݑ?ɞfgeOFzcYl#"OiΪG/T2UJi|Em! ņWT,<=o_ss~1rF;.:;p}1UM8&Lf.3.n 9;q7-U Y{_gsǷFӜ Q|[;&9`C^y%)@ t~#Tlsك݈B((*y%FةHh\}Bf=p^Hs)РVoVSj+yQOU it(O-#[$OX X^ӝz*;7V;X62vPdОjjeV ޹y0W;i%L8 SDKaO--$cbZDߦz~]ޱݔbHk`04p,((ICei}uְӹyp %6J6iv*7Em7bӒb9><дx yjox_]op$l}ݨ莆)տMfXb9d\`,n܅<wHH&lLɪ4)K*ztӾtK]g6f,讻 D@B)Ep%С}\il G`'f=e5v%(&J1 HZglz4`z*i1 q)YQ=Z뢻Vwʝиܠ,3 aon9QͧﵚLA6hD#7rۆRQqqrg..3 u1Lx/֑\bМy3{y#`Ym# "!tgxSjE' Uo ]]rX(vR|܂o*Ҡ`V.rVьuQMєߙWgSt?]0r?`ZmYlgidޏl\Gf!- pW GbLbܜp2&22a{3[^iò^XgΜI~3c{wuOl#q}.C_n4y|@(KrV_);줠jm%]0}xS_uGQvyѢ!f17'O^5et c=eI}vn$ ulo\{ghn%('PΙDYe{s6]w+SK19o#˰1z`'_26ѐeQhLd\1 of̫bۉ]o;Gs*~gy$Iy%{ #]. GG@DBFIFNr'_ABʔviT1 S[ebVVz 4iry6vW:ؿ.E EhE|&s/EQYPۢap0A+~Myb2VEvqIJˉsZj >i.\}tW7n섄9c<|0ͨ S'WqA!YWx Qkmpu"7ݓϦ n gc\t&]8Sʗdt:~-{7!01_~Ļcluoq yU/r>t& !0X#k|Wpg&/ҫkoNf{=a3-{ ;g|hgX)ϝs\kبb+{LθiQ2:| `]y՞Y`e[tG d2Sl&uڜ\xUWԹ̈́A/Rq!l68}{ҫ'"mYշkK!aDatBo0H`ڛ:U9x&)fˡT%tk8xnln !B[]A[-9gŦQ; hG"^{X:*j?^/c}N(Ҕ)v?_d)y .P"cb]|LƜ%+lmثR N\;%i\̹rwGyLԛZ-c.[2"Sl9yen;@a-[*;I$oܗ)K 0oz;n2/ z7w~l/6l6p>@A1&Ng2E*AhAw, SeTu4o5 H ]WPĒϓ견Dwo#-y߀߲e9RS->]>7(o,&:L/$z]e kK]$7ڨmH5,x UL`+ql8*n0a/z>PfCG+$D&)<*xWoO$=p.d[^z3䣟BX *7g2dfuwL}]]#`[R!-"w%PR"9z"6 E)1[F3[$ۂ l (T4$KlD"H4Vv](Eĺtdpc&'0͖ >Fe ܖYQHȔ-W~)+V|JTa:*QD͐f67cK `\%S9ilL)Nk]ޞK5@ڲ#;)VNCxˮ: !}~g| e(u10]t9(%9J1eխfB:s{WubnNV;Ll̇OxΠ2˪1c܄ɏ8½ 䞚w`,hS|1fz<4i>j*`eD3NxH'Xktq= .- MjiioHV-..*~`C /#}_&*b\汱mp@%|?oX(+xaΤ,Gs r9֩ gl~'*(FEK)WQ(&TQXC1312¹O< Dx}00~+'w(bSԪx5khjizXc8BQj$PKCeT15:4biҬ%\%q XoNP"Mz}-./L8"Q;Zb}lCO`_g b4iU&5{m9u\A Qjz0 :ze7!YYrJƭ( )JIi 0l`.,N*B!@Q7qW`ɺfQX.UUI%%?=p!ץРvθx}~YsׄD}v+QU'"(RVǙ;jxY{Ѐ:Zت06r>J,W4-˪8~P\lN~*ڸ3it)^dotWRzI B'%}Xr8e-~ LțCJ(=컋""`$,%I$D<1OD A3dAbH$CR3l5 j`B`۠-˷D;#~H{#]hzrI0(jkԤem -Dȭ$t}3lo6}B/e lع\K;!DNŝw~ft`B@ Gq c.%T?kpR w\ ?;yFD-XdGF5dlm~Ai;6]l˥A/۔_;bV]7w=a}ZlwYJ^a?f7}@$ԘKPܼMn"j#u|ޝGLeο§tG5Ԫc0 £תZ~٥(irGĤ*R YmΤ>Ѵ34;(V:1[7G+JOS;pVV/&NXD>)!YFfds=,[AvsL 8X%W^_~y&]-scy1LzNJEvi)͛SPc\mF5q;S-e^= ؃ǙשsES>~v:puyOrq]g6?#R~hmL0mYY´x6*2ƞ}MSG<.IoKFk^O)cO,m'3+>a)DDp:emD{nyrIs$Qi=þ.]gQW%t⯇e`@4eş{\WDƑLZM!CT 2ڡfggeeЎS:|%K9d@=)$djUZ_k}p.v-\;cOFKVh cC%Ō]ؠ7FaF1T[X},&JW1 Jt$R|du @96Q$}2= -W2qSRi.[bcl5]*U-ǚ)_Zg}R9Cyy?>c0˟~J0&Q:'d7e>EmXRm\&+o ~.ӎjTnK[fyʬ䶕xmwCƗ6NTu-o57h3)G#1eph//Mzasmw7^nn=&1_)챞>m.j5nHC j輕\bzIɕ.s p Az&!<0ODikg]sxK3L,f}v^[]zs'P ½gE<56LT)9ˉEr]]St뗡Ʀ]}<8 ,Ӄ.P<ȓ # VFMZmO $jd+<V4pmN=s>}OirܸMOH‰^|駴K\SХ/*Jii)-!vM! TJZZmyJ//,6aX߈26Q|SCl"[hEOi*ū  K -a'5VQ?חԀ] ɔBPS([[t%mTggvg'sV`y.%կk@{} 5 4HT$*\/mM*TR'Y2{ B !@(ZĵQ[:O~횢GCOY20NzO.xgm?Pgo` o+ύxaX&0铙:o3_Yh jU!eFQbc@G)#  %9se2c-ƽ W.o@䫘BBz &(Ȕ2* }7M$(/6,9 (].[*p6NHxdE^Z+a H*0Ԫעr1dxheoLՎ:s"_EYL:8.*<s(J F,ݢPa1Ba5^]A]>)?UP[X^EIlr&94 C=> S:TER.Hl'`,ĜprQ-FaH-"TvuCx9WCb@\ɴI+w.;9UATQ H F;aݒdw.m'}:slQt/vU[7w쩣I`PM0 DTe| frP)&E]q>yٖyόaHL#qճ%A#b{)Pj3b}ش|yH>_8\c@H"C>* SRe1 `>|r3dg D O82&Q|QF;lȰ4.!ѷ|rA)5Uwг4tՊӪf< Sy[-8a^5nbȀd^aF333LtYg 6`fbOۭW؄.謳O)rzCU9`n|/m>7gMs$IB! TF7K' P0aB!i;&DmD 䤏] 9kΑ>fH:$OȲFWдg[Nՙȱ5]I6ЫzZȳC QROYt_['<QTD:c)K TfϏBg 287gJEdc?Fb|Ii 8LPz2?04g6īVɅzą7DM@,rNsYqJs\2f`/` ,YU$n"SŨoU.=QtA}K |` r~xXG7907$lc eSd=ޛ F .9jġ~_ DeITRT_;yE?P6r>p,D`Z DBgD|e`BM''!o.{^kOo<#2M7ۓۃ{R\#,6=====xK*{ [O0[@zَpð&z}`eH&;w0"Qc@taqwu DoŏaɩkcvX$`x3mX* ʍ.h|̤ɈLY\pe#.kT*e5dz(z.Fvw8&T(nKh=LN2d奵aEM5N*<);XlHРΎN9d3L?dãfg1?S2"Sl9Cuw}my.nUc Mb$kUcOT74T1>e{ >{u60I8ǯ8UÖa'}n2&'EBFQ*ho2TɈQo5mXxDBӏYe#Wwt^1KN8iE%=:3w/daadJҞ7qNmsLMMMNoߖ/L={q%^ޤސҔ)Wѥ۲ngĨ7扚6,<"r=:fUNnmŮ 5]1VPXrMu:RqxG:c9K |rM@ݮky=>˞@uMu >9?&V@Ϥٳ8^Õƃ', Uƿ)aa,천CMłkw敻t:Nѷ3hΣjQ؅ÌG0ӓzO=GG _ Hzj=V o7]qT\u:H6#+buCL\P[FBVe@wELy2142 l4?0aL0IZ)Cw;WMOUuϵ#u$C},qn 7%B9˵]kf:9yУy1P xS8h(j wl#sCq

        z\ofHuFt'/ W8f#Қ= om8RF0bb&7@딚zJu*v Bڜ<^6`0 c0}&i{%#hU ˘$4kL#viR|OvƵE&0;B G?vՊQlpejt0PbT;Ov&kZ(k';oxyiw9w2(;.mKz2I6Ȓr3X#ŢY“EPx'ķ!Ċ !B 1? Ȏ*t_l{G!‚ .3eIzІ}mbEwZAu:C[u]dž=3YS2K?@RC0Gb2%-LV:6`f)&L9qd͐}zB*do2&qSglm7s tPSGYj$kmAb7/Cjl{~v<\ŦыRT )]H=>oD$6ћDͤut:;S,0֢ͫFKͷ̲݊]m8sަ ٮ\m 8 ;\++૖P&w6h(Ig3K9hxW:n+Y3JμkH=Ӂك83МIN\&]?60wY/}-l5O2FOzŹԶsN`i@>6Rjt߱OV <.-CE\jR95_)tvSdY}nTnĚfH*WCߤutoJJev mKmˮS|?}Fk⑺p֋V͵0v"-Xmyg:=$){2[0J|T \9'K[aTBF* sO1K` 4xѷ~廵gWOHxÌU社f.^mXZ(\DT c<5,m48'ghSf]nݤ ER÷uWVɳB(g"&%)XRz=GG'lG,M<@{3v'R'||eO(}Y`Xe5;s!y\|$3qtKͨ%Iͧ)A<s\=O$*jTӯnl\Բǎ8Y*6W6.>_MK͐e}켿CX$8,7 ~ _/fh\G1YHԙL( ɳ/#.u?&ݯG/i{_Ϭ~RT8ຜq-F3)sa-hwIȎq.+Cw^<8Q:{21zUAءqhqFж06u9|GuԌv,y긖ʌ RTYx<7vhEIWy;~?G6$$y$K|'UNpخwdg`B' JFɸ8q‚~d ;( G©qry¶u'F"޵r]]ɘ" TX3X'z$JC¨dB`6"w(@F U0;YI'A ŞdR9OJR`Wu$_%v3n c']8lx+14X;{gldbe6͇wIZviK 7`Yp-J󀙜rDXb_;p/>,et[4*>&^*;љ RJv4SA4fW0"sɇ2⚽q VPt\iRQ{e.tR!R|_+Ȭ~M%VԔl.Eձs5CM]YGZ&r!/Y:&jZu4lԤ3l _@",9BddjkPjjc?`}GN\ZQiEuPA 0@`*( ܖ-]d)sv=9%=8]\c ro4ax?=yy)_LKN %4ҦI/F5V}f3)i&XTPM#-drjmw庋bS vf\"`6L/-~~2zK?$C6O#21VjΦ8L1~5֔|(ɸ!JCDH\6٩-wW:j43~KLōqG"qt5ƅw1|ƈUK_ X17*;ODl=1O_{C6$/o0E3,s؃ey?Xy9&a"ߛ#M+<R5>zc;H&aǝ'EWnzp:),AE=`?4GЛr&NJ*b{cfp x`*ĐXB3HwCUTNGlAG$;I4lD~a˨jTC-s5kYϟlF5RcۨDC EBFC=!qCr[@C|)JB&:-|ݱ4q^Xљi=sζk468l#ba< u( 9ES 9Zg-&P1&,O&0,2wN t`u:3GG|FRedu͐ߥg1EpAi5XTjUujy||8.2 M;JԀ/ԍtn+[_X!LGh&Q\qUs"P+P=v3fIe}{ɧ٨۬j(NKN/ J2Xۂ E';tqo[NdNt K0i.>*Զ -1|mSPT5]*"c^@8iRlAD zF?G~Dң>=2Tts;F.p9B5=R?Ճ]Ā0kX<x?JɎ* lb `i/Pr܏T^Sg1PcjQjcfm{h )܆DG35z!A ~T; 1) &Jjhkzl߳Wv3p>P#;;OB.sq^kO{`~/0r_Q}X5%m~|1GOPM2)C08$o 0 njhظGWEeI&)8 Vm޶`VފuDqւ"C%L r>DBMq!vIۚUiqe XdW76֊"@tWt[+]]E]QBT/Ea_de,Q }^tm֒P;|ٳf1-m}{:3yob?Pd7R#f3b'měEfk5Kj1|R|S>@ ^m̸E9B LQVzl 5kҢUN@%fK-*QvI5թ -)re$8ZaioʝDme).RMPCHXBrSiX.Hʫ=DB-)P.2 1eʕZ[pDU,n̮Ёb>wb_"DH'٭ls(Fp;.-.mdRVfFׯk蚪IΚuU#WKQQkk*+h$ >r:p9nN7Lq2zjDx*ݎu.Xvpছ=V:2HAh< 2s?(9rT]be4j6TO/]xcسcYNc%TUY5*A7a 2HkplK"HËDMM!0\vF&h)MK%uIU~%$B>bID <Ńi_ vyHGjg캇`)*)d8\ݤ<&:/?t5f6Q.HwNj2>_q_C-TwٚYJMTbkS~v[%p5{nm/lt3=FÑ,jL ٞh]pйu$r-]²=dRnC{6zu7p~.i`f^<ƉyI8=vJ~<3)GI9?^-읏`9ܥ/ޓgv%'e3s٠nǾl'ٽ߻H-M߱iƇue3tq9' HK03v'-| GyHd':Ddiv-4LndM=g:2ȋ蘞M%b#p%)£E%ddaT1fV G Pwh47j{YW71IY篗F%d}/ĜOGR`ߙ6zIuz[͐ 9rl2LBH18ZSYD6ɱ |+\Җ{6j5e^jh@f+ia! Ei(E T3s 0*.p"#m&X>Ɖ=bj5&#䦲zdddV!g*'Xܷoe|MIfAcT&bKQ*#\᥌Yrh.lQ&a9e4rmQT5Oyي;y% E1$"lP&ze =4z%&:~XTd[j.@tA[X,Xr(O0:ΩapL3CRƴڋ9eF*[ѡu^"xXcKFO3A6<%(t|yP<M*OOvK5COcaiJwذ{C{;(mO%d{H> deH.؃e|:2-bD0,sY̅"Uz E 2|h*Y9fE)gJ@g2$"x&$"=DHw0sښGN)A/ų4R fAPaRoޮlhP pO+B>o64ئy:VGq?A|u%۳a!wǛSxxbGh5jƤ7&8`0oe kװٗ'z"N k.J$4fC.w&5~1~Y%\R<&'$!p#̻8Xñ )JQyG!4-%?G%0hF8 qd3r2Ϧ3q ~q%>5?kAhRKc9D,&A oBs8T:;O{t)v<ž=X)5\RG[͎OD8HhH Ȍo P( HB"_`4@N FB6eծx.w:x20EX1" 1f\BsP oξcUKΤmu~}B .ނ)*B],qxSzfߴFs BT N*r0"0Kmb\""ym%wI$V<%\(-иzR>ԊCZNXhU T;5W$yD!mdDZ-d<,HQէӌcdLgۂ{>R-0k.Lq/V A~!qḢvU,pfw2DS3kiCY۰fvu~8Ã-_%$UE%z&]oԥX 9xs-1ǁ-k #kD4HҸהCdaA"仫PeSҊ\1*>5bJo'f=  վ*1^ջ$"W*=n5չ\_!02&~Z-uS0nh 3wf#zu󩛵T$3Yxg5g˙k,'0yHޘ-u'TA:P˽d WHdvTlgM۴ k#crKթ|ّ:׉۪Ysz؞ڙaxJ뻩pڱ0oj/l{2kl]r*aPI [K,n3c30AW&$ӷa$ +j/@XAn,AB9%Xt⣼n@[gsb꾾xG|PQ5K~ K₨-`Q_˘gsHUK:50ܚH8$x, 0dQ2φn'Ҭɝd-HzIЏY|`P[k ~lM^z_ոƝ%- />S1iC "KP UѠ=x2:ͮ<Mmp%k?p[(?05);|)RԬLŌHqEAт;.P_dK]mfUNuqkfgqK`8|Quw(h־a{|2Pv֗~<8rJ@AM xk7 ckC߄%ID"3@54|E] S"1*u%r߇2d,e_H* PgUF % C@t$2!Y,}PڔHIT5FcYLXv"TP48 =:TB(),-47tWͥ{RXy]-qf cXsRR^,7Yl"J<]/>f%zRck$T. ׼ c?WZ6T^E4Le+QV,5%O|y-Ę2@5 ,duCҀjDXlӒ)x|>cDP+6P~-Q# ud޼P gxjFUM_fv>触[Rg#v?6wQJ%s=ى ӝr\p=v+آU''GzboVY:n6Sҡ1M2 B*`[̢5ԛT}Kh7v˖ _U9bCgD#3TI:lE$Z&~ @]ʥ_̂+Jz}bŒBҿ'O↦R642 i[>$ &VPvc1Ra׀FmBumkG5>q[g| J#I ʠ=b^(&)F,?.o'r1)Z^bK^)K̖K8qf#LAjH F)l uBRJμő[=$0vA#4|-c#Sf6 pS8}p}vwLb#RɂT-8[hy#P/8tqk5Di=^ຓ&3zMAnƉ1$Rk̈KctqЫӽ9i @mkxs]3dN\*6" F60qy6^DZ7PFBgMWѦ?DCZ9ZU1L;,~8h4 ò:K=MDT.A{%re'CT!?va֞=sͺU 46&Rs1FmUXwuw_x˷!1cL=Iߜ&1`L)g=2.tLr4˥#icI.,`_6 ŋA2mxGdֳsƀ*뀓xk1޳pZPAҹmMB,-~ǭE) ʹ+8:p$WZ%`cK k9 5~R;v4H  r+%ԝHz$o 1n>sMtNKxj@7FsVec\'-CZMıΡ5aeBz?(m.>W͐!xiO3c!pD Rv^B愍0!T&Kq(] . ׷YO7}08߁&P͕Hhl ±t6.Ӫ&<:EEM~ ѷp>|,_Sg=F7 a3*` *>,ҏR4=â$~2)- +͢[z/_s̋%ex6[rDVuh fk8\i 4gdh$|HɵVZ:}x/+Q%Kg} +y {=[8uobEtV>( bcH4v8PvQyBNo|DL31gS:R'!,>KSgPɃS*+yx {.Nf~ք<,NT1HbwMBܢXY09FI=j ֲ4EM~=l"{:f&&XiSG2)ԡ`Hv}Lpع4 {}+0]l?,GS ZI.9-dbƏ(%JiKlXE8;P`t;^Bw]YQeaX?!(nA}nT2`.|w_`Et7 .*oŶY^ $L9w8^=mSrE:8@\AVojLǦ,o'JKn'`^l(,^5(oN BQ k4YZ+ojeyғ,`(dxbhe&2  sf̝lz@RePiS׶>:8.zH!恿s$(؋ @b~l}h)7[ ^N蝃¹]!Nb}{Jt*gHz%Iq֖]j1Dw]>.4~Z= 0o_\/`߆xb# KLcvh8tz  ʐz#L M }J S46=*@rےS@d2ol_èLMۙ!mT1%Cx(܌)dR0 ][\e${[ߺJU,$N2qvvU:j,IdҐׅ+eZ!ˈt{@Gt"dNH}j<Rvm67Lm5<0Kfƍ;BFWX{Ұ,l1/77 C@җsX(s#Ñ04>aPڼ[\+4zM0-) {.E:Ҥ&|1-<MU&Lk("7] N!0PjoAhŁce=IDʀ(~ř])Sb FEi>[#wj1ym?^LdЂZTR,,F=ՕzAmu˺$n p")! +1(% OnX zp߷G: hf}LC gȿ,lhV6d(ʾP$Tq`ky,-lq7Gri"3* #`3qFAr[i$Т󈎈1;8k&j'dp. lS084|bؑ}.X,>6vY*C;9ٙIŤ0ҖR~-ްjL YniwM)`k6E;I\8h,,T޲ j{.m <;}>w·uY)/h}4.ߜ_#_{)o'%Smo w'`?;p"~b o}] ^Y뮉DLc+{TCccw!%^1e4Ă'FXh 8Wd7GTDk3R;>;v8[ ܎z'46ٞ+k䰿hA4/^*y"CKWQdP3NO+նPrB>lQ^:00]drDwA-u,4P`og8{$Ahƭc:wa'Z\j'!]wOMގK(D! bcuM!_2CA~ Lip<)#ŭd@T&.z'u7ʂ__6M*Op\%b4[ ?-BpT2`P*.Wp* k ԎIc䔻,{{EDu&:)$ZWGrWnFl3A:ao^0ZA6UxuS%!'oTArJO:ᲈ)YtM_BT""is?^+& $49Ss tkH{Vҭ[4ݏw]pFП`rf:#IˤtSG)? )ċsĩ|%^pfEQ">Bs\9,caIUF5\eXD6jhH3Z9-vJ0c|d;bq-.x@s. ]O$;'3mW9 mMyۤK!iBc3;SpAL\ VuSA(xr~/#f1<%4͈,!<?q.UEpK ڊ&308V] !-kxa3+q$JKfψO;dW]7^} ]T6EMLKfqtp!s[ (>.:l'bM^Qiߍ,֎gSL x9=4=IJNpEk*0OB?_YNfV0U`ʭbCjN3#{BҧD:MK9x5N04+}g*<?,d\ A@!- /ƙ?k\[ )|it3,L,u?;Ah}P=.@)l`<~'Y[JlETDƍ$^߶~TsUZ!jl.9s,\gs9Oiu@X(%-8"u)Q13^;8NNU*["Lsڥ/Bɡ{Q4lnWxx|qkK3toJ1ѳG\L[+KW{ʲX vHRgS0_N`f.aܟt@#,itCfAuT>\'h*=^V+rDPr͒9oVW7Է'ڜ>/(+ҤY}E16z \i~CI:vHgEzaY&} [DgYXclV@`z2<2j|AF'bl͢`H; l"- #scʍ k7y Qdx {ޚt*u>,zh%mȨkzhB2 fu1$ Iǚh+ꌵr8hQ?Nقk$:Cl0[ bl6S|<TVʫ z&QпZpŬP 8).@fIAxsxJokUqͬI5:3n.(bժ4$\[o  ƒ+]^V)a5P5!%}mo'm2U1ͬU8u-Θ^Al9g ʈ*լZ+W6lLmTNܢU$&B 韖Cs̄vL-SpjrP"DB]IG,!qn u6աrlb%o&1Cuѵx~>~qLjr+q ']Bwy*CAwPȉkFFFCZcjΙ3>II}zO{OL'4tG ,Q'osqŸ*>>ÿ)=W/?UkQORqҫ(&mu:ZeZun֪Vf[5XRbߟJlY9;t69#∞]I@7-.5=M^{gry {iG?w\Xd1o1ubRj{whsmHݞ^L)).ro:[4ڪ: 2#x IM2L,ڜCt #ȑeeﺤo-\WfۆSlzȆӏ~>euPSЖLnO/e?wŴ%Dr> HɌA֏6OeD.+uu>/_l>@caTMSGSX^۰R 쐒O,SCaΚL;{^H_xXm[g?`P" ,H<ieMdCxYY1sʹaE(܂vg 濫ſ[6l3̿Psـ>U7kmҩ JǸovlյoFѫqiX AOv+8s6ଭ^gA i=9KLK漬Djnv㟏K(|_s;Zk#H8 ~Y$}))S2Me!gӨGufUfSO_cӿpq(er 2l:K/ZSƼ4>;%0veҪS!w jZ'Mт-:Wp&%% ..})Qi|mdQ3NLY*2Q0 URqP&lnhb2&i٬?>7L< UFWQ(DwcH"H6lZsO-F%B w2-O̱*.LN"@kŢ0.z7S\#FnEi 8U"/ߺWWo p g>W}}{zmFHܬe%~+(Ys4OvX3'Mer+#.gݧ3s}$+%Ub22ȑ:$c/G9ekW4&~-DepƷM]\'H92-U[*T5iL)Nk;zѮD 9";A-&+c_~<3#QӦ/Ed*EXD^]U٦HƊX,nh&RVY*-tzp=岲T + b""g.FսUЃciBG+xϪYujmxbkM Ctgv 8BRG {¯Z..1i6FXЫf_x]@p3P<ښ/ņ }.j-XKqUJٖ@Meҩ7vJ:o4t:eϱΦ`4La0J8h,~}ߓ;"xFO h?ިk2 m6SK~ L|y{Ap/M|hY ,!5~MRwlpk f{S x-+vLA~jwQőBDN+ԗVmSEBOtQL"@3aZg Zkh,ªsѐ d(E 9 P>V򂯆mï@&r&AuhuOUY'HVIAb/~k!w{' p&V=*u¶TOZdvS?h$0@F:dT˶-K?>VucNCW.+V_*>,ww!pXA2Eua KE}cXWqcqآH³cEŧJ1Or1L[|# $9e&HP&WmY4@[?9(aґEw 28%,3bX,1Qx =Š6R$(TFoy<-V֫ܿx+yac+A054ZBRߒ:+φã0}bp7H(hO=lڧhA{ gjxe'g3C klgLiF1.ViT.\grը-oeV3CFCҌ(="koIB@>^Cԡ/7bcţO"\Mx;YMBɽx v(*SdUi=1@ QLV {rtz ޝbpyq)L]0DEmÑ#ylLt=o {! ^?LK<{A~s>d.[bTrH8ݕ8$q b9MφF"ъ5 da˩|qs;ln*w>'ݾ:ñX%x="b\^JU,P[na F P6RQMi^_.( e9>IT8\[,nSF-GF- n~fi7{`_ҫJ*E\U (BPm2 rsx6OU|zʛ漚wO1&K▟j~?F'AGj4INRИ_`[ 7Jz~@QS0P|FyVc MǺmD[}HB).mko.t!XqzygQ~W#$=$D _˼_2vzxdF_m۷:NFal-sohsOג^]xyg0Aȍz{L~jD3iyWШFZKh1xy a|l~$x) G .i)km23Oonc$)/@3 Z(ѴQdoxIҪh"*qÓ0('viHT8q^?bٜTRb]^JNE8&^ox#KsC3k XkWꥡj{4&;3Jy9f٬ȿ^`ZM7_Lgv۩ܝ6_ [WQ xF]* Rƕ%*9qYjt}^kjpc-k:(E42Vi @$)qD@҄`^M>J*MorLemqOv23rxSNY}?H'WV`-bLu7eod}e{/7xdW'oaMΈoyFb84w5}_?ݳaҔ8!vexrGad8fB > QMU\jgijBdG nuʂ_;D .Hv5&Ma 3Ni_f۰6t MXǷ[7iW#:r5L=1s[*"겍 l&-`~j`2aտ3:s|*m'0#%-6fM L#K@/۷q'(q٥ev̀r=Ah?!31k.qٌ J;h* U!CjʫmK6Z+W7CM"g{ehZ6m\i{ە6uJR\}>eP)bzóqC2Z >##HyłM/ n2YX6J7ᨤDPh7,0YX$:V?/bdO3K}I >>;?~չ8K!xņ/0W3Vh !ꎛ޻}WcJk>Kweu"[0%HVw\4ʲ1Hʽ"Jrl odq tm!$Z/Y@ S 9SoN. T`5"pV4w9t: !㠢@6׷rP䆆3Цvޢ cLOƾp|2fS~xs!?ddF SMi='下72cgG) wpc?AomzifznKqT܂APDDL) Q+\>΢M[vnMgANLk۱&O[/Sꋿd8i\\XKISeJ)ua: V3nPɄEr%3_lt&!"ta Bc9Ţ:)݄%h= ,¼6=J+6]8;2rR2?W-5Gj('ط_+qaʎDNfᱭ,}lQC2ݧ8cS'45ו[ N,{;dN4%=@rZcVM6EF~JG 8l8A02!#FB , Sl2G]tz#&4ishO3BVnpuiuѱyz)/o; ˘W5-s&{,k~Z#o_䝓 Fae[=i=.<Ne`[f =zFߔGEOO鈂ϼ ANMF_y^k%HP>r[C Ud'$|ߕiͯW+v`{qAAN ֵٜwܸ[s%i<HˤρTKp?< 21ǵb}1(qICe0pߊ=r@|CrO7}+X]Ҭڝ9Ln>3E2ǔNy-uֱ6ظoJ"o谂Z;y]oY-QږAqB!S2f bIVGYXT(kb30Cڶgb =7=aҏ&AvYgUu${/zN/7Ǣ%ֻ7c8TjY~(+" Y. +>LnEڵhőa3P[(DZS;OaU|`lM@JK᠟+Ìb7Ov` =h-F"}0k%po2^`N+z\9T=c(aX]_:cSCR̤O1yKs@| XɋPSIYa$nʞ:TY zB! {M5YlLH]N#&<[3iP|3P[v,ݽ٠5d?RkV2k HQ9q-VgI5L[4 ɤFD:AETa?]|h][/{@X`/^L_ B f 7sE`}לbJHkvAmĆS&aUoȴo!+E*w%ѭ_6K{){nD.*ۋoihU<=]_ ϕQW %RC7( œOW5r`\bAPT lHH+ bg`Kg/PȖSeǂO;]?8^M#r@`oe=p2Ӿپ6yPg^|p|Q!!Ө~d:$0b*q[wnV %*+Aʪ9Y ))=*2%2-ΔAc~]$;SCμ8"p| >qRW+b2&;Js'q%JZE<>kէN_ol bjFoi3k~Փ0e! IԊ퀗xH$ y^@,M uvbuȺuT de"gd2)Jk1jopk0&Zk[oU74*( ʱ䎓eTnV_r'7 Rթ3s=%6̨ЄuUӄʲ|K k2A{,32߿jȵh,+C*g:jffIpM- V7eޢAU$"[yhm fElթVq5Ę{LЎ)FQ#.Eƒ;ɰ(r(=r!]&lO1ũs.a98Ϩ6\tZ^v,W&;M2yW'idSdVR~PX7,N.(C(r:6 uqguaBįCF0w=1U6`m2׹ҼI܃\0T { 3zxeQN : !p+%^w\sJJ 9The&@  *}K$kӨKI4+y YV C.ܦOv v6-NF0:˰KdmӘK)?Mgo)PÖb=^j"{lIx%9sh}ۤ ړ.<9GO^(tnS#Cs(b˦,눎xȨ{xg_˸egE,{A  U1lۊНt42 f!dj Кߌh% <'3}[ҘG(y2av^)3aٰTұ+--Qˢ]h"(_JHL.;ʮa7o%S y7z4x\Q2<͇IF5 ]\`B2Vz{>{pӲJeq?LW\u/4.h;{2M5&oBu&p3 *-eEf Қ 2O`gGy/<f5 .k ޼J=![`Fmz.(0gbM*rV' >:, AĉthtU TH6NҵI@qTwv  ktobZ+kFq%soU^`1k-يHK%TRٺJOIƣ=NB[ڑgT&us549gg5*ӁơUЗzmZ(0|í1fFݨV1 zϦ[e2nӟe2Sކ\>d5jyCuͅ%i4(nx81Q6y{۱wBFZFV7{e_d=VTD9*P# 2<}27M>R:nE QOY;Fޥ)y(Shp|S)F(*QHt|zmP_,ы6~d?l.R>W6^F "x/PHVWv%4Dwk[]>^bb@W.f,,8,j/kb^ܦ8`5gϢN냦K9kRA,{xKy~^RMO~E~5dӪ%\yaBӿyL;QU0zL;6Dkk> @;IW$'@ oHYe&͇ᤂsͺ3YFhCKԬ8' pxWXo)ǀ0:TbWFm"9;zWq'Zx7#ϊ!TD;qf΅ LzCsou6)̆ͩ\q|$9i8rL]y7 X_#zX-k"_ĵ|<o?tHmT*iyGnD_S9a&)!f?BZ"B&q;AؘSY{ղWaԿ=,$iPs>~/luk?kX7f~}j~7BԆJZշj=oBTYL7W5/&wtz(}g*bTx :2?Oj#%1-oPb\?^3D[3*-JԮRHQbc KmO$98$'j4M ږ%%e֖7iŘTU슙jQ іah5zRν*=h؍s@pQ֜ˉ͵8ߝӳh< %Tk1u~U4qرv0|Ҡϙs|XgMcIMK$*5Ypޫ oԛR!|R!@wu_~_sr^Ӯš5}VʛIB"=֯[o5k{e*+5#܉#37.=4Ib]F'?D,/'ٕ69zlr;4`T{'‹r2pgHf,cD0%;⨧~U02S/Z 7#oYP0k(6sU@O;гm~@V,pe3N5鄅e*3mCHG}N2&:@_) ۝HS+&X^wZ#JgL >YGPbdX7m 6#"Vq6y>"sܬ,9l]0|xiU]3@{U"H rdbOu,Qpp/谒JR׋o[ju!-{ ')KuRI7o'\4EDD4Lau  Mf6f (YXFh#;n&S.ղ jr\ٮG g`YQxk5$F[ÕDO: {6UwtCj:SHqI4kilV6/4)EyҊcݎP_հTRc0TpL೩PIbdlWinpjDc0s@8#`chO$\ :o_Nh/$q".ax*AYs:SDͧP(aFԠA +qϴMەz%8 m5\rbFɬsU!3Z%`$֤,_٬Z 5Y% l| @̾Fps{B d[Rq̷ҬLGdujFk6YVJƉeGi1Gp&ޖMҨ>ofQpNWjᑐf}KzXMS=Wo T0CSA; v9)I-Dt,Wfƺ}P\VU?|>7EU2ҘWjX,g4j :o#>L3rh3a3k2s:pE  nԙ4l }@g0 wJZ Ќ1rjA<69gf:[x=AiU!J -dZ^Wr,MIH_ppL Z`]nDhUr`7 ez޿o>X߷^@&bוnz+lG))AyTPi4@Vثް] kD`Et )cӋj=h +ߛMdw 6Cr2?c C{,Ӑץ$n.8j76}~Í8_*xݘHt!bPVW|@>8y> سHCछ.|9= ?k$8^ \ G9%vO;j~C-6Z]T6H D_ͷ:xMC~)Lh15؀`VҟdsphCgTbDR` 7Qh,PpF!סƊc]=?ED{H/Eܗ];,ry/ad: I(!?Oᡁ(9 ظ5^7Y5k͈f:i5ʔg0jڱ1gkPw\NԃKpR`cHj5 i$)5on`Jtpf$<Ϳ]_t|ԤSCd4:< _GuYYel<1*xpYY}q;LñgOWƉ4|˚)KAL|zoQyiiF QZ$+K^t'SQ]Y "NB!JIydbث0~Q( Q硇R @;۹9_ .&,7M=&#F/QRRa{GHgNO9ޟc;pg jG"qol&Ђ)\?"#"]'\`p Hl-/_)| @bCp V.І:uQ3 A6QoH 5xp2r`HN3[-6 >[}D0w ߏ0ƽ$$`<"ك Z*@ ~u1"M1́)n{a@<@4474Ec]ma ,:_x˷> Ga#\vg Rs`Wρvo<_D*!n]fLv*  0ڛO]lFC?p S݉kx4~b~_&Tbg|]āzzM2QI^I*?UƆF0#3S`F{|-u'7c(H4n-Iݮ*bqd+Qw(^PmOM!F$HҌiX2y{PoX{91޷25c~\DbT@o-*AU;M8 ARI2nR DUs꛰V# W7Qւ#a6]0NCӇ;_yYLM;0uꢭף}Wk-ƱFwHD ]FIDF R\;طI;#]iq/%xN9ؕ@UðuWAdgFi ALV3% BU)mZqAHʶ3D)AaPg;sQAbB1WLT$F!<?v4~yV{49ZFV,6b( 1"! ^N#');T=5WzK5EhV_T;v[wH"JQ-FD<E Ja.ܱѵ*:0}7> ĸ 7 01! ]U*0hqv5q|quDzypޝO~UNՕ'Z>tY*z{Fik˳%4iHgidZ$&V ,E C4`QU!A6Y@0Y84 y ż. ֳFW]*˅n1#;s !Q1-$B]d\X։AoCR֤V8naTz81>};]Bt$qWgD&F ͵$ɰtӬqF٩mo>հ4d#JBr@0}(qwcpeJQ."nmJGBj]q"fUY;`( +tdFBb)!hwk}y~P <Sg(8N.Cu8: G󱈯CK#۪Ce{Th-WKr^1My:3BHW$~wY_WH77V9u$/qƀϋA6u^5U(]vke*Gy_.:*#zyl:M(<<֪?h~ldP K^ܙ5'\7Tަ䵩;<$=^Sy#){9ӟHkh{4l61C |3xPw2vRێ=LJp͐mVUppZ_j&_^5lwa5wn8..y(6<6|s.vlo5xqS;sΟuRCu Ybr 5M ,.wy6ddI~[`0h&js%C!+5㐯~eC{z6`+=s; {n /=wr?އtr<669> νy .- B+ٍMw6}ߗn%ظz>r7:_?=^Õ=b{Y^hu¼ۑL!yz!-d}ڔъHvy c+ڟpoeBYhwk [f- Ʌ(Js W)k%z\Hq{dˋ'ԓ ]iݯ}ۢ6GS}_̳J! W fsáSg}dC8ݪka1_Tz?*2X휇8gQX?$[ِKJ'}Дĉ*/gf>}%?v 0$}:ȒTưIo{?rsիk㬖t^l3ۉCrUf㺱zXNS DJޥ^<}j}REӪ1919D-V8?d_emk|3ufl{꩐Y麶^dF%d9΢Ԉ ze1nR.w]nO|(2l ;cdqt{k &GOPTұV 5u0_ D衔]Ő )^R?;dz,E! ^T܄b?]-'v+2N!)"JDzFpP|"-8R0z3 d*=NFM@B1KEEe+rT /cE1ʗc[? H &CɼՎ;6X}Cw$v+dgaZ\n2+Ěv呃C.C׊B9zBin!JU|#߯/rGYR0£q }d|t!=bn y+W<f6hw ^3(B+3[#cĝjB +^b?zz @3Ctk4ߨ^H_Owe/:}DHIV 8\͢Σ41Ckmn_RMlg5AJcS$xґ-š; _U5ӹBu֌D^GX19BZ#v*&`L‡4n_|+[z mLlor/#2W;sRQށ $(E/K,}YzGlE՟< U9*RA LfRN.1^7OQw±:[-*웮)_c=T xd 9bujAj*֊(FY=ipsvdU7fx"P5M/r /$B |7\hݮ1˸T+C!ATތ < '#G$ $5 ?t.i0꼴en@?fSHh!d1la1vQ_?ޏ_Cek0!%X֒<$R-_*(R=ppiW2`C8R(l݃gdmR&?OyNٓg3WTST?/e+iH l}=0hw4r#k 򗪐S)!h\r.Wq#Zj*W3BߔF (dU~aHl%"^/pЕOxS%|YRW $?=<'-z.sĜ/[9zv sER;AU"{e0zLpY/ Ǣ59;=g=%e?Umh'CH_'4u\H>ﵨKAMCak!Ꮩ , s$O]GSMWEĈ[^w,.Ս:t^/0j|?ȶqdQG$FfCmP/L}ZE:Oav5ƨ7ea1s S`s +,$/{E/$uJe%>ĚY ml(R|_^AklXq#Լ2N9;4@|UTl 0;ZdTmFH_f_Fy0p%L&[N\ v "ҙ?@sfMǪsjy=?G5V51B]+hYKF+IP! ` rq(`ըf`5iJ-C:S&#))[8D@B,1TxD+oh*MKwciw~Tgb]aΙOXߍ: 9S=6{Wqh1=fR?/6,B Jy"4(QJ)kZlB*h2iv}ĉcQqcz$"3R9H  (GbF6V:IQ (ΧT!T~!$J=K .tp񏟾|Gi4O yUuti+vꐢqlb:)%BJ`4-bJ|bȩ҄E8r| B;2\1s<}D7X4,!\ZQɃKIA J)zr%xw]zWYHdj6fՠp\RiiB3+Q yHN&T2 emmTdR sj4P4e)ٛ`wߜjpWJi`pyp丷LǍ$=Z:8̫KRBN%*Aj䵴ugGÒ^)`%i^̐JL9ukȳQInb>u)Y*xP|t Q;T%2*"o Q2XC`tl: c2\2lRrxecL%00cjrXI?1' /ЋQ,lT@:h=n.՛XrhK}BaVR&bLJ2uL?͏CFH@j(oQ^Řh]=- 6!7<{Y)&pQf_ESl /!^aYNP%2$j3Z%|DxLucn B J z䑻50.Ȫ{X^B<  )@2 ^ny51B8 H>hD1]Xt:$X}8Tx23jcq3K<+\5Jw60e>3^1{-rB]_ Գ)]* Vl\(#, yI yF}tր {ˊiY/PZؘt]qKB@H T(P)]^$e-OZ\7湸UW5ʰI7_,w'ߐxI_}ISN{bUZjצ&S>O n0u+>#ckXy* Y *zY2L,l\<|B"bR2XJT4t @&fpKFG Qh 'It*BLOdH, N 9mR6TK+kpSXc%[\yrwSP: d;T%hJ)WJ LUը*ڠZjӮC.zE=bєjF7?M[PطC?t{'NY}̽Wcon(mmTB"cD;9bz&fV6a9^%YQ5݀IQY^Uݴ]?Ӽ~0b8AR4r JjaZz~FqfyQVPfhpEh]lۘ)8X,kV.>[7ԥ^=s'$eP(O!|y\䖑;X_,bt5H9 QBq벴WPzr̄BUx`8U,k"mͺwe2mS&FwwF&Djj&Ʉtg5ʹq sNfӯuf"/t0CE^ EO'imaq!6-> qlAe\He aq!6-= ql.goBH)RJ)R*RJ)voxǯWm;n ެ PƅTڸ^ L2.u(B*m\/[ L2.aq!60Q2.NHz"PMnA@%U(B˖^ L2.qlyH_={_t?_s0.Ʒ-z&|rI/"L8xAdEҫaQ $+^2^%YQ0(QUK2^%YQZ|MY-_ɁIZC&p!U5_J6Wwgq8R!H#}O H-jwh-6iUU&QA: nSL}41Jqʸk'Y߆,ϼ*iJllR2OmG'殦0p8 ߪOGv.5V5R㢱H[8܄pN@Y%@ k|r-wmx[|CQP8@KB5H!ZFYGE;=O).aWӘ’c`U*룦>3 p.pLu(YV`? NP+ӹg{ˤbWݠ[ unK¾49V:H3JH̢bX- A0̢bX- K{f1׹] 'tEЁ=Z*Y{$Cߘ&C+z&Aҩiơq=Gc60)0;.l侦)z(:BkI5 W2')ARΘNm%HhI15Qm#Ј~*OKdT4hƿ(6kS׋w/pܹXn,۝Nwbi9&w '˓˜X&٠QƙՌ9nc{%I5I!ыQFԷΩa㭃$ Ͷ{?sՏk5^,3&dㆶJ2Ǯ?|[WI!%~Φ>1'> (Bn}\f|2wp-file-manager/lib/fonts/raleway/stylesheet.css000064400000005554151202472330015775 0ustar00@font-face { font-family: 'Raleway'; src: url('../lib/fonts/raleway/Raleway-ExtraBold.eot'); src: url('../lib/fonts/raleway/Raleway-ExtraBold.eot?#iefix') format('embedded-opentype'), url('../lib/fonts/raleway/Raleway-ExtraBold.woff2') format('woff2'), url('../lib/fonts/raleway/Raleway-ExtraBold.woff') format('woff'), url('../lib/fonts/raleway/Raleway-ExtraBold.ttf') format('truetype'); font-weight: bold; font-style: normal; font-display: swap; } @font-face { font-family: 'Raleway'; src: url('../lib/fonts/raleway/Raleway-Bold.eot'); src: url('../lib/fonts/raleway/Raleway-Bold.eot?#iefix') format('embedded-opentype'), url('../lib/fonts/raleway/Raleway-Bold.woff2') format('woff2'), url('../lib/fonts/raleway/Raleway-Bold.woff') format('woff'), url('../lib/fonts/raleway/Raleway-Bold.ttf') format('truetype'); font-weight: bold; font-style: normal; font-display: swap; } @font-face { font-family: 'Raleway'; src: url('../lib/fonts/raleway/Raleway-Black.eot'); src: url('../lib/fonts/raleway/Raleway-Black.eot?#iefix') format('embedded-opentype'), url('../lib/fonts/raleway/Raleway-Black.woff2') format('woff2'), url('../lib/fonts/raleway/Raleway-Black.woff') format('woff'), url('../lib/fonts/raleway/Raleway-Black.ttf') format('truetype'); font-weight: 900; font-style: normal; font-display: swap; } @font-face { font-family: 'Raleway'; src: url('../lib/fonts/raleway/Raleway-Regular.eot'); src: url('../lib/fonts/raleway/Raleway-Regular.eot?#iefix') format('embedded-opentype'), url('../lib/fonts/raleway/Raleway-Regular.woff2') format('woff2'), url('../lib/fonts/raleway/Raleway-Regular.woff') format('woff'), url('../lib/fonts/raleway/Raleway-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; font-display: swap; } @font-face { font-family: 'Raleway'; src: url('../lib/fonts/raleway/Raleway-Medium.eot'); src: url('../lib/fonts/raleway/Raleway-Medium.eot?#iefix') format('embedded-opentype'), url('../lib/fonts/raleway/Raleway-Medium.woff2') format('woff2'), url('../lib/fonts/raleway/Raleway-Medium.woff') format('woff'), url('../lib/fonts/raleway/Raleway-Medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: 'Raleway'; src: url('../lib/fonts/raleway/Raleway-SemiBold.eot'); src: url('../lib/fonts/raleway/Raleway-SemiBold.eot?#iefix') format('embedded-opentype'), url('../lib/fonts/raleway/Raleway-SemiBold.woff2') format('woff2'), url('../lib/fonts/raleway/Raleway-SemiBold.woff') format('woff'), url('../lib/fonts/raleway/Raleway-SemiBold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; } wp-file-manager/lib/img/src/dialogs.pxm000064400000132217151202472330014005 0ustar00PXMT_DOCHEADER @N2CppMETADATA] streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ _IMAGE_ZOOM_NSNumberNSValue*f_MASKS_VISIBLE_RECT_{{0, 0}, {0, 0}}_DOCUMENT_SLICES_NSMutableArrayNSArray_ORIGINAL_EXIF_{TIFF}ResolutionUnitSoftwarePixelmator 1.6.5 CompressionDateTimeNSMutableString2011-07-06 14:57:18 +0400 XResolutionH Orientation YResolutionH{Exif}PixelYDimension ColorSpacePixelXDimension *kCGImageDestinationLossyCompressionQuality PixelHeight PixelWidth {JFIF} IsProgressivecYDensityHXDensityH DensityUnit{IPTC}ProgramVersionPixelmator 1.6.5ImageOrientationKeywords ProfileName Color LCDDPIWidthH{PNG} InterlaceTypeXPixelsPerMeter YPixelsPerMeter DPIHeightH ColorModelRGBHasAlphaƠDepth _PX_VERSION_ 1.6.5_DOCUMENT_WINDOW_RECT_{{620, 85}, {408, 670}}_LAYERS_VISIBLE_RECT_{{0, 0}, {239, 240}}_DOCUMENT_SLICES_INFO_PXSlicesPreviewEnabledKeyPXSlicesVisibleKeyņ__OLD_METADATA_FOR_SPOTLIGHT__ colorMode layersNames trash_32 search_32 magnifiercompresspencilUntitled Layer 4arrow_up bullet_addUntitled Layer 2Untitled Layer 5Untitled Layer 3Untitled LayerkeywordsҒ csProfileNameԒresolutionType resolutiondH canvasSize {32, 432} _PRINT_INFO_ NSMutableDataNSDataz[378c] streamtyped@ NSPrintInfoNSObjectNSMutableDictionary NSDictionaryiNSString+NSHorizontallyCenteredNSNumberNSValue* NSRightMarginfH NSLeftMarginHNSHorizonalPaginationNSVerticalPaginationNSVerticallyCentered NSTopMarginZNSBottomMarginZ_MASKS_SELECTION_ I[73c] streamtyped@NSMutableIndexSet NSIndexSetNSObjectI_ICC_PROFILE_NAME_Ԓ_LAYERGROUPS_EXPANSION_STATES_ _STATE_Œ_ID_;18DCEA49-EC76-443A-A8F7-C33B7F0ABE40-38719-0000A622FFF83A76Œ;B04E2227-A8FB-445E-8507-715014398607-38719-0000A5FC7D711AD1Œ;0828C7D6-460F-46D8-A0A3-17F76E305E18-37040-00009A59C66DC784Œ9566ABCBB-01BE-4C4C-87D1-0B342B8B69DE-876-000009D534597ABCŒ997AB2E81-9E27-4462-9760-F6AA01B147B3-876-000009B8F9D8ED23Œ992F51EF2-97FC-4217-9109-D7BCBC694246-876-000008D641B063BDŒ944BD8AFF-ECBA-439E-AE3B-DCF4874F4791-876-000008CD62DBA8BAŒ9606B053D-0A88-4C9F-B995-4A1465F464A3-876-000008AF7D200E79Œ9A308625B-DFD4-4F42-B24E-7647D1E32544-876-00000897A3BCCCB3Œ93DED5A86-9E91-4497-8896-05443D45274C-876-000008E8F68B3C6BŒ9B488B5C0-15AF-492B-9E78-BF75A597D20B-876-000008D39490AF11Œ9ABC8B5FA-F536-49F3-A247-199BBC422425-876-00000892F8AC9460_DOCUMENT_LAST_SLICE_INFO_PXSliceMatteColorKeyNSColorffff transparentPXSliceFormatKeyPXSliceFormatPNG24_IMAGE_VISIBLE_RECT_{{-125, 1}, {377, 628}}_LAYERS_SELECTION_ 8[56c] streamtyped@ NSIndexSetNSObjectI GUIDES_INFO0 COLORSYNCLAYERSa lU$'+/259.AGxMT trash_32d';18DCEA49-EC76-443A-A8F7-C33B7F0ABE40-38719-0000A622FFF83A76x{Le_TK*BtkErVbG;(M74 -CJ@G8AU 8r=p8 s~};tDnK}y}hc^\f> ͸gh կNVmg޲`9S<޲^uݢk $) Ě~S*0^ZkZ*fOQFͶDZق>9s|_>[<5{g[<3A`;l߳-jC?X1[cl5_C$Ye2^V%؊xی:+_>9g lSook9pN8xMHll(111hwf*… (,,3GxAFw2D3ao,..Y__\vMqջI#yx<7HS:[w"244 x{{GjSzzz_mm-k,^3Cp2;s퀥ǢEAUU-77 d`ppPƲ>^(tY[, ,crruTVVBs~dߗקWanG\.W8" ٬Aɓ'%~ʊ8g.=炝jO[,n[_!*73J<<<l|a$gr\?-.:?,èދJ)5++k̍7duǥ nlN6#gϵ@Pȷqr@<W*н5w/_DFS)VbU8}9W+** mu?:vX=|v,R}=cUt[Ԇ7s`uW8XeupKA!Y?^׏p^=Ν#2, <-s~+IP]#UtWիgGYb]۷o)//GkkCr#Y}sv$Z:Z%++Ź^72ñ\|淗~YZv]C׷^^dRe {_x{N pXV }- aII ~ĎWƒ=z~ 焗ŏG<̧>zk0_h: x_=s\#>o= O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;5B792C89-3A87-47BD-AE80-BFEB96DF95A4-38719-0000A5FA48522E53 search_32d';B04E2227-A8FB-445E-8507-715014398607-38719-0000A5FC7D711AD1x PiܢDh2mj]2c%cBj5hYT@TME B$ lFEQ,MPI¾\\}~$)Xy8پ=?FQT?6?Y[eYckR -23Dgr$xDnA)W<ev_ֶAsǏo2 00XLJLh?Bk;.쳇7}<4+&M2[6uН* _&ƛ (. 16daG -]]=PD{uԑzzh 0aB?Y! 9?wv01[u{&9j]_8T/Wޅes=o+Un?߹3(߈Cu" 'ؿD q^#x\j8?zE]9s^{y'4Y;y&Lhz(g7}yX`C2Ɣ)O/wYE-acoE#) mɄe{ wl/DI{/<2K/PR;PA9/Ptڒ\HpUhwAkO'=*E9 @|~Ia7]KR烸Pg65ܨ㊦W4~84R[6Қ]Y|Mt 2;}S[r+2Æ=皼큾pz-)hJ5{ ;)ioNB[F>ڋ`^%W߃ao(3ll|}/қ9qv3њtR}MIHnڳ+;ݹ\G(!\{t!h̰j4Rd9GW^:r+7 P?Agv( {lg_A8&s @W[A ܡ̰ak3/rz/>HE")stF4%RVJXG[CWDANZSfؘ={`'~NQh/#G|(h/< eR.p_<.w͌1(gb?F)?pIUWC珼}CWwo[W\֠sZ9P\AokeI=Cث;yn5USNL̛4?5o2-ўzh!Jr|͡ʻz 65zZ%^7Zyڬ5}N[?a}֢(o(ޤi4Օ-DI՞h)/`h!J8W+.{%̩*Zvִ7T/u7g2k+;^`|Z0naENj~3c Iv(IkBd2Y k+{]Qg?gty>lhE(cbb322V[,u-/8LJ1=~o@C-Ν DLStո*EɡG>}8n+},Rvca zG{A`? qw/V'X~ na8m7Z0:bH 9&Կ˜7dgןrc(0Gu/뫚N o]y1 %sOմ5}fN! 5Baǖ&!II8L^9'#E0ux#&i:M zĊ7T<3ndMo)_o\v!umB"k>?K"eoZ@>Hm8~H&ZqZ'W 9;1i>OA 1t/"[MX?G#5  =ml\8|5ۊӢ G+b8snKϵX\ B1\r#51T 5} c>ڎR2G streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;5B792C89-3A87-47BD-AE80-BFEB96DF95A4-38719-0000A5FA48522E53 Jpencild'997AB2E81-9E27-4462-9760-F6AA01B147B3-876-000009B8F9D8ED23gxOlqxbXL]&!(@A m*E4vj,֕[aFŖٚ>&6n4&t:oe}x=}*fV욒j+{Z=ڳT5s^1LD'emðKV{59E$ϣeDGu~:%Ƹu^4ۯ" OfFgx.a/fJ.S~{(Ѓ;.',3WΡMT?mQKQy6 " ZfR+DQXY.."{)e#},s ɱvml_[ߟ;O? {GIܒwْ?󸝔|ƞrkoԃ]ɱ勲7k<F0 8B2Mi0Z@eNZWDw'l`v6֔֌V$Lȷ تmۖɹ tT M*Sd-h6m:C{OWR32Kmjj %6_W@[>'u/],*RPrJ-Jj!ΛBI1f13MI8 streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;5B792C89-3A87-47BD-AE80-BFEB96DF95A4-38719-0000A5FA48522E538Untitled Layer 4d'992F51EF2-97FC-4217-9109-D7BCBC694246-876-000008D641B063BD@@xKq\Iupϝ++A:Qi?HAT*]ZӃ*DK3KdkYq{Oy7o o*ۡ{ϽO#Ι>=4}hxȫpZӦ;'>ݜ52ɣOc ƴ~ɣO}]VyK'>ߪL/l٣ɣO#iȖ=<4bV1- O}mehx.os%hx;c7<On"K&2 vyFkM GÓGw~rی& v;f8HNӍ3[6tƮkwsGNoѠޖ = 'Óe<mjk#{ƣ~+}n=td|߮8U streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;5B792C89-3A87-47BD-AE80-BFEB96DF95A4-38719-0000A5FA48522E53,arrow_upd'944BD8AFF-ECBA-439E-AE3B-DCF4874F4791-876-000008CD62DBA8BA@@xKqnsJKTjJB~`D' `-C DCiK,k=,H~k`f}YQGzATF&-󗹆ߨl'ΖXuJ=,<]Ԁ*~0?1t@9|F^l֮LcW uGϝzzx4e{kW6|FÓGw~/Z[5e[mtۜ?#WKa<Gqn;أɣ 7ѧlٿe'> eأɣO#<ۜi=<4bm=<4ط[_i*4ho4i!5Iﶶ]ObKW1tj퉣Yݏ<,71??Od?SBr7:/}K=JeTItrI',$5IIұ`Yhfy Y>} og歠+lmv]V+ALq5*E\!ا(Ji)I[ )"/'4) MrNxW`Ā'M{J04^ Dn."il?Bt8lPAyY5}Erjz+uL4LPFZ6h aM{y*m}!˂>kilZ %e~`aa[Aw_{c տ(,-י4Ԙ'Q?F= >)6gGY]i_{rJ66 Sʠ~^GMŶéd-O '#lhj-FV;/gI: QOG=[8X{iM[7Zb Rfa,G m<^XA۞jڼ`Kl^Y}PF#~ ae<"ؿC?Yj÷(-aOSi?ǷY_[ɉqUߺŹ_%HC{R_R"ҵG{M0-s8?<= ҵ yY_]Qek,?/JOjL: Yή҃~^f!ҵF9,+`gu>}99PԜxO1ZP?5Yt|VVemy ™ϞFO*#l[~!եE|8|s'WACYt\:%s63|ך7 Tg>:|x̌2LjHgd~LI~[ Ƽ҂|B&-stxgC2;U\==7>ZssUҩL$(%|>ix)N*n~4lEBk%zeѼXb5vuք5ą5AM,DV"Ŭ#I*lZCUoÙTbч,DV"|fXgoPaMX;Do-?Կf;@-GZ[Ǟ:βnX-? Rw zOڳ7a"]+ @Y'V ԷUݬmV 3Y3LoVބYtp0 xDzQT]lڴj̍rf9UQEP-?%*ؔ=jgMx=U+hXBA_[~zk6@9S5稕o=bfIߞuK8ǽY2$,D%W<х3fZq_]<{sqċ} M.a"]˗68'wMW4A\y{<οJ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;5B792C89-3A87-47BD-AE80-BFEB96DF95A4-38719-0000A5FA48522E53 Untitled Layer 3d'9B488B5C0-15AF-492B-9E78-BF75A597D20B-876-000008D39490AF11x͔o[U-ش,ax'qY_[ɉqUߺŹ_%HC{R_R"ҵG{M0-s8?<= ҵ yY_]Qek,?/JOjL: Yή҃~^f!ҵF9,+`gu>}99PԜxO1ZP?5Yt|VVemy ™ϞFO*#l[~!եE|8|s'WACYt\:%s63|ך7 Tg>:|x̌2LjHgd~LI~[ Ƽ҂|B&-stxgC2;U\==7>ZssUҩL$(%|>ix)N*n~4lEBk%zeѼXb5vuք5ą5AM,DV"Ŭ#I*lZCUoÙTbч,DV"|fXgoPaMX;Do-?Կf;@-GZ[Ǟ:βnX-? Rw zOڳ7a"]+ @Y'V ԷUݬmV 3Y3LoVބYtp0 xDzQT]lڴj̍rf9UQEP-?%*ؔ=jgMx=U+hXBA_[~zk6@9S5稕o=bfIߞuK8ǽY2$,D%W<х3fZq_]<{sqċ} M.a"]˗68'wMW4A\y{<οJ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;5B792C89-3A87-47BD-AE80-BFEB96DF95A4-38719-0000A5FA48522E53# Untitled Layerd'9ABC8B5FA-F536-49F3-A247-199BBC422425-876-00000892F8AC9460">}xtU/`Ci*_ABHo{i"MP*"]: iAZB jB! K.$ z9s|{Μ937%!yՐ%x:T 0^\, ?5|7-3VcGK,DX9ݿ]PA|ZjyՕ"Z\!8O]2 Wloa;074%-{_IZ:&.e5vr D[FT{hNâu1m*79'IiLԝ$CwP~~ݳCiWiѳ0}9`js 7yZ:?iü/ CԤF(D(4xP. |&P?i{k^n@ֽR[61)Џ!Uŕ<-݈mc[}Y+f_\ݓ]EZW_]8ǭ:4}ٗ ey]WTƊK?: @f>(Y8/HX51o95֦$GŖv863)My*Q1|c|{*y*%Mb׋4W4~~vJSThhoJSS] HMJ2q]ŕ}?~^<r޴BնY @E{STi b_b@z 9?l5Z$3T/gkni>ՓJ`M4ŕ \@eWT&9yP0W"J&摡_5׋!E(|8u>ʦ)4Lrb.WԦ4Kq-ޖz]*+6P4ŕ w{4.ǽgϰ BpG2D6}u#Ҕ2Vt͘;[ U8<KHj d%%ʯƋnI|' J@ 6 ;L`_'e/ŕ<C@W/!HDZLjzXE4~>&@a#ݿGi=351FWڕ73 '* ~2L_:cr,`DajܣO75"91jO"x)_*}X`6I|=!&?&-~Xc_PGq ]4ƹZBON$j'|gҾE{;4g GOdɱik=avtQ] %i1=$b) LnлJ\f׵*:$!_/bIQ_"uBiSU@^e"\D})OeTX5*Ɛi zoer`Zl+˰ 9of Έ9n;ょ#9 W57f4q^u僼eb\\YlB@1xmZ,/{uIGFWE٥]@I:Ș2; :M$-K|hC߹4\[+$5ꢦYy/ \wQV's(C#cZQ9́z踲=96X!7|Ϧ{}b8<4L0OeԦC x|s _?~>-cՆ_E +cplY^Rf%Q.xtwƞAѫ|Wi73X9}~77ġQ%pl#Oh}y-q8d'YXY(~dL)\[ϯե{4^0׍_nmCׯǒ8}ETJiuv4wvo2X6iƳ 9:{'Zm/iø^|9ί:A8g|fHuR*sa{*=<c FnuFܥ5>pgHҲL\F C%犬W~e2N|@X-2.uE/zk%F.q!p8Kq7GKd峺?ponw)qzZ'=Nc*8U1c eXQ_Sk!4>ʘn>mݡ;ss ˟U 3qյCp nlS\gu2Qٴ?Ǚ>t9 bί97Mrydӣlg oss١48zHUӢ|ض|WK+{2YΨ_MA}ss dd > HZH iqK/xRdos?7B,ׁ+ɾjpaQhMfq(UM gZc{R݅ _NCwe8߭{p Kh5G9w*vsYS\XҖ*,ʻ/Yx7KwkQ]^;FvS tEiT6ں3?y\:>{9`FwJ!#!Luk{7:.Й:?ٵ .,lf^nî̐6̽]YޫzN\YYVtV{wnJSQ).ʵ"Ngߗ{7c;j3!lD_+˻/_›`;V~ˮmjoJSQ&)U˿>Ƭ99ĝc{Yw\Z>6W•ehoJSޅz{`Q 7>>k\_ ޿@UMS\i3|kkwDAil]ZDV^ +)Ꝡoxg]p泾 @qH  *`gX6w4,4+-nNѕL;!RDqNLNDqMt}s@noq8>y*w- Wg}{[v8w M C4=9q~ŭ vˋ=6ȷ4gWJ|V4^Qgَk+B:fZKc<̱ -==n}qϛYOl3TYM̹G]2O>L+5<;zc>9I>|gZL(+oYEYg6~w1f6yCeTVuH~C^2͓DEE<Ҕ2*: D2ٹ4)JSʨl[[[[[[[7ى: ŕ<^Em;fQ>& F._$U`h7_Z?ɥ]L]2~W.w_[OiiCn6ܿWSyƁD]e +~f@dO*mmd{W6,=~A}d*gIѣxD B_wbS{*yQ }#`*mLmP?D&> 96nBH*8 1[Ǥ&5r̦|(9F Ś)4HJfpB.wJ%':n1BD& )M?)ch yB|Kd69zL~D.K<=M?"" vIlAW´䍇}D\G`ϨYdi& ĄQ:!"6N~T4͹vp~|,ca[dBT\YR'M?,ĆɰT,CX{`#tokKb.JlG|SE|?t(X~n9\;3ocȹJ`ӏ D 1rC׏=<~e3,[Гi+-i:թYcH(Q2ce8T]v0kc8,d=Ƽca]05_#VͿ{7k?}ZuXUWwμlKO)n)eړ[Y_~Ώ{WK@jgwU{(k?,32u.M_qүN̓eH~̇P6}/Ն6:[:4/+ICxfY<>COw/V?k=ϲ-F(gd[e{-NXQrOM˳_`YՑI_!\zTߺԜ{Ȥ &$ϓ"~Z_ə\hMx29i4{XoWl1䋤^z!Ej/e"iFZ/BuTgsqZMs5-Er HVVKzoiBʕ*ԫS"ѽsG4_ψ>ㅈaTdɢ3Ϝ1NXzaڵicom%ڵn/:u aaFhb(^T *F!iQ֪_t@NI5uz[B24:䊡۠nm]Lz~П(iguj@йC{m]թ E}ү:5k<_Fu|ѾA'buP9`/Z'CA Z+ڵ(igjTCmX 5WyFzhӢڴmQ?BI9#6T_vjh-I|W~ʟe&hټ Z1{FgѼI#4oL4$ ECTgyODt-OWfyݬq?_Z**I1Q([C\2(igU,l] _*[Wp-RZˡM \2(.'ŚBq iQ*8XZ&pB"5qҬX /"(O-Jڙc2UAUaCŅVtmEת'ߵjTc2-] ,ux^~k3L5FY"snreJ=_kG q'Ix^^"-EI;+]8*U(o~wF]'LS^`U^ҍ2 jU%/Y4ىY~ Bif0(y÷%Dp,[ }șYCz]>c~~Mx,CFpmd]w[3{YڜmWxG?'b!b!;3|{".zed]Rm1[ÎG=1{f!fD fa6wA6)cG|s`<=WǭE6L3Sѻ񆨓5Kv0id򘁈Lh#(6y Qۧ"lTx,z ɯ]6qx!MS> }u/ 1<\{k`; 'My~7 #pm(t?ʥD g&xRw`xΣsqsD u_m ]qm8쇈\9\t,-Dd`띔ox\Z0Wc1,c,qwDTp[Bs{G8 \1yм 9;&)ccMZ<{I:p!Gpp,];>wLifo} o&@>ۧ!|O/1 {Lhkn6n`DwEa?mvLl-?qpj^l2 5=sǜoc`x%' |'g)k2w:?_5GO0uVŝ#͔E#Zse.rBԎ鸽F1գheT*Q=J|Vký"27] U=aZ=~+GvxӔ{kgybKƢAlM^߼'OOʵ;;DߊahHd7IgmsKqH:q' Ν(4ħĖEd ?R$e͘!Gޜ9y7м903{/Gy# ͒ҩHq streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;5B792C89-3A87-47BD-AE80-BFEB96DF95A4-38719-0000A5FA48522E53MASKSPREVIEWC C{x\kkw]kkk#6--`+؅(*JwJ_uAP@0zr̙3g όtZc'b6ٗuj&xiRy> .7髯 k3 /觘K-broLvbh1”Ua?uD[ bY~u.p76d -v ze]Q JIz*u5O;;S *uG/QK5wOf_J[Vx4w$-DF^Q5Q*Ґx$.y˵pG&uLV9r x1kAnﮣQ;*o6Vb+OwGz<)SnlixoFf78ƘIjVLy[9;wb`_zz7TeL3OlI\LtEG\ϋ2Ixsk Lc'wBɨؓML$}TaL6@S?Phe/~sEαԯ՗vg_5ETLn'eRmj ъ}@ԤXkF2gAvڣJK?{S5VBf@ʴ:53ʚI\L꤄K/SVa!i/ r'%OR0t*mr{1(uאi?(cIYj&`A8~,{ 96.㈙"9WR<h#\!qɓ8$ x h V;/moUg3?k-##kt5[ǰ5Iy.1:J}RQ%69pʛu WFbHaQ6"mINк_UIy3e C DX^^5mعԏFQѼxCTLn'eRGOҝۏ1b9}-$zk/7˷y^c{L Րxa18v&I\L1cP#yE~k)ZD4&HR559`0פ;. Xu,:֐I$>fvNMsO4hfRc!cR5!4) ?>91uJԮW|L $uJ/kux40XˁsSMo6zynkˏ=UjD|FZ&Rvc~jm`טNB?.PC5e)9J|)cRO"jOޯ=ܷȽϼ~5=Ƕ~z]閮n"ۊ"gFLQ.RL|іL9o>k*r48m )|LDΓD2D1i'eRG6m&), Nd.HO"yR&u'r.t˃]s'"bIK}cuLɧLrdͤen} !"om@9a1,yd[A>IJ cZ\^g+x`8Yq}=ȹQ|W3W*8;Ύ.@ͨGf=y)aD7 <'I}].w-}?;?Uq~|q\X H1,.N*EpŸ*nAӃ>9߹o~{&jsA%l*q+s_ ˤĒp5Gi5 7 ӎ\vz=?PN;[WZ8*P/)H-}/Ù1FN3"I-So3y{#2\ipuVu\SKcv -q2dbqmf%֯%^ Owkp~Ml&8>/fǝNJ:ϫ6Ҿ]o#½]X&ݮ:6WV<\Z(D狟,{D6WשcV4 ]-دF~]W֭Ѷmqۤ %@4)-smw7kqƢ>:"|]0x` ڬj-ɸ8dsЦFMstt Ѹn/i67SZ>->6u\3V/XٵYUMc!:0юAvAsvwxò<i/Y>5~6u:ʚݘ[w&!im鰍pBmRPav9^a;~K[:'>8Jxwy f~.l[=^+%)byS}f <~kiSAدim5X~wE l0?GVOm75Bnyxv>w׶úR>]T,:w =֤58\S'>YEUBgdzCYt7>Ajۮ~pefd{ɼ#^l삇R+,,Y;<7˥λHcUԵYIA}N#:17uţ=S}/O/fO#k)hnΎ-m;6uK#vBѬxkMٟpEŃUVh{ pCWVL查Mޮeai<݃M<]V7?=L'e[<֗s`^_˾ ~jM_gwLZ#n"־p1μ'c<6MLIʎ&p:6#~vY֒cyKD> o^kS8'[zR1II7 Qy'wfΎ)kȟ#Od}72FNceP>;/λٞx_ Ɲw@Gkj&qɓ2UG1O )qlOR3hԛ ":b\w A~uz_>H Yp_wWH\\J`$okc}Ÿ&N- "ZXX{_|mjD9vĐ~Gh UH ^58Z>˓*"0T(CGĝ%$5opqj2\-%`#*,8bGű~.'ߢIԫce%*v<>> e.5\wۯRjpۡrks9sf]U8*~J3$gs)#KOAė̈1E鸖|іsem?;)}~PղK+ېb:͇D@|̽1w-;퉏?iӮyߧٿ7ȓ3G |W$ouٿəߒfϕFy]^D\3 ;6KN"l!ⴰ<^>;^{fF'>alԃCox hxaC쳝scmMcCN }f*jy_0!aU\)pJʈ feR^4ZkH۫PҬ/]xD]1Cōq!'LXS XP`.ԗ?k"F]tl!*L ۫ŒD1!6+ゎ.A1"! ZpCU%$*RG>O?!l}qwh^܀`G (]:KT<1o!BVHIKI2Y=y.7 88#< $RDK qHṰ9 VvnQsx]acY'|+GrL.CEqgmHmΗotE?[3}qw<):~fb$8,g`6aO H`ޙh l σq:a KI>k>V@%yq~{kτ>c=*$XP#!펚A5ݰ]IC莍$.yR&u qs99Ή_%IC3=vI' ef2tj45cԑչU?+b:| )G$Lm=3ZCw;:ʚI\I먺~X᳛l'4[p=;=jiQuͬwF}>Pϛ*o4V(|{tgR!m:./>r>^nb:>uxW3C͂vc܍q73Aŭ[9Н3 ɩ1TL*Oʤ66 |xb^m1$| `,['(籽kPY3<):[a_84GńnN't<jl&Ixգ`bU&]]HTL*OʤĩzM͒ )C~i'}I"ſ/^厎\mrye%OXUnW|qM*:ҭ݉)[ KIm#~ T>RAW$p:QƸB'eRG+|Jy螺NH oʤ&)DCsA'eR'%j+Չq|ZvX}ǧĴ9-ɨ5_3C>.(-9 ދ|-(OgFPHPzR_BYao<+KvϳL:8|q)aƝ"D}g9Ωb@6sIlݝ"iy^$E<Ť a BƤa^jՆD}?w%v~.pw_5ǤKRD}#J -S79ARDwyu3Pڣ₤ %RGqƐmH? %{K#1c! |{fZ d6Q6$G"׏HgZDgW~/es/k~I\u4fcL#EnCt^Y㫵>zc~RÖو?x>-5tƵ1Ԑ5כU~OM'69Oy=&\q|CܧuږtOM/[z=i?~|kZۿϤ~/Dojq i6Ļ~=q\kik}&q'ej;o9OG05-oqn =i&q'e ݐZ?tv\ghk|Ysͯ7<)KXs-ڇ߇Hi!u[\1΍ qm][Z_$.yR?GWL{ê|5AF!뿺Vv旵 qK{/Ʋ./J~~#UدH%#d%җrq:>o6_,,Q_֏[wjuse<;|Bއ &/cB;W34_$zAsB8&sUpIR/_ݗ`Z=_$Gq'k#ۈ9W||sS~,C}_u^ /d̋ q1mwz8 7u>jmdDS 1]6b/!@R|T_!ҳ#ue1я392'̛"~FR2Ȝb2D[к:5ɼ/]R ѯLώԼ9!~D9X4!MA3rуv{%Ie6H<=kXLT &:pE?τd^H #D?E;_ӉاЗs_9ǛB|/QU5֕mć"O2_E2jdd }l-dٖk^[uqFMՌ)ѐ#HF-EJ~vVԮeڼi4oژ4A=ЦEs=ABC)/?3gNd&˖` cb?](׷&ѿWۿWO~= AUB -OC+UHDJ^k!v%YƍзWwكtg]M_ҁAN ⽥qS'Je& INj~ПhQ25m{tEvKüWZٔ>~UH6j~ ЫߊD/i?{Ǵ %OK1L/ioӳ-J& ߝKM$L0,9=CiD-J&Fk /iks]'&՗7BuoP]: /+\a]"RT_ʅ& ꣳLAw۷Emщ'A4d*I_wQ ڶF6m+" X_~o$.y5t6 Ѣd2[&ڶj. i?6w-KyjQ2QZh8gb}0Q^.vMX/Zr.hռjSɬVjhqӢYc71>/ $}^Nj7V^(v %]hl_(jVy!dsp&Oa ĸ>J' y'hd>:.x3ec"*Bcz*WZSʾs*~`!qAɉpW >=淉oL CU>PohU+WyXo~Ha 1Ч0!ȷ ־ݜo}[wV g̴P`*g=]'(xSsG]}8[XvЙV]7>P}PʥUTkPYYog$ұNc'e1*nfعa1t ו^i-KG⿊vE"RVB9D/N0i}\B\p@ ^E\:CQSJ3lR([GeʕEP*c<ݽׇ$uJlԿ@}*reJBʗ- U*UD=$hyIp!4*gԦE3Ti)]˕~G,+U,DwUPK%q2}Ac %_>Cf~ɒ%TP2I*+ö|;Dܿ/~L RJ3ߋ>d2+]w5.ʖ-,3>#*Yt73TiƱ/ZLf/eJD|(~3]U U*[Z YC)Kڑ{Aku'>`/[q% JudtxΙD4+^ EJILF:'`Ϳ|)^naWV)"ڟ TUZ ZAҒ/"ۆi$-R9-+ BIK]˔)}n:5>AWL3?uˤkZ!t!p- u?#[)w-A܉Zأ*o[RMT|Yi;GF&yR_!zٲ~MelF(۟1ѣ]Kj;>)!zIMҷ&a CKۓ5T<}\BAP%5I'o ߐH&$G $eRO'#zIMҒ_!zImN}*BR0K.Ů]vZ^:UVZʕ+dΝ011I)lW>/ʕ+t;Hz? ԣp .\<|J}38;!X96ߎI':u)ʤj*Thdggp>CS&c$<7LF_=ªG`| }63Sȑ#”ۼ@ԝV(!J'yR{xƖ/_!e4 Jm.Tw/O48LďLJ(ͤݻ8qD%4MV?:0BODSrKz*.>D޽nt^1c/www!鍶Vij:; cj=ԛz{'.Sڂ]]jjȍ7e ˱cU/DԱ^x磦סWף ?1/n@@:'d͝;(ݿ׊-Zar΄*/˜|B4Ⱦ;rA,gP{KxnOZ̙rd >VdOO@E)rGJWvakrVcQ(xpN߹sdBXO[g:sP-Ӊ`kiͧsj~{ )1[:_C4cG=(szb([E=7S&6ϛ~,ZDYyf9"ϮH`%"EG_\˻0M}<9w`Z(oLȕȏr7gYҸ;fQ9~gCk!Vx= S[rn{3[m6>&8[92 s"f _(-`mx}ߘT^ԓEB`1w!#.ۍ8Ҽ?^Dݵ.d,;tH7>~N(WT`fm%D[gzlDˆޚ|SJxq[j'>ϚIuɰvBm\^_d!|]1Kp֔G_:٬E5YCVZXS+ 3?Ifމ8t?毘ۯ ]_ ~ܹr䦼nٿXaj m /~K36_p΍34yt1D={H)d%C "ǹUJ@I ky{a5\u&cΦ9Ŵq#o͹[ctzs)h&chws0ǜ7ph.~`BTy~l6tSQ47J{79jx仅>mSnd#Lf dh8m&xِ3""vLUK?7d2[;~:v'LԀۛ|]?Soa䞷)a_;~ eI\$kh yϢ9]fDBIK/]n[Y0c9߿||u~o)tqM9/KוmTD jQ2}pMuJyB 5O6cgժTzG_~{/^NE2]ÔH(uuRu R&i%uRrw? 7ۿ,DL? ?_0/Y\:Umލ<4/w0~H6Lމ/"2w1S:}3?K}*"E ~"(e1>IkN6*|U.~}y߿ ʺ9boFjӟT_o]єkF:gkzߐQizTzMH)"ڟڲ }Ky2*_?ims wUקJ&6/(ʗ/oYw z}s/_ć/_<%LfӞ>sQqI\$khKPH)91 SEO>PDLֽKbZBAo_HZe;ݸaEY꫺_B| EdH( e9VVEKr=ʷ ZLfVFT< PJe|!$-|r>(z}IK KIF+˗/%/X4DL{|tRߟiQ]{}t E>/C#9/žlgf{We;?,_i7]j*A3|n˶g]3_BtH4X>Q[,'˲ ;7/<3\YlK bHMY߮{ks/8;{MY䧶l5]`OWpnٌ9sfh!L#ڵȧ0>4~ذp11ihѮOOyi?9 2)@jO7́jcv? Ԯ?h0{\5I7MNcϱvm~s턱&y'hO/ڢ+l5f@v漥96NARX#6xnqEhn4[ ?śykay<Dsje>tޑ/:b֭(Lhϭ˜DqS~**ϕlڴ,YӻMt7#_![ϥ-sT2D毾ntu)@sZnRT EI"_&Z=e?u3oqٿnd;ٞ|eտ GޯӇpt a!ct:fw|Q8Z~:z/)X p`TCf`0hڽt<<^O?1"7,NWx0Z6<?IZڮ1cA a`63M`8{6/t[,x;{K3>&"iHZ^9n/l^<䓦!)G_Ϣ{ORG[v xT_}=Jr<\GXl8C/o,+N iԕm B}#84zPH7y,zn08'+8:)D3%SŢIO4@ʥs zWԺbi1gT'e)Yb8DbtzcQ/B?`:,uv(mWhweH0 Se`ɄA8诶SLq$g ̜1}Py=Lh;: %Ojl"Qs3^DC) R^Fx|`_c}_aꄚi RTXn1++aHۧ^_|tD;5&]EjG+Ywk~h UF_4@"cgR4L@'eRG PBd{!$X_/S飻 j#1<7>B̵Ո 1M,Xs2Fu?4Mصk珷pԣ/ʘ40ˉaG&4DZlB>5IվzcЇ!f"NLSZ g߂0 c~6@Cm֢I>Ij*wIl ]c4vS5j bUlD>qr&v?(2_ջҎ>3}:&Q 3Ǔqnmc-M ɓYG &2Zg-m8nM͝06^ɴ'Mr_X89iIq>ss}v.^[Fa#]ϓ9cbb(HTo}yԟ|Aڀ2Z~BCO/@ hFGCsjt=3-5l[!u|#8Qj>?eRnu<_.7#fBS&{O.AEZBM^+)1m#Ϛ ns3eRMw ~~%ϭ&kj^sY~ߍ i;᪌u.C~_;8q"62ZR?0Mx}i".'_a̿$$cZ-B#nD6Gs,14<2Zl_6QW6 \c 6fYڨz5SFڌgJ _O4MF!aolFusD6C]}?{uL蛬mblA^>څC{Mسg3Kqw V7C)b}i␀=a=э{{υ]nYc2}46}v;mCܓ͊x's'qI=v"ĹjĿd}7^,}26 ;6,Z2i̦  "/q>$X~`;N^k}[Qx݀CxJk[kmUʤir}[ Q#:։xy?>Ćb߆ oGHܹs?ldnnsMj>ڐHmz(&R_ Oszܘ.<լYfc~lqb6>D@ϟK( S\EjKn6|UoF6T]jc?sT%iZrqS JA*|wu9 LyJ6"Ey)B.}DҮӼBWY]|CrD=)Mj.i@j6?`N'NOFwp-file-manager/lib/img/src/editor-icons.xcf000064400000033652151202472330014741 0ustar00gimp xcf fileBB=G gimp-commentCreated with GIMPgimp-image-grid(style solid) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 10.000000) (yspacing 10.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches) Z s$p(]+\.26{edit_ckeditor.png     m`SRlle^WSSqubgfhaXSRQSShdbsUbilQPSSrh_tcN4MOSSn_|gUo[bVNNRkJZT}MbNLNNdx{~eESEIKNNpL_VURUIAKNNpjtTRJt}wIJNpcUORQsŘntRВځq]>Ցqz{ijhQԇBmlȿ6(Om~tBьHTrp*IӾ?9θ-woAhyxe9]veߟ}U~b|bSKdibw[ƚeЎN}Ϡ|yclϹ쎷P>е싛{tbҗɥsB՟sRܐ}s5W߻JGƏ4zLupDgȰ~kۙn9Ftشb<λ֜<ϲۗ\Һ|z`ǑΈO@Ƒυ㑚˵qvїſыEϖ܄a␞ݪ7c⸚ޣIPѻ4OumCb28%3AY*;7QӾԚD _@KlsHI _׻` edit_pixlreditor.png      J ^ n E ( ,.!'O>& ME-|)Js *WnW*$ա%%21Q`X(- #$3$u_ ?9=28 4 H&7*y  *.+      bei )#;/HX1 @pWYCU"XBc:[t"Xz΂&؊Yk!-Z{~wɪ@y EZmY\"IY".Tb$6vZm9"PϕAJH-[C`RwM,^ang`cK);X<qKoL3LKR8)ń]E0'" .'@%B_"[M#+K[n%h\x4H>_ˤ:sE'J6zݍ)V>0F `B3[2^n{7J0 Am%8X0855uI .gnB2}m ?Mr"?p*J~a8W~Q,3zpI$ogT-{U"@ Vs&8<$(0&ӆ*753nom%e)Z.VuG:zj#a+0D k\NBM(sD9'edit_onlineconvert.png     %/%C%SЙP=BGFETW\`eikϖ.,06:>CFyϖ1 #78)DHzϖ1 !-$)FHzϖ1 %;FJ{ϖ1&3KLNN|ϖ1/E+DQPPN|ϖ/:OM7QPPN|ϖ38PQ)- OPPN|ϕHNQB.R3JPPN|ϙ]OQ%MQD GQQO|ϚbQK9RRJ ;LCB{ϚU2.'-UΙA!! !"]ΟЄѡѡuѡzc[xѡ812svѡ`'cѡoѡo ѡ6ѡfq'Dѡr{"ѣ`:,ѣ0,ѣ~BvMdr nѝM"%"! !]ϡפҠoabd]UffghijiўZCDE3-EDDCDBuў[EFG2'7!FB,EDvў[EFFA:+,GDvў[EFFG% $AFDwў[EFFG+1GFFDwў[EFFG(GGDwў\FA 3IGA 4B:9vўP*(!'SНB ! !!" _Фedit_photopea.png     ))+);5      5  5   q{`=%uG]1 5C_FVjWzX|hZ [\[ pixo.ico     ,, ,!,1>;cb;>>>;yx;>>>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;rq;>>=PO=> >==>>>;mi;>>><88<>>>;33;> ><99<> >>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;rq;>>=PO=> >==>>>;mi;>>>=FUUE=>>>=JffJ=>>=H_^G=>>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;yx;>>;rq;>>=PO=> >==>>>;mi;>>GD G A ء C =>ט;edit_codemirror.png     ///,AL=))--0--K`'..%3-1*%++7-;-_d4+-t|)e<9a%u*FS%M7-8)TV0q-?up(*-,-+--*?J;&'++.++L^$,,#1+/(#))5+9+Ya4)+D]G*fZie0*ghi>(s(DQ#4hhj/,7)ehhi`99,p+2DMC)*%++*++,@K<((,,/,,M_%--$2,0)$**6+:,Zc5*,MoQ*fj~y3.|}~D(t)ER$:~}}1,8*y~}~r>?.p,5NXK*+$,+,+,,&)d*  U k  W % hy=edit_creativecloud.png     3q33ſĻĿ׾Ȼ˹ٽӽͼĿ󨧦    !   !" #%$  #8BSJ;, "34JTH Adobe Photoshop CS5 Macintosh 2010-09-19T17:17:49+04:00 2011-04-22T18:30:18+04:00 2011-04-22T18:30:18+04:00 application/vnd.adobe.photoshop xmp.iid:FD7F117407206811B1BA95E37140A3C2 xmp.did:01801174072068119109C4A19543BAD1 xmp.did:01801174072068119109C4A19543BAD1 created xmp.iid:01801174072068119109C4A19543BAD1 2010-09-19T17:17:49+04:00 Adobe Photoshop CS5 Macintosh saved xmp.iid:02801174072068119109C4A19543BAD1 2010-09-19T17:27:56+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:03801174072068119109C4A19543BAD1 2010-09-19T17:41:22+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:04801174072068119109C4A19543BAD1 2010-09-19T17:43:45+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:05801174072068119109C4A19543BAD1 2010-09-19T17:45:17+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:06801174072068119109C4A19543BAD1 2010-09-19T17:46:50+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:07801174072068119109C4A19543BAD1 2010-09-19T17:54:48+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:08801174072068119109C4A19543BAD1 2010-09-19T17:56:02+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:09801174072068119109C4A19543BAD1 2010-09-19T18:04:23+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0A801174072068119109C4A19543BAD1 2010-09-19T18:04:51+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:963608160E2068119109C4A19543BAD1 2010-09-19T18:05:17+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:973608160E2068119109C4A19543BAD1 2010-09-19T18:09:57+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:983608160E2068119109C4A19543BAD1 2010-09-19T18:12:55+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:993608160E2068119109C4A19543BAD1 2010-09-19T18:15:16+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:9A3608160E2068119109C4A19543BAD1 2010-09-19T18:18:59+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:9B3608160E2068119109C4A19543BAD1 2010-09-19T18:19:05+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:9C3608160E2068119109C4A19543BAD1 2010-09-19T18:22:08+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:9D3608160E2068119109C4A19543BAD1 2010-09-19T18:24:50+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:9E3608160E2068119109C4A19543BAD1 2010-09-19T18:27:36+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:9F3608160E2068119109C4A19543BAD1 2010-09-19T18:31:59+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:A03608160E2068119109C4A19543BAD1 2010-09-19T18:33:42+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:08D3AC5E122068119109C4A19543BAD1 2010-09-19T18:35:57+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:09D3AC5E122068119109C4A19543BAD1 2010-09-19T18:36:56+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0AD3AC5E122068119109C4A19543BAD1 2010-09-19T18:39:46+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0BD3AC5E122068119109C4A19543BAD1 2010-09-19T18:49:04+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0CD3AC5E122068119109C4A19543BAD1 2010-09-19T18:50:02+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0180117407206811A3A3FC4A228C975D 2011-02-04T14:32:54+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0280117407206811A3A3FC4A228C975D 2011-02-04T14:49:22+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0380117407206811A3A3FC4A228C975D 2011-02-04T14:50:09+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:C8C4172C0E206811A3A3FC4A228C975D 2011-02-04T15:35:46+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:FA7F117407206811B1BA95E37140A3C2 2011-04-22T18:20:12+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:FC7F117407206811B1BA95E37140A3C2 2011-04-22T18:28:45+04:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:FD7F117407206811B1BA95E37140A3C2 2011-04-22T18:30:18+04:00 Adobe Photoshop CS5 Macintosh / 3 sRGB IEC61966-2.1 php php xmp.did:F77F117407206811B1BA95E37140A3C2 8BIM: printOutputClrSenumClrSRGBCInteenumInteClrmMpBlboolprintSixteenBitbool printerNameTEXT8BIM;printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd doub@oGrn doub@oBl doub@oBrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@Y8BIMHH8BIM&?8BIM Transparency8BIM Transparency8BIMd8BIM5d8BIM8BIM x8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM>8BIM08BIM-,8BIM@@U PH%+28:>DKQ@W]cjFpv}M8BIM6nullVrsnlongenabbool numBeforelongnumAfterlongSpcnlong minOpacitylong maxOpacitylong2BlnMlong8BIM3null Vrsnlong frameStepObjcnull numeratorlong denominatorlongX frameRatedoub@>timeObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlongp denominatorlongX workInTimeObjcnull numeratorlong denominatorlongX workOutTimeObjcnull numeratorlongp denominatorlongXLCntlongglobalTrackListVlLs hasMotionbool8BIM4FnullVrsnlongsheetTimelineOptionsVlLs8BIM8BIMnullbaseNameTEXTUserboundsObjcRct1Top longLeftlongBtomlongRghtlong0slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongRghtlong0urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?8BIM H HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km8BIM,8BIM Y = Adobe_CMAdobed            "?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?EWNS@}Fͻ$Ҷ>чv9ն7Mfnĕo]?w~-7[mu@8څF;MSgo"J0>nzݸo?Cm}Ww?M~gT/C/7vWs7;{6oII_g˙~=}2vSGn?^ki(7">g3u>ٝmvSs}?Dm?M8aF.f>PFt=O4) f?@w/?$~E=Ky}^AcVG;o/O2JzEfh~k}o$?^gjvĸ3o~wI;zDz{}IvǩvRS_Obuؿ?kL?g~7RAK_TmO}/Є2|j8~l/7}GwϫN}?z/K7x>,VmOf_jUG_7|{8'x9lw5_{뾇Id7dQȊroez1/~ v:n!x o8BIM!UAdobe PhotoshopAdobe Photoshop CS58BIM".MM*bj(1r2i ' 'Adobe Photoshop CS5 Macintosh2011:04:22 18:30:180&(.HH8BIMmopt4TargetSettingsMttCObjc NativeQuadBl longGrn longRd longTrnsbool fileFormatenum FileFormatPNG24 interlacedbool noMatteColorbooltransparencyDitherAlgorithmenumDitherAlgorithmNonetransparencyDitherAmountlong8BIMmsetnullHTMLBackgroundSettingsObjcnullBackgroundColorBluelongBackgroundColorGreenlongBackgroundColorRedlongBackgroundColorStatelongBackgroundImagePathTEXTUseImageAsBackgroundbool HTMLSettingsObjcnullAlwaysAddAltAttributebool AttributeCaselong CloseAllTagsboolEncodinglongFileSavingSettingsObjcnull CopyBackgroundboolDuplicateFileNameBehaviorlongHtmlFileNameComponentsVlLslonglonglonglonglonglongImageSubfolderNameTEXTimagesNameCompatibilityObjcnull NameCompatMacboolNameCompatUNIXboolNameCompatWindowsboolOutputMultipleFilesboolSavingFileNameComponentsVlLs longlonglonglonglonglonglonglonglongSliceFileNameComponentsVlLslonglonglonglonglonglongUseImageSubfolderboolUseLongExtensionsboolGoLiveCompatibleboolImageMapLocationlong ImageMapTypelongIncludeCommentsboolIncludeZeroMarginsboolIndentlong LineEndingslong OutputXHTMLboolQuoteAllAttributesboolSpacersEmptyCellslongSpacersHorizontallongSpacersVerticallong StylesFormatlong TDWidthHeightlongTagCaselongUseCSSboolUseLongHTMLExtensionboolMetadataOutputSettingsObjcnull AddCustomIRboolAddEXIFboolAddXMPboolAddXMPSourceFileURIbool ColorPolicylongMetadataPolicylongWriteMinimalXMPboolWriteXMPToSidecarFilesboolVersionlong8BIMms4w8BIMmaniIRFR8BIMAnDsnullAFStlongFrInVlLsObjcnullFrIDlonggNFrDllongFStsVlLsObjcnullFsIDlongAFrmlongFsFrVlLslonggNLCntlong8BIMRoll8BIMmfrix0,b8BIMnorm (unknown8BIMluniunknown8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcMr8BIMPlLdxplcL$63b0519e-047e-1173-a2a2-eaea0594271a?@F?@F@H@Hwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%63b0519e-047e-1173-a2a2-eaea0594271aplacedTEXT%d5f75db0-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub?doub@Fdoub?doub@Fdoub@Hdoubdoub@HnonAffineTransformVlLsdoubdoub?doub@Fdoub?doub@Fdoub@Hdoubdoub@HwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp?C08BIMnorm<(Layer 58BIMluniLayer 58BIMlnsrlayr8BIMlyid,8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAld8.[>8BIMfxrp?":]+J8BIMnorm ( folder_closed8BIMluni folder_closed8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcNH8BIMPlLdxplcL$6ef1e0ad-047e-1173-a2a2-eaea0594271a@@F@I@F@I@W@@@W@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%6ef1e0ad-047e-1173-a2a2-eaea0594271aplacedTEXT%d5f75db3-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoub@doub@Fdoub@Idoub@Fdoub@Idoub@W@doub@doub@W@nonAffineTransformVlLsdoub@doub@Fdoub@Idoub@Fdoub@Idoub@W@doub@doub@W@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@@FM}/n8BIMnorm (tar_gz8BIMlunitar_gz8BIMlnsrrend8BIMlyid!8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcNm@8BIMPlLdxplcL$60c01c09-0488-1173-a2a2-eaea0594271a@4@G@4@G@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%60c01c09-0488-1173-a2a2-eaea0594271aplacedTEXT%d5f75db6-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@4doub@Gdoub@4doub@Gdoub@doubdoub@nonAffineTransformVlLsdoubdoub@4doub@Gdoub@4doub@Gdoub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@4/q8BIMnorm (tar_bz8BIMlunitar_bz8BIMlnsrrend8BIMlyid"8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcN8BIMPlLdxplcL$619aeb1b-0488-1173-a2a2-eaea0594271a@@G@@G@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%619aeb1b-0488-1173-a2a2-eaea0594271aplacedTEXT%faa87fc0-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@Gdoub@doub@Gdoub@doubdoub@nonAffineTransformVlLsdoubdoub@doub@Gdoub@doub@Gdoub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@/Hm\8BIMnorm (rar8BIMluni rar8BIMlnsrrend8BIMlyid#8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcNo8BIMPlLdxplcL$6a10139e-0488-1173-a2a2-eaea0594271a陙@33333@G@33333@G@33333陙@33333warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%6a10139e-0488-1173-a2a2-eaea0594271aplacedTEXT%faa87fc3-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoub陙doub@33333doub@Gdoub@33333doub@Gdoub@33333doub陙doub@33333nonAffineTransformVlLsdoub陙doub@33333doub@Gdoub@33333doub@Gdoub@33333doub陙doub@33333warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp陙@33333/A8BIMnorm (swf8BIMluni swf8BIMlnsrrend8BIMlyid$8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcN8BIMPlLdxplcL$53a52047-0489-1173-a2a2-eaea0594271a@@G@@G@L@Lwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%53a52047-0489-1173-a2a2-eaea0594271aplacedTEXT%faa87fc6-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@Gdoub@doub@Gdoub@Ldoubdoub@LnonAffineTransformVlLsdoubdoub@doub@Gdoub@doub@Gdoub@Ldoubdoub@LwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@U0 g p s8BIMnorm<(Layer 48BIMluniLayer 48BIMlnsrlayr8BIMlyid&8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlc8BIMfxrp@X@/8BIMnorm ( application8BIMluni application8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcOHM8BIMPlLdxplcL$20883df8-0480-1173-a2a2-eaea0594271a@b@G@b@G@h@hwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%20883df8-0480-1173-a2a2-eaea0594271aplacedTEXT%faaa2896-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@bdoub@Gdoub@bdoub@Gdoub@hdoubdoub@hnonAffineTransformVlLsdoubdoub@bdoub@Gdoub@bdoub@Gdoub@hdoubdoub@hwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@b-].8BIMnorm (audio8BIMluniaudio8BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcOn8BIMPlLdxplcL$928d337a-0482-1173-a2a2-eaea0594271a@r@G@r@G@u@uwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%928d337a-0482-1173-a2a2-eaea0594271aplacedTEXT%faaa2899-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@rdoub@Gdoub@rdoub@Gdoub@udoubdoub@unonAffineTransformVlLsdoubdoub@rdoub@Gdoub@rdoub@Gdoub@udoubdoub@uwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@r_0dv^8BIMnorm (video8BIMlunivideo8BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcO8BIMPlLdxplcL$a01c1b80-0482-1173-a2a2-eaea0594271a@u@H@u@H@x@xwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%a01c1b80-0482-1173-a2a2-eaea0594271aplacedTEXT%faaa289c-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@udoub@Hdoub@udoub@Hdoub@xdoubdoub@xnonAffineTransformVlLsdoubdoub@udoub@Hdoub@udoub@Hdoub@xdoubdoub@xwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@u0t[8BIMnorm (txt8BIMluni txt8BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcO38BIMPlLdxplcL$00ebdf9f-0482-1173-a2a2-eaea0594271a@i @H@i @H@o @o warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%00ebdf9f-0482-1173-a2a2-eaea0594271aplacedTEXT%faaa289f-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@i doub@Hdoub@i doub@Hdoub@o doubdoub@o nonAffineTransformVlLsdoubdoub@i doub@Hdoub@i doub@Hdoub@o doubdoub@o warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@i 0Qy8BIMnorm (rtf8BIMluni rtf8BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcP}8BIMPlLdxplcL$c782a35c-0482-1173-a2a2-eaea0594271a@y@H@y@H@|@|warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%c782a35c-0482-1173-a2a2-eaea0594271aplacedTEXT%faabed85-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@ydoub@Hdoub@ydoub@Hdoub@|doubdoub@|nonAffineTransformVlLsdoubdoub@ydoub@Hdoub@ydoub@Hdoub@|doubdoub@|warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@y0@V8BIMnorm (pdf8BIMluni pdf8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcP;~8BIMPlLdxplcL$dfc1d08c-0483-1173-a2a2-eaea0594271a@|0@H@|0@H@0@0warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%dfc1d08c-0483-1173-a2a2-eaea0594271aplacedTEXT%faabed88-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@|0doub@Hdoub@|0doub@Hdoub@0doubdoub@0nonAffineTransformVlLsdoubdoub@|0doub@Hdoub@|0doub@Hdoub@0doubdoub@0warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@|0%-8BIMnorm (office8BIMlunioffice8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcPqi8BIMPlLdxplcL$fbf50e48-0483-1173-a2a2-eaea0594271a@`@F@`@F@0@0warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%fbf50e48-0483-1173-a2a2-eaea0594271aplacedTEXT%faabed8b-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@`doub@Fdoub@`doub@Fdoub@0doubdoub@0nonAffineTransformVlLsdoubdoub@`doub@Fdoub@`doub@Fdoub@0doubdoub@0warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@`'V/y>8BIMnorm (html8BIMluni html8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcP8BIMPlLdxplcL$09ed4b52-0484-1173-a2a2-eaea0594271a@8@G@8@G@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%09ed4b52-0484-1173-a2a2-eaea0594271aplacedTEXT%faabed8e-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@8doub@Gdoub@8doub@Gdoub@doubdoub@nonAffineTransformVlLsdoubdoub@8doub@Gdoub@8doub@Gdoub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@8Y/8BIMnorm (css8BIMluni css8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcP}8BIMPlLdxplcL$39292081-0485-1173-a2a2-eaea0594271a@@G@@G@H@Hwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%39292081-0485-1173-a2a2-eaea0594271aplacedTEXT%faadcbec-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@Gdoub@doub@Gdoub@Hdoubdoub@HnonAffineTransformVlLsdoubdoub@doub@Gdoub@doub@Gdoub@Hdoubdoub@HwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@/8BIMnorm (pl8BIMlunipl8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcP8BIMPlLdxplcL$7d242227-0485-1173-a2a2-eaea0594271a@@G@@G@h@hwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%7d242227-0485-1173-a2a2-eaea0594271aplacedTEXT%faadcbef-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@Gdoub@doub@Gdoub@hdoubdoub@hnonAffineTransformVlLsdoubdoub@doub@Gdoub@doub@Gdoub@hdoubdoub@hwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@/ 8BIMnorm (py8BIMlunipy8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcQ/8BIMPlLdxplcL$e25c83d8-0485-1173-a2a2-eaea0594271a@x@G@x@G@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%e25c83d8-0485-1173-a2a2-eaea0594271aplacedTEXT%faadcbf2-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@xdoub@Gdoub@xdoub@Gdoub@doubdoub@nonAffineTransformVlLsdoubdoub@xdoub@Gdoub@xdoub@Gdoub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@x!P/8BIMnorm (rb8BIMlunirb8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcQX\8BIMPlLdxplcL$f3bba182-0485-1173-a2a2-eaea0594271a@@G@@G@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%f3bba182-0485-1173-a2a2-eaea0594271aplacedTEXT%faaf1392-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@Gdoub@doub@Gdoub@doubdoub@nonAffineTransformVlLsdoubdoub@doub@Gdoub@doub@Gdoub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@S/8BIMnorm (sh8BIMlunish8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcQ8BIMPlLdxplcL$bc26a07a-0486-1173-a2a2-eaea0594271a@@G@@G@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%bc26a07a-0486-1173-a2a2-eaea0594271aplacedTEXT%faaf1395-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@Gdoub@doub@Gdoub@doubdoub@nonAffineTransformVlLsdoubdoub@doub@Gdoub@doub@Gdoub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@/8BIMnorm (c++8BIMluni c++8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcQq8BIMPlLdxplcL$bdafd78e-0486-1173-a2a2-eaea0594271a@(@G@(@G@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%bdafd78e-0486-1173-a2a2-eaea0594271aplacedTEXT%faaf1398-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@(doub@Gdoub@(doub@Gdoub@doubdoub@nonAffineTransformVlLsdoubdoub@(doub@Gdoub@(doub@Gdoub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@(/8BIMnorm (pl8BIMlunipl8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcQٙ8BIMPlLdxplcL$ebc7ebeb-0486-1173-a2a2-eaea0594271a@@G@@G@8@8warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%ebc7ebeb-0486-1173-a2a2-eaea0594271aplacedTEXT%faaf139b-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@Gdoub@doub@Gdoub@8doubdoub@8nonAffineTransformVlLsdoubdoub@doub@Gdoub@doub@Gdoub@8doubdoub@8warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@ ////8BIMnorm<(Layer 18BIMluniLayer 18BIMlnsrlayr8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcR8BIMfxrp$(////8BIMnorm<(Layer 28BIMluniLayer 28BIMlnsrlayr8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcR:8BIMfxrp*&&&8BIMnorm%d(php8BIMTySh$(??@@2TxLrTxt TEXTphp textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntantiAliasSharp TextIndexlong EngineDatatdta"\ << /EngineDict << /Editor << /Text (php ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /DefaultStyleSheet 0 /Properties << >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /DefaultStyleSheet 0 /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 6 /PreHyphen 2 /PostHyphen 2 /ConsecutiveHyphens 8 /Zone 36.0 /WordSpacing [ .8 1.0 1.33 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.2 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 4 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /Font 0 /FontSize 10.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading .01 /HorizontalScale 1.0 /VerticalScale 1.0 /Tracking -10 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /Strikethrough false /Ligatures true /DLigatures false /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 1.0 1.0 1.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /YUnderline 1 /OutlineWidth .4 /CharacterDirection 0 /HindiNumbers false /Kashida 1 /DiacriticPos 2 >> >> >> ] /RunLengthArray [ 4 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 18.0 /GridLeading 22.0 /GridColor << /Type 1 /Values [ 0.0 0.0 0.0 1.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 0.0 0.0 0.0 1.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 4 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (00 00    0=]0 0 0 00000000A0C0E0G0I0c000000000000000000?!\)]},.:;!!  0) /NoEnd (  0;[00 0 00\([{ 0) /Keep (  %) /Hanging (00.,) >> << /Name (PhotoshopKinsokuSoft) /NoStart (00 0   0=]0 0 0 0000000) /NoEnd (  0;[00 0 00) /Keep (  %) /Hanging (00.,) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Normal RGB) /DefaultStyleSheet 0 /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 6 /PreHyphen 2 /PostHyphen 2 /ConsecutiveHyphens 8 /Zone 36.0 /WordSpacing [ .8 1.0 1.33 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.2 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal RGB) /StyleSheetData << /Font 1 /FontSize 12.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /HorizontalScale 1.0 /VerticalScale 1.0 /Tracking 0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /Strikethrough false /Ligatures true /DLigatures false /BaselineDirection 2 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /YUnderline 1 /OutlineWidth 1.0 /CharacterDirection 0 /HindiNumbers false /Kashida 1 /DiacriticPos 2 >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 1 /Synthetic 0 >> << /Name (MyriadPro-Regular) /Script 0 /FontType 0 /Synthetic 0 >> << /Name (AdobeInvisFont) /Script 0 /FontType 0 /Synthetic 0 >> ] /SuperscriptSize .583 /SuperscriptPosition .333 /SubscriptSize .583 /SubscriptPosition .333 /SmallCapSize .7 >> /DocumentResources << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (00 00    0=]0 0 0 00000000A0C0E0G0I0c000000000000000000?!\)]},.:;!!  0) /NoEnd (  0;[00 0 00\([{ 0) /Keep (  %) /Hanging (00.,) >> << /Name (PhotoshopKinsokuSoft) /NoStart (00 0   0=]0 0 0 0000000) /NoEnd (  0;[00 0 00) /Keep (  %) /Hanging (00.,) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Normal RGB) /DefaultStyleSheet 0 /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 6 /PreHyphen 2 /PostHyphen 2 /ConsecutiveHyphens 8 /Zone 36.0 /WordSpacing [ .8 1.0 1.33 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.2 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal RGB) /StyleSheetData << /Font 1 /FontSize 12.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /HorizontalScale 1.0 /VerticalScale 1.0 /Tracking 0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /Strikethrough false /Ligatures true /DLigatures false /BaselineDirection 2 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /YUnderline 1 /OutlineWidth 1.0 /CharacterDirection 0 /HindiNumbers false /Kashida 1 /DiacriticPos 2 >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 1 /Synthetic 0 >> << /Name (MyriadPro-Regular) /Script 0 /FontType 0 /Synthetic 0 >> << /Name (AdobeInvisFont) /Script 0 /FontType 0 /Synthetic 0 >> ] /SuperscriptSize .583 /SuperscriptPosition .333 /SubscriptSize .583 /SubscriptPosition .333 /SmallCapSize .7 >> >>warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluni php8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcZ8BIMfxrp@/8BIMnorm (xml8BIMluni xml8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcZ*8BIMPlLdxplcL$10ef980d-0488-1173-a2a2-eaea0594271a@H@G@H@G@d@dwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%10ef980d-0488-1173-a2a2-eaea0594271aplacedTEXT%fac41c07-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@Hdoub@Gdoub@Hdoub@Gdoub@ddoubdoub@dnonAffineTransformVlLsdoubdoub@Hdoub@Gdoub@Hdoub@Gdoub@ddoubdoub@dwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@HK/@fT8BIMnorm (zip8BIMluni zip8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcZT8BIMPlLdxplcL$16ba0847-0488-1173-a2a2-eaea0594271a@l@G@l@G@,@,warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%16ba0847-0488-1173-a2a2-eaea0594271aplacedTEXT%fac41c0a-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@ldoub@Gdoub@ldoub@Gdoub@,doubdoub@,nonAffineTransformVlLsdoubdoub@ldoub@Gdoub@ldoub@Gdoub@,doubdoub@,warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@l/8BIMnorm (js8BIMlunijs8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcZ}|8BIMPlLdxplcL$4c02335c-0485-1173-a2a2-eaea0594271a@X@G@X@G@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%4c02335c-0485-1173-a2a2-eaea0594271aplacedTEXT%fac41c0d-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@Xdoub@Gdoub@Xdoub@Gdoub@doubdoub@nonAffineTransformVlLsdoubdoub@Xdoub@Gdoub@Xdoub@Gdoub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@Xl/8BIMnorm ( folder_open8BIMluni folder_open8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcZ78BIMPlLdxplcL$94592e07-047e-1173-a2a2-eaea0594271a@W@G@W@G@a@awarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%94592e07-047e-1173-a2a2-eaea0594271aplacedTEXT%fac41c10-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@Wdoub@Gdoub@Wdoub@Gdoub@adoubdoub@anonAffineTransformVlLsdoubdoub@Wdoub@Gdoub@Wdoub@Gdoub@adoubdoub@awarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@W+/8BIMnorm (image8BIMluniimage8BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAlcZ8BIMPlLdxplcL$6959b6d6-0482-1173-a2a2-eaea0594271a@o`@G@o`@G@r@rwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@H8BIMSoLdsoLDnullIdntTEXT%6959b6d6-0482-1173-a2a2-eaea0594271aplacedTEXT%fac5ae2e-ad79-1173-b145-c2ce92730991PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@o`doub@Gdoub@o`doub@Gdoub@rdoubdoub@rnonAffineTransformVlLsdoubdoub@o`doub@Gdoub@o`doub@Gdoub@rdoubdoub@rwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@HRghtUntF#Pxl@HuOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@0@@@H@0@@@H@0@@@H@0@@@HVrtcUnFl#Pxl@0@0@0@0@@@@@@@@@H@H@H@HSz ObjcPnt Wdthdoub@HHghtdoub@HRsltUntF#Rsl@R8BIMfxrp@o`    rG"  !*2@AABCE@2   #%(&'("($  )&$ &$&&% ! ͯ ˺ ƹ  Ų ĿþĿŽļuŽu˳~z½uʛywþuɛ{yĿuɭſuƿvÄuomƽºpn¼mkþplr¾zrr ®~{z¨}zàŸ ÿ ߲ۗ!#!#&$''$!))#$(%(!&$!&!" %$        μͻ wͻ wн w湣wwȤw%氣žz%⣣ɰϵϣś ӽ ɗĮ ͜ϳǟ׵͢ 㿿ߧţ㽽 㽽 ⴣỻ⹹ḸḸ෷෷߷߷෷ ߷߷߷߷۷!"&$'&%$)() (&)$$%' &         ﵵ G::G::ֿG:: :: : %ϴ%ڽ޻׫൭ !㹶༸  Ŀ   9 " "'(&'/--.)/0'0&+'*$0&+('-*/!'#"  Ҵüs̽%xxҼxü̷sx̽ůrª Ҽ§  ü̷ħ̽ůũªܭڸ!Ҽ§!̷ħϬݸ#ůũ־$ªƭڶ§ӳ ħШũֿ˹ƭڷdz¤ ˷ ̾˹÷ƺý ˹ֿվ ս ս ֿӾվҽսѽսн ֿ ӾнվҽϽ սѽ׾սн ӾнҽϽѽ׾ннϽ׾ #!)%*'/+//)-/.'&')/%,-)"!.+ *$'     t 'y yytys սԺ  ֻؽ սԺ!ֻ罹!ؽ֪ս&Ժ׵ֻ軽ؽװ͵ ض̻Ҿɻ          #"* $(0&).()./00-)0./'//+*,0*%)(##  4 ~ < ~} :#(%2UN    "      %`*    'e܂$ $99:;;=9=;;:99$') $* %"# " s}~}|}}~}|}p~}|}¾ًy~}|}~}|}e}ep S _eu n~ ti}ޑs `}rk}rx}p}~oƜ~~o ~ ~n~m~}l~}l~}jz|iz{iz{hz{hz{gz~~~~~~~~zfz~~}}~}~}~zfz}|}|}}|}{f{|}|}|}||}}|}zez|{|{|{|{|{|{{yevkjklmnopqxzel{oz\;jdW() # *$!% !) 櫞ıϲؽ հp׼¦ _}ջ~Ӹz޻zкΔЦ˷ụѦȶ޳²ުNލr' %$"# "#% ̏}   ӽ߾  p   rG"  88*@22@AABCE@2%"(*...+ !'#""!"+'#+!((&"($&('ͯ ˺ ƹ  Ų  Ŀþ蚭 Ŀꘘ笘瘗񘐽 𩕕敕u(𕕔𩕕攕𔔩攕u(擧𒒓撧½uþuĿuſuƿvƽº¼þ¾ ¿¿àŸ șə ٔș Ǚߴ ƙݴřߴÙÙߵݷ ޷˿ݸʾݸɼܹȻܹǺϔϔǹŷ%%"(*...+ )*&*'*"& *("%#**-( qq q q pqpqpqqpqpqpq pn jkjkjkjkj gggggg gddddcdۂddcddμa`aa`a``aaa`ͻ w_(^__^_~__^_^^}^_ͻ w\(\]{\\\]|{\{\{\Ͻ w[{{\[[[\пwYXYYXwYXYcýwY zY ɰϵYYźY ǼY ½Įl ϳl׵l 㿿ll㽽l㽽lk wkj~z~}|{y~~jỻi~j~j~i⹹h|LQ T||hgUc[uuge~Uss cssfḸe}UjrqeḸc|Uno bppc෷a{yUmooa෷`xW{{jll`߷^xW{||}lkk_߷^wvXggilliaji^෷\uXxyyzӃ{ nhh\ ߷[sXqŕr iggZ߷ZrqXllffeZ߷YqjqqjfY߷XlkjihhgfedaWWmkmjihhgfedcac``W UVWVUVVUWVVUVUWUWVUVVU%"(*.--*)'+"*(+&&%()'#$ #&!     ﵵ摦菏奏収  䌌G::䊋䊋G::䉟㈟G:::::    % 6!66666a6X=5X`4C@FHFDCBA@ ?FCC44CQCQC42BJ#$JBB41DI%/)I==20CI%;;/I;;00BI%FF4I:://AJ%88/J99/.@I%FF6I88.->H&AA5H66-,>H&AA5H66-+>H&1148ϼ84.H55+)=G&>@KLA 7G44)(;G&:QQ:4G22((:F&6^^61F11(':Q:X:Q1''654210/'&:6:5544210/.2..&%&%%&%%&%&%&&%   rG"  88*@22@AABCE@2%#(*...-!'#""!"+'#+!((&"($&('ͯ ˺ ƹ  Ų  Ŀþ Ŀ瘘߬񘐽𩕕𩕕𩕐u敕𔕔𔔩𔕐u(擒𒒓𧒒½uþuĿuſuƿvƽº¼þ¾ ¿¿àŸ șə ٔș Ǚߴ ƙݴřߴÙÙߵݷ ޷˿ݸʾݸɼܹȻܹǺϔϔǹŷ%%#(*....)*&*'*"& *("%#**-( qq q q pqpqpqqpqpqpq pnn jkjkjkjjkj gggggggg gddddcd΂ddddμa`aa`a`aa`ͻ w_^__^__^_^^^}^_ͻ w\(\]\\\\]\\\\{\\Ͻ w[{{\[[[[[\пwYXYcwYXYcýwY zY ɰϵYYźY ǼY ½Įl ϳl׵l 㿿ll㽽l㽽lk wkj~z~}|{y~~jỻi~j~j~i⹹h|LQ T||hgUc[uuge~Uss cssfḸe}UjrqeḸc|Uno bppc෷a{yUmooa෷`xW{{jll`߷^xW{||}lkk_߷^wvXggilliaji^෷\uXxyyzӃ{ nhh\ ߷[sXqŕr iggZ߷ZrqXllffeZ߷YqjqqjfY߷XlkjihhgfedaWWmkmjihhgfedcac``W UVWVUVVUWVVUVUWUWVUVVU%#(*.--,)'+"*(+&&%()'#$ #&!     ﵵ叏ܥ줏 G::䋋G::䉈G:::: :    % 6!66666a6X=5X`4C@FHFDCBA@ ?FCC44CQCQC42BJ#$JBB41DI%/)I==20CI%;;/I;;00BI%FF4I:://AJ%88/J99/.@I%FF6I88.->H&AA5H66-,>H&AA5H66-+>H&1148ϼ84.H55+)=G&>@KLA 7G44)(;G&:QQ:4G22((:F&6^^61F11(':Q:X:Q1''654210/'&:6:5544210/.2..&%&%%&%%&%&%&&%    rG"  88*p@22@AABCE@2%!"#&-(&!'#""!"+'#+!((&"($&('ͯ ˺ ƹ  Ų  Ŀþ 蚭 Ŀ笘 u𔕔u撓½u 𑒒þuĿuſuƿvƽº¼þ¾ ¿¿àŸ șə ٔș Ǚߴ ƙݴřߴÙÙߵݷ ޷˿ݸʾݸɼܹȻܹǺϔϔǹŷ%%!"#+-(&)*&*'*"& *("%#**-( qq q q pqpqpqqpqpqpq pn jkjkjkjkj g ggghgg dۂddcd μa``aa`a`ͻ w_^_^_^___^_^_ͻ w\]\\\]\\Ͻ w[ [\\{[[[\пwYXYcwYXYcýwY zY ɰϵYYźY ǼY ½Įl ϳl׵l 㿿ll㽽l㽽lk wkj~z~}|{y~~jỻi~j~j~i⹹h|LQ T||hgUc[uuge~Uss cssfḸe}UjrqeḸc|Uno bppc෷a{yUmooa෷`xW{{jll`߷^xW{||}lkk_߷^wvXggilliaji^෷\uXxyyzӃ{ nhh\ ߷[sXqŕr iggZ߷ZrqXllffeZ߷YqjqqjfY߷XlkjihhgfedaWWmkmjihhgfedcac``W UVWVUVVUWVVUVUWUWVUVVU%!"#&,'%)'+"*(+&&%()'#$ #&!     ﵵ 摦奏G::G::㈉G:: :: :    % 6!66666a6X=5X`4C@FHFDCBA@ ?FCC44CQCQC42BJ#$JBB41DI%/)I==20CI%;;/I;;00BI%FF4I:://AJ%88/J99/.@I%FF6I88.->H&AA5H66-,>H&AA5H66-+>H&1148ϼ84.H55+)=G&>@KLA 7G44)(;G&:QQ:4G22((:F&6^^61F11(':Q:X:Q1''654210/'&:6:5544210/.2..&%&%%&%%&%&%&&%  rG"  !*2@AABCE@2)&,//+/' #+%""""+'& ("%&%!! ͯ ˺ ƹ  ŲإĿþ Ŀ ՋҊuҋu½uЋþuϋĿuȋſu̓ƿv͍ƽº¼ļ  ³  àŸԿÿҿѿ˼˼ ƽ߲ۗ% (&,))//* //#*.#'*$&$ '#$!$$! xx x x wvwvwvwvwwss nonoonnonnonnoonnnonnjjjjjj gfggghgfggfggfgg hgμbbbbcbbͻ wbbbbcbbͻ w_^___^_^_^_^_^Ͻ w\]]\[]\\\]\\\]\\пw[YZY[Z[Z[[Z[Z[[ZwYXYXYXYiýwYXYXYXYzYXYXYXɰϵYXYXYYXYX͝ukkjYXY ɀpliggYX |tpmmlkĮY րwvsrpozϳYywtru׵Yyz{ 㿿ށywxxxwwx㽽vvwx㽽vxyuuvwuvỻ tuututuutv⹹}svwxrurtḸߓsrsrḸٙrv෷{rsqqr෷rq߷ssr ߷srw෷ sr ߷߷߷߷۷)+&(+(++0-/-1'.+-'%%' ! (h(h (h (h &' &''&'&''&'&'&'&'&''$$ ﵵ       G:: G::G::    :: ! :   ,     %έ \RTU XGJMNN I@ACFHJ !N@?@@ADS h@@??D @CO@A@??@yZ?@?@BDx?AA?A?AQ?DEF?E?Bv?>?FN>?>?>x??>w?>E>?`   $"Cri,6FkG41uX`/v`'[Z1@y;/Xxj}{0U\[&TW8[I, k1!QR#V#3Q&3{ R!^!!M9FfA:!s2ި  $&!#&**))*$&'&(+*+*(%%# !###(***)(#)'/,&/.%-0/(/*((%)&*)*)&$!  .#8#8#$#8#"#! #8#"_F!# !?csuhH# #8#UY%"#$hx$#8# !W#$,)#8#z(#,!8#5Y#!f8#""#hnRh6#$T=#!03# "#11##$DD1#{)#!$#,P0#6d#"%\8#1H0#"!"#$#P63#UF!!##5## }и0#$J9##|.?#$3:8#6p!#>#>#8"!)># [!#8UP$3>#$###8###D>#$'#8 z+P 6 ##$3n#8 ;H>} _DJ+!#.F"#8 j (#8 vu$#8 v%#$#8 k Wb #81PNDdJL)bDJL;!8d6!)4#j>#! .4#j># %,4#j>#(,4#n>#!#˘"6# :})!##"  !8#$"#"!"!"#8#8#8#8#4+96J=NR7#7-f0gM(5n!BoHl֏M$ T2a4:( \FU `/ u EC{ ({,-\ Uc 6 h)Il3}> LHa$8^!R4jn ,v'x#BTM%[y!Z;Qi JB&``?c| M :"@Ѣ Rz֦Jt:)n2S^__]Vݷaf`__\L$"M&MV/J?4 $ p%84w4ty{|uH"^mk*+c|{z~z8eCa$u~2 l*p‡}~X"u 4i8c?m6'j/Q2s,sľ0,<),+, . g`|.&$(-,+)t$O)@qHZ ^C=\O/~_n `O iś#ڭ= 9!+e L U 90 ^ 4dZ  OPkJN* X/AH#YAC& oM_):XPNoQ )$&`W G{--m`4>9Qx>$.+C9QRa F#/Up<:?Hd M Jpa.nn%9"YS mXCaH9PQT;+#o%y(6&|' :T $&!#&**))*$&'&(+*+*'!%$ !###(***)'%))//*..%,0.+0*(($)&*(*)&$! *55  55^D =bqsgF 5TW" gv 5V )&5y%)52We5gmQg4 R:-0// AB/{& )N-4c"Z5/F- N40TD2 {и- H5z*= 0854n <<5&<Z5TN 0<  5 B< $5y( N 4 0m59F<} ]AH(*D5h%5us 5u" 5jV`5/NLBcHJ&`AHJ95 c4&1h<*1h<")1h<%)1m< ˘4 8|&5 55551(54H<QR7%;jg 7t(5nCQ2n֏M$ S2a4f() d\ 3< ` |g/ U E`0{ ^ol{2B = c ' rj6l3s[>7Has$8BR%jQn ,Wĭz#rrB=M[y?=;sL ~6zo/EjF› @c[r 8_  )r.Ѥ <{֦L{U<!n";FGGF_V޹GJGC6"MsMV&7/1 f q»)2U$tlà rWXYV5_nM¼" !IYXZW:g1G%x.M)pÉ~ZU  *dk8cAL&)M S,Q,rám"*! !". gaZĺ#%"" !U$bº8%f+su1^y^B.@8)EN D: jǞ#y*9`o-f 7U 9" E $IA : t8kJo9yc)`o ?}/-K[.CnMDp*:Až ;NvQ: )ys$u®%`?Gz-!PE6>{ )QWq-ā$wbC9Q ;GyF#0>R <;.3fdd Pv4p`.gĺOndn%9"Y; NXCb2(99U;+#o$W7'|' :U $&!#&**))*#&'&(+*+*("%% !##%*)**)'(*)/0),-#.-,&1,))&)'*)*)&$! , 6 6 ! ! 6   6 _F >dsthH! 6 UY# !hx! 6 X !+' 6 z& +6 4Y f6  hnRh5 !T< /1  00 !BD0 |' ! +O/ 5d #[6 0G/  ! O51 UF  4  |ѹ/ !I6 {,> !196 5p!= = 6'= [ 6UO!1= !! 6! D= !& 6z) O 5 !1n 6:H=~ _BI) ,F 6i& 6vt! 6v# ! 6kXb 60ONDdIL'bBIL:6 d5'2 i= ,2 i= #+2 i= &+2 n= !̙5 9}' 6 !  6 6 6 6 2)65I<QU7'?ll$ ,5n K t֏M$ S2a;/  \  f/  K {  ~5c  ml3>Ha$B  Rj ,z#BM  [x  C  !"    Cc     Ѥ }֦NB!p   V (RM[- v2 t  ^r  @l -) )pŏc s8cJ/ Z%  ,sŤ   / ge  '" ("wb ^D   iɤ# ? 2i    Y ;     kJ* 0   P#` C  oM );N  *$&`G{,~ :B" Q!  C9Q F#7<: d Q p`.o*9"Y  XCh Z;+#n%>+|' :Y   rG"  *@22@AABCE@2   #%($$''! !"+'#*&.,,(& !ͯ ˺ ƹ  Ų ĿþĿŽļuŽu޽uƿþuĿuſuƿvƽº¼þv¾v ¿v¿vvàvŸvv vvvvBAA@?>==<;:9v vUeedcbaa`_^]]\[Gvv Qb}{a`__^]\[[ZYYX DvvM_y}x]\[[ZZYYXWWVSKHH,vvI\[v}uYXXWWVUTKC:6 vvFXt}srUTSNC86vvBU}qp}QG=6vv?RQnjb86vv;ONNI=6vv7LG=6vv0<6vv6vv6vv6vv6vvvvvv!#!#&$''$(($('*"& (-%&,&#!       μͻ wͻ wϽ wпwwýwz ɰϵź Ǽ ½Į ϳ׵ 㿿㽽㽽 HGGFEDCCBA@?ỻ\nmmllkkjihhggffeddccN⹹Xkihhgffeeddcbaa`JTgeddcbbaa`__^ZROO1Pdca``__^]\RJ@<"ḸL`\[UI><"ḸH]XNC<"෷ EZYXX}yo><"෷AVUUPC<"߷=SNC<"߷5B<"෷"<" ߷"<"߷"<"߷"<"߷"!"&$&%$$(%) ((+&&%((.*"+!!     ﵵ G::G::G:::: :    %| |!||||||||||HGGFEEDCBA@ ?||\nnmlkjiihg feedccM|| Xk!jiihggfedcbba`J|| Tgh!geedcb a``_^[SPP1||Pece!da`_^^\SKA="||L`c!ba]\\VJ?="||H^!``!YOD="||DZY\XP?="||@WVVPD="||3#b90 "Fl; .5:@t= ,&%48:C`R*/I088N8(/Ɂ.5*A)&/Ъ,<#/C`!/BIU.$M9xF.$X%#-&.3BO#BD0(FG"!D8 ,&2DC +9 zCDD> ڎs  3 w .P             rG"  *@22@AABCE@2   #%($$))#$$##"-%('. ',!!+($+ ͯ ˺ ƹ  Ų ĿþĿŽļuŽu޽uƿþuĿuſuƿvƽº¼þ¾ ¿¿=VV=??+*>>*)=}~}~}~}~=))=;>;)'!:~:'!k!&!#!#&$''$**(,!"" %#$(+ * &$-&%!        μͻ wͻ wϽ wпwwýwz ɰϵź Ǽ ½Į ϳ׵EiiE 㿿DihXVWXhDCeffC㽽AeeA㽽@cc@?cb b?>^``>ỻ=^^ =⹹<\] ]\\<:\Z Z:9WX X9Ḹ8WZW 8Ḹ7UU7෷6URR6෷4MNPP4߷2MNNNNM2߷1KLLLK1෷/KLII/ ߷.EH H.߷,EE,߷+BCB BCB+߷*BCADA*)"??)""'!"&$&%$&*'+$,*$"$.((&&+)'&       ﵵ G::G::G:::: :    % FjjFDjiSPQPQPRiDCfhhCCffCAedeedeA@edc c@>_aa>=__=<\]]]\<:\]ZZ:9WXX98W[W87UU76USS65NOQQ53NONNON31LL1/LJJ/.EHH.-EE-+DCCCD+*DCADA*(!??(!!(  rG"  !*2@AABCE@2! $#$% )("")"+'%"& &%%#  ͯ ˺ ƹ  Ų ||| Ŀþy yyyy Ŀv vvߐܐvv rs ssϣsssuppΡpppup ppދދppr½uooooooþuoĿuoprſuoƿvoƽoǗzyvvwyz}~o¼oþoœ|z {|}o ¿o¿oÐàŸÿ߲ۗ#! $#$%)*'&*$'*'%&&%"" $        󴢢  򟟱江  񜜯ݾͻ wݽͻ w 񚚭筚 w񬙙пwww z ɰϵاź Ǽ 峲 Į ϳ׵㿿㽽 ⫫⫬㽽 ⩨ỻ⹹ḸḸᢢ෷෷߷߷෷ ߷߷߷߷۷ $"#$)')"*()$#'& ! # !       ﵵ  G::G:: G::::: ܟ   Ľ ½ӵ!   rG"  !*2@AABCE@2####$)# "!"%#&$&% " ͯ ˺ ƹ  Ų ||| Ŀþyyy Ŀvvvvv sߎssssruppppupppp½uoooorþuoĿuosſuorsrqƿvoƽoºo¼oþo¾o ¿o ¼oàŸ  ÿ ߲ۗ#####****'"$!& "" $        韟 μ诜 wͻ wϽ wwwýw&z ɰϵ嵵ź Ǽ ½Į ϳ ׵ 㿿㮮㽽 㽽ỻ⹹ḸḸࢡ෷෷߷߷෷ ߷߷߷߷۷#""" '+)*&)&#&          ﵵG::G::G::::: ߴ % !ihgfefg>T7  rG"  !*2@AABCE@2!) *--&-) $+'#$#$+"&$%'$"'#&#&%"! ͯ ˺ ƹ  Ų  إĿþ Ŀ ՋҊuҋu½uЋþuϋĿuȋſu̓ƿv͍Ļƽʺͼ; ɾ ſ¿ ¿    ÿӿ   ӽƾѼӾ ۗ% *!)**..* /0%,-!'*'()&!'!"$)# %$  xx x x wvwvwvwvwwsss nonoonnonnonnoonnnn onnjkjjjjj gfg ggfggfggg hgμbbbbcbbcbͻ wbbbbcbbcbͻ w_^__ ^^____^_^_^Ͻ w\]]\[]\]\]\\\]\\пw[YZYZ[Z[[Z[Z[[ZwYXYXYXYiýwYXYXYXYzYXYXYXloɰϵYXYXYy~YXYX~źYXY}ǼYX {½ĮY xyϳYwzԵY w Ե wyصwwٵxvԱwײwwٲ |vٳ xw޵x߁v߷yͫ~vz෷yۮwvvwyxvxzḸ wvw} vw}~{Ḹ{vyҧ}෷ߝyw෷{z|߷߷v}x߷vyw෷ yvx ߷vy߷}߷߷۷)+"$('&(0-/-1'.+-&'%' %"' #!$ (h(h (h (h &' &''&'&''&'&'&'&'&''$$$ ﵵ       G::G::G::    :: ! :   ,   IG  %YDN KOoz KQ`  WGO  !kBE  @E @O @DA@D@i TUaA AA]_Iy@CrOAlDR@SEeכN@FPifD]B@@BEC@DosGU BUYAALv TABMUNIH@Dd ^MVEBHHKU@LnD@ECF@Dg@WEdOT    rG"  !*2@AABCE@2   #%($(($)&&&$$)&"#$% ($$$' ! ͯ ˺ ƹ  Ų ĿþĿŽļuŽu޽uƿþuĿuſuƿvƽº{wrqnu¼~yzvtmnþ~zzl ¾r ¿|¿~ Æ »àŸ    ÿ  ߲ۗ!#!#&$'''%))#&)%')(%##!(!#%( %$        μͻ wͻ wϽ wпwwýw 揗ܑz 搝⑎ɯϵ⏎ث⏎ڢ%咜Ꮞۣļ½Į䐗 ɱϳ%䑐㛖ޫά׵⏏䭭ذ㿿 㽽 㽽ỻ⹹ Ḹ Ḹ෷෷߷߷෷ ߷߷߷߷۷!"&$&%%'(%)%(())&$'&&!'#!"#        ﵵ G::G::G::::$*,,+()(+:$*//.+*)*- $8 +) 'G)% %,G$%,F$$,E$$+B!'8%*'=EEBBA9 &'('$ $%S+&20&%&5  ' +)   Ib`^`H-+   rG"  !*2@AABCE@2'(,,,,*+))++*+))((((%&)$'&'%'(! ͯ ˺ ƹ  Ų  Ŀþ Ŀ u u ½u~~ ~~~~~~~~fþu}hxĿu}mſu}od{oxqqrpƿv}|xi{|tqqhqƽ}uoltrsh{}㺙x|rppe}¿آwvpnjm} լ}ZZeese} ѳssx}%Êu}ѷyw}̹ϼv%‚Ĵʺtà ȹŷsŸ r y z}  {ÿsv{ }w xl}{|~wl~|zyvv|}tq|{yyz}kvmq} ylm{nojjlo| ߲ۗ#'(,,,,*+(*+*++*'))(($'%!()%%'()&         μ˽˽ͻ w ͻ w Ͻ w www&z%ϵ­פϴ%䰼¾㻪 ڪզ|~Į!©ȶϳ%䮵̷׵ ÿ㿿˾ÿ%⦷ź¿㽽%㣷ǽ㽽 ý⼼⻻Ϥ ỻ ☱ ⹹ ѐḸ%ᾐḸ෷ݼ෷ ı߷ҿ߷%ǿ෷߷߷߷߷۷'(,+++**+)*++++)()(" #'&$"       ﵵEE EEDDDDG:: G:: G:: ::: &sоZG@FZͰ%U?Jq`Մ^?;;TGû{ @=89VF8FEMewu%I?:8N>kڔ98R8H_ wBIDiP4@ABP~%Ve05:=AEe [.26:=@BK t{/36:>ABB 248ABD䄯gBBQ CBl CA cBQMA?ob    rG"  !*2@AABCE@2%!&'+*.*!)#""!#)!(&"))&%% ! ~ͯ~ ˺~ ƹ~ }~}~}~~}~}~}~ }Ų{ Ļwxwxwxwxw þtߏtttߏt Ŀrrrrrrrr onnoo oononuonnooonnoދonuml&mmmmmllmlmlm½uj݇j݇jjþuijijĿuhghmſuhƿvhƽhºvh¼højh™zhž ~ij±tt{q‘q ÷qu¨|qàq |qŸ|qvqqvqqqvq%q|vqÿ ߲ۗ%%!&'+*.*)*&**(%((%%("" %$ ~~ ~ ~ }~}~}~~}~}~}~ }{ wxwxwxwxw tߏtttߏt rrrrrrrr Ļonnoo oononõ wonnooonnoދonĮ wml&mmmmmllmlmlmŬ wj݇j݇jjǰwijijɴwhghpʽwh zh ̰ϵhظhښh h ᳑½ĮhᕶϳѠωՊ׵צʙ㿿׬݌ēܲ㾓㽽 ⓇЍ㽽֫Ї׫ܱ⫫ܫܫ܍⾇ỻ֥ᾙ⹹əḸḸ෷෷߷߷෷ ߷߷߷߷۷%!&'+)-))'+"*(+(()) ("&!    ~~ ~ ~ }~}~}~~}~}~}~ }{ ﵵwxwxwxwxwtߏtttߏtrrrrrrrronnoo oononG::onnooonnoދonG::mlmmmmmllmlmlmG::j݇j݇jj::iji j:hgh sh  h h%ѦhﱷhhǦ h!럨캛߮ ڧ!ƛӭӧ 桛 ƛӛӮ߮  rG"  !*2@AABCE@2%$ !--%!(%%&&$)%$#&&%%%( ͯ ˺ ƹ  Ų  Ŀþ Ŀ~ ||||u{z{z{{zz{z{z{u{z{z{zz{z{z{½uxyxxxyyxxþuwxwxĿuvuvzſuvƿvv{uy~|uromkkmqƽvºosv¼nnvþikvń¾nov~{zx%Ä¿zy| „à„Ÿ  ÿ  ߲ۗ%%$ &--%))$&+&))"&!!!&!#' pp p p opopoppopopop omm ijijijijji fff dcddddd μa``aa`a`a`ͻ w_^_^__^^_^_^_ͻ w_^_^ _^^_^_^_Ͻ w\]\\\]]\\пw[\[\wZYZdýwZ zZ ϵZ֪ZźZ ǼZ ½ĮZɕϝϳΗ׵㿿㽽 㽽ỻ⹹  ḸḸ෷ߣ෷߷ҩҪߪ߷ҩ෷ ߷߷߷߷۷%$ !,,$)(+&**)('#'!&      ﵵ~||||G::{z{z{{zz{z{z{G::{z{z{zz{z{z{G::xyxxxyyxx::wxw x:vuv v  vʯv%ȿȯv˨ʨṿɦvתӪv嵴   rG"  !*2@AABCE@2%!"%--&#!(%%&&$)%$#&&%%%( ͯ ˺ ƹ  Ų  Ŀþ Ŀ~~ |||||u{z{ z{z{{{{z{z{u{z{ z{{{z{z{½uxyxxyxxþuwxxwwxĿuvuvzſuvƿvv{uy~|uromkkmqƽvºosv¼nnvþikvń¾nov~{zx%Ä¿zy| „à„Ÿ  ÿ  ߲ۗ%%!"*--&#))$&+&))"&!!!&!#' pp p p opopoppopopop om ijijijiji ffgff dcddcd μa``aaa`a`ͻ w_^_ ^_^____^_^_ͻ w_^_ ^___^_^_Ͻ w\]\\]\\пw[\\[[\wZYZdýwZ zZ ϵZ֪ZźZ ǼZ ½ĮZɕϝϳΗ׵㿿㽽 㽽ỻ⹹  ḸḸ෷ߣ෷߷ҩҪߪ߷ҩ෷ ߷߷߷߷۷%!"%,,%#)(+&**)('#'!&      ﵵ~~|||||G::{z{ z{z{{{{z{z{G::{z{ z{{{z{z{G::xyxxyxx::wxxww x:vuv v  vʯv%ȿȯv˨ʨṿɦvתӪv嵴   rG"  !*2@AABCE@2%" #--'!(%%&&$)%$#&&%%%( ͯ ˺ ƹ  Ų  Ŀþ Ŀ ~ |||||u{z{ z{z{{{zz{z{z{u{z{ z{z{zz{z{z{½uxyxxxþuwxwxĿuvuvzſuvƿvv{uy~|uromkkmqƽvºosv¼nnvþikvń¾nov~{zx%Ä¿zy| „à„Ÿ  ÿ  ߲ۗ%%" (--'))$&+&))"&!!!&!#' pp p p opopoppopopop omm ijijijiiji ff܄f d cۂdۂdd μa``aaaaa`a`ͻ w_^_ ^_^___^^_^_^_ͻ w_^_ ^_^_~^^_^_^_Ͻ w\]\\|{\пw[\[\wZYZdýwZ zZ ϵZ֪ZźZ ǼZ ½ĮZɕϝϳΗ׵㿿㽽 㽽ỻ⹹  ḸḸ෷ߣ෷߷ҩҪߪ߷ҩ෷ ߷߷߷߷۷%" #,,&)(+&**)('#'!&      ﵵ ~|||||G::{z{ z{z{{{zz{z{z{G::{z{ z{z{zz{z{z{G::xyxxx::wxw x:vuv v  vʯv%ȿȯv˨ʨṿɦvתӪv嵴   rG"  !*2@AABCE@2%"!$--(!(%%&&$)%$#&&%%%( ͯ ˺ ƹ  Ų  Ŀþ Ŀ~~ |||||u{z{z {{z{{z{z{u{z{z {{{z{{z{z{½uxyxxxyxxxþuwxwxĿuvuvzſuvƿvv{uy~|uromkkmqƽvºosv¼nnvþikvń¾nov~{zx%Ä¿zy| „à„Ÿ  ÿ  ߲ۗ%%"!)--())$&+&))"&!!!&!#' pp p p opopoppopopop omm ijijijiiji ff܃f dcۂdddcd μa``aa`a``a`ͻ w_^_^ ~__^__^_^_ͻ w_^_^ _}__^__^_^_Ͻ w\]\\\]\\\пw[\[\wZYZdýwZ zZ ϵZ֪ZźZ ǼZ ½ĮZɕϝϳΗ׵㿿㽽 㽽ỻ⹹  ḸḸ෷ߣ෷߷ҩҪߪ߷ҩ෷ ߷߷߷߷۷%"!$,,')(+&**)('#'!&      ﵵ~~|||||G::{z{z {{z{{z{z{G::{z{z {{{z{{z{z{G::xyxxxyxxx::wxw x:vuv v  vʯv%ȿȯv˨ʨṿɦvתӪv嵴   rG"  !*2@AABCE@2%!$%#--$!(%%&&$)%$#&&%%%( ͯ ˺ ƹ  Ų  Ŀþ Ŀ~~ ||||u{z%{zz{z{{{z{z{zz{z{u{z%{zzz{{{z{z{zz{z{½uxy~xyxþuwxwxĿuvuvzſuvƿvv{uy~|uromkkmqƽvºosv¼nnvþikvń¾nov~{zx%Ä¿zy| „à„Ÿ  ÿ  ߲ۗ%%!$%'--$))$&+&))"&!!!&!#' pp p p opopoppopopop om ijijijiji fmmfffgfff ddcddddcddd μa``aaa`a`ͻ w_^%_^^_^___^_^_^^_^_ͻ w_^%_^^^___^_^_^^_^_Ͻ w\]ed\]\пw[\[\wZYZdýwZ zZ ϵZ֪ZźZ ǼZ ½ĮZɕϝϳΗ׵㿿㽽 㽽ỻ⹹  ḸḸ෷ߣ෷߷ҩҪߪ߷ҩ෷ ߷߷߷߷۷%!$%#,,#)(+&**)('#'!&      ﵵ~~||||G::{z{zz{z{{{z{z{zz{z{G::{z{zzz{{{z{z{zz{z{G::xy~xyx::wxw x:vuv v  vʯv%ȿȯv˨ʨṿɦvתӪv嵴   rG"  !*2@AABCE@2%$ !--%!(%%&&$)%$#&&%%%( ͯ ˺ ƹ  Ų  Ŀþ Ŀ~ ||||u{z{z{{zz{z{z{u{z{z{zz{z{z{½uxyxxxyyxxþuwxwxĿuvuvzſuvƿvv{uy~|uromkkmqƽvºosv¼nnvþikvń¾nov~{zx%Ä¿zy| „à„Ÿ  ÿ  ߲ۗ%%$ &--%))$&+&))"&!!!&!#' pp p p opopoppopopop omm ijijijijji fff dcddddd μa``aa`a`a`ͻ w_^_^__^^_^_^_ͻ w_^_^ _^^_^_^_Ͻ w\]\\\]]\\пw[\[\wZYZdýwZ zZ ϵZ֪ZźZ ǼZ ½ĮZɕϝϳΗ׵㿿㽽 㽽ỻ⹹  ḸḸ෷ߣ෷߷ҩҪߪ߷ҩ෷ ߷߷߷߷۷%$ !,,$)(+&**)('#'!&      ﵵ~||||G::{z{z{{zz{z{z{G::{z{z{zz{z{z{G::xyxxxyyxx::wxw x:vuv v  vʯv%ȿȯv˨ʨṿɦvתӪv嵴 |||||zzz{{zzz{{xxyyxwwwwwmmmmmijiiifffffddddd`aaaa^^^__^^^__\\]]\[[[[[|||||zzz{{zzz{{xxyyxwwwww|||||zzz{{zzz{{xxyyxwwwwwmmmmmijiiifffffddddd`aaaa^^^__^^^__\\]]\[[[[[|||||zzz{{zzz{{xxyyxwwwwwww"ww"wwDw"fw""fww"ww"""""  rG"  !*2@AABCE@2%%$%,,.)!)#""!#)!(&"))&%% ! ~ͯ~ ˺~ ƹ~ }~}~}~~}~}~}~ }Ų{{ Ļwxwxwxwxxxw þttttt Ŀrrύrrr onnooooononoonuonnooooononoonumlߟmmmmlllmlm½ujއjjjjkjjjþuijijĿuhghmſuhƿvhƽhºvh¼højh™zhž ~ij±tt{q‘q ÷qu¨|qàq |qŸ|qvqqvqqqvq%q|vqÿ ߲ۗ%%%$%,,.))*&**(%((%%("" %$ ~~ ~ ~ }~}~}~~}~}~}~ }{{ wxwxwxwxxxw ttttt rrύrrr Ļonnooooononoonõ wonnooooononoonĮ wmlߟmmmmlllmlmŬ wjއjjjjkjjjǰwijijɴwhghpʽwh zh ̰ϵhظhښh h ᳑½ĮhᕶϳѠωՊ׵צʙ㿿׬݌ēܲ㾓㽽 ⓇЍ㽽֫Ї׫ܱ⫫ܫܫ܍⾇ỻ֥ᾙ⹹əḸḸ෷෷߷߷෷ ߷߷߷߷۷%%$%,+-()'+"*(+(()) ("&!    ~~ ~ ~ }~}~}~~}~}~}~ }{{ ﵵwxwxwxwxxxwtttttrrύrrronnooooononoonG::onnooooononoonG::mlߟmmmmlllmlmG::jއjjjjkjjj::iji j:hgh sh  h h%ѦhﱷhhǦ h!럨캛߮ ڧ!ƛӭӧ 桛 ƛӛӮ߮   rG"  88*@22@AABCE@2%!!$-'!!'#""!"+'#+!((&"($&('ͯ ˺ ƹ  Ų  Ŀþ Ŀ 񘘗 u 𕔕u𧒒½uþuĿuſuƿvƽº¼þ¾ ¿¿àŸ șə ٔș Ǚߴ ƙݴřߴÙÙߵݷ ޷˿ݸʾݸɼܹȻܹǺϔϔǹŷ%%!!)-'")*&*'*"& *("%#**-( qq q q pqpqpqqpqpqpq pnn jkjkjkjkj gggg d cdddddcd μa``a a`a``a`ͻ w_^_ }_^__^__^_^_ͻ w\]{{\\\{\Ͻ w[\[[\пwYXYYcwYXYcýwY zY ɰϵYYźY ǼY ½Įl ϳl׵l 㿿ll㽽l㽽lk wkj~z~}|{y~~jỻi~j~j~i⹹h|LQ T||hgUc[uuge~Uss cssfḸe}UjrqeḸc|Uno bppc෷a{yUmooa෷`xW{{jll`߷^xW{||}lkk_߷^wvXggilliaji^෷\uXxyyzӃ{ nhh\ ߷[sXqŕr iggZ߷ZrqXllffeZ߷YqjqqjfY߷XlkjihhgfedaWWmkmjihhgfedcac``W UVWVUVVUWVVUVUWUWVUVVU%!!$,& )'+"*(+&&%()'#$ #&!     ﵵ G:: G::G:::: :    % 6!66666a6X=5X`4C@FHFDCBA@ ?FCC44CQCQC42BJ#$JBB41DI%/)I==20CI%;;/I;;00BI%FF4I:://AJ%88/J99/.@I%FF6I88.->H&AA5H66-,>H&AA5H66-+>H&1148ϼ84.H55+)=G&>@KLA 7G44)(;G&:QQ:4G22((:F&6^^61F11(':Q:X:Q1''654210/'&:6:5544210/.2..&%&%%&%%&%&%&&%  rG"  !*2@AABCE@2%! -,%!(%%&&$)%$#&&%%%( ͯ ˺ ƹ  Ų  Ŀþぁ Ŀ ~~ ||||u{z{z{{z{z{z{u{z{z{{zz{z{z{½uxyxxxxþuwwxĿuvuvzſuvƿvv{uy~|uromkkmqƽvºosv¼nnvþikvń¾nov~{zx%Ä¿zy| „à„Ÿ  ÿ  ߲ۗ%%! &-,%))$&+&))"&!!!&!#' pp p p opopoppopopop omm ijijijiji ffff d cddddddcd μa``aa``a`ͻ w_^_^__~^_^_^_ͻ w_^_^__^^_^_^_Ͻ w\]\\\{\пw[{[\wZYZdýwZ zZ ϵZ֪ZźZ ǼZ ½ĮZɕϝϳΗ׵㿿㽽 㽽ỻ⹹  ḸḸ෷ߣ෷߷ҩҪߪ߷ҩ෷ ߷߷߷߷۷%! ,+$)(+&**)('#'!&      ﵵぁ ~~||||G::{z{z{{z{z{z{G::{z{z{{zz{z{z{G::xyxxxx::ww x:vuv v  vʯv%ȿȯv˨ʨṿɦvתӪv嵴    %`**iik| $ZMeQ0  $99:;;=9 =;;:99$&#-.%%- *0'*) s}~}|m}~}|m¾ٌ~}|m~}|m~}|m m Hm _T& m [~ {& m]}xuR m _} pmjimk}|}~~}~}ƒ~{z{~s~x|vuvxv| ~tsstsy| ~qqpqqx|| ~llnn|v|| |deikz{B |]`doshzY[_|xhzVW]ryzUTy}uyzTT~sxzTjy~~y{rxzSyw}xzrvz`qy|{tzohzȗwn{vrsh{oityz{zpyktz{htqrtpt vvztkjjklmnopqxmqql}qwy{olIji$..%%+#)&'$, 櫨ıϲ̽ հ̼ _x˻(#t˸ (#s˴q# ΍Оȣÿụ; ѦǜĽν ƖŹ Œλ Ŋƶj Ă̹}ȱ{{ùyxƭxwxwΆڽ aލ($" + "..-! ̠}  Կ Ӷ߻    :   rG"  *@22@AABCE@2   #%($$''! !$-)%&.&.,-,-)-+)+,$% ͯ ˺ ƹ  Ų ĿþĿŽļuŽu޽uƿþuĿuſuƿvƽº¼þ¾ ¿¿àŸ 򜜝򶧭񢣤񴧭 響̯zﱧ eεԭ~NlxƦý#됡\뫦Ŭ߯骦蝽=ym˓試rOKԔ姦ƦЁz}~䥦Ƨilpx}oim}⤥i ckafih{ou{ࣥc:u«yf[Y]d{ut`_ޢba[H9@ETn_STofglpmܡ\;;9<;?HO\Viha^qvlW}۠YGFBqhILQXQr~e~^ؠ!#!#&$''$(($(),$(*+%&-***'+,/+$%        μͻ wͻ wϽ wпwwýwz ɰϵź Ǽ ½Į ϳ׵ 㿿㽽㽽  ĿŪ ɶỻ˵⹹f̛ڿԵKi~ѵɭս멱ZḸ߲Ḹͺ>ym̝෷pNIӢ෷ҭύ߷ťņ{߷ ahv෷}5¯vXiޢ ߷zoUFDA\gbtܡ߷xHA5HR>EJ`gzۡ߷pPMBJHMUk٠߷!"&$&%$$(%) ((-(('*$$'*",%(%)%%(&$%      ﵵ G::G::G:::: :    % ! l/Dn4[-{ܡyTw͸m~rLXCcïfmD0qhFuԷal12={Y׳Wז[qc[]\z虿ԙvx;]ȯ9EDA>25(PbeG!kĥky9#>WĢ0Dk?ޢ#*3,>NEP>ܡ#47=,!CR[T7۠2<=A !FU]d)' "!"##!!ٟ8BIMPatt8BIMTxt2Yw /DocumentResources << /FontSet << /Resources [ << /Resource << /StreamTag /CoolTypeFont /Identifier << /Name (ArialMT) /Type 1 >> >> >> << /Resource << /StreamTag /CoolTypeFont /Identifier << /Name (MyriadPro-Regular) /Type 0 >> >> >> << /Resource << /StreamTag /CoolTypeFont /Identifier << /Name (AdobeInvisFont) /Type 0 >> >> >> << /Resource << /StreamTag /CoolTypeFont /Identifier << /Name (TimesNewRomanPSMT) /Type 1 >> >> >> ] >> /MojiKumiCodeToClassSet << /Resources [ << /Resource << /Name () >> >> ] /DisplayList [ << /Resource 0 >> ] >> /MojiKumiTableSet << /Resources [ << /Resource << /Name (Photoshop6MojiKumiSet4) /Members << /CodeToClass 0 /PredefinedTag 2 >> >> >> << /Resource << /Name (Photoshop6MojiKumiSet3) /Members << /CodeToClass 0 /PredefinedTag 4 >> >> >> << /Resource << /Name (Photoshop6MojiKumiSet2) /Members << /CodeToClass 0 /PredefinedTag 3 >> >> >> << /Resource << /Name (Photoshop6MojiKumiSet1) /Members << /CodeToClass 0 /PredefinedTag 1 >> >> >> << /Resource << /Name (YakumonoHankaku) /Members << /CodeToClass 0 /PredefinedTag 1 >> >> >> << /Resource << /Name (GyomatsuYakumonoHankaku) /Members << /CodeToClass 0 /PredefinedTag 3 >> >> >> << /Resource << /Name (GyomatsuYakumonoZenkaku) /Members << /CodeToClass 0 /PredefinedTag 4 >> >> >> << /Resource << /Name (YakumonoZenkaku) /Members << /CodeToClass 0 /PredefinedTag 2 >> >> >> ] /DisplayList [ << /Resource 0 >> << /Resource 1 >> << /Resource 2 >> << /Resource 3 >> << /Resource 4 >> << /Resource 5 >> << /Resource 6 >> << /Resource 7 >> ] >> /KinsokuSet << /Resources [ << /Resource << /Name (None) /Data << /NoStart () /NoEnd () /Keep () /Hanging () /PredefinedTag 0 >> >> >> << /Resource << /Name (PhotoshopKinsokuHard) /Data << /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  % &) /Hanging (00 ) /PredefinedTag 1 >> >> >> << /Resource << /Name (PhotoshopKinsokuSoft) /Data << /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  % &) /Hanging (00 ) /PredefinedTag 2 >> >> >> << /Resource << /Name (Hard) /Data << /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  % &) /Hanging (00 ) /PredefinedTag 1 >> >> >> << /Resource << /Name (Soft) /Data << /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  % &) /Hanging (00 ) /PredefinedTag 2 >> >> >> ] /DisplayList [ << /Resource 0 >> << /Resource 1 >> << /Resource 2 >> << /Resource 3 >> << /Resource 4 >> ] >> /StyleSheetSet << /Resources [ << /Resource << /Name (Normal RGB) /Features << /Font 1 /FontSize 12.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /HorizontalScale 1.0 /VerticalScale 1.0 /Tracking 0 /BaselineShift 0.0 /CharacterRotation 0.0 /AutoKern 1 /FontCaps 0 /FontBaseline 0 /FontOTPosition 0 /StrikethroughPosition 0 /UnderlinePosition 0 /UnderlineOffset 0.0 /Ligatures true /DiscretionaryLigatures false /ContextualLigatures false /AlternateLigatures false /OldStyle false /Fractions false /Ordinals false /Swash false /Titling false /ConnectionForms false /StylisticAlternates false /Ornaments false /FigureStyle 0 /ProportionalMetrics false /Kana false /Italics false /Ruby false /BaselineDirection 2 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /JapaneseAlternateFeature 0 /EnableWariChu false /WariChuLineCount 2 /WariChuLineGap 0 /WariChuSubLineAmount << /WariChuSubLineScale .5 >> /WariChuWidowAmount 2 /WariChuOrphanAmount 2 /WariChuJustification 7 /TCYUpDownAdjustment 0 /TCYLeftRightAdjustment 0 /LeftAki -1.0 /RightAki -1.0 /JiDori 0 /NoBreak false /FillColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> >> /StrokeColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> >> /Blend << /StreamTag /SimpleBlender >> /FillFlag true /StrokeFlag false /FillFirst true /FillOverPrint false /StrokeOverPrint false /LineCap 0 /LineJoin 0 /LineWidth 1.0 /MiterLimit 4.0 /LineDashOffset 0.0 /LineDashArray [ ] /Type1EncodingNames [ ] /Kashidas 0 /DirOverride 0 /DigitSet 0 /DiacVPos 4 /DiacXOffset 0.0 /DiacYOffset 0.0 /OverlapSwash false /JustificationAlternates false /StretchedAlternates false /FillVisibleFlag true /StrokeVisibleFlag true /FillBackgroundColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 1.0 1.0 0.0 ] >> >> /FillBackgroundFlag false /UnderlineStyle 0 /DashedUnderlineGapLength 3.0 /DashedUnderlineDashLength 3.0 /SlashedZero false /StylisticSets 0 /CustomFeature << /StreamTag /SimpleCustomFeature >> >> >> >> ] /DisplayList [ << /Resource 0 >> ] >> /ParagraphSheetSet << /Resources [ << /Resource << /Name (Normal RGB) /Features << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /DropCaps 1 /AutoLeading 1.2 /LeadingType 0 /AutoHyphenate true /HyphenatedWordSize 6 /PreHyphen 2 /PostHyphen 2 /ConsecutiveHyphens 0 /Zone 36.0 /HyphenateCapitalized true /HyphenationPreference .5 /WordSpacing [ .8 1.0 1.33 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /SingleWordJustification 6 /Hanging false /AutoTCY 0 /KeepTogether true /BurasagariType 0 /KinsokuOrder 0 /Kinsoku /nil /KurikaeshiMojiShori false /MojiKumiTable /nil /EveryLineComposer false /TabStops << >> /DefaultTabWidth 36.0 /DefaultStyle << >> /ParagraphDirection 0 /JustificationMethod 0 /ComposerEngine 0 /ListStyle /nil /ListTier 0 /ListSkip false /ListOffset 0 >> >> >> ] /DisplayList [ << /Resource 0 >> ] >> /TextFrameSet << /Resources [ << /Resource << /Bezier << /Points [ 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ] >> /Data << /Type 0 /LineOrientation 0 /TextOnPathTRange [ -1.0 -1.0 ] /RowGutter 0.0 /ColumnGutter 0.0 /FirstBaselineAlignment << /Flag 1 /Min 0.0 >> /PathData << /Spacing -1 >> >> >> >> ] >> /ListStyleSet << /Resources [ << /Resource << /Name (kPredefinedNumericListStyleTag) /PredefinedTag 1 >> >> << /Resource << /Name (kPredefinedUppercaseAlphaListStyleTag) /PredefinedTag 2 >> >> << /Resource << /Name (kPredefinedLowercaseAlphaListStyleTag) /PredefinedTag 3 >> >> << /Resource << /Name (kPredefinedUppercaseRomanNumListStyleTag) /PredefinedTag 4 >> >> << /Resource << /Name (kPredefinedLowercaseRomanNumListStyleTag) /PredefinedTag 5 >> >> << /Resource << /Name (kPredefinedBulletListStyleTag) /PredefinedTag 6 >> >> ] /DisplayList [ << /Resource 0 >> << /Resource 1 >> << /Resource 2 >> << /Resource 3 >> << /Resource 4 >> << /Resource 5 >> ] >> >> /DocumentObjects << /DocumentSettings << /HiddenGlyphFont << /AlternateGlyphFont 2 /WhitespaceCharacterMapping [ << /WhitespaceCharacter ( ) /AlternateCharacter (1) >> << /WhitespaceCharacter ( ) /AlternateCharacter (6) >> << /WhitespaceCharacter ( ) /AlternateCharacter (0) >> << /WhitespaceCharacter ( \)) /AlternateCharacter (5) >> << /WhitespaceCharacter () /AlternateCharacter (5) >> << /WhitespaceCharacter (0) /AlternateCharacter (1) >> << /WhitespaceCharacter () /AlternateCharacter (3) >> ] >> /NormalStyleSheet 0 /NormalParagraphSheet 0 /SuperscriptSize .583 /SuperscriptPosition .333 /SubscriptSize .583 /SubscriptPosition .333 /SmallCapSize .7 /UseSmartQuotes true /SmartQuoteSets [ << /Language 0 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 1 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 2 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 3 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 4 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 5 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 6 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( 9) /CloseSingleQuote ( :) >> << /Language 7 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 8 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 9 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 10 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 11 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 12 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 13 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 14 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 15 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 16 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 17 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 18 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 19 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 20 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 21 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 22 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 23 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 24 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 25 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( 9) /CloseSingleQuote ( :) >> << /Language 26 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 27 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 28 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 29 /OpenDoubleQuote (0) /CloseDoubleQuote (0) >> << /Language 30 /OpenDoubleQuote (0 ) /CloseDoubleQuote (0 ) >> << /Language 31 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 32 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 33 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 34 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 35 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 36 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 37 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 38 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 39 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote (<) /CloseSingleQuote (>) >> << /Language 40 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 41 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote (<) /CloseSingleQuote (>) >> << /Language 42 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 43 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> << /Language 44 /OpenDoubleQuote () /CloseDoubleQuote () /OpenSingleQuote ( 9) /CloseSingleQuote ( :) >> << /Language 45 /OpenDoubleQuote ( ) /CloseDoubleQuote ( ) /OpenSingleQuote ( ) /CloseSingleQuote ( ) >> ] >> /TextObjects [ << /Model << /Text (php ) /ParagraphRun << /RunArray [ << /RunData << /ParagraphSheet << /Name () /Features << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /DropCaps 1 /AutoLeading 1.2 /LeadingType 0 /AutoHyphenate true /HyphenatedWordSize 6 /PreHyphen 2 /PostHyphen 2 /ConsecutiveHyphens 0 /Zone 36.0 /HyphenateCapitalized true /HyphenationPreference .5 /WordSpacing [ .8 1.0 1.33 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /SingleWordJustification 6 /Hanging false /AutoTCY 1 /KeepTogether true /BurasagariType 0 /KinsokuOrder 0 /Kinsoku /nil /KurikaeshiMojiShori false /MojiKumiTable /nil /EveryLineComposer false /TabStops << >> /DefaultTabWidth 36.0 /DefaultStyle << /Font 1 /FontSize 12.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /HorizontalScale 1.0 /VerticalScale 1.0 /Tracking 0 /BaselineShift 0.0 /CharacterRotation 0.0 /AutoKern 1 /FontCaps 0 /FontBaseline 0 /FontOTPosition 0 /StrikethroughPosition 0 /UnderlinePosition 0 /UnderlineOffset 0.0 /Ligatures true /DiscretionaryLigatures false /ContextualLigatures false /AlternateLigatures false /OldStyle false /Fractions false /Ordinals false /Swash false /Titling false /ConnectionForms false /StylisticAlternates false /Ornaments false /FigureStyle 0 /ProportionalMetrics false /Kana false /Italics false /Ruby false /BaselineDirection 2 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /EnableWariChu false /WariChuLineCount 2 /WariChuLineGap 0 /WariChuSubLineAmount << /WariChuSubLineScale .5 >> /WariChuWidowAmount 2 /WariChuOrphanAmount 2 /WariChuJustification 7 /TCYUpDownAdjustment 0 /TCYLeftRightAdjustment 0 /LeftAki -1.0 /RightAki -1.0 /JiDori 0 /NoBreak false /FillColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> >> /StrokeColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> >> /FillFlag true /StrokeFlag false /FillFirst true /FillOverPrint false /StrokeOverPrint false /LineCap 0 /LineJoin 0 /LineWidth 1.0 /MiterLimit 4.0 /LineDashOffset 0.0 /LineDashArray [ ] /Type1EncodingNames [ ] /Kashidas 0 /DirOverride 0 /DigitSet 0 /DiacVPos 4 /DiacXOffset 0.0 /DiacYOffset 0.0 /OverlapSwash false /JustificationAlternates false /StretchedAlternates false /FillVisibleFlag true /StrokeVisibleFlag true /FillBackgroundColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 1.0 1.0 0.0 ] >> >> /FillBackgroundFlag false /UnderlineStyle 0 /DashedUnderlineGapLength 3.0 /DashedUnderlineDashLength 3.0 >> /ParagraphDirection 0 /JustificationMethod 0 /ComposerEngine 0 /ListStyle /nil /ListTier 0 /ListSkip false /ListOffset 0 >> /Parent 0 >> >> /Length 4 >> ] >> /StyleRun << /RunArray [ << /RunData << /StyleSheet << /Name () /Parent 0 /Features << /Font 0 /FontSize 10.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading .01 /HorizontalScale 1.0 /VerticalScale 1.0 /Tracking -10 /BaselineShift 0.0 /CharacterRotation 0.0 /AutoKern 1 /FontCaps 0 /FontBaseline 0 /FontOTPosition 0 /StrikethroughPosition 0 /UnderlinePosition 0 /UnderlineOffset 0.0 /Ligatures true /DiscretionaryLigatures false /ContextualLigatures true /AlternateLigatures false /OldStyle false /Fractions false /Ordinals false /Swash false /Titling false /ConnectionForms true /StylisticAlternates false /Ornaments false /FigureStyle 0 /ProportionalMetrics false /Kana false /Italics false /Ruby false /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /JapaneseAlternateFeature 0 /EnableWariChu false /WariChuLineCount 2 /WariChuLineGap 0 /WariChuSubLineAmount << /WariChuSubLineScale .5 >> /WariChuWidowAmount 2 /WariChuOrphanAmount 2 /WariChuJustification 7 /TCYUpDownAdjustment 0 /TCYLeftRightAdjustment 0 /LeftAki -1.0 /RightAki -1.0 /JiDori 0 /NoBreak false /FillColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 1.0 1.0 1.0 ] >> >> /StrokeColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> >> /Blend << /StreamTag /SimpleBlender >> /FillFlag true /StrokeFlag false /FillFirst false /FillOverPrint false /StrokeOverPrint false /LineCap 0 /LineJoin 0 /LineWidth .4 /MiterLimit 1.6 /LineDashOffset 0.0 /LineDashArray [ ] /Type1EncodingNames [ ] /Kashidas 0 /DirOverride 0 /DigitSet 0 /DiacVPos 4 /DiacXOffset 0.0 /DiacYOffset 0.0 /OverlapSwash false /JustificationAlternates false /StretchedAlternates false /FillVisibleFlag true /StrokeVisibleFlag true /FillBackgroundColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 1.0 1.0 0.0 ] >> >> /FillBackgroundFlag false /UnderlineStyle 0 /DashedUnderlineGapLength 3.0 /DashedUnderlineDashLength 3.0 /SlashedZero false /StylisticSets 0 /CustomFeature << /StreamTag /SimpleCustomFeature >> >> >> >> /Length 4 >> ] >> /KernRun << /RunArray [ << /RunData << >> /Length 4 >> ] >> /AlternateGlyphRun << /RunArray [ << /RunData << >> /Length 4 >> ] >> /StorySheet << /AntiAlias 4 /UseFractionalGlyphWidths true >> >> /View << /Frames [ << /Resource 0 >> ] /RenderedData << /RunArray [ << /RunData << /LineCount 1 >> /Length 4 >> ] >> /Strikes [ << /StreamTag /PathSelectGroupCharacter /Transform << /Origin [ 0.0 0.0 ] >> /Bounds [ 0.0 0.0 0.0 0.0 ] /ChildProcession 0 /Children [ << /StreamTag /FrameStrike /Frame 0 /Transform << /Origin [ 0.0 0.0 ] >> /Bounds [ 0.0 0.0 0.0 0.0 ] /ChildProcession 2 /Children [ << /StreamTag /RowColStrike /RowColIndex 0 /Transform << /Origin [ 0.0 0.0 ] >> /Bounds [ 0.0 0.0 0.0 0.0 ] /ChildProcession 1 /Children [ << /StreamTag /RowColStrike /RowColIndex 0 /Transform << /Origin [ 0.0 0.0 ] >> /Bounds [ 0.0 0.0 0.0 0.0 ] /ChildProcession 2 /Children [ << /StreamTag /LineStrike /Baseline 0.0 /Leading 12.0 /EMHeight 10.0 /DHeight 7.15988 /SelectionAscent -8.58154 /SelectionDescent 3.24707 /Transform << /Origin [ 0.0 0.0 ] >> /Bounds [ 0.0 -8.58154 0.0 3.24707 ] /ChildProcession 1 /Children [ << /StreamTag /Segment /Mapping << /CharacterCount 4 /GlyphCount 0 /WRValid false >> /FirstCharacterIndexInSegment 0 /Transform << /Origin [ 0.0 0.0 ] >> /Bounds [ 0.0 0.0 0.0 0.0 ] /ChildProcession 1 /Children [ << /StreamTag /GlyphStrike /Transform << /Origin [ 0.0 0.0 ] >> /Bounds [ 0.0 -8.58154 16.38457 3.24707 ] /Glyphs [ 83 75 83 3 ] /GlyphAdjustments << /Data [ << /BackFixed -.1 >> ] /RunLengths [ 4 ] >> /VisualBounds [ 0.0 -8.58154 16.38457 3.24707 ] /RenderedBounds [ 0.0 -8.58154 16.38457 3.24707 ] /Invalidation [ 0.0 -8.58154 21.18453 3.24707 ] /ShadowStylesRun << /Data [ << /Index 0 /Font 0 /Scale [ 1.0 1.0 ] /Orientation 0 /BaselineDirection 2 /BaselineShift 0.0 /KernType 1 /EmbeddingLevel 0 /ComplementaryFontIndex 0 >> ] /RunLengths [ 4 ] >> /EndsInCR true /SelectionAscent -8.58154 /SelectionDescent 3.24707 /MainDir 0 >> ] >> ] >> ] >> ] >> ] >> ] >> ] >> /OpticalAlignment false >> ] /OriginalNormalStyleFeatures << /Font 1 /FontSize 12.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /HorizontalScale 1.0 /VerticalScale 1.0 /Tracking 0 /BaselineShift 0.0 /CharacterRotation 0.0 /AutoKern 1 /FontCaps 0 /FontBaseline 0 /FontOTPosition 0 /StrikethroughPosition 0 /UnderlinePosition 0 /UnderlineOffset 0.0 /Ligatures true /DiscretionaryLigatures false /ContextualLigatures false /AlternateLigatures false /OldStyle false /Fractions false /Ordinals false /Swash false /Titling false /ConnectionForms false /StylisticAlternates false /Ornaments false /FigureStyle 0 /ProportionalMetrics false /Kana false /Italics false /Ruby false /BaselineDirection 2 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /JapaneseAlternateFeature 0 /EnableWariChu false /WariChuLineCount 2 /WariChuLineGap 0 /WariChuSubLineAmount << /WariChuSubLineScale .5 >> /WariChuWidowAmount 2 /WariChuOrphanAmount 2 /WariChuJustification 7 /TCYUpDownAdjustment 0 /TCYLeftRightAdjustment 0 /LeftAki -1.0 /RightAki -1.0 /JiDori 0 /NoBreak false /FillColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> >> /StrokeColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> >> /Blend << /StreamTag /SimpleBlender >> /FillFlag true /StrokeFlag false /FillFirst true /FillOverPrint false /StrokeOverPrint false /LineCap 0 /LineJoin 0 /LineWidth 1.0 /MiterLimit 4.0 /LineDashOffset 0.0 /LineDashArray [ ] /Type1EncodingNames [ ] /Kashidas 0 /DirOverride 0 /DigitSet 0 /DiacVPos 4 /DiacXOffset 0.0 /DiacYOffset 0.0 /OverlapSwash false /JustificationAlternates false /StretchedAlternates false /FillVisibleFlag true /StrokeVisibleFlag true /FillBackgroundColor << /StreamTag /SimplePaint /Color << /Type 1 /Values [ 1.0 1.0 1.0 0.0 ] >> >> /FillBackgroundFlag false /UnderlineStyle 0 /DashedUnderlineGapLength 3.0 /DashedUnderlineDashLength 3.0 /SlashedZero false /StylisticSets 0 /CustomFeature << /StreamTag /SimpleCustomFeature >> >> /OriginalNormalParagraphFeatures << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /DropCaps 1 /AutoLeading 1.2 /LeadingType 0 /AutoHyphenate true /HyphenatedWordSize 6 /PreHyphen 2 /PostHyphen 2 /ConsecutiveHyphens 0 /Zone 36.0 /HyphenateCapitalized true /HyphenationPreference .5 /WordSpacing [ .8 1.0 1.33 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /SingleWordJustification 6 /Hanging false /AutoTCY 0 /KeepTogether true /BurasagariType 0 /KinsokuOrder 0 /Kinsoku /nil /KurikaeshiMojiShori false /MojiKumiTable /nil /EveryLineComposer false /TabStops << >> /DefaultTabWidth 36.0 /DefaultStyle << >> /ParagraphDirection 0 /JustificationMethod 0 /ComposerEngine 0 /ListStyle /nil /ListTier 0 /ListSkip false /ListOffset 0 >> >>8BIMlnk2(fliFD$6959b6d6-0482-1173-a2a2-eaea0594271a image.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F +IDATxڴ[]U9gǵ'MLMCBUԋ JH x E@SQ/i8qB[%$6\Ǟ̙9xؗ928tξ_k|MAAP$6/g"8uN#ێ›?0Y߼mpS>v휤ܾN'֞/?S%Q"RZ.VUEv!wmKJ;rl) [T|k^][kcz=ݖ%-Z0j@TeO))E1q<7v6!ԗUbU I#DQL'Q7$B`0րgg~ip2MZ\R+.9rN0L>N\Yz7~g;Jl_퇏$%G1^4<~TqtCJy9[n-KUs<›V^eSE0ib *A'/o@pE! ,DHA00``#gvRP O6=,7RO)j"93`l?`Ta6͟>G!Uz%)=iSI Ř$eP2t _TBQ'&8~ba\-Rr `XP2ĩ)+1<\1S?5..DA͠ӗ4PyE 찶bc}&aKFhT*yrd;/];MЎv I<hɒ׍<)Qmimr"V8QX?2>1PN޺^>sۧy0[ )z*Ry!Iccumw\j kl\[L>R}Ooɒ+ Ȏ58FK<,g8`C :!r,QL#v%[B6MR)$lhP˂(PmMjV vBDT0]8% Nkkec(ܓZBB?P)BMF-ufv5{N*P'NPAwȇs[&ViQKv{.T4z/uH8[p=w~'_eFF6H@ Q{)ow)wrXz[u:kԂ@hWKvE}ѳu) ݸංPRhK~PCxx6WPm35W +Rǯ}ˀYA2&Ne6\%* -Ge{Dڭf&geEGX^=sqvH^r4қt:K<[r[P֕8y0Swsejj7J3e֛Aya&>gس,|[uaY@å.Mefҗ̻M+Layi AÏ<ĵyμ&so`Tc 1dqswmM'pyγGZhclR pxa^,s/ovM011 7&6vG1CU¾#/WŘ Sokx v0<eEFū?>eVVh6a2;:ࡘnL2\z+J&aW"—^Jy8N71o{͎6 7)bDb곱CcX12nJ _+Q bT? ka"Ӽ:w?arJtbPp!s r)E1 3=\ۣ4U"& ayuc agj#4:Tk+3"nݧ.j01X[ 1'v;_38*W߶_<[\w_ص,g xΐlq1ss^"K%f/]` U5=HCL?okʍ  uIENDB`1liFD$94592e07-047e-1173-a2a2-eaea0594271afolder_open.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx[]W{s&sOs\;i3cTPD/߼ԇyD@U}X bmDlP#BLnd23̙k}{3g&Qca66{]o6l` -[+^]$1wZ)g8d ! S03'`5˟Ab+9N_\xI*_o~|}𝳗ubrHҕ}=bKN% vK,2#"JӛgNSW^9/} =4""HX a plw 0+ו_KXVbn?C@#|Ԩk,V1r5- FwW­;RNzgj.ď|3GzG%~gN qR!RlUr0*$ZnY!:t-Hap#7=IK lRB*)j,?S+Lu yN UА4k4e9\2;kHA'sj" $=:cR/r`ZP^ܱ.$楇mĻFTHA.905=ZX.w\wLRmwAX9BHSO0>q`h/-]Sm{Δ GCXU(r|L ֕%@W[qcV_Y6ά' ObZbМ='0جbp*NڮA)b  &C(/!{AD>cm\9@9;7v~;'F0,˕ڹ/,204|>>x]_jQޕ:' Vj8`}=Ujv4f9'#@E}Ь׉3OL^Ǫ]B(˞vgH h-׉^Ztخk5IWZﳌJBJ5KqM8>wNQLgmf˲.H[u?dwN MSk>%m.۴=<B([o?h4%r梉=kf-_u4ehx Nv_s˓$>5}|UDs)f042Fkٍ{g`edww+"Tj4'oJܸrFJexdpp߂W13y^(P} H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙[]U3sfNgzpBiAZh#/ژB$ybkb4%TђQbPPDFr)(V*Pf^a_Nc`%;sfu.]*Z笂  H؋abS%^L&o}m#7Su1Za?T FhYmNOLTYXy BiRR:e"85y]&kr+_z?-]sO_u|fAm("]g>yU_ʹ)#"_bO2ޞl߫\tU04@Ҋ EhWf_۽u%izr O!+/k-oZ~xuBu)MX]+\gCX=q1ld(r+X*d!a@BwXO ![AEKYC~hdS@-d.QmafgO36-v# 12a"$iB):)F 2[o$ n),J\;Z`hRˌ-(z`*yGsCp2@_.^$2I'm;c§jA0-Cvn5]޵;J*gPQ/CSt,!l|XJ?1;|Ԗ|]XJ1O4@!0t;9` IENDB`liFD$16ba0847-0488-1173-a2a2-eaea0594271azip.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxڴk%E̝qXX`5*A֬~@&|# H4hQ1fC@E@  }tW?T?PI֭>ϣEUyq *( Ž|X2Xv-O=Е Lwܥ]D{ư_.ea=1(?4֩ȔNώsDӻ)]t,IJ7,+ƤZqd:'='@+n/#OM+x+>Dx,!N{AY@UOgV"%tD<*4v&{;cA^x,w>>ǯ_e[x9s;O\3uNL34ˈ$mGȓSHe].wnXcSϑ 2RV@%s#u97}zκ\Nv g_ yt5.(AJ{)hENI$$ؒM8 (qv*>z7g_rnpp1 {HHyhE r"L,O5]zq`(}8Og_]xM<\K"&ʱb -8@'J~N_7dfS.ק C\{UyR/-H@ceвA)q+\XbYKnYl~S s0u\PԘE[1-o|We(zq51Rxy *ֹh2HSNFz.s67By  [Tz}Ǟ~ә~~ Nwڐ)0Kx*LP'kYf5n :..sw@TE8I`+f^6AoOgK%ӫW L@K.B6ezz$w{dYȗZXX`_˯Ǭ\5ZY.7Xe-Q\knDn%c 6XYB N *BgvZots4*!U.%WU#`bLPZw>g^1 IlOb[I"%B՜VJejPZQblbZ!mZ-1&Pmpd#6>wʥІ0T^PiJl'1iRGd#&6DL.KE]q?E}Mt CGr(y.A` %:"ZQD>6x")(E!ٷERG֎ n[Ѐ(6qx]k`kCtjj~@ Ar06Y74񠦜K,QFXS/JM%h@yZ< jB dՠ\'a;`#9?p|~"oKbKM|>E]N"u!Q7{o|gO^?窡. %<hb~#|GlXC+yٱu[0_DRF+ !Umd#Kp"|~(:דr0/L[h*5>s{Y5;H U-' K*eE+a4؅Cps$R1QDE3=ۧ;%y.gU)Sd^9ef1``G 'SCjK2VBZYe-@{%C0{ʡQ|~x-]ijzِP_u"+c?H>ٮs.LfԻ)nt:=Pۘ_POl$ŪȻlw o\} ֲ0b@"FNShTU+V1_(2N ՞2rj(x }*H*CN\WzJө:vԺCMZC#Ӓ]Ej],b1y:wH>w%l{Da(ҖSp!u&ђSm/;ZԼvoߝu|)?} ݱ,E};RpY~7= j~",j_9[U+&+kÅ3/V:C˙^>>{򮷖Tj&A'po5wo.ǿYǏй#} K]R_2' VVj^pGj4E1:]m/.^9W8yvTj6|?|kڇoUugƒ(ޓ=RZ5TgQ 4cyz5 R{pSSNi\ #$azۡٻ2D>q~ ;^Qc1%;).aoy䕃c(xu[UDhR]J  ׊|#Oy."'S5>R1~#<};IENDB`liFD$10ef980d-0488-1173-a2a2-eaea0594271axml.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙[p]e47$-M6AZ Eab_ >30x\T$\t~>kVezz*x1MvgNF N_ DmH=18P,RA_]el羯~K6;}isݝm.hXH$\JQ20?7K@m`CX!NHKtvuzwѴfKJ\bG5[ũ(b }uj c.đՈV1+ .` EbKJ%JB5͜H_Kɪ wަʆ K ܢKP a؂Z_cL$3v\'?{Ņ7ވj8ow::ԧ?ˆ܂8I Aljȕ-l٨1}TsGp^g[GDz*'vzzϮ]L=ʛ~OP.qJ]k@ I}QQeaa4'k5nw?5S%<|QQaczV9]c蛜2:r7" -J.274gfT{菦'ET%~it|Nww޾4%:Yզ rYC7E2*ĉxet뇇>N_@zK} >^uwfSyG8>3[ochV.=[;Q qiMJo#̞q0<'Υ\N2#M*n[ogd|=_x3|"{>fcǚ*fND:tѬ\KZ7wE)|{;rYz>57KBO@\ =)M`%FU(n+6oQ+J{ 7P>HܾT&O 05i\ep6^r܈ir~i }^ﱂq+{ה(X*T_ (,AID*V 7\޾P^N[ɢr[.[(6 ՖuNa@AGijl%U`AmM|.-IDGz4}Z X qsVr V2s5 5m-6жWL՗ʫNpR RIENDB`liFD$ebc7ebeb-0486-1173-a2a2-eaea0594271apl.png8PNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F SIDATx̙]]Uk;3v6D64XLIH `GA"%bAjE[G ԙ3s9{/>v-1{Ͼ>GTXRPPD@[߫N)6W՜O}j7NM;Neg>8[Dwck,RU>1Aj#?:U %ree5Ӌ3g.pv.uSe5w,g2 Fd+$Q`^z߮]73=\ tw{x2Z딕唥D_޹~Cy@UW DjHִ,)ֽʧoz)Q'&LG_YzWl4\yחvྺ.Bk<'mP@$og(QCZ; מx 9Vb?ofճ%OsT8Dy|_b4Zw=(tA>U3*#YkɲrHAEda@?r0k)@?_D2G!"ܮE-[i^HD! U{腗)imEgKN[hV՚j `BY/#0IP)@ĝ>̛:;￳#C`cq dN$H"Lށ|f &(b AXqA\*QE7WG=A3zD6s=k SPIzA\Y% Ryb26=a0'*_rqqαt:UcL "}akY]?1wIj _ uo) 2Ք8~$vͱ~z2%Xd!B0  !pԻn% 䐥=Р"N]ۧ#you<9ЦleTi,9 Etq*0"S( Bgt݂}bDhPuq8z4q@7Z`2UƛfdM3&@Q6lae#e͕ D8M'YZC )ؿVDu9Y)bb_":]wtbEDQWhGxb4 JGQ̺n$Bwr}˜}$'uAt׍/ /`?>uxޢ_c6s# R{&fuKgVgW o3SA [Q\y@غ #{NU:H]S7"-VIDṕUd,-=m} Az;; /yw)kyZ5\ː\m|.G*%X=:cK+&Aj#b8Qci`jr0_r>l]BTaseb?\ 4($0ݏJ cs";ߏmg<T>bF:8 0 O6^ZIENDB`liFD$bdafd78e-0486-1173-a2a2-eaea0594271ac++.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙k]Ukǽ3әBieӊAS(HBcL4!bAI`"5G@hR23{9{/?=[N }9{=GTƟ5(?͗"8uXD ׬f11,i,RU>2@j[*TIHf['FNN]KJ3qgb  <]ҟ]62 ]u6l 딅@4n\><;_+V"tD[++_SLiMο2T nE?̡7\$'p~hKPO~-/x2}u}+Q|$e_\[^;x&VBXl^-4}D@/!=vs7aZϟ82xѹEc8vXozo4$9G I_b"Z=`SA3h";z-߸֝CGy{5.吏X3q SM99 %Nga[JssZz'YWӜo8 ^< Ƥ)B+*OC~V?JUSrbk;/Sg)a<ƲZlK2CC5g^HN7v^5]Nlg-68k:M:P*'l2}rql;8qX8' |T!ʠԊ, ӏgI׷E]jE&T3JWEݥ_ %V+ :8r1Yv5V08TgY4Xh%.ym7cVLr,ӆ`zz~͛.bxxApMh6[,̷9|"I, 7Yn#p\nsP V3>KV]gCX-Q ӼiWQe1^Pz-%vhJ Z"ɠT90)1߷Zy.ʎ%!E-H-z.guDq[ Rjǘt]K-ۉU~ZƱnJ%atU_, CC\zŧKm'j+=>*g QdI 8[Jv9qlbO%H6y?.Y_ߣ͙y D K(Ddݏ~w!"_pWD.H%?O4@0#Ka'@IENDB`liFD$bc26a07a-0486-1173-a2a2-eaea0594271ash.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙[]U\z̥zA , ІP! !>Ob51} Qx!&5jSAR$m1Z2{ok3Ӟ3JV9{U|OVPPD@]k:SlD ]4̱#oܰzhn3n:ZmaHUp>?T֩ ( ";3Uq '.e/* c.^>(S1hX#Q Kk™cúJ{r/}_u\s{?9Jb\'!I,6A>? B֞sm/6|]NO,uӱ$JP 80X x;kBBo?9c'=fQŚ;=Ynڽ)M@ Ĵ•7QTxLs$RT[=M`L Z+N0<0|W`Zz,w×ytݚ&US\<6KIwJ%vVԞI: L9K8M'N:"NI!V Q-235?Ͽ~-/ݦF2gB5;w)o6Qԛ:a$8ZsgP1aƍXfpFi$?xm?{],gϼؼ$'?-fxGض2FG=s`mBgg[ Z$yN6c?%Q18Zk"7_> L*(=UMfGu#mR`1cIh'e||=a(`8!pB>Yj~O-KiDR*LO2:: [*NEFcRaDVk#B^o?E=wIV@(;ay-)=2Y5/B`Po!I#hxAR k!VcLr( lN,򃊤WLǟ]\imbQU lli[#4r/XADIZ$8S)꽣klJhA) A,X1q!&@}% lu: AZ"MGV+e٨|TvgJifAaΊVWb,hegZkV `Rπ9`??qhIꮗ߽ٴ(Jaɂu .{`g~jʊpҁ=U:u$[^As h[To S)rx*:vo#R9>T@zI>nX F\uR'xLuTAb;j[4ds$H_"F8Ⱥ|EViQlMjZZ%/xnVN]_(\@&"8IChǮSJ5 %L>w=[WN>vɂūT kt@2(U3}^+K鮲7{ =ˋ} 4Ut]=pK2JUGs݉xIoZnI? )8xg썶];W$~d"PVcc2UBQ}@}*M0g7!*xy ) d26KF T1SߙLxoz"91z9߫d/V*A,`Ė8BWQHQ`b/>bpF`$~i}C0y?S!Ng=uzĖ^J%`0W^rcfdefk\eExd\?K!{w|}"yWaGe ~ ,!l}XBm̉Ȧ>v.!"J|q-wxImIENDB`liFD$f3bba182-0485-1173-a2a2-eaea0594271arb.pngpPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙]UkϜ9~ZiA{i $"4>x !A_41@H#1jh"PhB뽷{0_{9sI&̞=rWPPD@)E_*rEqk7Y~Xrݸi##Qa#2:VyGÖTYZy䙹ƸK!>TYNɪABA"F`^x.].ռW v%Wa3?ihE'vOOP*:"Rm>>d^kBpANL6C/ϿKP(C9WZ~mwwGO~🋗:X'jQiJ Y܄%zS-dUiZڞ,Uy1R:)ijiBd #h0F}bj9@lؼ/Άz&mп8EZ:֒)iB@C; /UC̡9W~rm7;|X%IvƝf 0 ||#B=\^A ',;VLw BBgϽ @PًTSuxD^>g^ `|NB `BdZ#xG2`5ǝɦ7?C`cQ &[f@eDVuge0u񸪖h,Z;5ϟ;{gNg^z<ұ/OƩUSS|jҝRKU>r eΜm/$I:bN Q-<ز04O[_؀yݲi8wo1'TyWF]\${SװќYKNMRu8gq6Zc ayF&kv:)''^O^ xSo釶e9-; ^Qvў96eybsgY\\&^%Nmn݂8I.ݺsl4X$##}SWL]=`A/ *JOU{c9($X*d!la@BĉزB0$!pBR<6ͷYn}cJȚJ*ϟebb,3TߪSQĀ̘04ng C!jODJ`%Vm^xE!0B ($m4Mcka#nat08lB, YH֪ £>!4O5\d\M,6' MdD&G3dޛ*-զA 7[p`$IH1t1F3/VvlE *A,97\QTeQ#<1PMs%5v Q{䚢]$'eBl^dE h/)x]/_oٴFDdI:Ķ .aٞU[fҩ y ʡ&\x@{: {N:HdŃWc_ڜZWᓈۙxbTMZkZ<g{"RCkLan=ÞWxS ZmŽ _zn<9Uin7@ԌX_si%Q_# Wɡ%V:a<`8҈,ثĨW(0c}d$1m&1LÏrq'^3O&jFLV0@PW(qz9H[ ]=>qB(sz~>sݿY~ Ė)(v%H6u_=py@30ʈj C$s">CD>|]HO4@0/~:;!}=BvIENDB`liFD$e25c83d8-0485-1173-a2a2-eaea0594271apy.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙kUk㜞Zq6D6Eiib1&Ę/ A > ?FE$h+" h/ /{{03si{N I&̞=k=? *( x>:&Jp#~k9ˇ׭g?Օd11 tLRU&?5Dj[)?T橒*(  F]ɵїN1:(S1/S 0}E9oy(u|>YzQY[1n%'k׳>t"0ᶟ;,o~Zdb`#))'H=`d%?q9u[{r YfgN-# Nc vfJq勻ll}* Su{7Ƚ @1&Lj_ T*Η5yto0GQU Sj:xnI#;Nfg8^jS0x% R8̞[הZd/~-_\Q'sXY֙hYR)U>wEfO0ȁSpbR>^rlna_ܻ?[ 8gjE&T3JEݥ_ %V+ :8b}=w%+V3|߻[nB BIrKy.ݣU2ڲue/YإG*]>}iQ,%"cK%&`*yi(fj3dvSUzD')~?6o;|ZR=H⌈:k.s|6v֩ʥ3h)CSJHHws)UV,Y )h)@ n){t!=S#u 4Jɫcw-[ڶl'VZPl^yg!ަ7m/i? )8xvg^cě*,[$jn`خvU0T1g_cӕSeɇI=^FJuKJo݌IHui'+AΩbJA'5͔/-B59ex9gTMžJ|AKJU 2Mo/(:<:1) L_..#IlM۱ 7* #\xQDԊ #L솠TFbQ>^Xf?Un;U+_W9Se~"[OJ\ol+@DZ-J=J8l#__c͙y ǥD{ s"vgO+"%R :4ڝ$+JxIENDB`liFD$7d242227-0485-1173-a2a2-eaea0594271apl.png8PNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F SIDATx̙]]Uk;3v6D64XLIH `GA"%bAjE[G ԙ3s9{/>v-1{Ͼ>GTXRPPD@[߫N)6W՜O}j7NM;Neg>8[Dwck,RU>1Aj#?:U %ree5Ӌ3g.pv.uSe5w,g2 Fd+$Q`^z߮]73=\ tw{x2Z딕唥D_޹~Cy@UW DjHִ,)ֽʧoz)Q'&LG_YzWl4\yחvྺ.Bk<'mP@$og(QCZ; מx 9Vb?ofճ%OsT8Dy|_b4Zw=(tA>U3*#YkɲrHAEda@?r0k)@?_D2G!"ܮE-[i^HD! U{腗)imEgKN[hV՚j `BY/#0IP)@ĝ>̛:;￳#C`cq dN$H"Lށ|f &(b AXqA\*QE7WG=A3zD6s=k SPIzA\Y% Ryb26=a0'*_rqqαt:UcL "}akY]?1wIj _ uo) 2Ք8~$vͱ~z2%Xd!B0  !pԻn% 䐥=Р"N]ۧ#you<9ЦleTi,9 Etq*0"S( Bgt݂}bDhPuq8z4q@7Z`2UƛfdM3&@Q6lae#e͕ D8M'YZC )ؿVDu9Y)bb_":]wtbEDQWhGxb4 JGQ̺n$Bwr}˜}$'uAt׍/ /`?>uxޢ_c6s# R{&fuKgVgW o3SA [Q\y@غ #{NU:H]S7"-VIDṕUd,-=m} Az;; /yw)kyZ5\ː\m|.G*%X=:cK+&Aj#b8Qci`jr0_r>l]BTaseb?\ 4($0ݏJ cs";ߏmg<T>bF:8 0 O6^ZIENDB`liFD$39292081-0485-1173-a2a2-eaea0594271acss.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙[p]e*-I I&^Œe3b‹#/>8Nk%舷8"ڞJs-RlKO$gߖ~ړ8|3_{_*vx>9>EKQ2j}饟yݶ|w.g`۶mJﹹ9;}a|gvv '≉ {1LLL><zLLL'uҦ`E,[ ] h"~o\^5?#׌l2pam^VWY¥w{pC\_Q 7P\Woyv&d0Ю>Z{UlO CG{) [a@۹uTJ{կ}\|.k,pqC__-hS!<#Z9dYJzܶ.F++| o|? PĀ1Xp|/\ݱ#}SAlLww'2o|&TsBd3'։A1̞sj<磁=2XP,U)Yi2A/|^}{]iş^V=~3O  Y@})FFpVx^X F@, #!T(пrW}-4UPQT5%ky_Jda~v^l³ 6" 5T+cܿ)N{Gm,дfTI5_K$h|nM8E x˿~ mH(+jb;OѢrIPttMS!Gkq0?Uau]J7Y-ԯ1& Ƅ[6cgGR.Bs #ZcH AXkR"faxb[bJ"mmMB"﹡E,Kw#E}eRI1҅L*)\Y\b ff5<®0} 7@WOows'OˮaFF(w@.zRG,_ATYZZ65Z탃|f>z~PNqf'njs3L|;\DTKB>_$&F[U}Az1D/ oBOo%ÿ R`V$ӑRFF:Z@:uO~̕% r޻R'۱526  ~ 33\JwoDbn })?MM2}c32:$x4kX%js 2{޾\L2v}Ԧ` NOM[94Skg94L!zc1N`LQ,e;3T`4~*voeht<3S|λ5:. |E~qsfx?qjt𾈺h ג +n4e(B~ny ^Y?T![oqg㺭|lSqݩ3CG2$+))Hd 5wA(̍(;oC=xzPYyb@RЌ&M 1JO_?{?/բ5(qHZ"d9th{R-7]g eJs5͵5)ny ƖKu#eL%M҉sSIENDB`RliFD$09ed4b52-0484-1173-a2a2-eaea0594271a html.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙[]Yk}99gnǗNlr#( ܅UoH RE<@T*"Pڨ0 I$N293s{]>>gΌ3$KZ3{|{￾a_j}y@"H;;nrY]Y^3d1fW# pPFeѱB'B ~BMVp;~7w:v w (E#QuIcwM}7 Tx^顳q-ۚ# \}Ts (Q6/k Q\©®T{N`wCs|P8HpsUMG}S ؾvо{89wDC@iIG;O C`td'ɳ<"3 ~l[ć0\<"?yp~*yrq(m4D^xߋ}%p<çxINsg_ٗ'o=o+={-gF A$ & ;yw_{hЌҎ ?Ǫ0"" hHBQG@dp"/+g޻n8`vc'47l%(4RE;["I-{kg.ekm_=aϷAiVh! P8UiNǍն-kn m_O̷o=a 5Q%c'1j:6@RFO76U_xE =Jn{mZ ˯A` PxzX[_> QQlGD:,l19,xTMDіuh6SW^^^ I:_Sz!@g!*D56LM*:ORXKx+p- Zkt֘8Bd Z虰cwgd`@To_u_Bۜ+ c!M33t~>ޯz݃k5#NZ͌fɩqcֻܱh;K?Q:}S8vl8I[0G19Ve1~3ǹ=N>Fb["y/{)Aɢsltd]&s*i3oV; r" QZiwr޿/q-0;k8:CO Eʺe|VD-S_Ś㩍ca>j4)&(\p_Y$]Poc,!+ˈx'tyѼvE8X_= 4B)M/R {HY.!ĵ+\xA+"EGԓ\@bHv\R Mآ5Aa,4#HgqO}R"I4:E_;z,낚5#8Z.DU*|e|ufsZ*ۇ/D2:H)0Z| M5$(70{KʍvwiGGOpJ)Da%)GXPJ!  e2.KsO|(;T DE@<9K~ehh!La.P7vW - E!hC/pׁ?#20lf'zZ*V ~6(H |Ǐ~}k :4l@z ɱU+'mwe6UI'Veb3FP8aejzz^ۀu-L2Sola=+NB%BU&|T"xWABGӬv(  {E:A((|fEA!CtϸcA= h_TE*ef=m`#~ B#3C 4V4. "9C֛RA+Fi2>)K~NatY;/_ XpX&-A :C'(G>P!qC40h"ny)c ^4F?@E4iԪb_UyvBTX?f[SMDJU J(+h69_ uoû;(%PDqTA6w1@ڗ o6zw$c44xe{wSdc6`ј0A[Wo &l68Iۄ eB9}ļHfqeY'J 6DFvv D4TG+PqD xa K[y_hf$t>#$ HUɌ8"}tW/vxڣӇ@a]Yy?[+E(VF53tdL`]z!)OP+iE&|hW^bzz?i !`T|@|KI'1I#2́)Vd͌Zz(j]F;H6oF/gf{ϛYgjr(x&5Q$1\8OVenoި3>5"4dX Ky{V(C+u-cc z|XkH`}ˍeqhj{pqcF1o6ĔluF>BZ jgk+֕/k Q43Em&'ڷc4hha D@c͸(" P=@jX/4FECQ>)jzɼm_Gh21(Y$M>~u;9I5h5=0֊m-Ru8#u&N4QQ >lZ73 a #׸5BP86ǒȰ`)_,-`鋳~B*"wOUs7ΰI 6M@lbC(>x|҆RN+NU]M1c쨽I7π-2IENDB`liFD$fbf50e48-0483-1173-a2a2-eaea0594271a office.pngrPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙ϏdU?ޫꞞ * ( 7FPcbbPrcܹ2q[(E faiz{{߯6TxLWWw~|~Ϲ؋k *( gA>(R&[]ĩ'`qCK[+z 1.7MU{m^C>U5socG{W ܑdLUFAĠ.ܠȬ˛~V%Δ0 1Y_*Y#2q]kY3[1{{R%T@8gPr<0(v¹@OLRЎ!=AAԣB +3.ձ.}Hsڇ >L)!(=>*_UUIn l׿yBS]eS!0 JUySM*IInB&`gG3+̬mT;٘فUB-=4*{OYJDn9Zfqbvt> NozѦ.Q%h`<)8sܱbڥ4=x[̦("1`Rr\blw"`O<]OPz^C4RD "1X##ȭLT'uB1Xڿ ?/c{czjH䑊4Pi[3XD061XF=K䶓  Ü_^?*!IIw|5&GŴ]((_~*L ( "Pz%u@DBÃUuɓ hd&1aQLmb0bePl/b wai0?w3̧FC+9Th!Bl׹;P(b0Ƙ xɐh2!XO\r9aeMR2Bh!sgVysT'x9Hh(4 "\|`ġSV,. /gԏADU3b-+Y9P1=JGu%p#_ A=/#})x@g_Jf钍11<#X RlLD9r~^LChI>VoT\yQe~:>!.Wlne X{87IOQ+ ˀ{~FL|,Ԥ/~"Sc DFHӀgz {B[Xf;h54ӌ6O:v3 yiN !~ZCihj; ,D׿R,g_Xܸz3gCc'?УlӼxfpf.}"^kF mʡ)1lbt+2'H.S)?ku5Bg)i/n] M])1A wÏLip6,x!D\ki˧vAx["@凮^f6bjL['o3-#k3wĨT ~[W>Z!<F?y}+AT]Խ@G{ѱ vEb rk,o/Mf_w]ۍ3i9B+>T-EHA$FHoq:RgZ?7F-s$ 2Dt&Aj ܧ.ނ[[.EۍJmI/ŏ=;Miu۩T.#kOX\ :7?i9c4aVAN5 Z9w1"d4ajiҡ3zve]'s_St6yzm0dI =Պn?-XwPdO$w(O4swLao$T_>(\.֙e PX_NSwgt@Dᓼ]"wJ NՖه*?3 V(wIENDB`liFD$dfc1d08c-0483-1173-a2a2-eaea0594271apdf.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙m]Gy̜s޻/up16خ4EX56@7!Uj*B늈**BTBPԦ@1$QRQ_ǐĎ{<0{w]Q9gyrDUR;dGAAPdl9_E Q ^/{6mc?ݰuT1n^p-$ưƹIUv}^>ma>Ut=m_Ȧu+6ʲ,W!*e%5;.LҫYWxf~ o'Nv Q.tv ^suܮCq/jPGOm%=/i~ ~?rv~hIP(ϼ̪$a0bCm>ѹ|Ok{(x hXI]#/nv7eUBQ|}EA XM A~[ /}/EZ<>|An l#}W©/V[jёw4\;=W((liR2S\i3}[AD5[۹uG\ aTkؾ.c۷mF9 V=sS!B(/jaP8{zsu%& P e?pJ-i\5pXz:$U%j/6I"TYp?6Rs'(O%+`RYț_~D*DOW?ͧgvspd P_oaĀbV(#4,H NDfŬXz@_V1\xMP=].v{ Zk ԭIKi ƖFa 8@!/ATvc_ܭ46hGk6cHVi߳ 4>]Dp7u{U FHc5,I)Bù'\EP2 "R)2ِ[]? hFEc.UmSX!@@F hOGEͼX&Mw#050>7N2N8_ׯk+=/=GB09 yo[^fa~ܴm=G QLR̡ ԫ\X.|?=p2) Q')i3;3a#t'bgS.|@c``5dyTɩ&s3&t{ gOl}[~ ?|YW@N+^wa.@ZtwmK=;YZZ@z;";LOLxtBOUKίYY^ F$1 s R|>QF8'c"πȏNa[LR***w8!ʀӜ6'H[AkYFS(?|1j߷̟xn|*\Wm4;Ts@l_BfDR|k7Q̹M@!`totfPRuT( :߲wKуZ${鑹83Eȳf$_c@ԴTZ4/7VFF,X5Xk$o4'Xh4rfN9͉ R:31*5;RAJ`UhP*ab&ro 3QWUbbQFb 80Ǐ>xeÀnD/R hN$zC&VUc$XS_[˥$)m8c*? bQ5_5`%N60a9,˰Z|_MeBu:*bBTswY4=bC(g~@UA$AbĔQlh+Tgh񀝲S,-,ܾ/{ b %&yeA %RQV]'+P|Shf#{'|oĉß dH@lA КG֊Fk -$q+,bN6P["N0qLxM S1`$6fPшDJ6C:jR^|Y&+JC(J]Tٜ)nhnkA55сhq_ZK= ei:f,/;XYSy0_aD+q,(D漆Rף5߸ Pοn_}h?'=\UC j45WQ\ =uG?GAмfMp wz9ܸ6RK\tE.6HUstsܶF?totu4yY't"07&FC釐Xz[ܶǪL;;5ZU15Z[y#ߗ&mNhѹmoX!e-" `ƨ^>40ķ8u8?~yZF:6epXJVYΰշr2ཨXxOa7 8K%:IZ/ Jt~y/3%meu@{zBGۈ^ rSm;g'L]C̋K s+8o!)55+T\wbQ >"f1@go0>$$?tW7g_ [g@fa e!#@D|5]y50]#)cUYn;K &IENDB`liFD$c782a35c-0482-1173-a2a2-eaea0594271artf.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx̙[]UZ{33gӋ Lb! "D}ÓOh_SIxB"(ŶBK[:s{χ}9k93=Ja%{άEU9WÁy@Arm1_Eq^q2.|#_۰eSgy3zіLMc chIʶK; [S~S%W"SS'b;Ϝ mWsm$*̳{Pb(&.ӎy-Ly<>r=˭r|ә"hw_nyy@Ȼ(2@O'ZD/Ͽ>e'2%s__Z,~|k3㼐C}fVrv|/_xx2c\ ;yم!2YpYJ@$ F?G 㜲ֵM\4kҝžYP{ߦg9sS:v,s#K2$eXX}E9#Oǿ?;sN94~BJD@YF~WEȹ',,;{fjBmMF;~/8LR&'[Xm23bejq L'_#;7dr[?|J/ܡ9|Ȝ\Yy*Җf<ݔ4Mغi]7^AR j:TIjRRK4Z[܋w]7bm)y@"Z

        j$aYQq!є?p|g4uU 1~ 9~ic}b l#s~-!z0D(D?uW^z[y:-"7, :̏t~ncn8oIENDB`liFD$00ebdf9f-0482-1173-a2a2-eaea0594271atxt.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙[UfaAgJŢ̅bj[ӦKӘ&M&M6MФXjciqAD 0sٗoa߾= 9/_3{^{uZڢ̷I@AwK*J{L|_W{2[YAAF@V~G3-EDW?~P5G痉"eC?؇syb OLտ++_"E:O|2M@gUYf%a-4*Aڪ}|{mMEır'GzcGzY۶Ƕ-j.sSDQL#(zBՃ w_㾿L>z,(<ı_[]{xKG1>n\ |N_j!z U" mHj"t_tuK^lar S.O_#J+0V,Z%ajno|8y(/vS9r8O&$s&JfO;sd i_:iD16юH,6R뭱2~:0 #K[U|TH@#MoA1zK& yRng}B'QT d*8 BƄQDxP9!q&<.VV6 " d)t$-H>QɤB5F<6ϣAXL $qGbtkzE^~;q.f B "pr%dA)p僚^kXB H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F 9IDATxڼYk]UyCkx*"$|` !QQ#!h1*QcD$<dBQh)P"`@ʫ0̽cgzg(N=s[k!zY( w)jbXcߞ= {u8LOUrIxk?]G;Q ^/j O<}䀒XU€E\,`3 :nDQX Te?c{o1f-F6x1?A @(  0< zպO>[˛L IAHxJp*@WwPcr,KgP%*jWC5CT(#κu%NtjuwF=x̯ '3*2)hf"4Ыz#E 5c 㻓EzkJL_AmR9~s _xrE=,FUbo-}"i%"(M"KE!΋'PU>AUC "} Ćç1vX9ݏ8}ā!!W$h¬hd1,PuaPp"g"*ƿ_xg16洇9YqLgFM&c3Ec`gP>[JBPƪ_Ͽʢ*V i t,['bù!X#E+QT^ u5_c D<c`l̷? _?qOΣ[iXPBEAY5P*D@DψWۙ;7ޘYvydT7LJY$$ ZERQHCiZ4ݱ Gm 84]X{yNux=@*Q#& agS>4Rq? W^I a$H1>|)N9| ޗ06>鷭O44umլ(1Hf}ϥW߶ y[G[&ʦfKSy;WN37cle" *0̈́6:Z,I(69Q$8*CZ`TQbԆG, 5곅@٘D1 F~#Lri%@莛om7$Bo8uj&n?/g 35L_ɒ r &j> eۊEԤKfU(sk 1 $Sf5@ii_+qFI|5_*vu=v݅lt&˯k&$^Bn:" QǗ4}sdV]L;dСQ45ªZJ`j[ 2?N[zpyݛ Zq\ɤ[vgלi#Y h jJX $ҲcJe*ClFT@Y6,5|_SGbP*vfCD6 IʎhO/eOCxk^&*%ƒRB _%IENDB`liFD$928d337a-0482-1173-a2a2-eaea0594271a audio.pngNPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F iIDATxڼY%YߩSUweo)@@(BPEx@PxA $P!Q0"& 0&xdzz2w|s?5+̬iT`UIy׺9%sҴK q k4+?0+BE븨Gq<%VkK/AFTP:3)eT6E1QSf/H)J%ju/}f~We}JRD "Lb`# k$(@ ;v~^er$TrF*RCPN'1#E&(~c X=,%ڝ/b|\BPe"P쉂:A] X/)S&tAW"^//?fQ[=E5_XMutn[r `L :xwJXTbn.6ҳ?1-^O3PxED ls{Ý!8!K3Dl ^?K=]+ }qUZ>(+@+x@QR׍b˔,IF#b8g9r2y0қkq^8cJz™|ZES&L'^+QMUB R(/ -]( ɲ\i kሕaȡt继#?1#2Wxε6z1#bm@f KF0P'd.ֈ׶hwZ?7{̕^6-<1F 5?T1`D S(cmƒSBZQ8u( \m:k:Q6zyJNZ@ #a@Ȓ.ϧVH1$/S,珝>W*(˄aD6Bƕ lF!i9 PRa1gi `=Ly{$O Nˢ5ElT (UUZ QzC5G8 B!A`#KԎ[1q+"-6 VEԊ ̤^z I:󋇰cu Lথ bF;^цԤ~$Ɲ(e ܼ\o蟋qڠ<+j d~?Y5Z01SJbW l|1 7j^tnI} "^"Y~嵧ٹ}o+ -)J2TlOjvWgE>l uz0Q-76Y*q [ ~çD2imQDw^zM^%z bs}XijN4D y1Sy`_tX׎Gʉq͏vJԝNu&o^ V pÏ79S|꧹&N~h]돪&R tT&nj\Ae=V,r;s _e^[E2IBuҔxI-[km:NQU#r>'k7W=OHs֪xb:5#+bPpm :|y>/op.gcul?ϓ;lo56f~bI73 iI@5:?p#q9MC6yI2f<66Bw{h @y9 N98[X'9{i^zyqp1/NXޤ{J[to ~):]¯p-?h!MƠJ26ڕ">򰿿z%k~$W^fax"Mf4I@!{iG<G}xxH3 nm~Hς!b 6 V] di^wT/it=+N1Fq%M3qp8~msN@t{bA;Zq${K' "SWV\ +:Qt>I.b s 0&xWּT%p(o22LQA vD/q8&,B cΞ8Kssƣբۛ;?.Dp$;+`سa7e0NP' 6[tw~]nWsY\v#n{yȣS ÍyM|0dmJ~?MUϽW/ʽ֞Y:lc.%s_Ͼ|_Oݛ wܠsa}IENDB`liFD$20883df8-0480-1173-a2a2-eaea0594271aapplication.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATxęK&W֭9әa1ѥ !C|B ]dqV4JD&BL@PB01fgzW{[[_wON.|Uݯ<9%;{UAAPmu==" xy̫;8߿braE;ưe٤|<#隔:TJ8e0sKdK+}J原"ڜrЧg~q{yviS9LC4n"V@T6cyZ֕LMdF5^@JP!`A8 WW=,{jbF*TBmC}PAԣΑI7O?*Aю7)%ELJ0r80`Y~(1%&D LjBa<#qcPd ̀;ȩߜNf4Ip6b&Pj[!x)2i( X^c%W@'#QBHHEhGѸ$3$JHO` .T񴅷meSE0UrT ٨D[W|]5U@kBAĀ@ B`Md'V z39sLunlSO Pi" rƌ L1̶V+I,ٹA_8!;PE` j+m3i:"+cbgm: @*BOz(6*14Vaх &Rr `L2f{Rš=|?3.ʎ ZCg"KinUzE0Wzy>k 1tD5,,z~ ~4 4o~ ]nbүq_ppj Ch*y̐e(ط8 w^s˵zؔ M ^x>+1#bm " *Bo}۫|Y(M d艖4ijB?T1`D"LX[y`$zPFoX+eȁEQp 䚶J4FI#!3Bg[X\Z112gnfmzURhG5i\(6/(Tȋ9|ldՓA"weHi5uJTI(TH1$N*T=eclf E2i:LUC Y^ST۔ I;&NcV4 -rl^0;7kar!:1_Y77 $q@A*vvNv.u7uZ[UTOI^K1 RUdBϐ֙9@oY_z][QKv[*XM)a7u{~zߏyscz1*P+NN&$eNwc^ġc[dQΐۍ a3_28JgO|wU[ 66t@Q:DdI[Da6z!sևD|̖,ImUi'f!{0G{xqᝫ=}hνV^9VڒVp[*Oa'ιn^)Ei1o$ n$\%ݘѻ_߆ 񇯟qԡY_[c}}T MH %uzz=0{cꓨX=鯯3*i+TV u/~(??saٳ;oR밈 J;$Aq n^c}ruՕ8"0Lzo6SD;VMҒWM G\\Ya<=+CK'4L Ͽ+7Idv2whu_+Ae {@Py`+f:; b36A7W s'O]x5K9sl(O{ȇf-^?vV3x]D>K.밪ƍ?\I:IENDB`liFD$53a52047-0489-1173-a2a2-eaea0594271aswf.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATx̙YG_uz{8q`8!$\&$@<; D$b@0aB$vpHbLl6Yڻ3]UU}8xրBI]ZTeYAAP|77˱^=+*yr%3\]E僜n"4M$侃|بl[2߶+?6us8aJU1 {:i 536&y\SJӊӈ;߸g|e9dgK}+m*>$1?CaE@P O&;|ΦI؁AGO1qʂ@weSjMhz[f#2Ń !Snҭ\SD$)2ݕoٝyQ}"]x;:W+C=qƢgɕҌI0I'A33][c'+qGx^xQmiMPR E)~~&iRXs܃Wbe)`^qjo|zoM_;OhiKs͖ ng nbn%9'8rE&1$!tX?37m`rzr`qܫ_yu1smoK&rby{YTNIp|g/HpUVz}$, fZ?u\|9ch3jרmR%c L{b18Sb0!hCEH`2&'v' 'FL9!#|A@EL1'Q|A`$zŤIHTx~.h|M( W`ilzycX#+,M(ԐL3Sq1!1ym7( h}^PQ"L_HM 3{& t7oŸ^\)lADpIb-J]B%ږ-$@|Hd^+ɲIL5BM:C"!W4 R+$:o~҅{P 3%:I8u͇gv7ִ;hEڔ`ô"LM5/| 4 Cq\M*MFT5^kM"*@E½o=cG\9f0]r܆-#j*G~->0amLf:GW4 6 MR}cnXO&@z'[UwC'S'ri>i|҈;g{T?x =6ːZe4ۖ*jJFNxQLj%,:,]r:6k:faЎ͚uYyXyk!I+U S$c[Ӈ4Kx[s@@71O̜59k"ԳVEHyBݖ*? TKhIENDB`liFD$6a10139e-0488-1173-a2a2-eaea0594271arar.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxڼyU?3gwZ[F(bj\c" H jL !j4`\p`bԀ\Uk`%Pwサ9{[^[qɽw3U߻(Rܛ_/" xSNbΝfbeISuhOb t,RUl絒~ udJ8x:8<=V@P+q?E )1igV;6{x|vfJg_) t)[O=gͱvV|P:+};6X򀪞?ʴ)#"gZ^Śejku[T l+;c&q)B>8hpB$ۊsWj%ʘΕg~wq>kyG9xblW/xޗsmW^ss.?=3'qp.O]Z/=}tyzOI"! 0url_m?EW]Z~~{ǿ Ey7; E4;Z "R7󾻭] [|k<~Ǿ{s/fr~T>o\7`,4DZ"`#?.-Ye}ɒm.;s?.Kʹ=%s"4PKGTȳFlѱ\#ظ: Р4XJ=";rY}CdcI$AqZH"c1S3KqlܪG B !B ?`'~V>u#&ʱb <8$2o$o'}2ClYmm4cX^x0e}VAIH Jε:Cs~0&DVQ$@dajenG?-sТ yhǗKׯ#J',Yeu. 4J3߸^e&pƖH]@?d\d-'^,osWU+O \J :> uuc6k6OGkv Qd &Ƙ=9AX>ٝ>~ yMrz8m]W`_5ZpxPLl I"4VVVXtyC5f8E6vlhr u5'{Eџ{1-F8k@| 7T(.8{|}^ĬuQp]rE[uq*0"LɔDrY9hՠk$'1x=$ɪ[J͓u \VJFϯmj8"iZYUZf_cL #K9cKP.6"Z H嵢LpD'$*IL>D6BkIA"wi(`KS_]2CБJA@K&| %3Tz$hE=4`cDѬ2Od5J6j8"*iA$ v цϭjjq@ Arp6Y'44S!@My]/ 8c"7Ś|R"(e+?KR hE,Q 5xjlWr\6'g A٧{1N&snOuI0r͖n/:!z>!(^:FQc hNӳCBF'~H-4j4ޟ(jW5P [&z|z]oB{fb4yvzf. *5J,IN ڿ8$ ֲ2b@"FJ%UdU@C#b  LN ^;?elRph&Qz+Ufk&UUL-(Xl1B7^t:5Gg.fbߡ!BQiɮ".jA*0n|9MH.}i0iKb1ΐ:hɫ64=oCm]7\ş;|eoe|(PdQApKͷU#z TjvnW3wgUvu 3x%˰axH)䁺A^Gp H$i5wis?G՗х#c>h(n` +Nϥ~~;<ц!uR} ͵Mǭq/8t;)'zQ{q)鬣s'~u=jFG;Rcy ¿|5 J{(+g>K #$aLrl{D8Dͳԅz!"/[5ڜ)=RBj뽢*{˩y!0&?g59N<TUbklFIENDB`liFD$619aeb1b-0488-1173-a2a2-eaea0594271a tar_bz.pngOPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F jIDATxڼ{]WukǝxlSTԮ\$£%X24H0j%VZQ 6rxR6m ! UKh* E!$5c{k{ln螻>笵׷8m| *( Ž|XZ6lЏYy񪉥MMeǏ׵e=1ӈHUټnJT JXs7NYB*+ZȭU#`bLP&A$<*{ Pc!MbäKJ̓u \jN+%M2Y5(-Bd(H[ qc[!mZ-1&DB(ߏ3c\ mE]N"u!M7ƭ|*{q;՗8W uV(G=F@3~:‡~:G>rH 篒Qx궗a#Kq"|~(:דr0/L[ ՜_S]z )(ZO@Tʊ('Val^!^h9)bcH$)L7vXKkZktJhbzy&o$ $p+* 8ML }‰Sx;M?*'#2ەz%#–ɵ`~WΧ^11<;=PNՋUj\_&)"ojVGZ<>_B8fi:n7CL)4S*N܋G/AfWO ^=;`eliBol1U"MS 9q^1F+NfQBO5t25j5OKv9w r Tykj#λv 7|>L2j6mHjT+-j|'˺}XsVEċG6pqM"rrL5V_Nk_9[U3+*kAWZh$3b|O.8n8lD:1u@l{pO+J&[`{oA珍dÕA.*=6j;0oxs/sq8t;:QG{k~e3ڇ5g|3?8ck%,ieii-26.MQH:؃r9OBX!M VZJL-C\51d'EOtAG_mqZVUZQ߽+_"oltMOhWv,^!H=zIENDB`liFD$60c01c09-0488-1173-a2a2-eaea0594271a tar_gz.pngvPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_F IDATxڴ{]uks;ƱIj 46QJ1VxEm*UA*AJHLH R9E$MHSJ#H( m*!Pbž{s3aKGΙ}Yo}EUy*( "W{zWUzcKSkV,l|XzzjFZYx9TMkG:-嬮Cm*A ;=N!<9{ M\ײtg!=^!ŠqB^D{'\{s|zxrbL幒ChK.huXW =fgۘPl^D HYWWfʞ +~OT H/ξt7X{TI=o굻8CE"_{{kDZ;kWR_zXg]gSb1Bllgdr 8Fvمsw{vs.XkLb;p1y4~vĚb=ObgF$4"HLd nyUrvr~#Qv|& ?p³uōW#UūK 4E(!_/ 8z>A_޻j}XwACdc=HM~3"͡鉹>yCT5p-ʷ? ;fvO?@[s|}|9zn(6SFGhw-ۇҟq5MUNN޹q pq_6 xYTLNhD:]  d0Hkaavï$X5zY ̆&3 *J_Wy"WK$&#ll>1!xCE`՟y|{<0eeT)-L\n-8E c2q "峀#B#n$积XvKY. IXRٽMV J!J"̈́c{-(W8"}hnʤК!5wQP˔ qҠBHHť(P 6Q`1\iHq2IϦ!C ͠#h |p&"QDq'1' 5J6j8<JiAč8i0j]<]Dr35[gJPDL0u5: *x<)Ks#aXϗ#9MV> RрJ HmYʨ <}n@xO&P߶` 7Ҽ9_x13ڋȜ>SzIUɽ-<7l~gm^y/8^\U,P"gG5G@5‡nZo~}EN=ADJYh@HU9t kP!Ws,Y*spf9>s3sLZ((O@ʊȪmSSup2~Wl 1$QDWZdzkZf+VݪR%<^jz!8I 6I$\*?UPZ c Ja%URN*Ql\n2>:/+ZU:j% Jc}>Vj?k ^q+' ڕj%ĖɴaѠ| baT-T,MBD|`N 5rjB8fa>N'E)K2N˜,ĀAW Z9Њ%RA;*H*}AWs%nWP;h_IFܾ!BVi"kA@}v 8h ;}vo=5eqTZ!U&ВS%x94y3:~*k"}L1:C8O0L =(U?-3,_[fɩboejǠYvN z!dX}GYZ=OEy* ?%k/K/!n~t1`SLyq +NϦqGkjKuU1~_{unιƩp8SwŃ?uW#ltU~xw+ eiΒpey~@9*R%bx\\H #4ÊY3sVb"oq&Ƹz1;).f/yyCD~/8rl">U{*.ZWWW{EUdEWIMP1^ˁ)oU~3בVIENDB`liFD$6ef1e0ad-047e-1173-a2a2-eaea0594271afolder_closed.png.PNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIIDATxYI]E=2v'mF1$f! ;AHЕA.tE>E0Y8+э$.:1tFMwU1qHO{ާ$<ȏc +VX<:}ӛ 1V>7T` IĴJhAuݧI>ܸ>w@NmS/Vݓ 9~ީb1wS M-irZ2#}x'?kc8>8yysh6kw40ѸzWo6%n,̾|0嗹֓\_(P*_Kށ=6Mngyvsq09w==aۈz W!U0(az FeQdݺA'>wŶ^tJ0EH+* h9x~]Kk꾹3f-6KUh92Ha̜\Ro8@:~g?,v g6E 7%bowoŅk @ @A{݇\rbnaF̱h`nt`aځ" &7ˡ-lTZ'R^Z~ 0/y6'Hֻ-5'(¤eE)Lɤ/J1H\ +﯌Ck744[d2! 5!G|QCXz5">ƶ`rb+Vms :R-dGçb/w f}(4ky LSOk/UZAz.4a\$e։>PT1FȔI"UȦ~!ں~ ]MOHMM \rɢz*(g]EE1B jvӤH%B:,ԆnâRF3bT͠ks׶Sn\PU JQQ=2 Y ,캲іhT\Mɦ[RH7C(<)vIc}j dUcwER!$yA~XBcu<xlۤN]FV5D*8RVvת#Q4J0S_.2̶A`ڨ6f)ls(P F7J Nv^- z!_Tы*x")k9f 7 disl#L[tAyAI0>lZ`^ 6祿coZxYaf2P'w "[-DpEm7qqn 7.[[dW%Y]väNck/T*I4?QN;Ul3 [R GelB va$?Ai2):xSZyȫE(vgѴZma~USǒ162k5X73s_p?0jw#r-_x'|~奾t쭫;kJ: F0;&Na {;@EIENDB`liFD$63b0519e-047e-1173-a2a2-eaea0594271a unknown.pngPNG  IHDR00W pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-gAMA|Q cHRMz%u0`:o_FIDATx̚ˏW[==q)H@Y  b/ ؁ر"A`"@" b GbxtW=,֭tAIIWTWwsGT:~{uWAAPnu=>E)R gcc^ȉ#.e,17M m쌏кO҉\?y;Xw?Y939U9={١߃"x l^b_ϻ +KzΔ0ehuYZ[?'s~H|aRmwY3-^X-HQT=* x3@60+{ùudE7YS*Qh䭯~UP^ȵ@}9V^_䱋;6| 3xhQPxO^QNyFj l/}~81#:ҩn&F^QQsqFjB"`go.|gV8YiT fFPj½<^),+GczV,j^|K81څW|%O\/"ԏ*^=q5DNHp^zKg'ڢKU Oxnt6E1QSd +`d҉$q?{މoԄR񊊔T 6wvy{ VXkHy%г s"VMlnl4N*"Jsڥj"pGjr&)?sEv_AJMyk㠆 /3cc6tl*'y^Cf@n\G;2\"E+ol|';;x&T"9RҸPigbig^x>g.ZHBhūa)nݺ{XYW8{$]eCw{?'ɳ1T^o|}{-kX\(}>g6NENJ!qs/35aZC,/ .ydm_yk߾ŗ+OgnN)E'?lmךE !y8VW,/p}OrzI‘U˃ 9+f@lA+*֏3Oz, wea߽9L\m 2%44 .*0"k88~J/M1uA{-#&4<7$n-C%6NWej{\Rr)K-8c)Ș2{1[.;;*+el}e]ٹ˥W }N~G΢3zS1e,̈KyX(2]ˎN A/ A'Uū%޾+WPN\ F1:z\k35U5XpE}A7򡛔nUw6q sX8wnΜaw!ڙTﯢ[\7u@ 1`ZσUAg\Fxs8|ZI";ߒ2Zbi#%Z5PۛycG8q2Z>3mZ2h 4rZZ/CGA՝Ekͨ%{7HݙWdPhgPwT/>`8,e(e :.c)ehg+0g55ʔN5A=F#l\uħ5+J$EUk)%X,'VbXiFɲFTҚ +?GlkQt4Wp/>"ְ*MwT,3iNEP" nAhԴ4jmWөs@6DͫonfSIY rљ)̵"^1AMQö 693>ba[mwNLTH1f)C mdbng}+%mNuZ=YLZFicK'#mfjkҭ?8^t20shLBcD[RO:IsJ5.^:mT|l*PhFHN);dkuhAB z*A)rχkc%7:s #o[hb1'"g7;|_g ؇]m>ǿ| ?IENDB`8BIMFMsk 2#!&%')#*&##!"+(&#(&)(("#    (.)! %& #!$     (%,$() #!&#$()#""!"+'$,)1..*)"#  !# ('!!(!*'&#'(&&%!  #!&#$()#""!"+'$)0)1./.0+/-+-.&' #!&#$()###!(+('&**+&(&*$)''+*"#!#!&#$(("!! !$.%)'.!(,#!+($+ !$("! !&$ '%(&!!# ')()#+("!($"#"#*!'%&(%#($'$(&#" #!&#()%+())&&+"($&&'#*&&&*"#   &''()**+))++*+*+****')+&)(*')*!#  #!'('',*!)#""!#+$*(%++ )'("#  #!!++%!(%%&&$+'&& ()'('*  #$!+,%!(%%&&$+'&& ()'('*  #! #"+,&$!(%%&&$+'&& ()'('*  #"! +,'!(%%&&$+'&& ()'('*  #" "!+,(!(%%&&$+'&& ()'('*  #!%& +,$!(%%&&$+'&& ()'('*  ##&''+,))!(%%&&$+'&& ()'('*  #%%&(),)!)#""!#+$*(%++ )'("#  #!"!+&! !)#""!"+'$-$!**)$*&(*)#!(**+,*"!)#""!"+'$-$!**)$*&(*)#"(**+,,!)#""!"+'$-$!**)$*&(*)#!#$#+'&!)#""!"+'$-$!**)$*&(*) '%*)*(-& )#""""+)(#"*%!')'#!#  &&%(0../*01(1',(+%1',)(.+0"($#  $&!#&**))*$&'&(+*+*(%%# !###(***)&!%'/,&/.%-0/(/*(%"(%***)&$  #"!%&$"*+%'+'*#(&$(#$"'&     !'$.!'$(  #,   &$"$#,  #"!%&$)*&*'*"'*/().(%#   !#))&%)#&)&&'''##!%  #"!%&$)*&*'*"'",-()/,,,)-.1-&'  #"!%&$)*'+'+$(#"%)! )&&&#(+/)"#! #"!%&$))%) $!%$&(, !*!&$-&%! !*)))&!%"'## !% ( (%&+,)!)*')&)&)*' "("#%*$!&%!  #"!%&'&*+%),')+*'%&#*$&'*"'&    &''()**+(*+*++**++**&)($*+'')*+(  #!'('',*)*&***'!**("'*$$"'&   #!!"++%))$&+&)+$(### ( # %)   #$!"+,%))$&+&)+$(### ( # %)   #! #&+,&$))$&+&)+$(### ( # %)   #"!$+,'))$&+&)+$(### ( # %)   #" "%+,())$&+&)+$(### ( # %)   #!%&#+,$))$&+&)+$(### ( # %)   ##&'*+,))))$&+&)+$(### ( # %)   #%%&(),))*&***'!**("'*$$"'&   #!"%+&" )*&*'*"',*$'% ,,/*# "#!(**+,*")*&*'*"',*$'% ,,/*# "#"(**+,-)*&*'*"',*$'% ,,/*# "#!#$'+'&)*&*'*"',*$'% ,,/*# $ %%*$%+,) )*&+!'*$(&#)%&#!&&#  "%&-*00*.0/('(*0&-.*#"/,!+%(!  $&!#&**))*$&'&(+*+*'!%$ !###(***)%#%)//*..%,0.+0*(%!(%*)*)&$ !""!%%%%**+#*(+&&')# (    + )'%%"$%(   %()* !""!$$$%)'+#*(+&&%)*0-%.##  ")&("))*%$('!!$$ "  !""!$$$%)'+#*(+&&%)&&)-%/'*'+''*(&' !""!$$$%)'+#*(+')(+!$#('#(# $!#(#"#$!""!$$$%)&*")'"$%.()&&+*( '   &*))'*%$!'    %(!####&/-)&*")'*$&&(!'$("% #%  !""!$$%()'+(**++(&)()$)&% %%   &'''()**+**+++++*++%"#"&)(&$"   # '('&+))'+#*(+**++"*%($  # !**$)(+'**)*)%)$( !!  ##!*+$)(+'**)*)%)$( !!  # #"*+%$)(+'**)*)%)$( !!  #!! *+&)(+'**)*)%)$( !!  #! "!*+')(+'**)*)%)$( !!  # %& *+#)(+'**)*)%)$( !!  #"&''*+())(+'**)*)%)$( !!  #$%&((+()'+#*(+**++"*%($  # "!*% )'+#*(+&&%)+ *% &"%(# # (***+)!)'+#*(+&&%)+ *% &"%(# #!(***++)'+#*(+&&%)+ *% &"%(# # #$#*&%)'+#*(+&&%)+ *% &"%(#  %'%'&$('.+)'+#*(+&%')!##!"  "",$(/)*/011.*1/0(00,+-1+&*)$$   $&!#&**))*#&'&(+*+*("%% !##%****)%&&)/0),-#.-,&1,)&#(&***)&$                                                                                                    ˺ƹ Ų ĿþĿŽ ļŽ˳~z½ʛywþɛ{yĿɭſƿÄuomƽºpn¼mkþplr¾zrr ®~{z¨}z àŸ ÿ߲ۗͿ񈌍p¾ًyp  u  t~ޑs }r~r~p~~o~o ~n~m}l~}l~}j~|i~{i~{h~{h~{g}~~~~~~~~zf~~~}}~}~}~zf}}|}|}}|}{f}|}|}|}||}}|}ze||{|{|{|{|{|{{yeykjklmnopqxzel{ozرjy 񊏐¾ُ   ~x ~p~~~~}~}{z{~txvuvxw tssts qqpqqx llnn|} deikz ]`dov ~Y[_| ~VW]s ~UTy}~TT~t~Tjy~~y{|}Syw}xzr~`qy|{tzr}ȗwn{vr}oityz{zpyl|{htqrtyztkjjklmnopqxml}qwy{omj ˺ƹ Ų ĿþĿŽ ļŽ޽ƿþĿſƿƽº¼þ¾ ¿¿ àŸvv vvvvBAA@?>==<;:9v vUeedcbaa`_^]]\[Gv vQb}{a`__^]\[[ZYYX DvvM_y}x]\[[ZZYYXWWVSKHH,vvI\[v}uYXXWWVUTKC:6 vvFXt}srUTSNC86vvBU}qp}QG=6vv?RQnjb86vv;ONNI=6vv7LG=6vv0<6vv6vv6vv6vv6vvvvvvͿ˺ƹŲ ||| Ŀþy yyyy Ŀv vvߐܐvv rs ssϣsss ppΡppp p ppދދppr½ooooooþoĿoprſƿƽǗzyvvwyz}~¼þœ|z {|} ¿¿Ð àŸÿ߲ۗͿ˺ƹ Ų ĿþĿŽ ļŽ޽ƿþĿſƿƽº¼þ¾ ¿¿ àŸ 򜜝򶧭񢣤񴧭 響̯zﱧ!eεԭ~NlxƦý$됡\뫦Ŭ߯骦蝽=ym˓試rOKԔ姦ƦЁz}~䥦Ƨilpx}oim}⤥i ckafih{ou{ࣥc:u«yf[Y]d{ut`_ޢba[H9@ETn_STofglpmܡ\;;9<;?HO\Viha^qvlW}۠YGFBqhILQXQr~e~^ؠͿ˺ƹ Ų ĿþĿŽ ļŽ޽ƿþĿſƿƽº¼þ¾pu ¿p~¿px pàpxŸ p{ppp šÿpx¥pvv p{~|p{vwp{vp{vp{|~p{u}~uutrpztu|zxzww~xsw uttəwzqv”wps{zr{xuz uy~ysxsu{˺ƹ Ų ĿþĿŽ ļŽ޽ƿþĿſƿƽº¼þ¾ ¿¿=VV= >*)=}~}~}~}~=));>;)':~:'!k!&Ϳ˺ƹŲ ||| Ŀþyyy Ŀvvvvv sߎssss rpppp pppp½oooorþoĿosſrsrqƿƽº¼þ¾ ¿ ¼ àŸ   ÿ ߲ۗͿ˺ƹŲ  إĿþ Ŀ Ջ Ҋҋ½ЋþϋĿȋſƿĻƽʺͼ; ɾ ſ¿ ¿     ÿӿ   ӽƾѼӾ  ۗͿ˺ƹ Ų ĿþĿŽ ļŽ޽ƿþĿſƿƽº{wrqnu¼~yzvtmnþ~zzl ¾r ¿|¿~ Æ »àŸ   ÿ  ߲ۗͿ˺ƹŲ Ŀþ Ŀ  ½~~ ~~~~~~~~fþ}hxĿ}mſod{oxqqrpƿ|xi{|tqqhqƽuoltrsh{ 㺙x|rppe ¿آwvpnjm!լ}ZZeese!ѳssx'Êu}ѷyw̹ϼv'‚Ĵʺtà!ȹŷsŸ!r!y!z}  {ÿsv{ }w xl}{|~wl~|zyvv|} tq|{yyz}kvmq} ylm{nojjlo| ߲ۗͿ˺ƹ}~}~}~~}~}~}~ }Ų{ Ļwxwxwxwxw þtߏtttߏt Ŀrrrrrrrr onnoo oono nonnooonnoދon(mmllmmmmmllmlmlm½j݇j݇jjþijijĿ~hghmſƿƽºv¼øj™zž ~ij±tt{q‘q ÷qu¨|qàq |qŸ|qvqqvqqqvq'q|vqÿ߲ۗͿ˺ƹ Ų  Ŀþぁ Ŀ ~~ |||| {{z{z{{z{z{z{{{z{z{{zz{z{z{½xyxxxxþwwxĿvuvzſƿ{uy~|uromkkmqƽºos¼nnþi kń¾n o~{zx'Ä¿zy| „à„Ÿ  ÿ ߲ۗͿ˺ƹ Ų  Ŀþ Ŀ~ |||| {{z{z{{zz{z{z{{{z{z{zz{z{z{½xyxxxyyxxþwxwxĿvuvzſƿ{uy~|uromkkmqƽºos¼nnþi kń¾n o~{zx'Ä¿zy| „à„Ÿ  ÿ ߲ۗͿ˺ƹ Ų  Ŀþ Ŀ~~ ||||| {{z{ z{z{{{{z{z{{{z{ z{{{z{z{½xyxxyxxþwxxwwxĿvuvzſƿ{uy~|uromkkmqƽºos¼nnþi kń¾n o~{zx'Ä¿zy| „à„Ÿ  ÿ ߲ۗͿ˺ƹ Ų  Ŀþ Ŀ ~ ||||| {{z{ z{z{{{zz{z{z{{{z{ z{z{zz{z{z{½xyxxxþwxwxĿvuvzſƿ{uy~|uromkkmqƽºos¼nnþi kń¾n o~{zx'Ä¿zy| „à„Ÿ  ÿ ߲ۗͿ˺ƹ Ų  Ŀþ Ŀ~~ ||||| {{z{z {{z{{z{z{{{z{z {{{z{{z{z{½xyxxxyxxxþwxwxĿvuvzſƿ{uy~|uromkkmqƽºos¼nnþi kń¾n o~{zx'Ä¿zy| „à„Ÿ  ÿ ߲ۗͿ˺ƹ Ų  Ŀþ Ŀ~~ |||| {{z!{zz{z{{{z{z{zz{z{{{z"{zzz{{{z{z{zz{z{½xy~xyxþwxwxĿvuvzſƿ{uy~|uromkkmqƽºos¼nnþi kń¾n o~{zx'Ä¿zy| „à„Ÿ  ÿ ߲ۗͿ˺ƹ Ų  Ŀþ撽 Ŀ~̼ ||ܻ||| {{z!z|zzz{z{{{z"䄸zzz{z{½xyxz{xyyxþwwwxyxwwxĿvwvzſƿ{uy~|uromkkmqƽºos¼nnþi kń¾n o~{zx'Ä¿zy| „à„Ÿ  ÿ ߲ۗͿ˺ƹ}~}~}~~}~}~}~ }Ų{{ Ļwxwxwxwxxxw þttttt Ŀrrύrrr onnooooononoo nonnooooononoonmmllߟmmmmlllmlm½jއjjjjkjjjþijijĿ~hghmſƿƽºv¼øj™zž ~ij±tt{q‘q ÷qu¨|qàq |qŸ|qvqqvqqqvq'q|vqÿ߲ۗͿ˺ƹ Ų  Ŀþ Ŀ 񘘗   𕔕𧒒½þĿſƿƽº¼þ¾ ¿¿ àŸ șə ٔș Ǚߴ ƙݴřߴÙÙߵݷ ޷˿ ݸʾݸɼܹȻܹǺϔϔǹŷͿ˺ƹ Ų  Ŀþ蚭 Ŀꘘ笘瘗񘐽𩕕敕'𕕔𩕕攕𔔩攕(擧𒒓撧½ þĿſƿƽº¼þ¾ ¿¿ àŸ șə ٔș Ǚߴ ƙݴřߴÙÙߵݷ ޷˿ ݸʾݸɼܹȻܹǺϔϔǹŷͿ˺ƹ Ų  Ŀþ Ŀ瘘߬񘐽𩕕𩕕𩕐 敕𔕔𔔩𔕐(擒𒒓𧒒½þĿſƿƽº¼þ¾ ¿¿ àŸ șə ٔș Ǚߴ ƙݴřߴÙÙߵݷ ޷˿ ݸʾݸɼܹȻܹǺϔϔǹŷͿ˺ƹ Ų  Ŀþ 蚭 Ŀ笘  𔕔撓½ 𑒒þĿſƿƽº¼þ¾ ¿¿ àŸ șə ٔș Ǚߴ ƙݴřߴÙÙߵݷ ޷˿ ݸʾݸɼܹȻܹǺϔϔǹŷͿ˺ƹŲإĿþ Ŀ Ջ Ҋҋ½ЋþϋĿȋſƿƽº¼ļ  ³  àŸ Կÿҿѿ ˼˼ ƽ ߲ۗͿü̽Ҽü̷̽ůªҼ§ü̷ħ̽ůũªܭڽ!Ҽ§!̷ħϬ#ůũ־%ªƭڶ§ӳ ħШũֿ˹ƭڷdz¤ ˷ ̾˹÷ƺý ˹ֿվ ս ս ֿӾվҽսѽսн ֿ ӾнվҽϽ սѽ׾սн ӾнҽϽѽ׾ннϽ׾ .#8#8#$#8#"#! #8#"_F!# !?csuhH# #8#UY%"#$hx$#8# !W#$,)#8#z(#,!8#5Y#!f8#""#hnRh6#$T=#!03# "#11##$DD1#{)#!$#,P0#6d#"%\8#1H0#"!"#$#P63#UF!!##5## }и0#$J9##|.?#$3:8#6p!#>#>#8"!)># [!#8UP$3>#$###8###D>#$'#8 z+P 6 ##$3n#8 ;H>} _DJ+!#.F"#8 j (#8 vu$#8 v%#$#8 k Wb #81PNDdJL)bDJL;!8d6!)4#j>#! .4#j># %,4#j>#(,4#n>#!#˘"6# :})!##"  !8#$"#"!"!"#8#8#8#8#4+96J=7c0/Q.CM(5n!V-oHlءb$ T2u4:3 \FU" / u C{ (*:\ Uc 6l1Il3}> LHae$b^!R4jn ,v'#BTM%[y!Z=Qi JB&``?c| M :"@ɇ Rz֦Jt:)D2S^__]Vݷaf`__\L$o&MV/J?4 $A%84w4t(y{|uH"^mk*+c|{z~z8eCa$u~2 l*p‡}~X"u 4i8c?m6'j/Q2s,sľ0,<),+, . g`|.&$(-,+)t$O)@qH#^C=\O/~_n\>`O iś#ڭ=g {!+e L 4 90 ^ 4dZ  OPkJN* X/AH"YAC& oM_):X PNoQ )$8&`W G{--m`.9Qx>p$h.+C9QRa#_Up<:?H Jpa.n%9"YS mXCaH9 PQT;+#o%y(6&|' :T    μͻͻн湣Ȥ$氣ž%⣣ɰϣś ӽ ɗĮ ͜ϳǟ׵͢ߧţ  ⴣ߷߷ ߷߷߷߷۷Ϳ櫞ıϲؽ հ׼¦ ջӸ޻к˷ȶ޳²ުعލ ıϲ̽ հ̼ ˻˸˴ ȣÿ; ǜĽν ƖŹ Œλ Ŋƶ Ă̹ }ȱ {{ù yxƭxwxwΆڽލ     μͻͻϽпý  ɰź Ǽ ½Į ϳ׵  HGGFEDCCBA@?\nmmllkkjihhggffeddccNXkihhgffeeddcbaa`JTgeddcbbaa`__^ZROO1Pdca``__^]\RJ@<"L`\[UI><"H]XNC<" EZYXX}yo><" AVUUPC<"߷=SNC<"߷5B<" "<" ߷"<"߷"<"߷"<"߷"Ϳ 󴢢 򟟱江 񜜯ݾ ͻݽ ͻ 񚚭筚񬙙п  ɰاź Ǽ 峲 Į ϳ׵ ⫫⫬ ⩨ᢢ߷߷ ߷߷߷߷۷Ϳ    μͻͻϽпý  ɰź Ǽ ½Į ϳ׵   ĿŪ ɶ˵f̛ڿԵKi~ѵɭս멱Z߲ͺ>ym̝pNIӢ ҭύ߷ťņ{߷ ahv }5¯vXiޢ ߷zoUFDA\gbtܡ߷xHA5HR>EJ`gzۡ߷pPMBJHMUk٠߷Ϳ    μͻͻϽпý  ɰź Ǽ ½Į ϳ׵⪹Ӷ Ϊ ͭйDZDzѬ˰ѨƲ ѬѬͪѬƺϸЬ־ͿЬڹϬڨ߷箨άݦ߷Ǭ˪ê߯´ ߷Ц߷»֫߷­߷µǥ 񨳾Ϋ    μͻͻϽпý  ɰź Ǽ ½Į ϳ׵EiiE DhXVWXhDCffCAeeA@cc@?b b?>``>=^^ =<\\] ]\\<:Z Z:9X X98WZW 87UU76RR64PP4߷2MNNNNM2߷1KLLLK1/II/ ߷.H H.߷,EE,߷+BCB BCB+߷*ADA*)??)""'Ϳ    韟 μ诜 ͻϽý& ɰ嵵ź Ǽ ½Į ϳ ׵  㮮 ࢡ߷߷ ߷߷߷߷۷Ϳwvwvwv wvwwsss nonoonnonnonnoonnnn onnjkjjjjj gfg ggfggfggghgμbbbbcbbcb ͻbbbbcbbcb ͻ_^__^^____^_^_^Ͻ\]]\[]\]\]\\\]\\п[YZYZ[Z[[Z[Z[[ZqYYXYXYXYiý  loɰy~~ź}Ǽ {½Į xyϳwzԵ w Ե wyصwwٵxvԱwײwwٲ |vٳ xw޵x߁v߷yͫ~vzyۮwvvwyxvxz wvw} vw}~{{vyҧ}ߝyw{z|߷߷v}x߷vyw yvx ߷ vy߷}߷߷۷Ϳ    μͻͻϽпý 揗ܑ 搝⑎ɯ⏎ث⏎ڢ&咜Ꮞۣļ½Į䐗 ɱϳ%䑐㛖ޫά׵⏏䭭ذ    ߷߷ ߷߷߷߷۷Ϳ   μ˽˽ ͻ ͻ Ͻ $'­ פϴ'䰼¾㻪!ڪզ|~Į"©ȶϳ'䮵̷׵!ÿ˾ÿ'⦷ź¿'㣷ǽ!ýϤ ☱ ѐ'ᾐݼ ı߷ҿ߷'ǿ߷߷߷߷۷Ϳ}~}~}~~}~}~}~ }{ wxwxwxwxw tߏtttߏt rrrrrrrr Ļonnoo oono nõonnooonnoދonĮ(mmllmmmmmllmlmlmŬj݇j݇jjǰijijɴ~hghpʽ  ̰ظښ  ᳑½ĮᕶϳѠωՊ׵צʙ׬݌ē ܲ㾓 ⓇЍ֫Ї׫ܱ⫫ܫܫ܍⾇֥ᾙə ߷߷  ߷߷߷߷۷Ϳopopoppopopop omm ijijijiji ffff d cddddddcd μa``aa``a `ͻ__^_^__~^_^_^_ͻ__^_^__^^_^_^_Ͻ\]\\\{\п[{[\rZYZdý  ֪ź Ǽ  ½ ĮɕϝϳΗ׵   ߣ ߷ҩҪߪ߷ҩ ߷߷߷߷۷Ϳopopoppopopop omm ijijijijji fff dcddddd μa``aa`a`a `ͻ__^_^__^^_^_^_ͻ__^_^ _^^_^_^_Ͻ\]\\\]]\\п[\[\rZYZdý  ֪ź Ǽ  ½ ĮɕϝϳΗ׵   ߣ ߷ҩҪߪ߷ҩ ߷߷߷߷۷Ϳopopoppopopop om ijijijiji ffgff dcddcd μa``aaa`a `ͻ__^_ ^_^____^_^_ͻ__^_ ^___^_^_Ͻ\]\\]\\п[\\[[\rZYZdý  ֪ź Ǽ  ½ ĮɕϝϳΗ׵   ߣ ߷ҩҪߪ߷ҩ ߷߷߷߷۷Ϳopopoppopopop omm ijijijiiji ff܄f d cۂdۂdd μa``aaaaa`a `ͻ__^_ ^_^___^^_^_^_ͻ__^_ ^_^_~^^_^_^_Ͻ\]\\|{\п[\[\rZYZdý  ֪ź Ǽ  ½ ĮɕϝϳΗ׵   ߣ ߷ҩҪߪ߷ҩ ߷߷߷߷۷Ϳopopoppopopop omm ijijijiiji ff܃f dcۂdddcd μa``aa`a``a `ͻ__^_^ ~__^__^_^_ͻ__^_^ _}__^__^_^_Ͻ\]\\\]\\\п[\[\rZYZdý  ֪ź Ǽ  ½ ĮɕϝϳΗ׵   ߣ ߷ҩҪߪ߷ҩ ߷߷߷߷۷Ϳopopoppopopop om ijijijiji fmmfffgfff ddcddddcddd μa``aaa`a `ͻ__^!_^^_^___^_^_^^_^_ͻ__^"_^^^___^_^_^^_^_Ͻ\]ed\]\п[\[\rZYZdý  ֪ź Ǽ  ½ ĮɕϝϳΗ׵   ߣ ߷ҩҪߪ߷ҩ ߷߷߷߷۷Ϳopopoppopopop omm ijijmjiji fzfzf dcpddd μa``aavaլdy`vaa `ͻ__^!^ɴav^^ʴ^_^_ͻ__^"j^t^j^_^_Ͻ\]r\^_\r]]\п[q[[\]\[q[\rZ[Zdý  ֪ź Ǽ  ½ ĮɕϝϳΗ׵   ߣ ߷ҩҪߪ߷ҩ ߷߷߷߷۷Ϳ}~}~}~~}~}~}~ }{{ wxwxwxwxxxw ttttt rrύrrr Ļonnooooononoo nõonnooooononoonĮmmllߟmmmmlllmlmŬjއjjjjkjjjǰijijɴ~hghpʽ  ̰ظښ  ᳑½ĮᕶϳѠωՊ׵צʙ׬݌ē ܲ㾓 ⓇЍ֫Ї׫ܱ⫫ܫܫ܍⾇֥ᾙə ߷߷  ߷߷߷߷۷Ϳpqpqpqqpqpqpq pnn jkjkjkjkj gggg d cdddddcd μa``a a`a``a `ͻ__^_ }_^__^__^_^_ͻ\]{{\\\{\Ͻ[\[[\пqYXYYcqYXYcý  ɰź Ǽ ½Į ϳ׵ ߌlߋ wj~z~}|{y~~ji~j~j~ih||LQ T||hgUc[uuge~Uss cssfe}}Ujrqec||Uno bppca{yUmooa `xxW{{jll`߷ ^xxW{||}lkk_߷ ^wvXggilliaji^ \uuXxyyzӃ{ nhh\ ߷[ssXqŕr iggZ߷ZrqXllffeZ߷YqjqqjfY߷XlkjihhgfedaWWmkmjihhgfedcac``W UVWVUVVUWVVUVUWUWVUVVUͿpqpqpqqpqpqpq pn jjkjkjkjkj gggggg gdddddcdۂddcddμa`aa`a``aaa`ͻ'__^__^_~__^_^^}^_ͻ(\\\]{\\\]|{\{\{\Ͻ [[{{\[[[\п\YXYYXqYXYcý  ɰź Ǽ ½Į ϳ׵ ߌlߋ wj~z~}|{y~~ji~j~j~ih||LQ T||hgUc[uuge~Uss cssfe}}Ujrqec||Uno bppca{yUmooa `xxW{{jll`߷ ^xxW{||}lkk_߷ ^wvXggilliaji^ \uuXxyyzӃ{ nhh\ ߷[ssXqŕr iggZ߷ZrqXllffeZ߷YqjqqjfY߷XlkjihhgfedaWWmkmjihhgfedcac``W UVWVUVVUWVVUVUWUWVUVVUͿpqpqpqqpqpqpq pnn jjkjkjkjjkj gggggggg gdddddcd΂ddddμa`aa`a`aa`ͻ __^__^__^_^^^}^_ͻ(\\\]\\\\]\\\\{\\Ͻ[[{{\[[[[[\пqYXYcqYXYcý  ɰź Ǽ ½Į ϳ׵ ߌlߋ wj~z~}|{y~~ji~j~j~ih||LQ T||hgUc[uuge~Uss cssfe}}Ujrqec||Uno bppca{yUmooa `xxW{{jll`߷ ^xxW{||}lkk_߷ ^wvXggilliaji^ \uuXxyyzӃ{ nhh\ ߷[ssXqŕr iggZ߷ZrqXllffeZ߷YqjqqjfY߷XlkjihhgfedaWWmkmjihhgfedcac``W UVWVUVVUWVVUVUWUWVUVVUͿpqpqpqqpqpqpq pn jkjkjkjkj g ggghgg dۂddcd μa``aa`a `ͻ__^_^_^___^_^_ͻ\]\\\]\\Ͻ[ [\\{[[[\пqYXYcqYXYcý  ɰź Ǽ ½Į ϳ׵ ߌlߋ wj~z~}|{y~~ji~j~j~ih||LQ T||hgUc[uuge~Uss cssfe}}Ujrqec||Uno bppca{yUmooa `xxW{{jll`߷ ^xxW{||}lkk_߷ ^wvXggilliaji^ \uuXxyyzӃ{ nhh\ ߷[ssXqŕr iggZ߷ZrqXllffeZ߷YqjqqjfY߷XlkjihhgfedaWWmkmjihhgfedcac``W UVWVUVVUWVVUVU WUWVUVVUͿvwvwv wvwwss onoonnonnonnoonnnonnjjjjjj fggghgfggfggfgghgμbbbbcbb ͻbbbbcbb ͻ_^___^_^_^_^_^Ͻ]\[]\\\]\\\]\\п[YZY[Z[Z[[Z[Z[[ZYXYXYXYiý  ɰ͝ukkj ɀpligg |tpmmlkĮ րwvsrpozϳywtru׵yz{ ށywxxxwwxvvwxvxyuuvwuv tuututuutv}svwxrurtߓsrsrٙrv{rsqqr rq߷ ssr ߷srw sr ߷߷߷߷۷Ϳ  սԺֻؽ սԺ!ֻ罹!ؽ֪ս&Ժ׵ֻ軽ؽװ͵ ض ̻Ҿɻ           *55  55^D =bqsgF 5TW" gv 5V )&5y%)52We5gmQg4 R:-0// AB/{& )N-4c"Z5/F- N40TD2 {и- H5z*= 0854n <<5&<Z5TN 0<  5 B< $5y( N 4 0m59F<} ]AH(*D5h%5us 5u" 5jV`5/NLBcHJ&`AHJ95 c4&1h<*1h<")1h<%)1m< ˘4 8|&5 55551(54H<7f (C(E7t(5nW-Q2nءb$ S2u4f(4 d\ 3<" |g/ U `0{ ^ol%,B = c ' ri$6l3s[>7Hasc$bBR%jQn ,Wĭ#rrB=M[y??;sL ~6zo/EjF› @c[r 8_  )r.ʊ <{֦L{UD: jǞ#y*g{`o-f 74 9" E $IA : t8kJo9yc)`o ?}/-K[.CnMDp*:Až ;NvQ: )ys$8u®%`?Gz-!PE({ )QWq-āp$hwbC9Q ;Gy #`>R <;.3fd v4p`.gĺOdn%9"Y; NXCb2("99U;+#o$W7'|' :U  ֿ   $ϴ%ڽ޻׫൭ 㹶༸  Ŀ Ϳ                         ' "||||||HGGFEEDCBA@ ?||\nnmlkjiihg feedccM| |Xk!jiihggfedcbba`J| |Tgh!geedcb a``_^[SPP1||Pece!da`_^^\SKA="||L`c!ba]\\VJ?="||H^!``!YOD="||DZY\XP?="||@WVVPD="||25(PbeG!kĥky9#>WĢ0Dk?ޢ#*3,>NEP>ܡ#47=,!CR[T7۠2<=A !FU]d)' "!"##!!ٟͿ       % !=`1 a);E99) 6J-l 56E>3#b90 "Fl; .5:@t= ,&%48:C`R*/I088N8(/Ɂ.5*A)&/Ъ,<#/C`!/BIU.$M9xF.$X%:#-&.3BO#BD0(FG"!D8 ,&Y2DC +9 zCDD> ڎs  3 w: .P  ]{#*q        & FjjFDiSPQPQPRiDChhCCffCAedeedeA@c c@>aa>=__=<\]]]\<:ZZ:9XX98W[W87UU7 6SS65QQ53NONNON31LL1/JJ/ .HH.-EE- +DCCCD+*ADA*(??(!!(Ϳ  ߴ & !ihgfefg>T7Ϳjh&' &''&'&''&'&'&'& '&''$$$             ! .   ,  IG &YDNKOozKQ` WGO !kBE @E@O @DA@D@i TUaA AA]_Iy@CrOAlDR@SEeכN@FPifD]B@@BEC@DosGU BUYAALv TABMUNIH@Dd ^MVEBHHKU@LnD@ECF@Dg @WEdOTͿ   $*,,+()(+$*//.+*)*- $8 +)'G)% %,G$%,F$$,E$$ +B '8%*'=EEBBA9 &'('$ $%S+&20&%&5  ' +)   Ib`^`H-+ ͿEE EEDDDD     $sоZG@FZͰ'U?Jq`Մ ^?;;TGû{!@=89VF8FEMewu'I?:8N>kڔ98R8H_wBIDiP4@ABP~'Ve05:=AEe[.26:=@BK!t{/36:>ABB248ABD䄯gBBQ CBl CA cBQMA?ob  Ϳ}~}~}~~}~}~}~ }{wxwxwxwxwtߏtttߏtrrrrrrrronnoo oono nonnooonnoދonmmllmmmmmllmlmlmj݇j݇jjiji j~hgh s  'ѦﱷǦ "럨캛߮ڧ"ƛӭӧ 桛  ƛӛӮ߮Ϳ ぁ ~~|||| {{z{z{{z{z{z{{{z{z{{zz{z{z{xyxxxxww xvuv  ʯ'ȿȯ˨ʨ̣ɦתӪ嵴 Ϳ ~|||| {{z{z{{zz{z{z{{{z{z{zz{z{z{xyxxxyyxxwxw xvuv  ʯ'ȿȯ˨ʨ̣ɦתӪ嵴 Ϳ ~~||||| {{z{ z{z{{{{z{z{{{z{ z{{{z{z{xyxxyxxwxxww xvuv  ʯ'ȿȯ˨ʨ̣ɦתӪ嵴 Ϳ  ~||||| {{z{ z{z{{{zz{z{z{{{z{ z{z{zz{z{z{xyxxxwxw xvuv  ʯ'ȿȯ˨ʨ̣ɦתӪ嵴 Ϳ ~~||||| {{z{z {{z{{z{z{{{z{z {{{z{{z{z{xyxxxyxxxwxw xvuv  ʯ'ȿȯ˨ʨ̣ɦתӪ嵴 Ϳ ~~|||| {{z{zz{z{{{z{z{zz{z{{{z{zzz{{{z{z{zz{z{xy~xyxwxw xvuv  ʯ'ȿȯ˨ʨ̣ɦתӪ嵴 Ϳ 撽~̼||ܻ||| {{zz|zzz{z{{{z䄸zzz{z{xyxz{xyyxwwwxyxww xvwv  ʯ'ȿȯ˨ʨ̣ɦתӪ嵴 Ϳ}~}~}~~}~}~}~ }{{wxwxwxwxxxwtttttrrύrrronnooooononoo nonnooooononoonmmllߟmmmmlllmlmjއjjjjkjjjiji j~hgh s  'ѦﱷǦ "럨캛߮ڧ"ƛӭӧ 桛  ƛӛӮ߮Ϳ        ' "b6aaX=aX`4C@FHFDCBA@ ?FCC44CQCQC42BBJ#$JBB41DDI%/)I==20CCI%;;/I;;00BBI%FF4I:://AAJ%88/J99/.@@I%FF6I88.->>H&AA5H66-,>>H&AA5H66- +>>H&1148ϼ84.H55+)==G&>@KLA 7G44)(;;G&:QQ:4G22((::F&6^^61F11(':Q:X:Q1''654210/'&:6:5544210/.2..&%&%%&%%&%&%&&%Ϳ 摦菏奏収 䌌䊋䊋䉟㈟    ' "b6aaX=aX`4C@FHFDCBA@ ?FCC44CQCQC42BBJ#$JBB41DDI%/)I==20CCI%;;/I;;00BBI%FF4I:://AAJ%88/J99/.@@I%FF6I88.->>H&AA5H66-,>>H&AA5H66- +>>H&1148ϼ84.H55+)==G&>@KLA 7G44)(;;G&:QQ:4G22((::F&6^^61F11(':Q:X:Q1''654210/'&:6:5544210/.2..&%&%%&%%&%&%&&%Ϳ 叏ܥ줏  䋋䉈    ' "b6aaX=aX`4C@FHFDCBA@ ?FCC44CQCQC42BBJ#$JBB41DDI%/)I==20CCI%;;/I;;00BBI%FF4I:://AAJ%88/J99/.@@I%FF6I88.->>H&AA5H66-,>>H&AA5H66- +>>H&1148ϼ84.H55+)==G&>@KLA 7G44)(;;G&:QQ:4G22((::F&6^^61F11(':Q:X:Q1''654210/'&:6:5544210/.2..&%&%%&%%&%&%&&%Ϳ  摦奏 ㈉     ' "b6aaX=aX`4C@FHFDCBA@ ?FCC44CQCQC42BBJ#$JBB41DDI%/)I==20CCI%;;/I;;00BBI%FF4I:://AAJ%88/J99/.@@I%FF6I88.->>H&AA5H66-,>>H&AA5H66- +>>H&1148ϼ84.H55+)==G&>@KLA 7G44)(;;G&:QQ:4G22((::F&6^^61F11(':Q:X:Q1''654210/'&:6:5544210/.2..&%&%%&%%&%&%&&%Ϳh&' &''&'&''&'&'&'& '&''$$             "    ,  'έ\RTUXGJMNNI@ACFHJ"N@?@@ADSh@@??D@CO@A@??@yZ?@?@BDx?AA?A?AQ?DEF?E?Bv?>?FN>?>?>x??>w?>E>?`Ϳ (    "  !   , 6 6 ! ! 6   6 _F >dsthH! 6 UY# !hx! 6 X !+' 6 z& +6 4Y f6  hnRh5 !T< /1  00 !BD0 |' ! +O/ 5d #[6 0G/  ! O51 UF  4  |ѹ/ !I6 {,> !196 5p!= = 6'= [ 6UO!1= !! 6! D= !& 6z) O 5 !1n 6:H=~ _BI) ,F 6i& 6vt! 6v# ! 6kXb 60ONDdIL'bBIL:6 d5'2 i= ,2 i= #+2 i= &+2 n= !̙5 9}' 6 !  6 6 6 6 2)65I<7i-H ,5n ^0 tءb$ S2u;:  \  $/   {  #c  f l3>Ha_$j  Rj ,#BM  [x  E  !"    Cc     ʏ }֦NB!D   V sM[- ;2 t!  ^r  @l -) )pŏc s8cJ/ Z%  ,sŤ   / ge  '" ("w ^D `=  iɤ# k 2i    6 ;     kJ* 0   P"` C  oM );N  *#$8&`G{,~ !" Qpj  C9Q #e<:   p`. *9"Y # XCh& Z;+#n%>+|' :YrG"  !*2@AABCE@2%`*    'e܂$ $99:;;=9=;;:99$%`**iik| $ZMeQ0 $99:;;=9 =;;:99$&rG"  *@22@AABCE@2rG"  !*2@AABCE@2rG"  *@22@AABCE@2rG"  B3*'H@^J@2JrG"  *@22@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  !*2@AABCE@2rG"  88*@22@AABCE@2rG"  88*@22@AABCE@2rG"  88*@22@AABCE@2rG"  88*p@22@AABCE@2rG"  !*2@AABCE@29$"Cri,6FkG41uX`/v`'[Z1@y;/Xxj}{0U\[&TW8[I, k1!QR#V#3Q&3{ R!^!!M9FfA:!s2ި wp-file-manager/lib/img/src/icons-big.pxm000064400000424246151202472330014243 0ustar00PXMT_DOCHEADER0F@N%1METADATAg3 streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ _IMAGE_ZOOM_NSNumberNSValue*f_MASKS_VISIBLE_RECT_{{0, 0}, {0, 0}}_DOCUMENT_SLICES_NSMutableArrayNSArray _PX_VERSION_ 1.6.5_DOCUMENT_WINDOW_RECT_{{695, 4}, {200, 874}} _PRINT_INFO_ NSMutableDataNSData}[381c] streamtyped@ NSPrintInfoNSObjectNSMutableDictionary NSDictionaryiNSString+NSHorizontallyCenteredNSNumberNSValue*c NSRightMarginfH NSLeftMarginHNSHorizonalPaginationNSVerticalPaginationNSVerticallyCentered NSTopMarginZNSBottomMarginZ_LAYERS_VISIBLE_RECT_{{0, 0}, {239, 240}}_DOCUMENT_SLICES_INFO_PXSlicesPreviewEnabledKeycPXSlicesVisibleKey__OLD_METADATA_FOR_SPOTLIGHT__ colorMode layersNamesimage folder_openjszipxmlphpLayer 2Layer 1plc++shrbpycsshtmlofficepdfrtftxtvideoaudio applicationLayer 4swfrartar_bztar_gz folder_closedLayer 5unknownkeywords csProfileNamesRGB IEC61966-2.1resolutionType resolutiondH canvasSize {48, 1350}PXRulersMetadataKeyPXGuidesArrayKeyPXGuidePositionKey3PXGuideOrientationKey撄d醒撄醒撄醒撄醒撄醒撄醒撄,醒撄^醒撄醒撄醒撄醒撄&醒撄X醒撄醒撄醒撄醒撄 醒撄R醒撄醒撄醒撄醒撄醒撄L醒撄~醒撄醆PXRulersVisibleKey_MASKS_SELECTION_I[73c] streamtyped@NSMutableIndexSet NSIndexSetNSObjectI_ICC_PROFILE_NAME_ڒ_ORIGINAL_EXIF_*kCGImageDestinationLossyCompressionQualityDepth{TIFF}ResolutionUnitSoftwarePixelmator 1.6.5 CompressionDateTimeNSMutableString2011-06-29 00:43:24 +0400 XResolutionH Orientation YResolutionH PixelHeightF1{Exif}PixelXDimension0PixelYDimensionF ColorSpace{JFIF}YDensityH IsProgressiveXDensityH DensityUnit{IPTC}ProgramVersionPixelmator 1.6.5ImageOrientationKeywords؆ ProfileNameڒDPIWidthH{PNG}XPixelsPerMeter YPixelsPerMeter DPIHeightH ColorModelRGBHasAlpha PixelWidth0_DOCUMENT_LAST_SLICE_INFO_PXSliceMatteColorKeyNSColorffff transparentPXSliceFormatKeyPXSliceFormatPNG24_LAYERGROUPS_EXPANSION_STATES__STATE_B_ID_:E79DCA12-B4EE-4736-8A6A-A627325955EA-7379-00002316C56B276CgBh:3922FA03-A14E-4351-8F90-4D4F209DC60F-7379-00002316C56840C4gBh:19A73FEE-6F06-496B-9B66-0A245313ADD2-7379-00002316C565ECE7gBh:A893724F-8BC4-454E-A572-93FDDAFC24C5-7379-00002316C56334CEgBh:4D59E174-172F-49CD-B4DB-377EB6023F59-7379-00002316C56027CFgBh:08376F99-D214-4BC8-89DC-53E300E92EC7-7379-00002316C55D7573gBh:B2F945CC-6F8A-487E-AFBA-B0FD7884F14F-7379-00002316C55CB926gBh:6562DF83-49EA-4C9D-8D0B-B12C0B490733-7379-00002316C55C2533gBh:17587334-6891-4DC1-A036-A42C0CC05C44-7379-00002316C55B76EBgBh:ACA63C41-62AE-451F-BA69-B732F1BFF96A-7379-00002316C558BA74gBh:2EBCE85B-E4A7-4CB9-B899-402CA4328A32-7379-00002316C555EE1DgBh:60DC7AD0-C861-40FC-B081-42AA0BA0CB0A-7379-00002316C5530CFAgBh:E33C04F3-412A-4A76-A66D-D95AF23D97D5-7379-00002316C55048B9gBh:ED0B4412-A7A6-4C29-9A10-D44162B75FFF-7379-00002316C54D92D2gBh:E5A8CC16-4FF3-4C69-99B6-A8FB275E098C-7379-00002316C54AC95BgBh:025399F3-BC6B-4021-83FF-D387659B52E7-7379-00002316C5480746gBh:11295678-5AE8-49D6-A613-6E33D9ABFC95-7379-00002316C54520DAgBh:E63A58F9-684D-4FF4-9040-9E5DE0A697E3-7379-00002316C54281D1gBh:84295360-D2E0-4633-A5EA-07D523556162-7379-00002316C53FA9D3gBh:D5FA1E74-21AF-4747-93B2-823D14673F93-7379-00002316C53CC7A2gBh:81E977DE-E02B-4AD1-AA6A-7675B4567DD0-7379-00002316C53A1EA2gBh:54F1F62E-9C05-4B55-811C-C1898599B2AE-7379-00002316C536FA9CgBh:B05FB1FD-5F2A-44FA-B5AC-17BCA248584B-7379-00002316C534334DgBh:B49D7B18-ECA8-4770-A48E-FE64CB968BB9-7379-00002316C5317201gBh:CE265196-51BF-4C08-BA8D-06EF79150A40-7379-00002316C52C5E22gBh:785F9AA0-2E04-4E5D-A83E-CF741050C650-7379-00002316C5297D4AgBh:B0B847A9-6FD0-4740-B48D-A08479CA1F3A-7379-00002316C5269294gBh:5AF3D56F-0F22-47A2-A385-5F0264522DFA-7379-00002316C523C5C4gBh:F05830E5-724B-4560-9AB3-C00DC08A6E6A-7379-00002316C521112DgBh:DE846D34-473C-4162-8C9B-57AAE55E0EFD-7379-00002316C51EC013gBh:D178F1A1-DEC4-476D-BB2F-37B457F2FB7B-7379-00002316C51B6508_IMAGE_VISIBLE_RECT_{{-61, 0}, {169, 832}}_LAYERS_SELECTION_8[56c] streamtyped@ NSIndexSetNSObjectI GUIDES_INFO3d,^&X RL~ COLORSYNC H HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP ?.J`<_|}cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmLAYERSp%5>JXdff?giucQA5l I/ (7AN[iLv"(.0imaged':E79DCA12-B4EE-4736-8A6A-A627325955EA-7379-00002316C56B276C$xyp噇YLvj8c7lmJsk]Qb|߇XOY}4ݒuktK3htd{X$^lozVt3^gGsƉHdrFAO21Z fj .wu7ڄW:6u=9b n#[go]7e5`mP g5&0bʂ<3YiLuڃǻkh8VdL򺙱UaթzꩀMoH=\R=LgOBݹeހ?GЍHStlch/EGQ )a lZ<a.M' @_UK r?Ua>zkSђsN6UzxCߑk:|^t0*~5gVŬҿ-\xp 5i`[[{(T=LfYd82stdD5 Gw)Fפ(@=\<rwhN7m-CFOW?aG?ck8y:ޒ:"`L[҃kO`-=4PᶮacڷKF˝UdM`.q=eT'53s=hsQ?= U&_W%]IcD|eptrh.⋩A[N|{sgnmHUVܧ.n\ukQk51YaS:ca΋3#bz=pm=X87Ͱ$yW?1XG(xr 7O5e4LX09Go =pX0S^ ;w8A[^bqu^yx+rF+WAX8TW!F9VPhEaDa!AiqO)3;T{2, vK@i4σSe\9 7eDɝ8f6Q~FΣq(#9?1I6;XS#OTQ햖(^|3zuw.Z/1#4Ry^p%;53Z ~QEg.\Wz)y.ΠR(]xϽKq$ ~Bo)!r%:A2LsNo4g CC9TӵJaZC ggu#1Ρp}{?WAy6:S g,Ep_ЕLT'8mEQ`gaV4+n̹j}K~8 #U$_yWU.K'q1w.Ujy4]= lɰT&(ž:=d!C |K=K55 g8{V\ 51H y'($lGaJ:ɠ[2= /LĜGﴳߛg]Q^N{אkEpv2D;!ni|9/GYE 9~ %NrF5atTs]==k׏rLڶl*zXEYܽNvRXXJvNOg"ЋcU]`.uWFލlo ٿwLtr1U> gB'\$'9mm7bb LGE`(B݄icϺoK0^QqԾӕ1n/y Fޓs&|8ͥ8\y(J$e,Z1Y&512I(˓1Y8NſF Q{Ծ _gԐ\ܤfadM׷uq<+vؕWEaL )~'20ߠƫS196ak7,M\nC/~kt/!ۑO|޸,]֬s7>fG_a4o,EW ]\pu2ϟMtC&a,F&Zho5!4?|VN5 ǐ;ő>N%姜V~~\ =et47fc@gG{f,ԧŢ&SϞRY(Ko-{NBPWk>FD(/!H]&37dgaxx'+%g+sqn}}hi2cE~id_ @S 6+p(vcY"oyq q %tsW:)O3$r]/:VV&h-C|C)ޭNLt p`tl ]]b H_?](d!>NrKAjqqq7_߯TbΗ$'..$cK33>80 ACNv6^\ LJ[-vwTmDF`[lN8߀øpb-ݏgYX&Q3V\ϵs峝Zd쟞>Ԗd?[/ 0#55o種ф0D݋#{kRSxk\܇/]X{~p߽9ǟEε1ӑ|il6D"ry/015k׮a`| g!󬩮g} ~m/>?sO}DȨHͿN!{#u9ioHb\6_AqQFFFc$_;::QQZ]d4ܳn >JϱaT9S-|ob>J -X]xƞO .Yl Ǧ7'¢o#X̓X|,M8U WzK$'S-uIhoom]_|+^x/\Uk_çW-VXkX<c?.,݇E(C,ۢUtO_uw?rLSU>RR"ڰO'W?e>WZ5?^Zcۛs7β8wR.tߒ| q0ww*-'N<Գ " ,X9 bFFHCPy5] o9aj$:T$ٺٜKM|2!L@SXM4^gp2{˟_g? RPB2xdi+&L%4~\.Ҁ\fl"C]6?t f3f6t55BZ**kKYὐXS(X{Z՘2t!g i\@rHrc`]~6FL+2d.h]TGcV?2l/bCL Ҍ37<]_Yޅy Pm)olͧ_h,"IlH'bjHs>w7l=睵瞎1-ξNЁyͭyp^Wp6{/9xzhxv.= $ _%|ER*_^vo1 i-$MA{5y.nT"Pyh2#2/)@e,YK=uqrt+g J6a-+g>xp 2r~۰zb&Y pT:z"v-yB;qߑwՐJ5|煁S#rscf/'%} RJ|rBCHخ}L 12-?_!]+ 84LLVJbl:3&C.F1Z9 {0} :jK^OR7Md͆gپHɲb(I{>z' ï7qRjZjM\,m%dǙnAv-dLC'̅i㼮 | M1!tiޏ\@ 6qd?d%,#GkYs.|B{>$VsXVOFqrB/- $?b? C>5D(1rӆnnq9Ns ~Ct"`Χ]1K|,ف_]'ȝcFx\swdl${HgjS5Ԓq R4}A%x,sˢnIݯHQx\tEo8c ƘԚ24}Q䤱yb }V]v*~#$>ֺܮ/+^ I@BAi!If|׹h~9MCDZO}˿Y>6s'`0V0%vX&[ ev<˔F ^~_A/M{~y4)&Bt>0!v [2|# 9 P'S={)>aHS>Evp/:0vpbZO}ѴL_}< TaP {O5f~zbZsϢdLF]~Uz*R%$}쓕jZB$zJ:&cmlʕ%i/(m գj b͟庆=o=lr\;wBcͯ +xwN~X~-ᖄjPC0Y w~i?"0& )q{⌡upb\ ^lߘqR6;b| 5xͯmڸ>^ }B~>7TOܺn۬5FSC?V}vnD;w%0;VssLu!O:K/ICV< {530~P99go?g196x2ӋNt]yg|[QC~'Y54ųi% \wn@ܰծc_.c[yU}da\̏y<݇:ߩalZ@ Vz XZIa~^&IՕD)/%pNJl~4v}!h[UIOm̏H vL/3 6 FNGM󽥨;u_,׭6Kk"XOag&IwKGֱ;^)L#yǑqx\l,WOH摿IͥVxNzIsu뾺\+|j@X6㏵JMQeLGݯꑡl,K;7N-uiRz\;M8KC iʌXmzHsFR,6{hjXoȎE S TjOKTZ` *dd2v(,%N)H܃:Hj{w^(dza~w~kqobv@L7GkA3f>-N^9~a BM kkU`쏵[9Om4fjWkb?~: ZrcG4~(Pf-G f,13ZX U59r]ٱo# u>|Ӈq%?;^ %k8XHw{bϡZaZ: U ƳXy]o:DY]Yot/`q{$\ gJ#k/|7w,571|c8kEsJ뚁~+w>\S}Skӏ{ʹ8X~#>g7QQ@?/j >@ ܟ-Z屳L몍` cwAgo|ñN?}_B=-зlk&Hs 1 WZ;Jz`cuǯM?PoYOϬW S"f>|+u]{LXj4WcY{ǣsFp_sְ֡`k&Hs8넺`yV1{Ddg }"cU>&F8gL,P֥&Hs8w58vګ^y>c>sI|NﭗJ1IWU j/AIM?iS%g;J>KܖDk˒~{%\t |iY.IY2f[!C.Tbe$O ZsEg[basXoi+k9􏷙Ğ2.{y&NeeϗRu`Y<xGa5K?^[t=GY:zL83R rʑ/eGe]T -_ۼ&VB17< =[#o'Ld*kϔi-L_W{QCa9CZ jWPCYkq(2c ]թҔsP[# P"![հ7®UOaHugTLP?s'.ץ{k-j5U g]|ǐVۄHt$#J3}u_c=[~kvrj?'!G4oWC9ۻo#UJ-n E֮(lʕn[4ʣx?fUj5 LH;}C%C@#uhÁ3}ϴ&Ru||>y54jI]eAۛ)įŻ_um| Ja);jߵY۰ԥKsaI#_ʃ9WPC 5LMkk烦? r>Cڊ37A/FPW>jG .k؛PCOUJWb6I8)9K|٢YBH >ȒOՒ&rEdcawd g><ӆi-u' AvD: k;|;,c*ĭI2n~gˏv@'}Q{ߑRfqdO4>O-cwW~}zKcL'R>}0Q=$*l]>" Q#);ĭRMEKu 1jw0c>SVúKd]9؃RH)N)1Z GJ9I h<]gK!5;}m[fiHּ}rլ+sCӰ/S9֦|#bOjΓtusRԝ 5*Z-m]mib~˾ 2o͆sƒwc1aDv : e%O2Su\Z0{~<3q`8sl>$ŇőﵰZ|=Z5XKgli`9GOwt'\t[*)) N֦J_]}E̻RĞ )RZ"9_z3A>8d9:]N5v:\2ħ3e8ҏ|yw+?_?P|:u~ `3O6 *3 ia.Xc}|Z?fX Vj1ͅ~X{4=@L95]1pk^ V}i߸{ZKɪb-֑|J .UgV zoixH.djwx]@bMn }@X]Եޜg\NVn(t'$`3M'05M Y&YMShR?AĵN5GejP,}^[18.\W7}iɇՠOm:kvZ?ז9VVR944=Щ[#<>6wgNӿI܊#wmޝ ?Yq=j,I"1Gs)}J3D)Uv4l5-U,\@k$1xIsckȮ5p,'J&m]Id _|{ۀGC΢ƺM=^4IJYA]qgi.RkSҿiTWVfY`_XzZ9&(NJ _[{olgtsW{{ӱpwov?̇bjZcBeFԮXIPo\Y K^+*sːeg*ΦVq4a|(XR7`?4DŽ>s-0G<}ti }L4Ұ҈en҈K 纄-"B# streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F [./xmld':4D59E174-172F-49CD-B4DB-377EB6023F59-7379-00002316C56027CF @#x͘[Pi3}Kg:c>tOdǎuLݸMg;ė6c6`b &qZ`a$X/rvW)&~s.jEch, ,`>,aLK,_H,eaFtggϞg-ֱlOW哥qdqy˜AI T=Bo!k׿4☤w$NI KL6CT—a޽u*$͙^YIFaD{o-C—oX;vL|OsvKjCUpB'C 4\ C}=*_KKKjwb9!nvn5(T9Y/ 9]hXj-[X1c %sHV=1؝tJ2҆ 8Rq355%NR1LL?}tfv'j/`#S2Z"X$E{X_'Ð>,vrrrT2O}~_cg }+U Zh/`5I Jj=tHrڋ~?@^}UyW$;;[ѨZdaaA-v-TD-[sY<[Cf:уO{X'4Gڃ'M= cZ[v;_po~8bpW~e(Y{8t萐_~Y9q℄aSM9OX>ۭ5O[]-KcMɎ2+w@FV|&1R#b' էeLh f| 5hn wJt%I0j'q|WǺуlZ TK/$O\8+!>2S.[ECHߓ=ֳias^|ۧv7χL>IBM%fB>ۘG3r=Cֳi=o])}4꯼-lͳ.zR[xҰ39Կ0rrFbZ&d%6&+рDd-ꗍ=6B-j+Y h/Α!Ml*eauhl˜5RYdRF_O|/kJGIuFFy% xOE;e}IuW~{ ј븁T'蒴 } 'S֧Z Ȑg&wk?>\n\Βt|Z㾲9S);+;Hx4Gc․q aϛ>5X1loп4(-uWߑ{|5z(@zHه }d9>#\2\ y{∷ᙆ25Pu`؛i9GYg==l&CZ{:2v]+W ޖs1ZnllBl`7}sU/JK%rϢk2k1SI@ZI>5Gcw]>@iHglu5lYsCsǤZ|HL@(UU2 U]޹+xyxOTMgHb/Wqp_1{dOF[e_)W="sZ{=*B{ue1X,['FwDEc-8=ZJ$\>񕞕fԡ7i*^<g< o鱜Z<|' шIzkbVXgDNg5[CM^7^"7>-=iuga:kv QkYgs2kZ!4A1t>mfs_>PMxP#pM'y> r^=x g8߈">5#z/s}3HWOE>X ZeMۋqk]Oq6@5E-,5Am6Yd^MKMEߎyk: v6\vs3dHߢ'?Y?Gsip:-3s彣ߪQ8x7#K_׌{ k iqeK)_sx[uU=T"=>\[}"vU\ c}#"Gc|bGsyb.oQc h&܇0F5m fk`ݹָ8:ZbYf9腾au+GiqP9up Y'vߎ=O'v_i6ii_M>ȩ؎:bʖ5ɐa  ֲGJy}Zj 6M ikNׂXqƢui5g1MaA6R9>㵺{sDsrfLX>xݚy `-^5Xdo=>1C5AZQutG@N=xEc\f Ĝ#4` `-] e8kf"P} ~&Hs4XcFP 5AZyoS99$j&Hs2~o#K+|VVoM~^g}PFV|ʰ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F phpd':08376F99-D214-4BC8-89DC-53E300E92EC7-7379-00002316C55D7573@@x[0 DQS`)P0RRP(Rp3JIGj׏rA _oءD!^f^m߿XߘKUcfRY*Fޘta*yI%'O,P,+\ٹRvcF!&2ڂol{[n}Kl⑶.?>;z=]fBx wc#y3:}v#:"2֌;(A!+%GXCװsDp{0֜_P+r/ Z 7Gx / _݁:aF!Pzz2>}~< 3 ޏz,1_\ރlVKPA ͷ}/˻~X.n,x~fxO{Ik1Y;|WְrSr_1 ͵60?=cvrWR<ޏSlo%JGu"#ղ SRo^|RҦjx빷oMc.SƮߋⓇ1߆|t/<7mb uURS3?(s {݃=otʺLLX10]iYdgk;kp=k25,;(S~+b!_ȟ3ebdIr.n,[?ߒkd@tө&<" N ~ܽ}_W6/b!_ȗ~i33H?nj˖\wF p"_9>Dljc-`5 ~t74ȏGeF>< ~?"sB/[=4/%޷:4H͢#Xsp4>]U5 da mali27?گ_vjas0Wa5*Kç+ty5 ACn g kkҷd:ʓYԥR2.&1G?}Z!?'>uo(0ҍP v,ڰkn΢%/Ԑ˨p2>C/}mh:[I/?'nyj>sYUԱT[}[_yY :Ky&c"Ph~$O;/)8[RmhoutDνmO}m=V_~6jv+Z#]j,cV1B9ICou*Ϣ|G^t |/nvϙ ЙuTkh|<3@Z-Q^W,_KTϽ3i/J_Mڍ]nеLFkot|bv=7 ݗa<\O +8dEB5'5er5Fo, pHX98wt!n]%EԖcj)8E{X>v}']Ř8 =8hQb,uE\K-F?G+/_Vq|7oor&B(S8h#ת:ܟks!xk+ ZXܻ2yhhZvq=V:s+|llal,s'M 5j]sbkX_<ʫGk7>uPSOY]K4Ts}^8sdV,cw3V(S ~g4w-f=Uٟ%/1Na(*MߗkwW|NYw-MD3ocf>sʯqXAI߬,'Ə~\^19":vi|{8Z~3>w[oRIP?/jeD(OG3Ⱥݵ4_bsZ6?T]?{ȹZƖ9[ߌX_r_"7{9Yu!M %r[h͢wT1ń{X'cP?qsJz욦6挍x;VǛu1k<5U~vM~XcLZV Dijpo *ubf6}'f5V}ZG43vGM;+u<5>=W/;MuVkP^9'O4| <5K=f Ҡ^~^tݥ]ki=#'qvj&J4V3W=dɻ(w?4g bk0VO}Dijb^{k#8f]1}üŮ|Kyj9y_E(SXYe8q4Q~7[c-AZҼjj>yPy:!!?!ϐ/Ɩ?S streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F ./c++d':ACA63C41-62AE-451F-BA69-B732F1BFF96A-7379-00002316C558BA74 @#x͘Wp\Wġ$ 3 <<2 O=qčmlKȲuɒV˲%Kjd쮝}ܻZ*OrƿӾ-g1mVb-Ql|ZXV'e*EݜՉ6|'iӦǿ-i[)7߇{s/Et.,\[Y[ɇwEvǧV,4b,b6Xe g~L^vj6uYYYkB_ &[ x ry>U;AVx}Ʋ^\y5`-3sPSÔþYjJ5_=Ad԰:XwXmya\[ƺ(vqcYB}^:K38\*5H5TVJgYm7{1?Xye?6Vx^Ns՘ `k3H5T⳿x6Tv"iƺt w潔86z!6uщЀh5k(35<|װ|"(&J9J4Ħ<[;Y5DYCa7Kiڶoq7][G׿-o>LS x>Eǚq|+_~ڴ^.##re)\|صi0[Bܪkbm656[C?@y}[6zdwh:`~*.FP6Ug 1C[CN5k(64nj}ƆB}< x]3q3pm)_Bu(2vu$z^2:r#0n`,6Y4 b'ڪa˪O(Y3qE:@kqZQ%}ϋhQNVIW [x>Iym_9!ʻHhW}uYpk.2_γߑ.6I&ߋ=gMoy׼>5_mGhb*w&o"!|ӈM4sZVU zk8:FhvcmJ*硙k൱p== U;sk+|llal,s'M櫍U5j]sbkxOգ5mѺk_VhXIOY_K,\s}~8sdV,cw3V(W g4w=f=Uٟsl"f|Sx=ʇZ]X*FUq_嶺S]~'QۘϜkc\6VkoD(p7k* =0ׯ[/F3GVF5O4>TzbcyO5WZ[/ߎX'}^8>ssۼEympv QAdDk|9cKb쮥ӺƱђ9Cz]G06fƺ3Vrcm\ i4_m8sxw:Dm.F+}W/;K ՠ`9'O4}^Dij"kiP z/?)ҮftD.Z Di_Uhj:3y> Ă'^j`4Qÿpk(8fM>ʼn0ggDijRwi&J4VsVY?_(WX}?-3-AZhjyX>y*))G?&O>[-)^ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F ./Sshd':2EBCE85B-E4A7-4CB9-B899-402CA4328A32-7379-00002316C555EE1D @#x͘Wp\WECIfx^yd7z2$̄L8lIVY.Yjիe+U].n wJXU2/}[^+mvR/-Ql|ZXV8' JcF)Z6ށo<7wЗظg{N,]HEdK#1qÃ"V1t":юfT Ԓ ,S//gECn."|nF۰D{1)"ۮ,R§j?9lp|NJd_8l2%\e: 5a37 ȐÔÁg`,,šfZ0XBރ|DFL kz?ib'7VP_2XnČ#|C#j` զՁr9k5܋72B9Yi[Qy?Ťu1X5D԰_g ^}Ul?E?M07=gpߊG0߆by/ZU5 ta ]al.2᩟?x/ /Ecþ'wQLO.*i0YCϦ50ўoȖuܭUDgt92Pw1 gSy1kd9); 7`A,O`iKaBXwau||Φա֝HPrnysSqdCɂV]B[~&9_? Dՙ}|<}J2wy\yYɕEa`  7ce ]e>M6]u;LZ#_891KXOȏ9Xxg!Yy]\9ښs 5gʁz3?+@2xWjY|;=5l"o/<ʌ/1cm&RB35&]ϩ}.~b5O0(>^-'ڌhPhT]%v< 뛠<<.̭ L-%'v,c܏P 路a@ikc5gy-"FcUE5>Ghb*N MND\CHjc5goZ\sV}B3$]c|QBkkcU?ZE<\^d YO?)#:$d ;_9[IjU~zZנ?kD_2ʫGk7>uPѪS{OYoܰC,\s}njYf,4Q|b#iFz|?Cr_,n7cYou oDpe{L^  $ֈ&ttʚco$ϼ1S~}cjyNfP55~w#+bhMUܞ~S͕֖wor1/>ssۼEym6Wsv QEdDk|9cYKe-6uM`t9Cz]G06*u+gul-~q5\`YJu.zGewSL^":{yӶhdҮgHϮijo,aױqIa}Y7>&2d4Q=21s6Mx7kXZ\4QZ'_A{*CO_1qIX3Gͷ11'㌩Ě4p]i4WMcjYCegvs.'gk`L>d \5+RkiP z/?)ҮftDI]\5{r:f 0g Ă'䓕>j`4Q˿pk& `7|B0Cro\5՜ei&Js4VsY?8_(UX}?-s-)Hi/"}rhJJʏ'A>7XT[ #Z,SjG^8?jp|NJX_8l,Ţ\m: 7bs7#áa',-oP- x45l "f;o$Ϳib'^]4P|7KWyVF0SQ>׳*S`R ࿝CzHX'vTz5a2`5TJ쓿yvTÁ^~,.`l` \|,_v;ҏa E^Doyo 4a ~_Q= ?8pBs旬/8,M+7K2lb ob Rj{bϟDQ,K:PNeeKyt ܓDj0ϧxs/ܾoS}A/xMNdX<*1Yەqd>"fSj5Nw?XvqA7A55"iooXC1/-?1n[b-MKQ5Wp?A)8a?7K0Ps 7O~[XðN v06ϦO(5<_pK}؝p=k1]x}5ON gkjշuܭUFgx9 P{1Ugy'{:Z!?HN}lO9F1\1Nbe+V]X tb}||cΦj֝LP|nys]~dCɄV]Bk^ه_vAQǙ=erwhx=eg0x 6XSc>]M7^u;D _8\ObVPs6Z3ԃɎdphKv•C/1O@G^2:r+LC=VJsզ2,#{hk#o+Hb Ɨ氱X#֩350Pɳ<ߑ.1H6ߋ[sjH%&wUtH%k"aK|iO7PuuIQwj^xG>Ʈī6Tg 9uӴ3]EY)N_ĩV->i/+7U|cO&*>K0w*)|SK(M:o[at6,,Is,5Er`,귨'W|Yű󝼁雈ki4Wm “-\po/ =C5W'F6VD{5@cr{Z?诉̭eLv󕳱ϱN4Q6^y|'u Z/#Ţ;z|38Zg <^-k85Ѽݟ1חId eaJj,6pnŬ7:#63&|Sx+*2dZ]弰:FQ_念S~'1ۘ~3978vsމ~'7kc`l_׷[Yۺ4>xyj􅴶|;cyS3-[llwSi4WMcNpV@kUG0w3bg>#oc;&S iDijf ͗ˇ7kP^\$O4D}67KjK!A5KҚQ=#'1vj&Js4Vb3W=d;(ϋs5O'k}>i4WMc5w/=| ׌u/8f>0Cjo\5՜՞¯"Mil ~2q4Q~7[Η[Ri&Js~_E~'фGy<"ml v streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F ./pyd':E33C04F3-412A-4A76-A66D-D95AF23D97D5-7379-00002316C55048B9 @#x͘WPʼnc9LL5N<<%yK'v2vEedYJH$@u#LKQb&@Qv99޽˂U>wr i +0Ozhb ŲuafsV'-[xmGs}h. [ 4م1qŇ|VJ]\^Dnv|hFt"ДR ,3/Nâ.+ !>7+-DkB>[.Sgj^78Y ƣ\<ʅxF/P&1}% /;>L>yq6CX4cny9ݨ05 ,&o'_6֡bY⻡x:K30\*h@k45, y?N\{Oo~ƘCڞ4w?6eFY1_I jc6KYCa/l@:F}[(Sl8w4!Eptw 3cVPstgyNՋ2C:Lњ}9ўu1] n4Om>b" DyXC9b36Ѐe+T뚉khO65dǥüKhg_GA%#:Za2+O->FyluL, *XT[D歯b%<+q_dzO1řϣ%[_@؎tO OM {`=Km'E WޱV#]Z, TbZ @m:Ϣ|G^t'|/2Ug_ϡ;~<3hBgZ"aX˗V:OT3iJ_Lގmmȥ,yF9(ot>|i0I{SW ݗQ<\_Q8bu'ueruFo, PPX98wt]$Ԗkj)<);Xg"-|W{JpΆYE)Ud1/~j}x˗U? MND\CHyjcU'oZ\sV}n!nǮ~(5ڍ*~f.Akel[@utn cc-|u}Dihq_󹞬5hhl#hMf>}qn HzVfZG|_$j7bDYou G`YwT^  T*t:eMY< g)6ٵZ{3cFY3PIhc{*btEȊ}JmN?J_XkˏCqϋϜ|(oߤdΡ~_Ԯ!*,Qh#0g,ulZ/k9kl )Ic=\ǿ ucc+[ߌX/_9ako=\NcGƕ&JF8WCf;*0z b=-'cX~9 5Mm%Cv>}3..67FDŽ&J4V}fc~qƘ:D5HyjuBZ݇9Oj9G43v#&Ǎ)Ê4p]i4OMcrEP{k5(/g\4O4|67Kyj!A5KҚzFhOR Mif1{Ȯ9w(w?4g bk0VOz}Dijb^{^p:cozv{ /Mi,v!i4OMc5gs牻DiApo9oIQE(K~'~')Sd狴%$f streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F ./pld':ED0B4412-A7A6-4C29-9A10-D44162B75FFF-7379-00002316C54D92D2 @#x͘WpTb2d&<1y̓O&OCΌ㱝86el`'@It,$ժW b:UBew]ιwR\a~/}[^pp d(6>P,+\ٹRvcF!&2ڂol{[n}Kl⑶.?>;z=]fBx wc#y3:}v#:"2֌;(A!+%GXCװsDp{0֜_P+r/ Z 7Gx / _݁:aF!Pzz2>}~< 3 ޏz,1_\ރlVKPA ͷ}/˻~X.n,x~fxO{Ik1Y;|WְrSr_1 ͵60?=cvrWR<ޏSlo%JGu"#ղ SRo^|RҦjx빷oMc.SƮߋⓇ1߆|t/<7mb uURS3?(s {݃=otʺLLX10]iYdgk;kp=k25,;(S~+b!_ȟ3ebdIr.n,[?ߒkd@tө&<" N ~ܽ}_W6/b!_ȗ~i33H?nj˖\wF p"_9>Dljc-`5 ~t74ȏGeF>< ~?"sB/[=4/%޷:4H͢#Xsp4>]U5 da mali27?گ_vjas0Wa5*Kç+ty5 ACn g kkҷd:ʓYԥR2.&1G?}Z!?'>uo(0ҍP v,ڰkn΢%/Ԑ˨p2>C/}mh:[I/?'nyj>sYUԱT[}[_yY :Ky&c"Ph~$O;/)8[RmhoutDνmO}m=V_~6jv+Z#]j,cV1B9ICou*Ϣ|G^t |/nvϙ ЙuTkh|<3@Z-Q^W,_KTϽ3i/J_Mڍ]nеLFkot|bv=7 ݗa<\O +8dEB5'5er5Fo, pHX98wt!n]%EԖcj)8E{X>v}']Ř8 =8hQb,uE\K-F?G+/_Vq|7oor&B(S8h#ת:ܟks!xk+ ZXܻ2yhhZvq=V:s+|llal,s'M 5j]sbkX_<ʫGk7>uPSOY]K4Ts}^8sdV,cw3V(S ~g4w-f=Uٟ%/1Na(*MߗkwW|NYw-MD3ocf>sʯqXAI߬,'Ə~\^19":vi|{8Z~3>w[oRIP?/jeD(OG3Ⱥݵ4_bsZ6?T]?{ȹZƖ9[ߌX_r_"7{9Yu!M %r[h͢wT1ń{X'cP?qsJz욦6挍x;VǛu1k<5U~vM~XcLZV Dijpo *ubf6}'f5V}ZG43vGM;+u<5>=W/;MuVkP^9'O4| <5K=f Ҡ^~^tݥ]ki=#'qvj&J4V3W=dɻ(w?4g bk0VO}Dijb^{k#8f]1}üŮ|Kyj9y_E(SXYe8q4Q~7[c-AZҼjj>yPy:!!?!ϐ/Ɩ?S streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F R./Ycssd':E5A8CC16-4FF3-4C69-99B6-A8FB275E098C-7379-00002316C54AC95B @#x͘YP[iKҙ3kf:}'}JIInܦ3p6c6`bIBd]R+KSO 9wϽWWW6Q17$?xرoat,|v }{N$5?*H|gA#㒹 ܔtbPV%9(ў 7J2PF _;wV˳U*)74`-"__4{=8pb%vX10_p$jdqJ 4]@|/ϚHG{a;ea נRR-T4AxwwUkŠi-? ٹR"ОJfD{%@[+Bطo9vD"I&e6CbߕQ⫾ ^|Zq6_;)<ϓ<vS b2䌬Or|\cYj/q-3m{6$QAYzTFd\V+e9 cwe-jjWG_+8(KWI \?!Aw=çcݲ6"3?hw]ygHƄ>yOikxzd}IJsߖ[k/iwqpLz?=@)qZnV~,7+NJq? !ј,Ž8$\C-OF/V ?hKmO =>RC@9Y>uZ7NmWL ;:%xL G]9>|Z|㙸p-[B͗e Bk?uW~<_uNF]pKOҋ{ :ڋߍM[9œo̴KO9)=7 V=LYtYFq-F=J6 5x>Ct^^s4|WjL |vZW­55_;}@p/㻬N"eBf@$xǨypwVn]}'j8{b_c%30G:er!EGT]fr>)>);_ƼmewPro ܒD>d-u돷j+mĞ:6Gl5O|}[^MX?rѹf|ٴ y!'OǼ:j]lXB-k2 ^܏zJs ypiF ڠoezG%Dߴ}D]h `_>smmX=p~9úL-GZ6W&=ޚLJ~x.!oӦ=sCfeZWgKm ΀dЅ+BoYV>wM}6ߞ~s\7}F^}E8'T370ĈmooQch&<a>8)Sc k~^YPϸGq >ZbYڕ;f9腾aV535V&Hs4fb ݇'vߎ=O'v_i6_M죘>ȩ؎:bʦ5a  ֲԔG_y}Zj 6L ikO4Xq֢u5g1M2aI6R9q'u{sz ̘>|Z;qݚy `-6Q{(C|%Vsbf iky\1h9[0$X1 r=skЀ9j4G\x {f8P Y}y ;!>OMhkV5 `-lAXub]j4G|;/k@dB-iNOYM~6~^o+圯j streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F0/'htmld':025399F3-BC6B-4021-83FF-D387659B52E7-7379-00002316C5480746[@#x͙ipurMIfN?ڎxĵ%YvI6?&i&ZŔlId"})$Ho / (N}!s.>9;~`kCfRk|Vez|/#ptps㧟zOCVmuЄ֧b'ER1A86{W%lZƦ@:@%\pݳ?ԉ{;6>s! X-aq 1_KNl+VrupNTb*Q~#ZG4>/99mXoC.wWט:A|v7_b}Zht Vj1V{P YŰ=f1;wjS%&~"1iD1\8CakT3 ٟ6[btgZg]O#&e^~2±5gرTUy{x/`0˵+=$zv3661ZÆD&zKLGb^$&^$&^$(QEp-LX*}"cO*/[b="1"1"1o_!X6cR!s& |fak<}xKLGb/)yʸ?}=h|6cr|VZ{oZWy͹=<Ӯ=fø:'(0oa &Gw~,&ea+ 5*p{ ,>Z` V{bx7m3{{D},_gk-IB [s֔p( U^w;Ao#0?DzA'Q":M;pG`$c3eamXc +ؘ`3״޴5^UX>[Cvk5e@W}U,,[sUEhvꇿ(^C+s?' K剰G`^ ;Wb>s7H ~АvYK%S4>2/-ڰVb0C|:Mp?#fu j?^#4X-& +rp_ǏDqI< cqt0M4puFj0ѐ\j3k=@rq_צ"簣x*7hp?Ȼ}r9`g1l`w=-'a*7񏑧@ǜF(24і~KSs_ f5[_sUqs?[`EhE0.]/2b}WqAnuƲƽ})Xm"ف0$_*4u,Gp$+ w-{tXҀ,|1?vwEVVV! M>r̺c`_[`pbZM&Vʢqi7[L̿;j 1+!8AoY;51~&d[p͵K u-Ə 1ȩ滕)  ":ؽ7]10V5fcˊg[\K%a%?Sg0XL*c oL~-㧲R33bՔ=>ZuV3k;p`7`2Ŧ_oksV].^Nc&Ɛ![UpM3+ |Ys_*C?qqf*&W2[flcs[N6jNNJ.X<\oܭơF-^>97C0Oa"]A[f)R^fV{4aAUC"V)6sZZRb^sh{Q~j 6 /H)cѓrwJwMc&d3dޣ>d 8J#C4b)ƠO}Hš1qqfeNJe"8 laCq%4\ϴnvdjQVJ 3$#kFڹl)˥7Dq~q~%t<\+o{1E6䟔)UL8v=^Kg|]ڲb6[YWԵqCy-<{[pNxs)}+Ⓐp#bw1"R(2ޒp3(iN1G]Tq/gݗx;Q'bR3S%2O]a"O6'l+T=IYH-L{0̭ dE &5y"rUAϜK,@7gYX{l{8^%.Cg[`0b_'81F.cb&ϢS.m4|qV͙qd |2+;ٗ} <-"O`qL޾ļ{Esm,z݈hϾΒhXa>}k~.sExa"O&u'@Wˉ,5w#9o+ 2NM4dbZNNX"1h>-+}H{*;5\RVq{tq2':5"aݓ*9o۲^?X&dRW7:ՇP=%yc=Ři(c晫G4dJfb%;Hy"v&Eӟv3|2+s9TJ?j G{3 ydNׇtBij]9}s.R>ep=^^Bu㾉/`ۅ\|]89enXPѰBBcȷ-uWܱqM;>܀~7r06cs&縇 # 50f/P,0B,Abeh_Jnew}Dw-qhf>T |֝B,XM X]6"i$FdWrb.اv1\=u}U#a y^[rG}dkbZM\t \tFGAxs5 TSó?\0֜űEMü}mkncIĤ-BZ;ݕݰF|gZYdžϳa|sknMug-+z]6NS{$?3ƄYvXcD m&j(l9|/A Flb Zi4~[o>1UWĒowH\6ccۼ3"6  b&^[1jBEFN'M 4LY)'8%=d R}de<'kv|33XC.axG YhچcPsM׾>&GAt } 3[=[n:JK >:Oj&!_hK|9R?P3ohwM+oAh8g9=4΀7g'B1+@w/PZJm("|v W"4OH]y{=2_@WPoxUoU(q9gZr39mh9y;W~V6T}gej1D +Lޏ_9SrgIy&NЫx~.4R{+O󵉴D+^Ҟ ^=?m0XC9|t<;fb85ʞrwhU*c {[}=UGyѴ%o>\LQz\8kw&CߵڠVrX>ia65 ]wj+9z| ԟ"N!2LFZs1ږ}gn6D~'6Zp5}sƫ_쌛}$qE4Zkzd\UX<%)u0UmGS.~f,A&"9ǂx9ʳvPN?qM(-.kx'y F@k ZWPƶy]GO{iMVk A9׶DuB 3N?hĞy >u]㱟P*X1V}~߶Di)5X_{]}$LkMh&JK)Wzh 4mҼb`O`~2˖ * W(-\}̡f/YCqabCD_p|dd Rjf08~Z?>Z$;ek&JK)Wz3ό3\7=Um.DM2?3Y:0J)ߩ\\y6'Xg}r2+f8=o/E+ CFL{|;:(Wϴ3tX{vb*XBtW'r0әkrnDv{L/W=Ո+W4BjM-k5ۅ{%nU-_1ߺNq݋ 4䣓?X9f!0՚o+ _tg dOXBu&c}h- mELw s79LoҢGq#"k!;u2n>A9b9dw(9\>䵑/⫯i}Skns"iԟMݎQ:PPOs(49L4+.%%8/kq;uZqFE"HJ4]hs")Sn球4?`HK$jW,/."}GKhc`)}4A}nEfwY9Nѐ utѽn,^C-~}8(F}"2iwbfaB-e=9_yhc~ouos_הzS ,XN{XwvjQ }neIS廑kMEKA<);C9' s8fį(9\pKB.%i/Fk~cOlw|: [!h/ }rz_Ne=b94Si9tF*iW0q;nDg>򵆴=#Էgػu-8ڐh+O`&b c>0T/|GNGMS{(EYQPWs톛Vu#n:c6l݇LV`0`e܇6<=~17Q-z{עz4dD{ .dk.t}ϡ8ީ2R|q_F,__KW6/){hj\ oǨ>Z#u^}CoBmF_6t1ܐWBy-Kb]snmR_mcz^Hsd~g} WV+?D:ͨe;y <[8__hˋE /N[rOL-F-e>nSn'/WOox.F[pėjp]K5Z%7QE5WqlC>O>/y?e?Ӗ=ԯoc fNP[$NwDz9p0cy8ZCh-އXE\v|&cwp/:JwwWHErKP뼸\ҏRq?dߝ玊!؎ xx^Wxb9j_e􄺋pO1}Y6Aߴї%ߝXEQ ~~0}p)T ԧ.Kmҭz]uҒ>+$u7OCk6+*r+&RgȁuǪB9Hs۫>0otE8O }/o~Q櫘!G~n9;"),k!V/]Yi- 5eb:y9dvpc]Y?ɥ~0҆ -kEdr]\agBLvb5*_j4e`u 8kvԚ  hCfB>u;}`l=gHG&0<&9m<斋l3+/9\ yN0z9ps-SD.8]uFSuڇk=ĿM3cZu)XL?\h(Gy4'mZw|7P\DZE}F;\hCDVHhHXy(LCsRߝ LcQ~~v;Y?vnz{ܩ[fRݺr-?ŹߔmZjI`GF ZGzXrKȿEXw<XwtGn'XcrhjF{3ӯl#4[gܓ<|o X:S_yvqΓoֽ|:;`VދxiKdm(0 @9O+Eqn=u|6P+A0},X7VԯFq'pZcYcs\%\ݺʋCUPeҢ*U3mYړm'\>3~kbx^excOaZLҢ*}fZ2i5}_WyVo~I خ|Z},v6aSD٘W(-X=g9Cj-&l̵ԺZ>txVL ++{e#Qv@_(-X={9{\LZ3)%Xu1'~$j;Z#'v MUQz1\7Pk4o,l!,wJeSld5O(-X];e^wq?.l&zn g>hL/MUQhHe؟Vq+XSlWH4QZTEfgҢ*Ag~0%H4QZ4~CNW%͛:\OAw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F =0/rtfd':84295360-D2E0-4633-A5EA-07D523556162-7379-00002316C53FA9D3 @#x͘Yl\WCI" G/*;C[@HtYfOI8Kfocǎ63xI]>{k'_?sgx d(6>P,+\ +0Qɦ|>}=%6≶J|4x8yBlR3HNtcqZX[ǔCz2?ЎT# 龅hcֆna8>u Wdo4K9HY7c?Dk1)Ěo,Pʧjyoa:3I[4TD[;X' ]_ka7/28Qp=VM #RkHamW5oݰ*GJpC|7D3RP'GgL}.|ww/Kb/|W57wR[(_s5WQr+!󝔞&a"6)u~ {tw9n_CoUf:ha5S[޴7yLܛC(8׎as/\8 _7&YH 4EՃ `ib c}e1օh'cEXi޴:Tͺs()Bgut먺m"##A Xc7|D N!9gG{j8m>Qx=YY~çb XyPH{~yjWyL5F䋭~/xr `5Wp}pm~ 9G%=ZfC#);dSwKW8kV5NL4=mw[wρv3^~/U_ċoT[Q8_ 7[GW ocx"MӺ0v-<ﴛZx5Ne7bb|'oor&B(WBzkrkm֢>/´-q5\ڼ??^Ef\٦-^?{zosĬ6kXw|xy_󹞬5h=7y>/ʫGk7yA_yYw :e|/Xּb %kc|"،'f,4Q {{kv9DoZ!_0sX=۱:|,xο9 >gVo2~g](}mLAc\9VkF4p7kFCoFzIn=wM:;+})-߃]o2ߚϜfZؼߥ[9]#>StLK ak!.`_c4W*Zs 7'1ӎqDih)uJ{ *w(4R;W9h+>Y+}}iq@[-=鑙GŲ9.?8||[hkm}5:!ϖ  tJ+meKzb,1DMƛdJE9Z%ݮJ5x_nV[JfEksa=J2|6W~ :qzUVG%^&s ^鮾>99LRl*gݏPET_i{x^F$>S5l WH3(LIڂ؂~XeQ֬RO-YP^OTv}AdkiFl.KYYJܓ]IL>x5U C?}HsTC,IꂲdΑ1me|k)~䦿/mt矐bLwJb54J|5T/~ y⯒ye\YE|$$K7U(Q{Rk$n_u<\c{҅Z%mB U`?$lS9TP?H,ObGSgd{?kD OhYCCuSa?[t ewO{Y2وzcmO1>ϒ C2Qp}5QhmL״|m!³sC; y-糱@3hs]v%n_C5o+^ľ^ JEΧ:"̏eOTd"}|;(;kT< ~L>v9?~\OzD;JdqދJ@B. 4rLvJD](=HbD|O t> (k8xrPm%_诔ž*B?諔y{cJ 1@ G k)>>cŦU O昨8`1^3w"&Hs&xAe -Ǵzz,}=>s4E>'k硚=[#fc;~<\g :0_ŕ@_Y7Ǩ Xii>i.%#YVgĊ%Oj9_s A|1q~Be rC:kQ|ra HqQw+ ESΥצoCWyzwlj#1V5:Nt_ĺ~kJ1p\#XbAF@1,`5|Des՟!Bg%69̵bSz_kahC0 5A6Q'RrB};8}B}E aL`>0`^M?h^݅?>1ǟ}xri>bQm 5W}M~)45P9j:*X~\ ֶ'-rgЇUXc8}C0N[-Ԁu 5:j Z =3g/r=z/US9j̥AZC5o>aEU> Qc.n5k1`,E b5cis9w/g@.ē 5xOM1sz˾P 5A\B&>j4G|; $ZB-iNOM~kw~ek x7퍒pI streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F s00_videod':81E977DE-E02B-4AD1-AA6A-7675B4567DD0-7379-00002316C53A1EA2 2$xYp[^R&@e0`Y\-@b  7ɖ7In-bm6kf$K#hf i6St{sG;WLL@ "`0g$q9Osd>S*Sdl+>o޼+~|lW΍ɹ]&6i`z<2P+i- ؿǛs%:*ѡ V"2S.#[qDHCz-\Ʊ9_ AF:fL@u:?Sݹ;yh\XC6Q6>Yc` ydLjd>Ur!n,uIއ,\ʐQ戚tGBJ,(ރ hӝ$oߦ 45z[˗1^&諔@w 7Joa {OC#G]h}~ À]qIRz+dHrt$IJ¾RP=۳ŧ ^F!5Zf{{e2tiO=8De-By 497_d3}?\Ƴ]}9/}̏%ogzؾrP=Le˯~kFjRlAdQs52(I,f8Wa/g?ѕpA/'@GViy[&r.C$/wH-@pi|&ќ)pAѰ'Y^w \#j1_!!_w!C :u|y=5|oWsooHl|U ^ɀo+tO| h|z34zz:9ybENo1qjykbOXi)HϧG=g k=pMw7Md>+]PA9g>Db(vcx9ObǤtVdHhW;$*_dW'~9xp<' ޑj9T'$)J!m1֜-oz õTY떦gӋ#bC?ޖ{P:4H9򡜄gOfű-Rt ޯ.=i*w.5p"ܗHVf1œe!SZȩR 'GoZ2)|W7ƌ_U% Rv&#@ tSSDýh4hݩ4&zp'Jw~iN~kjX>pD?- h~զJo<ٺ44C:}G=ޖm&ܓ7'8 {3N;LP"S9:S@6g>]|LSFπA}u<gns߳jBp.xf`#ڏS3:9Pmhs]Ŏ~d{dcɽ`Sڰ~}1gp-EX΀O1"y>h&1+W{Dt.p =snE݆Y[谷H1+F~x5 ֱ+}l_(D"c\{Ě3Dma:=};+/g yf=z z:@0kcne'ZouEFYG'M$Ԁ\ľt3^/SUI83\k7-Q+F'1LX}x^t: V~*S;]XyN 2QǹCϜsQw[XuC[Pqcع %K:*D&I';,&*1fC¹5*Wt=ec!O>VzAyꩵ2Y]:cq6ñsOc_8^Pj ~_itaӋc 1裫sޙcùbw`ƪyʕ6{oto#o+cٛt5M&`ECϜsQ_ s]a3Wn^J2+co!;*kAC\sQ3(cTpwujnXg̓c7[oCkeڕ24 7hrѱs{Z V&ftǺUevew˚5e2JS_yMs98pM k_EDoFG I~ _a`U;bA 8#EF9A oG^L %È0rascr.j0#u٠nkg%]/V-uxy&/16[ vTs%an^^Nqh?d(%'uS8O.CJ2*JÆvFhi=%S0ژ-V&{Ub4$suܜ7 5COu6Z8Qp92,H 7w$qblquxcR/bn>v,h .1搭rO?_y-v{r-K$5I-"ȪKH]2?՜KQq5!lS6E!搮rXeɡ4c=E&:9ym:&G.ak'sD {er3́3t]*r'䣷$T&>' IpVN5*9t{]*%ʏʡ)DECmB^|m^K(P=Uh:p|3ڋoFClfu˛{ǵi9t^i*uQytY#18*Z:) )wu"hMHo+Nw6`CN;8,H;"|}֦l>HĚљrx?xt=̵0=PFLrS>JHʲpMB=Yj2BPb wNkٸPeINU%N~k\?Cw1̆DD(G[s1Ԑ&8p4\BP{QeޯdVQo9ca&I'-1&QŪu7$]&n*9ΡO5f7X.h+Cka4EqT,:_z-aG;^oĕ諘x 0mRG{~\ybൄ ><o!Z{PDҟn+?Z|ۉ/mkhu\.K}{2P1+*aYiY{XrװL9t[WqebYYo &uer>'V܋BI ^R6m*6Cq5Wq}^Cm{'ϟ 2ϕE/z<ϤmSq]gbgi+V~)h)i$qmESbYV)ՖV6Ùsk:WKڇWX/Þ-{Ҝ"]>SwMısdiu>3&uVǵt\˺"vA_C__DFv??c?ÎxxieY s(ΎOTl-W ,|w撝X/GU96|_%޲҄L&mh:j4sE¿ė*n>JۊEby&<\9!]?oqd J!Z0mRh C$䏱,Xeh?9~ U6E+ކy[g )@0>DѶ,tUcz${^iS9"sVܣ!K,]xM]|-m [?-G7^RkoY.{.|% }(HGêHN*3R'M5  @{6cNǘK`wpN%{F~s=k!PSjV|D|7s&QMM#퉊W+F W90;#ܘ?xm {wGQVlU]n~c0u07c{qCܜ~۹2m)6oW]3ckye[ko|0䍱GνNRǔ)~u streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F 7.0 applicationd':B05FB1FD-5F2A-44FA-B5AC-17BCA248584B-7379-00002316C534334D $x՘gp\Ǖɷ|$>f!$CE 6`c168 !L!PmSb.d5mzo[?jmB`$osyOݻ=)jc![Fh="`[sD6# z0ePm V%KoIx^E]9bA,y)SM254uyFԋVF;]!e [ڇ_p 5J ww@mcۖ.D?cFS_bS  l>炌4٤,, q_83nr¿ABX~Dx"g={ʱvcB.Oxe#vt Ð#kpPz-,G jF6)W]vtpMs בcK11XMzu(1\.xcLKdJֿ\Ca%M>a ?w V%c` p'wPs8ҤvJZOT|Ca9Unqt;ocLdjUYGNPlHƬRyT CyC!zVyCEL_`^umnw{Ӑ%|w^Tc ]O`17ʷG?𹜐/1j^/P9ԿxK(\:9na4X}C|1=OXЦ4Zre):"zQW,5{U*b^G;P]d9kT|f ^r:ۈI7eaJļJyA3H)yU._*p2T;5}I.&֜rǰ`_Hg!Ǧ9\{͗]Ggyg a-1D/ܽ|mɑi.Ҝ{gQqHqY|c{l;&OH]|貽'S|!rs2ϹXk.>OE8Kc^] z& }ă1ޔyxO3>~w< k֐3s=@s _Ʊ5f=:Y/T3 ]`C է+ >MPcɯٿ3]?Ip!^ h#8Z1m֙3@s ߉pB'={<~Op#ϙh`\8\?6Djhꌦ9sd. <'`IxmO\y.s-Zm<:G']r'峀N~u!B ruzނ{ߞdkAa|>Nw?8C0hZDO1GAG;ȳ|.xӾݙoFj2eʥr%ʊXqDGߨ,_82t Kbɒهs ƺ߉5 =Mʾ};ec;vȣn7.{n={#[d-vm];Mc};Wه3 8sԕ9cт׻߈~mӲ0OmFٶul[z 7pߕ~hS'mnt ?= c_O{x]7?x/:mu,zq/뾩f!k6r~5+v"~Ju'}%[x})o%7X=#}1/1_mgځ8t_ʖg~y ~܅ =t `[ܛf35?Ǎ VW}=>vgbf55g}}w >|  m:cx;/Gnr'\#1?<1BVM) ߓhQMʛ2^lB{צߤ%Y}4?F"yԟ}PgZ5?|KY,f4j~a_xDEcQI streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4FV0_ULayer 4d':B49D7B18-ECA8-4770-A48E-FE64CB968BB9-7379-00002316C5317201@Gx\ x֖INN' I$y*hͮE j{(EUCKkbUmU UEo]5ELHʽ{q^{}i4xzx#8f8P<5s&B(fUaYςaPg)P`B 8깰T}W70 5Tg!k8йSg4oCIE'QI_Fѣ[w ` <z 8XƐgB~˭p]\zWB6P,щi @U&;e>d={[xYs57%.?V޽ѽTQNրwfRPd4qnܸ  %ߥy׬eѢRGG';,4kON=ߺw c"2wq{ b6En'E.b3//Anem8?k焔uI_'v49Mߵ V]C||͜(bC;I[ҧy"[rٛ7S~ACXhqde_̎/%d`[/`ͼ\Xz/`Xh!e?O_d7Y㦕?:jezN>N~?/6iDQ) dHYSlD:ey/ZxNt%6*I/KIa+91Z\xQ͉k׮:F|i_~Wdu(urI/Y-իWy:ndf>`fu{@hSRFޯQkFA'Y*/#eEG4xmkGIyi Z-Iw $sتw۸ wQ}U^buMx4j~$IbW+͚4{,w YWmҸd=N<9qF߹EiG/1(>PșN8Orùc(~@b E+QA(eŷFK߳o^~$?-.kȑcչ?-أSNi g+A!>)b?SI$2cϞBSəLdY[7 +Ąr|ح[XQTLLLӾ:t\n4br`+K:sPFiX~z}Z m Xͷ-!+Æ ;>>>J^zv\rhժӧu/.WP=²S(Y %"sx*OCFzxj 1my=Xk>;` z%ovcuQ= `tf `|| `6m&ebccԯSg?L#W2S}XlugBzW#d@?n>0f,[:v-'8oʲh=_2`6N 28l3W\(>`RR.\fSiNX+Q9p糷$lw*s!zDQQQX fdM9 k`?#nG/Ql{/?|,8A-Q Wa[p^&xa4`|v:aiDdD7KLG|Z?}F?s,.0^[(W)R?|cC [a~tڕwWwZcwtꖲXbJڧ 0^!aJ6Xfz veF|?q?a8v"vה8KKŷ~eL``M:Xun]x  h3 Z7h>iƐ?uU} jOM7wMR,w8(%ֵ?ökhCT]WW7tÆ3n撕礔 lE+yz/ƹs.4"X`0p /He!5βViP}^g4ZΧ<_g=`t~q/Eq,%dp/չsYS'%->ohr<3F%P{ɓ'Qt&UR&;)S2ظҝc洩ڷkNf#Q:.grT kYѻ`<ԛ-:ڋje|nZ曫i[7m=wիW#_:-4 [S7YzJMi*½,CXٸ"a|c>?+N;\WMSoJy?a, ʍ[6bV9!شi+#\gMa$ j<,ڷw5cޞoCՂu[jb1'ڢ6;_oNeǏs1+c%ͷa+`  e#2~3Ժ~UJULA2g;o?woƥ`#LSӲH pMv#z(*&WSN M}U|Lewűc ua99+UbtGίP  e)]Iacb1fPL;cG#{hܹsuDŕi0o˒I˦[J7Ma QQ8p vډi'bQ8ftNf۷_@,ȚچZ'p|0XUb%s*SNCԍ vZDWqͯJ"w}S1ooT⺂qm!m6܀Gd%HYQ%شy~WhiҶ"}vڞ,\P}Qs.ٖ|Ҷi1|e: O|/;;oSf];}0,ٮȸVc_gQr_yx>أV 1g]x)CA ///Ջt٭Y Yái~ˠQ""_s!{1e3J|frݱcǡ^s)T*+'m[wKWY2faχk/[ξ]eF:<nmg LCއc7_94۷/7n[x ~ɷj3UeхrSv$1$AtTį繶:Px?zP3dȀ1oEmU`.q <;.g|u`RrS['ۉ0رcwڸ:oixj4:TB/ʦ꟡zj1 qKE.LP΁y{0*: իU?;=pb`_CXɣ+r b;_qOɳosWfͨUo̖gWa~mB$=?A_-,jq!uW{*g{×0x!}.ժU)۫<}W_=I֜GrÕNk:[}mÆ 1qD JJƪ26߰Xɋ/5qL=f /^ }ϝ,мws< A)Yż%c~@i[ +< TU}Leǥ_E-TCHajy.C;`_S|e*ɛFy!ZG3"}Cۥ-r0gVUkCc9wWĉjߕ2Z_XgAvQ%n}/Ҩ{xM,S(T\NtDt7X'6e?jvyog;n 5jg;jիg)WTS"|L=L%,c׽;c6,+4Z*Q0XAb{WOJ&'L"ҥz.YsEUyv2TuO(16Wlؠ{*8uvw@ضޅ9:/g#:"V\h|}b+W`ƌXbG[]v77awDmk/‡:ύ5 h_|]Ϻsy }+P:@JKU mh*oΜ9\^|%*{ hJVlr|wUnȤufC0|6j o2猪UIc0ql޼yl"#c=$jU$se9_@LHc)lcsn9%JP$ƽuѢE/9,Kş..^ LXRǟfÿb'O[LA\fϿd ֮E8<E/bL streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F 0/swfd':CE265196-51BF-4C08-BA8D-06EF79150A40-7379-00002316C52C5E22 @#x͘yl\SJhIEj **U[$ТJ J PB@U)k YdxKK;v'm~߽N ZW{}͛gF cهA2DK47>\VY'C8א8U՘s[fΜy8x/t 6.|t޸|!l "MoЉJf*e|L_,Dϵ z*?PH_O`!ݥ0֑`j-|n{8!yɞ|Ѽ܈q^7c=l*?YW5ZَVX~0;k|'W^Z1?S N#FxG[;)?,;i#Kb`g1Fpݏpe2?$3R6m5CNZ ŭ5пq|._kDqh1}SNo:p&b=F2Ƌb} ӹh.6 ŽXs@ "[p{3=?|JO5bS!h-;w 5s˹0XaLs,S>|glIEKN4eoG]!?íOqB/r)oQzݕ͈Z*)a~p1qSgEt?'N6o@LQޟ"=N9|ٔ[wVCK+.n!fθ|*7u8@};Qypmlz}ն~'Je~utyZy!7?Q (f4YÕr0&?m;! y;Qud#.u}=4[2`M)P{X 2Qk5_lP(ZBkʷ~i4.f=8Za4]:rY5n'ɛ{hAռc8ӱB'5ͥP&:4 ]oPo A ua8h/N;7vcemϤF}JH)TX_#FN5hߍphK<6gV֠l{(ۿ֢z$C͡5$ wscڵbEy-V#0 oiF[sU[RxhnfvDl]r^\5)nDmF~^8>ў 7̼ʻ+{ }'ތO\_VkBsKFyO+Wp9x/S;6l^@ V@ZMR7DyW' vRE1 E܋ }K#qN4d%"Hr^-ywhB8߁tVK2B5*+LY Aĭü5[VJL 󐜔@*))'Rq>}:b⭩bןľ '.4Z=ebї%6",yq/^ƼJpy9^/@/:leLfҔB;=!fy-"J պE=XRfR#iBMXJy'271-Di1޼DDOVЪT5k-:]+`G!~{eV0T0g2OZ!6.kZ͍]y?4{y6[̅7cO0VK \3 GLLօscNY&JiZzkP=w.+ZyhU\QMvjȚuĮ?g u^ܫ^qY?ҝO(**=đ{كB~'n1V'Lj:siF8^S1hmՆ[`+1%3wSTgo]f ~ϸ/ڝ7Q#b<ϸӋlOc/ZVȧvҿ{TG.c ŭeMDEw&%yhXyiu0>5@zPݙM??S핾j`۸<|.F uJz}=F3cqavgsQ[C,QA {|fwY5N5cMc'3~ܫz]+YEyϤf{yt1u"Zs 7&Qy.b]6r?74QGӇk̵"D?y"|Bwel6;m=5ϵⵄ ClV!7ɽƺsäoϙ;&Ji(Wg9^7Wv{VO|2ߧ7GP1G4QZLC3~I&I&d!@}o2I&zO~]=D|Aː>Շ%ik?uə9]$'PG|kߞ2eU_A%.ks˧g^|r& yz8eF[K"e-sȿ{IEP!29Z =5.T'PEװYvYrQ*øo%JgY?I[,).xn|~b%>1cP aT6Kgy<-bO_{|&J.7}2.&xJ a)UҢ+Dy.1n&M̘քq8JUaoɓS,i.:*\Ԑ5 6Hًwam2}j;F>󄹍O KڮMr![)h="M9^,Þ<Ԑ5 4$SK$]P <) = rpQӚP˶%渱X/nhHL'Ju|nF iZâ_vȚt .". @?ޓ}#x]sVa??G;v\lt٥ꤝcoB pΕ,?w~ijytw1.3v&cbƴX\8_Uŏ- Ԑ.gN7!7J(IO]&galډHݹ^z3Ö(ufŏw@:ˍ9x&pp$ >z 2]}j~5Zk0cm89ˇӘCHmi&Pg'xWco~յ2 eпs7cNCR[>8549]PC 5M> k_V9U,͹GęqX>QW>kA .7kٛPCgY,JW 2#I(?SmmFI߽Ѱ~(SY#UZ?Dis]^/&8uٛP>ȿ& I=k;|;,c0)/VZLw1*ޓu:F랷$w:?~A){9c93S bKv_ij]| @'`>}0К="qʎlU>(׃zKc6IY8Y*b6=~xp8HK mR+/b5!4٨Ōa2tA X׏%F G7I1,%\zlTϖM*" R)M{)W^yma_#rM}`# bOkȔ$=9IՉR% J[v»jw Wc*䝷u~4os`}-G36E͙}nC٦,} ǥ8t.p*Aq/jfޕuqN,Q=>Oj{s|x3A>xނst=8t&eOץgr8S8'm(j!~|&M~֟3O6yx& mR=k;0W1X>zF_( B13'ߛXPzFigK8^jMe?@5Aڸ67λ=sWɥd)/2֑|@b'Za?{3v^t}r9%Qw= ݦ%-bt,7}]\N)t;X`3C'10I9N%_rjܱک.Ȣל[ʂWkd++UG,XƼ 9?ϼaGտHxfsN^п ߖZip;u8,[~umˏ(~|O9l\F3Uj5F^zo;jkMr.Jӹnk2 dP96oKkT/_GkWZZ=A3蓛яu&5Lq՟!Q?[>4x;1{eu 6yx^j.GA|K eΪ"kSʍfGjR sANNOjj]iy2oUJYY(l*ͳB4[皃w%kV#;P~8?{4MCkd+ [[MF(7o8]agJuO+ƈ~z@rO˘}>O5ܣo6ByAůWJAΒv_B2,W\)=6F?t1 zxs&V\7 sW呵6NRx"f>Qs|Pf>^Ma%__bs3%q,8f_0`-Xqi.a W streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F q.0tar_bzd':B0B847A9-6FD0-4740-B48D-A08479CA1F3A-7379-00002316C5269294 /$xwpTIbb2?2L BI ;!`ܓqqW 0HU]VڕV}wUBTv]r}[ň7)߹}W;K4}NXX}X˜GtW%ə9Up\Jۓĉ .LqU^g|vE>qɧa'MԊ)CU\,i-EmI_@U㰈VlAK\stU%;?JC ]?ceEqt I*%qXjh/$\ֵ}b雖ČiCa.憰b9ۘ+rj=ewd\NU;zd] = V;8.CiZ`CD~wצeBgwoČi?l"5iG4w!w6jHdۻ݋wq%;/HQVߡ>a;1}цƦO\ʮ])$k-!OjE|.&sѶֵ%.֗5U4jV<iM؏cƻ,NjS3e;Vre%5h  k5hp<"^WuU<-|1 c=i;.W&{kj(75XsD#H'6 |=I3&oZlOk$#X3\_E*ŏԐ*gkNʷ ׻mh7m MKΘ0&=+Ow4iKM)> zݬ5Rw ? yyt^eH~h𳖏!^\VύFj1v[ P7c _Z+pyx}bp1\/}*.OlA zNwVaC {ә/ 5~J#L;,v+65 M$gJ߶VEHshXlM7H %C Ƙb;Ҕ4@W먗Zإ]!<6hřt4ИBW!kWuR%Uɇ@TY`-boel6qC7DKU).<.[$=]+ֈ5bd[+ߗőGs}YC-V#H<1Φ[ wxH Ӹ8jDo㛤,jcgnGX~Xi:r"q/ߡQ(BZ֝+JuD-RͨF)$Qo2JyV|_^IC^v5BӰ/S\9֦>0}ZK'֥){ᜩ)" _K-~T]mU;{Wˤ9 .xe~s4os `}%Kӥ:I<%'>eEb/ڇg&Q:3uf:Ai9$ |jO۹Pk~C}j%3܆ ,I}xNHKaE'qi +TEtV#^̼+ng^z|lfç%O g,9}ւst> te$I3Y9SI҅|y[kFֿP?P ]>Ħeke~O_s<a BM65c 0Vkea 8 +,}~9/5FA?C, = &9 ȝ1p} k^ blh&HsM-oO%r%YHJ u&j!Ѕ |iVXm޴]c zFc$F<=);蟱HVZ\咻W9޹VkӉN GyV殨p Kf,+T5xZ2` S<GVcMj$昜п ߒZi;yӟɗ;~޵-ˏ,~r1 aQ#O5y#Ohڒ<7=4YMXB9F'i6@ b[S5 W+M͞ kXɭO ƺBd Ѣ}qpͨ-P<Gᘱ,_ǺeM>=B0JmAh]qK1.ܻY~p ee6԰v0/:/_,S8Hf Pa[ꟲf?5Cx4a>+ԱfPpaµv ߲0SfW^ Lyg4qa|8fX cG6yJ^\UU5nR{|xXǚL9C' ~Zl#Am<%Mzu =,XY.y%8K.XY|yXf,ױ/)Pn|$e~ c<9S?G,η 56LP|L{:OǚtL{*-òK9b/acy֢yJ8&k|qs s{0>q(>'S{-~]hoIx mVKJ. 2eQL;wBsp+$ ߷ <oX3&Ll19X j+t`^N0a^;|;0w•s]k„ױKK streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F .0Mtar_gzd':5AF3D56F-0F22-47A2-A385-5F0264522DFA-7379-00002316C523C5C4 G$xytS+v?zsڊK+Jm [==TV-.Ŋa AI I&gL2LBY j>7$Dww~w&K4XX}X˜^{T'ə9Ux\{I.LqE>G|vU:|O }3uvpgHGEJcQ[-)%P.ގR9ג/*dyQ%װ/Xdɕ$:Yq yϙ%qXn>Hkd 7- \0 c<%r)O:bt ?d[fڟÎgJה/BmwI >2ܒ5 5&KJ~mYGH鳲061cZơ`[0ɑߜ+҂UxL]9!]klHc? W6.%}]7tODic7\ʞS)$i:*ّm+aw.j%yR =ClRK>\=mëiLCKڵANV'uđr@|m/F y2ܚR՝5>XU>XUzO o]*fm˘k>A̾&I;?Um [&xM;$%Ƕ >Qf3=A ѻo٧]>-5Pُv,f6c2p~g!)=]>wшj B`MAϯ}pL5>Rk}&ChXvo&?U RyD*pr&='j财Ley^wScObq7eDi9*H|[>B 58߬adoB <+].XG+}:?.yGwKuho~IRn2,?6eOO ^[\gI&J9`|]x WAք&5JZ"ئm@c?ه n̍,vXOl#%d}J΁uw)tؓISާrgx;_Ě꫿9 &tu:C@K6PLj33BN~6)dGnI DmR~|Gm[NqcO!mBWgn234jCpSQúd{؃ⰮH%\bw5,E$jCsmR6kvَkX7JMiL/LȻՑs{ej>Җz?O6˜{ ľt9eK3#T%ZLQ[ߠkJm:~ؠ`|w&CECwc.f?a.fKCt$4DJ}vxf>j8Rk{]A:,͹G ]Y|j5a-qODsf1RwE\tkѱ NUIWU<}1A;M\&ΉŪQ->O|Z9y&Ȗs{,8G'隓 N@g< |/C|6IzʙZHns2±EZ 6- XCp.[Xc<}@ cj ]m^1Xc- k`xd7G} X#OkloK~Oc?[$87225ZQ&97ݷ`R,Y[,e:RWBL_>Z+aOڞq }'W^53P=n~ЃmZB"@zRJxM!ާ;FC렞:ywqg(oɼrj;ުS tCn`k5ʼU2UqE#CK}jcۊ3oؑ>!//9آrb9 =i`|骕>w?GY*?7R~%bt,IfbSJW}ybF{hӗA~Y?^-;$n|8EǺퟕ 1Z?Is6oM1N-O6߾T1V40f>c'<7/ M1|3G>}~k ?WC5~>|ilvWn͇br VD(# zF֤O[g]l8˭JYal29`3t<_p =jX7&ö&?uIV`]wְ~-6 ЌP~Hǚ\9FZ.ך 5ZԆLMkMLy Q棞8^1󡘅c A8(-4yOGU;kmӈ~O$6NN{AlS fBk%͏ejR s~:OJ/**])d\e|2_RsklVk~L]c»}b􇢅 %JM|?jjsşVZ$lr|VX1kSE @h3@iu񰖐o{4O=/@ /Y¦v[WdkƲB冇R臮>cA_s8CȂ9Zx?{eYH]kJ/'uO' ߢ-{=kq!?h7Z<^8d R:q_H?wqA$xy/&5eڒcOZ M-ϣsBJuiKL]'3Ν>r7u֌ }'8[La <}~5>vy̋~n  續WXrLo streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4FE)#: folder_closedd':F05830E5-724B-4560-9AB3-C00DC08A6E6A-7379-00002316C521112D@x͘[lTe+H4ʋ @KP^iVA  bLըi;LolgH93NeYg9Lrͼzڬ^uS̘w.u 3n>SW,KsGtR%^"zjI(V?T/O̙}mXsI.^R{R[ $&ڛ$Z9Rbe Y0fm¿EwRŋ^>]h+k ,#+$5 ?vRwdn&KXtfSC5K㭻%zh (sng3$xG.ljvzF9PuA|e X%Cͫd ,у2: j/y~PsRe1P~wZ7͙ʏÿqyϿeM@ƾoFAss SQ3ρ*rº0AWmlx??ǾmCu՚ZRѯ 398Mmtdwg?zp{+67{=&n|U?J~GJ+Mns2NԁU=1}Ml{mf|%O慪 Ώȧe-SPKԘ:r51%9g4C߮?䄶O~/A 4)15cu5'cKDϠZΗIW5WW؉1WbW"TA(:s}ѣ9cGcw⅌?Z<b ~20I}:J*Amtyw-z| ~BUœc/lŀjV M ߔgwPV6@H[T@qSsXqbqa)oD>[/]\@wUT։ї<{;~Qhp[|깬 9m *1S5ós\{֩&WO7˹[jjF@ubcAMՍp?G9cSef5rIRg̡ >˜485bT$g55`_)v@l/ c˜b-'89+7N#6͒b.rCw7O)%zdvfg]ᆩk` esFUJh8N\T*;OHtbd 38޶:q\p]~>O#űV1ߜHjaT>sG!Ilꩄ.הYsqq ]1ϝFl5[O1lVǙp |;.N-xPw2_.O6Y#3y*dx&K`^ s^r$>_o)/q}%>go/q1nD8b#>u^7Y-_uaU? )?`]rٜh6ǹghZy-+k@X߰VqOL3ڌ#?︉dak~ZCWbzeeu+)7b"gqZnQk3IL=qjx̹;OtGq7y* ߫ԯ_z?Ώk^Qݼ8ŜbpF~VU;5bDy^.b\5 c`Ծ'xތy7ź2+;;AqU?ة8;#ss?)FȾc8YwoL]a/⼺5:$g424C]5ǜc}YDd]8/!(>9]~Y~o:CȨg w\Ϻl_{YuU!{=ҚQwɏuoK=/ÎUbbߥ;yʬJ1>i¸?F1D^SO__ՔgAε!a`\5R{c#s}q_Wkڔ#bG~&^jy~B~)ǯjZ/슮{^Tk c5Z? {mk_oۄ޻e Z>欒^׵'?EG֠ I^]A streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4F (/unknownd':D178F1A1-DEC4-476D-BB2F-37B457F2FB7B-7379-00002316C51B6508 @#x͘sWEbS/TQ#HQ9R.(*I11.}KHmg$i6Xi}vZrbc[9;ݷo%5,+ KX%v9䕥,lOd;~}7%^iY 7ɣQY_/O;,In!,ٙIMezQrˡFĚ|$7/]0 2Dd!XC 4er 6C:ž$de]kp$;(,RGUC[c7:3bO'0@UlQ3X܇-ae֨VALZ'՟K&闵X,?h B͚CAxF{eqêIƯ{>;7x&:e>*F-}y$WjeaוfѺR[xnwF$gԝk.gf9`l 9kgXBl%isj3#\ԤOyU?P~LHt94[~g$PWbMXjT߶~juL H^DS)bb{OsuGN Ѽ\T6FgoIᤴ]ܣP?S4Dbxp>c edr0grs뽉zU/2@uusk'3K>yŷU9DpF?7 {wٴ8\|f{K1'ω}6ԻiTsY 7H&T]=7wit8"3 xm9$rZN\?Φ r/!~W K"&k8?\A&|7$rSRe)I|ƃ j|P֒3:"}m߀LuYRV[uZS `YwrXÞnsbC/ vY{%[!ǤH?Ini?7lKJsV"Rܿ&Ż$}YOGmvH+:ݪ'njRFؖ>HOv m*oa_@{׵Jϥ!2PqDIͱ˟AZAe b@,CqۧfKS_&SzC'?~OyW:ޛA T`M U~rD7o{Yo_ƙs$}1>p|Zypk`/Hއ?OwIu~X` ]#'$%;w|o'=Lu\~;4wb179 g"8?vIف]xVH9pV 6XE~Y&:Jkwjp-sϺۧVZ1-fҀ𭒏4@1ỨT4aeܝZ|UIRi6|'E=mb%nç%O L?w5i:[<'Uen=UBg- _G Bxp΂bЕs@ݱl70TLKX5u'[ ן#CkVXN1gMnz#֎63} k\jn&H+$h9:-5m )Q$9P1Go:sh 'O4:2r+޶9:ڀcpQ$51cЗ},ݎ%-h_XjJ{ {g݌·[o֟4ih'0:odOZ98+֚#~GKq: ÷$DZ}95P:gu ]}U=.Ɗn^='N<~Sok?XR-ĉ}9F5ÚĉP1ЏEmaB65vKu;8c960(3H+C|]CPWK\>/b:` &N}[5&H+D1m»1Oܾw>Oܾ3I Om߅XzO?h65)G}̩W Su7vLl:'˳ ¾=QǾxiv ¾'{sUzޢYaAӷqZdRTؗ묍98V",t Ɖ1N8>8mjOMVPa_9̡8d/c{V}ie *kձGנbw`iO/Z'@m>HAڨ *˱Z?̙_@Mv+5wV5STؗcVC ¾1uj p[k@KjBO<UTTk߀o[Ej{J)*?  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:11D9C4BD-00D2-4480-9DD1-85765BE112BD-7379-00002316C517DC4FMASKSPREVIEW0Fxxq˗f;4IiN؎ ^7\ިww !PEH P ջD;={*;93;޽{v;XwH(πKX%퀶tgKqj(5~{]v7.BZ2XE-͔%'mwK]QJ=r05Ro O@~/)%pY,uJ R!{7.)J[U%tJ1Q՟ PL bhmXkq"eqrp*P͋-0MпK54B'|m[Xݡ$;j_T&`)L]ks#%-j^ס$- 0CrҨVALZ'I`O꽛4'N J]CMND- -ۨ?C9V5db.{ j[WZbpZ8_NXb>H\9Iu܍~8W䮕#;#$/_v RR!{pmZ&{IeATǵX]WCІrp߿Quu{ 8fl 8)ʈ%e4 ,$qGۉ& _lIY=7K/ *|6&B8)+U;Ɍ6¶:U{qAv Ce٨Oe鈏e o/NM$qdٺb$N$-xdj\?VkS>-<*Z#B%#f,)(^^> +KH )YCfIo&η ym񋠟4[зc1' k5^/kdɡq2Q#Jak#Yq%o\1knq>rFgS+-јݶ/HZ!Wאjo^뢕 Pz@J0l#Cp$x&4ʁNgS-%O L ~=&Kж:C2ԋwK >3H..Edߡ3ֿ?v?>Ugmnb0M$7aImhV\1^aj4ljf6CUY;ҥ?7aƝs[bӚ:q_>\?|b8m}AV8cKԟ>8/aA]-[min}1~nh9:-9\m -|'k1|i1݂u_\8-wR_qu_w-ZçvRnA_Gm[BТ&HsDsn[7_1}N$ f?r6gخ~ok:c>^Znu7uض/>{#g~s:ڛZNF:=xM-ql&EKqccꃾF5Úĉ1@?1H [px=Tހc,V *{׼ؖfZه}+mL:E55BMV_=uˋj'N߉3N'N_9IO>z]駧hmnO8cL]}1.XwbŴJZ}jy&Hs/^۶ ܏}]@MVa_S׀c:UˢӇU6#Nߢ^Njin<ՙa:cm:DcUOl cijOMVa_]c(C}%IS cͱap.OMVa_]!-9hmk 4Nj b1PgvCڨ *m+3Baހ1]s4MAܥ nc2cin6;/ ͭ¾ܦ& &Hs/x 9ߒ, ͝r^@͠r+ܩS,~йmʈqR9*:rQVVk_#unOVK-屳c֗/.v'B€?mm7E~2 R}X 1X5u:a,* ĚEԢNwAΒ6VO1*#8UF:ảsYcֆm6v(&6^ro~P]BV캱rkRQrMus_-uIK_@K+xO ئ+ lO]jAlG׎,/ۦ~Ҫ~?}˾xm"X=ێU[AԢ^I71Mu ՠ1>GG;QpOҶK._#a>Kaa+V33h.՗'1J"qY.9(ǧњM ChclrX GӇuQ黶ԟ26zqwߺyR2e^YRqI!m4Ԏ#'+,9E&m 5GmET)Y1JW S[BHKi:ښn l1hKf-Z{-_5Y@Klu0ZCk۰xwnk ޓn)"1QAPh],؇>uZ'|66ԟ8=᳤hr2ECE>c qچ0F4NKܞu^:Z` |>On;vZ>xۦ~sz֗o BmX#m~D,ZGy-+Y9ca[e>ne۵`t[lG^Gq>+'GplP5ubb-c|s}e3>V|0%_cSa4_|Z8-1kO+Ͷ3k~8YmmԷ@{!>ۉցmFPr Zvd(ђecN2&x |ԈS?v91Y>iD6Ve339 O+(%}/Ұ,Jpk\ ~}ˍu;ʋp@fK.lB ~+.o/3ǂ\[b b/0oagu`DLamn60fHm0g93e!vvh9l C~<|*Ѻ2 -[oq`f[qi9~Oo_o]{ @R2~oTO{,),'qoߓ{@,=|O➭'qГE;@>Rx9q6|̉}qxPfG ?䡄^4G J?~.*ϕGk>iԭz^x@>Kq;^{||Z>jw$o>8 秔i_Gʆo-{5K)e|qu\yd'A <jg!s=,%e[Ip Ο6yoHќ d/?d;؎uC#dC\?\93,a=#7|?2'%HպJh>CI#51col-C~𪰎EɟV@x^Կe۲ի{_M@JpVץje!u^#^{p d vxMj*ϐu_ ^Qoc"%[LJyh̯;pnd$Oh3 c(q^CA# e+p.q8)1|- z1g{}K zUP/1q~^(5R}v.1$7*8~4gjtDzV9]B5k /rO)KG|8)at-A #pO| rO)9W?&iq5/mqCtἜ?ŐbaUu|FJp~,䲜#o 3S  sd3|֯y,{|qЉFAf9WGKM&mќ@ʮ˼OV m 7+~7rV_bx~-]Cx]O}w6p,\qލc?8yCHl@q~/^;K6=ɟym% _*zXfau2soE;aUSg儹V6̳r<+'̵s&~$!œ/sMЍr-rbӅr ~ sZ*?7~N(r7`p^Pׯmr)OOOi|Aۇ%v@yϳ|ϳϬxE8n<"0gcTKl)߿[.g2u!7,xz|̻uE=l$9۩ԲX3mNxV賏1Қ8\?Я3̶x.)F_jmPWvV5AZr.&}]88V-ؿgr첊 ^\Ӛg B_h%-~ gr+v("AG=M1:7DZ9CuOyr*wnK\:C;]{:6P~i[Ч6iзgrl+w?.}|[ޒ>xS7{{[}w^ۯo,oexula5zӶNsvSs؜R7'T8t7|I|Ey .y9l|9oԧaM`M{}1޺wGj^'NK ^{yyg䙧'xHoѱ9Gc$:b{ oYs<ê:kx{W : tZ_{9sϪG*x5?9\_c{6"؜|@55K/Ax}gG*sl7Wj>3XoYs}JL^6/ޏp6whYѣ֮+ oYsKOˋ/>Z+>zG6us4hikjWks`[sB hQjh lF0N96˳S?c5Ԥ c.͖ՙa귦$]9yۋ7}ڳ96\=s4N ~ZF֞Eȱ9 ؜蟣:AMAZ֞Eȱ9 ؜g [{!#؜#;).&$ ^ߑȞvc&&ũ~@U8Su> BsNDtΝ))yUKX%֓uvBZhmr:-~ȇHB.A`.*9XGZxU8^vXm[%Qs%yܸ᷸EM`Ug>ËZxe8msDRO[2I}r h^mc5B}Ƶ{=5W%Ap3@ZƏTG}.[q}$wSgÙ`"0pR"k|4FT?l[9Xf:Ioɱj"hؾ9X5,9rY')x*r#gcl/yցHkP?# p NJhY8s8"@wj! o#USeK¹h9 =D0|Z:I—ùK [dYB߉c#km,>)hкCPp`!7Xƍ#T Ir43Sp%f09PB&e`bOY5׈O'3{rx^#[s}T\iFXBںj$4 F[دdV g _K>" WSe jOa hgх#Hm {@jl<w8`Zd>@MV{rʾyF?xy@K蓍Zvn1m?|a16S;j0Iߛؖ;GT89;ZWK}裯ۨ%-h_Xj4JA8趍~Sm;m9zco.R93l!oTujQ.߶ G[qiV_fXo,_ׂ1u]U=Dsk8sLo.r[c&Eo'T3Li?M3 㻨c-Ƶ2 ׶xĈoٱxZ#~0-bZvbRay -tj^ }u1߀ٯ9-7y@@m9X-^׌!w'WrZ*hmn]8.cXoע/oαrZ*˵ZO#mkh/rZ*qj|l1b]}Я>bhqSi[j/a 1 A hmL>Ma_G%쾪>5A[}C;-ONkMlk9X-jWnqtF qZ}"uk FrZ*m+32ހ1]s4MAܥ nc r]P 5A[}MM֏'OMVa_^?9P-P 5A;&A[Vйk"]@G6utzPxJSlNKl_'ʅ{N "{N qxufs+/LW<<3ZWa|^ye|CI&-|ʍ~KrR)N\%EX 7-ˤp $$ݖ ұCBB-~&eOmkH>,b6m)*6+./U= WEI ˕*|'J * l*,)½{$gپUIWr>R^Z*AAA:mDsj8,\RLtʁ8_NwYhLK]钗);pk}RJej$=d/3C3;vᳲ*=RzN!SDV3zB} &NLݴ7?b_}qٵK'EEȡ$7'GzLKʷEHjRI ƚ&d%9Xo:\ȴ1qпġ D+к0r"#P{@-s7K[RZZ&;3䣗^ANt7UfNicei2 =Q-Mσg?& QSkA[_IuߎѢ}WΔs""RAmKp;|r).)=yyJNx ]6CzG犏^|?٥c7_uҋ697{C2%)F"#{e +{>H#[e2tTy-> #~SdT4u7D?Ln]:T*y΂.m =j}orBC6yKO?Bsr$䠬ZJuHKi ȢуeѨA2iyy w/", Wf#g _8QGp_SZCM+W!!o>Xm ^Lߑ.UUr19TV"3'OgSReApP #SKqskO/Kӱ/Ylo6\Sз\F0NzUȪ`ϗWWN;d]|ITrreS \+w z_t734Nn[>Z~0W}>#yp^?W-Z~&Nsig ={妑*c ,ߒeK|%&*ZR{=ސG#?=w_ipOѓ''Fsyx4{xܫ |/%vkW++u ɟfn=ޑ^xY}EvQou ˆurCyC0x5x3^pW=^l~ZFrWHvvϛo͟,y!;n_yV~8cy=o>#\7frCpc(av҇rOޖĭi-jŊ咕%qoCny.H{H^~ yW>/7y_~0=zruszȏc U}%{Ɋ5LhQٽkrדݏ=vMLn,aؾZOOɽ:ɽn7ܫ3++/؈-OiO!OnW.O_c& ͭ\#m6Lكl#u90賏̽;ϓ;gktٲ\ۘ[}4~G^Tm\:e<4K~|ﶫ1>`Չ`m= |i1݂˽j0IߛؖO:[)$G2ч}i gBu/,5A[^Q_/ɛgA$[ iٟFM>`tSo .Tim,_y4^>8Krw\ҸW68z(1"cP͑l/?ێDɝ%ksY|md~E8qX'Scai-ؿܥkmU?Ʀ[W~=1䯇#]CWt0ك<%~T =bM5Úĉ1@?41͖?O{t X}`=p\Hmosi0rZ*s2!xAog98Z~!gK7}8ֿc4`BXÎѢ}Ԯi6)J8mT\fC_*cfɍX-YK}}Wp6Ar6I)c4Zрց݇yKAkW-Տcy+E?tjۃ;CdŚr)$Ŏsя_k =j}frZ*˵ZyOorHV ?ZDWˎ _ ~09Km}]@MVa_߈c|\/Сr~ y4)s%gq~}1m4Ӷ{\FhRxӠlw:yJsKMdi I5/khMlkWvkrâyt$jӾ`r(1rݺU?~swA^%_xo2]/~`?Nj bZgZ˽b{߹oJzrH"~\ 7T~cjK9ԏצ-8v~cma4ٹųϾ˴OzSc+z?~Mu*kfqL| <~|?jniO8@NR7$w٢ϤOo ߫HY:ꑃt6zOꮌ,7TM)w)r9.`\xT'[3Y_{i,is/LA=?[ɽbO]7Pq=m\8^>_8_}Mh_?ư﹉spn7U]mas ѿ%YZ%?fUa}Z pE ve/Òd9k$o8RvND1e+&| KooXI5z˕kϱZ|/ ܰW5%?;Y\ë^x~sǭrߺ7L~GU? ?=zw m.xO9rJnik;a]a<3+<,q:ÂO֙O<3\' >,{5uXO֬syX;fK?unXwÚ9s8ߵOnkf;:%XFLkPʫ"i]uWkD8u ȓ?$O<'ox8}ƪ<~{gbnau;>= 5slE?3"5iNg3KU"E՚ `YVnco˱Չ9av waN3[O>{U[;m̶2\1`^`|/8,41n,hQ@::{ͧq%oj m nmsq,ԯs;-=m9zcw1s.ןMpoRE E} 5slE?[jgN߂W6p߯=aT&=9Z*bs±? 9ah~e.yLwwyWW_}\*g)m c~\sp.p>, T3Lio;_z1mTج{ҷqsjf.Ǣs>j0֦i9.:b 3;_xQ)?c)_n8f˱Sܘ>`Z{&yX׿+/ӂoG+~ց݇9LAsyX_9kƦ4|iml8V~]Ċi?bՕ{7?RzRz,F&l,,܆9.ǢQoG>ЮPLm%!^ jmPG;fñ~9&ynǻJQR-^Pv~1qԹn180/R0j}bNNkřKCߩ.pϹRLh2\۹18K?j }'5~&h.{Ȳ` Q76֏6q9}6q>֛;aqqdpEchQGT~[n|w})G|arGm2m-X> #\7N7&qcͯq;w:7jѹ.l}1=SSeuZbh=WgW.+߾f \$oU!# #u,QkS9U-ʐ?W-b6GKqT"9fwա5WKQd~M;N6"h{Hk(¹#O}:Mzk/%c9_Hkʓq kӴG.[e$GCOC]r?O5iAq[ꭱ{L_ꃵa'N-Igc2Bwr,8";cw4y!o_"qAe G-$K鱰`}bjvN-dhIš\)CU >[:*jm=#k`H XS h݂u!g!*/NXqUODcv^*1[Oщި-x>(Z5 G=JwʻCN sK-n[abȅg?O_c& ͭ?v>i7ax1VS6c ϴ9< ~ǀ>k⴦vgU[NzV3X8ÝѶqXS>uLYB6e;| ͭ}8:-9\mNg;|[ǤqqZ{ m`gU[N|:ǰGT8:ZWK}裯ۨ%-h_Xj4JsJX:Zkf-OFNø3}שwpjܶv;C߂W6ا_#:&r8<#ub7ah^ukm7;0㛸1GqX>blSͰ&n0qb4G>Rc7`+}cu;F>MP8*Jq}8 }h@61֚e7d|Y}jG9Yi>3~sWmkܧv554Va_ZǸ]wYAοj/a φ^NNu1:ḁٲV\5&Hs/W1c(C}%IS c|m.¾|W m9A4nXkO9^Ns:}\U[}meF^?0k@F)ĭ9x4Va_n j&Hs/~ *^r$ j&Hsľ"v3h :w2M 8ΝjOrJNik;_]~̠|C~3G~k oWY'o[W"KN%ж;jm֝cuDՍ~KhFnqc?C?~ql7۱tD!ͱh#~։۶вuݻ;w;:huc׊п)ȿ4v9v$l\֮֫5l7>Zov ?WA߮`Sϸ֛C6Q^1>q߃+^I_x%U.Z@ c>l#~v}.b! ?yu$=Lsè>-ŸwŊ/Vu$ߡOCοnwhU5WB#\$hۧLhcTp~{4?MAܥ nN{_'ȳe:+ ͭ¾Ɠuߒ, ͝ɿ8SI_&?r ͭV?QPY sk6ܳ+wa1$#1IDzyxr]هO˾8'2g,קdϱi}7ޭg3]fj̉FڀLY ]/yrRɟK:֓\A[1o^/ߌA3,aݯ{vM_-fUݳK,]#07udIRc%%gj_@{[S;-g`qU1V "◝s~\1O\K~ j}f\7V[;V-a柩XS&Hs3=hԷlS'5ӹ;9cW@?`eբƁ n-S?_>m˱OG\AaJ=*߇~3GJ-1W`n`_8sL?{^Q?9nK}Rph[:E*knqW:6g?;NL]1@noh<~9a~fb5{jFuXqb x{߳z1T!ڇ}^\x sm۲/}CњzKɛ;൝>i@6_?Qm؇ h]8{!ۀٖzu73vp?ҶvK5A[}9NK9c.ˢ]9cl9'Ĭ:}bNNkU|j4 r9c;-ONk(Ml{挩mba5'/Z'@m>h1t6q>֛5;P 5A[}'gߐh PS<9cyI9%7a zή\yL?9BtM9tT5Ԃ),B۔Ɗ mSXh݁)q+-6,o[$+YB1)q+ u-[iYh a)q+ n',NKX>,ib6,6,NKXh -aqڦtĽX(6,6,NKXh -aqڦtĽX/6,6,e}ZBKX)>ߑeي߬p'炀!>ᒵp7zFܫ=8`娏8dX>R2}Kzs1wj-okpF#%|mEpD|-_+S{yQIMCA%oD/9R#x`qv&{;Z3k K^ .$gFd2ol9KE8Ar}e嬯o2cg2}9=1G.r/y.O]3C JEK:9\Sqφ8_)+VN\ Mʶɞ%#%bNoyrJ+2W Y ]ɓAC8juDW{?bTnX9z K3koQ!kIiq)9Eno$GxJr0ysoq04`j~k}\-Fjv w & Jʍ+,[JCʪir8X=!Xyޘ?^1Z\v]|=rpPp!,j.ְP*Y1P*7c-rS bKv/gcCoku'r"UBG;e<MMVi)iϪRj"0!|&^R5X!fFBߩRd y7h'O}Ɍ/)yj)$%@qPj% bIA;hkwRDz ĵuW7o_I (8p.o7cJG08WںLV;=PМQ2kne|nD9iQ?9n}kJRL}:U/`xX$Mtø8to}??F2q>G _;hH̞:2E˱Upջ`ٷha =3G !zzmګ"3\jȹy3p[$NP#5r:a4U{w5_Kwُs!7f|˓eG,9kޙGUwq3ēOLb;8[Ǝx386bG,0 @ FZj[-ԭEK$!w}իVZd=r^ݮ~UU~p]~ӎN?aסo\[viwtk}n}@CuLܿNmz}kYW=uAπ&:&ئ5jگM5zi۩{1w˿GrSnըnO7qt ~5c-ρ,5c9Ӛc Wֿ[פh>+܁)Bcv9m4W'Zk]yU;\烥&VTc,c˶W zX +n5Gw+ޠQ6i3j'I3Wu@sknq7y^A['6a~tu?=4OlyԤҊjRtL<'[=gVK6yضEnߚz~=o>q| [m?3\ н1G7G}s5FtМtL\r_ *ͱ:V_hwy u]fāc/ɦE@wm[ςrh~KO6dȑ#]g$AչƵyl+ڭڵ,1" 8@n ^vi?PvM7o?t\W ۹s1=Lc'aL_ZWctqha l!BNK?/־Z6mnK >h Æ 8ǒCl_h`ke_ :jq<9r=M3=R]w;qo3ߵY+_{p=F=ސaE $GL't5ͬHoq;-xM׿m0fIۃF |Tnۃ*֓H#XvT?#5ݼ\,R̹/y.{}5iOoVr@.I)0~k=ۃ*VH8S]|B_g{|>}徍3뫫H{j]֚=~8 rcݮ0o{v7AnIzmeYU{X3y3TG7)wrbӹi5zN\~b۶5!v,}EAHs5Z!yԿ_ן<1NƏCcbH^;My^k':m_Uo>ok_:Ef56r(]kDsx{3.פ#:_1ڇI_a1|auGGz 1F?_u5͵q统fz~$\Dڏyk&qo(+KM*VHVz</Ƀ״Tu'1yxL;Tw˅|)B3/1DkM>{.Z_st~%v7[J3cc˩Q%u5qxø`YƷn~: mฒKԯ=DZV?s'6NV9jo8C+G,_0JǨ~st!f|Ti?Cb(9|9WBgƞ@/bș Fa5k>$}c&c. t_1Y$QATRU\GlOn5P)Fm5FV|jRiE5Ʋv)+!OB.}BgSŠ\KҰ`W!DZcnν_X>fxMU¬]!bY8u,P;c 1/IU¬{ݽWEӺxg-|!?4h~&>=tl9@ ;OUZbb_0fЏhwXwn?zE_Vxgr;$i9t$T1OJ}^w?_}b;̖GT;~G sfw+qSFew?±Oy I}ԏojܖSdCdk&Fč7E1nawt㍑wE`7Խnʍս>&nC׻iGVM^U!i+V ?ꐖdY%u>zSmU_maԌf |,':Pt{2N.tLyZ:!OK\) pIsI䇮2(dxbӐꯦQ?Kt\l?%/-𠞓F vsG rsDž7ٻto_ռ@UWy~(#-5+VuvF߫|HWVIELX=ÚHCސo94PJ+ >=M>ϯ/?ˬ?=x }ԤҊjWk0_q_0'/il~,0@;~~}ŚXLe.>eVqXRJ+֗ $as1}lȗ_*Fg3ԉ|근0->a+G>3&X.~/~S:~-/+: X4_0$1XCc~qzy| Ǿ_>yWf6895_ocə 9{ 0[ ?؀c,̉v<)* ߬Pl q|x7SNUz%{|n;rVM'+XubX|Y# C")K-5ȃE18EώM(o5ȧ&VTc,k_QuvbN5rlx*d\#Eh Ns&VTc,{9}A-ԤҊirP[VMS|Y B_`SUZJWkzC1Y~ $}ZE9x3U?'.6q鯰7 s1:wZca!^,+jÝݴY11@@?'CPu ǦTRUP?@lJWD m{8߇5cLJ!ri&VTKWT%_cRV|[_6CsDdu!_~)_Dy,s/_~r,1?8Ye=>V^q4Y19 9sypݩ>at:ޣ9 1Y6sQ>Z}ExIp^N`%EP 5bZԖUuT_|TջRJs1A__}1hM^z%k~l>RE]v#cl |>RE@G?44)%& >}l ܨG%fL ؾ_ѨzKjRiŴTU9-mih릩 ,c!/w-_5Q[  >烾$}^ g-7z=ї/C7C.7D_%4&@5t 1 1}cC @} c۷O$G1/W]]fOC{K]?=QӇ+/KW*_T9~9 TdU(C1cpk:'yC'@M*KjRiŴTU9-mih릩 ,c!/w-_5QRb_a0aA__59l>Ɛ/D_WU BjF84?8·Rh4mlnŷe>4G\lLDx_'8RUX]1X0]M2%门_)R0XߏXC+G_8==>%֟꯼O \}Fa5kT ߬Pl q|x7x LcĖ9FcMOEꯘ@ ? םڙ9MȱJ=3^esQ>85;WǟTZQ?pg^RPJ+AmiK[E[7MUe ~MWk*_4*@T[5tP$;{,1y,?|j믨 ub!d>IWԁͅ|.ͅbd.XH'-y| +J1P'6%V[u6;//TUNWO#T꯺SUR(_yIR?_טT֗ $as1}lȗ_JW=cuE`t5Q˜ Ɨ_~=K}oOa}|?NVcY?;}xX>93s!|fSUz~N;7|B91m\"62mhL1`.72͎"[ƲOpW7=MaLbCs5p\^(\wjg.4OX#Ǧ+hxBhLE>\`+?G_jRiE5r={IBM**-mm4Ub,6_Tu>Zj/A~a_:;O[4s;;ieŅƒORmoj-nò nk ݑCGܰOL5?ORm񁏛x}ֹj {F8;;?Fc-Ƶne_j^߸Ώsboۯ׶=!qݒu31%V[E{,PK<r6a5%¸AE-?Jw-y+>|~JWZIߍB5GP?@lJWD m{8߇5cLJ!ri&VTKWT%_cRV|[_6CsDdu!_~)_Dy,s/_~r,1?8Ye=>V^q4Y19 9sypݩ>at:ޣ9 1Y6sQ>Z}ExIp^N`%EP 5bZԖUuT_|Tջq_]q&M*ٓ+\`F!&!\%WI P=j6ݞ5Ou,=⮻ B  %ٴ_um[[Uu$'0Kȑ8#G|̙_unqk([ouIq+iS_]]rxsp闤Zkg(qꦛnr7xÇw{5K 6˸|~0qz+9ղM=Xb 2.l. Rke_ 0 7`<裮͍7j" g<~B? Mua۹ڵ :|,1>a믏U滶3ʪ/SrkgUuWnk]1\s5fKᶛD/gY4 _-xalT?ogJ3|;i$GL5רZɏ]4&Ų':uu', f (ޱj{M׿m0fI[=qW;1l0l#nٸnWF>YUɎ=IUnYUSG'bמʈ|jb=Sf7{253vk!_+E1%.={פ=_n^z=VSE.Il_~k=W[Xl ֈ_ZOg+?;ح׾?e~qmk^5վo U5WZkns$/;W7ˍviոnwS-z]&m_uiΚ#ܘe3r'ws:74>zN\~b۶5!v,}EAHs5ZOy&kS~]d8s?{!9n{T7{m3yg~VuBGV~N̚]kDsx{3.פ#:_1ڇI_a1|auGGz 1F?_u5͵qG3u,6lV}XƘ':93o: C?VceIz_T=f=gqڗkZey<<;BR15쭎h}9rn\Kqy9sqX3cc+Bg4[ok\4r@}0.XGmk0]MԏenǕ_~9?ͷqQ{ Pq"_9fY_ U=^b3??|omj _\$IX( Kq9WלvnfrfcD9Qld|7SNU:b{ƨvrꯒ!h\!aɂ<+ۋr[.!$86i TZQOI '!>?Ǧ+hxBhLE>\`+?G_jRiE5r={IBM**-mm4Ub,6_}W7|Y5/-y __PQ 7cnh?XHblrIUR5X:aT*W~q q>KRz\>w8_ ٳ310iV3>K!VS.ɰ.BE魠Qlh^X},O\` VB>a~.LqWPh1y|l !ri&VTI,}zX%as|=q(WB2Y=}-o6,>jRiڿ_a+'?d۸_Gj ե ~kWu;vOT߾7Wg\ iP?:AB}V{||kVހ_fbyms ƥZ#~l(׿fc|> W?>w}>־7|>8‡/je~௫j:VcHͯյs\3疟$;= Z>_msuooszEVl^ tW { krnlTgl͍+7/%6ܼ`}=fCld|ߓs?_?q_Fb_L||yZ+7m4X#S \kj7IW-u_;ݧ羮ɥekji!&/i0Y[mhLdA۳~jo?+SmiiJ@,\}]?;Itׯ7gVx&!(?_Iwnv_ٮ٧0}ZVܰ-6lؘE]]g\|%nukd՟>"a{_s4C޵}&We۾#Ɲ~ݬJ<~zk_u /ͣc|ѓ]s4C=(7ޭڠ{FҠ|}^.nu5kUW\q.GIhMըZk_oؘ>R&i0K\/j_v_z꯱tj^2=҅P\7ZXws1''gy놞7~A?e`Ok \>ژ9n n˱K~4_<_5V+Bjbe~]߹J` .*/D}gW\1[|(<>h\!|-p %^#JX+mn1ozRU:_CUi:vD7q q>KRiqG;1ࣳ8!%MB+¾v,$U;Wa1>6B+42hm0M<>sŌK5Wԇ^ K ;a4ǧV+DznR;m|K>cBScM 㰹<6 TP+?ΨrKy._+TW]qJWZ*_ɪ.Q`pr}(4<>6Qސo94PJ++~1u/EHW8oFaI5||=3$ yY4L /+qTk)ךzRZ*@,RUz}JZ!JW^T*GEka-ŜkT)T+ TEJ[[7MUe ~MWk*_J.Q$_ꐶӇM$䪩 **|l6Uw?bLjcQ/C5WN ӏ 1 1}7S'b B𩁚8,?Xb8RnRV諂8_B-_ TdU(Cq{8dn>GGL(oȷDIR?_ט}뗢SU+Q~iXڰ$ lՄ,&RUwRV8_AkMf=kLw *jHT%-ϐz]+I*BvbN΁5zS]RU\*Bw^"_׭*@[޵TGUj W;E16@TZUGiYO];&ͥ|U=Rc4ZR -i9;.F_ uK1c |ca-D5W@?;(Xsm>8&_<ԟRjlSUJC%ɜMW HVu2KsHsDqq,̏|qO9TZQ-_yS|ٷ~)=_@y65 [NœQ&1]Mˢa2_0>~)_u'_aS+_KAn֓꯼tWb"VMW 7UR)T?(j^ n9`.X7+OZUߨ~KEh.+\uT_|Tջv믮*͓VL遺;3Yű/$*vlZÏ&:֦*MqM-aʁ?QO'Z?Qti+_qfC҇|,'37_}W['i[mm'߬b0?+d*G/ISfտh>~NEdma{sc+x:Y,]J~g w*diXCs|~?:g}G:ߨw~R~u1lw#r_VY?ڤ7߾Ru[` |G1?HZޯsu~ʍ~Bd r"Xflc~Kɿsc~(G1vatWE]b]:Y:G3X5ߜjk/r/<ͣϹG?_8=қwp׿87Q.IǤ/VUeԺy ?_7}bh֮aֻ~s_yƀ[oY4o jrKVy80?ːo9zIz:k_Cw1{:ɌXrjuV_ݣշLcX`<o/?&VT۷h5y 1}~CMzNXaN|OX`|>U~6u,'y_~P[3FB?g:Pq + vw4c n13]J{j^mNi 3߬=m5|l6B6$ņ9ȧ_*Ԭ~=K}oOyc;ݧ߳T/ghtߺK:jx||K(Z҅#XFO]߯9J}c3$抉rl_j{4?:m^=g'ߎﭭrX a6PJ3z_)!j[> u{=:NOqYP`1hEOB׾?m?yלGZ!׹^jŷ6[t"s_3*˹O1g6v_WoOi˂ zz_jehЊxѼ\cV_7vٻ`~Ǐ0=M= 5ƲxEY7X T'[5&&!(o5ȧ&VTc,k}ahCn^^:v~IOϱ= 5r6ێe[+yꑍVl0bPIU1cO62ќZko"-Kq}Ĺ(5;= 5r j&VTc,ǜڡ}IxIp^N`%EP 5beňj qvw4R~c޶s}飻NX>!wm8}hl^r'WOj۳e qټ'~q:[\sBvG4m՚^WuM]Y&8ܙC-zqO;:6_Y@SW/NVM:8slcRF׹e;Ѿڝ=XV5VSOѩw{z}fj|VitUc;:6z }px;wr3|Wיêk;yg^?j^>8MAxSΡ{;zT{c{;V+f͋݇'79dY-V={iشh۽aӦ՝lg;p\%z=Ξ:}=~SOز\MqrXN5-;UfVm^b} m}{^;ih9q8׵ul[vPmgu׾96wP}Ms.;kcC8߳iIۭUjѵ/f^۾5׾qsa{g΁MqǷ%ӻTrVk_y9::gt^4ySG~>>:u@ȹ9vVگV_g>gZgԹfHgໃ%3\c{ѹ;;KfN֯b6`Gl5]bIY?Դح[1bާgKc]]H3&lV>1@s?#7ESЎUE=uŬs8{;ՋMo(n;m[fS_]^,̧~]b]njiㇵ7Ι6skP5.=X{g{Tfs(aiԢ ]hz\woq{&o֠Wʹw3zӟù;b{6{vwWi'ǻ׺msZ׸;X;|_yS5nrFu{w<퍗mozwI uy+usǵ'TA}g:)}@?suI6﹓t\&ΩfoQ+5s:lvyׅ up |AY=ן=ϑڣJm۲泇Z,}pt;_ճ;t*L{ sGZy:o^O/ijYn5{;ǭnퟳڱmVˣR䨟> 9 w6snsP;м\;OeE [{7$?޲߱ӺgF|,1>U ~6Ըe=þs?9ۥr[u>[T3tϦ~vz|_ݎwDڷ{K{}Nם swW׿4C<`cC?תY^gH=]sR~'t]Wgcbj 0FVq,5ާKdCK-ޞu:_ WV Bq^hI/q>]\ߟKʗϗ }#߶/T5'ɶxWi=ԯy+ͶTKoY23M`y+t\~~[W9 ,'}>19Y>ӹտ{ΝscZ|XYϓW.<9j㼨ώIoZT)]47(Xy?|c͂ |{f_ pFsW5Wl6rјBZ\i=4%5toޫ0Cus>:ֲDߍE|vs[-}7\)u-mi\wp-file-manager/lib/img/src/icons-big.svg000064400000205207151202472330014230 0ustar00 image/svg+xml wp-file-manager/lib/img/src/icons-big.xcf000064400000440753151202472330014220 0ustar00gimp xcf file0xxF~LRX&^,d2BBA exif-dataExifMM*bj(1r2i ' 'Adobe Photoshop CS5 Macintosh2011:04:22 18:30:18021001000gimp-image-grid(style solid) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 10.000000) (yspacing 10.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches) gimp-metadatalGIMP_XMP_1 Adobe Photoshop CS5 Macintosh 2010-09-19T17:17:49+04:00 2011-04-22T18:30:18+04:00 2011-04-22T18:30:18+04:00 application/vnd.adobe.photoshop xmp.iid:FD7F117407206811B1BA95E37140A3C2 xmp.did:01801174072068119109C4A19543BAD1 3 sRGB IEC61966-2.1 xmp.did:F77F117407206811B1BA95E37140A3C2 icc-profile H HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmw&:;I]drDYH)9<Qcv+ʀ U/h&0text      F"$&08&0H ÿͯ ˺ ƹ ´ ƴ^ óƺgͨÙξgžĿ^û^ˤˣ𤢢 ¹½c—þqúĿqûſț暘ٿ¾𖗘ƽþƗƗ ¼¾Ĕђ¿ 񿽽‘Ñ  򽼘ÿ  꼽  %       ^ ܴ֩ة^^򾺶Ƿȴօ㼻ಭՙɼq ӭ෵Юѹ嵴崲컶 ʲժݼ ެߺݹ ݹ޸޸ ู ḷḷ෷ ੨෷ ߷߷ߨߨ෷ ߷߷ ߷߷%              %""#%'$     rG"  !!"#'DHHLHKHHD..0image      &.0&.0' ͯ ˺ ƹŲĿþĿŽļu Žu޽uƿþuĿuſuƿvƽº ¼ þ¾£¿¢¿  àŸ򜜝򶧭񢣤񴧭ؿ響̯zﱧeεԭ~NlxƦýս됡\뫦߾Ŭ߯骦ڼ蝽=ym˓試rOKԔ姦ۺƦЁz}~䥦ۼƧilpx}oim}⤥޶i ckafih{ou{ࣥܵc:u«yf[Y]d{ut`_ޢݴba[H9@ETn_STofglpmܡڻ\;;9<;?HO\Viha^qvlW}۠ ߺYGFBqhILQXQr~e~^ؠ  @ μͻ wͻ wϽ wпww ýwzɰϵźǼ ½Įϳ׵㿿㽽㽽ĿŪ ɶỻ˵⹹f̛ڿԵ Ki~ѵɭս멱ZḸ߲ͺ>ym̝෷pNIӢ෷ҭύ ߷ťņ{߷ ahv෷}5¯vXiޢ߷zoUFDA\gbtܡ߷xHA5HR>EJ`gzۡ ߷pPMBJHMUk٠ ߷ @   ﵵ G::G::G::::: l㿿/D㿿n4[-⽽{ܡyTw͸ m~rLXCcïfmD0q ḸhFuԷal12=ᶶ{Y׳Wז[qc[]\ ᵵz虿ԙvx;ᴴ]ȯ9EDA>25(PbeG ᳳ!kĥky9 ᱱ#>WĢ0Dk?ޢᱱ#*3,>NEP>ܡ ᮮ#47=,!CR[T7۠ ᮮ2<=A !FU]d)' "!"##!!ٟ ᭭ @rG "     !"#$%% %%%%%%++++++++++++++++++++*@2@AABCE@@20# folder_open     l<0#<0#<s s}}~}|m}}~}|m¾ٌ~}|m ~}|m ~}|mmHm_T& mm[~{& mm]}xuR mm_}pmjimmk}Ʊ|}~~}~}}ƒ~{{z{~s~xx|vuvvxv|~tsstsy|~qqpqqx||~llnn|v|||deikz{{B|]`doshhzY[_|xhhzVW]ryyzUTy}uyyzTT~sxxzTjy~~y{rxxzSyw}}xzrvvz`qy||{tzohhzȗwn{{vrshh{{oityyz{zpykttzz{httqrtpttvztkjjkklmnopqxmqql}qwy{{olIj!ji6 櫨ÿ ıÿ ϲ̽հ̼ਢ_x˻(#t˸(#s˴q#ɫɨ΍ȥОȣÿụǟ;﫣ѦǜĽƙνﯠƖŹŒλﱛ٤ŊƶjĂ̹}ȱ{{ùyxƭxwxwΆڽa!(6   ̠}ԿӶ ߻!:6  % `* "#*#i#i#k#| *+**)$))Z((''&&%M%%$$###e$Q!0 $99:;;=99=;;:99$&./js     J[./Jo./Jͯ ˺ ƹŲ ĿþぁĿ~~󐽳 |||||퐼u{z{z{{{z{zz{z{u{z{z{{{zz{zz{z{½uxyxxxxx푿þuww wxĿu vuv vzſuv ƿvvv{uuy~|uromkkmqƽvvºosvv¼nnvvþikvvń¾novńꃂ~{zxÄ¿zy|„Äà„Ÿ    ÿ    񾻽    %.ppppopopoppoppopoopo mm mijiijijiijifffffdcddddddcddμa``aaa``aa`ͻ w_^_^___~^_^^_^_ͻ w_^_^___^^_^^_^_Ͻ w\]\\\{\\пw[{[ [\w ZYZ ZdýwZ杞zZZ󼹹ꐟϵZZ֪ZZźZZǼ􄰴ZZ½ĮZꢡɕϝϳΗ׵㽽 ỻ ⹹   Ḹ Ḹ ߣ߷ҩҪߪ߷ҩ  ߷߷ ߷߷%.  ﵵぁ~~ |||||G::{z{z{{{z{zz{z{G::{z{z{{{zz{zz{z{G::xyxxxxx::ww wx: vuv vvvvʯ갽vvȿȯvv˨ʨvṿɦvvתӪv꿾嵴         ſ  %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2.0zip     ^.0^$.0^4ͯ ˺ ƹŲ ĿþĿ񘘗󐽳퐼u𕔕ꕔu𧒒퐽½u쒑þu 쒑Ŀu 쒐ſu ƿvƽº ¼ þĐ¾¿¿  àŸșəٔșᨬǙߴƙݴřߴÙ򼽽Ùߵݷ޷˿𶻗ݸʾݸɼܹȻ񻺺ܹǺ ϔϔǹ  ŷ@qqqqpqpqpqqpqqpqppqp nn njkjjkjkjjkjgggggdcdddddcddμa``aaa`a``aa`ͻ w_^_}_^__^__^^_^_ͻ w\]{{\\\{\\Ͻ w[\[[[\пw YXYYYcw YXY YcýwY杞zYYɰϵYYYYźYYǼYY ½Įllϳll׵ll㿿lll㽽ll㽽llkwk j~z~}}|{yy~~jỻii~j~~j~i⹹hh||LQQT||h gUcc[uuge~UsssscssfḸee}}UjrqeḸcc||Unnoobppc෷aa{yUmooa෷``xxW{{{jll` ߷^^xxW{||}}lkk_߷^^wvXggilliiaji^෷\\uuXxyyzӃ{{nhh\߷[[ssXqqŕrriggZ߷ZZrqXllllffeZ ߷YYqjqqjfY ߷XXllkjihhggfeedaaW WWmkmjihhggfeedcac``WUVWVUVVUWVVUUVUWUWVUVVU?  ﵵG::G::G:::: : †† 666666666666a66X=55XX`44C@FHFFDCBA@?FCC444CQCCQC422BBJ##$JBB41DI%//)I==2 0CI%;;;;/I;;00BI%FFF4I::/ //AAJ%8888/J99/..@@I%FFFF6I88. -->>H&AAAA5H66-,,>>H&AAAA5H66- ++>>H&1148ϼ844.H55+ ))==G&>>@KLAA7G44)((;;G&::QQ::4G22( ((::F&66^^661F11( '':Q:XX:Q1' ''6654210//' &&:6:55442210/.2..&%&%%&%%&%%&%&&%?    !"r#G$"% &&%&"#$%% %%%%%%8'8()+++++++++++++++++*@2@AABCE@@2./xml     sM./sa./sq~ͯ~ ˺~ ƹ~}~}~}~~}~~}~}}~}Ų{{{ĻwxwwxwxwwxxxwwþttttttĿrrύrrrr󋽶onnooooononooonuonnooooononooonumlߟmmmmllllmlm½ujއjjjjkjjjj틿þuij ijĿu hgh hmſuh ƿvhhƽhhºvhh ¼hh øjhh™zhž~ij±tt{q‘q÷qu¨|qàq|qŸ|qvq 䶑qvqqqvq q|vqÿ 񾻽  %.~~~~}~}~}~~}~~}~}}~}{{{wxwwxwxwwxxxwwttttttrrύrrrrĻonnooooononooonõ wonnooooononooonĮ wmlߟmmmmllllmlmŬ wjއjjjjkjjjjǰwij ijɴw hgh hpʽwh棤zhh̰ϵhhظhhښhhhh ᳑½ĮhᕶϳѠωՊ׵צʙ׬݌ēܲ쾘㾓ⓇЍ㽽֫Ї׫ܱ⫫ܫܫ܍⾇ỻ֥ᾙ⹹ ə  ḸḸ ߷߷ ߷߷ ߷߷%.~~ ~~}~}~}~~}~~}~}}~}{{{ﵵwxwwxwxwwxxxwwttttttrrύrrrronnooooononooonG::onnooooononooonG::mlߟmmmmllllmlmG::jއjjjjkjjjj::ij ij: hgh hshhhhhѦhh ﱷhhhhǦh럨캛߮ڧƛӭӧ桛ƛӛӮ ߮   %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2 php       w w"ww"wwDw"fw""fww"ww""""" Layer 2     F Z j|z{z{xyxwwmijiifd`aa^_^_\]\[[|z{z{xyxww, Layer 1      |  |z{z{xyxwwmijiifd`aa^_^_\]\[[|z{z{xyxww,./pl #1     ././ͯ ˺ ƹŲĿþ Ŀ~󐽳 ||||||퐼u{z{z{{{zz{zz{z{u{z{z{zz{zz{z{½uxyxxxyyxxx푿þuwxw wxĿu vuv vzſuv ƿvvv{uuy~|uromkkmqƽvvºosvv¼nnvvþikvvń¾novńꃂ~{zxÄ¿zy|„Äà„Ÿ    ÿ    񾻽    %.ppppopopoppoppopoopommmijiijijiijjji ffffdcdddddddμa``aaa`a`aa`ͻ w_^_^___^^_^^_^_ͻ w_^_^_^^_^^_^_Ͻ w\]\\\]]\\\пw[\[ [\w ZYZ ZdýwZ杞zZZ󼹹ꐟϵZZ֪ZZźZZǼ􄰴ZZ½ĮZꢡɕϝϳΗ׵㽽 ỻ ⹹   Ḹ Ḹ ߣ߷ҩҪߪ߷ҩ  ߷߷ ߷߷%. ﵵ ~ ||||||G::{z{z{{{zz{zz{z{G::{z{z{zz{zz{z{G::xyxxxyyxxx::wxw wx: vuv vvvvʯ갽vvȿȯvv˨ʨvṿɦvvתӪv꿾嵴         ſ  %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2./c++     q././ͯ ˺ ƹŲĿþᇁĿ~~󐽳|||||퐼u{z{zz{z{{{z{z{zz{z{u{z{zzz{{{z{z{zz{z{½uxy~xxy x푿þuwx wxĿu vuv vzſuv ƿvvv{uuy~|uromkkmqƽvvºosvv¼nnvvþikvvń¾novńꃂ~{zxÄ¿zy|„Äà„Ÿ    ÿ    񾻽    %.ppppopopoppoppopoopomijiijijiijifmmffffgffffddcdddddcddddμa``aaaa`a`ͻ w_^_^^_^___^_^_^^_^_ͻ w_^_^^^___^_^_^^_^_Ͻ w\]ed\\] \пw[\ [\w ZYZ ZdýwZ杞zZZ󼹹ꐟϵZZ֪ZZźZZǼ􄰴ZZ½ĮZꢡɕϝϳΗ׵㽽 ỻ ⹹   Ḹ Ḹ ߣ߷ҩҪߪ߷ҩ  ߷߷ ߷߷%. ﵵᇁ~~|||||G::{z{zz{z{{{z{z{zz{z{G::{z{zzz{{{z{z{zz{z{G::xy~xxy x::wx wx: vuv vvvvʯ갽vvȿȯvv˨ʨvṿɦvvתӪv꿾嵴         ſ  %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2./sh     S4./H./Xͯ ˺ ƹŲ Ŀþ♁Ŀ~~󐽳|||||||퐼u{z{z{{z{{zz{z{u{z{z{{{z{{zz{z{½uxyxxxyxxxx푿þuwx wxĿu vuv vzſuv ƿvvv{uuy~|uromkkmqƽvvºosvv¼nnvvþikvvń¾novńꃂ~{zxÄ¿zy|„Äà„Ÿ    ÿ    񾻽    %.ppppopopoppoppopoopo mm mijiijijiijjiff܃ffdcۂddddcddμa``aaa`a``aa`ͻ w_^_^~__^__^^_^_ͻ w_^_^_}__^__^^_^_Ͻ w\]\\\]\\\\пw[\ [\w ZYZ ZdýwZ杞zZZ󼹹ꐟϵZZ֪ZZźZZǼ􄰴ZZ½ĮZꢡɕϝϳΗ׵㽽 ỻ ⹹   Ḹ Ḹ ߣ߷ҩҪߪ߷ҩ  ߷߷ ߷߷%.  ﵵ♁~~|||||||G::{z{z{{z{{zz{z{G::{z{z{{{z{{zz{z{G::xyxxxyxxxx::wx wx: vuv vvvvʯ갽vvȿȯvv˨ʨvṿɦvvתӪv꿾嵴         ſ  %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2./rb     !././(ͯ ˺ ƹŲ Ŀþ⚁Ŀ~󐽳|||||||퐼u{z{z{z{{{zz{zz{z{u{z{z{z{zz{zz{z{½uxyxxxxx푿þuwx wxĿu vuv vzſuv ƿvvv{uuy~|uromkkmqƽvvºosvv¼nnvvþikvvń¾novńꃂ~{zxÄ¿zy|„Äà„Ÿ    ÿ    񾻽    %.ppppopopoppoppopoopo mm mijiijijiijjiff܄ffdcۂdۂdddμa``aaaaaa`aa`ͻ w_^_^_^___^^_^^_^_ͻ w_^_^_^_~^^_^^_^_Ͻ w\]\\\|{\\пw[\ [\w ZYZ ZdýwZ杞zZZ󼹹ꐟϵZZ֪ZZźZZǼ􄰴ZZ½ĮZꢡɕϝϳΗ׵㽽 ỻ ⹹   Ḹ Ḹ ߣ߷ҩҪߪ߷ҩ  ߷߷ ߷߷%.  ﵵ⚁~|||||||G::{z{z{z{{{zz{zz{z{G::{z{z{z{zz{zz{z{G::xyxxxxx::wx wx: vuv vvvvʯ갽vvȿȯvv˨ʨvṿɦvvתӪv꿾嵴         ſ  %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2./py     ././ͯ ˺ ƹŲĿþĿ~~󐽳|||||||퐼u{z{z{z{{{{zz{z{u{z{z{{{zz{z{½uxyxxxyxxx푿þuwxxwwwwxĿu vuv vzſuv ƿvvv{uuy~|uromkkmqƽvvºosvv¼nnvvþikvvń¾novńꃂ~{zxÄ¿zy|„Äà„Ÿ    ÿ    񾻽    %.ppppopopoppoppopoopomijiijijiijiffgfffdcdddcddμa``aaaaa`aa`ͻ w_^_^_^____^^_^_ͻ w_^_^___^^_^_Ͻ w\]\\\]\\\пw[\\[[[[\w ZYZ ZdýwZ杞zZZ󼹹ꐟϵZZ֪ZZźZZǼ􄰴ZZ½ĮZꢡɕϝϳΗ׵㽽 ỻ ⹹   Ḹ Ḹ ߣ߷ҩҪߪ߷ҩ  ߷߷ ߷߷%. ﵵ~~|||||||G::{z{z{z{{{{zz{z{G::{z{z{{{zz{z{G::xyxxxyxxx::wxxwwwwx: vuv vvvvʯ갽vvȿȯvv˨ʨvṿɦvvתӪv꿾嵴         ſ  %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2./pl     ././ͯ ˺ ƹŲĿþ Ŀ~󐽳 ||||||퐼u{z{z{{{zz{zz{z{u{z{z{zz{zz{z{½uxyxxxyyxxx푿þuwxw wxĿu vuv vzſuv ƿvvv{uuy~|uromkkmqƽvvºosvv¼nnvvþikvvń¾novńꃂ~{zxÄ¿zy|„Äà„Ÿ    ÿ    񾻽    %.ppppopopoppoppopoopommmijiijijiijjji ffffdcdddddddμa``aaa`a`aa`ͻ w_^_^___^^_^^_^_ͻ w_^_^_^^_^^_^_Ͻ w\]\\\]]\\\пw[\[ [\w ZYZ ZdýwZ杞zZZ󼹹ꐟϵZZ֪ZZźZZǼ􄰴ZZ½ĮZꢡɕϝϳΗ׵㽽 ỻ ⹹   Ḹ Ḹ ߣ߷ҩҪߪ߷ҩ  ߷߷ ߷߷%. ﵵ ~ ||||||G::{z{z{{{zz{zz{z{G::{z{z{zz{zz{z{G::xyxxxyyxxx::wxw wx: vuv vvvvʯ갽vvȿȯvv˨ʨvṿɦvvתӪv꿾嵴         ſ  %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2./css     Y`./t./~ͯ~ ˺~ ƹ~}~}~}~~}~~}~}}~}Ų{ĻwxwwxwxwwxwþtߏtttߏttĿrrrrrrrrrrr󋽶onnooooonoonuonnoooonnoދoonumlmmmmmllmlmlm½uj݇j݇jjj틿þuij ijĿu hgh hmſuh ƿvhhƽhhºvhh ¼hh øjhh™zhž~ij±tt{q‘q÷qu¨|qàq|qŸ|qvq 䶑qvqqqvq q|vqÿ 񾻽  %.~~~~}~}~}~~}~~}~}}~}{wxwwxwxwwxwtߏtttߏttrrrrrrrrrrrĻonnooooonoonõ wonnoooonnoދoonĮ wmlmmmmmllmlmlmŬ wj݇j݇jjjǰwij ijɴw hgh hpʽwh棤zhh̰ϵhhظhhښhhhh ᳑½ĮhᕶϳѠωՊ׵צʙ׬݌ēܲ쾘㾓ⓇЍ㽽֫Ї׫ܱ⫫ܫܫ܍⾇ỻ֥ᾙ⹹ ə  ḸḸ ߷߷ ߷߷ ߷߷%.~~ ~~}~}~}~~}~~}~}}~}{ﵵwxwwxwxwwxwtߏtttߏttrrrrrrrrrrronnooooonoonG::onnoooonnoދoonG::mlmmmmmllmlmlmG::j݇j݇jjj::ij ij: hgh hshhhhhѦhh ﱷhhhhǦh럨캛߮ڧƛӭӧ桛ƛӛӮ ߮   %.    !"r#G$"% &&'&"#$%% %%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@20/html     '0/ 0/ͯ ˺ ƹŲĿþĿ󋽳튼u틽u틽½u~~~~~~~~~~~~fþu}hxĿu}mſu}od{oxqqrpƿv}}|xi{|tqqhqƽ}}ࠌuoltrsh{}}߷㺙x|rppe}}ߌ¿آwvpnjm}}޺լ}ZZeese}}ܞѳssx}}Êu}ѷyw}ㄌ̹ϼv ‚ĴʺtàރȹŷsŸr ނyz} 󈊋{ÿsv {}w􅜇x l艆}{|~wl~|zyvv|} ߾tq|{yyz}kv mq}ylm 廥{nojjlo|  ﺶ   %0μ˽˽ͻ wͻ wϽ w퀢w탧w퉴w؝zϵ­פϴ䰼¾㻪ڪզ|~Į©ȶϳ䮵̷׵ਮÿ 㦳˾ÿ ⦷ź¿ 㣷ǽ㽽ަý⼼൷⻻Ϥ򮭹ỻ☱񭬶⹹򮬪 ﭬ ѐ譪ḸᾐḸ仗 ݼ ı߷ ҿ߷ ǿ ߷ ߷ ߷ ߷%0 ﵵEEEEDDDDG::G::G:::::عsоZG@FZͰU?Jq`Մ^?;;TGû{@=89VF8FEMewuI?:8N>kڔ98R8H_wBIDiP4@ABP~Ve05:=AEe [.26:=@BKt{/36:>ABB 248ABD䄯gBBQ CBlCA cBQ MA ?o b        %0 ! " #$r%G&"' (()* " #$%% % % % % % % % % % % % % % % % % % % % % % % % % %!$*2@AABCE@@2(/office     )(/)(/* ͯ ˺ ƹŲĿþĿŽļu Žu޽uƿþuĿuſuƿvƽº{wrqnu¼~yzvtmnþ~zzlĤ¾rģ¿|ٳ¿~Æ»àŸÿᄑ $( μͻ wͻ wϽ wпww钑ýw揗ܑz搝⑎ɯϵ⏎ث⏎ڢ咜Ꮞۣļ½Į䐗ɱϳ䑐㛖ޫά׵⏏䭭ذ㽽ỻ⹹ḸḸ ߷߷ ߷߷ ߷߷$(   ﵵ G::G::G::::$*,,+()(+:$*//.+*)*-$8+)'G)%,G$%,F$$,E$$+B'8*'=EEBBA9&'('$$$%S+&20&%&5 ' +) Ib`^`H-+   $(     rG"  !"##$$ $%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@20/pdf     =N0/=b0/=rͯ ˺ ƹŲإĿþĿՋҊuҋu틽½uЋþuϋĿu ȋſu̓ 鎌ƿv͍椣Ļƽ̧ʺ ͼ;ɾſ͢¿͠ ¿ ÿϿ̿便ӿ о󾽽ҽӽ ƾü ʼ Ѽ Ӿ ɻ κ Ϻ ò %0xxxxwvvwvvwv vwvwwsssssnonoonnonnonnoonnnnnonnjkjjjjjgfggggfggfgggghgμbbbbbbcbbcbbͻ wbbbbbbcbbcbbͻ w_^___^^____^_^_^Ͻ w\]]\[]\]\\]\\\\]\\пw[YZYZ[[Z[[Z[[Z[[ZwYXYXYXYYiýwYXYXYXY棤zYYXYXYXloɰϵYYXYXY y~YYXYX~źYYXY}ǼYYX {½ĮYYxyϳYYwzԵYwԵ wyصwwٵxvԱ肃wײwwٲ|vٳxw޵x߁v߷yͫ~vvz෷yۮwvvwyxvxzḸwvw}vw}~{Ḹ{vyҧ} ߝyw {z| ߷ ߷v}x߷ vyw yvx ߷ vy ߷ }߷ ߷%0(hh(hh (hh(hh&'&''&'&''&'&'&'&&'&''$$$$$ﵵ     G::G::G::      :: :    ,    IG YDN  KOoz KQ` WGO kBE @E @O@DA@ D@iTUaAAA]_Iy@CrOAlDR@S EeכN@@FPifD]B@@BEC@DosGU BUYAALvTABMUNI H@Dd^MV EB HHKU  @LnD @EC F@Dg  @WEd OT %0  ! " #$r%G&"' (()( " #$%%% %% % % % % % % % % % % % % % % % % % % % % % %!$*2@AABCE@@20/rtf      R0/R0/Rͯ ˺ ƹŲ  |||||ĿþyyyĿvvvvvvv󋽳sߎssssssruppppppp틽uppppppp틽½uoooooorþuoĿuosſuorrsrqƿvooƽooºoo ¼oo þoo¾oo¿oo ¼o   àŸ  ÿ           %0  궥韟μ诜튱 wͻ wϽ w튴ww웡ýw؛zɰϵ嵵źǼ ½Įϳ 􊉇׵  㮮 㽽   ỻ⹹  ḸḸࢡ   ߷ ߸ ߷   ߷ ߷ ߷ ߷%0  ﵵ G::G::G:::::ߴ i ihgfeefgg        >      T T7    %0  ! " #$r%G&"' (()( " #$%% % % % % % % % % % % % % % % % % % % % % % % % % %!$*2@AABCE@@20/txt      dV0/dj0/dzͯ ˺ ƹŲ|||||ĿþyyyyyyĿvvvߐܐvvvrsssϣssss튼upppΡpppp틽upppދދpppr½uooooooo틿þuoĿuoprſuo ƿvooƽooǗǗꖔzyvvwyz}~oo ¼oo þooœŔ|zz{|}oo¿oo¿oÐ àŸ   ÿ           %0󴢢򟟱江󉱪񜜯ݾͻ wݽͻ w񚚭筚퉲 w񬙙пww엉w棤zɰϵ嵶اźǼ峲Įϳ׵䯮   򫬬⫫⫬㽽   ⩨ỻ⹹ ᥦ ḸḸᢢࡢ   ߷ ߠߠ߷   ߷ ߷ ߷ ߷%0 ﵵG::G::G:::::ܟĽ ½ӵ                %0  ! " #$r%G&"' (()( " #$%% % % % % % % % % % % % % % % % % % % % % % % % % %!$*2@AABCE@@200video     _ v00v00vͯ ˺ ƹ  Ų  Ŀþ Ŀ Ž ļu Žu ޽u ƿþu Ŀuſuƿvƽº ¼ þ¾¿ ¿==VV V= <VFHHGHHGHHIV<à;;TST T;Ÿ;;TSTTST;:SRR RS:99SRR R9 8OPP888OOPPOO8 7NMN NMN76NMM M6򽾘44JIKK433JIIL LIJ3 33HH H31HFF100DDEE0󼻻..DDC񊉉CDD.--BBBB- --BBAA-++>>??+**>>>*))==}~}~}~}}~==)))==;> >;)''!!:~ ~:'! k!&I         μ ͻ w ͻ w Ͻ w пw w ýwzɰϵźǼ ½Į ϳ ׵EEii iE㿿DDiihXVWWXhDCef fC㽽AAeeeeA㽽@@cccc@?cbb?>^``>ỻ==^^^=⹹<<\\]]\\< :\ZZ:9WXX9Ḹ88WW ZW8Ḹ77UU U7෷66UURR6෷44MNPP4 ߷22MNN겳NNM2߷11KLLLK1෷//KLII/߷..EEHH.߷,,EEE,߷++BCB򧨨BCB+߷**BCAD DA*))""? ?)" "'I       ﵵ    G:: G:: G:: :: :™™  ڙ FFjj jFDDjjiSPQQPQPPRiDCCffh hCCCffffCAAedeedeA@@edcc@>>__aa>==___=<<\]]]\<:\]ZZ:9WXX98W [W877UU U766UUSS655NOQ Q5 33NONNON311LLLL1//LLJJ/..EEHH.--EE E-++DCCCD+**DCAD DA*((!!? ?(! !(IrG"    ! " #$%% % %--))--))--))--))--))--))*@2@AABCE@ @2,0audio     - ,0,0ͯ ˺ ƹŲĿþĿŽļu Žu޽uƿþuĿuſuƿvƽº ¼ þĤ¾ģpu¿p~¿px pàpxŸp{pp pšÿpx¥ pvvp{~|p{vw쿻p{v龻p{vp뽺p{|~ppvpp{u}ppvp~uutrpztuppv{zxzppt겉w~xsptutttəwzq亗r”wp䵺q{zrs{xuzpry~yra0ptrqrpX#0 μͻ wͻ wϽ wпww ýwzɰϵźǼ ½Įϳ׵⪹ӶΪͭ㽽йDZDzỻѬ˰⹹ѨƲ Ѭ ѬͪḸѬƺϸḸЬ־Ϳ෷Ьڹ෷媣Ϭڨ ߷媣άݦ߷窯Ǭ˪෷ê߯´߷Ц߷»֫߷­߷µǥ F2 F   ﵵ G::G::G::::: !=`1a);E99)6J-l56E>3#b90"Fl;.5:@t=,&%48:C`R*/I088N8(/Ɂ.5*A)&/Ъ,< #/C` !/BIU .$M9xF.$X% #-&.3BO #BDD0(FG"!DD8 ,& 2DDC +9 zCDD> ڎs  3 w   .P    r G "    !"#$%% %%%%%%%%%%%%%%%%%%B$$3&'((((*'H@@^J@@2J .0 application     {.0.0ͯ ˺ ƹŲĿþĿŽļu Žu޽uƿþuĿuſuƿvƽº ¼ þvv¾vv¿vv¿vv  vàvvŸvvvvvvvvBAA@??>==<<;:9vvvUeedccbaa`__^]]\[[GvvQb}{a`__^]]\[[ZYYXXDvvM_y}x]\[[ZZYYXWWVSKHH,v罾vvI\[v}uYXXWWVUTKC:66vvvFXt}srrUTSNC866v𼽽vvBU}qp}}QG=66vv?RQQnjb86 6v򺼗vv;ONNI=6 6v񼻻vv7LG=66vvv0<66vvv66vvv66v󻺺vv66v vv66v vvv vvvv@ μͻ wͻ wϽ wпww ýwzɰϵźǼ ½Įϳ׵㿿㽽㽽 HGGFFEDCCBBA@?ỻ\nmmllkkjihhggffeddccN⹹Xkihhgffeeddcbaa``J Tgeddcbbaa`__^ZROO1Pdca``__^]\RJ@<<"ḸL`䂁\[UI><<"ḸH]XNC<<"෷EZYXX}yo>< <"෷AVUUPC< <" ߷=SNC<<"߷5B<<"෷"<<"߷"<<"߷"<<" ߷"<<" ߷"" @   ﵵ G::G::G::::: ||||||||||||||||||||||HGGFEEDDCBA@@?|||\nnmllkjiihggfeedccM|||Xk!jiihggfeedcbba``J||Tgh!geedcbba``_^[SPP1| |Pece!da``_^^\SKA=="||L`c!baa]\\VJ?=="| ||H^!``!!YOD=="|||DZYY\XP?= ="| ||@WVVPD= ="|||??F N>?>> ?>x  ??>>w ?>>E >?`   %0  ! " #$r%G&"' (()( " #$%% % % % % % % % % % % % % % % % % % % % % % % % % %!$*2@AABCE@@2.0rar     #,.0@.0Pͯ ˺ ƹŲĿþ蚭Ŀ笘󐽳퐼u𔕔ꕔu撓퐽½u𑒒쒑þu 쒑Ŀu 쒐ſu ƿvƽº ¼ þĐ¾¿¿  àŸșəٔșᨬǙߴƙݴřߴÙ򼽽Ùߵݷ޷˿𶻗ݸʾݸɼܹȻ񻺺ܹǺ ϔϔǹ  ŷ@qqqqpqpqpqqpqqpqppqpnjkjjkjkjjkjgggghgggdۂdddcddμa``aaaa`aa`ͻ w_^_^_^____^^_^_ͻ w\]\\\\]\\\Ͻ w[[\\{[[[[\пw YXY Ycw YXY YcýwY杞zYYɰϵYYYYźYYǼYY ½Įllϳll׵ll㿿lll㽽ll㽽llkwk j~z~}}|{yy~~jỻii~j~~j~i⹹hh||LQQT||h gUcc[uuge~UsssscssfḸee}}UjrqeḸcc||Unnoobppc෷aa{yUmooa෷``xxW{{{jll` ߷^^xxW{||}}lkk_߷^^wvXggilliiaji^෷\\uuXxyyzӃ{{nhh\߷[[ssXqqŕrriggZ߷ZZrqXllllffeZ ߷YYqjqqjfY ߷XXllkjihhggfeedaaW WWmkmjihhggfeedcac``WUVWVUVVUWVVUUVUWUWVUVVU? ﵵ摦奏G::G::㈉G:::: : †† 666666666666a66X=55XX`44C@FHFFDCBA@?FCC444CQCCQC422BBJ##$JBB41DI%//)I==2 0CI%;;;;/I;;00BI%FFF4I::/ //AAJ%8888/J99/..@@I%FFFF6I88. -->>H&AAAA5H66-,,>>H&AAAA5H66- ++>>H&1148ϼ844.H55+ ))==G&>>@KLAA7G44)((;;G&::QQ::4G22( ((::F&66^^661F11( '':Q:XX:Q1' ''6654210//' &&:6:55442210/.2..&%&%%&%%&%%&%&&%?    !"r#G$"% &&%&"#$%% %%%%%%8'8()+++++++++++++++++*p@2@AABCE@@2.0tar_bz     ".0.0ͯ ˺ ƹŲ ĿþĿ瘘߬񘐽𩕕𩕕𩕐u敕𔕔𔔩𔕐u擒𒒓𧒒½u쒑þu 쒑Ŀu 쒐ſu ƿvƽº ¼ þĐ¾¿¿  àŸșəٔșᨬǙߴƙݴřߴÙ򼽽Ùߵݷ޷˿𶻗ݸʾݸɼܹȻ񻺺ܹǺ ϔϔǹ  ŷ@qqqqpqpqpqqpqqpqppqp nnnjkjjkjkjjkkjgggggggggddddcd΂dddddμa`aa`a`aaa`ͻ w_^__^___^_^^^}^_ͻ w\\]\\\\]\\\\{\\Ͻ w[{{\[[[[[\пw YXY Ycw YXY YcýwY杞zYYɰϵYYYYźYYǼYY ½Įllϳll׵ll㿿lll㽽ll㽽llkwk j~z~}}|{yy~~jỻii~j~~j~i⹹hh||LQQT||h gUcc[uuge~UsssscssfḸee}}UjrqeḸcc||Unnoobppc෷aa{yUmooa෷``xxW{{{jll` ߷^^xxW{||}}lkk_߷^^wvXggilliiaji^෷\\uuXxyyzӃ{{nhh\߷[[ssXqqŕrriggZ߷ZZrqXllllffeZ ߷YYqjqqjfY ߷XXllkjihhggfeedaaW WWmkmjihhggfeedcac``WUVWVUVVUWVVUUVUWUWVUVVU?  ﵵ叏ܥ줏G::䋋G::䉈G:::: : †† 666666666666a66X=55XX`44C@FHFFDCBA@?FCC444CQCCQC422BBJ##$JBB41DI%//)I==2 0CI%;;;;/I;;00BI%FFF4I::/ //AAJ%8888/J99/..@@I%FFFF6I88. -->>H&AAAA5H66-,,>>H&AAAA5H66- ++>>H&1148ϼ844.H55+ ))==G&>>@KLAA7G44)((;;G&::QQ::4G22( ((::F&66^^661F11( '':Q:XX:Q1' ''6654210//' &&:6:55442210/.2..&%&%%&%%&%%&%&&%?    !"r#G$"% &&%&"#$%% %%%%%%8'8()+++++++++++++++++*@2@AABCE@@2.0tar_gz     M!K.0_.0oͯ ˺ ƹŲĿþ蚭Ŀꘘ笘瘗񘐽𩕕敕u𕕔𩕕攕𔔩攕u擧𒒓撧½u쒑þu 썑Ŀu 쒐ſu ƿvƽº ¼ þĐ¾¿¿  àŸșəٔșᨬǙߴƙݴřߴÙ򼽽Ùߵݷ޷˿𶻗ݸʾݸɼܹȻ񻺺ܹǺ ϔϔǹ  ŷ@qqqqpqpqpqqpqqpqppqpnjkjjkjkjjkjgggggggddddcdۂddcdddμa`aa`a``aaaa`ͻ w_^__^_~__^_^^}^_ͻ w\\]{\\\]|{\{\{\Ͻ w[{{\[[[[\пw YXYYYXw YXY YcýwY杞zYYɰϵYYYYźYYǼYY ½Įllϳll׵ll㿿lll㽽ll㽽llkwk j~z~}}|{yy~~jỻii~j~~j~i⹹hh||LQQT||h gUcc[uuge~UsssscssfḸee}}UjrqeḸcc||Unnoobppc෷aa{yUmooa෷``xxW{{{jll` ߷^^xxW{||}}lkk_߷^^wvXggilliiaji^෷\\uuXxyyzӃ{{nhh\߷[[ssXqqŕrriggZ߷ZZrqXllllffeZ ߷YYqjqqjfY ߷XXllkjihhggfeedaaW WWmkmjihhggfeedcac``WUVWVUVVUWVVUUVUWUWVUVVU? ﵵ摦菏奏収䌌G::䊋䊋G::䉟㈟G:::: : †† 666666666666a66X=55XX`44C@FHFFDCBA@?FCC444CQCCQC422BBJ##$JBB41DI%//)I==2 0CI%;;;;/I;;00BI%FFF4I::/ //AAJ%8888/J99/..@@I%FFFF6I88. -->>H&AAAA5H66-,,>>H&AAAA5H66- ++>>H&1148ϼ844.H55+ ))==G&>>@KLAA7G44)((;;G&::QQ::4G22( ((::F&66^^661F11( '':Q:XX:Q1' ''6654210//' &&:6:55442210/.2..&%&%%&%%&%%&%&&%?    !"r#G$"% &&%&"#$%% %%%%%%8'8()+++++++++++++++++*@2@AABCE@@2)#folder_closed     : )# )# /s s}}~}|}}}~}|}p p~}|}¾ًy~}|} ꆅ~}|}e }eppS񼖀_e撑un~ti}!s`}rk} rx}p}~oƜ~~o~~n ~m~ }l~}l~}jz |iz {iz{hz {hz{gz~~~~~~~~zfzz~~}}~ ~}~~}~~zfzz}}|}}|}}|}}{f{{| |}||}||}||}}|}zezz||{|{|{{|{||{|{{yevkkjklmnopqxzel{!{oz\;j!jdW(  﫨櫞ÿ ıÿ ϲؽհp׼¦_}ջ򽼼~Ӹ󻺻zӻ!zҺ㻺к ϹΔ͸󹸸Ц˷ụɶѦȶ𶵶Ŵ ij!² ˡ ˠ  𦥦!N!r(    ̏}՘ղ!Ӿӹӽ߾       !p!(  %`* #$$$$ $% $ $ $$$$$%%$$$$$$$$$$$$'e!܂$$99:;;=99=;;:99$//Layer 5     ,//// Ҵ üs ̽%x x Ҽx ü̷sx ̽ůr ª Ҽ§ ü̷ħ ̽ůũ ªܭڸҼ§̷ħϬݸ޶ůũ־ªƭڶ§ӳ£復ħШݸũֿ˹ƭڷdz¤復 ˷ݸﹺ̾˹÷ƺ祦 ý𹺻˹ֿվսսֿӾվҽսѽսнֿӾнվҽϽսѽ׾սнӾнҽϽѽ׾ннϽ ׾      t'yy ytysս Ժ ֻؽսԺֻ罹ؽ֪ս̱Ժ׵ ֻ軽 ؽװ ͵ض̻ Ҿɻ𲴶       4  ~< ~}:#(2U N      9&'()*+,,,,,,,,,,,,,,,,,,,,,,,%&%%(/unknown     0(/0,(/0<ͯ ˺ ƹŲĿþĿŽļu Žu˳~z½uʛywþuɛ샂{yĿuɭ뛹ſuޒƿvÄuomƽºpn ¼mk þplrĤ¾zrrģ®~{zٳ¨}z  àŸ ÿ񾻽 $( μͻ wͻ wн w湣w繣좡wˣȤwǮ氣žz⣣ɰϵϣśӽ ɗĮ͜ϳǟ׵͢ ߧţ㽽񴣣ⴣỻ⹹ڣ ٣ ٣ḸḸ ߷߷ ߷߷ ߷߷$(   ﵵ G::G::ֿG:::::ϴڽ޻׫൭㹶༸Ŀ     $(     rG"  !"##$$ $%%%%%%%%%%%%%%%%%%%%%%%%!$*2@AABCE@@2wp-file-manager/lib/img/src/icons-small copy.pxm000064400000145400151202472330015535 0ustar00PXMT_DOCHEADERIN]#m~METADATA  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ _IMAGE_ZOOM_NSNumberNSValue*f_MASKS_VISIBLE_RECT_{{0, 0}, {0, 0}}_DOCUMENT_SLICES_NSMutableArrayNSArray _PX_VERSION_ 1.6.5_DOCUMENT_WINDOW_RECT_{{712, 4}, {200, 874}} _PRINT_INFO_ NSMutableDataNSDataz[378c] streamtyped@ NSPrintInfoNSObjectNSMutableDictionary NSDictionaryiNSString+NSHorizontallyCenteredNSNumberNSValue* NSRightMarginfH NSLeftMarginHNSHorizonalPaginationNSVerticalPaginationNSVerticallyCentered NSTopMarginZNSBottomMarginZ_LAYERS_VISIBLE_RECT_{{0, 147}, {239, 240}}_DOCUMENT_SLICES_INFO_PXSlicesPreviewEnabledKeyPXSlicesVisibleKeyc__OLD_METADATA_FOR_SPOTLIGHT__ colorMode layersNamesUntitled Layer 8Untitled Layer 7Untitled Layer 6blue-document-zipperblue-document-flashblue-document-text-imageapplication-terminal script-phpUntitled Layer 5Untitled Layer 4Untitled Layer 3Untitled Layer 2Untitled Layer script-code script-codeglobeblue-document-officeblue-document-pdffilm music-beam-16imageblue-document-text application blue-documentLayer 1dir dir-openedfile_extension_mpegfile_extension_exe applicationLayer 0keywords csProfileNamesRGB IEC61966-2.1resolutionType resolutiondR@ canvasSize {16, 1280}PXRulersMetadataKeyPXSlicesPreviewEnabledKeyPXGuidesArrayKeyPXGuidePositionKeycPXGuideOrientationKeyPXRulersVisibleKey_MASKS_SELECTION_I[73c] streamtyped@NSMutableIndexSet NSIndexSetNSObjectI_ICC_PROFILE_NAME_ے_ORIGINAL_EXIF_{TIFF}ResolutionUnitSoftwarePixelmator 1.6.5 CompressionDateTimeNSMutableString2011-07-02 16:15:43 +0400 XResolutionB Orientation YResolutionB{Exif} ColorSpacePixelXDimensionPixelYDimension*kCGImageDestinationLossyCompressionQuality PixelHeight PixelWidthHasAlpha풄{JFIF} IsProgressiveYDensityBXDensityB DensityUnit{IPTC}ProgramVersionPixelmator 1.6.5ImageOrientationKeywordsن ProfileNameےDPIWidthB{PNG}XPixelsPerMeter YPixelsPerMeter DPIHeightB ColorModelRGBDepth_DOCUMENT_LAST_SLICE_INFO_PXSliceMatteColorKeyNSColorffff transparentPXSliceFormatKeyPXSliceFormatPNG24_LAYERGROUPS_EXPANSION_STATES__STATE__ID_;92352D33-BEFB-4A00-B68D-0F5820D3E342-34139-0000E0B12CF05B8B89;B5A88CD4-059B-416C-8D3C-29E0248EFCD8-34139-0000E0AF0B61588889;6F8BFC21-2EB3-48E7-B6E0-94AE9AF57B08-34139-0000E0ACB5DFA93389;94E65854-C0A3-43CE-B5A9-193CA1076463-34139-0000E0A9F5D631B689;B8FDFB16-BEDA-481A-AA0B-EC14C0FC4102-34139-0000E08C1EBDE39789;1877DB60-E816-4460-B972-EDE51DEEE0B4-34139-0000E0861C377A6689;FBFD89FC-7050-4E67-8997-4DF17F3B4C29-34139-0000E0600B7D2A4489;4B50D76C-C380-4B7F-9C44-F1BC0E7CCA19-34139-0000E029DA4EADC189;4871A4F3-8357-4229-A29B-A40DEFCF3D65-34139-0000E0149A66885289;978681AD-3906-421D-A009-EF9632EEAFD4-34139-0000DFFC4D2F017B89;AEEEE2D6-0935-40B3-80B2-9D5FD83AE151-34139-0000DFF8EFF6C02789;1C8CFD11-5BC8-4921-A2C9-BFC435022388-34139-0000DFF5ED5BB5E089;B5E5BCC3-F31B-4396-81FA-126F4627B037-34139-0000DFF29ABF2DAF89;D528B246-64CB-48B6-8888-A691D6D873B7-34139-0000DFE82FD6841889;DCE88FCA-1ADB-4C55-B4A0-146CFB06E63B-34139-0000DFD44D2BE28789;3ABE6755-1173-49C7-87E7-ADB8EE87D090-34139-0000DF64928BD4D589;0B88DA97-EAD9-47D2-B4AB-BACEBD348E6F-34139-0000DF3786A7F25A89;DD69E198-0D36-4EB6-9C1B-6DA63FDAC3D3-34139-0000DF24AAA0FBA289;4287CBB1-6C2B-437F-A970-A3C40E157AEA-34139-0000DF0B7C478B0389;1FFB0EDF-BEB7-4304-BA21-460EA78D0511-34139-0000DEF3D95AC23589;D01D764B-05D3-4F17-8BF7-9904CD516B4C-34139-0000DED378FA868489;B870949D-8C3A-428F-906A-BCB7830D1D24-34139-0000DEB42B147D4189;B3C032D4-132E-4F16-A7B7-729D4677FCAD-34139-0000DE9ECE3BBF0389;DC77C90A-5C7B-471B-AEA5-1238F7E1FB7E-34139-0000DE575AE40F3C89:B49E082D-A1FB-487E-BE17-E16F73A8F48E-7317-000022DE0376C4C389:2FF17678-F87E-4E6E-974D-AEA1452BD260-7317-000022DE0375EFB689:E171E19A-6285-43FA-A545-2E08E088286D-7317-000022DE0375382589:006E318C-BD27-431A-AF83-E3B0BFDF3832-7317-000022DE0364379F89:942D4059-6B5B-4B16-BBC5-36E294E422BD-7317-000022DE0361715A89:9D4AFCE3-1E59-42D2-AB1C-D4C2B0A3214B-7317-000022DE0360826589:C24D76FC-604F-44DD-ABC9-DE5742197FC4-7317-000022DE035EDBD5_IMAGE_VISIBLE_RECT_{{-61, 0}, {169, 832}}_LAYERS_SELECTION_8[56c] streamtyped@ NSIndexSetNSObjectI GUIDES_INFO8c COLORSYNC H HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP ?.J`<_|}cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmLAYERS$D'*..15J8<~@ CMFIMPWSV[^bfhl+oruw{ ~|WJ Untitled Layer 8d';92352D33-BEFB-4A00-B68D-0F5820D3E342-34139-0000E0B12CF05B8B@x}IH[Q_`"qHU(ETp@Ab7.]H6.*\Wlԅ(9g&_@OW?. %wpSkE.9i.M:3&=%)o>g~ uNUxX_NzJ?IMI|̽Y nVurG N/sQɑ5"`N8~4=6p?΂QFԖfw/2 x4]Fԕꉛ;2<dm]F4M0>\ƺq ]F4K\)|$}<#j,(iOv)rā-(if>z"^pam(iz:Gѳgx#2:o||M8$+"tQ!&O gxc2,bC8$+"xc2] 80؋t^pxˈƊzc>tyMJ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBJ ~Untitled Layer 7d';B5A88CD4-059B-416C-8D3C-29E0248EFCD8-34139-0000E0AF0B615888@x}IH[Q_`"qHU(ETp@Ab7.]H6.*\Wlԅ(9g&_@OW?. %wpSkE.9i.M:3&=%)o>g~ uNUxX_NzJ?IMI|̽Y nVurG N/sQɑ5"`N8~4=6p?΂QFԖfw/2 x4]Fԕꉛ;2<dm]F4M0>\ƺq ]F4K\)|$}<#j,(iOv)rā-(if>z"^pam(iz:Gѳgx#2:o||M8$+"tQ!&O gxc2,bC8$+"xc2] 80؋t^pxˈƊzc>tyMJ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBJ LUntitled Layer 6d';6F8BFC21-2EB3-48E7-B6E0-94AE9AF57B08-34139-0000E0ACB5DFA933@x}IH[Q_`"qHU(ETp@Ab7.]H6.*\Wlԅ(9g&_@OW?. %wpSkE.9i.M:3&=%)o>g~ uNUxX_NzJ?IMI|̽Y nVurG N/sQɑ5"`N8~4=6p?΂QFԖfw/2 x4]Fԕꉛ;2<dm]F4M0>\ƺq ]F4K\)|$}<#j,(iOv)rā-(if>z"^pam(iz:Gѳgx#2:o||M8$+"tQ!&O gxc2,bC8$+"xc2] 80؋t^pxˈƊzc>tyMJ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBN blue-document-zipperd';94E65854-C0A3-43CE-B5A9-193CA1076463-34139-0000E0A9F5D631B6@x}IH[Q_`"qHU(ETp@Ab7.]H6.*\Wlԅ(9g&_@OW?. %wpSkE.9i.M:3&=%)o>g~ uNUxX_NzJ?IMI|̽Y nVurG N/sQɑ5"`N8~4=6p?΂QFԖfw/2 x4]Fԕꉛ;2<dm]F4M0>\ƺq ]F4K\)|$}<#j,(iOv)rā-(if>z"^pam(iz:Gѳgx#2:o||M8$+"tQ!&O gxc2,bC8$+"xc2] 80؋t^pxˈƊzc>tyMJ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBblue-document-flashd';B8FDFB16-BEDA-481A-AA0B-EC14C0FC4102-34139-0000E08C1EBDE397@ux_HQ}97$meMM#$  |z`eIL"SFFL)4-ι5׬?tp/?{&UJ^e4JlS2Y>!0u.s#ξ`DCqA:!( CAVЋ ~"3ΦKErlj(J',s"m8RP|qEc~;\הA,)>oRm택TP.%yHzh]:t I^''lB㏔e6ʕ ya_&;wb]xOkg'K}ȳKlldMT ^ȾH(W{|s(1=4Bg\۰#|sCB幗PicMRFbV\BGxy'.ʵMVcNiun)܄k䫨?gc:+S8Y6S47~fZ2.!0?#ue ʼhp!/-:6gYBTk̷0`YBTo?u0p"¼gl]`YBt\P]?fYBH t streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB blue-document-text-imaged';1877DB60-E816-4460-B972-EDE51DEEE0B4-34139-0000E0861C377A66@Ax[Hqww]d$"bDB:CQ(򢠛. EG1b4Vkت÷tymmZ4E<B2j_ s獢h:Xў'3|0>pA6\'! Q{DL9K;+憑T܅C1C֭셳:\}Aޥ[F+Yy3-g t[F + |M(u,Gn:"ĮM7aT\ФPO@d%,!N|vƇi)/2ecAsq/9"Ԟ3x=Ll!(#ۢg =gl+qAf7܋b)w#g tNAYBH  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB Sapplication-terminald';FBFD89FC-7050-4E67-8997-4DF17F3B4C29-34139-0000E0600B7D2A44@C@xMkQ)FD"?&ZF8Ə?ILS,.Z"H A$YZ@, _Nk]h4v]1+u:rX,xx||>t:d2d<7w~~ŏ _>zbf~^5.njpyy NǺ88C(B0D ss[N'^om8dl6C@VCZERP1A@`gy #'˔$ c^C4 Ȳh]$"aH1>xxzF#\\\@}7M<.Ľ=X}*1(@pWTD:[!"JAE#>-D'PΤqˢZ,T-@L]o6O=樯QL%qHo)TęV9LYed:w݈thmx5Il޴Ɣp`PAigTekIlEͦVZ\N|{ Y& M$˳B,V;:;n ΌS^I+|r:yڃ]+y *RK.QnKo6"瞤VUio6u<lj{6wZZ3rl:rWjՍClߥ|'0<ЋpGMpaӞL!o0=n؏C9߸Qh4K=Z-=[ gI"@^XH gI"@cyD"Aryb ,őL2H8d2I/6"m4?y?e'0=5 JrdyH[S[y\.B9XZe%{HG")*)X2x/"9 streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB?Untitled Layer 5d';4871A4F3-8357-4229-A29B-A40DEFCF3D65-34139-0000E0149A668852@xK`2iȈSwp?] aA<8? N"/S[ۙMӴ]M!j?;,3̒"dpZ1NpzYf%EHnլhN< w7L?;{fI(UZB[H$3x iWkVXEQϹ3x DnzKH&Q.w0Kp8bV{gcYRrE Z6(Y|a!6sJ9 ?V˰ uKmSSϗm#ď-K( MB5z^oD(@r{28*`WI1I@+$+) streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB? Untitled Layer 4d';978681AD-3906-421D-A009-EF9632EEAFD4-34139-0000DFFC4D2F017B@xK`2iȈSwp?] aA<8? N"/S[ۙMӴ]M!j?;,3̒"dpZ1NpzYf%EHnլhN< w7L?;{fI(UZB[H$3x iWkVXEQϹ3x DnzKH&Q.w0Kp8bV{gcYRrE Z6(Y|a!6sJ9 ?V˰ uKmSSϗm#ď-K( MB5z^oD(@r{28*`WI1I@+$+) streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB?Untitled Layer 3d';AEEEE2D6-0935-40B3-80B2-9D5FD83AE151-34139-0000DFF8EFF6C027@xK`2iȈSwp?] aA<8? N"/S[ۙMӴ]M!j?;,3̒"dpZ1NpzYf%EHnլhN< w7L?;{fI(UZB[H$3x iWkVXEQϹ3x DnzKH&Q.w0Kp8bV{gcYRrE Z6(Y|a!6sJ9 ?V˰ uKmSSϗm#ď-K( MB5z^oD(@r{28*`WI1I@+$+) streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB?Untitled Layer 2d';1C8CFD11-5BC8-4921-A2C9-BFC435022388-34139-0000DFF5ED5BB5E0@xK`2iȈSwp?] aA<8? N"/S[ۙMӴ]M!j?;,3̒"dpZ1NpzYf%EHnլhN< w7L?;{fI(UZB[H$3x iWkVXEQϹ3x DnzKH&Q.w0Kp8bV{gcYRrE Z6(Y|a!6sJ9 ?V˰ uKmSSϗm#ď-K( MB5z^oD(@r{28*`WI1I@+$+) streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB=Untitled Layerd';B5E5BCC3-F31B-4396-81FA-126F4627B037-34139-0000DFF29ABF2DAF@xK`2iȈSwp?] aA<8? N"/S[ۙMӴ]M!j?;,3̒"dpZ1NpzYf%EHnլhN< w7L?;{fI(UZB[H$3x iWkVXEQϹ3x DnzKH&Q.w0Kp8bV{gcYRrE Z6(Y|a!6sJ9 ?V˰ uKmSSϗm#ď-K( MB5z^oD(@r{28*`WI1I@+$+) streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB:X script-coded';D528B246-64CB-48B6-8888-A691D6D873B7-34139-0000DFE82FD68418@xK`2iȈSwp?] aA<8? N"/S[ۙMӴ]M!j?;,3̒"dpZ1NpzYf%EHnլhN< w7L?;{fI(UZB[H$3x iWkVXEQϹ3x DnzKH&Q.w0Kp8bV{gcYRrE Z6(Y|a!6sJ9 ?V˰ uKmSSϗm#ď-K( MB5z^oD(@r{28*`WI1I@+$+) streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB: script-coded';DCE88FCA-1ADB-4C55-B4A0-146CFB06E63B-34139-0000DFD44D2BE287@xK`2iȈSwp?] aA<8? N"/S[ۙMӴ]M!j?;,3̒"dpZ1NpzYf%EHnլhN< w7L?;{fI(UZB[H$3x iWkVXEQϹ3x DnzKH&Q.w0Kp8bV{gcYRrE Z6(Y|a!6sJ9 ?V˰ uKmSSϗm#ď-K( MB5z^oD(@r{28*`WI1I@+$+) streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBG&globed';3ABE6755-1173-49C7-87E7-ADB8EE87D090-34139-0000DF64928BD4D5@xmyHavGPXEX X䅖GFy4[PyfΣ"n6MiӶNܷ~y|?~%\eaft90rs#KL`i ^c}vRdNj2LvύHT)G.᮵X0(t]047 ec8(J K4_ZYEOUAcvB]/L3`كڛS'+NA̞T dbu Z,NI*,j1?~ eFeO uCg s m t#:sojTCˁ }A ;0Yn$>Gt&N(1 O=ҬCe, r@CM ĉ{9L?΄inM;fltO2oxB XH9H=3ְO.OE(8皫;C\cteGtf%7%hӠ*Pi>c$"-8Xh`[Gtf !qvx_TBSotȞD-Gts6جtM8x#8uWk] sHY4:h:<*8"Qv OT& &\MM#ލ\:csvv:{'ؒ0o- streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBblue-document-officed';0B88DA97-EAD9-47D2-B4AB-BACEBD348E6F-34139-0000DF3786A7F25A@mx]HSaǽ;. 4$Ȓ qF) Ax J))"‹$C"3n6t>>>=k!9p+/* w=OO#|?߰"&!ꚁ6- '?/gΞN(2"< !Omּh8Yضon 81 c(bo[I 1 | $ݡX8nzޅFZjD:x/t*;n}PM;:v¾tQ'0:\vù[О{^v΃ҙwHQF Gn=Zd!5T#-DT$ ]656\)#-D}jg:ˮ~.~p?itQ NEm}Hż+KDq\cҲh=,]^z3zþtsP=PקEF|%%']3%p/)Y73.36UvEV /#r`+'+?Oq/)DNaCSG streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBblue-document-pdfd';DD69E198-0D36-4EB6-9C1B-6DA63FDAC3D3-34139-0000DF24AAA0FBA2@x[HaĴm ILsiR`HF-3R /"ꢛ,KnPC(*J2"3n\sj꜇y暦{>*9i Jh&p9j ޅa;,#Տ ٪?],:O \3pM K$Tn'Yw5Y? rjcɲX?y`,Yx߱β2Qlm`]R8(9OX" 7t streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBH_filmd';4287CBB1-6C2B-437F-A970-A3C40E157AEA-34139-0000DF0B7C478B03@xnQy7KczJ "mX(@ A JKؒhI&rr7zѕ|9d3P7W]TU}Oa)A12S㈘!pGt;}n:Y/:6xKdtgΊY|A{?tG'fj'09$""F1P -CZCso 9U]&v:|~7E+Fۇ^!O< M;g0-4hghd#hİQWx@dbBgjNbBσnB8Qҍ}{w/ʬdvlONtG*ۢ$20/c/atZ fC2LiN8t`_D{g,sz';pGtsDF881qsự󊎋VTy?"e2eͶGtpcJQ]ү.梨/zC streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB - music-beam-16d';1FFB0EDF-BEB7-4304-BA21-460EA78D0511-34139-0000DEF3D95AC235@xc@e+UB9YD"wZԯ@QW˪]fY`~nMtaEN;٘AvJo@2+6?H kߞuQ#, iWaNoilwe屁XAfX}_UO+Exg!갿ԗ~}u0NEf6%q׽{ ?zXlO6|P'&E@OsRԟPÖZS/LV:X_lߏ#V'C ݛGZlZJ:p))/\ } streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB6 imaged';D01D764B-05D3-4F17-8BF7-9904CD516B4C-34139-0000DED378FA8684@x]Hqkn]TTd4{^n4@2 \A)DbPBR,jAITkʢεϫ.s7/)3&–m̲--ɳ뺆ty3ҕrmH*ZlEXoGP"%y5MF:{7.P;FjCy܌=-Aa֪j{POQF9` D}<0έ4Ԟ_ݏ/F(7q v%%EXlk۰λ-<{p;҉O3 P#ŎߙqvZaȧ8p9nMF#+Ag,-~G|JB,8TCu |υ:Tw2r57iϖ:\{dx uxZ2"ws*<7ٌczEza/!.i|z։Taž!7F6:ň vxtÕ .xN>L#zAmF+?(XJ?Hxc%D~\|My.<[ޏKM OO52^! streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBn applicationd';B3C032D4-132E-4F16-A7B7-729D4677FCAD-34139-0000DE9ECE3BBF03@%@xg`ޞ[.QH_ͮ_feVR!D$fe4S HIHE|?iZJ۽P'2r<6 ~kar ><σ7~/ VdeYu]mX4af)t]d2h4iPUF\GݜN'TU,q<"CV(9Wde4 Nx8"Cn?%In(>qv О("C1o6^ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB  blue-documentd';DC77C90A-5C7B-471B-AEA5-1238F7E1FB7E-34139-0000DE575AE40F3C@x;Has3h0.vT`HB " %$j,ML+/{):}=pyUcVZTR&`M6[Hx@xL~|VHz-qeq=m ; :/d>q>P\܀ àz!uB{gio{f4]Tt5l>sʢ0YC 0t-O>[Ea[{}dA{,* ꆕ\RAvKYT&zW_BEai=tC:,* S} 3;C,* [2Q_NeQak;1ʢ0k9:h_oJ{}|@YTFՊMð?CYT~ }K1T streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBu Layer 1d':B49E082D-A1FB-487E-BE17-E16F73A8F48E-7317-000022DE0376C4C3@1xQnPEK}՘ƿbKwC+P[%6'<1}32 UOP:ߧ^pIyT?/gjA"IGQ.qI,K4G{7ԘsrK0QtRq՘s3Qv0ƌs>WyVI!16uU%1_3(v3,V~3xp<ph}1kz|SlMWFu{yTU streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB{3dird':2FF17678-F87E-4E6E-974D-AEA1452BD260-7317-000022DE0375EFB6@;x]Ha Zf dwAQmtPTE7% "!i.u:0l}Xln*L,hQ79g{ٴwŢ^qy:al]`SZj~svl-"CflO[Ej1M/: Kde*Kd{e\Yݻv"> ÜNlNtn|xt>?AȥaO{:ԤV\v㠀1F(ԲS&$ĈDWgT{̱Ѫ+f streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBm f dir-openedd':E171E19A-6285-43FA-A545-2E08E088286D-7317-000022DE03753825@&x]HSacW]F Z-*hj7}@lE])4؜lڪ55͕-6gZQb $*km;g#ӻE%=㼼8T"{j *{TF><Әc /n$LUY"(Weޛ-)Zvu$ު/aӊSD)WNn8sc]MؽwY䉄K[&hEGZ-0i70ݫCl 볊vn+4㟌RLu o`{lvk XI>;tRlB#GeFuH .JkE u_ügםhI|!"o4vEJlNG1Ov4~C=c(_(y+G~òO1&m9Nrjʡ)1Q"溿J{1cH-mZѕAvXK@^C^g>zS ^dY$ X#m;n߬86z/\"z ]XK;qh3iH+M pamوlċ@zH+Q/>ip>ZX'iS&#Ȇ'v, r49ψdN٤P( D y0yOtqJgo.U#s"^y݋["I(/tg2Ol1t Ӂ}`~IB\?i( U_ۣzSL煇G񮳆, cۈ[yfx=)!-t{ dl:s=)H dcb ߈D|4>{SLHMd:Wj۔Ǿn+(mR  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBK file_extension_exed':942D4059-6B5B-4B16-BBC5-36E294E422BD-7317-000022DE0361715A@xKhA5&;nu nܨm@֤ u*4EC [E4ŶI#.*Ֆ9L)1\ \l]p; y+Q74@Y|f33.P4y :<סsPz7ίfL&lg'Sy⌬R:H {L׌ 0 աӸpls12r=-,/W4ae"l.I&=|`̢yG|O3r7"ـLzM,G˅yW,/Vy[ֳ0MrQfc W['1Wv.efS<=mh+|QdMusmc[NkIA喒m%;ec[NsAe vI(R5D3ehKb-B:Ld aeʲl6%Dxm[*K@6*vZG^5mKCA,gPo  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCB#Layer 0d':C24D76FC-604F-44DD-ABC9-DE5742197FC4-7317-000022DE035EDBD5@"xox}XUXKl-\1^ hb{C"*TH׻!`=߽7Y̞w̞32{8rHqْ6z'%?={vE*@_̜9(W =UC ,,'.eXRbi?!j(qDEEJ׎ Rܧ ,4aCC XrqN/u ..V cCH{)CSzj89HJLM+@)CDڦLKKS))HHU4H].HW W898"%9V륞lٙdrdeem=ezH\UVᄛL].V=wvrBFF gaL<4n'Nŕ)4WL;oL%K4B{{]Xe쉽bdjqp]˪p.f!\q]ݗ8<ω%Ȕ(v$2(W\W}8h+8M^ҏecNʩ@sz[5_pw{PC\\ԛj:;@/fVԶۉ;w_iRP]ߣvXtr3[oDKj(qe BKB5]FGg3OQRh?#Ob٭g9>>M`YyC :_% ؐ@T*Mb\\݇W`i|VDNP/vQ[C |r]OoBwO](q;(W\Mc o.\Ƈ0)!)b'ln-DG9\19W)g缲I;߻['Wޖɿ/V6{-gt >artj܏ۍfίZKRoa AseL/$A<9ɧY8`/mޛzp_ N{yj783M;N^ VKboW70Ӵz4I%'e4 J>B"_GdE(NjBa/ϓ_|zd[.bluzk~ kJ4fXcoCLJޞUʵ1K\KRP%Y*8VrͻԺ.*vmi+eJB4fRT˥ssLJ0K%`,[%O [ ZTHV,ӎe :oo)Kʔr-i th|-'6b˨$}55Ud!6>g(`ZNps(Zditd9]\"FP?<0 х#4ONNJ >b#j8Ǘj(v=Aن_}#s'?Z.7ȇ$ou{IxW㎺.cJaooShjv_Wkndx/YȚHFSÿcMLդ\V6$\W~CEҴ@uz?U.J8L#ɜ D>J Ğ2=dSI+0J؉bb/~ĬYo~:?{Ŋ ܧ@֋n(q`Eb2n1{) /^uFZJp}1ʕ.[c,_m\PJ~}JU 篦5c~ʙTL:r?Ѝ7ARRB˺1/߷o Ipe+hѢnC{(=2M7z>hh޴VL^/kGr<|rua!̚j?DRQB aJjmYyrmGCkG֎H0g*,Z dgԿ2^j3LzDBH?? )#$C2X?DxYb8w^V-cÕ)8qaz"hD[zCǀ=eyQVpgV wwV+!p[Yl+}],fzߊvjgskkpbYٽ[K>)vW+Rl5J\!SW~~jZ;~)GFF"2* d"LJb!~)A\l$)KLFL LYFV+S;g7*xvdV% hW88JHVsc_ׯUZ쵹v066>KY^Oߡ~ŝ_{o/xmKŸ p3)wʨVA_T,%?W#bգ|.<2[O?poᳯs92枾iQx?+Y\bs9RIJ?+~KBuTg$ =1I:ʵ܇9Qbϋ|t iHDVr e{#:%m>CF|뺃nJ[UYZ>MJ>: GwYN^Թ6H54 4nDo-G9d}P v.ܤ+U{〃@떷2Ne9OP}@w]Xk"Ѹ5u/ĉ5k$sX$;pƚJbdqkMU=c?b Qa F] ^ON5u>Pƭڵ.oSB2V 2\F? tѤyQIAf0sNK Jrm{[hm]-&;`˖]])64-:<3fO@?3/ )C 2$_ kܼyC-C(2=$.={ kQ !q;~zcNU^)_YC}ASeAk߹@ž z bcS̙$ejڛrR'9*:?Nϟm(CS ϛ4J\gyȞ@7(ίI˺_=M*Ts3̡3&:VR374aRW/^Z1h[M/ ceɎ_жGxuE)CazP>]~H@ӎ2CALOOen@ΏDD툌[J'#*2\=!{7j?A'~/.& qߺN;r6+a ½/OYIhyWPFh;`zRBӋKLO@aƝ): .ǃV M/.%.+ BU~rƾyzhzyiyIU7~';zhz{iy9x>~(sUFJUhzܬLd|8\nSǛ_r&e)R;ؽy܋FNNpT$ᙑT\:VCCv0,LojOHœ8:W75&%%!.z{[:#$G3ojLUVآ~CC/،ҥ;L-׋Ԙz,oqUm8"ޠ~yŒ42> o3nff^5IGg_e hn1M _{CDrIB!Է5tkI MW2w BgGRBv_~':<̺#?^6yo~W1yn,oV HKo0 B۶mO>Iw*>Db`cc#עqС VQ+W'ѣ^a6S|7ҷ'Ê)"&&&:u?Jz%F[nv;kz̙+nnn&gõbA~v([]UV,XpyD~ХK1 ٳLz+ԬY3}Xͨ~(ϱ(/6lF[1"/(UFYv{[f!>;9V{%0G[O/~s>e[=bhU(Jh}lfe~E'P.*qr%~ͷѬP|z`vzSʅ,{3J G+;P{M3hV(jr/`.sԧd'%([fI(s֨[T7=`gLKsC_/1KܖW<נӬp*;sg{E*^Ptې\v޴z5ZT_dE0f&Ӹ_< E42o[)M*+E ʌ;f pwuws%ٯCщYܺq WWp\%]BQF͎\TTp ?+rG:ҬPԮ~a,d8ݒ-Ƶz2PTf⯣{`:N3/y][s4u.OT2ڌf ̹;?];}%~5ng^9: ໘84m>Ygm˪JV}'^o=c7p ']Өn![4+l~D҆P~\EW2ZlJ}h[:,¾GvϭȰUhnYͷ\}e.rJPx*jl88ӬpT=@pR)q]GhPt;T˩ܢYL~#mll ipV).R~-5}@_POZHSKT33(q{d,MB~-4KYK"Qd| .Ro1e_}*mVQB{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_;37D52CF9-EE97-4F2B-A549-2ACF3E431B92-34139-0000DE3305D98BCBMASKSPREVIEWs@_@xTM$QkQh&K=%D]#XPAPD,bGP@+bЫu(3sf73ǵfgD-TZSuJSim\ d޿HԸ0 t+XSݬL})=ZԞ{Q>sGp+0Ž8 XWBĢg:/پwkM,:z;5+)q!q\X+}ԛ A?kŢgb{V,:}wAvU / kŢcPf!b{޲V,:~:Gi# .I)#Q?=!aXtHOo1=cXtĉb{;Zԫxs$הߏ8V,:inj#֊EP( Ij^=ye,iɘN+-^4-Uު)%{H pAR}w6be]z{teߨZ˿YU2UKjk[ rD5;N"OlCXe9s]fɊqɺmDǺ 6"VV#{2W":DG[4p<ߍHkT{e'm%unolOժTnR( BPGv{~8wc-kٷ\\\?ɀHwێ'VduE?-?|C6MujѸח-ҺIΟ~%e_R N!jdg} S}vwkה}InbՈa* Ll8 H=#^$H;!ZdC=to>G/mJs!5xE@N3rr䟭"A(^\ڃ[Vbv.L\n"o[#K&ojl5_\5X}s/rYr e8HIX&0p82Ara3ra\f9)ę%c6Lж% [2&Q{~mEb/q{nq{T$I.H>z Jp{Nt\X5 ߄y"qSyIn0CbM~hS1?9RwXǦUP( B(SL5kWŋ"gg+W :& GHH??zXYDizԩc ///xzz8p<<<WWWܹ...ضmlCϱ_޺u_H+.77/$zUք,Wᤴ4$''衷FS ^H[ZiIIIs zT2{!C\ݻ/$z}ǔ,Y"z;P( B?Q8#zoE=uυb9q;$⣎#.n^8gXtpN? ?#;̾u5eXtpNܽrw.8Flv_X+ya8wfg8B eXtpN*<9?q1"#Amagviwb9' BB\q]p8!{q=Bnc_P( Bohެ"z}\Kqw, !gMW톜=/r}̓},r],'?nަGu\Ryg6"Byـ<a? ѝHy z?jRwb~~6N_&f/O qYǣe"?ѽh<zmҸt oύ?. 6 npɠ?=%''m5Acغ'}\{8‘~Oof2 z}QiYѿǻ=>ӾkySͱx~oYx#x} ۨa޲6On^G? R~-N~+)x+2c"=8zmРڬ{:ۂ8dNٍCT\!7,ƃcqAuT)';iw^HkfVjL*e+ BP(e_WJީ|~n`$"yۥ`^cWw8Ob94̎|eS5]+O%ssWnQ~ 3f~QKg%[ƴkIF4#˹Sɲm]ݟԣOMJNeP΁9nC:0_6? :>?~ӑq|"ί+I.:iMSo9ESDٙcXd33PҸ[O gJe:.ޖ>P=i= Y?|~X= vms/\~{~Oұ?T3uŀZ BP(ƋZ0H{C~NRn\5"RFVH}kOzn]͋n\fQ "lv?kx΃ gC`]XKY=sL!Z횲V,:8's 8ׁ%x=8k2r^V,:8'Zzo(Zj=8eXtpN:42_aT zSlQ:}7%H~s靈8G6ovGwaBP(  Q*EODI*7E}P~=?+CjpTkm.ZHTmqUמݙ2PEF(!Lpه9iqs ~zG "2~FOB0`wGGPi9/1d@gn(YCxMM3D=ض6 w?3慠l]}1ߡ\mO=`35t[ri(pԉm+TC'vܲ 6wlbd(Yq֊~o[)ZIbW2ݍ=,C*C( BP+!˹L缋ڳ2g+cUes`<]g+H rQJwLEIev:i&-zs1V{62M\]_ v/pvF/ms4X _юKoEq]$9_\ި]S[΋/t[%V#ܮs^;}/= Dʯu]ܧhd =kpq0b7D&K̑U^O%^WR#Zu>kTzz+{j:BH>cix.UX/6|/*:; ⚁{{ZP%?;mdZZׯ]ٿz /e BP(_vwZ07oz.$B}1aqD$w_?M(Wbo k^\ ?W̛;TR,VW^y٫WJMl BP(33un>ְV,:)%[0c0k0s۸5f [f f ff}aXt0S0[0c0k0s0{P\6c kŢBBP(*Œ¬Bq۸5fl&(*,6c kŢYم:qkX+$&(*,.׹XZ`&QEP( PAffff}aXt0dK6`F`V`f0qkX+ ׹XZ`&`6`F`V`f`vm֊E3 BP(YTPYك:qkX+ْ-159Lm֊E3-33un>ְV,:)-159=(sbLBP( ?eʔWfAճxSqD 22a A@@@9Y 8`8mAo:u,OOO>|ꊝ;w۶m-ppp=d˸VZG+t ]vE.]йsgt ۷G-Ѷuk|Ѷ->%uO_pp0lll0uTL4 3f F>{˿Wo=&=c2~rְQ0tP=0Oo zUɓrl2=ѷ{w ØAa9lZ5d.5ȑ#qp<<'о}0J9nL9?hݢFSK 6 D߾}SGzˆocAn0Lv,0TBjզuGoNְV,:)TP( BѲA>5ΨV ςK~=ږȼ w#qFp^)7Cq+XSݬL})=ZԞy9snFdjT(XtlYgrVe<ի?l_X5&Zם>w¼υbѷMY^A?ϝ{Q>{Z;sşr;TA/qa`Xt lHe^c `Xt jl5޽_4s0| ֊E \Gڃb{;ZթjF\=2;Z7(bz;Z׭IZx.V,:&j~(?=A\=x_xoKkŢkk^zi)ObQ( B[QC>>+{z{޲V,:)TPCP( yQC>>+{z{޲V,:)TPCP( ?/*9Y؃؃bL/ BP(x2C3SejX.YT4H*rs_Tzڳ2k GѨ2DQQ~ٝ( Q)92WԹ_ *6= ݵgw8x.é.>r\9W$*49vkfAfaHycڒ>tCFڳi^<|9f[vm={fxVxe}v®=q(oN{v75n:Qmj$rԎ[fnd(Yq֊~o[)ZIgwcO>{HxZ"B2ijZ(%wp-file-manager/lib/img/src/icons-small.psd000064400000630665151202472330014600 0ustar008BPS@{8BIMZ%G8BIM%}Ǿ pvN8BIM$P Adobe Photoshop CS5 Macintosh 2011-01-20T17:47+03:00 2011-02-04T15:33:45+03:00 2011-02-04T15:33:45+03:00 application/vnd.adobe.photoshop 3 sRGB IEC61966-2.1 xmp.did:018011740720681188E6C239B0A8A931 xmp.iid:C7C4172C0E206811A3A3FC4A228C975D xmp.did:018011740720681188E6C239B0A8A931 xmp.did:018011740720681188E6C239B0A8A931 created xmp.iid:018011740720681188E6C239B0A8A931 2011-01-20T17:47+03:00 Adobe Photoshop CS5 Macintosh converted from image/png to application/vnd.adobe.photoshop saved xmp.iid:028011740720681188E6C239B0A8A931 2011-02-03T20:28:49+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:038011740720681188E6C239B0A8A931 2011-02-03T20:44:05+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:048011740720681188E6C239B0A8A931 2011-02-03T20:47:19+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0480117407206811A3A3FC4A228C975D 2011-02-04T14:56:04+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0580117407206811A3A3FC4A228C975D 2011-02-04T14:56:54+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0680117407206811A3A3FC4A228C975D 2011-02-04T14:57:23+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0780117407206811A3A3FC4A228C975D 2011-02-04T14:58:19+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0880117407206811A3A3FC4A228C975D 2011-02-04T15:04:56+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0980117407206811A3A3FC4A228C975D 2011-02-04T15:06:13+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:0A80117407206811A3A3FC4A228C975D 2011-02-04T15:19:11+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:C4C4172C0E206811A3A3FC4A228C975D 2011-02-04T15:21+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:C5C4172C0E206811A3A3FC4A228C975D 2011-02-04T15:23:53+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:C6C4172C0E206811A3A3FC4A228C975D 2011-02-04T15:32:31+03:00 Adobe Photoshop CS5 Macintosh / saved xmp.iid:C7C4172C0E206811A3A3FC4A228C975D 2011-02-04T15:33:45+03:00 Adobe Photoshop CS5 Macintosh / 8BIM: printOutputClrSenumClrSRGBCInteenumInteClrmMpBlboolprintSixteenBitbool printerNameTEXT8BIM;printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd doub@oGrn doub@oBl doub@oBrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@Y8BIMHNHN8BIM&?8BIM Transparency8BIM Transparency8BIMd8BIM5d8BIM8BIM 8BIM 8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM>8BIM08BIM-8BIM@@ X8BIM6nullVrsnlongenabbool numBeforelongnumAfterlongSpcnlong minOpacitylong maxOpacitylong2BlnMlong8BIM3null Vrsnlong frameStepObjcnull numeratorlong denominatorlongX frameRatedoub@>timeObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlongp denominatorlongX workInTimeObjcnull numeratorlong denominatorlongX workOutTimeObjcnull numeratorlongp denominatorlongXLCntlongglobalTrackListVlLs hasMotionbool8BIM4FnullVrsnlongsheetTimelineOptionsVlLs8BIM8BIMnullbaseNameTEXTUserboundsObjcRct1Top longLeftlongBtomlong@RghtlongslicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong@RghtlongurlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?8BIM H HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km8BIM,8BIM  Adobe_CMAdobed            "?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?~ҿ~o:ޯ?ԕs`vٍ SWJϥ$sr~-?R^O'w~zXvϥK3?I}_R{c_u;7A=c7?F?DwПO?RS,M_"gwCƞ<ޒpGS _/ +~"J,c߯p-G+)?wo=e} m9$#>=Xv?{%%ny_o #ŏЗv?d_TI%?TI%?8BIM!UAdobe PhotoshopAdobe Photoshop CS58BIM".MM*bj(1r2i ' 'Adobe Photoshop CS5 Macintosh2011:02:04 15:33:45@&(.HH8BIMmopt4TargetSettingsMttCObjc NativeQuadBl longGrn longRd longTrnsbool fileFormatenum FileFormatPNG24 interlacedbool noMatteColorbooltransparencyDitherAlgorithmenumDitherAlgorithmNonetransparencyDitherAmountlong8BIMmsetnullHTMLBackgroundSettingsObjcnullBackgroundColorBluelongBackgroundColorGreenlongBackgroundColorRedlongBackgroundColorStatelongBackgroundImagePathTEXTUseImageAsBackgroundbool HTMLSettingsObjcnullAlwaysAddAltAttributebool AttributeCaselong CloseAllTagsboolEncodinglongFileSavingSettingsObjcnull CopyBackgroundboolDuplicateFileNameBehaviorlongHtmlFileNameComponentsVlLslonglonglonglonglonglongImageSubfolderNameTEXTimagesNameCompatibilityObjcnull NameCompatMacboolNameCompatUNIXboolNameCompatWindowsboolOutputMultipleFilesboolSavingFileNameComponentsVlLs longlonglonglonglonglonglonglonglongSliceFileNameComponentsVlLslonglonglonglonglonglongUseImageSubfolderboolUseLongExtensionsboolGoLiveCompatibleboolImageMapLocationlong ImageMapTypelongIncludeCommentsboolIncludeZeroMarginsboolIndentlong LineEndingslong OutputXHTMLboolQuoteAllAttributesboolSpacersEmptyCellslongSpacersHorizontallongSpacersVerticallong StylesFormatlong TDWidthHeightlongTagCaselongUseCSSboolUseLongHTMLExtensionboolMetadataOutputSettingsObjcnull AddCustomIRboolAddEXIFboolAddXMPboolAddXMPSourceFileURIbool ColorPolicylongMetadataPolicylongWriteMinimalXMPboolWriteXMPToSidecarFilesboolVersionlong8BIMms4w8BIMmaniIRFR8BIMAnDsnullAFStlongFrInVlLsObjcnullFrIDlonge>wFrDllongFrGAdoub@>FStsVlLsObjcnullFsIDlongAFrmlongFsFrVlLslonge>wLCntlong8BIMRoll8BIMmfri D8o 5U~[8BIMnorm <(Layer 08BIMluniLayer 08BIMlnsrlayr8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR]{8BIMfxrp?@aJ8BIMnorm 8( application8BIMluni application8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARo8BIMfxrpGY8BIMnorm (file_extension_exe8BIMluni(file_extension_exe8BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARܩ8BIMPlLdxplcL$c483e490-7049-1173-895f-b3229314356c@b@0@b@0@d@dwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%c483e490-7049-1173-895f-b3229314356cplacedTEXT%d6d3c99b-70e6-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@bdoub@0doub@bdoub@0doub@ddoubdoub@dnonAffineTransformVlLsdoubdoub@bdoub@0doub@bdoub@0doub@ddoubdoub@dwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@bY8BIMnorm (file_extension_txt8BIMluni(file_extension_txt8BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARɌX8BIMPlLdxplcL$c5d8d499-7049-1173-895f-b3229314356c@i @0@i @0@k @k warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%c5d8d499-7049-1173-895f-b3229314356cplacedTEXT%eddf1ce2-70e4-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@i doub@0doub@i doub@0doub@k doubdoub@k nonAffineTransformVlLsdoubdoub@i doub@0doub@i doub@0doub@k doubdoub@k warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@i _oY8BIMnorm (file_extension_mp48BIMluni(file_extension_mp48BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR8BIMPlLdxplcL$14ebc9c7-704b-1173-895f-b3229314356c@u@.@u@.@v@vwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%14ebc9c7-704b-1173-895f-b3229314356cplacedTEXT%40b0444b-70e9-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@udoub@.doub@udoub@.doub@vdoubdoub@vnonAffineTransformVlLsdoubdoub@udoub@.doub@udoub@.doub@vdoubdoub@vwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@u^nY8BIMnorm (file_extension_mpeg8BIMluni,file_extension_mpeg8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR8BIMPlLdxplcL$29a1d44e-704b-1173-895f-b3229314356c@u@0@u@0@v@vwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%29a1d44e-704b-1173-895f-b3229314356cplacedTEXT%394b586f-70e5-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@udoub@0doub@udoub@0doub@vdoubdoub@vnonAffineTransformVlLsdoubdoub@udoub@0doub@udoub@0doub@vdoubdoub@vwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@uY8BIMnorm (file_extension_pdf8BIMluni(file_extension_pdf8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARa8BIMPlLdxplcL$3b187f9a-704b-1173-895f-b3229314356c@|0@.@|0@.@}0@}0warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%3b187f9a-704b-1173-895f-b3229314356cplacedTEXT%9658e37c-70e5-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@|0doub@.doub@|0doub@.doub@}0doubdoub@}0nonAffineTransformVlLsdoubdoub@|0doub@.doub@|0doub@.doub@}0doubdoub@}0warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@|0Y8BIMnorm (file_extension_rtf8BIMluni(file_extension_rtf8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR8BIMPlLdxplcL$3d2e709b-704b-1173-895f-b3229314356c@y@0@y@0@z@zwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%3d2e709b-704b-1173-895f-b3229314356cplacedTEXT%9658e37f-70e5-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@ydoub@0doub@ydoub@0doub@zdoubdoub@znonAffineTransformVlLsdoubdoub@ydoub@0doub@ydoub@0doub@zdoubdoub@zwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@yY8BIMnorm (file_extension_ace8BIMluni(file_extension_ace8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR-8BIMPlLdxplcL$919ca3ae-704b-1173-895f-b3229314356c@@0@@0@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%919ca3ae-704b-1173-895f-b3229314356cplacedTEXT%40b04448-70e9-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@0doub@doub@0doub@doubdoub@nonAffineTransformVlLsdoubdoub@doub@0doub@doub@0doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@Y8BIMnorm (file_extension_ptb8BIMluni(file_extension_ptb8BIMlnsrrend8BIMlyid'8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARSq8BIMPlLdxplcL$b153c44e-70e8-1173-9870-930db18117f2@P@0@P@0@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%b153c44e-70e8-1173-9870-930db18117f2placedTEXT%b153c44f-70e8-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@Pdoub@0doub@Pdoub@0doub@doubdoub@nonAffineTransformVlLsdoubdoub@Pdoub@0doub@Pdoub@0doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@PY8BIMnorm (file_extension_ptb copy8BIMluni4file_extension_ptb copy8BIMlnsrrend8BIMlyid(8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARa*8BIMPlLdxplcL$b153c44e-70e8-1173-9870-930db18117f2@@0@@0@h@hwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%b153c44e-70e8-1173-9870-930db18117f2placedTEXT%eff5c546-70e8-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@0doub@doub@0doub@hdoubdoub@hnonAffineTransformVlLsdoubdoub@doub@0doub@doub@0doub@hdoubdoub@hwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@Y8BIMnorm (file_extension_ptb copy 28BIMluni8file_extension_ptb copy 28BIMlnsrrend8BIMlyid)8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARdL8BIMPlLdxplcL$b153c44e-70e8-1173-9870-930db18117f2@x@0@x@0@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%b153c44e-70e8-1173-9870-930db18117f2placedTEXT%12d74bf7-70e9-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@xdoub@0doub@xdoub@0doub@doubdoub@nonAffineTransformVlLsdoubdoub@xdoub@0doub@xdoub@0doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@x 0Y8BIMnorm (file_extension_ptb copy 38BIMluni8file_extension_ptb copy 38BIMlnsrrend8BIMlyid*8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARkaq8BIMPlLdxplcL$b153c44e-70e8-1173-9870-930db18117f2@@0@@0@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%b153c44e-70e8-1173-9870-930db18117f2placedTEXT%23f46844-70e9-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@0doub@doub@0doub@doubdoub@nonAffineTransformVlLsdoubdoub@doub@0doub@doub@0doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@Y8BIMnorm (file_extension_ptb copy 48BIMluni8file_extension_ptb copy 48BIMlnsrrend8BIMlyid+8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARqA8BIMPlLdxplcL$b153c44e-70e8-1173-9870-930db18117f2@ @0@ @0@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%b153c44e-70e8-1173-9870-930db18117f2placedTEXT%2765d4fa-70e9-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@ doub@0doub@ doub@0doub@doubdoub@nonAffineTransformVlLsdoubdoub@ doub@0doub@ doub@0doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@ Y8BIMnorm (file_extension_ptb copy 58BIMluni8file_extension_ptb copy 58BIMlnsrrend8BIMlyid,8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARvG8BIMPlLdxplcL$b153c44e-70e8-1173-9870-930db18117f2@@0@@0@8@8warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%b153c44e-70e8-1173-9870-930db18117f2placedTEXT%3655fd43-70e9-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@0doub@doub@0doub@8doubdoub@8nonAffineTransformVlLsdoubdoub@doub@0doub@doub@0doub@8doubdoub@8warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@Y8BIMnorm (file_extension_chm8BIMluni(file_extension_chm8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARt8BIMPlLdxplcL$9e507f6c-704b-1173-895f-b3229314356c@0@0@0@0warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%9e507f6c-704b-1173-895f-b3229314356cplacedTEXT%de4c467a-704b-1173-895f-b3229314356cPgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoubdoub@0doubdoub@0doub@0doubdoub@0nonAffineTransformVlLsdoubdoubdoub@0doubdoub@0doub@0doubdoub@0warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrpY8BIMnorm (file_extension_bin8BIMluni(file_extension_bin8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR38BIMPlLdxplcL$e17a80c3-704b-1173-895f-b3229314356c@i @.@i @.@k @k warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%e17a80c3-704b-1173-895f-b3229314356cplacedTEXT%d7abbc97-70e5-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@i doub@.doub@i doub@.doub@k doubdoub@k nonAffineTransformVlLsdoubdoub@i doub@.doub@i doub@.doub@k doubdoub@k warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@i RbY8BIMnorm (file_extension_bat copy 38BIMluni8file_extension_bat copy 38BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARQ8BIMPlLdxplcL$a5667c38-70e6-1173-9870-930db18117f2@@0@@0@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%a5667c38-70e6-1173-9870-930db18117f2placedTEXT%9f59f49e-70e7-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@0doub@doub@0doub@doubdoub@nonAffineTransformVlLsdoubdoub@doub@0doub@doub@0doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@Y8BIMnorm (file_extension_bin8BIMluni(file_extension_bin8BIMlnsrrend8BIMlyid#8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR 8BIMPlLdxplcL$d5cca80a-70e7-1173-9870-930db18117f2@@@.@@@.@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%d5cca80a-70e7-1173-9870-930db18117f2placedTEXT%064310a5-70e8-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@@doub@.doub@@doub@.doub@doubdoub@nonAffineTransformVlLsdoubdoub@@doub@.doub@@doub@.doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@@^nY8BIMnorm (file_extension_html8BIMluni,file_extension_html8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARo8BIMPlLdxplcL$cc65cd91-70e6-1173-9870-930db18117f2@@0@@0@p@pwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%cc65cd91-70e6-1173-9870-930db18117f2placedTEXT%2dda0a16-70e7-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@0doub@doub@0doub@pdoubdoub@pnonAffineTransformVlLsdoubdoub@doub@0doub@doub@0doub@pdoubdoub@pwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@Y8BIMnorm (file_extension_doc8BIMluni(file_extension_doc8BIMlnsrrend8BIMlyid 8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARR78BIMPlLdxplcL$b8532814-704a-1173-895f-b3229314356c@P@.@P@.@(@(warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%b8532814-704a-1173-895f-b3229314356cplacedTEXT%b5ce6370-70e5-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@Pdoub@.doub@Pdoub@.doub@(doubdoub@(nonAffineTransformVlLsdoubdoub@Pdoub@.doub@Pdoub@.doub@(doubdoub@(warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@PY8BIMnorm (file_extension_flv8BIMluni(file_extension_flv8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR6h 8BIMPlLdxplcL$c718de88-704a-1173-895f-b3229314356c@@.@@.@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%c718de88-704a-1173-895f-b3229314356cplacedTEXT%a483b5cc-70e8-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@.doub@doub@.doub@doubdoub@nonAffineTransformVlLsdoubdoub@doub@.doub@doub@.doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@M]Y8BIMnorm (file_extension_gz8BIMluni(file_extension_gz8BIMlnsrrend8BIMlyid%8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR 8BIMPlLdxplcL$4e0ca1c0-70e8-1173-9870-930db18117f2@4@0@4@0@t@twarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%4e0ca1c0-70e8-1173-9870-930db18117f2placedTEXT%5dbedc4f-70e8-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@4doub@0doub@4doub@0doub@tdoubdoub@tnonAffineTransformVlLsdoubdoub@4doub@0doub@4doub@0doub@tdoubdoub@twarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@4~Y8BIMnorm (file_extension_hqx8BIMluni(file_extension_hqx8BIMlnsrrend8BIMlyid&8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR1J8BIMPlLdxplcL$9825338c-70e8-1173-9870-930db18117f2@@0@@0@8@8warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%9825338c-70e8-1173-9870-930db18117f2placedTEXT%99e5dd11-70e8-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@doub@0doub@doub@0doub@8doubdoub@8nonAffineTransformVlLsdoubdoub@doub@0doub@doub@0doub@8doubdoub@8warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@+Y8BIMnorm (file_extension_zip8BIMluni(file_extension_zip8BIMlnsrrend8BIMlyid$8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR 8BIMPlLdxplcL$21f17c42-70e8-1173-9870-930db18117f2@l@0@l@0@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%21f17c42-70e8-1173-9870-930db18117f2placedTEXT%2f2545e7-70e8-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@ldoub@0doub@ldoub@0doub@doubdoub@nonAffineTransformVlLsdoubdoub@ldoub@0doub@ldoub@0doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@l'7Y8BIMnorm (file_extension_htm8BIMluni(file_extension_htm8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARq28BIMPlLdxplcL$d6c29263-704a-1173-895f-b3229314356c@8@0@8@0@@warp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%d6c29263-704a-1173-895f-b3229314356cplacedTEXT%d508738d-70e5-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@8doub@0doub@8doub@0doub@doubdoub@nonAffineTransformVlLsdoubdoub@8doub@0doub@8doub@0doub@doubdoub@warpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@8 Y8BIMnorm (file_extension_jpeg8BIMluni,file_extension_jpeg8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR8BIMPlLdxplcL$e6d2e6e0-704a-1173-895f-b3229314356c@o`@0@o`@0@p@pwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%e6d2e6e0-704a-1173-895f-b3229314356cplacedTEXT%6dccac23-70e9-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@o`doub@0doub@o`doub@0doub@pdoubdoub@pnonAffineTransformVlLsdoubdoub@o`doub@0doub@o`doub@0doub@pdoubdoub@pwarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@o`-=Y8BIMnorm (file_extension_m4b8BIMluni(file_extension_m4b8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARr<8BIMPlLdxplcL$fdefcf69-704a-1173-895f-b3229314356c@r@0@r@0@s@swarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@08BIMSoLdsoLDnullIdntTEXT%fdefcf69-704a-1173-895f-b3229314356cplacedTEXT%049e389e-70e5-1173-9870-930db18117f2PgNmlong totalPageslong frameStepObjcnull numeratorlong denominatorlongXdurationObjcnull numeratorlong denominatorlongX frameCountlongAnntlongTypelongTrnfVlLsdoubdoub@rdoub@0doub@rdoub@0doub@sdoubdoub@snonAffineTransformVlLsdoubdoub@rdoub@0doub@rdoub@0doub@sdoubdoub@swarpObjcwarp warpStyleenum warpStyle warpCustom warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrznboundsObjcRctnTop UntF#PxlLeftUntF#PxlBtomUntF#Pxl@0RghtUntF#Pxl@0uOrderlongvOrderlongcustomEnvelopeWarpObjccustomEnvelopeWarp meshPointsObAr rationalPointHrznUnFl#Pxl@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0@UUUUUU@%UUUUUU@0VrtcUnFl#Pxl@UUUUUU@UUUUUU@UUUUUU@UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@%UUUUUU@0@0@0@0Sz ObjcPnt Wdthdoub@0Hghtdoub@0RsltUntF#Rsl@R8BIMfxrp@rfr~8BIMnorm4( dir-opened8BIMluni dir-opened8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubARh^8BIMfxrp{3A8BIMnorm (dir8BIMluni dir8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR: 8BIMfxrpDY8BIMnorm <(Layer 18BIMluniLayer 18BIMlnsrlayr8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMshmdH8BIMcust4metadata layerTimedoubAR'8BIMfxrpV                     #3##3, Z:Ő {<3$, !!MM2332MM23323#3""3#j E#3#3#jszv3#3"FFFFkkkk331313&!#3## 334s`3D333333 3"05 33 #33#3#33#3 3)333#3"#30333#33#30xC_:{?KLLtl1sws1 >\>35zThfhTxxwmzxz                                            ˥   POKLOPNOJy~~zKI ҅KJԊKKKKKK}~KKKKKKKJrvxvrJIIMMLIHILL9?IC BA@I[oB CrqaSOC C]NKFB?@E E@>??B=7EEB72 EEEEE E>BAABD ECi||iC>BAABDCXPPXCCi||iCDDAADDCXPPXCEDADEXSSXX XWY[[XVUUWWX XZ D]qTX YV[6[uUUY Z\Ip~bSYZ \Y\Yplm]F]Y\ \]U]v}dI]\ _\`eda__`^\_ `cC\p]` a_d5[t^^a bdHp~bSbb dbeXolm]Dfbd efS\u}dHgegfhkjkhfg^j``j^ ʥA D ?8-$"$$   $ p "  $$($  $( ΁h) F/uqs&, ٻ RU \šJ{㸝{irƞpgm6ʼ<7BWȵe3&N{j@(!Mj0'mSg]0,!i_HHZF  (9??@zRwWHZ ,131*!hL#&&!H`  k.  ʤ >="~=p%CM |H)s66K/b6?7?MST+U5K Y"[>:V2=< 9;;(} ;I8  A4I"V   '${ ԰ߒ гoRRRRcccRRhhhhRRmmmRRrrrrrRRwRdRE ʤ ǭ  ݯ կ vz} p̾p ʾp ̾p p t{ppƾppp pwpw Ψ  =qeK {rĪM ͨW I  5/l  3B L   ʤ  $ '5> (*< "k1t8,t5 $2y9?B !~6;%/1232? 5=@ Ψ ݥof($`jCL}ƅQAU XyvjO:l÷U TޙLs薚UlSgՏYPՖK/\ƚX/5TnkoR4*-*;;Ιoo=os7Wʬ˖Bv[ZdZ[Xÿʹݼø                                            ̧   ʾخٹݟ߿e ?}twwz{ wzv~y zøz z| {~|{r`}}xkU}}}}} }|uxxu| }zèz|uxxu|zzzèz{{zz5|{{|5{{5|{{|5XYSSYX YXXTRQPPRVWY YTQY ZUSPUZ [TR[ ]YUUY] ]WX] _\[WSQPQUZ[_ a\Ya b_\Y^b c[Zc eb^_be faaf hggfdccdfgghbk``kb ̧dzߑK ¬LHfƄۑFޚ ։~~~ qx~r܁~rp~~~~~~~~~~~~~|| ςg " C*to^ ۧԺ ڭ˵UX~|~ |~ګ||Ā|ŀެ{Ħ{计ȥɂ夣²ղsϽv䲃V忀V VȚVur ˧ uwyhwrv~jv|w}|kutyse {yyz||{uߒwUn {p xn u!p w* d c0~m($n5 w(%x6x%# 3@~-,+45116ѵkikkkρkkkkԋkkkkkyk[ ˧;1>c1+QFO>0(?+%E=Q2%3x+n£ /CL, c AM c-yb5 l? ֱ wxxz r{͈ rٲz͈ rӛ{͈ x|}|͈͈͈  ܵ (AZ & @nQ Y~Øt xyeȑ ѵ ߹ռԴɣ ͨYYXZ^dio[l ]]s]nl [bd_j Yckf XbjceXZ`e[hfehi ˧ uyuz uz{ v~{؁ v}ՂuȀӃzӇ ׳begfehmppbqbghhlnkpbosywqbsqz|pbz}oaʄoa쌋odqzoqtݥof($`jCL}ƅQAUXsjēuɹǒߓƖԾ^Õegh4[Z[4;;Кko5oo_o~~~~ӝ˪qӣ'ŜPÕǒ{x=/2<2/=WLAEDVs֨jACwDAADvvhDVdwydMEUDADE                                               ̧   &+] &)xU(w(0(w'-&"*luvwzzul0=@BDB@=0%(%t ٥ ǿ r ۪ ܫ۫ܬIIII[TT[[ [YWOLKKLOWY[ZNNZ ]WMMW] ]MM] _ZOPZ_ aTUa b^YNGFFGNY^bcVVc e`VV`e fVVf gbYYbg i^_iljhc`achjlbn``nb̨005YlhpU DsivO54bgkhg:3\I]\[\^S9/PQPpPQT?41AHGHHIH:*79:; ϭЃi!OgC E,}u5"## # WV%X*hh3 XG2 yʺ쫰@Aκù,f-QG/*w3"Xxs#FݽL>մY:pyIͣ[ZuA| u;|˧ Ǹ޻ϲ׼޲ȩа޳Ҳʻó  ( 992H*(I7 gT*(Vo8#^^!^c6^,l)(n75,,6ѵǣ˧!{+ZB{5A*,,+= eaţ>R \>01пp) P[',.2p,.>pF tM ֱ 1 : ٝ oIIpٝ [\ٝ f q ٝٝٝ  ݹ %   ߿  =$Fcj`DMgC: ̧Ĩ Ī۵  ˧   2; ? ImNR PwW^Ƿ ݹL&-/.#*-)-%,61-# .0-%++,-+/.**./+ -A)*+-.ݥof($`jCL}ƅQAU;1'wSE4#b .I| e;;ҝko5okƴ@ Ο,`XTe15qkls4?c&#sG1G X8'D&#Q/&: C,-,+/ 7r-M!@c%!$3$   "&'&"ILMLI          Ђؒ؀~ধ~||{{{{{{zzzzzz{{~~s~{z{~s  #3#rh m  ? 5%%'%%22>A>22>8@C@8>LL`YWWWWWY`uttsssttu۷vzzzvuـw؆՚vvՁԊсыهρΎ΁˓ˁʚʁǠǁħāİĂżŃzz絵䵷䷶ͯ򸪸#3#a_^^^^^]^_[[__[[_^[^_^[Q[_^befebS_^dfgfdoQQ^^eb`_`t^_d\a^_ha^[[][^g__jbi__ngecc`_dn__qhq__tjefjijmt_`xqy``{xxx{}~`Za`^^^^^__`aZxvuuuuuuuwsswvsswutvvvsjswvx{|{xlwv{}}|zkkvv|zxwxvv{uyvv~yvssusv}vwzww}{zzwwzww~ww{|~wwwxxoxwvvuvvwwwxo~"3"-*******))$$**~~|z$$**x&***&x$**t+///+u **n,.(,.FC# j*+h-&[)./0-h++b.%\+01.b++]0&\,10]+,W0&e00W,,Q1';21Q,,L3(:243L,-E3):2443E--@41i=35554@--:664567776:-*-----------*wtttttttturrutɳrrutruuurjrut{|mut~pmtt„ttttttttŜttƟttʣtttuuluuuuuuuuuuul׾#3#,)((((''')#$))[#$)(#&'&#|P$)({(+,+(xS))t&#"%%p;p()m!ԏ;2adhl))g%qm"f)*a'+|`*+Z!-Y*+RR++M %(% M+,F#!#!#F,,@((@,-=3+'''''+3=-*-,+*****+,-*gdcccccccdaaeeaaedbeeebWaedilmliXedjiijjxXWddk||cdqƟnddvojfypddu}ddxrqwdd}xx}dd||dddff_fdcccccccdf_׳Գֵ뺺ů괴贴Ծ贴紴崴䴴㴴ᴴവ㵨"3"    )#$F@ $)#"()%*.)^)..*y04-,340yr68/Ξf031qj;9Web>CuHU^VsBFHGDDZMHMNNNNNTMRTWXXXXXXO$"/* %*%JD +0*)/1,150d0551|7;43:;7|u>@7Тl8;:tlEC_heFL{O]aZzKOQPMM]QRWXXXXXWQ]^bbbbbbcS#3#,)((((((()$$*)|{{{{zxvR$$*)t%(((%qG$*)n(***(kL**g"#f:c)*`@44@A>''CD76DFC'({HE53EJH{((uLDDMMu((pOFGPPp()jVRJFFJRVVj)*h_^]\\]^__h*(+)))))))))+(a][[[ZZZ[]YY^]ƛYY^[X[UKY^\ad\M^\hkcxON\\mog\\qskhppn\]vxoowxu]]{{sr|}{]]ts]]؀]]]^^__Y_^^^^^^^^^_Yƕ䕗܌–䝟ێĘᡣ٭ߗ१ʹݖުݗۮԫۗڲڗضؗպ踻՗ӿӗ¿їә#3#£أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ&#!!!! !###d#!!"![#!(-.-'`#!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`___`cilx$$$! !"#$$#3#£أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ&#!!!! !###d#!!"![#!(-.-'`#!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`___`cilx$$$! !"#$$#3#£أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ&#!!!! !###d#!!"![#!(-.-'`#!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`___`cilx$$$! !"#$$#3#£أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ&#!!!! !###d#!!"![#!(-.-'`#!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`___`cilx$$$! !"#$$#3#£أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ&#!!!! !###d#!!"![#!(-.-'`#!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`___`cilx$$$! !"#$$#3#£أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ&#!!!! !###d#!!"![#!(-.-'`#!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`___`cilx$$$! !"#$$#3#+(&&&&&%&("#)(f"#)'!%&%!X#)(&+,+&[)('++)${?z()w'(#5kprs()n'"y#m)*d' ,%d*+\'&/&\++T)*'k"'T+,K*,)5 ))K,,A*,* o(+*A,-9*+) )+*9-.0*+*&"&*+*0.*.....-.....*vsrrrrqqrsppssͧppsrorsroepsrw{|{wgsr{~zÊgfrr~}yurs{~rs~ss|sssssssttuumuttttsttttum콽轿追Ҹ鿿濿"3"edcccccccc__cd__ccZ\\\ZZ_cd^aaa_]cd_[ZZXhjWZcd]]ddc^VTV\^_cddgcciigddihaYZahjiddklgglkdekgc^^elnmee}jkppo}ee{pkiikprrr{eeyuuuuuuuuuye]eeeeeeeeeee]wuuuuuuuuurruurruuuwwwulruuz}}}{nuu|zxxwkluu|}uu~ywy}~uuuuuuuuuuuuuvvmvvvvvvvvvvvmʼ#3#,)((((''')##))Y##)($'('$}Q#)(~,010,{V)({0443/x>v((w331/*Cmpqt()s4-)0q()n43n))j6#!#6j))e7%1%7e))b=*)*=b)*^BB^**\JA22AJ\*+[SQMKIKMQS[+)++**)))**++)_\[[[[[Z[\XX\\XX\[X[\[WMX\[_cdc_O\[cggfbrON[\fhfd`x[\hcXU_e\\ih\\k^]^k\\maiam\\reder\]ww]]~xmmx~]^^X^^]]]\]]]^^Xѳф|Ί~ʎɚ~}ȇȐƇđ҆΋Çђˊϑמؖ؞"3"edcccccccc__cd__ccZ\\\ZZ_cd^aaa_]cd_[ZZXhjWZcd]]ddc^VTV\^_cddgcciigddihaYZahjiddklgglkdekgc^^elnmee}jkppo}ee{pkiikprrr{eeyuuuuuuuuuye]eeeeeeeeeee]wuuuuuuuuurruurruuuwwwulruuz}}}{nuu|zxxwkluu|}uu~ywy}~uuuuuuuuuuuuuvvmvvvvvvvvvvvmʼ#3#+(&&&&&%&("#)(f"#)'!%&%!X#)(&+,+&[)('+,*&|@z()w'(%!=prrs()n$s~M"l)*c`!c*+YiXyZ++Q;HQ+,IV\I,,@mks!@,-9%\!'9-.0)%<%()0.*...,++,-...*vsrrrrqqrsppssͧppsrorsroepsrw{|{wgsr{~zÊgfrr~~{xrs}{~rsϩssقssssss临stİtuumuttssrstttum콽轿追Ҹ鿿忿"3"5433333332,,24ffgggfea,,24a)+++)a',24^+...,^*24Y*---,BCBcZB?HIIH[SSOLNNNNTOVPQVXXXXXO$$$ %***'L;+00/*L#1551p+|7;:/"47|u>A=9>ulEF>??@<7|/`CBBBBBBBBBC>{yxxwwvwxyuvyy¾uvyxuwrkvyx|~wmyx{omxx~xxxxxxxyyyݐyyyyyzzrzzzzzzzzzzzr#3#gedddcbcce`aee`aedACV`ddLPFWddSVLtYXcdZ\Rhcd_aXU^^\ddeg]]fgdddkkb`lmkddpnb`nrpdduopvvdd|uv|}ddzwwzdee_eeeeeeeeeee_#3#纺庼强ϵ껻軼鼮࿍ߍփݓԅۗѤ؏؛ȩ֎՟ԏѢ͝яΦΏ̪̏ɭ媮ɏưƏĵĐļđC@?>>===>@;;@@s;;@?;=6-i;@?BD9/m@?DF;S20?@FH=Q?@IJ@=GHF@@KK@@KLJ@AzMMA@MPMzAAtOL<;MQPtABoPHHQQoBBjRJJSTjBBdVSKGGKSWWdBC`ZZXXXXZZZ`C>CCCCCCCCCCC>#3#+(&&&&&%&("#)(f"#)'!%&%!X#)(&+,+&[)(',-,'|>z()w(++("9ghnr()n(*$Xk)*d(#Gb*+\$nnZ++S!DQ+,I 4kI,,?1q#A,-7#'9-.0%$'()*0.*.-,,,......*vsrrrrqqrsppssͧppsrorsroepsrw{|{wgsr{{Êgfrr{rs{yrs}ssssssʋssstٍtuumutssstttttum콽轿追Ҹ鿿濿030`ZXWWXXXY\XX\[XX\Xx|HX\WK\X݌ـKIZX׏YY֜YYԥXYЬXX˲WNµN|ՑӑԔᵝ䢨ñWG-%'3'#zػv#+#w-3-{(1(|- .!>-....//.->!$B;;;;;;;;;B$%$$$$$$$$$$$%#3#,('''''&'(#$))_#$)(#&'&#Q$)({%)*)#vS))r&)(#a,l)*j%(!YXd)*a%&]*+Y##ӎBV+,O" L,,E C,-< :-.2 3..)  +./! "/*/.-,-//00//*vsrrrrrqrspptsɥpptrorsrnfptrvzzyugtrz~}ztbdss~}rs{tss|xss~vxt|ss{zst{tttttuumutssstuuuuum޾񼽾ھɸ꿿翿㿿ÿ  ®{ w@TPQURM,?9\uɸĮTh]zsf|`qogzml{sr~|||||||}yy|i:LJHHHHHHHHMG dzlņ}ᯢ׾ŶƭRidbbbbbbbbi`y   9 ^}|{}}|z|||{yvt}~~t}}~~}}}~}}}}~t|7IBBBBBBBBBBBCH+ɺƾŻˬĺŸJcYYYYZZZZZZZ[a:   jR#3#鬫ʤ鯮˧鯭˧8BIMPatt8BIMlnk2>liFD$b153c44e-70e8-1173-9870-930db18117f2file_extension_ptb.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<:IDATxڌSkAdi4mlb`@RX^zxz(=Ŋ< T{C<(5Ah b&ogmmz̛yoޛ7:sZ6=Bע#2<6u/T< Nh>+Z{D`;>/Ga|.=[(7窕b=6P 50@D- =J%,(J@& ^ّp3X{2t2!gy;hy ;(0U?@1pӏq8j/@RH ][_2bn6.z4m e0:$4?!}y9 ;ɇr2I֒ϏuQYX<'›q?x//.h.+]Yu*KUC`"$GIENDB`liFD$9825338c-70e8-1173-9870-930db18117f2file_extension_hqx.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<%IDATxڌSkA};;^rb"(XoR lmUZZ(qЈ?"EċAăGAo&;6mc/LΛ7yc nj?EjӢ~Y~!QFI1s/1$Ivm]Džpz(F\9]6<шc++ĬQ1x5,.`py:JT(! z=ڪ4py #'&gggX}(X]mbnncV*8rt_鮓&1 -8<*'q ccgqi4M*ϣxf]  :AZu [CLɂ } =h{ )ԫ °u3\{'FK;:yָٛ?=v_ 7F΋0IENDB`liFD$4e0ca1c0-70e8-1173-9870-930db18117f2file_extension_gz.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<+IDATxڌSMHUA=s՝(C^H =D-#-6nڄBP;AAMN&AQ"hT" ZXy;ͼwy뢹|3s9sZ <3ƴ5:!!~=4uA")BLB WK၁RX^$<A]7ƥpcR@Xr{4**'$ԕ1vKJH2= I:o:K{ 8o"A[ϩsJDWAcU٬rss_9QTqiZz"55T'KB4G6/1y };<'|pIENDB`liFD$21f17c42-70e8-1173-9870-930db18117f2file_extension_zip.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<&IDATxڌS=hQޑ&A3%]/HF0$0hcSP$D F""Z(Bw޾y|3̬JOj?]ȒoRGhJj Xsmos!1Α /OMlmѽ0J#7QI/.:38 E/.B>6yPJjי=M$Ok5.ז1qstT۫h[?B oӫ$B-v-jR(EGQ 05)vM8IENDB`liFD$d5cca80a-70e7-1173-9870-930db18117f2file_extension_bin.png-PNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS=KQ=cf,  D }:B[N, EH&B IbQDHBp`f? ̛w眙'05IjWՑdŽ:]PL^vyWOd38cqRʴgw1,HHRjF{J [LGʠ:0$В_q#f@(Yś&K85 (.R 9_KH,SVlAbkq }~#A4ZT]﨩R5NjKXgRD8@ OBrs/ݛtI*?r1}(H_9L!%Ke8VoL[ ֥\|&SxzL@^04Vt.ݿex779Δ|:G IENDB`9liFD$cc65cd91-70e6-1173-9870-930db18117f2file_extension_html.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<iIDATxڌSkAf3MkQjlҢZP*Ă"ŊQR? ī'APJM+xve.k=SyZHuOI,+#C}起=nY s?P|/c\eL X(jRDxk"qJ(?M &ɝƽAᗅx?eHX!0} &Q9/Iys9߽(B߉0IJď Cu誦G3{aHj8סye͌ݩeZ5j.d"=7nK"^1H @!%q8b38z%φÒ4dO6UAj}fuJW-c9As}[!oـqsb4~.U籽g9Jx셶Zg w`xϩ+ӳ+Ԃ"d'J(j#mQ:Z 7i2uVHXZDA| MucZD◸$npnu?(kwT ZOvEZ{INB4пZrXH@mQ[55nbCKWNV$_~p^U& fIENDB`liFD$fdefcf69-704a-1173-895f-b3229314356cfile_extension_m4b.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe</IDATxڌS=kQ=yMlvE]T$gD (QB4*"!UPYE0)BAl%"a;{ͬf={paOmln>Oڀ ʒTYtSi'm6Fr(x-"vy$f-bE\Mt]L̉h}}T ReQG^:1)n߄cD4h A`R&VEm{QTk:`8"pRC#Gv̡*.؅K{oi\tm:Û6j \8 7BLԍ}p+?Z:BE<&}P$h۫]!J GTn<'+S{{_zndEy ޜA?|ok+x.y)I: u4>n T(,X#gPgFFy 0d 82\`\EYLL8[vrX M>' WgpM0l!B_ANIENDB`liFD$e6d2e6e0-704a-1173-895f-b3229314356cfile_extension_jpeg.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<HIDATxڌSMhQoiKRLR (֞ċ*TţWѳ*أE'=RT0J6%}f{[cTB{3B6aFQyRbpů1,Re*_k%,5$q,LRp=$`,*u ?8܌CX= nM bH3p@[Т,[JW Y:8S0 :?v= &'% E߇q: ?yq 磊RIG!D-Ũ$@VN`gf&1l޸y.첞PL ύH)X;C(1@A|K!Yvn):n 83e|p\RQ(*~/V^Gr3g~yC dl9҅30IENDB`liFD$b8532814-704a-1173-895f-b3229314356cfile_extension_doc.pngpPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSOHTA}f]DI2wlF !N)̺ ^B*ʃ!"Y*4B )ŭ ԥڭ}off[Vyo~͐1vjhiwh+Z3WF &q0/&yZxW2+7 BD^5Ns{99T "2I%<ϋ|4X4bF 30xq*"ؙrIVhaC@RPZa#'+\fÚ6r6K$KB,,BBPQ>/C`A&{\u^Q[c#[U@&:ڮn̲X|҅%.FEtOM{|yPT q˚) i$JxF$3+>9dȤB7.Oo|ςǒzl<~n7j*xIENDB`liFD$3d2e709b-704b-1173-895f-b3229314356cfile_extension_rtf.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<:IDATxڌSKhSA=~"cU  ZMŅHEu!ua TnDq஻,,R*FH5Lϼ|)80/wf={sR Ka(ڹ'21|fѝpRK?:$FbJr>iU)<}A zF0:'H2L10Ls> 1!H { sΕ6_jj/>4%k)Q Ed:?(,P%^ V-nmmVˀ',n<6# nO.`yh8u5\e 11y*8`qo5zҞԠx5~裗ҵ l:&2<\,{A@LU=`>RP@ IP;{A)‰_.ov{."XTѾAϣۜ'Ħ"ֻ4dc4}5~ǒ=JoX`}H1ۇIENDB`liFD$3b187f9a-704b-1173-895f-b3229314356cfile_extension_pdf.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<3IDATxڌSkA}l4nK=gMDDR+^ .z G+߆/K@?\C( oYxP!y҃эʩH | h}^JR6uVy _ӥT~$b.tN;S&5ָd|< -S+I}F HۆL$ DngMkGu֓me!FPW@}o51R0`u2R.B ( #1Ё-V-q( RH!+e$'Bp+%ے$YÁ9,&? ̣>C_! AB4Hٗ}vXwv(v6N{Xۀu0sf.#X(p2N.^G`.Ln]PL;ay邙 rӱ祂֩^߼=O0ԇm$TKlIENDB`liFD$29a1d44e-704b-1173-895f-b3229314356cfile_extension_mpeg.pngPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<@IDATxڌSAkAfv766`!PŃ<$5HjlGڣV((BDr1Pbڂ6R횸1-8˛}o5t]88t/ Xr&\#}P tL+M/oG./1j%G" C  UHy "qM9i&Q) $ 8B <~C7uE%C\'rȊ%vl%uvD~q!ke@ >җ"^g28y]݇aJG+@e5 4C&d! W:8ыxxz_~p KHqDZ c5&Zi<{2nPRHY Ԉ #f񼣫 Żϑd#%mŸ_?_q y<3lUbe'^ Q>WboIENDB`liFD$c483e490-7049-1173-895f-b3229314356cfile_extension_exe.pngePNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS1OQfv;sАK4m$; P bNPXcb.&F D1\dwW0ݼ}73߼'ZjΚn|_{G) ~hh@Mug۹c3 fb`wэ7q*sM!D3CȐUy$mƫA>>q. }P+)"cp^؀<[ȥAx2WAr{ >Ti8,m`vB3Qc#GLJ:\M;X{U|bq6v An QrՖSq#U[hHq%pp}w7@0ߣ4akJ'2_xܨו )ۓ+]uP̔\,i캾ը_q"8 Jx78Ng}mQ7SmJג׵umBk: IENDB`8BIMFMsk 2                                                                                                                                                                                                                                8(&%&: (fo '!%&%!Xo(&+,+&[o('++)${?z()w'(#5kprs()n'"y#m)*d' ,%d*+\'&/&\++T)*'k"'T+,K*,)5 ))K,,A*,* o(+*A,-9*+) )+*9-.0*+*&"&*+*0._.-._ ~|}~~|}}~~}~}~|w~}xɸzsf`ygwl{r~|}y|r|v** rdhc mc  ? 5%%'%%22>A>22>8@C@8>LL`YWY`uttstuSSfdcedrcZ\ZZrd^a_]td_[ZZXhjWZcd]]ddc^VTV\^_cddgcciigddihaYZahjiddklgglkdekgc^^elnmee}jkppo}ee{pkiikpr{eeyuyegegjZXWWXYi [毒 Xx|HW KX݌ـKIZX׏YY֜YYԥXYЬXXWN N|9('&': )_p (#&'&#Qp({%)*)#vSo)r&)(#a,l)*j%(!YXd)*a%&]*+Y##ӎBV+,O" L,,E C,-< :-.2 3..)  +./! "/_/.-,-//00//_E*)C*~~|zr*x&*&xr*t+/+u t*n,.(,.FC# j*+h-&[)./0-h++b.%\+01.b++]0&\,10]+,W0&e00W,,Q1';21Q,,L3(:243L,-E3):2443E--@41i=354@--:6645676:-d-d9)(;)|{zxvRp)t%(%qGp)n(*(kLo*g"#f:c)*`z()w(++("9ghnr()n(*$Xk)*d(#Gb*+\$nnZ++S!DQ+,I 4kI,,?1q#A,-7#'9-.0%$'()*0._.-,._8(&%&: (fo '!%&%!Xo(&+,+&[o('+,*&|@z()w'(%!=prrs()n$s~M"l)*c`!c*+YiXyZ++Q;HQ+,IV\I,,@mks!@,-9%\!'9-.0)%<%()0._.,++,-._9)(';)Yp ($'('$}Qo(~,010,{Vo({0443/x>v((w331/*Cmpqt()s4-)0q()n43n))j6#!#6j))e7%1%7e))b=*)*=b)*^BB^**\JA22AJ\*+[SQMKIKMQS[+^++**)*+^wdcvdcZ\ZZd^a_]d_[ZZXhjWZcd]]ddc^VTV\^_cddgcciigddihaYZahjiddklgglkdekgc^^elnmee}jkppo}ee{pkiikpr{eeyuyee ϵ ϳ ЊǁΑă͕ßˌ˙ƣɌɝɌȡ˛ȌǤnjħč«䨬qedcbccr e dAC@44@A>''CD76DFC'({HE53EJH{((uLDDMMu((pOFGPPp()jVRJFFJRVVj)*h_^]\\]^__h*]+)+]srqrsͧ rorsroerw{|{wgr{~zÊgfrr~}yurs{~rs~ss|sssssssttuuutstu ɺƾŻ˱ŸŻŶíƭ ۷vzvuـw؆՚vvՁԊсыهρΎ΁˓ˁʚʁǠǁħāİĂŃxuwuuuwuluz}{nu|zxxwkluu|}uu~ywy}~uuuuuuuuuuuuuvvwvwշ ӷԷ  ᵝ䢨 ñ WGsrqrsɥ rorsrnfrvzzyugrz~}ztbdss~}rs{tss|xss~vxt|ss{zst{tttttuuutstuttɳtrurjt{|mt~pmtt„ttttttttŜttƟttʣtttuuusrtsqtqgswzwhsxvtvxhgssvxssy{ssxvz~~ss~sssssttttuuutstu0.b   b)#d$F@ $)#"()%*.)^)..*y04-,340yr68/Ξf031qj;9Web>CuHU^VsBFHGDDZMHMNTMRTWXOUUzzztvtqzz}ztz}vtzz{|}}}|{zzzz~zzzzz{ѨҎ{{{{{{{{srqrsͧ rorsroerw{|{wgr{{Êgfrr{rs{yrs}ssssssʋssstٍtuuutstusrqrsͧ rorsroerw{|{wgr{~zÊgfrr~~{xrs}{~rsϩssقssssss临stİtuuuttssrstu أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥi\[Z[i\ [X[\[WM[_cdc_O[cggfbrON[\fhfd`x[\hcXU_e\\ih\\k^]^k\\maiam\\reder\]ww]]~xmmx~]^^^^]\]^ أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥ أ֝ש՞իѰӥծҤӮϤѰ̣г»̤βڳΤ̻Υ̥ͥΥuuuuwuluz}{nu|zxxwkluu|}uu~ywy}~uuuuuuuuuuuuuvvv ࿵ ߍփݓԅۗѤ؏؛ȩ֎՟ԏѢ͝яΦΏ̪̏ɭ媮ɏưƏĵĐļđ OA@@?>>??P Ah @=>7|/`@CD9w0e@GH=tO32@@IJ?P}~@A}LLB?IKI|@AzOODDOQOzAAvRQFDQTRvAAsTPA@QUTsAApVOOWXpABlYPPYZlBBj\YQMMQY]]jBCgcbabccgCnCBCn peddccbccq e d@CBCBcZB?HIIH[SSOLNTOVPQVXOUUľ Ҹͯ˻ʺ̻ʼ-%'3'#zػv#+#w-3-{(1(|-  .!>-./.->!$B;B$0$0ſ 񼽾ɸÿȿ׾ľ ѹ42ff$"/* h%*%JD +0*)/1,150d0551|7;43:;7|u>@7Тl8;:tlEC_heFL{O]aZzKOQPMM]QRWXWQ]^bcSXXҾľ Ҹľ Ҹ4#! !5#dl !!"![k!(-.-'`k!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`_`cilx$Z$! !"#$Z4#! !5#dl !!"![k!(-.-'`k!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`_`cilx$Z$! !"#$Z4#! !5#dl !!"![k!(-.-'`k!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`_`cilx$Z$! !"#$Z4#! !5#dl !!"![k!(-.-'`k!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`_`cilx$Z$! !"#$Z ѳ ф|Ί~ʎɚ~}ȇȐƇđ҆΋Çђˊϑמؖ؞4#! !5#dl !!"![k!(-.-'`k!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`_`cilx$Z$! !"#$Z4#! !5#dl !!"![k!(-.-'`k!/33/): !!32*gbz !5m} !8VXTv!:`NQKxv !y9+5:7٠?z!|M{" kD7:> ZVx"!mV^v"$td`_`cilx$Z$! !"#$ZʼO@?>>=>P @s ?;=6-i?BD9/m~?DF;S20?@FH=Q?@IJ@=GHF@@KK@@KLJ@AzMMA@MPMzAAtOL<;MQPtABoPHHQQoBBjRJJSTjBBdVSKGGKSWWdBC`ZZXZ`CnCn yxxwwvwx y¾ xuwrkx|~wmx{omxx~xxxxxxxyyyݐyyyyyzzzpdcbcq e dBE>VdLPFWdSVLtYXcdZ\Rhcd_aXU^^\ddeg]]fgdddkkb`lmkddpnb`nrpdduopvvdd|uv|}ddzwwzdeee ƺ 䕗܌º䝟ێĺᡣ٭ߗ१ʹݖުݗۮԫۗڲڗضؗպ踻՗ӿӗ¿їә42ff$ h%*'L;+00/*L#1551p+|7;:/"47|u>A=9>ulEFELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmLAYERS^$'.*.15t9.<@CCG^JNQU\X\J_cg$jn^quyA|^2t Layer 1d':B49E082D-A1FB-487E-BE17-E16F73A8F48E-7317-000022DE0376C4C3@1xQnPEK}՘ƿbKwC+P[%6'<1}32 UOP:ߧ^pIyT?/gjA"IGQ.qI,K4G{7ԘsrK0QtRq՘s3Qv0ƌs>WyVI!16uU%1_3(v3,V~3xp<ph}1kz|SlMWFu{yTU streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365Ez3dird':2FF17678-F87E-4E6E-974D-AEA1452BD260-7317-000022DE0375EFB6@;x]Ha Zf dwAQmtPTE7% "!i.u:0l}Xln*L,hQ79g{ٴwŢ^qy:al]`SZj~svl-"CflO[Ej1M/: Kde*Kd{e\Yݻv"> ÜNlNtn|xt>?AȥaO{:ԤV\v㠀1F(ԲS&$ĈDWgT{̱Ѫ+f streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365El f dir-openedd':E171E19A-6285-43FA-A545-2E08E088286D-7317-000022DE03753825@&x]HSacW]F Z-*hj7}@lE])4؜lڪ55͕-6gZQb $*km;g#ӻE%=㼼8T"{j *{TF><Әc /n$LUY"(Weޛ-)Zvu$ު/aӊSD)WNn8sc]MؽwY䉄K[&hEGZ-0i70ݫCl 볊vn+4㟌RLu o`{lvk XI>;tRlB#GeFuH .JkE u_ügםhI|!"o4vEJlNG1Ov4~C=c(_(y+G~òO1&m9Nrjʡ)1Q"溿J{1cH-!Z ,4!z^7#5\ԃT:^sO=r҅w¹}un!Xӫ`nCGe~"Ԥb|h܄#d^t,E,G\PWG@{-[!"n!5bF8 T"Z"!fjzW3|ߏu?OCv:АdئƇ~bkrkyds#&{Y_/YMx߿ 2J dW.ـДy|6&;x{oO,l~sgB]!:r 82m*Lުxus3X1Kfёy7 /olEUEFN} >jW*Wyxs3I6g^O.*z9[H^/۫0[y &oezest.Q1~ ̧Z{J$v&ӽL1Q4;oX Wr__  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E file_extension_jpegd':86178D35-500B-4623-A85A-DFB323809A81-7317-000022DE0373DCEE@IxKTQ]6(E1A*pѦBhhԦ&(a1!jGe91N83i{%.z{ϹssϹ/A4@I$e'SgX_DaqDU0J< e_#/\b o.@htLj|`"4~t Y.yalrA%lvb av4 .plWhTpL}t% S"zz b|ZtY2}OeBTBo9 akM]:A2C1Kf~  /|qleԿS֯OUf[OȪQe{ՒwbZ5fZ_S.S}թ1i})f)=olК -Գ5gc<+f) $&)([ ԢdgCdTN"NUSdM`7}_1Ki;԰(V>ï%[o\Gu=~Vk ~B streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E 'file_extension_htmd':B6072A85-4E32-4313-9BFE-CA12E71CDDE9-7317-000022DE037336E4@hx]HSaw]3?(smQAՍTWQ 7Cj 9E2VD4 ,74u)n=Չy[uڼrT ON$m^ ]>L*0tmeЗݥx NlEoe풃ױra]'71s$Zm&}z^Bg3`/O*@9 ぬ~-9 jjx >ƚvRtIi>GƁ46k/jWaS~&.#f/G V\#kkPb~}ƭ`y=nƲ<#M){>dӗ&^ |WS1 6n)0T#c= om]GW%.;ߔ};>IqԘ}\,,MQ/߸;g 9'M`%xto}E cd`o_]H..gQH|bF[6"К.sM {`yDg !hc-L[UM*[J;򤉘mu{\n]]ZcyI22Q,;H streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E file_extension_zipd':141ACB82-8C5E-4C2A-B4DC-B8D953D85190-7317-000022DE03725503@HxKQ!(b=N)m.*DK~1 QW-ͽY(W [εƜ2P4Ÿgv`DP?x}:ORwJ ΊxVZ|݁5'W{+%}ױ0_toG:s;8`~L+r}m#TNGsw=8꘡4 `lAp5T Tp,D}oZWJgx̭tG)M ӑ&h緡uGAsEG3f`#Y3er[;SM}Ks & C(q:7' s8O5{;Cԟ&IA&d}qjZy8EzI%:gI7%8O57?XMiZf%Lq 9SMˏ02h{x 5+h͞q"+s+MLU {&"NrThA\|e,C?Y@Ģ,^wX<uC8Ъj[<5̳9A㼢=!PtR*h streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365Ew ~file_extension_hqxd':0C889008-D40C-41E0-9823-0527E71BC619-7317-000022DE03719715@)xnQy TZ,0J;@/ L -3ԷO`{uRq%+s>s有TMŠBVȲ, 9|uE xy^A aNsDkw^ p w\.8`&XF ~F@y cBf&/Ã%u) '4Np y++REXFvsA v 0[% e"e!Pg9kn7#G|Ny s."]}EB!"ө'։Q2Fx:%ubRHX sQG6F& Z.E%jVv(=9f㷨VʨbG1תgœ"gEvmMCUњ HrT;.<:eG&Tgٰ&:*͐r(oP7r g,qŒ_I r5%I~ּ}G_oTGYeAI32eH5SIX/N('&Vwq稯pavUC0Lȅ˴av)DX1_җPG](dyaQDϥ'M 4Nã\;ؔa6%Ĝ9Ik #M3$`U܏& 6˳bIoǰz_JWx绒jRp̓&֍-0'pƨ7A֔'M m x=/1֐goW45+RD]+.bm&Z553]%_-@nkmn]5 uyO|2܃Dψ'>k!ӝ^_"5E㑼'roȷo)G  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E Xfile_extension_htmld':E4915B50-BCCF-4E3A-A2A4-88DDFC85C7C2-7317-000022DE036EAEC3@xKSqOZuvqA_"|DFWkGܚ $ lRZ 7aiⵄMݲY.}{~gqbH/wαCH+Vo;Ņen *ڳu: p_Kf<*:%ڌWrA|N῁km*ALJ_B^!_\Yo Od!D fAOI}o9JZ4Uk̃R_n\/gdeIt6HpX@Q |F}z9s1fރ< _ q[ཛྷ v, kDȲΖ qb3hi=Ad@ XJЂ/֣U˓&!,tΠ/"s"p\|u;L&wR?QǦ]kދMY,˓&1תEv-Qi?Hg1fԥf9'M[ 0lހocLHN#}cy$e[Fne#:BvDŽH{1FmP9'MU l5qh^in~aJr,OF*K;FNb]xsZxƬqxrnk.NUXH/ӜlEo`.&{q2"ʆk$JPdX%7o}=XC׮:xosnXP#VHt__i/SA~LƛV2xV!Gxϩ8ʑCpl/IY& m;Vڨ?u÷Kp֭zJ̔O'8Q$8^XG%epBqGϾR_n f*}sN 8YZJ\kA.̥:G£KEËdk&| ԴC+F qOx#fJYhZJ:\9剙RޭL.)vtW+<1S:w 3 |zBm3s͕SHI;mҹ)O̔l܉! v\Iur3umxm/6zkLׯYDK!U\9-UF#7a streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E7 file_extension_bind':B50AC766-400F-4253-9654-13294B38B1A3-7317-000022DE036CAC73@xKa/tA'doKTFq҉V : &sZ e {zg8E4nZ&R` _f]Ea,LKS|Zsq?Jm(ڭKt7GN2faX=q)qKa,1߱93cVfzNb]xsZxƬqxrnk.N TS)T7t[ V ROFΆQS#ւGGXXkC&5#P'|DLjUz LSh|MvNY0Zo@ӝX~R ,+nu";G/ dˇSw11~ BǠ}iRdJ  9y|HXWyRgLِ= IqͥH7q0Ma?ߏLXN6W"n7#Csq0Maى{1yމ|0 N?)K,S+oMݕ_g2Ɨ~|:TfݤCqA@W uYzhM dzA2['vGD6mB'mo~@5 /E5V[U{doG5^$&|Tk8> }i^5HZa1N8ɧK{rNeca$} M5k4FIU ^cj~3؈'m1jVae>JUxmVB1O5 ^ 1yjje #Q,zSMB(OLۏbZIK&bxgاb' T *G̥G[yO<>$jF\i {֒D* streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E file_extension_rtfd':7A7AE012-6ED6-4941-ADAA-B810F40DDE18-7317-000022DE03658E24@>xKha"$$ͣ&$u•RPՅ`R3ƘQ,TT"U뢢dLHR,]P HxLb~p;y<:*G %/0 B˔ ǧ; ^AHxB\@D=i3Ao;:[LPN{ 6h=Əa݂"Ci} (!p"")J5P#ǚ1^8v]1!38z 7, XQCX9UcLC5㽘8S "qa:t؍I>o{ S=&U2QZ !]Oߞ|·_伎[K <ɜ>gLCmK6dUsjD و^ܮ1 ڊ+6,'wȓ5'0cW}ϘFBj»:0F{r[FPf:U36f__ p>gLC9`P[W7͔2pˊ׷s~4[트&K<[gI/I\_WN=?$K9 streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E file_extension_pdfd':151FF549-750C-485C-9255-3469B07D2FE6-7317-000022DE0364E54C@@xKaBb L!RKSI3̴eDp"ˈŋB2E!R00"𢚂0-SƲŖ_D>}~=q&87w8<:a ~[s? +cD-kz@lK%G"Frw7Dh C.H!5yd%cxpBOb:9mH0CwCZ0Vl+sQZsK˞6о`[.T'}nnʎ)L#̴`O|r2ޱaxO<^{̐%S=Kafy0k,ֹ\ﵧ} in:E]ϓb"^vQh c|ƣpMhr邗67G3}꣢T6<_U! ?El mO("~5>(] Pt↓= Rd  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E ^file_extension_mpegd':006E318C-BD27-431A-AF83-E3B0BFDF3832-7317-000022DE0364379F@8xMOQ @?Y# cܘYJ[mU ABݸ35%R$F&4%i ƥ}9g0҅OrrLfv v>mZѕAvXK@^C^g>zS ^dY$ X#m;n߬86z/\"z ]XK;qh3iH+M pamوlċ@zH+Q/>ip>ZX'iS&#Ȇ'v, r49ψdN٤P( D y0yOtqJgo.U#s"^y݋["I(/tg2Ol1t Ӂ}`~IB\?i( U_ۣzSL煇G񮳆, cۈ[yfx=)!-t{ dl:s=)H dcb ߈D|4>{SLHMd:Wj۔Ǿn+(mR  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365Ej _file_extension_mp4d':B87DDA57-9B11-452C-87CB-C71D10DCE80E-7317-000022DE036371D3@xKSa_us/n;`RHЧ>d_(" $ejL29b#  2Ȝۙ|mAz $"l>%.ιg^}Ы^%cKU. .?#sȟ9Ѝ}kz܁\RJdhA0 1DZe~@ ẵ V$;.z0#voE1ZM9x ) ݉#ލ|;3)<@ᢇ%/L52G$؅-lӈ.{O|2MNzL%Ӆ>k/) ݅/xy͋+R(^E^nccw#Lvě~k/)d.;[e>d;0s+~L|j'>k Cw=k9 b6ً'>k (P}wvaO\FEϚ"r` + 05XH=c%܉'>kۿF|~e#Gį` 0 streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365Eb file_extension_txtd':0675C424-B6A2-4128-A197-5E9EC0E334B4-7317-000022DE0362C35D@xS]SRQzz%fl0,@eȕ˽(4H]5c3=Z25c9xM |l@Emw |>j:>h7_l}=\ʻ MىAH>G~m@BӸsy3=a#*dw{Of]yKY 03BF9DU>@n md.0! "7PqUQ2Zoz]Cc*Vc/uELj ;a"זx.щ6:{=plV,<ةQ=md_[Fw_HROa/:AU 6'd_t̓w S<=mh+|QdMusmc[NkIA喒m%;ec[NsAe vI(R5D3ehKb-B:Ld aeʲl6%Dxm[*K@6*vZG^5mKCA,gPo  streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365E#Layer 0d':C24D76FC-604F-44DD-ABC9-DE5742197FC4-7317-000022DE035EDBD5@"xox}XUXKl-\1^ hb{C"*TH׻!`=߽7Y̞w̞32{8rHqْ6z'%?={vE*@_̜9(W =UC ,,'.eXRbi?!j(qDEEJ׎ Rܧ ,4aCC XrqN/u ..V cCH{)CSzj89HJLM+@)CDڦLKKS))HHU4H].HW W898"%9V륞lٙdrdeem=ezH\UVᄛL].V=wvrBFF gaL<4n'Nŕ)4WL;oL%K4B{{]Xe쉽bdjqp]˪p.f!\q]ݗ8<ω%Ȕ(v$2(W\W}8h+8M^ҏecNʩ@sz[5_pw{PC\\ԛj:;@/fVԶۉ;w_iRP]ߣvXtr3[oDKj(qe BKB5]FGg3OQRh?#Ob٭g9>>M`YyC :_% ؐ@T*Mb\\݇W`i|VDNP/vQ[C |r]OoBwO](q;(W\Mc o.\Ƈ0)!)b'ln-DG9\19W)g缲I;߻['Wޖɿ/V6{-gt >artj܏ۍfίZKRoa AseL/$A<9ɧY8`/mޛzp_ N{yj783M;N^ VKboW70Ӵz4I%'e4 J>B"_GdE(NjBa/ϓ_|zd[.bluzk~ kJ4fXcoCLJޞUʵ1K\KRP%Y*8VrͻԺ.*vmi+eJB4fRT˥ssLJ0K%`,[%O [ ZTHV,ӎe :oo)Kʔr-i th|-'6b˨$}55Ud!6>g(`ZNps(Zditd9]\"FP?<0 х#4ONNJ >b#j8Ǘj(v=Aن_}#s'?Z.7ȇ$ou{IxW㎺.cJaooShjv_Wkndx/YȚHFSÿcMLդ\V6$\W~CEҴ@uz?U.J8L#ɜ D>J Ğ2=dSI+0J؉bb/~ĬYo~:?{Ŋ ܧ@֋n(q`Eb2n1{) /^uFZJp}1ʕ.[c,_m\PJ~}JU 篦5c~ʙTL:r?Ѝ7ARRB˺1/߷o Ipe+hѢnC{(=2M7z>hh޴VL^/kGr<|rua!̚j?DRQB aJjmYyrmGCkG֎H0g*,Z dgԿ2^j3LzDBH?? )#$C2X?DxYb8w^V-cÕ)8qaz"hD[zCǀ=eyQVpgV wwV+!p[Yl+}],fzߊvjgskkpbYٽ[K>)vW+Rl5J\!SW~~jZ;~)GFF"2* d"LJb!~)A\l$)KLFL LYFV+S;g7*xvdV% hW88JHVsc_ׯUZ쵹v066>KY^Oߡ~ŝ_{o/xmKŸ p3)wʨVA_T,%?W#bգ|.<2[O?poᳯs92枾iQx?+Y\bs9RIJ?+~KBuTg$ =1I:ʵ܇9Qbϋ|t iHDVr e{#:%m>CF|뺃nJ[UYZ>MJ>: GwYN^Թ6H54 4nDo-G9d}P v.ܤ+U{〃@떷2Ne9OP}@w]Xk"Ѹ5u/ĉ5k$sX$;pƚJbdqkMU=c?b Qa F] ^ON5u>Pƭڵ.oSB2V 2\F? tѤyQIAf0sNK Jrm{[hm]-&;`˖]])64-:<3fO@?3/ )C 2$_ kܼyC-C(2=$.={ kQ !q;~zcNU^)_YC}ASeAk߹@ž z bcS̙$ejڛrR'9*:?Nϟm(CS ϛ4J\gyȞ@7(ίI˺_=M*Ts3̡3&:VR374aRW/^Z1h[M/ ceɎ_жGxuE)CazP>]~H@ӎ2CALOOen@ΏDD툌[J'#*2\=!{7j?A'~/.& qߺN;r6+a ½/OYIhyWPFh;`zRBӋKLO@aƝ): .ǃV M/.%.+ BU~rƾyzhzyiyIU7~';zhz{iy9x>~(sUFJUhzܬLd|8\nSǛ_r&e)R;ؽy܋FNNpT$ᙑT\:VCCv0,LojOHœ8:W75&%%!.z{[:#$G3ojLUVآ~CC/،ҥ;L-׋Ԙz,oqUm8"ޠ~yŒ42> o3nff^5IGg_e hn1M _{CDrIB!Է5tkI MW2w BgGRBv_~':<̺#?^6yo~W1yn,oV HKo0 B۶mO>Iw*>Db`cc#עqС VQ+W'ѣ^a6S|7ҷ'Ê)"&&&:u?Jz%F[nv;kz̙+nnn&gõbA~v([]UV,XpyD~ХK1 ٳLz+ԬY3}Xͨ~(ϱ(/6lF[1"/(UFYv{[f!>;9V{%0G[O/~s>e[=bhU(Jh}lfe~E'P.*qr%~ͷѬP|z`vzSʅ,{3J G+;P{M3hV(jr/`.sԧd'%([fI(s֨[T7=`gLKsC_/1KܖW<נӬp*;sg{E*^Ptې\v޴z5ZT_dE0f&Ӹ_< E42o[)M*+E ʌ;f pwuws%ٯCщYܺq WWp\%]BQF͎\TTp ?+rG:ҬPԮ~a,d8ݒ-Ƶz2PTf⯣{`:N3/y][s4u.OT2ڌf ̹;?];}%~5ng^9: ໘84m>Ygm˪JV}'^o=c7p ']Өn![4+l~D҆P~\EW2ZlJ}h[:,¾GvϭȰUhnYͷ\}e.rJPx*jl88ӬpT=@pR)q]GhPt;T˩ܢYL~#mll ipV).R~-5}@_POZHSKT33(q{d,MB~-4KYK"Qd| .Ro1e_}*mVQB{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+_PARENT_LAYER_ID_:621DB4D2-04E5-44AD-B2BA-1C4CD3C07D77-7317-000022DE035B365EMASKSPREVIEW*@*@x}wTWW5﬙w3ݨ"vkI4 b^#bQAPAA,b)E+b~O$Ǜ5;{ss>r1k݇S cJ:80Ү#׺Oi/N- y-Qi~@R<  ˇR^^7:Ǫk#e v*B-F808#nfm$C]}bϘw lM?43Lksju-N="9:Mǁixqp&!١ٛ"qvlg1Pk]cmHosǥd[$p+Yd#Ƚy##>Zk[7zx.fH[\<H79 vliQT_0.q*x)mZGY/:Ӧ#ֺ>Euqҷ>Nx%U7g_juIщ68חk NxTũuX_Oki;2[슺d=j:Ӧ#Φ!ohkҚzZy16.J֋NX8nXZiDDob SA+(((((((GZLt'eT`zotӚ}\EFϫy'v 7%9kq{ %/_)Ϗʔ?Ge?Ge>.UY#<~)se?^C dƄ%.E^p/<5%6-) ~=iӒI+tF{>(L^ëY@-}m⬼d J.!]7ٹOyGe_ uD) -XwBn ҖN>l({<<@ ><OgϤsmea7|DfoY#^/ ‡ak| cC9Yts'H,O`{{JMvk/

      • "))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",o)}function o(){e.datepicker._isDisabledDatepicker(v.inline?v.dpDiv.parent()[0]:v.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))}function r(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}function h(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var l=0,u=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=u.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a="string"==typeof n,o=u.call(arguments,1),r=this;return a?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(r=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):(o.length&&(n=e.widget.extend.apply(null,[n].concat(o))),this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))})),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
        ",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=l++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var d=!1;e(document).mouseup(function(){d=!1}),e.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!d){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),d=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),d=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("
        "),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.widthi?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(e(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.css("box-sizing"),l=e.length&&(!t.length||e.index()",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.currentTarget); i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||"",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("
          ").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&e.trim(s).length&&(this.liveRegion.children().hide(),e("
          ").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("
          ").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var c,p="ui-button ui-widget ui-state-default ui-corner-all",f="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",m=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},g=function(t){var i=t.name,s=t.form,n=e([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?e(s).find("[name='"+i+"'][type=radio]"):e("[name='"+i+"'][type=radio]",t.ownerDocument).filter(function(){return!this.form})),n};e.widget("ui.button",{version:"1.11.4",defaultElement:"").addClass(this._triggerClass).html(a?e("").attr({src:a,alt:n,title:n}):n)),t[r?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,s,n,a=new Date(2009,11,20),o=this._get(e,"dateFormat");o.match(/[DM]/)&&(t=function(e){for(i=0,s=0,n=0;e.length>n;n++)e[n].length>i&&(i=e[n].length,s=n);return s},a.setMonth(t(this._get(e,o.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(t(this._get(e,o.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),e.input.attr("size",this._formatDate(e,a).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,s,n,a){var o,h,l,u,d,c=this._dialogInst;return c||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=e(""),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),c=this._dialogInst=this._newInst(this._dialogInput,!1),c.settings={},e.data(this._dialogInput[0],"datepicker",c)),r(c.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(c,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+u,l/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),c.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],"datepicker",c),this},_destroyDatepicker:function(t){var i,s=e(t),n=e.data(t,"datepicker");s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),v===n&&(v=null))},_enableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(t,i,s){var n,a,o,h,l=this._getInst(t);return 2===arguments.length&&"string"==typeof i?"defaults"===i?e.extend({},e.datepicker._defaults):l?"all"===i?e.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),a=this._getDateDatepicker(t,!0),o=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),r(l.settings,n),null!==o&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,o)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(e(t),l),this._autoSize(l),this._setDate(l,a),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,n,a=e.datepicker._getInst(t.target),o=!0,r=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),o=!1;break;case 13:return n=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",a.dpDiv),n[0]&&e.datepicker._selectDay(t.target,a.selectedMonth,a.selectedYear,n[0]),i=e.datepicker._get(a,"onSelect"),i?(s=e.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),o=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),o=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?1:-1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),o=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?-1:1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),o=t.ctrlKey||t.metaKey;break;default:o=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):o=!1;o&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var i,s,n=e.datepicker._getInst(t.target); return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,n,a,o,h,l,u;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),n=e.datepicker._get(i,"beforeShow"),a=n?n.apply(t,[t,i]):{},a!==!1&&(r(i.settings,a),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),o=!1,e(t).parents().each(function(){return o|="fixed"===e(this).css("position"),!o}),h={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),h=e.datepicker._checkOffset(i,h,o),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":o?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),i.inline||(l=e.datepicker._get(i,"showAnim"),u=e.datepicker._get(i,"duration"),i.dpDiv.css("z-index",s(e(t))+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[l]?i.dpDiv.show(l,e.datepicker._get(i,"showOptions"),u):i.dpDiv[l||"show"](l?u:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,v=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t);var i,s=this._getNumberOfMonths(t),n=s[1],a=17,r=t.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&t.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),t.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,s){var n=t.dpDiv.outerWidth(),a=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,r=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?n-o:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+r?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+r):0),i},_findPos:function(t){for(var i,s=this._getInst(t),n=this._get(s,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[n?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,n,a,o=this._curInst;!o||t&&o!==e.data(t,"datepicker")||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var n=e(t),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(t){var i,s=e(t),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var n=e(t),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(t,i,s,n){var a,o=e(t);e(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0])||(a=this._getInst(o[0]),a.selectedDay=a.currentDay=e("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(t,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var s,n=e(t),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,n,a=this._get(t,"altField");a&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),s=this._getDate(t),n=this.formatDate(i,s,this._getFormatConfig(t)),e(a).each(function(){e(this).val(n)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(t,i,s){if(null==t||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,a,o,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,c=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,b=!1,_=function(e){var i=t.length>n+1&&t.charAt(n+1)===e;return i&&n++,i},x=function(e){var t=_(e),s="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,n="y"===e?s:1,a=RegExp("^\\d{"+n+","+s+"}"),o=i.substring(h).match(a);if(!o)throw"Missing number at position "+h;return h+=o[0].length,parseInt(o[0],10)},w=function(t,s,n){var a=-1,o=e.map(_(t)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,t){var s=t[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(a=t[0],h+=s.length,!1):void 0}),-1!==a)return a+1;throw"Unknown name at position "+h},k=function(){if(i.charAt(h)!==t.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;t.length>n;n++)if(b)"'"!==t.charAt(n)||_("'")?k():b=!1;else switch(t.charAt(n)){case"d":v=x("d");break;case"D":w("D",d,c);break;case"o":y=x("o");break;case"m":g=x("m");break;case"M":g=w("M",p,f);break;case"y":m=x("y");break;case"@":r=new Date(x("@")),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"!":r=new Date((x("!")-this._ticksTo1970)/1e4),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"'":_("'")?k():b=!0;break;default:k()}if(i.length>h&&(o=i.substr(h),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),y>-1)for(g=1,v=y;;){if(a=this._getDaysInMonth(m,g-1),a>=v)break;g++,v-=a}if(r=this._daylightSavingAdjust(new Date(m,g-1,v)),r.getFullYear()!==m||r.getMonth()+1!==g||r.getDate()!==v)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,o=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=""+t;if(h(e))for(;i>s.length;)s="0"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},d="",c=!1;if(t)for(s=0;e.length>s;s++)if(c)"'"!==e.charAt(s)||h("'")?d+=e.charAt(s):c=!1;else switch(e.charAt(s)){case"d":d+=l("d",t.getDate(),2);break;case"D":d+=u("D",t.getDay(),n,a);break;case"o":d+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":d+=l("m",t.getMonth()+1,2);break;case"M":d+=u("M",t.getMonth(),o,r);break;case"y":d+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":d+=t.getTime();break;case"!":d+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?d+="'":c=!0;break;default:d+=e.charAt(s)}return d},_possibleChars:function(e){var t,i="",s=!1,n=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)"'"!==e.charAt(t)||n("'")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,t){return void 0!==e.settings[t]?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),s=e.lastVal=e.input?e.input.val():null,n=this._getDefaultDate(e),a=n,o=this._getFormatConfig(e);try{a=this.parseDate(i,s,o)||n}catch(r){s=t?"":s}e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),e.currentDay=s?a.getDate():0,e.currentMonth=s?a.getMonth():0,e.currentYear=s?a.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,s){var n=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},a=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,a=n.getFullYear(),o=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":o+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o));break;case"y":case"Y":a+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o))}l=h.exec(i)}return new Date(a,o,r)},o=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return o=o&&"Invalid Date"==""+o?s:o,o&&(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)),this._daylightSavingAdjust(o)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,n=e.selectedMonth,a=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),n===e.selectedMonth&&a===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),s="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,"M")},next:function(){e.datepicker._adjustDate(s,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,s,n,a,o,r,h,l,u,d,c,p,f,m,g,v,y,b,_,x,w,k,T,D,S,M,C,N,A,P,I,H,z,F,E,O,j,W,L=new Date,R=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(e,"isRTL"),B=this._get(e,"showButtonPanel"),J=this._get(e,"hideIfNoPrevNext"),q=this._get(e,"navigationAsDateFormat"),K=this._getNumberOfMonths(e),V=this._get(e,"showCurrentAtPos"),U=this._get(e,"stepMonths"),Q=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),X=this._getMinMaxDate(e,"min"),$=this._getMinMaxDate(e,"max"),Z=e.drawMonth-V,et=e.drawYear;if(0>Z&&(Z+=12,et--),$)for(t=this._daylightSavingAdjust(new Date(jQuery.getFullYear(),jQuery.getMonth()-K[0]*K[1]+1,jQuery.getDate())),t=X&&X>t?X:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=q?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-U,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?""+i+"":J?"":""+i+"",n=this._get(e,"nextText"),n=q?this.formatDate(n,this._daylightSavingAdjust(new Date(et,Z+U,1)),this._getFormatConfig(e)):n,a=this._canAdjustMonth(e,1,et,Z)?""+n+"":J?"":""+n+"",o=this._get(e,"currentText"),r=this._get(e,"gotoCurrent")&&e.currentDay?G:R,o=q?this.formatDate(o,r,this._getFormatConfig(e)):o,h=e.inline?"":"",l=B?"
          "+(Y?h:"")+(this._isInRange(e,r)?"":"")+(Y?"":h)+"
          ":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),c=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),f=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",w=0;K[0]>w;w++){for(k="",this.maxRows=4,T=0;K[1]>T;T++){if(D=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),S=" ui-corner-all",M="",Q){if(M+="
          "}for(M+="
          "+(/all|left/.test(S)&&0===w?Y?a:s:"")+(/all|right/.test(S)&&0===w?Y?s:a:"")+this._generateMonthYearHeader(e,Z,et,X,$,w>0||T>0,f,m)+"
          "+"",C=d?"":"",x=0;7>x;x++)N=(x+u)%7,C+="";for(M+=C+"",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),P=(this._getFirstDayOfMonth(et,Z)-u+7)%7,I=Math.ceil((P+A)/7),H=Q?this.maxRows>I?this.maxRows:I:I,this.maxRows=H,z=this._daylightSavingAdjust(new Date(et,Z,1-P)),F=0;H>F;F++){for(M+="",E=d?"":"",x=0;7>x;x++)O=g?g.apply(e.input?e.input[0]:null,[z]):[!0,""],j=z.getMonth()!==Z,W=j&&!y||!O[0]||X&&X>z||$&&z>$,E+="",z.setDate(z.getDate()+1),z=this._daylightSavingAdjust(z);M+=E+""}Z++,Z>11&&(Z=0,et++),M+="
          "+this._get(e,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+""+p[N]+"
          "+this._get(e,"calculateWeek")(z)+""+(j&&!v?" ":W?""+z.getDate()+"":""+z.getDate()+"")+"
          "+(Q?"
          "+(K[0]>0&&T===K[1]-1?"
          ":""):""),k+=M}_+=k}return _+=l,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,i,s,n,a,o,r){var h,l,u,d,c,p,f,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="
          ",_="";if(a||!g)_+=""+o[t]+"";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,_+=""}if(y||(b+=_+(!a&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",a||!v)b+=""+i+"";else{for(d=this._get(e,"yearRange").split(":"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?c+parseInt(e,10):parseInt(e,10);return isNaN(t)?c:t},f=p(d[0]),m=Math.max(f,p(d[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,e.yearshtml+="",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!a&&g&&v?"":" ")+_),b+="
          "},_adjustInstDate:function(e,t,i){var s=e.drawYear+("Y"===i?t:0),n=e.drawMonth+("M"===i?t:0),a=Math.min(e.selectedDay,this._getDaysInMonth(s,n))+("D"===i?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,n,a)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),n=i&&i>t?i:t;return s&&n>s?s:n},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var n=this._getNumberOfMonths(e),a=this._daylightSavingAdjust(new Date(i,s+(0>t?t:n[0]*n[1]),1));return 0>t&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(e,a)},_isInRange:function(e,t){var i,s,n=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),o=null,r=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),o=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(o+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||t.getTime()>=n.getTime())&&(!a||t.getTime()<=a.getTime())&&(!o||t.getFullYear()>=o)&&(!r||r>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var n=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),n,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new n,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.11.4",e.datepicker,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("
          ").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0) },_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n})),n?(a.isOver||(a.isOver=1,s._parent=i.helper.parent(),a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.resizable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseInt(e,10)||0},_isNumber:function(e){return!isNaN(parseInt(e,10))},_hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return t[s]>0?!0:(t[s]=1,n=t[s]>0,t[s]=0,n)},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(e("
          ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=e(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("
          "),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=e(this.handles[i]),this._on(this.handles[i],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var i,s,n,a=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),a.containment&&(i+=e(a.containment).scrollLeft()||0,s+=e(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===n?this.axis+"-resize":n),o.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i,s,n=this.originalMousePosition,a=this.axis,o=t.pageX-n.left||0,r=t.pageY-n.top||0,h=this._change[a];return this._updatePrevProperties(),h?(i=h.apply(this,[t,o,r]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,i,s,n,a,o=this.options;a={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=a.minHeight*this.aspectRatio,s=a.minWidth/this.aspectRatio,i=a.maxHeight*this.aspectRatio,n=a.maxWidth/this.aspectRatio,t>a.minWidth&&(a.minWidth=t),s>a.minHeight&&(a.minHeight=s),a.maxWidth>i&&(a.maxWidth=i),a.maxHeight>n&&(a.maxHeight=n)),this._vBoundaries=a},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,i=this.size,s=this.axis;return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===s&&(e.left=t.left+(i.width-e.width),e.top=null),"nw"===s&&(e.top=t.top+(i.height-e.height),e.left=t.left+(i.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,i=this.axis,s=this._isNumber(e.width)&&t.maxWidth&&t.maxWidthe.width,o=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,r=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,l=/sw|nw|w/.test(i),u=/nw|ne|n/.test(i);return a&&(e.width=t.minWidth),o&&(e.height=t.minHeight),s&&(e.width=t.maxWidth),n&&(e.height=t.maxHeight),a&&l&&(e.left=r-t.minWidth),s&&l&&(e.left=r-t.maxWidth),o&&u&&(e.top=h-t.minHeight),n&&u&&(e.top=h-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,i=[],s=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],n=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];4>t;t++)i[t]=parseInt(s[t],10)||0,i[t]+=parseInt(n[t],10)||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,i=this.helper||this.element;this._proportionallyResizeElements.length>t;t++)e=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(e)),e.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("
          "),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,i,s,n,a,o,r,h=e(this).resizable("instance"),l=h.options,u=h.element,d=l.containment,c=d instanceof e?d.get(0):/parent/.test(d)?u.parent().get(0):d;c&&(h.containerElement=e(c),/document/.test(d)||d===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(c),i=[],e(["Top","Right","Left","Bottom"]).each(function(e,s){i[e]=h._num(t.css("padding"+s))}),h.containerOffset=t.offset(),h.containerPosition=t.position(),h.containerSize={height:t.innerHeight()-i[3],width:t.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,a=h.containerSize.width,o=h._hasScroll(c,"left")?c.scrollWidth:a,r=h._hasScroll(c)?c.scrollHeight:n,h.parentData={element:c,left:s.left,top:s.top,width:o,height:r}))},resize:function(t){var i,s,n,a,o=e(this).resizable("instance"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,d={top:0,left:0},c=o.containerElement,p=!0;c[0]!==document&&/static/.test(c.css("position"))&&(d=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-d.left),u&&(o.size.height=o.size.width/o.aspectRatio,p=!1),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio,p=!1),o.position.top=o._helper?h.top:0),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),i=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-h.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-h.top)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio,p=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio,p=!1)),p||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance"),i=t.options;e(i.alsoResize).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})},resize:function(t,i){var s=e(this).resizable("instance"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0};e(n.alsoResize).each(function(){var t=e(this),s=e(this).data("ui-resizable-alsoresize"),n={},a=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(a,function(e,t){var i=(s[t]||0)+(r[t]||0);i&&i>=0&&(n[t]=i||null)}),t.css(n)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t,i=e(this).resizable("instance"),s=i.options,n=i.size,a=i.originalSize,o=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,u=h[1]||1,d=Math.round((n.width-a.width)/l)*l,c=Math.round((n.height-a.height)/u)*u,p=a.width+d,f=a.height+c,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,v=s.minWidth&&s.minWidth>p,y=s.minHeight&&s.minHeight>f;s.grid=h,v&&(p+=l),y&&(f+=u),m&&(p-=l),g&&(f-=u),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=o.top-c):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=o.left-d):((0>=f-u||0>=p-l)&&(t=i._getPaddingPlusBorderDimensions(this)),f-u>0?(i.size.height=f,i.position.top=o.top-c):(f=u-t.height,i.size.height=f,i.position.top=o.top+a.height-f),p-l>0?(i.size.width=p,i.position.left=o.left-d):(p=l-t.width,i.size.width=p,i.position.left=o.left+a.width-p))}}),e.ui.resizable,e.widget("ui.dialog",{version:"1.11.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+e(this).css("z-index")}).get(),a=Math.max.apply(null,n);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),s=!0),s&&!i&&this._trigger("focus",t),s},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("
          ").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),void 0; if(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");t.target!==n[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){n.focus()}),t.preventDefault()):(this._delay(function(){s.focus()}),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("
          ").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("
          ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("
          ").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),void 0):(e.each(i,function(i,s){var n,a;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(t.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e("",s).button(a).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,t(n))},drag:function(e,s){i._trigger("drag",e,t(s))},stop:function(n,a){var o=a.offset.left-i.document.scrollLeft(),r=a.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(o>=0?"+":"")+o+" "+"top"+(r>=0?"+":"")+r,of:i.window},e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,t(a))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,t(n))},resize:function(e,s){i._trigger("resize",e,t(s))},stop:function(n,a){var o=i.uiDialog.offset(),r=o.left-i.document.scrollLeft(),h=o.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,t(a))}}).css("position",a)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=e(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),i=e.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};e.each(t,function(e,t){i._setOption(e,t),e in i.sizeRelatedOptions&&(s=!0),e in i.resizableRelatedOptions&&(n[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,t){var i,s,n=this.uiDialog;"dialogClass"===e&&n.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=n.is(":data(ui-draggable)"),i&&!t&&n.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(s=n.is(":data(ui-resizable)"),s&&!t&&n.resizable("destroy"),s&&"string"==typeof t&&n.resizable("option","handles",t),s||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):"none","auto"===s.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("
          ").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=e("
          ").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}}),e.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case"fit":return a>=l&&d>=r&&o>=u&&c>=h;case"intersect":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable;var y="ui-effects-",b=e;e.effects={effect:{}},function(e,t){function i(e,t,i){var s=d[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?("0,0,0,0"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},d={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},c=l.support={},p=e("

          ")[0],f=e.each;p.style.cssText="background-color:rgba(1,1,1,.5)",c.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var d=this,c=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],c="array"),"string"===c?this.parse(s(n)||a._default):"array"===c?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):"object"===c?(n instanceof l?f(u,function(e,t){n[t.cache]&&(d[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!d[a]&&s.to){if("alpha"===e||null==n[e])return;d[a]=s.to(d._rgba)}d[a][t.idx]=i(n[e],t,!0)}),d[a]&&0>e.inArray(null,d[a].slice(0,3))&&(d[a][3]=1,s.from&&(d._rgba=s.from(d[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=d[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t="rgba(",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t="rgb("),t+i.join()+")"},toHslaString:function(){var t="hsla(",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),t="hsl("),t+i.join()+")"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),"#"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,d=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),d="array"===r||"object"===r?s:arguments,c=this[o].slice();return f(a,function(e,t){var s=d["object"===r?e:t.idx];null==s&&(s=c[t.idx]),c[t.idx]=i(s,t)}),u?(n=l(u(c)),n[o]=c,n):l(c)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h="alpha"===t?this._hsla?"hsla":"rgba":s,l=this[h](),u=l[i.idx];return"undefined"===o?u:("function"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(" ");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r="";if("transparent"!==n&&("string"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!c.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?t.parentNode:t;(""===r||"transparent"===r)&&o&&o.style;)try{r=e.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f(["Top","Right","Bottom","Left"],function(i,s){t["border"+s+"Color"]=e}),t}},a=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(b),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(b.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+"Class"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return"boolean"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:"number"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"string"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:"object"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:"1.11.4",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(y+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(y+t[s]),void 0===i&&(i=""),e.css(t[s],i))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},s=e("

          ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),"static"===t.css("position")?(s.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||"fx",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||"boolean"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.blind=function(t,i){var s,n,a,o=e(this),r=/up|down|vertical/,h=/up|left|vertical|horizontal/,l=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(o,t.mode||"hide"),d=t.direction||"up",c=r.test(d),p=c?"height":"width",f=c?"top":"left",m=h.test(d),g={},v="show"===u;o.parent().is(".ui-effects-wrapper")?e.effects.save(o.parent(),l):e.effects.save(o,l),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n=s[p](),a=parseFloat(s.css(f))||0,g[p]=v?n:0,m||(o.css(c?"bottom":"right",0).css(c?"top":"left","auto").css({position:"absolute"}),g[f]=v?a:n+a),v&&(s.css(p,0),m||s.css(f,a+n)),s.animate(g,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){"hide"===u&&o.hide(),e.effects.restore(o,l),e.effects.removeWrapper(o),i()}})},e.effects.effect.bounce=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"effect"),l="hide"===h,u="show"===h,d=t.direction||"up",c=t.distance,p=t.times||5,f=2*p+(u||l?1:0),m=t.duration/f,g=t.easing,v="up"===d||"down"===d?"top":"left",y="up"===d||"left"===d,b=o.queue(),_=b.length;for((u||l)&&r.push("opacity"),e.effects.save(o,r),o.show(),e.effects.createWrapper(o),c||(c=o["top"===v?"outerHeight":"outerWidth"]()/3),u&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,y?2*-c:2*c).animate(a,m,g)),l&&(c/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g).animate(a,m,g),c=l?2*c:c/2;l&&(n={opacity:0},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,f+1))),o.dequeue()},e.effects.effect.clip=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"hide"),l="show"===h,u=t.direction||"vertical",d="vertical"===u,c=d?"height":"width",p=d?"top":"left",f={};e.effects.save(o,r),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[c](),l&&(n.css(c,0),n.css(p,a/2)),f[c]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){l||o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}})},e.effects.effect.drop=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","opacity","height","width"],o=e.effects.setMode(n,t.mode||"hide"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h?"pos":"neg",d={opacity:r?1:0};e.effects.save(n,a),n.show(),e.effects.createWrapper(n),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===u?-s:s),d[l]=(r?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.explode=function(t,i){function s(){b.push(this),b.length===d*c&&n()}function n(){p.css({visibility:"visible"}),e(b).remove(),m||p.hide(),i()}var a,o,r,h,l,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),f=e.effects.setMode(p,t.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(a=0;d>a;a++)for(h=g.top+a*y,u=a-(d-1)/2,o=0;c>o;o++)r=g.left+o*v,l=o-(c-1)/2,p.clone().appendTo("body").wrap("
          ").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*y}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:y,left:r+(m?l*v:0),top:h+(m?u*y:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:u*y),opacity:m?1:0},t.duration||500,t.easing,s)},e.effects.effect.fade=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:t.duration,easing:t.easing,complete:i})},e.effects.effect.fold=function(t,i){var s,n,a=e(this),o=["position","top","bottom","left","right","height","width"],r=e.effects.setMode(a,t.mode||"hide"),h="show"===r,l="hide"===r,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=h!==c,f=p?["width","height"]:["height","width"],m=t.duration/2,g={},v={};e.effects.save(a,o),a.show(),s=e.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],d&&(u=parseInt(d[1],10)/100*n[l?0:1]),h&&s.css(c?{height:0,width:u}:{height:u,width:0}),g[f[0]]=h?n[0]:u,v[f[1]]=h?n[1]:0,s.animate(g,m,t.easing).animate(v,m,t.easing,function(){l&&a.hide(),e.effects.restore(a,o),e.effects.removeWrapper(a),i()})},e.effects.effect.highlight=function(t,i){var s=e(this),n=["backgroundImage","backgroundColor","opacity"],a=e.effects.setMode(s,t.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===a&&s.hide(),e.effects.restore(s,n),i()}})},e.effects.effect.size=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],u=["fontSize"],d=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),f=t.restore||"effect"!==p,m=t.scale||"both",g=t.origin||["middle","center"],v=o.css("position"),y=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===t.mode&&"show"===p?(o.from=t.to||b,o.to=t.from||s):(o.from=t.from||("show"===p?b:s),o.to=t.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(y=y.concat(d),o.from=e.effects.setTransition(o,d,a.from.y,o.from),o.to=e.effects.setTransition(o,d,a.to.y,o.to)),a.from.x!==a.to.x&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,a.from.x,o.from),o.to=e.effects.setTransition(o,c,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(y=y.concat(u).concat(l),o.from=e.effects.setTransition(o,u,a.from.y,o.from),o.to=e.effects.setTransition(o,u,a.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=e.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(d=d.concat(["marginTop","marginBottom"]).concat(u),c=c.concat(["marginLeft","marginRight"]),l=r.concat(d).concat(c),o.find("*[width]").each(function(){var i=e(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()}; f&&e.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=e.effects.setTransition(i,d,a.from.y,i.from),i.to=e.effects.setTransition(i,d,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=e.effects.setTransition(i,c,a.from.x,i.from),i.to=e.effects.setTransition(i,c,a.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),e.effects.restore(o,y),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,i){var s=parseInt(i,10),n=e?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),e.effects.removeWrapper(o),i()}})},e.effects.effect.scale=function(t,i){var s=e(this),n=e.extend(!0,{},t),a=e.effects.setMode(s,t.mode||"effect"),o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:"hide"===a?0:100),r=t.direction||"both",h=t.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},u={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=t.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},e.effects.effect.puff=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"hide"),a="hide"===n,o=parseInt(t.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(t)},e.effects.effect.pulsate=function(t,i){var s,n=e(this),a=e.effects.setMode(n,t.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(t.times||5)+(h?1:0),u=t.duration/l,d=0,c=n.queue(),p=c.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),d=1),s=1;l>s;s++)n.animate({opacity:d},u,t.easing),d=1-d;n.animate({opacity:d},u,t.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,l+1))),n.dequeue()},e.effects.effect.shake=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","height","width"],o=e.effects.setMode(n,t.mode||"effect"),r=t.direction||"left",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),y=v.length;for(e.effects.save(n,a),n.show(),e.effects.createWrapper(n),f[c]=(p?"-=":"+=")+h,m[c]=(p?"+=":"-=")+2*h,g[c]=(p?"-=":"+=")+2*h,n.animate(f,d,t.easing),s=1;l>s;s++)n.animate(m,d,t.easing).animate(g,d,t.easing);n.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),n.dequeue()},e.effects.effect.slide=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","width","height"],o=e.effects.setMode(n,t.mode||"show"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h,d={};e.effects.save(n,a),n.show(),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,u?isNaN(s)?"-"+s:-s:s),d[l]=(r?u?"+=":"-=":u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.transfer=function(t,i){var s=e(this),n=e(t.to),a="fixed"===n.css("position"),o=e("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),u={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},d=s.offset(),c=e("
          ").appendTo(document.body).addClass(t.className).css({top:d.top-r,left:d.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})},e.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("
          ").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("
          ").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.selectable",e.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("
          ")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}}),e.widget("ui.selectmenu",{version:"1.11.4",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""+""+""+""+""},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable"))},_setOptions:h(function(e){this._super(e)}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:h(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:h(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:h(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:h(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(h(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||t.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels; this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("
          ").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o},h=function(e,t){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.done(function(e,t,n){setTimeout(function(){o.html(e),s._trigger("load",i,r),h(n,t)},1)}).fail(function(e,t){setTimeout(function(){h(e,t)},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var t=e(this).attr("title")||"";return e("").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e("
          ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t.element)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s.element[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(t,s),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){n._delay(function(){e.data("ui-tooltip-open")&&(t&&(t.type=a),this._open(t,e,i))})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){l.of=e,o.is(":hidden")||o.position(l)}var a,o,r,h,l=e.extend({},this.options.position);if(s){if(a=this._find(i))return a.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),a=this._tooltip(i),o=a.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),s.clone?(h=s.clone(),h.removeAttr("id").find("[id]").removeAttr("id")):h=s,e("
          ").html(h).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):o.position(e.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){o.is(":visible")&&(n(l.of),clearInterval(r))},e.fx.interval)),this._trigger("open",t,{tooltip:o})}},_registerCloseHandlers:function(t,i){var s={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),t&&"mouseover"!==t.type||(s.mouseleave="close"),t&&"focusin"!==t.type||(s.focusout="close"),this._on(!0,i,s)},close:function(t){var i,s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);return a?(i=a.tooltip,a.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),a.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),a.closing=!0,this._trigger("close",t,{tooltip:i}),a.hiding||(a.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(t){var i=e("
          ").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),s=i.uniqueId().attr("id");return e("
          ").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]={element:t,tooltip:i}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur"),a=s.element;n.target=n.currentTarget=a[0],t.close(n,!0),e("#"+i).remove(),a.data("ui-tooltip-title")&&(a.attr("title")||a.attr("title",a.data("ui-tooltip-title")),a.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})});wp-file-manager/lib/jquery/jquery-ui-1.13.2.js000064400002011407151202472330014620 0ustar00/*! jQuery UI - v1.13.2 - 2022-07-14 * http://jqueryui.com * Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js * Copyright jQuery Foundation and other contributors; Licensed MIT */ ( function( factory ) { "use strict"; if ( typeof define === "function" && define.amd ) { // AMD. Register as an anonymous module. define( [ "jquery" ], factory ); } else { // Browser globals factory( jQuery ); } } )( function( $ ) { "use strict"; $.ui = $.ui || {}; var version = $.ui.version = "1.13.2"; /*! * jQuery UI Widget 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Widget //>>group: Core //>>description: Provides a factory for creating stateful widgets with a common API. //>>docs: http://api.jqueryui.com/jQuery.widget/ //>>demos: http://jqueryui.com/widget/ var widgetUuid = 0; var widgetHasOwnProperty = Array.prototype.hasOwnProperty; var widgetSlice = Array.prototype.slice; $.cleanData = ( function( orig ) { return function( elems ) { var events, elem, i; for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { // Only trigger remove when necessary to save time events = $._data( elem, "events" ); if ( events && events.remove ) { $( elem ).triggerHandler( "remove" ); } } orig( elems ); }; } )( $.cleanData ); $.widget = function( name, base, prototype ) { var existingConstructor, constructor, basePrototype; // ProxiedPrototype allows the provided prototype to remain unmodified // so that it can be used as a mixin for multiple widgets (#8876) var proxiedPrototype = {}; var namespace = name.split( "." )[ 0 ]; name = name.split( "." )[ 1 ]; var fullName = namespace + "-" + name; if ( !prototype ) { prototype = base; base = $.Widget; } if ( Array.isArray( prototype ) ) { prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); } // Create selector for plugin $.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) { return !!$.data( elem, fullName ); }; $[ namespace ] = $[ namespace ] || {}; existingConstructor = $[ namespace ][ name ]; constructor = $[ namespace ][ name ] = function( options, element ) { // Allow instantiation without "new" keyword if ( !this || !this._createWidget ) { return new constructor( options, element ); } // Allow instantiation without initializing for simple inheritance // must use "new" keyword (the code above always passes args) if ( arguments.length ) { this._createWidget( options, element ); } }; // Extend with the existing constructor to carry over any static properties $.extend( constructor, existingConstructor, { version: prototype.version, // Copy the object used to create the prototype in case we need to // redefine the widget later _proto: $.extend( {}, prototype ), // Track widgets that inherit from this widget in case this widget is // redefined after a widget inherits from it _childConstructors: [] } ); basePrototype = new base(); // We need to make the options hash a property directly on the new instance // otherwise we'll modify the options hash on the prototype that we're // inheriting from basePrototype.options = $.widget.extend( {}, basePrototype.options ); $.each( prototype, function( prop, value ) { if ( typeof value !== "function" ) { proxiedPrototype[ prop ] = value; return; } proxiedPrototype[ prop ] = ( function() { function _super() { return base.prototype[ prop ].apply( this, arguments ); } function _superApply( args ) { return base.prototype[ prop ].apply( this, args ); } return function() { var __super = this._super; var __superApply = this._superApply; var returnValue; this._super = _super; this._superApply = _superApply; returnValue = value.apply( this, arguments ); this._super = __super; this._superApply = __superApply; return returnValue; }; } )(); } ); constructor.prototype = $.widget.extend( basePrototype, { // TODO: remove support for widgetEventPrefix // always use the name + a colon as the prefix, e.g., draggable:start // don't prefix for widgets that aren't DOM-based widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name }, proxiedPrototype, { constructor: constructor, namespace: namespace, widgetName: name, widgetFullName: fullName } ); // If this widget is being redefined then we need to find all widgets that // are inheriting from it and redefine all of them so that they inherit from // the new version of this widget. We're essentially trying to replace one // level in the prototype chain. if ( existingConstructor ) { $.each( existingConstructor._childConstructors, function( i, child ) { var childPrototype = child.prototype; // Redefine the child widget using the same prototype that was // originally used, but inherit from the new version of the base $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); } ); // Remove the list of existing child constructors from the old constructor // so the old child constructors can be garbage collected delete existingConstructor._childConstructors; } else { base._childConstructors.push( constructor ); } $.widget.bridge( name, constructor ); return constructor; }; $.widget.extend = function( target ) { var input = widgetSlice.call( arguments, 1 ); var inputIndex = 0; var inputLength = input.length; var key; var value; for ( ; inputIndex < inputLength; inputIndex++ ) { for ( key in input[ inputIndex ] ) { value = input[ inputIndex ][ key ]; if ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) { // Clone objects if ( $.isPlainObject( value ) ) { target[ key ] = $.isPlainObject( target[ key ] ) ? $.widget.extend( {}, target[ key ], value ) : // Don't extend strings, arrays, etc. with objects $.widget.extend( {}, value ); // Copy everything else by reference } else { target[ key ] = value; } } } } return target; }; $.widget.bridge = function( name, object ) { var fullName = object.prototype.widgetFullName || name; $.fn[ name ] = function( options ) { var isMethodCall = typeof options === "string"; var args = widgetSlice.call( arguments, 1 ); var returnValue = this; if ( isMethodCall ) { // If this is an empty collection, we need to have the instance method // return undefined instead of the jQuery instance if ( !this.length && options === "instance" ) { returnValue = undefined; } else { this.each( function() { var methodValue; var instance = $.data( this, fullName ); if ( options === "instance" ) { returnValue = instance; return false; } if ( !instance ) { return $.error( "cannot call methods on " + name + " prior to initialization; " + "attempted to call method '" + options + "'" ); } if ( typeof instance[ options ] !== "function" || options.charAt( 0 ) === "_" ) { return $.error( "no such method '" + options + "' for " + name + " widget instance" ); } methodValue = instance[ options ].apply( instance, args ); if ( methodValue !== instance && methodValue !== undefined ) { returnValue = methodValue && methodValue.jquery ? returnValue.pushStack( methodValue.get() ) : methodValue; return false; } } ); } } else { // Allow multiple hashes to be passed on init if ( args.length ) { options = $.widget.extend.apply( null, [ options ].concat( args ) ); } this.each( function() { var instance = $.data( this, fullName ); if ( instance ) { instance.option( options || {} ); if ( instance._init ) { instance._init(); } } else { $.data( this, fullName, new object( options, this ) ); } } ); } return returnValue; }; }; $.Widget = function( /* options, element */ ) {}; $.Widget._childConstructors = []; $.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", defaultElement: "
          ", options: { classes: {}, disabled: false, // Callbacks create: null }, _createWidget: function( options, element ) { element = $( element || this.defaultElement || this )[ 0 ]; this.element = $( element ); this.uuid = widgetUuid++; this.eventNamespace = "." + this.widgetName + this.uuid; this.bindings = $(); this.hoverable = $(); this.focusable = $(); this.classesElementLookup = {}; if ( element !== this ) { $.data( element, this.widgetFullName, this ); this._on( true, this.element, { remove: function( event ) { if ( event.target === element ) { this.destroy(); } } } ); this.document = $( element.style ? // Element within the document element.ownerDocument : // Element is window or document element.document || element ); this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow ); } this.options = $.widget.extend( {}, this.options, this._getCreateOptions(), options ); this._create(); if ( this.options.disabled ) { this._setOptionDisabled( this.options.disabled ); } this._trigger( "create", null, this._getCreateEventData() ); this._init(); }, _getCreateOptions: function() { return {}; }, _getCreateEventData: $.noop, _create: $.noop, _init: $.noop, destroy: function() { var that = this; this._destroy(); $.each( this.classesElementLookup, function( key, value ) { that._removeClass( value, key ); } ); // We can probably remove the unbind calls in 2.0 // all event bindings should go through this._on() this.element .off( this.eventNamespace ) .removeData( this.widgetFullName ); this.widget() .off( this.eventNamespace ) .removeAttr( "aria-disabled" ); // Clean up events and states this.bindings.off( this.eventNamespace ); }, _destroy: $.noop, widget: function() { return this.element; }, option: function( key, value ) { var options = key; var parts; var curOption; var i; if ( arguments.length === 0 ) { // Don't return a reference to the internal hash return $.widget.extend( {}, this.options ); } if ( typeof key === "string" ) { // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } options = {}; parts = key.split( "." ); key = parts.shift(); if ( parts.length ) { curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); for ( i = 0; i < parts.length - 1; i++ ) { curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; curOption = curOption[ parts[ i ] ]; } key = parts.pop(); if ( arguments.length === 1 ) { return curOption[ key ] === undefined ? null : curOption[ key ]; } curOption[ key ] = value; } else { if ( arguments.length === 1 ) { return this.options[ key ] === undefined ? null : this.options[ key ]; } options[ key ] = value; } } this._setOptions( options ); return this; }, _setOptions: function( options ) { var key; for ( key in options ) { this._setOption( key, options[ key ] ); } return this; }, _setOption: function( key, value ) { if ( key === "classes" ) { this._setOptionClasses( value ); } this.options[ key ] = value; if ( key === "disabled" ) { this._setOptionDisabled( value ); } return this; }, _setOptionClasses: function( value ) { var classKey, elements, currentElements; for ( classKey in value ) { currentElements = this.classesElementLookup[ classKey ]; if ( value[ classKey ] === this.options.classes[ classKey ] || !currentElements || !currentElements.length ) { continue; } // We are doing this to create a new jQuery object because the _removeClass() call // on the next line is going to destroy the reference to the current elements being // tracked. We need to save a copy of this collection so that we can add the new classes // below. elements = $( currentElements.get() ); this._removeClass( currentElements, classKey ); // We don't use _addClass() here, because that uses this.options.classes // for generating the string of classes. We want to use the value passed in from // _setOption(), this is the new value of the classes option which was passed to // _setOption(). We pass this value directly to _classes(). elements.addClass( this._classes( { element: elements, keys: classKey, classes: value, add: true } ) ); } }, _setOptionDisabled: function( value ) { this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value ); // If the widget is becoming disabled, then nothing is interactive if ( value ) { this._removeClass( this.hoverable, null, "ui-state-hover" ); this._removeClass( this.focusable, null, "ui-state-focus" ); } }, enable: function() { return this._setOptions( { disabled: false } ); }, disable: function() { return this._setOptions( { disabled: true } ); }, _classes: function( options ) { var full = []; var that = this; options = $.extend( { element: this.element, classes: this.options.classes || {} }, options ); function bindRemoveEvent() { var nodesToBind = []; options.element.each( function( _, element ) { var isTracked = $.map( that.classesElementLookup, function( elements ) { return elements; } ) .some( function( elements ) { return elements.is( element ); } ); if ( !isTracked ) { nodesToBind.push( element ); } } ); that._on( $( nodesToBind ), { remove: "_untrackClassesElement" } ); } function processClassString( classes, checkOption ) { var current, i; for ( i = 0; i < classes.length; i++ ) { current = that.classesElementLookup[ classes[ i ] ] || $(); if ( options.add ) { bindRemoveEvent(); current = $( $.uniqueSort( current.get().concat( options.element.get() ) ) ); } else { current = $( current.not( options.element ).get() ); } that.classesElementLookup[ classes[ i ] ] = current; full.push( classes[ i ] ); if ( checkOption && options.classes[ classes[ i ] ] ) { full.push( options.classes[ classes[ i ] ] ); } } } if ( options.keys ) { processClassString( options.keys.match( /\S+/g ) || [], true ); } if ( options.extra ) { processClassString( options.extra.match( /\S+/g ) || [] ); } return full.join( " " ); }, _untrackClassesElement: function( event ) { var that = this; $.each( that.classesElementLookup, function( key, value ) { if ( $.inArray( event.target, value ) !== -1 ) { that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); } } ); this._off( $( event.target ) ); }, _removeClass: function( element, keys, extra ) { return this._toggleClass( element, keys, extra, false ); }, _addClass: function( element, keys, extra ) { return this._toggleClass( element, keys, extra, true ); }, _toggleClass: function( element, keys, extra, add ) { add = ( typeof add === "boolean" ) ? add : extra; var shift = ( typeof element === "string" || element === null ), options = { extra: shift ? keys : extra, keys: shift ? element : keys, element: shift ? this.element : element, add: add }; options.element.toggleClass( this._classes( options ), add ); return this; }, _on: function( suppressDisabledCheck, element, handlers ) { var delegateElement; var instance = this; // No suppressDisabledCheck flag, shuffle arguments if ( typeof suppressDisabledCheck !== "boolean" ) { handlers = element; element = suppressDisabledCheck; suppressDisabledCheck = false; } // No element argument, shuffle and use this.element if ( !handlers ) { handlers = element; element = this.element; delegateElement = this.widget(); } else { element = delegateElement = $( element ); this.bindings = this.bindings.add( element ); } $.each( handlers, function( event, handler ) { function handlerProxy() { // Allow widgets to customize the disabled handling // - disabled as an array instead of boolean // - disabled class as method for disabling individual parts if ( !suppressDisabledCheck && ( instance.options.disabled === true || $( this ).hasClass( "ui-state-disabled" ) ) ) { return; } return ( typeof handler === "string" ? instance[ handler ] : handler ) .apply( instance, arguments ); } // Copy the guid so direct unbinding works if ( typeof handler !== "string" ) { handlerProxy.guid = handler.guid = handler.guid || handlerProxy.guid || $.guid++; } var match = event.match( /^([\w:-]*)\s*(.*)$/ ); var eventName = match[ 1 ] + instance.eventNamespace; var selector = match[ 2 ]; if ( selector ) { delegateElement.on( eventName, selector, handlerProxy ); } else { element.on( eventName, handlerProxy ); } } ); }, _off: function( element, eventName ) { eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; element.off( eventName ); // Clear the stack to avoid memory leaks (#10056) this.bindings = $( this.bindings.not( element ).get() ); this.focusable = $( this.focusable.not( element ).get() ); this.hoverable = $( this.hoverable.not( element ).get() ); }, _delay: function( handler, delay ) { function handlerProxy() { return ( typeof handler === "string" ? instance[ handler ] : handler ) .apply( instance, arguments ); } var instance = this; return setTimeout( handlerProxy, delay || 0 ); }, _hoverable: function( element ) { this.hoverable = this.hoverable.add( element ); this._on( element, { mouseenter: function( event ) { this._addClass( $( event.currentTarget ), null, "ui-state-hover" ); }, mouseleave: function( event ) { this._removeClass( $( event.currentTarget ), null, "ui-state-hover" ); } } ); }, _focusable: function( element ) { this.focusable = this.focusable.add( element ); this._on( element, { focusin: function( event ) { this._addClass( $( event.currentTarget ), null, "ui-state-focus" ); }, focusout: function( event ) { this._removeClass( $( event.currentTarget ), null, "ui-state-focus" ); } } ); }, _trigger: function( type, event, data ) { var prop, orig; var callback = this.options[ type ]; data = data || {}; event = $.Event( event ); event.type = ( type === this.widgetEventPrefix ? type : this.widgetEventPrefix + type ).toLowerCase(); // The original event may come from any element // so we need to reset the target on the new event event.target = this.element[ 0 ]; // Copy original event properties over to the new event orig = event.originalEvent; if ( orig ) { for ( prop in orig ) { if ( !( prop in event ) ) { event[ prop ] = orig[ prop ]; } } } this.element.trigger( event, data ); return !( typeof callback === "function" && callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || event.isDefaultPrevented() ); } }; $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { if ( typeof options === "string" ) { options = { effect: options }; } var hasOptions; var effectName = !options ? method : options === true || typeof options === "number" ? defaultEffect : options.effect || defaultEffect; options = options || {}; if ( typeof options === "number" ) { options = { duration: options }; } else if ( options === true ) { options = {}; } hasOptions = !$.isEmptyObject( options ); options.complete = callback; if ( options.delay ) { element.delay( options.delay ); } if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { element[ method ]( options ); } else if ( effectName !== method && element[ effectName ] ) { element[ effectName ]( options.duration, options.easing, callback ); } else { element.queue( function( next ) { $( this )[ method ](); if ( callback ) { callback.call( element[ 0 ] ); } next(); } ); } }; } ); var widget = $.widget; /*! * jQuery UI Position 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * * http://api.jqueryui.com/position/ */ //>>label: Position //>>group: Core //>>description: Positions elements relative to other elements. //>>docs: http://api.jqueryui.com/position/ //>>demos: http://jqueryui.com/position/ ( function() { var cachedScrollbarWidth, max = Math.max, abs = Math.abs, rhorizontal = /left|center|right/, rvertical = /top|center|bottom/, roffset = /[\+\-]\d+(\.[\d]+)?%?/, rposition = /^\w+/, rpercent = /%$/, _position = $.fn.position; function getOffsets( offsets, width, height ) { return [ parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) ]; } function parseCss( element, property ) { return parseInt( $.css( element, property ), 10 ) || 0; } function isWindow( obj ) { return obj != null && obj === obj.window; } function getDimensions( elem ) { var raw = elem[ 0 ]; if ( raw.nodeType === 9 ) { return { width: elem.width(), height: elem.height(), offset: { top: 0, left: 0 } }; } if ( isWindow( raw ) ) { return { width: elem.width(), height: elem.height(), offset: { top: elem.scrollTop(), left: elem.scrollLeft() } }; } if ( raw.preventDefault ) { return { width: 0, height: 0, offset: { top: raw.pageY, left: raw.pageX } }; } return { width: elem.outerWidth(), height: elem.outerHeight(), offset: elem.offset() }; } $.position = { scrollbarWidth: function() { if ( cachedScrollbarWidth !== undefined ) { return cachedScrollbarWidth; } var w1, w2, div = $( "
          " + "
          " ), innerDiv = div.children()[ 0 ]; $( "body" ).append( div ); w1 = innerDiv.offsetWidth; div.css( "overflow", "scroll" ); w2 = innerDiv.offsetWidth; if ( w1 === w2 ) { w2 = div[ 0 ].clientWidth; } div.remove(); return ( cachedScrollbarWidth = w1 - w2 ); }, getScrollInfo: function( within ) { var overflowX = within.isWindow || within.isDocument ? "" : within.element.css( "overflow-x" ), overflowY = within.isWindow || within.isDocument ? "" : within.element.css( "overflow-y" ), hasOverflowX = overflowX === "scroll" || ( overflowX === "auto" && within.width < within.element[ 0 ].scrollWidth ), hasOverflowY = overflowY === "scroll" || ( overflowY === "auto" && within.height < within.element[ 0 ].scrollHeight ); return { width: hasOverflowY ? $.position.scrollbarWidth() : 0, height: hasOverflowX ? $.position.scrollbarWidth() : 0 }; }, getWithinInfo: function( element ) { var withinElement = $( element || window ), isElemWindow = isWindow( withinElement[ 0 ] ), isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9, hasOffset = !isElemWindow && !isDocument; return { element: withinElement, isWindow: isElemWindow, isDocument: isDocument, offset: hasOffset ? $( element ).offset() : { left: 0, top: 0 }, scrollLeft: withinElement.scrollLeft(), scrollTop: withinElement.scrollTop(), width: withinElement.outerWidth(), height: withinElement.outerHeight() }; } }; $.fn.position = function( options ) { if ( !options || !options.of ) { return _position.apply( this, arguments ); } // Make a copy, we don't want to modify arguments options = $.extend( {}, options ); var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, // Make sure string options are treated as CSS selectors target = typeof options.of === "string" ? $( document ).find( options.of ) : $( options.of ), within = $.position.getWithinInfo( options.within ), scrollInfo = $.position.getScrollInfo( within ), collision = ( options.collision || "flip" ).split( " " ), offsets = {}; dimensions = getDimensions( target ); if ( target[ 0 ].preventDefault ) { // Force left top to allow flipping options.at = "left top"; } targetWidth = dimensions.width; targetHeight = dimensions.height; targetOffset = dimensions.offset; // Clone to reuse original targetOffset later basePosition = $.extend( {}, targetOffset ); // Force my and at to have valid horizontal and vertical positions // if a value is missing or invalid, it will be converted to center $.each( [ "my", "at" ], function() { var pos = ( options[ this ] || "" ).split( " " ), horizontalOffset, verticalOffset; if ( pos.length === 1 ) { pos = rhorizontal.test( pos[ 0 ] ) ? pos.concat( [ "center" ] ) : rvertical.test( pos[ 0 ] ) ? [ "center" ].concat( pos ) : [ "center", "center" ]; } pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; // Calculate offsets horizontalOffset = roffset.exec( pos[ 0 ] ); verticalOffset = roffset.exec( pos[ 1 ] ); offsets[ this ] = [ horizontalOffset ? horizontalOffset[ 0 ] : 0, verticalOffset ? verticalOffset[ 0 ] : 0 ]; // Reduce to just the positions without the offsets options[ this ] = [ rposition.exec( pos[ 0 ] )[ 0 ], rposition.exec( pos[ 1 ] )[ 0 ] ]; } ); // Normalize collision option if ( collision.length === 1 ) { collision[ 1 ] = collision[ 0 ]; } if ( options.at[ 0 ] === "right" ) { basePosition.left += targetWidth; } else if ( options.at[ 0 ] === "center" ) { basePosition.left += targetWidth / 2; } if ( options.at[ 1 ] === "bottom" ) { basePosition.top += targetHeight; } else if ( options.at[ 1 ] === "center" ) { basePosition.top += targetHeight / 2; } atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); basePosition.left += atOffset[ 0 ]; basePosition.top += atOffset[ 1 ]; return this.each( function() { var collisionPosition, using, elem = $( this ), elemWidth = elem.outerWidth(), elemHeight = elem.outerHeight(), marginLeft = parseCss( this, "marginLeft" ), marginTop = parseCss( this, "marginTop" ), collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width, collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height, position = $.extend( {}, basePosition ), myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); if ( options.my[ 0 ] === "right" ) { position.left -= elemWidth; } else if ( options.my[ 0 ] === "center" ) { position.left -= elemWidth / 2; } if ( options.my[ 1 ] === "bottom" ) { position.top -= elemHeight; } else if ( options.my[ 1 ] === "center" ) { position.top -= elemHeight / 2; } position.left += myOffset[ 0 ]; position.top += myOffset[ 1 ]; collisionPosition = { marginLeft: marginLeft, marginTop: marginTop }; $.each( [ "left", "top" ], function( i, dir ) { if ( $.ui.position[ collision[ i ] ] ) { $.ui.position[ collision[ i ] ][ dir ]( position, { targetWidth: targetWidth, targetHeight: targetHeight, elemWidth: elemWidth, elemHeight: elemHeight, collisionPosition: collisionPosition, collisionWidth: collisionWidth, collisionHeight: collisionHeight, offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], my: options.my, at: options.at, within: within, elem: elem } ); } } ); if ( options.using ) { // Adds feedback as second argument to using callback, if present using = function( props ) { var left = targetOffset.left - position.left, right = left + targetWidth - elemWidth, top = targetOffset.top - position.top, bottom = top + targetHeight - elemHeight, feedback = { target: { element: target, left: targetOffset.left, top: targetOffset.top, width: targetWidth, height: targetHeight }, element: { element: elem, left: position.left, top: position.top, width: elemWidth, height: elemHeight }, horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" }; if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { feedback.horizontal = "center"; } if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { feedback.vertical = "middle"; } if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { feedback.important = "horizontal"; } else { feedback.important = "vertical"; } options.using.call( this, props, feedback ); }; } elem.offset( $.extend( position, { using: using } ) ); } ); }; $.ui.position = { fit: { left: function( position, data ) { var within = data.within, withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, outerWidth = within.width, collisionPosLeft = position.left - data.collisionPosition.marginLeft, overLeft = withinOffset - collisionPosLeft, overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, newOverRight; // Element is wider than within if ( data.collisionWidth > outerWidth ) { // Element is initially over the left side of within if ( overLeft > 0 && overRight <= 0 ) { newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; position.left += overLeft - newOverRight; // Element is initially over right side of within } else if ( overRight > 0 && overLeft <= 0 ) { position.left = withinOffset; // Element is initially over both left and right sides of within } else { if ( overLeft > overRight ) { position.left = withinOffset + outerWidth - data.collisionWidth; } else { position.left = withinOffset; } } // Too far left -> align with left edge } else if ( overLeft > 0 ) { position.left += overLeft; // Too far right -> align with right edge } else if ( overRight > 0 ) { position.left -= overRight; // Adjust based on position and margin } else { position.left = max( position.left - collisionPosLeft, position.left ); } }, top: function( position, data ) { var within = data.within, withinOffset = within.isWindow ? within.scrollTop : within.offset.top, outerHeight = data.within.height, collisionPosTop = position.top - data.collisionPosition.marginTop, overTop = withinOffset - collisionPosTop, overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, newOverBottom; // Element is taller than within if ( data.collisionHeight > outerHeight ) { // Element is initially over the top of within if ( overTop > 0 && overBottom <= 0 ) { newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; position.top += overTop - newOverBottom; // Element is initially over bottom of within } else if ( overBottom > 0 && overTop <= 0 ) { position.top = withinOffset; // Element is initially over both top and bottom of within } else { if ( overTop > overBottom ) { position.top = withinOffset + outerHeight - data.collisionHeight; } else { position.top = withinOffset; } } // Too far up -> align with top } else if ( overTop > 0 ) { position.top += overTop; // Too far down -> align with bottom edge } else if ( overBottom > 0 ) { position.top -= overBottom; // Adjust based on position and margin } else { position.top = max( position.top - collisionPosTop, position.top ); } } }, flip: { left: function( position, data ) { var within = data.within, withinOffset = within.offset.left + within.scrollLeft, outerWidth = within.width, offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, collisionPosLeft = position.left - data.collisionPosition.marginLeft, overLeft = collisionPosLeft - offsetLeft, overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, myOffset = data.my[ 0 ] === "left" ? -data.elemWidth : data.my[ 0 ] === "right" ? data.elemWidth : 0, atOffset = data.at[ 0 ] === "left" ? data.targetWidth : data.at[ 0 ] === "right" ? -data.targetWidth : 0, offset = -2 * data.offset[ 0 ], newOverRight, newOverLeft; if ( overLeft < 0 ) { newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { position.left += myOffset + atOffset + offset; } } else if ( overRight > 0 ) { newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { position.left += myOffset + atOffset + offset; } } }, top: function( position, data ) { var within = data.within, withinOffset = within.offset.top + within.scrollTop, outerHeight = within.height, offsetTop = within.isWindow ? within.scrollTop : within.offset.top, collisionPosTop = position.top - data.collisionPosition.marginTop, overTop = collisionPosTop - offsetTop, overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, top = data.my[ 1 ] === "top", myOffset = top ? -data.elemHeight : data.my[ 1 ] === "bottom" ? data.elemHeight : 0, atOffset = data.at[ 1 ] === "top" ? data.targetHeight : data.at[ 1 ] === "bottom" ? -data.targetHeight : 0, offset = -2 * data.offset[ 1 ], newOverTop, newOverBottom; if ( overTop < 0 ) { newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { position.top += myOffset + atOffset + offset; } } else if ( overBottom > 0 ) { newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { position.top += myOffset + atOffset + offset; } } } }, flipfit: { left: function() { $.ui.position.flip.left.apply( this, arguments ); $.ui.position.fit.left.apply( this, arguments ); }, top: function() { $.ui.position.flip.top.apply( this, arguments ); $.ui.position.fit.top.apply( this, arguments ); } } }; } )(); var position = $.ui.position; /*! * jQuery UI :data 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: :data Selector //>>group: Core //>>description: Selects elements which have data stored under the specified key. //>>docs: http://api.jqueryui.com/data-selector/ var data = $.extend( $.expr.pseudos, { data: $.expr.createPseudo ? $.expr.createPseudo( function( dataName ) { return function( elem ) { return !!$.data( elem, dataName ); }; } ) : // Support: jQuery <1.8 function( elem, i, match ) { return !!$.data( elem, match[ 3 ] ); } } ); /*! * jQuery UI Disable Selection 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: disableSelection //>>group: Core //>>description: Disable selection of text content within the set of matched elements. //>>docs: http://api.jqueryui.com/disableSelection/ // This file is deprecated var disableSelection = $.fn.extend( { disableSelection: ( function() { var eventType = "onselectstart" in document.createElement( "div" ) ? "selectstart" : "mousedown"; return function() { return this.on( eventType + ".ui-disableSelection", function( event ) { event.preventDefault(); } ); }; } )(), enableSelection: function() { return this.off( ".ui-disableSelection" ); } } ); // Create a local jQuery because jQuery Color relies on it and the // global may not exist with AMD and a custom build (#10199). // This module is a noop if used as a regular AMD module. // eslint-disable-next-line no-unused-vars var jQuery = $; /*! * jQuery Color Animations v2.2.0 * https://github.com/jquery/jquery-color * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * * Date: Sun May 10 09:02:36 2020 +0200 */ var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor " + "borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", class2type = {}, toString = class2type.toString, // plusequals test for += 100 -= 100 rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, // a set of RE's that can match strings and generate color tuples. stringParsers = [ { re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, parse: function( execResult ) { return [ execResult[ 1 ], execResult[ 2 ], execResult[ 3 ], execResult[ 4 ] ]; } }, { re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, parse: function( execResult ) { return [ execResult[ 1 ] * 2.55, execResult[ 2 ] * 2.55, execResult[ 3 ] * 2.55, execResult[ 4 ] ]; } }, { // this regex ignores A-F because it's compared against an already lowercased string re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/, parse: function( execResult ) { return [ parseInt( execResult[ 1 ], 16 ), parseInt( execResult[ 2 ], 16 ), parseInt( execResult[ 3 ], 16 ), execResult[ 4 ] ? ( parseInt( execResult[ 4 ], 16 ) / 255 ).toFixed( 2 ) : 1 ]; } }, { // this regex ignores A-F because it's compared against an already lowercased string re: /#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/, parse: function( execResult ) { return [ parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ), execResult[ 4 ] ? ( parseInt( execResult[ 4 ] + execResult[ 4 ], 16 ) / 255 ) .toFixed( 2 ) : 1 ]; } }, { re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, space: "hsla", parse: function( execResult ) { return [ execResult[ 1 ], execResult[ 2 ] / 100, execResult[ 3 ] / 100, execResult[ 4 ] ]; } } ], // jQuery.Color( ) color = jQuery.Color = function( color, green, blue, alpha ) { return new jQuery.Color.fn.parse( color, green, blue, alpha ); }, spaces = { rgba: { props: { red: { idx: 0, type: "byte" }, green: { idx: 1, type: "byte" }, blue: { idx: 2, type: "byte" } } }, hsla: { props: { hue: { idx: 0, type: "degrees" }, saturation: { idx: 1, type: "percent" }, lightness: { idx: 2, type: "percent" } } } }, propTypes = { "byte": { floor: true, max: 255 }, "percent": { max: 1 }, "degrees": { mod: 360, floor: true } }, support = color.support = {}, // element for support tests supportElem = jQuery( "

          " )[ 0 ], // colors = jQuery.Color.names colors, // local aliases of functions called often each = jQuery.each; // determine rgba support immediately supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1; // define cache name and alpha properties // for rgba and hsla spaces each( spaces, function( spaceName, space ) { space.cache = "_" + spaceName; space.props.alpha = { idx: 3, type: "percent", def: 1 }; } ); // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), function( _i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); function getType( obj ) { if ( obj == null ) { return obj + ""; } return typeof obj === "object" ? class2type[ toString.call( obj ) ] || "object" : typeof obj; } function clamp( value, prop, allowEmpty ) { var type = propTypes[ prop.type ] || {}; if ( value == null ) { return ( allowEmpty || !prop.def ) ? null : prop.def; } // ~~ is an short way of doing floor for positive numbers value = type.floor ? ~~value : parseFloat( value ); // IE will pass in empty strings as value for alpha, // which will hit this case if ( isNaN( value ) ) { return prop.def; } if ( type.mod ) { // we add mod before modding to make sure that negatives values // get converted properly: -10 -> 350 return ( value + type.mod ) % type.mod; } // for now all property types without mod have min and max return Math.min( type.max, Math.max( 0, value ) ); } function stringParse( string ) { var inst = color(), rgba = inst._rgba = []; string = string.toLowerCase(); each( stringParsers, function( _i, parser ) { var parsed, match = parser.re.exec( string ), values = match && parser.parse( match ), spaceName = parser.space || "rgba"; if ( values ) { parsed = inst[ spaceName ]( values ); // if this was an rgba parse the assignment might happen twice // oh well.... inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ]; rgba = inst._rgba = parsed._rgba; // exit each( stringParsers ) here because we matched return false; } } ); // Found a stringParser that handled it if ( rgba.length ) { // if this came from a parsed string, force "transparent" when alpha is 0 // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) if ( rgba.join() === "0,0,0,0" ) { jQuery.extend( rgba, colors.transparent ); } return inst; } // named colors return colors[ string ]; } color.fn = jQuery.extend( color.prototype, { parse: function( red, green, blue, alpha ) { if ( red === undefined ) { this._rgba = [ null, null, null, null ]; return this; } if ( red.jquery || red.nodeType ) { red = jQuery( red ).css( green ); green = undefined; } var inst = this, type = getType( red ), rgba = this._rgba = []; // more than 1 argument specified - assume ( red, green, blue, alpha ) if ( green !== undefined ) { red = [ red, green, blue, alpha ]; type = "array"; } if ( type === "string" ) { return this.parse( stringParse( red ) || colors._default ); } if ( type === "array" ) { each( spaces.rgba.props, function( _key, prop ) { rgba[ prop.idx ] = clamp( red[ prop.idx ], prop ); } ); return this; } if ( type === "object" ) { if ( red instanceof color ) { each( spaces, function( _spaceName, space ) { if ( red[ space.cache ] ) { inst[ space.cache ] = red[ space.cache ].slice(); } } ); } else { each( spaces, function( _spaceName, space ) { var cache = space.cache; each( space.props, function( key, prop ) { // if the cache doesn't exist, and we know how to convert if ( !inst[ cache ] && space.to ) { // if the value was null, we don't need to copy it // if the key was alpha, we don't need to copy it either if ( key === "alpha" || red[ key ] == null ) { return; } inst[ cache ] = space.to( inst._rgba ); } // this is the only case where we allow nulls for ALL properties. // call clamp with alwaysAllowEmpty inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true ); } ); // everything defined but alpha? if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) { // use the default of 1 if ( inst[ cache ][ 3 ] == null ) { inst[ cache ][ 3 ] = 1; } if ( space.from ) { inst._rgba = space.from( inst[ cache ] ); } } } ); } return this; } }, is: function( compare ) { var is = color( compare ), same = true, inst = this; each( spaces, function( _, space ) { var localCache, isCache = is[ space.cache ]; if ( isCache ) { localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || []; each( space.props, function( _, prop ) { if ( isCache[ prop.idx ] != null ) { same = ( isCache[ prop.idx ] === localCache[ prop.idx ] ); return same; } } ); } return same; } ); return same; }, _space: function() { var used = [], inst = this; each( spaces, function( spaceName, space ) { if ( inst[ space.cache ] ) { used.push( spaceName ); } } ); return used.pop(); }, transition: function( other, distance ) { var end = color( other ), spaceName = end._space(), space = spaces[ spaceName ], startColor = this.alpha() === 0 ? color( "transparent" ) : this, start = startColor[ space.cache ] || space.to( startColor._rgba ), result = start.slice(); end = end[ space.cache ]; each( space.props, function( _key, prop ) { var index = prop.idx, startValue = start[ index ], endValue = end[ index ], type = propTypes[ prop.type ] || {}; // if null, don't override start value if ( endValue === null ) { return; } // if null - use end if ( startValue === null ) { result[ index ] = endValue; } else { if ( type.mod ) { if ( endValue - startValue > type.mod / 2 ) { startValue += type.mod; } else if ( startValue - endValue > type.mod / 2 ) { startValue -= type.mod; } } result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop ); } } ); return this[ spaceName ]( result ); }, blend: function( opaque ) { // if we are already opaque - return ourself if ( this._rgba[ 3 ] === 1 ) { return this; } var rgb = this._rgba.slice(), a = rgb.pop(), blend = color( opaque )._rgba; return color( jQuery.map( rgb, function( v, i ) { return ( 1 - a ) * blend[ i ] + a * v; } ) ); }, toRgbaString: function() { var prefix = "rgba(", rgba = jQuery.map( this._rgba, function( v, i ) { if ( v != null ) { return v; } return i > 2 ? 1 : 0; } ); if ( rgba[ 3 ] === 1 ) { rgba.pop(); prefix = "rgb("; } return prefix + rgba.join() + ")"; }, toHslaString: function() { var prefix = "hsla(", hsla = jQuery.map( this.hsla(), function( v, i ) { if ( v == null ) { v = i > 2 ? 1 : 0; } // catch 1 and 2 if ( i && i < 3 ) { v = Math.round( v * 100 ) + "%"; } return v; } ); if ( hsla[ 3 ] === 1 ) { hsla.pop(); prefix = "hsl("; } return prefix + hsla.join() + ")"; }, toHexString: function( includeAlpha ) { var rgba = this._rgba.slice(), alpha = rgba.pop(); if ( includeAlpha ) { rgba.push( ~~( alpha * 255 ) ); } return "#" + jQuery.map( rgba, function( v ) { // default to 0 when nulls exist v = ( v || 0 ).toString( 16 ); return v.length === 1 ? "0" + v : v; } ).join( "" ); }, toString: function() { return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString(); } } ); color.fn.parse.prototype = color.fn; // hsla conversions adapted from: // https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 function hue2rgb( p, q, h ) { h = ( h + 1 ) % 1; if ( h * 6 < 1 ) { return p + ( q - p ) * h * 6; } if ( h * 2 < 1 ) { return q; } if ( h * 3 < 2 ) { return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6; } return p; } spaces.hsla.to = function( rgba ) { if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) { return [ null, null, null, rgba[ 3 ] ]; } var r = rgba[ 0 ] / 255, g = rgba[ 1 ] / 255, b = rgba[ 2 ] / 255, a = rgba[ 3 ], max = Math.max( r, g, b ), min = Math.min( r, g, b ), diff = max - min, add = max + min, l = add * 0.5, h, s; if ( min === max ) { h = 0; } else if ( r === max ) { h = ( 60 * ( g - b ) / diff ) + 360; } else if ( g === max ) { h = ( 60 * ( b - r ) / diff ) + 120; } else { h = ( 60 * ( r - g ) / diff ) + 240; } // chroma (diff) == 0 means greyscale which, by definition, saturation = 0% // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) if ( diff === 0 ) { s = 0; } else if ( l <= 0.5 ) { s = diff / add; } else { s = diff / ( 2 - add ); } return [ Math.round( h ) % 360, s, l, a == null ? 1 : a ]; }; spaces.hsla.from = function( hsla ) { if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) { return [ null, null, null, hsla[ 3 ] ]; } var h = hsla[ 0 ] / 360, s = hsla[ 1 ], l = hsla[ 2 ], a = hsla[ 3 ], q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s, p = 2 * l - q; return [ Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ), Math.round( hue2rgb( p, q, h ) * 255 ), Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ), a ]; }; each( spaces, function( spaceName, space ) { var props = space.props, cache = space.cache, to = space.to, from = space.from; // makes rgba() and hsla() color.fn[ spaceName ] = function( value ) { // generate a cache for this space if it doesn't exist if ( to && !this[ cache ] ) { this[ cache ] = to( this._rgba ); } if ( value === undefined ) { return this[ cache ].slice(); } var ret, type = getType( value ), arr = ( type === "array" || type === "object" ) ? value : arguments, local = this[ cache ].slice(); each( props, function( key, prop ) { var val = arr[ type === "object" ? key : prop.idx ]; if ( val == null ) { val = local[ prop.idx ]; } local[ prop.idx ] = clamp( val, prop ); } ); if ( from ) { ret = color( from( local ) ); ret[ cache ] = local; return ret; } else { return color( local ); } }; // makes red() green() blue() alpha() hue() saturation() lightness() each( props, function( key, prop ) { // alpha is included in more than one space if ( color.fn[ key ] ) { return; } color.fn[ key ] = function( value ) { var local, cur, match, fn, vtype = getType( value ); if ( key === "alpha" ) { fn = this._hsla ? "hsla" : "rgba"; } else { fn = spaceName; } local = this[ fn ](); cur = local[ prop.idx ]; if ( vtype === "undefined" ) { return cur; } if ( vtype === "function" ) { value = value.call( this, cur ); vtype = getType( value ); } if ( value == null && prop.empty ) { return this; } if ( vtype === "string" ) { match = rplusequals.exec( value ); if ( match ) { value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 ); } } local[ prop.idx ] = value; return this[ fn ]( local ); }; } ); } ); // add cssHook and .fx.step function for each named hook. // accept a space separated string of properties color.hook = function( hook ) { var hooks = hook.split( " " ); each( hooks, function( _i, hook ) { jQuery.cssHooks[ hook ] = { set: function( elem, value ) { var parsed, curElem, backgroundColor = ""; if ( value !== "transparent" && ( getType( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) { value = color( parsed || value ); if ( !support.rgba && value._rgba[ 3 ] !== 1 ) { curElem = hook === "backgroundColor" ? elem.parentNode : elem; while ( ( backgroundColor === "" || backgroundColor === "transparent" ) && curElem && curElem.style ) { try { backgroundColor = jQuery.css( curElem, "backgroundColor" ); curElem = curElem.parentNode; } catch ( e ) { } } value = value.blend( backgroundColor && backgroundColor !== "transparent" ? backgroundColor : "_default" ); } value = value.toRgbaString(); } try { elem.style[ hook ] = value; } catch ( e ) { // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit' } } }; jQuery.fx.step[ hook ] = function( fx ) { if ( !fx.colorInit ) { fx.start = color( fx.elem, hook ); fx.end = color( fx.end ); fx.colorInit = true; } jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) ); }; } ); }; color.hook( stepHooks ); jQuery.cssHooks.borderColor = { expand: function( value ) { var expanded = {}; each( [ "Top", "Right", "Bottom", "Left" ], function( _i, part ) { expanded[ "border" + part + "Color" ] = value; } ); return expanded; } }; // Basic color names only. // Usage of any of the other color names requires adding yourself or including // jquery.color.svg-names.js. colors = jQuery.Color.names = { // 4.1. Basic color keywords aqua: "#00ffff", black: "#000000", blue: "#0000ff", fuchsia: "#ff00ff", gray: "#808080", green: "#008000", lime: "#00ff00", maroon: "#800000", navy: "#000080", olive: "#808000", purple: "#800080", red: "#ff0000", silver: "#c0c0c0", teal: "#008080", white: "#ffffff", yellow: "#ffff00", // 4.2.3. "transparent" color keyword transparent: [ null, null, null, 0 ], _default: "#ffffff" }; /*! * jQuery UI Effects 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Effects Core //>>group: Effects /* eslint-disable max-len */ //>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects. /* eslint-enable max-len */ //>>docs: http://api.jqueryui.com/category/effects-core/ //>>demos: http://jqueryui.com/effect/ var dataSpace = "ui-effects-", dataSpaceStyle = "ui-effects-style", dataSpaceAnimated = "ui-effects-animated"; $.effects = { effect: {} }; /******************************************************************************/ /****************************** CLASS ANIMATIONS ******************************/ /******************************************************************************/ ( function() { var classAnimationActions = [ "add", "remove", "toggle" ], shorthandStyles = { border: 1, borderBottom: 1, borderColor: 1, borderLeft: 1, borderRight: 1, borderTop: 1, borderWidth: 1, margin: 1, padding: 1 }; $.each( [ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) { $.fx.step[ prop ] = function( fx ) { if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) { jQuery.style( fx.elem, prop, fx.end ); fx.setAttr = true; } }; } ); function camelCase( string ) { return string.replace( /-([\da-z])/gi, function( all, letter ) { return letter.toUpperCase(); } ); } function getElementStyles( elem ) { var key, len, style = elem.ownerDocument.defaultView ? elem.ownerDocument.defaultView.getComputedStyle( elem, null ) : elem.currentStyle, styles = {}; if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { len = style.length; while ( len-- ) { key = style[ len ]; if ( typeof style[ key ] === "string" ) { styles[ camelCase( key ) ] = style[ key ]; } } // Support: Opera, IE <9 } else { for ( key in style ) { if ( typeof style[ key ] === "string" ) { styles[ key ] = style[ key ]; } } } return styles; } function styleDifference( oldStyle, newStyle ) { var diff = {}, name, value; for ( name in newStyle ) { value = newStyle[ name ]; if ( oldStyle[ name ] !== value ) { if ( !shorthandStyles[ name ] ) { if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) { diff[ name ] = value; } } } } return diff; } // Support: jQuery <1.8 if ( !$.fn.addBack ) { $.fn.addBack = function( selector ) { return this.add( selector == null ? this.prevObject : this.prevObject.filter( selector ) ); }; } $.effects.animateClass = function( value, duration, easing, callback ) { var o = $.speed( duration, easing, callback ); return this.queue( function() { var animated = $( this ), baseClass = animated.attr( "class" ) || "", applyClassChange, allAnimations = o.children ? animated.find( "*" ).addBack() : animated; // Map the animated objects to store the original styles. allAnimations = allAnimations.map( function() { var el = $( this ); return { el: el, start: getElementStyles( this ) }; } ); // Apply class change applyClassChange = function() { $.each( classAnimationActions, function( i, action ) { if ( value[ action ] ) { animated[ action + "Class" ]( value[ action ] ); } } ); }; applyClassChange(); // Map all animated objects again - calculate new styles and diff allAnimations = allAnimations.map( function() { this.end = getElementStyles( this.el[ 0 ] ); this.diff = styleDifference( this.start, this.end ); return this; } ); // Apply original class animated.attr( "class", baseClass ); // Map all animated objects again - this time collecting a promise allAnimations = allAnimations.map( function() { var styleInfo = this, dfd = $.Deferred(), opts = $.extend( {}, o, { queue: false, complete: function() { dfd.resolve( styleInfo ); } } ); this.el.animate( this.diff, opts ); return dfd.promise(); } ); // Once all animations have completed: $.when.apply( $, allAnimations.get() ).done( function() { // Set the final class applyClassChange(); // For each animated element, // clear all css properties that were animated $.each( arguments, function() { var el = this.el; $.each( this.diff, function( key ) { el.css( key, "" ); } ); } ); // This is guarnteed to be there if you use jQuery.speed() // it also handles dequeuing the next anim... o.complete.call( animated[ 0 ] ); } ); } ); }; $.fn.extend( { addClass: ( function( orig ) { return function( classNames, speed, easing, callback ) { return speed ? $.effects.animateClass.call( this, { add: classNames }, speed, easing, callback ) : orig.apply( this, arguments ); }; } )( $.fn.addClass ), removeClass: ( function( orig ) { return function( classNames, speed, easing, callback ) { return arguments.length > 1 ? $.effects.animateClass.call( this, { remove: classNames }, speed, easing, callback ) : orig.apply( this, arguments ); }; } )( $.fn.removeClass ), toggleClass: ( function( orig ) { return function( classNames, force, speed, easing, callback ) { if ( typeof force === "boolean" || force === undefined ) { if ( !speed ) { // Without speed parameter return orig.apply( this, arguments ); } else { return $.effects.animateClass.call( this, ( force ? { add: classNames } : { remove: classNames } ), speed, easing, callback ); } } else { // Without force parameter return $.effects.animateClass.call( this, { toggle: classNames }, force, speed, easing ); } }; } )( $.fn.toggleClass ), switchClass: function( remove, add, speed, easing, callback ) { return $.effects.animateClass.call( this, { add: add, remove: remove }, speed, easing, callback ); } } ); } )(); /******************************************************************************/ /*********************************** EFFECTS **********************************/ /******************************************************************************/ ( function() { if ( $.expr && $.expr.pseudos && $.expr.pseudos.animated ) { $.expr.pseudos.animated = ( function( orig ) { return function( elem ) { return !!$( elem ).data( dataSpaceAnimated ) || orig( elem ); }; } )( $.expr.pseudos.animated ); } if ( $.uiBackCompat !== false ) { $.extend( $.effects, { // Saves a set of properties in a data storage save: function( element, set ) { var i = 0, length = set.length; for ( ; i < length; i++ ) { if ( set[ i ] !== null ) { element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] ); } } }, // Restores a set of previously saved properties from a data storage restore: function( element, set ) { var val, i = 0, length = set.length; for ( ; i < length; i++ ) { if ( set[ i ] !== null ) { val = element.data( dataSpace + set[ i ] ); element.css( set[ i ], val ); } } }, setMode: function( el, mode ) { if ( mode === "toggle" ) { mode = el.is( ":hidden" ) ? "show" : "hide"; } return mode; }, // Wraps the element around a wrapper that copies position properties createWrapper: function( element ) { // If the element is already wrapped, return it if ( element.parent().is( ".ui-effects-wrapper" ) ) { return element.parent(); } // Wrap the element var props = { width: element.outerWidth( true ), height: element.outerHeight( true ), "float": element.css( "float" ) }, wrapper = $( "

          " ) .addClass( "ui-effects-wrapper" ) .css( { fontSize: "100%", background: "transparent", border: "none", margin: 0, padding: 0 } ), // Store the size in case width/height are defined in % - Fixes #5245 size = { width: element.width(), height: element.height() }, active = document.activeElement; // Support: Firefox // Firefox incorrectly exposes anonymous content // https://bugzilla.mozilla.org/show_bug.cgi?id=561664 try { // eslint-disable-next-line no-unused-expressions active.id; } catch ( e ) { active = document.body; } element.wrap( wrapper ); // Fixes #7595 - Elements lose focus when wrapped. if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { $( active ).trigger( "focus" ); } // Hotfix for jQuery 1.4 since some change in wrap() seems to actually // lose the reference to the wrapped element wrapper = element.parent(); // Transfer positioning properties to the wrapper if ( element.css( "position" ) === "static" ) { wrapper.css( { position: "relative" } ); element.css( { position: "relative" } ); } else { $.extend( props, { position: element.css( "position" ), zIndex: element.css( "z-index" ) } ); $.each( [ "top", "left", "bottom", "right" ], function( i, pos ) { props[ pos ] = element.css( pos ); if ( isNaN( parseInt( props[ pos ], 10 ) ) ) { props[ pos ] = "auto"; } } ); element.css( { position: "relative", top: 0, left: 0, right: "auto", bottom: "auto" } ); } element.css( size ); return wrapper.css( props ).show(); }, removeWrapper: function( element ) { var active = document.activeElement; if ( element.parent().is( ".ui-effects-wrapper" ) ) { element.parent().replaceWith( element ); // Fixes #7595 - Elements lose focus when wrapped. if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { $( active ).trigger( "focus" ); } } return element; } } ); } $.extend( $.effects, { version: "1.13.2", define: function( name, mode, effect ) { if ( !effect ) { effect = mode; mode = "effect"; } $.effects.effect[ name ] = effect; $.effects.effect[ name ].mode = mode; return effect; }, scaledDimensions: function( element, percent, direction ) { if ( percent === 0 ) { return { height: 0, width: 0, outerHeight: 0, outerWidth: 0 }; } var x = direction !== "horizontal" ? ( ( percent || 100 ) / 100 ) : 1, y = direction !== "vertical" ? ( ( percent || 100 ) / 100 ) : 1; return { height: element.height() * y, width: element.width() * x, outerHeight: element.outerHeight() * y, outerWidth: element.outerWidth() * x }; }, clipToBox: function( animation ) { return { width: animation.clip.right - animation.clip.left, height: animation.clip.bottom - animation.clip.top, left: animation.clip.left, top: animation.clip.top }; }, // Injects recently queued functions to be first in line (after "inprogress") unshift: function( element, queueLength, count ) { var queue = element.queue(); if ( queueLength > 1 ) { queue.splice.apply( queue, [ 1, 0 ].concat( queue.splice( queueLength, count ) ) ); } element.dequeue(); }, saveStyle: function( element ) { element.data( dataSpaceStyle, element[ 0 ].style.cssText ); }, restoreStyle: function( element ) { element[ 0 ].style.cssText = element.data( dataSpaceStyle ) || ""; element.removeData( dataSpaceStyle ); }, mode: function( element, mode ) { var hidden = element.is( ":hidden" ); if ( mode === "toggle" ) { mode = hidden ? "show" : "hide"; } if ( hidden ? mode === "hide" : mode === "show" ) { mode = "none"; } return mode; }, // Translates a [top,left] array into a baseline value getBaseline: function( origin, original ) { var y, x; switch ( origin[ 0 ] ) { case "top": y = 0; break; case "middle": y = 0.5; break; case "bottom": y = 1; break; default: y = origin[ 0 ] / original.height; } switch ( origin[ 1 ] ) { case "left": x = 0; break; case "center": x = 0.5; break; case "right": x = 1; break; default: x = origin[ 1 ] / original.width; } return { x: x, y: y }; }, // Creates a placeholder element so that the original element can be made absolute createPlaceholder: function( element ) { var placeholder, cssPosition = element.css( "position" ), position = element.position(); // Lock in margins first to account for form elements, which // will change margin if you explicitly set height // see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380 // Support: Safari element.css( { marginTop: element.css( "marginTop" ), marginBottom: element.css( "marginBottom" ), marginLeft: element.css( "marginLeft" ), marginRight: element.css( "marginRight" ) } ) .outerWidth( element.outerWidth() ) .outerHeight( element.outerHeight() ); if ( /^(static|relative)/.test( cssPosition ) ) { cssPosition = "absolute"; placeholder = $( "<" + element[ 0 ].nodeName + ">" ).insertAfter( element ).css( { // Convert inline to inline block to account for inline elements // that turn to inline block based on content (like img) display: /^(inline|ruby)/.test( element.css( "display" ) ) ? "inline-block" : "block", visibility: "hidden", // Margins need to be set to account for margin collapse marginTop: element.css( "marginTop" ), marginBottom: element.css( "marginBottom" ), marginLeft: element.css( "marginLeft" ), marginRight: element.css( "marginRight" ), "float": element.css( "float" ) } ) .outerWidth( element.outerWidth() ) .outerHeight( element.outerHeight() ) .addClass( "ui-effects-placeholder" ); element.data( dataSpace + "placeholder", placeholder ); } element.css( { position: cssPosition, left: position.left, top: position.top } ); return placeholder; }, removePlaceholder: function( element ) { var dataKey = dataSpace + "placeholder", placeholder = element.data( dataKey ); if ( placeholder ) { placeholder.remove(); element.removeData( dataKey ); } }, // Removes a placeholder if it exists and restores // properties that were modified during placeholder creation cleanUp: function( element ) { $.effects.restoreStyle( element ); $.effects.removePlaceholder( element ); }, setTransition: function( element, list, factor, value ) { value = value || {}; $.each( list, function( i, x ) { var unit = element.cssUnit( x ); if ( unit[ 0 ] > 0 ) { value[ x ] = unit[ 0 ] * factor + unit[ 1 ]; } } ); return value; } } ); // Return an effect options object for the given parameters: function _normalizeArguments( effect, options, speed, callback ) { // Allow passing all options as the first parameter if ( $.isPlainObject( effect ) ) { options = effect; effect = effect.effect; } // Convert to an object effect = { effect: effect }; // Catch (effect, null, ...) if ( options == null ) { options = {}; } // Catch (effect, callback) if ( typeof options === "function" ) { callback = options; speed = null; options = {}; } // Catch (effect, speed, ?) if ( typeof options === "number" || $.fx.speeds[ options ] ) { callback = speed; speed = options; options = {}; } // Catch (effect, options, callback) if ( typeof speed === "function" ) { callback = speed; speed = null; } // Add options to effect if ( options ) { $.extend( effect, options ); } speed = speed || options.duration; effect.duration = $.fx.off ? 0 : typeof speed === "number" ? speed : speed in $.fx.speeds ? $.fx.speeds[ speed ] : $.fx.speeds._default; effect.complete = callback || options.complete; return effect; } function standardAnimationOption( option ) { // Valid standard speeds (nothing, number, named speed) if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) { return true; } // Invalid strings - treat as "normal" speed if ( typeof option === "string" && !$.effects.effect[ option ] ) { return true; } // Complete callback if ( typeof option === "function" ) { return true; } // Options hash (but not naming an effect) if ( typeof option === "object" && !option.effect ) { return true; } // Didn't match any standard API return false; } $.fn.extend( { effect: function( /* effect, options, speed, callback */ ) { var args = _normalizeArguments.apply( this, arguments ), effectMethod = $.effects.effect[ args.effect ], defaultMode = effectMethod.mode, queue = args.queue, queueName = queue || "fx", complete = args.complete, mode = args.mode, modes = [], prefilter = function( next ) { var el = $( this ), normalizedMode = $.effects.mode( el, mode ) || defaultMode; // Sentinel for duck-punching the :animated pseudo-selector el.data( dataSpaceAnimated, true ); // Save effect mode for later use, // we can't just call $.effects.mode again later, // as the .show() below destroys the initial state modes.push( normalizedMode ); // See $.uiBackCompat inside of run() for removal of defaultMode in 1.14 if ( defaultMode && ( normalizedMode === "show" || ( normalizedMode === defaultMode && normalizedMode === "hide" ) ) ) { el.show(); } if ( !defaultMode || normalizedMode !== "none" ) { $.effects.saveStyle( el ); } if ( typeof next === "function" ) { next(); } }; if ( $.fx.off || !effectMethod ) { // Delegate to the original method (e.g., .show()) if possible if ( mode ) { return this[ mode ]( args.duration, complete ); } else { return this.each( function() { if ( complete ) { complete.call( this ); } } ); } } function run( next ) { var elem = $( this ); function cleanup() { elem.removeData( dataSpaceAnimated ); $.effects.cleanUp( elem ); if ( args.mode === "hide" ) { elem.hide(); } done(); } function done() { if ( typeof complete === "function" ) { complete.call( elem[ 0 ] ); } if ( typeof next === "function" ) { next(); } } // Override mode option on a per element basis, // as toggle can be either show or hide depending on element state args.mode = modes.shift(); if ( $.uiBackCompat !== false && !defaultMode ) { if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) { // Call the core method to track "olddisplay" properly elem[ mode ](); done(); } else { effectMethod.call( elem[ 0 ], args, done ); } } else { if ( args.mode === "none" ) { // Call the core method to track "olddisplay" properly elem[ mode ](); done(); } else { effectMethod.call( elem[ 0 ], args, cleanup ); } } } // Run prefilter on all elements first to ensure that // any showing or hiding happens before placeholder creation, // which ensures that any layout changes are correctly captured. return queue === false ? this.each( prefilter ).each( run ) : this.queue( queueName, prefilter ).queue( queueName, run ); }, show: ( function( orig ) { return function( option ) { if ( standardAnimationOption( option ) ) { return orig.apply( this, arguments ); } else { var args = _normalizeArguments.apply( this, arguments ); args.mode = "show"; return this.effect.call( this, args ); } }; } )( $.fn.show ), hide: ( function( orig ) { return function( option ) { if ( standardAnimationOption( option ) ) { return orig.apply( this, arguments ); } else { var args = _normalizeArguments.apply( this, arguments ); args.mode = "hide"; return this.effect.call( this, args ); } }; } )( $.fn.hide ), toggle: ( function( orig ) { return function( option ) { if ( standardAnimationOption( option ) || typeof option === "boolean" ) { return orig.apply( this, arguments ); } else { var args = _normalizeArguments.apply( this, arguments ); args.mode = "toggle"; return this.effect.call( this, args ); } }; } )( $.fn.toggle ), cssUnit: function( key ) { var style = this.css( key ), val = []; $.each( [ "em", "px", "%", "pt" ], function( i, unit ) { if ( style.indexOf( unit ) > 0 ) { val = [ parseFloat( style ), unit ]; } } ); return val; }, cssClip: function( clipObj ) { if ( clipObj ) { return this.css( "clip", "rect(" + clipObj.top + "px " + clipObj.right + "px " + clipObj.bottom + "px " + clipObj.left + "px)" ); } return parseClip( this.css( "clip" ), this ); }, transfer: function( options, done ) { var element = $( this ), target = $( options.to ), targetFixed = target.css( "position" ) === "fixed", body = $( "body" ), fixTop = targetFixed ? body.scrollTop() : 0, fixLeft = targetFixed ? body.scrollLeft() : 0, endPosition = target.offset(), animation = { top: endPosition.top - fixTop, left: endPosition.left - fixLeft, height: target.innerHeight(), width: target.innerWidth() }, startPosition = element.offset(), transfer = $( "
          " ); transfer .appendTo( "body" ) .addClass( options.className ) .css( { top: startPosition.top - fixTop, left: startPosition.left - fixLeft, height: element.innerHeight(), width: element.innerWidth(), position: targetFixed ? "fixed" : "absolute" } ) .animate( animation, options.duration, options.easing, function() { transfer.remove(); if ( typeof done === "function" ) { done(); } } ); } } ); function parseClip( str, element ) { var outerWidth = element.outerWidth(), outerHeight = element.outerHeight(), clipRegex = /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/, values = clipRegex.exec( str ) || [ "", 0, outerWidth, outerHeight, 0 ]; return { top: parseFloat( values[ 1 ] ) || 0, right: values[ 2 ] === "auto" ? outerWidth : parseFloat( values[ 2 ] ), bottom: values[ 3 ] === "auto" ? outerHeight : parseFloat( values[ 3 ] ), left: parseFloat( values[ 4 ] ) || 0 }; } $.fx.step.clip = function( fx ) { if ( !fx.clipInit ) { fx.start = $( fx.elem ).cssClip(); if ( typeof fx.end === "string" ) { fx.end = parseClip( fx.end, fx.elem ); } fx.clipInit = true; } $( fx.elem ).cssClip( { top: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top, right: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right, bottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom, left: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left } ); }; } )(); /******************************************************************************/ /*********************************** EASING ***********************************/ /******************************************************************************/ ( function() { // Based on easing equations from Robert Penner (http://www.robertpenner.com/easing) var baseEasings = {}; $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) { baseEasings[ name ] = function( p ) { return Math.pow( p, i + 2 ); }; } ); $.extend( baseEasings, { Sine: function( p ) { return 1 - Math.cos( p * Math.PI / 2 ); }, Circ: function( p ) { return 1 - Math.sqrt( 1 - p * p ); }, Elastic: function( p ) { return p === 0 || p === 1 ? p : -Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 ); }, Back: function( p ) { return p * p * ( 3 * p - 2 ); }, Bounce: function( p ) { var pow2, bounce = 4; while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {} return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 ); } } ); $.each( baseEasings, function( name, easeIn ) { $.easing[ "easeIn" + name ] = easeIn; $.easing[ "easeOut" + name ] = function( p ) { return 1 - easeIn( 1 - p ); }; $.easing[ "easeInOut" + name ] = function( p ) { return p < 0.5 ? easeIn( p * 2 ) / 2 : 1 - easeIn( p * -2 + 2 ) / 2; }; } ); } )(); var effect = $.effects; /*! * jQuery UI Effects Blind 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Blind Effect //>>group: Effects //>>description: Blinds the element. //>>docs: http://api.jqueryui.com/blind-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectBlind = $.effects.define( "blind", "hide", function( options, done ) { var map = { up: [ "bottom", "top" ], vertical: [ "bottom", "top" ], down: [ "top", "bottom" ], left: [ "right", "left" ], horizontal: [ "right", "left" ], right: [ "left", "right" ] }, element = $( this ), direction = options.direction || "up", start = element.cssClip(), animate = { clip: $.extend( {}, start ) }, placeholder = $.effects.createPlaceholder( element ); animate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ]; if ( options.mode === "show" ) { element.cssClip( animate.clip ); if ( placeholder ) { placeholder.css( $.effects.clipToBox( animate ) ); } animate.clip = start; } if ( placeholder ) { placeholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing ); } element.animate( animate, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Bounce 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Bounce Effect //>>group: Effects //>>description: Bounces an element horizontally or vertically n times. //>>docs: http://api.jqueryui.com/bounce-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectBounce = $.effects.define( "bounce", function( options, done ) { var upAnim, downAnim, refValue, element = $( this ), // Defaults: mode = options.mode, hide = mode === "hide", show = mode === "show", direction = options.direction || "up", distance = options.distance, times = options.times || 5, // Number of internal animations anims = times * 2 + ( show || hide ? 1 : 0 ), speed = options.duration / anims, easing = options.easing, // Utility: ref = ( direction === "up" || direction === "down" ) ? "top" : "left", motion = ( direction === "up" || direction === "left" ), i = 0, queuelen = element.queue().length; $.effects.createPlaceholder( element ); refValue = element.css( ref ); // Default distance for the BIGGEST bounce is the outer Distance / 3 if ( !distance ) { distance = element[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3; } if ( show ) { downAnim = { opacity: 1 }; downAnim[ ref ] = refValue; // If we are showing, force opacity 0 and set the initial position // then do the "first" animation element .css( "opacity", 0 ) .css( ref, motion ? -distance * 2 : distance * 2 ) .animate( downAnim, speed, easing ); } // Start at the smallest distance if we are hiding if ( hide ) { distance = distance / Math.pow( 2, times - 1 ); } downAnim = {}; downAnim[ ref ] = refValue; // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here for ( ; i < times; i++ ) { upAnim = {}; upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; element .animate( upAnim, speed, easing ) .animate( downAnim, speed, easing ); distance = hide ? distance * 2 : distance / 2; } // Last Bounce when Hiding if ( hide ) { upAnim = { opacity: 0 }; upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; element.animate( upAnim, speed, easing ); } element.queue( done ); $.effects.unshift( element, queuelen, anims + 1 ); } ); /*! * jQuery UI Effects Clip 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Clip Effect //>>group: Effects //>>description: Clips the element on and off like an old TV. //>>docs: http://api.jqueryui.com/clip-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectClip = $.effects.define( "clip", "hide", function( options, done ) { var start, animate = {}, element = $( this ), direction = options.direction || "vertical", both = direction === "both", horizontal = both || direction === "horizontal", vertical = both || direction === "vertical"; start = element.cssClip(); animate.clip = { top: vertical ? ( start.bottom - start.top ) / 2 : start.top, right: horizontal ? ( start.right - start.left ) / 2 : start.right, bottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom, left: horizontal ? ( start.right - start.left ) / 2 : start.left }; $.effects.createPlaceholder( element ); if ( options.mode === "show" ) { element.cssClip( animate.clip ); animate.clip = start; } element.animate( animate, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Drop 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Drop Effect //>>group: Effects //>>description: Moves an element in one direction and hides it at the same time. //>>docs: http://api.jqueryui.com/drop-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectDrop = $.effects.define( "drop", "hide", function( options, done ) { var distance, element = $( this ), mode = options.mode, show = mode === "show", direction = options.direction || "left", ref = ( direction === "up" || direction === "down" ) ? "top" : "left", motion = ( direction === "up" || direction === "left" ) ? "-=" : "+=", oppositeMotion = ( motion === "+=" ) ? "-=" : "+=", animation = { opacity: 0 }; $.effects.createPlaceholder( element ); distance = options.distance || element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2; animation[ ref ] = motion + distance; if ( show ) { element.css( animation ); animation[ ref ] = oppositeMotion + distance; animation.opacity = 1; } // Animate element.animate( animation, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Explode 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Explode Effect //>>group: Effects /* eslint-disable max-len */ //>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness. /* eslint-enable max-len */ //>>docs: http://api.jqueryui.com/explode-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectExplode = $.effects.define( "explode", "hide", function( options, done ) { var i, j, left, top, mx, my, rows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3, cells = rows, element = $( this ), mode = options.mode, show = mode === "show", // Show and then visibility:hidden the element before calculating offset offset = element.show().css( "visibility", "hidden" ).offset(), // Width and height of a piece width = Math.ceil( element.outerWidth() / cells ), height = Math.ceil( element.outerHeight() / rows ), pieces = []; // Children animate complete: function childComplete() { pieces.push( this ); if ( pieces.length === rows * cells ) { animComplete(); } } // Clone the element for each row and cell. for ( i = 0; i < rows; i++ ) { // ===> top = offset.top + i * height; my = i - ( rows - 1 ) / 2; for ( j = 0; j < cells; j++ ) { // ||| left = offset.left + j * width; mx = j - ( cells - 1 ) / 2; // Create a clone of the now hidden main element that will be absolute positioned // within a wrapper div off the -left and -top equal to size of our pieces element .clone() .appendTo( "body" ) .wrap( "
          " ) .css( { position: "absolute", visibility: "visible", left: -j * width, top: -i * height } ) // Select the wrapper - make it overflow: hidden and absolute positioned based on // where the original was located +left and +top equal to the size of pieces .parent() .addClass( "ui-effects-explode" ) .css( { position: "absolute", overflow: "hidden", width: width, height: height, left: left + ( show ? mx * width : 0 ), top: top + ( show ? my * height : 0 ), opacity: show ? 0 : 1 } ) .animate( { left: left + ( show ? 0 : mx * width ), top: top + ( show ? 0 : my * height ), opacity: show ? 1 : 0 }, options.duration || 500, options.easing, childComplete ); } } function animComplete() { element.css( { visibility: "visible" } ); $( pieces ).remove(); done(); } } ); /*! * jQuery UI Effects Fade 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Fade Effect //>>group: Effects //>>description: Fades the element. //>>docs: http://api.jqueryui.com/fade-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectFade = $.effects.define( "fade", "toggle", function( options, done ) { var show = options.mode === "show"; $( this ) .css( "opacity", show ? 0 : 1 ) .animate( { opacity: show ? 1 : 0 }, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Fold 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Fold Effect //>>group: Effects //>>description: Folds an element first horizontally and then vertically. //>>docs: http://api.jqueryui.com/fold-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectFold = $.effects.define( "fold", "hide", function( options, done ) { // Create element var element = $( this ), mode = options.mode, show = mode === "show", hide = mode === "hide", size = options.size || 15, percent = /([0-9]+)%/.exec( size ), horizFirst = !!options.horizFirst, ref = horizFirst ? [ "right", "bottom" ] : [ "bottom", "right" ], duration = options.duration / 2, placeholder = $.effects.createPlaceholder( element ), start = element.cssClip(), animation1 = { clip: $.extend( {}, start ) }, animation2 = { clip: $.extend( {}, start ) }, distance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ], queuelen = element.queue().length; if ( percent ) { size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ]; } animation1.clip[ ref[ 0 ] ] = size; animation2.clip[ ref[ 0 ] ] = size; animation2.clip[ ref[ 1 ] ] = 0; if ( show ) { element.cssClip( animation2.clip ); if ( placeholder ) { placeholder.css( $.effects.clipToBox( animation2 ) ); } animation2.clip = start; } // Animate element .queue( function( next ) { if ( placeholder ) { placeholder .animate( $.effects.clipToBox( animation1 ), duration, options.easing ) .animate( $.effects.clipToBox( animation2 ), duration, options.easing ); } next(); } ) .animate( animation1, duration, options.easing ) .animate( animation2, duration, options.easing ) .queue( done ); $.effects.unshift( element, queuelen, 4 ); } ); /*! * jQuery UI Effects Highlight 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Highlight Effect //>>group: Effects //>>description: Highlights the background of an element in a defined color for a custom duration. //>>docs: http://api.jqueryui.com/highlight-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectHighlight = $.effects.define( "highlight", "show", function( options, done ) { var element = $( this ), animation = { backgroundColor: element.css( "backgroundColor" ) }; if ( options.mode === "hide" ) { animation.opacity = 0; } $.effects.saveStyle( element ); element .css( { backgroundImage: "none", backgroundColor: options.color || "#ffff99" } ) .animate( animation, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Size 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Size Effect //>>group: Effects //>>description: Resize an element to a specified width and height. //>>docs: http://api.jqueryui.com/size-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectSize = $.effects.define( "size", function( options, done ) { // Create element var baseline, factor, temp, element = $( this ), // Copy for children cProps = [ "fontSize" ], vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ], hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ], // Set options mode = options.mode, restore = mode !== "effect", scale = options.scale || "both", origin = options.origin || [ "middle", "center" ], position = element.css( "position" ), pos = element.position(), original = $.effects.scaledDimensions( element ), from = options.from || original, to = options.to || $.effects.scaledDimensions( element, 0 ); $.effects.createPlaceholder( element ); if ( mode === "show" ) { temp = from; from = to; to = temp; } // Set scaling factor factor = { from: { y: from.height / original.height, x: from.width / original.width }, to: { y: to.height / original.height, x: to.width / original.width } }; // Scale the css box if ( scale === "box" || scale === "both" ) { // Vertical props scaling if ( factor.from.y !== factor.to.y ) { from = $.effects.setTransition( element, vProps, factor.from.y, from ); to = $.effects.setTransition( element, vProps, factor.to.y, to ); } // Horizontal props scaling if ( factor.from.x !== factor.to.x ) { from = $.effects.setTransition( element, hProps, factor.from.x, from ); to = $.effects.setTransition( element, hProps, factor.to.x, to ); } } // Scale the content if ( scale === "content" || scale === "both" ) { // Vertical props scaling if ( factor.from.y !== factor.to.y ) { from = $.effects.setTransition( element, cProps, factor.from.y, from ); to = $.effects.setTransition( element, cProps, factor.to.y, to ); } } // Adjust the position properties based on the provided origin points if ( origin ) { baseline = $.effects.getBaseline( origin, original ); from.top = ( original.outerHeight - from.outerHeight ) * baseline.y + pos.top; from.left = ( original.outerWidth - from.outerWidth ) * baseline.x + pos.left; to.top = ( original.outerHeight - to.outerHeight ) * baseline.y + pos.top; to.left = ( original.outerWidth - to.outerWidth ) * baseline.x + pos.left; } delete from.outerHeight; delete from.outerWidth; element.css( from ); // Animate the children if desired if ( scale === "content" || scale === "both" ) { vProps = vProps.concat( [ "marginTop", "marginBottom" ] ).concat( cProps ); hProps = hProps.concat( [ "marginLeft", "marginRight" ] ); // Only animate children with width attributes specified // TODO: is this right? should we include anything with css width specified as well element.find( "*[width]" ).each( function() { var child = $( this ), childOriginal = $.effects.scaledDimensions( child ), childFrom = { height: childOriginal.height * factor.from.y, width: childOriginal.width * factor.from.x, outerHeight: childOriginal.outerHeight * factor.from.y, outerWidth: childOriginal.outerWidth * factor.from.x }, childTo = { height: childOriginal.height * factor.to.y, width: childOriginal.width * factor.to.x, outerHeight: childOriginal.height * factor.to.y, outerWidth: childOriginal.width * factor.to.x }; // Vertical props scaling if ( factor.from.y !== factor.to.y ) { childFrom = $.effects.setTransition( child, vProps, factor.from.y, childFrom ); childTo = $.effects.setTransition( child, vProps, factor.to.y, childTo ); } // Horizontal props scaling if ( factor.from.x !== factor.to.x ) { childFrom = $.effects.setTransition( child, hProps, factor.from.x, childFrom ); childTo = $.effects.setTransition( child, hProps, factor.to.x, childTo ); } if ( restore ) { $.effects.saveStyle( child ); } // Animate children child.css( childFrom ); child.animate( childTo, options.duration, options.easing, function() { // Restore children if ( restore ) { $.effects.restoreStyle( child ); } } ); } ); } // Animate element.animate( to, { queue: false, duration: options.duration, easing: options.easing, complete: function() { var offset = element.offset(); if ( to.opacity === 0 ) { element.css( "opacity", from.opacity ); } if ( !restore ) { element .css( "position", position === "static" ? "relative" : position ) .offset( offset ); // Need to save style here so that automatic style restoration // doesn't restore to the original styles from before the animation. $.effects.saveStyle( element ); } done(); } } ); } ); /*! * jQuery UI Effects Scale 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Scale Effect //>>group: Effects //>>description: Grows or shrinks an element and its content. //>>docs: http://api.jqueryui.com/scale-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectScale = $.effects.define( "scale", function( options, done ) { // Create element var el = $( this ), mode = options.mode, percent = parseInt( options.percent, 10 ) || ( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== "effect" ? 0 : 100 ) ), newOptions = $.extend( true, { from: $.effects.scaledDimensions( el ), to: $.effects.scaledDimensions( el, percent, options.direction || "both" ), origin: options.origin || [ "middle", "center" ] }, options ); // Fade option to support puff if ( options.fade ) { newOptions.from.opacity = 1; newOptions.to.opacity = 0; } $.effects.effect.size.call( this, newOptions, done ); } ); /*! * jQuery UI Effects Puff 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Puff Effect //>>group: Effects //>>description: Creates a puff effect by scaling the element up and hiding it at the same time. //>>docs: http://api.jqueryui.com/puff-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectPuff = $.effects.define( "puff", "hide", function( options, done ) { var newOptions = $.extend( true, {}, options, { fade: true, percent: parseInt( options.percent, 10 ) || 150 } ); $.effects.effect.scale.call( this, newOptions, done ); } ); /*! * jQuery UI Effects Pulsate 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Pulsate Effect //>>group: Effects //>>description: Pulsates an element n times by changing the opacity to zero and back. //>>docs: http://api.jqueryui.com/pulsate-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectPulsate = $.effects.define( "pulsate", "show", function( options, done ) { var element = $( this ), mode = options.mode, show = mode === "show", hide = mode === "hide", showhide = show || hide, // Showing or hiding leaves off the "last" animation anims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ), duration = options.duration / anims, animateTo = 0, i = 1, queuelen = element.queue().length; if ( show || !element.is( ":visible" ) ) { element.css( "opacity", 0 ).show(); animateTo = 1; } // Anims - 1 opacity "toggles" for ( ; i < anims; i++ ) { element.animate( { opacity: animateTo }, duration, options.easing ); animateTo = 1 - animateTo; } element.animate( { opacity: animateTo }, duration, options.easing ); element.queue( done ); $.effects.unshift( element, queuelen, anims + 1 ); } ); /*! * jQuery UI Effects Shake 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Shake Effect //>>group: Effects //>>description: Shakes an element horizontally or vertically n times. //>>docs: http://api.jqueryui.com/shake-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectShake = $.effects.define( "shake", function( options, done ) { var i = 1, element = $( this ), direction = options.direction || "left", distance = options.distance || 20, times = options.times || 3, anims = times * 2 + 1, speed = Math.round( options.duration / anims ), ref = ( direction === "up" || direction === "down" ) ? "top" : "left", positiveMotion = ( direction === "up" || direction === "left" ), animation = {}, animation1 = {}, animation2 = {}, queuelen = element.queue().length; $.effects.createPlaceholder( element ); // Animation animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance; animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2; animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2; // Animate element.animate( animation, speed, options.easing ); // Shakes for ( ; i < times; i++ ) { element .animate( animation1, speed, options.easing ) .animate( animation2, speed, options.easing ); } element .animate( animation1, speed, options.easing ) .animate( animation, speed / 2, options.easing ) .queue( done ); $.effects.unshift( element, queuelen, anims + 1 ); } ); /*! * jQuery UI Effects Slide 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Slide Effect //>>group: Effects //>>description: Slides an element in and out of the viewport. //>>docs: http://api.jqueryui.com/slide-effect/ //>>demos: http://jqueryui.com/effect/ var effectsEffectSlide = $.effects.define( "slide", "show", function( options, done ) { var startClip, startRef, element = $( this ), map = { up: [ "bottom", "top" ], down: [ "top", "bottom" ], left: [ "right", "left" ], right: [ "left", "right" ] }, mode = options.mode, direction = options.direction || "left", ref = ( direction === "up" || direction === "down" ) ? "top" : "left", positiveMotion = ( direction === "up" || direction === "left" ), distance = options.distance || element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ), animation = {}; $.effects.createPlaceholder( element ); startClip = element.cssClip(); startRef = element.position()[ ref ]; // Define hide animation animation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef; animation.clip = element.cssClip(); animation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ]; // Reverse the animation if we're showing if ( mode === "show" ) { element.cssClip( animation.clip ); element.css( ref, animation[ ref ] ); animation.clip = startClip; animation[ ref ] = startRef; } // Actually animate element.animate( animation, { queue: false, duration: options.duration, easing: options.easing, complete: done } ); } ); /*! * jQuery UI Effects Transfer 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Transfer Effect //>>group: Effects //>>description: Displays a transfer effect from one element to another. //>>docs: http://api.jqueryui.com/transfer-effect/ //>>demos: http://jqueryui.com/effect/ var effect; if ( $.uiBackCompat !== false ) { effect = $.effects.define( "transfer", function( options, done ) { $( this ).transfer( options, done ); } ); } var effectsEffectTransfer = effect; /*! * jQuery UI Focusable 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: :focusable Selector //>>group: Core //>>description: Selects elements which can be focused. //>>docs: http://api.jqueryui.com/focusable-selector/ // Selectors $.ui.focusable = function( element, hasTabindex ) { var map, mapName, img, focusableIfVisible, fieldset, nodeName = element.nodeName.toLowerCase(); if ( "area" === nodeName ) { map = element.parentNode; mapName = map.name; if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { return false; } img = $( "img[usemap='#" + mapName + "']" ); return img.length > 0 && img.is( ":visible" ); } if ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) { focusableIfVisible = !element.disabled; if ( focusableIfVisible ) { // Form controls within a disabled fieldset are disabled. // However, controls within the fieldset's legend do not get disabled. // Since controls generally aren't placed inside legends, we skip // this portion of the check. fieldset = $( element ).closest( "fieldset" )[ 0 ]; if ( fieldset ) { focusableIfVisible = !fieldset.disabled; } } } else if ( "a" === nodeName ) { focusableIfVisible = element.href || hasTabindex; } else { focusableIfVisible = hasTabindex; } return focusableIfVisible && $( element ).is( ":visible" ) && visible( $( element ) ); }; // Support: IE 8 only // IE 8 doesn't resolve inherit to visible/hidden for computed values function visible( element ) { var visibility = element.css( "visibility" ); while ( visibility === "inherit" ) { element = element.parent(); visibility = element.css( "visibility" ); } return visibility === "visible"; } $.extend( $.expr.pseudos, { focusable: function( element ) { return $.ui.focusable( element, $.attr( element, "tabindex" ) != null ); } } ); var focusable = $.ui.focusable; // Support: IE8 Only // IE8 does not support the form attribute and when it is supplied. It overwrites the form prop // with a string, so we need to find the proper form. var form = $.fn._form = function() { return typeof this[ 0 ].form === "string" ? this.closest( "form" ) : $( this[ 0 ].form ); }; /*! * jQuery UI Form Reset Mixin 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Form Reset Mixin //>>group: Core //>>description: Refresh input widgets when their form is reset //>>docs: http://api.jqueryui.com/form-reset-mixin/ var formResetMixin = $.ui.formResetMixin = { _formResetHandler: function() { var form = $( this ); // Wait for the form reset to actually happen before refreshing setTimeout( function() { var instances = form.data( "ui-form-reset-instances" ); $.each( instances, function() { this.refresh(); } ); } ); }, _bindFormResetHandler: function() { this.form = this.element._form(); if ( !this.form.length ) { return; } var instances = this.form.data( "ui-form-reset-instances" ) || []; if ( !instances.length ) { // We don't use _on() here because we use a single event handler per form this.form.on( "reset.ui-form-reset", this._formResetHandler ); } instances.push( this ); this.form.data( "ui-form-reset-instances", instances ); }, _unbindFormResetHandler: function() { if ( !this.form.length ) { return; } var instances = this.form.data( "ui-form-reset-instances" ); instances.splice( $.inArray( this, instances ), 1 ); if ( instances.length ) { this.form.data( "ui-form-reset-instances", instances ); } else { this.form .removeData( "ui-form-reset-instances" ) .off( "reset.ui-form-reset" ); } } }; /*! * jQuery UI Support for jQuery core 1.8.x and newer 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * */ //>>label: jQuery 1.8+ Support //>>group: Core //>>description: Support version 1.8.x and newer of jQuery core // Support: jQuery 1.9.x or older // $.expr[ ":" ] is deprecated. if ( !$.expr.pseudos ) { $.expr.pseudos = $.expr[ ":" ]; } // Support: jQuery 1.11.x or older // $.unique has been renamed to $.uniqueSort if ( !$.uniqueSort ) { $.uniqueSort = $.unique; } // Support: jQuery 2.2.x or older. // This method has been defined in jQuery 3.0.0. // Code from https://github.com/jquery/jquery/blob/e539bac79e666bba95bba86d690b4e609dca2286/src/selector/escapeSelector.js if ( !$.escapeSelector ) { // CSS string/identifier serialization // https://drafts.csswg.org/cssom/#common-serializing-idioms var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; var fcssescape = function( ch, asCodePoint ) { if ( asCodePoint ) { // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER if ( ch === "\0" ) { return "\uFFFD"; } // Control characters and (dependent upon position) numbers get escaped as code points return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; } // Other potentially-special ASCII characters get backslash-escaped return "\\" + ch; }; $.escapeSelector = function( sel ) { return ( sel + "" ).replace( rcssescape, fcssescape ); }; } // Support: jQuery 3.4.x or older // These methods have been defined in jQuery 3.5.0. if ( !$.fn.even || !$.fn.odd ) { $.fn.extend( { even: function() { return this.filter( function( i ) { return i % 2 === 0; } ); }, odd: function() { return this.filter( function( i ) { return i % 2 === 1; } ); } } ); } ; /*! * jQuery UI Keycode 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Keycode //>>group: Core //>>description: Provide keycodes as keynames //>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/ var keycode = $.ui.keyCode = { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 }; /*! * jQuery UI Labels 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: labels //>>group: Core //>>description: Find all the labels associated with a given input //>>docs: http://api.jqueryui.com/labels/ var labels = $.fn.labels = function() { var ancestor, selector, id, labels, ancestors; if ( !this.length ) { return this.pushStack( [] ); } // Check control.labels first if ( this[ 0 ].labels && this[ 0 ].labels.length ) { return this.pushStack( this[ 0 ].labels ); } // Support: IE <= 11, FF <= 37, Android <= 2.3 only // Above browsers do not support control.labels. Everything below is to support them // as well as document fragments. control.labels does not work on document fragments labels = this.eq( 0 ).parents( "label" ); // Look for the label based on the id id = this.attr( "id" ); if ( id ) { // We don't search against the document in case the element // is disconnected from the DOM ancestor = this.eq( 0 ).parents().last(); // Get a full set of top level ancestors ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() ); // Create a selector for the label based on the id selector = "label[for='" + $.escapeSelector( id ) + "']"; labels = labels.add( ancestors.find( selector ).addBack( selector ) ); } // Return whatever we have found for labels return this.pushStack( labels ); }; /*! * jQuery UI Scroll Parent 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: scrollParent //>>group: Core //>>description: Get the closest ancestor element that is scrollable. //>>docs: http://api.jqueryui.com/scrollParent/ var scrollParent = $.fn.scrollParent = function( includeHidden ) { var position = this.css( "position" ), excludeStaticParent = position === "absolute", overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, scrollParent = this.parents().filter( function() { var parent = $( this ); if ( excludeStaticParent && parent.css( "position" ) === "static" ) { return false; } return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); } ).eq( 0 ); return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; }; /*! * jQuery UI Tabbable 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: :tabbable Selector //>>group: Core //>>description: Selects elements which can be tabbed to. //>>docs: http://api.jqueryui.com/tabbable-selector/ var tabbable = $.extend( $.expr.pseudos, { tabbable: function( element ) { var tabIndex = $.attr( element, "tabindex" ), hasTabindex = tabIndex != null; return ( !hasTabindex || tabIndex >= 0 ) && $.ui.focusable( element, hasTabindex ); } } ); /*! * jQuery UI Unique ID 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: uniqueId //>>group: Core //>>description: Functions to generate and remove uniqueId's //>>docs: http://api.jqueryui.com/uniqueId/ var uniqueId = $.fn.extend( { uniqueId: ( function() { var uuid = 0; return function() { return this.each( function() { if ( !this.id ) { this.id = "ui-id-" + ( ++uuid ); } } ); }; } )(), removeUniqueId: function() { return this.each( function() { if ( /^ui-id-\d+$/.test( this.id ) ) { $( this ).removeAttr( "id" ); } } ); } } ); /*! * jQuery UI Accordion 1.13.2 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license */ //>>label: Accordion //>>group: Widgets /* eslint-disable max-len */ //>>description: Displays collapsible content panels for presenting information in a limited amount of space. /* eslint-enable max-len */ //>>docs: http://api.jqueryui.com/accordion/ //>>demos: http://jqueryui.com/accordion/ //>>css.structure: ../../themes/base/core.css //>>css.structure: ../../themes/base/accordion.css //>>css.theme: ../../themes/base/theme.css var widgetsAccordion = $.widget( "ui.accordion", { version: "1.13.2", options: { active: 0, animate: {}, classes: { "ui-accordion-header": "ui-corner-top", "ui-accordion-header-collapsed": "ui-corner-all", "ui-accordion-content": "ui-corner-bottom" }, collapsible: false, event: "click", header: function( elem ) { return elem.find( "> li > :first-child" ).add( elem.find( "> :not(li)" ).even() ); }, heightStyle: "auto", icons: { activeHeader: "ui-icon-triangle-1-s", header: "ui-icon-triangle-1-e" }, // Callbacks activate: null, beforeActivate: null }, hideProps: { borderTopWidth: "hide", borderBottomWidth: "hide", paddingTop: "hide", paddingBottom: "hide", height: "hide" }, showProps: { borderTopWidth: "show", borderBottomWidth: "show", paddingTop: "show", paddingBottom: "show", height: "show" }, _create: function() { var options = this.options; this.prevShow = this.prevHide = $(); this._addClass( "ui-accordion", "ui-widget ui-helper-reset" ); this.element.attr( "role", "tablist" ); // Don't allow collapsible: false and active: false / null if ( !options.collapsible && ( options.active === false || options.active == null ) ) { options.active = 0; } this._processPanels(); // handle negative values if ( options.active < 0 ) { options.active += this.headers.length; } this._refresh(); }, _getCreateEventData: function() { return { header: this.active, panel: !this.active.length ? $() : this.active.next() }; }, _createIcons: function() { var icon, children, icons = this.options.icons; if ( icons ) { icon = $( "" ); this._addClass( icon, "ui-accordion-header-icon", "ui-icon " + icons.header ); icon.prependTo( this.headers ); children = this.active.children( ".ui-accordion-header-icon" ); this._removeClass( children, icons.header ) ._addClass( children, null, icons.activeHeader ) ._addClass( this.headers, "ui-accordion-icons" ); } }, _destroyIcons: function() { this._removeClass( this.headers, "ui-accordion-icons" ); this.headers.children( ".ui-accordion-header-icon" ).remove(); }, _destroy: function() { var contents; // Clean up main element this.element.removeAttr( "role" ); // Clean up headers this.headers .removeAttr( "role aria-expanded aria-selected aria-controls tabIndex" ) .removeUniqueId(); this._destroyIcons(); // Clean up content panels contents = this.headers.next() .css( "display", "" ) .removeAttr( "role aria-hidden aria-labelledby" ) .removeUniqueId(); if ( this.options.heightStyle !== "content" ) { contents.css( "height", "" ); } }, _setOption: function( key, value ) { if ( key === "active" ) { // _activate() will handle invalid values and update this.options this._activate( value ); return; } if ( key === "event" ) { if ( this.options.event ) { this._off( this.headers, this.options.event ); } this._setupEvents( value ); } this._super( key, value ); // Setting collapsible: false while collapsed; open first panel if ( key === "collapsible" && !value && this.options.active === false ) { this._activate( 0 ); } if ( key === "icons" ) { this._destroyIcons(); if ( value ) { this._createIcons(); } } }, _setOptionDisabled: function( value ) { this._super( value ); this.element.attr( "aria-disabled", value ); // Support: IE8 Only // #5332 / #6059 - opacity doesn't cascade to positioned elements in IE // so we need to add the disabled class to the headers and panels this._toggleClass( null, "ui-state-disabled", !!value ); this._toggleClass( this.headers.add( this.headers.next() ), null, "ui-state-disabled", !!value ); }, _keydown: function( event ) { if ( event.altKey || event.ctrlKey ) { return; } var keyCode = $.ui.keyCode, length = this.headers.length, currentIndex = this.headers.index( event.target ), toFocus = false; switch ( event.keyCode ) { case keyCode.RIGHT: case keyCode.DOWN: toFocus = this.headers[ ( currentIndex + 1 ) % length ]; break; case keyCode.LEFT: case keyCode.UP: toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; break; case keyCode.SPACE: case keyCode.ENTER: this._eventHandler( event ); break; case keyCode.HOME: toFocus = this.headers[ 0 ]; break; case keyCode.END: toFocus = this.headers[ length - 1 ]; break; } if ( toFocus ) { $( event.target ).attr( "tabIndex", -1 ); $( toFocus ).attr( "tabIndex", 0 ); $( toFocus ).trigger( "focus" ); event.preventDefault(); } }, _panelKeyDown: function( event ) { if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { $( event.currentTarget ).prev().trigger( "focus" ); } }, refresh: function() { var options = this.options; this._processPanels(); // Was collapsed or no panel if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) { options.active = false; this.active = $(); // active false only when collapsible is true } else if ( options.active === false ) { this._activate( 0 ); // was active, but active panel is gone } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { // all remaining panel are disabled if ( this.headers.length === this.headers.find( ".ui-state-disabled" ).length ) { options.active = false; this.active = $(); // activate previous panel } else { this._activate( Math.max( 0, options.active - 1 ) ); } // was active, active panel still exists } else { // make sure active index is correct options.active = this.headers.index( this.active ); } this._destroyIcons(); this._refresh(); }, _processPanels: function() { var prevHeaders = this.headers, prevPanels = this.panels; if ( typeof this.options.header === "function" ) { this.headers = this.options.header( this.element ); } else { this.headers = this.element.find( this.options.header ); } this._addClass( this.headers, "ui-accordion-header ui-accordion-header-collapsed", "ui-state-default" ); this.panels = this.headers.next().filter( ":not(.ui-accordion-content-active)" ).hide(); this._addClass( this.panels, "ui-accordion-content", "ui-helper-reset ui-widget-content" ); // Avoid memory leaks (#10056) if ( prevPanels ) { this._off( prevHeaders.not( this.headers ) ); this._off( prevPanels.not( this.panels ) ); } }, _refresh: function() { var maxHeight, options = this.options, heightStyle = options.heightStyle, parent = this.element.parent(); this.active = this._findActive( options.active ); this._addClass( this.active, "ui-accordion-header-active", "ui-state-active" ) ._removeClass( this.active, "ui-accordion-header-collapsed" ); this._addClass( this.active.next(), "ui-accordion-content-active" ); this.active.next().show(); this.headers .attr( "role", "tab" ) .each( function() { var header = $( this ), headerId = header.uniqueId().attr( "id" ), panel = header.next(), panelId = panel.uniqueId().attr( "id" ); header.attr( "aria-controls", panelId ); panel.attr( "aria-labelledby", headerId ); } ) .next() .attr( "role", "tabpanel" ); this.headers .not( this.active ) .attr( { "aria-selected": "false", "aria-expanded": "false", tabIndex: -1 } ) .next() .attr( { "aria-hidden": "true" } ) .hide(); // Make sure at least one header is in the tab order if ( !this.active.length ) { this.headers.eq( 0 ).attr( "tabIndex", 0 ); } else { this.active.attr( { "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 } ) .next() .attr( { "aria-hidden": "false" } ); } this._createIcons(); this._setupEvents( options.event ); if ( heightStyle === "fill" ) { maxHeight = parent.height(); this.element.siblings( ":visible" ).each( function() { var elem = $( this ), position = elem.css( "position" ); if ( position === "absolute" || position === "fixed" ) { return; } maxHeight -= elem.outerHeight( true ); } ); this.headers.each( function() { maxHeight -= $( this ).outerHeight( true ); } ); this.headers.next() .each( function() { $( this ).height( Math.max( 0, maxHeight - $( this ).innerHeight() + $( this ).height() ) ); } ) .css( "overflow", "auto" ); } else if ( heightStyle === "auto" ) { maxHeight = 0; this.headers.next() .each( function() { var isVisible = $( this ).is( ":visible" ); if ( !isVisible ) { $( this ).show(); } maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); if ( !isVisible ) { $( this ).hide(); } } ) .height( maxHeight ); } }, _activate: function( index ) { var active = this._findActive( index )[ 0 ]; // Trying to activate the already active panel if ( active === this.active[ 0 ] ) { return; } // Trying to collapse, simulate a click on the currently active header active = active || this.active[ 0 ]; this._eventHandler( { target: active, currentTarget: active, preventDefault: $.noop } ); }, _findActive: function( selector ) { return typeof selector === "number" ? this.headers.eq( selector ) : $(); }, _setupEvents: function( event ) { var events = { keydown: "_keydown" }; if ( event ) { $.each( event.split( " " ), function( index, eventName ) { events[ eventName ] = "_eventHandler"; } ); } this._off( this.headers.add( this.headers.next() ) ); this._on( this.headers, events ); this._on( this.headers.next(), { keydown: "_panelKeyDown" } ); this._hoverable( this.headers ); this._focusable( this.headers ); }, _eventHandler: function( event ) { var activeChildren, clickedChildren, options = this.options, active = this.active, clicked = $( event.currentTarget ), clickedIsActive = clicked[ 0 ] === active[ 0 ], collapsing = clickedIsActive && options.collapsible, toShow = collapsing ? $() : clicked.next(), toHide = active.next(), eventData = { oldHeader: active, oldPanel: toHide, newHeader: collapsing ? $() : clicked, newPanel: toShow }; event.preventDefault(); if ( // click on active header, but not collapsible ( clickedIsActive && !options.collapsible ) || // allow canceling activation ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { return; } options.active = collapsing ? false : this.headers.index( clicked ); // When the call to ._toggle() comes after the class changes // it causes a very odd bug in IE 8 (see #6720) this.active = clickedIsActive ? $() : clicked; this._toggle( eventData ); // Switch classes // corner classes on the previously active header stay after the animation this._removeClass( active, "ui-accordion-header-active", "ui-state-active" ); if ( options.icons ) { activeChildren = active.children( ".ui-accordion-header-icon" ); this._removeClass( activeChildren, null, options.icons.activeHeader ) ._addClass( activeChildren, null, options.icons.header ); } if ( !clickedIsActive ) { this._removeClass( clicked, "ui-accordion-header-collapsed" ) ._addClass( clicked, "ui-accordion-header-active", "ui-state-active" ); if ( options.icons ) { clickedChildren = clicked.children( ".ui-accordion-header-icon" ); this._removeClass( clickedChildren, null, options.icons.header ) ._addClass( clickedChildren, null, options.icons.activeHeader ); } this._addClass( clicked.next(), "ui-accordion-content-active" ); } }, _toggle: function( data ) { var toShow = data.newPanel, toHide = this.prevShow.length ? this.prevShow : data.oldPanel; // Handle activating a panel during the animation for another activation this.prevShow.add( this.prevHide ).stop( true, true ); this.prevShow = toShow; this.prevHide = toHide; if ( this.options.animate ) { this._animate( toShow, toHide, data ); } else { toHide.hide(); toShow.show(); this._toggleComplete( data ); } toHide.attr( { "aria-hidden": "true" } ); toHide.prev().attr( { "aria-selected": "false", "aria-expanded": "false" } ); // if we're switching panels, remove the old header from the tab order // if we're opening from collapsed state, remove the previous header from the tab order // if we're collapsing, then keep the collapsing header in the tab order if ( toShow.length && toHide.length ) { toHide.prev().attr( { "tabIndex": -1, "aria-expanded": "false" } ); } else if ( toShow.length ) { this.headers.filter( function() { return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; } ) .attr( "tabIndex", -1 ); } toShow .attr( "aria-hidden", "false" ) .prev() .attr( { "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 } ); }, _animate: function( toShow, toHide, data ) { var total, easing, duration, that = this, adjust = 0, boxSizing = toShow.css( "box-sizing" ), down = toShow.length && ( !toHide.length || ( toShow.index() < toHide.index() ) ), animate = this.options.animate || {}, options = down && animate.down || animate, complete = function() { that._toggleComplete( data ); }; if ( typeof options === "number" ) { duration = options; } if ( typeof options === "string" ) { easing = options; } // fall back from options to animation in case of partial down settings easing = easing || options.easing || animate.easing; duration = duration || options.duration || animate.duration; if ( !toHide.length ) { return toShow.animate( this.showProps, duration, easing, complete ); } if ( !toShow.length ) { return toHide.animate( this.hideProps, duration, easing, complete ); } total = toShow.show().outerHeight(); toHide.animate( this.hideProps, { duration: duration, easing: easing, step: function( now, fx ) { fx.now = Math.round( now ); } } ); toShow .hide() .animate( this.showProps, { duration: duration, easing: easing, complete: complete, step: function( now, fx ) { fx.now = Math.round( now ); if ( fx.prop !== "height" ) { if ( boxSizing === "content-box" ) { adjust += fx.now; } } else if ( that.options.heightStyle !== "content" ) { fx.now = Math.round( total - toHide.outerHeight() - adjust ); adjust = 0; } } } ); }, _toggleComplete: function( data ) { var toHide = data.oldPanel, prev = toHide.prev(); this._removeClass( toHide, "ui-accordion-content-active" ); this._removeClass( prev, "ui-accordion-header-active" ) ._addClass( prev, "ui-accordion-header-collapsed" ); // Work around for rendering bug in IE (#5421) if ( toHide.length ) { toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className; } this._trigger( "activate", null, data ); } } ); var safeActiveElement = $.ui.safeActiveElement = function( document ) { var activeElement; // Support: IE 9 only // IE9 throws an "Unspecified error" accessing document.activeElement from an '; } } } link.remove(); jQuery(iframes) .appendTo('body') .ready(function() { setTimeout(function() { jQuery(iframes).each(function() { jQuery('#' + jQuery(this).attr('id')).remove(); }); }, 20000 + (10000 * i)); // give 20 sec + 10 sec for each file to be saved }); fm.trigger('download', {files : files}); dfrd.resolve(); }); fileCnt = files.length; urls = []; for (i = 0; i < files.length; i++) { fm.openUrl(files[i].hash, true, function(v) { v && urls.push(v); if (--fileCnt < 1) { getUrlDfrd.resolve(urls); } }); } return dfrd; } }; }; wp-file-manager/lib/js/commands/duplicate.js000064400000002560151202472330015014 0ustar00/** * @class elFinder command "duplicate" * Create file/folder copy with suffix "copy Number" * * @type elFinder.command * @author Dmitry (dio) Levashov */ elFinder.prototype.commands.duplicate = function() { "use strict"; var fm = this.fm; this.getstate = function(select) { var sel = this.files(select), cnt = sel.length, filter = function(files) { var fres = true; return jQuery.grep(files, function(f) { fres = fres && f.read && f.phash === fm.cwd().hash && ! fm.isRoot(f)? true : false; return fres; }); }; return cnt && fm.cwd().write && filter(sel).length == cnt ? 0 : -1; }; this.exec = function(hashes) { var fm = this.fm, files = this.files(hashes), cnt = files.length, dfrd = jQuery.Deferred() .fail(function(error) { error && fm.error(error); }), args = []; if (! cnt) { return dfrd.reject(); } jQuery.each(files, function(i, file) { if (!file.read || !fm.file(file.phash).write) { return !dfrd.reject(['errCopy', file.name, 'errPerm']); } }); if (dfrd.state() == 'rejected') { return dfrd; } return fm.request({ data : {cmd : 'duplicate', targets : this.hashes(hashes)}, notify : {type : 'copy', cnt : cnt}, navigate : { toast : { inbuffer : {msg: fm.i18n(['complete', fm.i18n('cmdduplicate')])} } } }); }; }; wp-file-manager/lib/js/commands/edit.js000064400000104756151202472330014001 0ustar00/** * @class elFinder command "edit". * Edit text file in dialog window * * @author Dmitry (dio) Levashov, dio@std42.ru **/ elFinder.prototype.commands.edit = function() { "use strict"; var self = this, fm = this.fm, clsEditing = fm.res('class', 'editing'), mimesSingle = [], mimes = [], allowAll = false, rtrim = function(str){ return str.replace(/\s+$/, ''); }, getEncSelect = function(heads) { var sel = jQuery(''), hval; if (heads) { jQuery.each(heads, function(i, head) { hval = fm.escape(head.value); sel.append(''); }); } jQuery.each(self.options.encodings, function(i, v) { sel.append(''); }); return sel; }, getDlgWidth = function() { var win = fm.options.dialogContained? fm.getUI() : jQuery(window), m, width; if (typeof self.options.dialogWidth === 'string' && (m = self.options.dialogWidth.match(/(\d+)%/))) { width = parseInt(win.width() * (m[1] / 100)); } else { width = parseInt(self.options.dialogWidth || 650); } return Math.min(width, win.width()); }, getDlgHeight = function() { if (!self.options.dialogHeight) { return void(0); } var win = fm.options.dialogContained? fm.getUI() : jQuery(window), m, height; if (typeof self.options.dialogHeight === 'string' && (m = self.options.dialogHeight.match(/(\d+)%/))) { height = parseInt(win.height() * (m[1] / 100)); } else { height = parseInt(self.options.dialogHeight || win.height()); } return Math.min(height, win.height()); }, /** * Return files acceptable to edit * * @param Array files hashes * @return Array **/ filter = function(files) { var cnt = files.length, mime, ext, skip; if (cnt > 1) { mime = files[0].mime; ext = files[0].name.replace(/^.*(\.[^.]+)$/, '$1'); } return jQuery.grep(files, function(file) { var res; if (skip || file.mime === 'directory') { return false; } res = file.read && (allowAll || fm.mimeIsText(file.mime) || jQuery.inArray(file.mime, cnt === 1? mimesSingle : mimes) !== -1) && (!self.onlyMimes.length || jQuery.inArray(file.mime, self.onlyMimes) !== -1) && (cnt === 1 || (file.mime === mime && file.name.substr(ext.length * -1) === ext)) && (fm.uploadMimeCheck(file.mime, file.phash)? true : false) && setEditors(file, cnt) && Object.keys(editors).length; if (!res) { skip = true; } return res; }); }, fileSync = function(hash) { var old = fm.file(hash), f; fm.request({ cmd: 'info', targets: [hash], preventDefault: true }).done(function(data) { var changed; if (data && data.files && data.files.length) { f = data.files[0]; if (old.ts != f.ts || old.size != f.size) { changed = { changed: [ f ] }; fm.updateCache(changed); fm.change(changed); } } }); }, /** * Open dialog with textarea to edit file * * @param String id dialog id * @param Object file file object * @param String content file content * @return jQuery.Deferred **/ dialog = function(id, file, content, encoding, editor, toasts) { var dfrd = jQuery.Deferred(), _loaded = false, loaded = function() { if (!_loaded) { fm.toast({ mode: 'warning', msg: fm.i18n('nowLoading') }); return false; } return true; }, makeToasts = function() { // make toast message if (toasts && Array.isArray(toasts)) { jQuery.each(toasts, function() { this.msg && fm.toast(this); }); } }, save = function() { var encord = selEncoding? selEncoding.val():void(0), saveDfd = jQuery.Deferred().fail(function(err) { dialogNode.show().find('button.elfinder-btncnt-0,button.elfinder-btncnt-1').hide(); }), conf, res, tm; if (!loaded()) { return saveDfd.resolve(); } if (ta.editor) { ta.editor.save(ta[0], ta.editor.instance); conf = ta.editor.confObj; if (conf.info && (conf.info.schemeContent || conf.info.arrayBufferContent)) { encord = 'scheme'; } } res = getContent(); setOld(res); if (res.promise) { tm = setTimeout(function() { fm.notify({ type : 'chkcontent', cnt : 1, hideCnt: true, cancel : function() { res.reject(); } }); }, 100); res.always(function() { tm && clearTimeout(tm); fm.notify({ type : 'chkcontent', cnt: -1 }); }).done(function(data) { dfrd.notifyWith(ta, [encord, ta.data('hash'), old, saveDfd]); }).fail(function(err) { saveDfd.reject(err); }); } else { dfrd.notifyWith(ta, [encord, ta.data('hash'), old, saveDfd]); } return saveDfd; }, saveon = function() { if (!loaded()) { return; } save().fail(function(err) { err && fm.error(err); }); }, cancel = function() { ta.elfinderdialog('close'); }, savecl = function() { if (!loaded()) { return; } dialogNode.hide(); save().done(function() { _loaded = false; dialogNode.show(); cancel(); }).fail(function(err) { dialogNode.show(); err && fm.error(err); }); }, saveAs = function() { if (!loaded()) { return; } var prevOld = old, phash = file.phash, fail = function(err) { dialogs.addClass(clsEditing).fadeIn(function() { err && fm.error(err); }); old = prevOld; fm.disable(); }, make = function() { self.mime = saveAsFile.mime || file.mime; self.prefix = (saveAsFile.name || file.name).replace(/ \d+(\.[^.]+)?$/, '$1'); self.requestCmd = 'mkfile'; self.nextAction = {}; self.data = {target : phash}; jQuery.proxy(fm.res('mixin', 'make'), self)() .done(function(data) { var oldHash; if (data.added && data.added.length) { oldHash = ta.data('hash'); ta.data('hash', data.added[0].hash); save().done(function() { _loaded = false; dialogNode.show(); cancel(); dialogs.fadeIn(); }).fail(function() { fm.exec('rm', [data.added[0].hash], { forceRm: true, quiet: true }); ta.data('hash', oldHash); dialogNode.find('button.elfinder-btncnt-2').hide(); fail(); }); } else { fail(); } }) .progress(function(err) { if (err && err === 'errUploadMime') { ta.trigger('saveAsFail'); } }) .fail(fail) .always(function() { delete self.mime; delete self.prefix; delete self.nextAction; delete self.data; }); fm.trigger('unselectfiles', { files: [ file.hash ] }); }, reqOpen = null, reqInfo = null, dialogs = fm.getUI().children('.' + self.dialogClass + ':visible'); if (dialogNode.is(':hidden')) { dialogs = dialogs.add(dialogNode); } dialogs.removeClass(clsEditing).fadeOut(); fm.enable(); if (fm.searchStatus.state < 2 && phash !== fm.cwd().hash) { reqOpen = fm.exec('open', [phash], {thash: phash}); } else if (!fm.file(phash)) { reqInfo = fm.request({cmd: 'info', targets: [phash]}); } jQuery.when([reqOpen, reqInfo]).done(function() { if (reqInfo) { fm.one('infodone', function() { fm.file(phash)? make() : fail('errFolderNotFound'); }); } else { reqOpen? fm.one('cwdrender', make) : make(); } }).fail(fail); }, changed = function() { var dfd = jQuery.Deferred(), res, tm; if (!_loaded) { return dfd.resolve(false); } ta.editor && ta.editor.save(ta[0], ta.editor.instance); res = getContent(); if (res && res.promise) { tm = setTimeout(function() { fm.notify({ type : 'chkcontent', cnt : 1, hideCnt: true, cancel : function() { res.reject(); } }); }, 100); res.always(function() { tm && clearTimeout(tm); fm.notify({ type : 'chkcontent', cnt: -1 }); }).done(function(d) { dfd.resolve(old !== d); }).fail(function(err) { dfd.resolve(err || (old === undefined? false : true)); }); } else { dfd.resolve(old !== res); } return dfd; }, opts = { title : fm.escape(file.name), width : getDlgWidth(), height : getDlgHeight(), buttons : {}, cssClass : clsEditing, maxWidth : 'window', maxHeight : 'window', allowMinimize : true, allowMaximize : true, openMaximized : editorMaximized() || (editor && editor.info && editor.info.openMaximized), btnHoverFocus : false, closeOnEscape : false, propagationEvents : ['mousemove', 'mouseup', 'click'], minimize : function() { var conf; if (ta.editor && dialogNode.closest('.ui-dialog').is(':hidden')) { conf = ta.editor.confObj; if (conf.info && conf.info.syncInterval) { fileSync(file.hash); } } }, close : function() { var close = function() { var conf; dfrd.resolve(); if (ta.editor) { ta.editor.close(ta[0], ta.editor.instance); conf = ta.editor.confObj; if (conf.info && conf.info.syncInterval) { fileSync(file.hash); } } ta.elfinderdialog('destroy'); }, onlySaveAs = (typeof saveAsFile.name !== 'undefined'), accept = onlySaveAs? { label : 'btnSaveAs', callback : function() { requestAnimationFrame(saveAs); } } : { label : 'btnSaveClose', callback : function() { save().done(function() { close(); }); } }; changed().done(function(change) { var msgs = ['confirmNotSave']; if (change) { if (typeof change === 'string') { msgs.unshift(change); } fm.confirm({ title : self.title, text : msgs, accept : accept, cancel : { label : 'btnClose', callback : close }, buttons : onlySaveAs? null : [{ label : 'btnSaveAs', callback : function() { requestAnimationFrame(saveAs); } }] }); } else { close(); } }); }, open : function() { var loadRes, conf, interval; ta.initEditArea.call(ta, id, file, content, fm); if (ta.editor) { loadRes = ta.editor.load(ta[0]) || null; if (loadRes && loadRes.done) { loadRes.always(function() { _loaded = true; }).done(function(instance) { ta.editor.instance = instance; ta.editor.focus(ta[0], ta.editor.instance); setOld(getContent()); requestAnimationFrame(function() { dialogNode.trigger('resize'); }); }).fail(function(error) { error && fm.error(error); ta.elfinderdialog('destroy'); return; }).always(makeToasts); } else { _loaded = true; if (loadRes && (typeof loadRes === 'string' || Array.isArray(loadRes))) { fm.error(loadRes); ta.elfinderdialog('destroy'); return; } ta.editor.instance = loadRes; ta.editor.focus(ta[0], ta.editor.instance); setOld(getContent()); requestAnimationFrame(function() { dialogNode.trigger('resize'); }); makeToasts(); } conf = ta.editor.confObj; if (conf.info && conf.info.syncInterval) { if (interval = parseInt(conf.info.syncInterval)) { setTimeout(function() { autoSync(interval); }, interval); } } } else { _loaded = true; setOld(getContent()); } }, resize : function(e, data) { ta.editor && ta.editor.resize(ta[0], ta.editor.instance, e, data || {}); } }, getContent = function() { var res = ta.getContent.call(ta, ta[0]); if (res === undefined || res === false || res === null) { res = jQuery.Deferred().reject(); } return res; }, setOld = function(res) { if (res && res.promise) { res.done(function(d) { old = d; }); } else { old = res; } }, autoSync = function(interval) { if (dialogNode.is(':visible')) { fileSync(file.hash); setTimeout(function() { autoSync(interval); }, interval); } }, stateChange = function() { if (selEncoding) { changed().done(function(change) { if (change) { selEncoding.attr('title', fm.i18n('saveAsEncoding')).addClass('elfinder-edit-changed'); } else { selEncoding.attr('title', fm.i18n('openAsEncoding')).removeClass('elfinder-edit-changed'); } }); } }, saveAsFile = {}, ta, old, dialogNode, selEncoding, extEditor, maxW, syncInterval; if (editor) { if (editor.html) { ta = jQuery(editor.html); } extEditor = { init : editor.init || null, load : editor.load, getContent : editor.getContent || null, save : editor.save, beforeclose : typeof editor.beforeclose == 'function' ? editor.beforeclose : void 0, close : typeof editor.close == 'function' ? editor.close : function() {}, focus : typeof editor.focus == 'function' ? editor.focus : function() {}, resize : typeof editor.resize == 'function' ? editor.resize : function() {}, instance : null, doSave : saveon, doCancel : cancel, doClose : savecl, file : file, fm : fm, confObj : editor, trigger : function(evName, data) { fm.trigger('editEditor' + evName, Object.assign({}, editor.info || {}, data)); } }; } if (!ta) { if (!fm.mimeIsText(file.mime)) { return dfrd.reject('errEditorNotFound'); } (function() { ta = jQuery('') .on('input propertychange', stateChange); if (!editor || !editor.info || editor.info.useTextAreaEvent) { ta.on('keydown', function(e) { var code = e.keyCode, value, start; e.stopPropagation(); if (code == jQuery.ui.keyCode.TAB) { e.preventDefault(); // insert tab on tab press if (this.setSelectionRange) { value = this.value; start = this.selectionStart; this.value = value.substr(0, start) + "\t" + value.substr(this.selectionEnd); start += 1; this.setSelectionRange(start, start); } } if (e.ctrlKey || e.metaKey) { // close on ctrl+w/q if (code == 'Q'.charCodeAt(0) || code == 'W'.charCodeAt(0)) { e.preventDefault(); cancel(); } if (code == 'S'.charCodeAt(0)) { e.preventDefault(); saveon(); } } }) .on('mouseenter', function(){this.focus();}); } ta.initEditArea = function(id, file, content) { // ta.hide() for performance tune. Need ta.show() in `load()` if use textarea node. ta.hide().val(content); this._setupSelEncoding(content); }; })(); } // extended function to setup selector of encoding for text editor ta._setupSelEncoding = function(content) { var heads = (encoding && encoding !== 'unknown')? [{value: encoding}] : [], wfake = jQuery('').hide(), setSelW = function(init) { init && wfake.appendTo(selEncoding.parent()); wfake.empty().append(jQuery('').text(selEncoding.val())); selEncoding.width(wfake.width()); }; if (content === '' || ! encoding || encoding !== 'UTF-8') { heads.push({value: 'UTF-8'}); } selEncoding = getEncSelect(heads).on('touchstart', function(e) { // for touch punch event handler e.stopPropagation(); }).on('change', function() { // reload to change encoding if not edited changed().done(function(change) { if (! change && getContent() !== '') { cancel(); edit(file, selEncoding.val(), editor).fail(function(err) { err && fm.error(err); }); } }); setSelW(); }).on('mouseover', stateChange); ta.parent().next().prepend(jQuery('
          ').append(selEncoding)); setSelW(true); }; ta.data('hash', file.hash); if (extEditor) { ta.editor = extEditor; if (typeof extEditor.beforeclose === 'function') { opts.beforeclose = function() { return extEditor.beforeclose(ta[0], extEditor.instance); }; } if (typeof extEditor.init === 'function') { ta.initEditArea = extEditor.init; } if (typeof extEditor.getContent === 'function') { ta.getContent = extEditor.getContent; } } if (! ta.initEditArea) { ta.initEditArea = function() {}; } if (! ta.getContent) { ta.getContent = function() { return rtrim(ta.val()); }; } if (!editor || !editor.info || !editor.info.preventGet) { opts.buttons[fm.i18n('btnSave')] = saveon; opts.buttons[fm.i18n('btnSaveClose')] = savecl; opts.buttons[fm.i18n('btnSaveAs')] = saveAs; opts.buttons[fm.i18n('btnCancel')] = cancel; } if (editor && typeof editor.prepare === 'function') { editor.prepare(ta, opts, file); } dialogNode = self.fmDialog(ta, opts) .attr('id', id) .on('keydown keyup keypress', function(e) { e.stopPropagation(); }) .css({ overflow: 'hidden', minHeight: '7em' }) .addClass('elfinder-edit-editor') .closest('.ui-dialog') .on('changeType', function(e, data) { if (data.extention && data.mime) { var ext = data.extention, mime = data.mime, btnSet = jQuery(this).children('.ui-dialog-buttonpane').children('.ui-dialog-buttonset'); btnSet.children('.elfinder-btncnt-0,.elfinder-btncnt-1').hide(); saveAsFile.name = fm.splitFileExtention(file.name)[0] + '.' + data.extention; saveAsFile.mime = data.mime; if (!data.keepEditor) { btnSet.children('.elfinder-btncnt-2').trigger('click'); } } }); // care to viewport scale change with mobile devices maxW = (fm.options.dialogContained? fm.getUI() : jQuery(window)).width(); (dialogNode.width() > maxW) && dialogNode.width(maxW); return dfrd.promise(); }, /** * Get file content and * open dialog with textarea to edit file content * * @param String file hash * @return jQuery.Deferred **/ edit = function(file, convert, editor) { var hash = file.hash, opts = fm.options, dfrd = jQuery.Deferred(), id = 'edit-'+fm.namespace+'-'+file.hash, d = fm.getUI().find('#'+id), conv = !convert? 0 : convert, noContent = false, req, error, res; if (d.length) { d.elfinderdialog('toTop'); return dfrd.resolve(); } if (!file.read || (!file.write && (!editor.info || !editor.info.converter))) { error = ['errOpen', file.name, 'errPerm']; return dfrd.reject(error); } if (editor && editor.info) { if (typeof editor.info.edit === 'function') { res = editor.info.edit.call(fm, file, editor); if (res.promise) { res.done(function() { dfrd.resolve(); }).fail(function(error) { dfrd.reject(error); }); } else { res? dfrd.resolve() : dfrd.reject(); } return dfrd; } noContent = editor.info.preventGet || editor.info.noContent; if (editor.info.urlAsContent || noContent) { req = jQuery.Deferred(); if (editor.info.urlAsContent) { fm.url(hash, { async: true, onetime: true, temporary: true }).done(function(url) { req.resolve({content: url}); }); } else { req.resolve({}); } } else { if (conv) { file.encoding = conv; fm.cache(file, 'change'); } req = fm.request({ data : {cmd : 'get', target : hash, conv : conv, _t : file.ts}, options : {type: 'get', cache : true}, notify : {type : 'file', cnt : 1}, preventDefault : true }); } req.done(function(data) { var selEncoding, reg, m, res; if (data.doconv) { fm.confirm({ title : self.title, text : data.doconv === 'unknown'? 'confirmNonUTF8' : 'confirmConvUTF8', accept : { label : 'btnConv', callback : function() { dfrd = edit(file, selEncoding.val(), editor); } }, cancel : { label : 'btnCancel', callback : function() { dfrd.reject(); } }, optionsCallback : function(options) { options.create = function() { var base = jQuery('
          '), head = {value: data.doconv}, detected; if (data.doconv === 'unknown') { head.caption = '-'; } selEncoding = getEncSelect([head]); jQuery(this).next().find('.ui-dialog-buttonset') .prepend(base.append(jQuery('').append(selEncoding))); }; } }); } else { if (!noContent && fm.mimeIsText(file.mime)) { reg = new RegExp('^(data:'+file.mime.replace(/([.+])/g, '\\$1')+';base64,)', 'i'); if (!editor.info.dataScheme) { if (window.atob && (m = data.content.match(reg))) { data.content = atob(data.content.substr(m[1].length)); } } else { if (window.btoa && !data.content.match(reg)) { data.content = 'data:'+file.mime+';base64,'+btoa(data.content); } } } dialog(id, file, data.content, data.encoding, editor, data.toasts) .done(function(data) { dfrd.resolve(data); }) .progress(function(encoding, newHash, data, saveDfd) { var ta = this; if (newHash) { hash = newHash; } fm.request({ options : {type : 'post'}, data : { cmd : 'put', target : hash, encoding : encoding || data.encoding, content : data }, notify : {type : 'save', cnt : 1}, syncOnFail : true, preventFail : true, navigate : { target : 'changed', toast : { inbuffer : {msg: fm.i18n(['complete', fm.i18n('btnSave')])} } } }) .fail(function(error) { dfrd.reject(error); saveDfd.reject(); }) .done(function(data) { requestAnimationFrame(function(){ ta.trigger('focus'); ta.editor && ta.editor.focus(ta[0], ta.editor.instance); }); saveDfd.resolve(); }); }) .fail(function(error) { dfrd.reject(error); }); } }) .fail(function(error) { var err = fm.parseError(error); err = Array.isArray(err)? err[0] : err; if (file.encoding) { file.encoding = ''; fm.cache(file, 'change'); } (err !== 'errConvUTF8') && fm.sync(); dfrd.reject(error); }); } return dfrd.promise(); }, /** * Current editors of selected files * * @type Object */ editors = {}, /** * Fallback editor (Simple text editor) * * @type Object */ fallbackEditor = { // Simple Text (basic textarea editor) info : { id : 'textarea', name : 'TextArea', useTextAreaEvent : true }, load : function(textarea) { // trigger event 'editEditorPrepare' this.trigger('Prepare', { node: textarea, editorObj: void(0), instance: void(0), opts: {} }); textarea.setSelectionRange && textarea.setSelectionRange(0, 0); jQuery(textarea).trigger('focus').show(); }, save : function(){} }, /** * Set current editors * * @param Object file object * @param Number cnt count of selected items * @return Void */ setEditors = function(file, cnt) { var mimeMatch = function(fileMime, editorMimes){ if (!editorMimes) { return fm.mimeIsText(fileMime); } else { if (editorMimes[0] === '*' || jQuery.inArray(fileMime, editorMimes) !== -1) { return true; } var i, l; l = editorMimes.length; for (i = 0; i < l; i++) { if (fileMime.indexOf(editorMimes[i]) === 0) { return true; } } return false; } }, extMatch = function(fileName, editorExts){ if (!editorExts || !editorExts.length) { return true; } var ext = fileName.replace(/^.+\.([^.]+)|(.+)$/, '$1$2').toLowerCase(), i, l; l = editorExts.length; for (i = 0; i < l; i++) { if (ext === editorExts[i].toLowerCase()) { return true; } } return false; }, optEditors = self.options.editors || [], cwdWrite = fm.cwd().write; stored = fm.storage('storedEditors') || {}; editors = {}; if (!optEditors.length) { optEditors = [fallbackEditor]; } jQuery.each(optEditors, function(i, editor) { var name; if ((cnt === 1 || !editor.info.single) && ((!editor.info || !editor.info.converter)? file.write : cwdWrite) && (file.size > 0 || (!editor.info.converter && editor.info.canMakeEmpty !== false && fm.mimesCanMakeEmpty[file.mime])) && (!editor.info.maxSize || file.size <= editor.info.maxSize) && mimeMatch(file.mime, editor.mimes || null) && extMatch(file.name, editor.exts || null) && typeof editor.load == 'function' && typeof editor.save == 'function') { name = editor.info.name? editor.info.name : ('Editor '); editor.id = editor.info.id? editor.info.id : ('editor' + i), editor.name = name; editor.i18n = fm.i18n(name); editors[editor.id] = editor; } }); return Object.keys(editors).length? true : false; }, store = function(mime, editor) { if (mime && editor) { if (!jQuery.isPlainObject(stored)) { stored = {}; } stored[mime] = editor.id; fm.storage('storedEditors', stored); fm.trigger('selectfiles', {files : fm.selected()}); } }, useStoredEditor = function() { var d = fm.storage('useStoredEditor'); return d? (d > 0) : self.options.useStoredEditor; }, editorMaximized = function() { var d = fm.storage('editorMaximized'); return d? (d > 0) : self.options.editorMaximized; }, getSubMenuRaw = function(files, callback) { var subMenuRaw = []; jQuery.each(editors, function(id, ed) { subMenuRaw.push( { label : fm.escape(ed.i18n), icon : ed.info && ed.info.icon? ed.info.icon : 'edit', options : { iconImg: ed.info && ed.info.iconImg? fm.baseUrl + ed.info.iconImg : void(0) }, callback : function() { store(files[0].mime, ed); callback && callback.call(ed); } } ); }); return subMenuRaw; }, getStoreId = function(name) { // for compatibility to previous version return name.toLowerCase().replace(/ +/g, ''); }, getStoredEditor = function(mime) { var name = stored[mime]; return name && Object.keys(editors).length? editors[getStoreId(name)] : void(0); }, infoRequest = function() { }, stored; // make public method this.getEncSelect = getEncSelect; this.shortcuts = [{ pattern : 'ctrl+e' }]; this.init = function() { var self = this, fm = this.fm, opts = this.options, cmdChecks = [], ccData, dfd; this.onlyMimes = this.options.mimes || []; fm.one('open', function() { // editors setup if (opts.editors && Array.isArray(opts.editors)) { fm.trigger('canMakeEmptyFile', {mimes: Object.keys(fm.storage('mkfileTextMimes') || {}).concat(opts.makeTextMimes || ['text/plain'])}); jQuery.each(opts.editors, function(i, editor) { if (editor.info && editor.info.cmdCheck) { cmdChecks.push(editor.info.cmdCheck); } }); if (cmdChecks.length) { if (fm.api >= 2.1030) { dfd = fm.request({ data : { cmd: 'editor', name: cmdChecks, method: 'enabled' }, preventDefault : true }).done(function(d) { ccData = d; }).fail(function() { ccData = {}; }); } else { ccData = {}; dfd = jQuery.Deferred().resolve(); } } else { dfd = jQuery.Deferred().resolve(); } dfd.always(function() { if (ccData) { opts.editors = jQuery.grep(opts.editors, function(e) { if (e.info && e.info.cmdCheck) { return ccData[e.info.cmdCheck]? true : false; } else { return true; } }); } jQuery.each(opts.editors, function(i, editor) { if (editor.setup && typeof editor.setup === 'function') { editor.setup.call(editor, opts, fm); } if (!editor.disabled) { if (editor.mimes && Array.isArray(editor.mimes)) { mimesSingle = mimesSingle.concat(editor.mimes); if (!editor.info || !editor.info.single) { mimes = mimes.concat(editor.mimes); } } if (!allowAll && editor.mimes && editor.mimes[0] === '*') { allowAll = true; } if (!editor.info) { editor.info = {}; } if (editor.info.integrate) { fm.trigger('helpIntegration', Object.assign({cmd: 'edit'}, editor.info.integrate)); } if (editor.info.canMakeEmpty) { fm.trigger('canMakeEmptyFile', {mimes: Array.isArray(editor.info.canMakeEmpty)? editor.info.canMakeEmpty : editor.mimes}); } } }); mimesSingle = (jQuery.uniqueSort || jQuery.unique)(mimesSingle); mimes = (jQuery.uniqueSort || jQuery.unique)(mimes); opts.editors = jQuery.grep(opts.editors, function(e) { return e.disabled? false : true; }); }); } }) .bind('select', function() { editors = null; }) .bind('contextmenucreate', function(e) { var file, editor, single = function(editor) { var title = self.title; fm.one('contextmenucreatedone', function() { self.title = title; }); self.title = fm.escape(editor.i18n); if (editor.info && editor.info.iconImg) { self.contextmenuOpts = { iconImg: fm.baseUrl + editor.info.iconImg }; } delete self.variants; }; self.contextmenuOpts = void(0); if (e.data.type === 'files' && self.enabled()) { file = fm.file(e.data.targets[0]); if (setEditors(file, e.data.targets.length)) { if (Object.keys(editors).length > 1) { if (!useStoredEditor() || !(editor = getStoredEditor(file.mime))) { delete self.extra; self.variants = []; jQuery.each(editors, function(id, editor) { self.variants.push([{ editor: editor }, editor.i18n, editor.info && editor.info.iconImg? fm.baseUrl + editor.info.iconImg : 'edit']); }); } else { single(editor); self.extra = { icon: 'menu', node: jQuery('') .attr({title: fm.i18n('select')}) .on('click touchstart', function(e){ if (e.type === 'touchstart' && e.originalEvent.touches.length > 1) { return; } var node = jQuery(this); e.stopPropagation(); e.preventDefault(); fm.trigger('contextmenu', { raw: getSubMenuRaw(fm.selectedFiles(), function() { var hashes = fm.selected(); fm.exec('edit', hashes, {editor: this}); fm.trigger('selectfiles', {files : hashes}); }), x: node.offset().left, y: node.offset().top }); }) }; } } else { single(editors[Object.keys(editors)[0]]); delete self.extra; } } } }) .bind('canMakeEmptyFile', function(e) { if (e.data && e.data.resetTexts) { var defs = fm.arrayFlip(self.options.makeTextMimes || ['text/plain']), hides = self.getMkfileHides(); jQuery.each((fm.storage('mkfileTextMimes') || {}), function(mime, type) { if (!defs[mime]) { delete fm.mimesCanMakeEmpty[mime]; delete hides[mime]; } }); fm.storage('mkfileTextMimes', null); if (Object.keys(hides).length) { fm.storage('mkfileHides', hides); } else { fm.storage('mkfileHides', null); } } }); }; this.getstate = function(select) { var sel = this.files(select), cnt = sel.length; return cnt && filter(sel).length == cnt ? 0 : -1; }; this.exec = function(select, opts) { var fm = this.fm, files = filter(this.files(select)), hashes = jQuery.map(files, function(f) { return f.hash; }), list = [], editor = opts && opts.editor? opts.editor : null, node = jQuery(opts && opts._currentNode? opts._currentNode : fm.cwdHash2Elm(hashes[0])), getEditor = function() { var dfd = jQuery.Deferred(), storedId; if (!editor && Object.keys(editors).length > 1) { if (useStoredEditor() && (editor = getStoredEditor(files[0].mime))) { return dfd.resolve(editor); } fm.trigger('contextmenu', { raw: getSubMenuRaw(files, function() { dfd.resolve(this); }), x: node.offset().left, y: node.offset().top + 22, opened: function() { fm.one('closecontextmenu',function() { requestAnimationFrame(function() { if (dfd.state() === 'pending') { dfd.reject(); } }); }); } }); fm.trigger('selectfiles', {files : hashes}); return dfd; } else { Object.keys(editors).length > 1 && editor && store(files[0].mime, editor); return dfd.resolve(editor? editor : (Object.keys(editors).length? editors[Object.keys(editors)[0]] : null)); } }, dfrd = jQuery.Deferred(), file; if (editors === null) { setEditors(files[0], hashes.length); } if (!node.length) { node = fm.getUI('cwd'); } getEditor().done(function(editor) { while ((file = files.shift())) { list.push(edit(file, (file.encoding || void(0)), editor).fail(function(error) { error && fm.error(error); })); } if (list.length) { jQuery.when.apply(null, list).done(function() { dfrd.resolve(); }).fail(function() { dfrd.reject(); }); } else { dfrd.reject(); } }).fail(function() { dfrd.reject(); }); return dfrd; }; this.getMkfileHides = function() { return fm.storage('mkfileHides') || fm.arrayFlip(self.options.mkfileHideMimes || []); }; }; wp-file-manager/lib/js/commands/empty.js000064400000006503151202472330014201 0ustar00/** * @class elFinder command "empty". * Empty the folder * * @type elFinder.command * @author Naoki Sawada */ elFinder.prototype.commands.empty = function() { "use strict"; var self, fm, selFiles = function(select) { var sel = self.files(select); if (!sel.length) { sel = [ fm.cwd() ]; } return sel; }; this.linkedCmds = ['rm']; this.init = function() { // lazy assign to make possible to become superclass self = this; fm = this.fm; }; this.getstate = function(select) { var sel = selFiles(select), cnt, filter = function(files) { var fres = true; return jQuery.grep(files, function(f) { fres = fres && f.read && f.write && f.mime === 'directory' ? true : false; return fres; }); }; cnt = sel.length; return filter(sel).length == cnt ? 0 : -1; }; this.exec = function(hashes) { var dirs = selFiles(hashes), cnt = dirs.length, dfrd = jQuery.Deferred() .done(function() { var data = {changed: {}}; fm.toast({msg: fm.i18n(['"'+success.join('", ')+'"', 'complete', fm.i18n('cmdempty')])}); jQuery.each(dirs, function(i, dir) { data.changed[dir.hash] = dir; }); fm.change(data); }) .always(function() { var cwd = fm.cwd().hash; fm.trigger('selectfiles', {files: jQuery.map(dirs, function(d) { return cwd === d.phash? d.hash : null; })}); }), success = [], done = function(res) { if (typeof res === 'number') { success.push(dirs[res].name); delete dirs[res].dirs; } else { res && fm.error(res); } (--cnt < 1) && dfrd[success.length? 'resolve' : 'reject'](); }; jQuery.each(dirs, function(i, dir) { var tm; if (!(dir.write && dir.mime === 'directory')) { done(['errEmpty', dir.name, 'errPerm']); return null; } if (!fm.isCommandEnabled('rm', dir.hash)) { done(['errCmdNoSupport', '"rm"']); return null; } tm = setTimeout(function() { fm.notify({type : 'search', cnt : 1, hideCnt : cnt > 1? false : true}); }, fm.notifyDelay); fm.request({ data : {cmd : 'open', target : dir.hash}, preventDefault : true, asNotOpen : true }).done(function(data) { var targets = []; tm && clearTimeout(tm); if (fm.ui.notify.children('.elfinder-notify-search').length) { fm.notify({type : 'search', cnt : -1, hideCnt : cnt > 1? false : true}); } if (data && data.files && data.files.length) { if (data.files.length > fm.maxTargets) { done(['errEmpty', dir.name, 'errMaxTargets', fm.maxTargets]); } else { fm.updateCache(data); jQuery.each(data.files, function(i, f) { if (!f.write || f.locked) { done(['errEmpty', dir.name, 'errRm', f.name, 'errPerm']); targets = []; return false; } targets.push(f.hash); }); if (targets.length) { fm.exec('rm', targets, { _userAction : true, addTexts : [ fm.i18n('folderToEmpty', dir.name) ] }) .fail(function(error) { fm.trigger('unselectfiles', {files: fm.selected()}); done(fm.parseError(error) || ''); }) .done(function() { done(i); }); } } } else { fm.toast({ mode: 'warning', msg: fm.i18n('filderIsEmpty', dir.name)}); done(''); } }).fail(function(error) { done(fm.parseError(error) || ''); }); }); return dfrd; }; }; wp-file-manager/lib/js/commands/extract.js000064400000012265151202472330014517 0ustar00/** * @class elFinder command "extract" * Extract files from archive * * @author Dmitry (dio) Levashov **/ elFinder.prototype.commands.extract = function() { "use strict"; var self = this, fm = self.fm, mimes = [], filter = function(files) { var fres = true; return jQuery.grep(files, function(file) { fres = fres && file.read && jQuery.inArray(file.mime, mimes) !== -1 ? true : false; return fres; }); }; this.variants = []; this.disableOnSearch = true; // Update mimes list on open/reload fm.bind('open reload', function() { mimes = fm.option('archivers')['extract'] || []; if (fm.api > 2) { self.variants = [[{makedir: true}, fm.i18n('cmdmkdir')], [{}, fm.i18n('btnCwd')]]; } else { self.variants = [[{}, fm.i18n('btnCwd')]]; } self.change(); }); this.getstate = function(select) { var sel = this.files(select), cnt = sel.length, cwdHash, cwdChk; if (!cnt || filter(sel).length != cnt) { return -1; } else if (fm.searchStatus.state > 0) { cwdHash = this.fm.cwd().hash; jQuery.each(sel, function(i, file) { cwdChk = (file.phash === cwdHash); return cwdChk; }); return cwdChk? 0 : -1; } else { return this.fm.cwd().write? 0 : -1; } }; this.exec = function(hashes, opts) { var files = this.files(hashes), dfrd = jQuery.Deferred(), cnt = files.length, makedir = opts && opts.makedir ? 1 : 0, i, error, decision, overwriteAll = false, omitAll = false, mkdirAll = 0, siblings = fm.files(files[0].phash), names = [], map = {}; jQuery.each(siblings, function(id, file) { map[file.name] = file; names.push(file.name); }); var decide = function(decision) { switch (decision) { case 'overwrite_all' : overwriteAll = true; break; case 'omit_all': omitAll = true; break; } }; var unpack = function(file) { if (!(file.read && fm.file(file.phash).write)) { error = ['errExtract', file.name, 'errPerm']; fm.error(error); dfrd.reject(error); } else if (jQuery.inArray(file.mime, mimes) === -1) { error = ['errExtract', file.name, 'errNoArchive']; fm.error(error); dfrd.reject(error); } else { fm.request({ data:{cmd:'extract', target:file.hash, makedir:makedir}, notify:{type:'extract', cnt:1}, syncOnFail:true, navigate:{ toast : makedir? { incwd : {msg: fm.i18n(['complete', fm.i18n('cmdextract')]), action: {cmd: 'open', msg: 'cmdopen'}}, inbuffer : {msg: fm.i18n(['complete', fm.i18n('cmdextract')]), action: {cmd: 'open', msg: 'cmdopen'}} } : { inbuffer : {msg: fm.i18n(['complete', fm.i18n('cmdextract')])} } } }) .fail(function (error) { if (dfrd.state() != 'rejected') { dfrd.reject(error); } }) .done(function () { }); } }; var confirm = function(files, index) { var file = files[index], name = fm.splitFileExtention(file.name)[0], existed = (jQuery.inArray(name, names) >= 0), next = function(){ if((index+1) < cnt) { confirm(files, index+1); } else { dfrd.resolve(); } }; if (!makedir && existed && map[name].mime != 'directory') { fm.confirm( { title : fm.i18n('ntfextract'), text : ['errExists', name, 'confirmRepl'], accept:{ label : 'btnYes', callback:function (all) { decision = all ? 'overwrite_all' : 'overwrite'; decide(decision); if(!overwriteAll && !omitAll) { if('overwrite' == decision) { unpack(file); } if((index+1) < cnt) { confirm(files, index+1); } else { dfrd.resolve(); } } else if(overwriteAll) { for (i = index; i < cnt; i++) { unpack(files[i]); } dfrd.resolve(); } } }, reject : { label : 'btnNo', callback:function (all) { decision = all ? 'omit_all' : 'omit'; decide(decision); if(!overwriteAll && !omitAll && (index+1) < cnt) { confirm(files, index+1); } else if (omitAll) { dfrd.resolve(); } } }, cancel : { label : 'btnCancel', callback:function () { dfrd.resolve(); } }, all : ((index+1) < cnt) } ); } else if (!makedir) { if (mkdirAll == 0) { fm.confirm({ title : fm.i18n('cmdextract'), text : [fm.i18n('cmdextract')+' "'+file.name+'"', 'confirmRepl'], accept:{ label : 'btnYes', callback:function (all) { all && (mkdirAll = 1); unpack(file); next(); } }, reject : { label : 'btnNo', callback:function (all) { all && (mkdirAll = -1); next(); } }, cancel : { label : 'btnCancel', callback:function () { dfrd.resolve(); } }, all : ((index+1) < cnt) }); } else { (mkdirAll > 0) && unpack(file); next(); } } else { unpack(file); next(); } }; if (!(this.enabled() && cnt && mimes.length)) { return dfrd.reject(); } if(cnt > 0) { confirm(files, 0); } return dfrd; }; }; wp-file-manager/lib/js/commands/forward.js000064400000000775151202472330014514 0ustar00/** * @class elFinder command "forward" * Open next visited folder * * @author Dmitry (dio) Levashov **/ (elFinder.prototype.commands.forward = function() { "use strict"; this.alwaysEnabled = true; this.updateOnSelect = true; this.shortcuts = [{ pattern : 'ctrl+right' }]; this.getstate = function() { return this.fm.history.canForward() ? 0 : -1; }; this.exec = function() { return this.fm.history.forward(); }; }).prototype = { forceLoad : true }; // this is required command wp-file-manager/lib/js/commands/fullscreen.js000064400000002062151202472330015201 0ustar00/** * @class elFinder command "fullscreen" * elFinder node to full scrren mode * * @author Naoki Sawada **/ elFinder.prototype.commands.fullscreen = function() { "use strict"; var self = this, fm = this.fm, update = function(e, data) { var full; e.preventDefault(); e.stopPropagation(); if (data && data.fullscreen) { full = (data.fullscreen === 'on'); self.update(void(0), full); self.title = fm.i18n(full ? 'reinstate' : 'cmdfullscreen'); } }; this.alwaysEnabled = true; this.updateOnSelect = false; this.syncTitleOnChange = true; this.value = false; this.options = { ui : 'fullscreenbutton' }; this.getstate = function() { return 0; }; this.exec = function() { var node = fm.getUI().get(0), full = (node === fm.toggleFullscreen(node)); self.title = fm.i18n(full ? 'reinstate' : 'cmdfullscreen'); self.update(void(0), full); return jQuery.Deferred().resolve(); }; fm.bind('init', function() { fm.getUI().off('resize.' + fm.namespace, update).on('resize.' + fm.namespace, update); }); }; wp-file-manager/lib/js/commands/getfile.js000064400000010103151202472330014451 0ustar00/** * @class elFinder command "getfile". * Return selected files info into outer callback. * For use elFinder with wysiwyg editors etc. * * @author Dmitry (dio) Levashov, dio@std42.ru **/ (elFinder.prototype.commands.getfile = function() { "use strict"; var self = this, fm = this.fm, filter = function(files) { var o = self.options, fres = true; files = jQuery.grep(files, function(file) { fres = fres && (file.mime != 'directory' || o.folders) && file.read ? true : false; return fres; }); return o.multiple || files.length == 1 ? files : []; }; this.alwaysEnabled = true; this.callback = fm.options.getFileCallback; this._disabled = typeof(this.callback) == 'function'; this.getstate = function(select) { var sel = this.files(select), cnt = sel.length; return this.callback && cnt && filter(sel).length == cnt ? 0 : -1; }; this.exec = function(hashes) { var fm = this.fm, opts = this.options, files = this.files(hashes), cnt = files.length, url = fm.option('url'), tmb = fm.option('tmbUrl'), dfrd = jQuery.Deferred() .done(function(data) { var res, done = function() { if (opts.oncomplete == 'close') { fm.hide(); } else if (opts.oncomplete == 'destroy') { fm.destroy(); } }, fail = function(error) { if (opts.onerror == 'close') { fm.hide(); } else if (opts.onerror == 'destroy') { fm.destroy(); } else { error && fm.error(error); } }; fm.trigger('getfile', {files : data}); try { res = self.callback(data, fm); } catch(e) { fail(['Error in `getFileCallback`.', e.message]); return; } if (typeof res === 'object' && typeof res.done === 'function') { res.done(done).fail(fail); } else { done(); } }), result = function(file) { return opts.onlyURL ? opts.multiple ? jQuery.map(files, function(f) { return f.url; }) : files[0].url : opts.multiple ? files : files[0]; }, req = [], i, file, dim; for (i = 0; i < cnt; i++) { file = files[i]; if (file.mime == 'directory' && !opts.folders) { return dfrd.reject(); } file.baseUrl = url; if (file.url == '1') { req.push(fm.request({ data : {cmd : 'url', target : file.hash}, notify : {type : 'url', cnt : 1, hideCnt : true}, preventDefault : true }) .done(function(data) { if (data.url) { var rfile = fm.file(this.hash); rfile.url = this.url = data.url; } }.bind(file))); } else { file.url = fm.url(file.hash); } if (! opts.onlyURL) { if (opts.getPath) { file.path = fm.path(file.hash); if (file.path === '' && file.phash) { // get parents (function() { var dfd = jQuery.Deferred(); req.push(dfd); fm.path(file.hash, false, {}) .done(function(path) { file.path = path; }) .fail(function() { file.path = ''; }) .always(function() { dfd.resolve(); }); })(); } } if (file.tmb && file.tmb != 1) { file.tmb = tmb + file.tmb; } if (!file.width && !file.height) { if (file.dim) { dim = file.dim.split('x'); file.width = dim[0]; file.height = dim[1]; } else if (opts.getImgSize && file.mime.indexOf('image') !== -1) { req.push(fm.request({ data : {cmd : 'dim', target : file.hash}, notify : {type : 'dim', cnt : 1, hideCnt : true}, preventDefault : true }) .done(function(data) { if (data.dim) { var dim = data.dim.split('x'); var rfile = fm.file(this.hash); rfile.width = this.width = dim[0]; rfile.height = this.height = dim[1]; } }.bind(file))); } } } } if (req.length) { jQuery.when.apply(null, req).always(function() { dfrd.resolve(result(files)); }); return dfrd; } return dfrd.resolve(result(files)); }; }).prototype = { forceLoad : true }; // this is required command wp-file-manager/lib/js/commands/help.js000064400000034323151202472330013774 0ustar00/** * @class elFinder command "help" * "About" dialog * * @author Dmitry (dio) Levashov **/ (elFinder.prototype.commands.help = function() { "use strict"; var fm = this.fm, self = this, linktpl = '
          ', linktpltgt = '', atpl = '
          {author}
          {work}
          ', url = /\{url\}/, link = /\{link\}/, author = /\{author\}/, work = /\{work\}/, r = 'replace', prim = 'ui-priority-primary', sec = 'ui-priority-secondary', lic = 'elfinder-help-license', tab = '
        • {title}
        • ', html = ['
          ', '
            '], stpl = '
            {pattern}
            {descrip}
            ', sep = '
            ', selfUrl = jQuery('base').length? fm.escape(document.location.href.replace(/#.*$/, '')) : '', clTabActive = fm.res('class', 'tabsactive'), getTheme = function() { var src; if (fm.theme && fm.theme.author) { src = atpl[r]('elfinder-help-team', 'elfinder-help-team elfinder-help-term-theme')[r](author, fm.i18n(fm.theme.author) + (fm.theme.email? ' <'+fm.theme.email+'>' : ''))[r](work, fm.i18n('theme') + ' ('+fm.i18n(fm.theme.name)+')'); } else { src = ''; } return src; }, about = function() { html.push('
            '); html.push('

            elFinder

            '); html.push('
            '+fm.i18n('webfm')+'
            '); html.push('
            '+fm.i18n('ver')+': '+fm.version+'
            '); html.push('
            '+fm.i18n('protocolver')+':
            '); html.push('
            jQuery/jQuery UI: '+jQuery().jquery+'/'+jQuery.ui.version+'
            '); html.push(sep); html.push(linktpltgt[r](url, 'https://studio-42.github.io/elFinder/')[r](link, fm.i18n('homepage'))); html.push(linktpltgt[r](url, 'https://github.com/Studio-42/elFinder/wiki')[r](link, fm.i18n('docs'))); html.push(linktpltgt[r](url, 'https://github.com/Studio-42/elFinder')[r](link, fm.i18n('github'))); //html.push(linktpltgt[r](url, 'http://twitter.com/elrte_elfinder')[r](link, fm.i18n('twitter'))); html.push(sep); html.push('
            '+fm.i18n('team')+'
            '); html.push(atpl[r](author, 'Dmitry "dio" Levashov <dio@std42.ru>')[r](work, fm.i18n('chiefdev'))); html.push(atpl[r](author, 'Naoki Sawada <hypweb+elfinder@gmail.com>')[r](work, fm.i18n('developer'))); html.push(atpl[r](author, 'Troex Nevelin <troex@fury.scancode.ru>')[r](work, fm.i18n('maintainer'))); html.push(atpl[r](author, 'Alexey Sukhotin <strogg@yandex.ru>')[r](work, fm.i18n('contributor'))); if (fm.i18[fm.lang].translator) { jQuery.each(fm.i18[fm.lang].translator.split(', '), function() { html.push(atpl[r](author, jQuery.trim(this))[r](work, fm.i18n('translator')+' ('+fm.i18[fm.lang].language+')')); }); } html.push(getTheme()); html.push(sep); html.push('
            '+fm.i18n('icons')+': Pixelmixer, Fugue, Icons8
            '); html.push(sep); html.push('
            Licence: 3-clauses BSD Licence
            '); html.push('
            Copyright © 2009-2021, Studio 42
            '); html.push('
            „ …'+fm.i18n('dontforget')+' ”
            '); html.push('
            '); }, shortcuts = function() { var sh = fm.shortcuts(); // shortcuts tab html.push('
            '); if (sh.length) { html.push('
            '); jQuery.each(sh, function(i, s) { html.push(stpl.replace(/\{pattern\}/, s[0]).replace(/\{descrip\}/, s[1])); }); html.push('
            '); } else { html.push('
            '+fm.i18n('shortcutsof')+'
            '); } html.push('
            '); }, help = function() { // help tab html.push('
            '); html.push('DON\'T PANIC'); html.push('
            '); // end help }, useInteg = false, integrations = function() { useInteg = true; html.push('
            '); }, useDebug = false, debug = function() { useDebug = true; // debug tab html.push('
            '); html.push('
              '); html.push('
              '); // end debug }, debugRender = function() { var render = function(elm, obj) { jQuery.each(obj, function(k, v) { elm.append(jQuery('
              ').text(k)); if (typeof v === 'undefined') { elm.append(jQuery('
              ').append(jQuery('').text('undfined'))); } else if (typeof v === 'object' && !v) { elm.append(jQuery('
              ').append(jQuery('').text('null'))); } else if (typeof v === 'object' && (jQuery.isPlainObject(v) || v.length)) { elm.append( jQuery('
              ').append(render(jQuery('
              '), v))); } else { elm.append(jQuery('
              ').append(jQuery('').text((v && typeof v === 'object')? '[]' : (v? v : '""')))); } }); return elm; }, cnt = debugUL.children('li').length, targetL, target, tabId, info, lastUL, lastDIV; if (self.debug.options || self.debug.debug) { if (cnt >= 5) { lastUL = debugUL.children('li:last'); lastDIV = debugDIV.children('div:last'); if (lastDIV.is(':hidden')) { lastUL.remove(); lastDIV.remove(); } else { lastUL.prev().remove(); lastDIV.prev().remove(); } } tabId = fm.namespace + '-help-debug-' + (+new Date()); targetL = jQuery('
            • ').html(''+self.debug.debug.cmd+'').prependTo(debugUL); target = jQuery('
              ').data('debug', self.debug); targetL.on('click.debugrender', function() { var debug = target.data('debug'); target.removeData('debug'); if (debug) { target.hide(); if (debug.debug) { info = jQuery('
              ').append(jQuery('').text('debug'), render(jQuery('
              '), debug.debug)); target.append(info); } if (debug.options) { info = jQuery('
              ').append(jQuery('').text('options'), render(jQuery('
              '), debug.options)); target.append(info); } target.show(); } targetL.off('click.debugrender'); }); debugUL.after(target); opened && debugDIV.tabs('refresh'); } }, content = '', opened, tabInteg, integDIV, tabDebug, debugDIV, debugUL; this.alwaysEnabled = true; this.updateOnSelect = false; this.state = -1; this.shortcuts = [{ pattern : 'f1', description : this.title }]; fm.bind('load', function() { var parts = self.options.view || ['about', 'shortcuts', 'help', 'integrations', 'debug'], i, helpSource, tabBase, tabNav, tabs, delta; // remove 'preference' tab, it moved to command 'preference' if ((i = jQuery.inArray('preference', parts)) !== -1) { parts.splice(i, 1); } // debug tab require jQueryUI Tabs Widget if (! jQuery.fn.tabs) { if ((i = jQuery.inArray(parts, 'debug')) !== -1) { parts.splice(i, 1); } } jQuery.each(parts, function(i, title) { html.push(tab[r](/\{id\}/g, title)[r](/\{title\}/, fm.i18n(title))); }); html.push('
            '); jQuery.inArray('about', parts) !== -1 && about(); jQuery.inArray('shortcuts', parts) !== -1 && shortcuts(); if (jQuery.inArray('help', parts) !== -1) { helpSource = fm.i18nBaseUrl + 'help/%s.html.js'; help(); } jQuery.inArray('integrations', parts) !== -1 && integrations(); jQuery.inArray('debug', parts) !== -1 && debug(); html.push('
            '); content = jQuery(html.join('')); content.find('.ui-tabs-nav li') .on('mouseenter mouseleave', function(e) { jQuery(this).toggleClass('ui-state-hover', e.type === 'mouseenter'); }) .on('focus blur', 'a', function(e) { jQuery(e.delegateTarget).toggleClass('ui-state-focus', e.type === 'focusin'); }) .children() .on('click', function(e) { var link = jQuery(this); e.preventDefault(); e.stopPropagation(); link.parent().addClass(clTabActive).siblings().removeClass(clTabActive); content.children('.ui-tabs-panel').hide().filter(link.attr('href')).show(); }) .filter(':first').trigger('click'); if (useInteg) { tabInteg = content.find('.elfinder-help-tab-integrations').hide(); integDIV = content.find('#'+fm.namespace+'-help-integrations').hide().append(jQuery('
            ').html(fm.i18n('integrationWith'))); fm.bind('helpIntegration', function(e) { var ul = integDIV.children('ul:first'), data, elm, cmdUL, cmdCls; if (e.data) { if (jQuery.isPlainObject(e.data)) { data = Object.assign({ link: '', title: '', banner: '' }, e.data); if (data.title || data.link) { if (!data.title) { data.title = data.link; } if (data.link) { elm = jQuery('').attr('href', data.link).attr('target', '_blank').text(data.title); } else { elm = jQuery('').text(data.title); } if (data.banner) { elm = jQuery('').append(jQuery('').attr(data.banner), elm); } } } else { elm = jQuery(e.data); elm.filter('a').each(function() { var tgt = jQuery(this); if (!tgt.attr('target')) { tgt.attr('target', '_blank');; } }); } if (elm) { tabInteg.show(); if (!ul.length) { ul = jQuery('
              ').appendTo(integDIV); } if (data && data.cmd) { cmdCls = 'elfinder-help-integration-' + data.cmd; cmdUL = ul.find('ul.' + cmdCls); if (!cmdUL.length) { cmdUL = jQuery('
                '); ul.append(jQuery('
              • ').append(jQuery('').html(fm.i18n('cmd'+data.cmd))).append(cmdUL)); } elm = cmdUL.append(jQuery('
              • ').append(elm)); } else { ul.append(jQuery('
              • ').append(elm)); } } } }).bind('themechange', function() { content.find('div.elfinder-help-term-theme').replaceWith(getTheme()); }); } // debug if (useDebug) { tabDebug = content.find('.elfinder-help-tab-debug').hide(); debugDIV = content.find('#'+fm.namespace+'-help-debug').children('div:first'); debugUL = debugDIV.children('ul:first').on('click', function(e) { e.preventDefault(); e.stopPropagation(); }); self.debug = {}; fm.bind('backenddebug', function(e) { // CAUTION: DO NOT TOUCH `e.data` if (useDebug && e.data && e.data.debug) { self.debug = { options : e.data.options, debug : Object.assign({ cmd : fm.currentReqCmd }, e.data.debug) }; if (self.dialog) { debugRender(); } } }); } content.find('#'+fm.namespace+'-help-about').find('.apiver').text(fm.api); self.dialog = self.fmDialog(content, { title : self.title, width : 530, maxWidth: 'window', maxHeight: 'window', autoOpen : false, destroyOnClose : false, close : function() { if (useDebug) { tabDebug.hide(); debugDIV.tabs('destroy'); } opened = false; } }) .on('click', function(e) { e.stopPropagation(); }) .css({ overflow: 'hidden' }); tabBase = self.dialog.children('.ui-tabs'); tabNav = tabBase.children('.ui-tabs-nav:first'); tabs = tabBase.children('.ui-tabs-panel'); delta = self.dialog.outerHeight(true) - self.dialog.height(); self.dialog.closest('.ui-dialog').on('resize', function() { tabs.height(self.dialog.height() - delta - tabNav.outerHeight(true) - 20); }); if (helpSource) { self.dialog.one('initContents', function() { jQuery.ajax({ url: self.options.helpSource? self.options.helpSource : helpSource.replace('%s', fm.lang), dataType: 'html' }).done(function(source) { jQuery('#'+fm.namespace+'-help-help').html(source); }).fail(function() { jQuery.ajax({ url: helpSource.replace('%s', 'en'), dataType: 'html' }).done(function(source) { jQuery('#'+fm.namespace+'-help-help').html(source); }); }); }); } self.state = 0; fm.trigger('helpBuilded', self.dialog); }).one('open', function() { var debug = false; fm.one('backenddebug', function() { debug =true; }).one('opendone', function() { requestAnimationFrame(function() { if (! debug && useDebug) { useDebug = false; tabDebug.hide(); debugDIV.hide(); debugUL.hide(); } }); }); }); this.getstate = function() { return 0; }; this.exec = function(sel, opts) { var tab = opts? opts.tab : void(0), debugShow = function() { if (useDebug) { debugDIV.tabs(); debugUL.find('a:first').trigger('click'); tabDebug.show(); opened = true; } }; debugShow(); this.dialog.trigger('initContents').elfinderdialog('open').find((tab? '.elfinder-help-tab-'+tab : '.ui-tabs-nav li') + ' a:first').trigger('click'); return jQuery.Deferred().resolve(); }; }).prototype = { forceLoad : true }; // this is required command wp-file-manager/lib/js/commands/hidden.js000064400000000424151202472330014272 0ustar00/** * @class elFinder command "hidden" * Always hidden command for uiCmdMap * * @author Naoki Sawada **/ elFinder.prototype.commands.hidden = function() { "use strict"; this.hidden = true; this.updateOnSelect = false; this.getstate = function() { return -1; }; };wp-file-manager/lib/js/commands/hide.js000064400000010415151202472330013751 0ustar00/** * @class elFinder command "hide". * folders/files to hide as personal setting. * * @type elFinder.command * @author Naoki Sawada */ elFinder.prototype.commands.hide = function() { "use strict"; var self = this, nameCache = {}, hideData, hideCnt, cMenuType, sOrigin; this.syncTitleOnChange = true; this.shortcuts = [{ pattern : 'ctrl+shift+dot', description : this.fm.i18n('toggleHidden') }]; this.init = function() { var fm = this.fm; hideData = fm.storage('hide') || {items: {}}; hideCnt = Object.keys(hideData.items).length; this.title = fm.i18n(hideData.show? 'hideHidden' : 'showHidden'); self.update(void(0), self.title); }; this.fm.bind('select contextmenucreate closecontextmenu', function(e, fm) { var sel = (e.data? (e.data.selected || e.data.targets) : null) || fm.selected(); if (e.type === 'select' && e.data) { sOrigin = e.data.origin; } else if (e.type === 'contextmenucreate') { cMenuType = e.data.type; } if (!sel.length || (((e.type !== 'contextmenucreate' && sOrigin !== 'navbar') || cMenuType === 'cwd') && sel[0] === fm.cwd().hash)) { self.title = fm.i18n(hideData.show? 'hideHidden' : 'showHidden'); } else { self.title = fm.i18n('cmdhide'); } if (e.type !== 'closecontextmenu') { self.update(cMenuType === 'cwd'? (hideCnt? 0 : -1) : void(0), self.title); } else { cMenuType = ''; requestAnimationFrame(function() { self.update(void(0), self.title); }); } }); this.getstate = function(sel) { return (this.fm.cookieEnabled && cMenuType !== 'cwd' && (sel || this.fm.selected()).length) || hideCnt? 0 : -1; }; this.exec = function(hashes, opts) { var fm = this.fm, dfrd = jQuery.Deferred() .done(function() { fm.trigger('hide', {items: items, opts: opts}); }) .fail(function(error) { fm.error(error); }), o = opts || {}, items = o.targets? o.targets : (hashes || fm.selected()), added = [], removed = [], notifyto, files, res; hideData = fm.storage('hide') || {}; if (!jQuery.isPlainObject(hideData)) { hideData = {}; } if (!jQuery.isPlainObject(hideData.items)) { hideData.items = {}; } if (opts._currentType === 'shortcut' || !items.length || (opts._currentType !== 'navbar' && sOrigin !=='navbar' && items[0] === fm.cwd().hash)) { if (hideData.show) { o.hide = true; } else if (Object.keys(hideData.items).length) { o.show = true; } } if (o.reset) { o.show = true; hideCnt = 0; } if (o.show || o.hide) { if (o.show) { hideData.show = true; } else { delete hideData.show; } if (o.show) { fm.storage('hide', o.reset? null : hideData); self.title = fm.i18n('hideHidden'); self.update(o.reset? -1 : void(0), self.title); jQuery.each(hideData.items, function(h) { var f = fm.file(h, true); if (f && (fm.searchStatus.state || !f.phash || fm.file(f.phash))) { added.push(f); } }); if (added.length) { fm.updateCache({added: added}); fm.add({added: added}); } if (o.reset) { hideData = {items: {}}; } return dfrd.resolve(); } items = Object.keys(hideData.items); } if (items.length) { jQuery.each(items, function(i, h) { var f; if (!hideData.items[h]) { f = fm.file(h); if (f) { nameCache[h] = f.i18 || f.name; } hideData.items[h] = nameCache[h]? nameCache[h] : h; } }); hideCnt = Object.keys(hideData.items).length; files = this.files(items); fm.storage('hide', hideData); fm.remove({removed: items}); if (hideData.show) { this.exec(void(0), {hide: true}); } if (!o.hide) { res = {}; res.undo = { cmd : 'hide', callback : function() { var nData = fm.storage('hide'); if (nData) { jQuery.each(items, function(i, h) { delete nData.items[h]; }); hideCnt = Object.keys(nData.items).length; fm.storage('hide', nData); fm.trigger('hide', {items: items, opts: {}}); self.update(hideCnt? 0 : -1); } fm.updateCache({added: files}); fm.add({added: files}); } }; res.redo = { cmd : 'hide', callback : function() { return fm.exec('hide', void(0), {targets: items}); } }; } } return dfrd.state() == 'rejected' ? dfrd : dfrd.resolve(res); }; }; wp-file-manager/lib/js/commands/home.js000064400000001020151202472330013760 0ustar00(elFinder.prototype.commands.home = function() { "use strict"; this.title = 'Home'; this.alwaysEnabled = true; this.updateOnSelect = false; this.shortcuts = [{ pattern : 'ctrl+home ctrl+shift+up', description : 'Home' }]; this.getstate = function() { var root = this.fm.root(), cwd = this.fm.cwd().hash; return root && cwd && root != cwd ? 0: -1; }; this.exec = function() { return this.fm.exec('open', this.fm.root()); }; }).prototype = { forceLoad : true }; // this is required command wp-file-manager/lib/js/commands/info.js000064400000032207151202472330013776 0ustar00/** * @class elFinder command "info". * Display dialog with file properties. * * @author Dmitry (dio) Levashov, dio@std42.ru **/ (elFinder.prototype.commands.info = function() { "use strict"; var m = 'msg', fm = this.fm, spclass = 'elfinder-spinner', btnclass = 'elfinder-info-button', msg = { calc : fm.i18n('calc'), size : fm.i18n('size'), unknown : fm.i18n('unknown'), path : fm.i18n('path'), aliasfor : fm.i18n('aliasfor'), modify : fm.i18n('modify'), perms : fm.i18n('perms'), locked : fm.i18n('locked'), dim : fm.i18n('dim'), kind : fm.i18n('kind'), files : fm.i18n('files'), folders : fm.i18n('folders'), roots : fm.i18n('volumeRoots'), items : fm.i18n('items'), yes : fm.i18n('yes'), no : fm.i18n('no'), link : fm.i18n('link'), owner : fm.i18n('owner'), group : fm.i18n('group'), perm : fm.i18n('perm'), getlink : fm.i18n('getLink'), share : fm.i18n('getShareText') }, applyZWSP = function(str, remove) { if (remove) { return str.replace(/\u200B/g, ''); } else { return str.replace(/(\/|\\)/g, "$1\u200B"); } }; this.items = ['size', 'aliasfor', 'path', 'link', 'dim', 'modify', 'perms', 'locked', 'owner', 'group', 'perm']; if (this.options.custom && Object.keys(this.options.custom).length) { jQuery.each(this.options.custom, function(name, details) { details.label && this.items.push(details.label); }); } this.tpl = { main : '
                {title}
                {content}
                ', itemTitle : '{name}{kind}', groupTitle : '{items}: {num}', row : '{label} : {value}', spinner : '{text} ' }; this.alwaysEnabled = true; this.updateOnSelect = false; this.shortcuts = [{ pattern : 'ctrl+i' }]; this.init = function() { jQuery.each(msg, function(k, v) { msg[k] = fm.i18n(v); }); }; this.getstate = function() { return 0; }; this.exec = function(hashes) { var files = this.files(hashes); if (! files.length) { files = this.files([ this.fm.cwd().hash ]); } var self = this, fm = this.fm, o = this.options, tpl = this.tpl, row = tpl.row, cnt = files.length, content = [], view = tpl.main, l = '{label}', v = '{value}', reqs = [], reqDfrd = null, opts = { title : fm.i18n('selectionInfo'), width : 'auto', close : function() { jQuery(this).elfinderdialog('destroy'); if (reqDfrd && reqDfrd.state() === 'pending') { reqDfrd.reject(); } jQuery.grep(reqs, function(r) { r && r.state() === 'pending' && r.reject(); }); } }, count = [], replSpinner = function(msg, name, className) { dialog.find('.'+spclass+'-'+name).parent().html(msg).addClass(className || ''); }, id = fm.namespace+'-info-'+jQuery.map(files, function(f) { return f.hash; }).join('-'), dialog = fm.getUI().find('#'+id), customActions = [], style = '', hashClass = 'elfinder-font-mono elfinder-info-hash', getHashAlgorisms = [], ndialog = fm.ui.notify, size, tmb, file, title, dcnt, rdcnt, path, hideItems, hashProg; if (ndialog.is(':hidden') && ndialog.children('.elfinder-notify').length) { ndialog.elfinderdialog('open').height('auto'); } if (!cnt) { return jQuery.Deferred().reject(); } if (dialog.length) { dialog.elfinderdialog('toTop'); return jQuery.Deferred().resolve(); } hideItems = fm.storage('infohides') || fm.arrayFlip(o.hideItems, true); if (cnt === 1) { file = files[0]; if (file.icon) { style = ' '+fm.getIconStyle(file); } view = view.replace('{dirclass}', file.csscls? fm.escape(file.csscls) : '').replace('{class}', fm.mime2class(file.mime)).replace('{style}', style); title = tpl.itemTitle.replace('{name}', fm.escape(file.i18 || file.name)).replace('{kind}', ''+fm.mime2kind(file)+''); tmb = fm.tmb(file); if (!file.read) { size = msg.unknown; } else if (file.mime != 'directory' || file.alias) { size = fm.formatSize(file.size); } else { size = tpl.spinner.replace('{text}', msg.calc).replace('{name}', 'size'); count.push(file.hash); } !hideItems.size && content.push(row.replace(l, msg.size).replace(v, size)); !hideItems.aleasfor && file.alias && content.push(row.replace(l, msg.aliasfor).replace(v, file.alias)); if (!hideItems.path) { if (path = fm.path(file.hash, true)) { content.push(row.replace(l, msg.path).replace(v, applyZWSP(fm.escape(path))).replace('{class}', 'elfinder-info-path')); } else { content.push(row.replace(l, msg.path).replace(v, tpl.spinner.replace('{text}', msg.calc).replace('{name}', 'path')).replace('{class}', 'elfinder-info-path')); reqs.push(fm.path(file.hash, true, {notify: null}) .fail(function() { replSpinner(msg.unknown, 'path'); }) .done(function(path) { replSpinner(applyZWSP(path), 'path'); })); } } if (!hideItems.link && file.read) { var href, name_esc = fm.escape(file.name); if (file.url == '1') { content.push(row.replace(l, msg.link).replace(v, '')); } else { msg.share = msg.share == undefined ? 'Share' : msg.share; if (file.url) { href = file.url; } else if (file.mime === 'directory') { if (o.nullUrlDirLinkSelf && file.url === null) { var loc = window.location; href = loc.pathname + loc.search + '#elf_' + file.hash; } else if (file.url !== '' && fm.option('url', (!fm.isRoot(file) && file.phash) || file.hash)) { href = fm.url(file.hash); } } else { href = fm.url(file.hash); var network_href = fm_get_network_url(); if(network_href) { var filename = href.substring(href.lastIndexOf('/') + 1); href = network_href+filename; } } href && content.push(row.replace(l, msg.link).replace(v, ''+name_esc+'')); } } if (!hideItems.dim) { if (file.dim) { // old api content.push(row.replace(l, msg.dim).replace(v, file.dim)); } else if (file.mime.indexOf('image') !== -1) { if (file.width && file.height) { content.push(row.replace(l, msg.dim).replace(v, file.width+'x'+file.height)); } else if (file.size && file.size !== '0') { content.push(row.replace(l, msg.dim).replace(v, tpl.spinner.replace('{text}', msg.calc).replace('{name}', 'dim'))); reqs.push(fm.request({ data : {cmd : 'dim', target : file.hash}, preventDefault : true }) .fail(function() { replSpinner(msg.unknown, 'dim'); }) .done(function(data) { replSpinner(data.dim || msg.unknown, 'dim'); if (data.dim) { var dim = data.dim.split('x'); var rfile = fm.file(file.hash); rfile.width = dim[0]; rfile.height = dim[1]; } })); } } } !hideItems.modify && content.push(row.replace(l, msg.modify).replace(v, fm.formatDate(file))); //!hideItems.perms && content.push(row.replace(l, msg.perms).replace(v, fm.formatPermissions(file))); !hideItems.locked && content.push(row.replace(l, msg.locked).replace(v, file.locked ? msg.yes : msg.no)); !hideItems.owner && file.owner && content.push(row.replace(l, msg.owner).replace(v, file.owner)); !hideItems.group && file.group && content.push(row.replace(l, msg.group).replace(v, file.group)); !hideItems.perm && file.perm && content.push(row.replace(l, msg.perm).replace(v, fm.formatFileMode(file.perm))); // Get MD5, SHA hashes // if (window.ArrayBuffer && (fm.options.cdns.sparkmd5 || fm.options.cdns.jssha) && file.mime !== 'directory' && file.size > 0 && (!o.showHashMaxsize || file.size <= o.showHashMaxsize)) { // getHashAlgorisms = []; // jQuery.each(fm.storage('hashchekcer') || o.showHashAlgorisms, function(i, n) { // if (!file[n]) { // content.push(row.replace(l, fm.i18n(n)).replace(v, tpl.spinner.replace('{text}', msg.calc).replace('{name}', n))); // getHashAlgorisms.push(n); // } else { // content.push(row.replace(l, fm.i18n(n)).replace(v, file[n]).replace('{class}', hashClass)); // } // }); // if (getHashAlgorisms.length) { // hashProg = jQuery('
                '); // reqs.push( // fm.getContentsHashes(file.hash, getHashAlgorisms, o.showHashOpts, { progressBar : hashProg }).progress(function(hashes) { // jQuery.each(getHashAlgorisms, function(i, n) { // if (hashes[n]) { // replSpinner(hashes[n], n, hashClass); // } // }); // }).always(function() { // jQuery.each(getHashAlgorisms, function(i, n) { // replSpinner(msg.unknown, n); // }); // }) // ); // } // } // Add custom info fields if (o.custom) { jQuery.each(o.custom, function(name, details) { if ( !hideItems[details.label] && (!details.mimes || jQuery.grep(details.mimes, function(m){return (file.mime === m || file.mime.indexOf(m+'/') === 0)? true : false;}).length) && (!details.hashRegex || file.hash.match(details.hashRegex)) ) { // Add to the content content.push(row.replace(l, fm.i18n(details.label)).replace(v , details.tpl.replace('{id}', id))); // Register the action if (details.action && (typeof details.action == 'function')) { customActions.push(details.action); } } }); } } else { view = view.replace('{class}', 'elfinder-cwd-icon-group'); title = tpl.groupTitle.replace('{items}', msg.items).replace('{num}', cnt); dcnt = jQuery.grep(files, function(f) { return f.mime == 'directory' ? true : false ; }).length; if (!dcnt) { size = 0; jQuery.each(files, function(h, f) { var s = parseInt(f.size); if (s >= 0 && size >= 0) { size += s; } else { size = 'unknown'; } }); content.push(row.replace(l, msg.kind).replace(v, msg.files)); !hideItems.size && content.push(row.replace(l, msg.size).replace(v, fm.formatSize(size))); } else { rdcnt = jQuery.grep(files, function(f) { return f.mime === 'directory' && (! f.phash || f.isroot)? true : false ; }).length; dcnt -= rdcnt; content.push(row.replace(l, msg.kind).replace(v, (rdcnt === cnt || dcnt === cnt)? msg[rdcnt? 'roots' : 'folders'] : jQuery.map({roots: rdcnt, folders: dcnt, files: cnt - rdcnt - dcnt}, function(c, t) { return c? msg[t]+' '+c : null; }).join(', '))); !hideItems.size && content.push(row.replace(l, msg.size).replace(v, tpl.spinner.replace('{text}', msg.calc).replace('{name}', 'size'))); count = jQuery.map(files, function(f) { return f.hash; }); } } view = view.replace('{title}', title).replace('{content}', content.join('').replace(/{class}/g, '')); dialog = self.fmDialog(view, opts); dialog.attr('id', id).one('mousedown', '.elfinder-info-path', function() { jQuery(this).html(applyZWSP(jQuery(this).html(), true)); }); if (getHashAlgorisms.length) { hashProg.appendTo(dialog.find('.'+spclass+'-'+getHashAlgorisms[0]).parent()); } if (fm.UA.Mobile && jQuery.fn.tooltip) { dialog.children('.ui-dialog-content .elfinder-info-title').tooltip({ classes: { 'ui-tooltip': 'elfinder-ui-tooltip ui-widget-shadow' }, tooltipClass: 'elfinder-ui-tooltip ui-widget-shadow', track: true }); } if (file && file.url == '1') { dialog.on('click', '.'+spclass+'-url', function(){ jQuery(this).parent().html(tpl.spinner.replace('{text}', fm.i18n('ntfurl')).replace('{name}', 'url')); fm.request({ data : {cmd : 'url', target : file.hash}, preventDefault : true }) .fail(function() { replSpinner(name_esc, 'url'); }) .done(function(data) { if (data.url) { replSpinner(''+name_esc+'' || name_esc, 'url'); var rfile = fm.file(file.hash); rfile.url = data.url; } else { replSpinner(name_esc, 'url'); } }); }); } // load thumbnail if (tmb) { jQuery('') .on('load', function() { dialog.find('.elfinder-cwd-icon').addClass(tmb.className).css('background-image', "url('"+tmb.url+"')"); }) .attr('src', tmb.url); } // send request to count total size if (count.length) { reqDfrd = fm.getSize(count).done(function(data) { replSpinner(data.formated, 'size'); }).fail(function() { replSpinner(msg.unknown, 'size'); }); } // call custom actions if (customActions.length) { jQuery.each(customActions, function(i, action) { try { action(file, fm, dialog); } catch(e) { fm.debug('error', e); } }); } return jQuery.Deferred().resolve(); }; }).prototype = { forceLoad : true }; // this is required command wp-file-manager/lib/js/commands/mkdir.js000064400000005016151202472330014147 0ustar00/** * @class elFinder command "mkdir" * Create new folder * * @author Dmitry (dio) Levashov **/ elFinder.prototype.commands.mkdir = function() { "use strict"; var fm = this.fm, self = this, curOrg; this.value = ''; this.disableOnSearch = true; this.updateOnSelect = false; this.syncTitleOnChange = true; this.mime = 'directory'; this.prefix = 'untitled folder'; this.exec = function(select, cOpts) { var onCwd; if (select && select.length && cOpts && cOpts._currentType && cOpts._currentType === 'navbar') { this.origin = cOpts._currentType; this.data = { target: select[0] }; } else { onCwd = fm.cwd().hash === select[0]; this.origin = curOrg && !onCwd? curOrg : 'cwd'; delete this.data; } if (! select && ! this.options.intoNewFolderToolbtn) { fm.getUI('cwd').trigger('unselectall'); } //this.move = (!onCwd && curOrg !== 'navbar' && fm.selected().length)? true : false; this.move = this.value === fm.i18n('cmdmkdirin'); return jQuery.proxy(fm.res('mixin', 'make'), self)(); }; this.shortcuts = [{ pattern : 'ctrl+shift+n' }]; this.init = function() { if (this.options.intoNewFolderToolbtn) { this.syncTitleOnChange = true; } }; fm.bind('select contextmenucreate closecontextmenu', function(e) { var sel = (e.data? (e.data.selected || e.data.targets) : null) || fm.selected(); self.className = 'mkdir'; curOrg = e.data && sel.length? (e.data.origin || e.data.type || '') : ''; if (!self.options.intoNewFolderToolbtn && curOrg === '') { curOrg = 'cwd'; } if (sel.length && curOrg !== 'navbar' && curOrg !== 'cwd' && fm.cwd().hash !== sel[0]) { self.title = fm.i18n('cmdmkdirin'); self.className += ' elfinder-button-icon-mkdirin'; } else { self.title = fm.i18n('cmdmkdir'); } if (e.type !== 'closecontextmenu') { self.update(void(0), self.title); } else { requestAnimationFrame(function() { self.update(void(0), self.title); }); } }); this.getstate = function(select) { var cwd = fm.cwd(), sel = (curOrg === 'navbar' || (select && select[0] !== cwd.hash))? this.files(select || fm.selected()) : [], cnt = sel.length, filter = function(files) { var fres = true; return jQuery.grep(files, function(f) { fres = fres && f.read && ! f.locked? true : false; return fres; }); }; if (curOrg === 'navbar') { return cnt && sel[0].write && sel[0].read? 0 : -1; } else { return cwd.write && (!cnt || filter(sel).length == cnt)? 0 : -1; } }; }; wp-file-manager/lib/js/commands/mkfile.js000064400000003213151202472330014305 0ustar00/** * @class elFinder command "mkfile" * Create new empty file * * @author Dmitry (dio) Levashov **/ elFinder.prototype.commands.mkfile = function() { "use strict"; var self = this; this.disableOnSearch = true; this.updateOnSelect = false; this.mime = 'text/plain'; this.prefix = 'untitled file.txt'; this.variants = []; this.getTypeName = function(mime, type) { var fm = self.fm, name; if (name = fm.messages['kind' + fm.kinds[mime]]) { name = fm.i18n(['extentiontype', type.toUpperCase(), name]); } else { name = fm.i18n(['extentionfile', type.toUpperCase()]); } return name; }; this.fm.bind('open reload canMakeEmptyFile', function() { var fm = self.fm, hides = fm.getCommand('edit').getMkfileHides(); self.variants = []; if (fm.mimesCanMakeEmpty) { jQuery.each(fm.mimesCanMakeEmpty, function(mime, type) { type && !hides[mime] && fm.uploadMimeCheck(mime) && self.variants.push([mime, self.getTypeName(mime, type)]); }); } self.change(); }); this.getstate = function() { return this.fm.cwd().write ? 0 : -1; }; this.exec = function(_dum, mime) { var fm = self.fm, type, err; if (type = fm.mimesCanMakeEmpty[mime]) { if (fm.uploadMimeCheck(mime)) { this.mime = mime; this.prefix = fm.i18n(['untitled file', type]); var prefix_val = this.prefix; if(prefix_val.includes("untitled file")){ prefix_val.replace("untitled file", "NewFile"); this.prefix = prefix_val; } return jQuery.proxy(fm.res('mixin', 'make'), self)(); } err = ['errMkfile', self.getTypeName(mime, type)]; } return jQuery.Deferred().reject(err); }; }; wp-file-manager/lib/js/commands/netmount.js000064400000024671151202472330014722 0ustar00/** * @class elFinder command "netmount" * Mount network volume with user credentials. * * @author Dmitry (dio) Levashov **/ elFinder.prototype.commands.netmount = function() { "use strict"; var self = this, hasMenus = false, content; this.alwaysEnabled = true; this.updateOnSelect = false; this.drivers = []; this.handlers = { load : function() { this.button.hide(); var fm = self.fm; if (fm.cookieEnabled) { fm.one('open', function() { self.drivers = fm.netDrivers; if (self.drivers.length) { jQuery.each(self.drivers, function() { var d = self.options[this]; if (d) { hasMenus = true; if (d.integrateInfo) { fm.trigger('helpIntegration', Object.assign({cmd: 'netmount'}, d.integrateInfo)); } } }); } }); } } }; this.getstate = function() { return hasMenus ? 0 : -1; }; this.exec = function() { var fm = self.fm, dfrd = jQuery.Deferred(), o = self.options, create = function() { var winFocus = function() { inputs.protocol.trigger('change', 'winfocus'); }, inputs = { protocol : jQuery('') .on('change', function(e, data){ var protocol = this.value; content.find('.elfinder-netmount-tr').hide(); content.find('.elfinder-netmount-tr-'+protocol).show(); dialogNode && dialogNode.children('.ui-dialog-buttonpane:first').find('button').show(); if (typeof o[protocol].select == 'function') { o[protocol].select(fm, e, data); } }) .addClass('ui-corner-all') }, opts = { title : fm.i18n('netMountDialogTitle'), resizable : true, modal : true, destroyOnClose : false, open : function() { jQuery(window).on('focus.'+fm.namespace, winFocus); inputs.protocol.trigger('change'); }, close : function() { dfrd.state() == 'pending' && dfrd.reject(); jQuery(window).off('focus.'+fm.namespace, winFocus); }, buttons : {} }, doMount = function() { var protocol = inputs.protocol.val(), data = {cmd : 'netmount', protocol: protocol}, cur = o[protocol], mnt2res; jQuery.each(content.find('input.elfinder-netmount-inputs-'+protocol), function(name, input) { var val, elm; elm = jQuery(input); if (elm.is(':radio,:checkbox')) { if (elm.is(':checked')) { val = jQuery.trim(elm.val()); } } else { val = jQuery.trim(elm.val()); } if (val) { data[input.name] = val; } }); if (!data.host) { return fm.trigger('error', {error : 'errNetMountHostReq', opts : {modal: true}}); } if (data.mnt2res) { mnt2res = true; } fm.request({data : data, notify : {type : 'netmount', cnt : 1, hideCnt : true}}) .done(function(data) { var pdir; if (data.added && data.added.length) { mnt2res && inputs.protocol.trigger('change', 'reset'); if (data.added[0].phash) { if (pdir = fm.file(data.added[0].phash)) { if (! pdir.dirs) { pdir.dirs = 1; fm.change({ changed: [ pdir ] }); } } } fm.one('netmountdone', function() { fm.exec('open', data.added[0].hash); }); } dfrd.resolve(); }) .fail(function(error) { if (cur.fail && typeof cur.fail == 'function') { cur.fail(fm, fm.parseError(error)); } dfrd.reject(error); }); self.dialog.elfinderdialog('close'); }, form = jQuery('
                ').on('keydown', 'input', function(e) { var comp = true, next; if (e.keyCode === jQuery.ui.keyCode.ENTER) { jQuery.each(form.find('input:visible:not(.elfinder-input-optional)'), function() { if (jQuery(this).val() === '') { comp = false; next = jQuery(this); return false; } }); if (comp) { doMount(); } else { next.trigger('focus'); } } }), hidden = jQuery('
                '), dialog; content = jQuery('
                ') .append(jQuery('').append(jQuery(''+fm.i18n('protocol')+'')).append(jQuery('').append(inputs.protocol))); jQuery.each(self.drivers, function(i, protocol) { if (o[protocol]) { inputs.protocol.append(''); jQuery.each(o[protocol].inputs, function(name, input) { input.attr('name', name); if (input.attr('type') != 'hidden') { input.addClass('ui-corner-all elfinder-netmount-inputs-'+protocol); content.append(jQuery('').addClass('elfinder-netmount-tr elfinder-netmount-tr-'+protocol).append(jQuery(''+fm.i18n(name)+'')).append(jQuery('').append(input))); } else { input.addClass('elfinder-netmount-inputs-'+protocol); hidden.append(input); } }); o[protocol].protocol = inputs.protocol; } }); content.append(hidden); content.find('.elfinder-netmount-tr').hide(); content.find('.elfinder-netmount-tr-' + self.drivers[0]).show(); opts.buttons[fm.i18n('btnMount')] = doMount; opts.buttons[fm.i18n('btnCancel')] = function() { self.dialog.elfinderdialog('close'); }; content.find('select,input').addClass('elfinder-tabstop'); dialog = self.fmDialog(form.append(content), opts).ready(function() { inputs.protocol.trigger('change'); dialog.elfinderdialog('posInit'); }); dialogNode = dialog.closest('.ui-dialog'); return dialog; }, dialogNode; if (!self.dialog) { self.dialog = create(); } else { self.dialog.elfinderdialog('open'); } return dfrd.promise(); }; self.fm.bind('netmount', function(e) { var d = e.data || null, o = self.options, done = function() { if (o[d.protocol] && typeof o[d.protocol].done == 'function') { o[d.protocol].done(self.fm, d); content.find('select,input').addClass('elfinder-tabstop'); self.dialog.elfinderdialog('tabstopsInit'); } }; if (d && d.protocol) { if (d.mode && d.mode === 'redirect') { // To support of third-party cookie blocking (ITP) on CORS // On iOS and iPadOS 13.4 and Safari 13.1 on macOS, the session cannot be continued when redirecting OAuth in CORS mode self.fm.request({ data : {cmd : 'netmount', protocol : d.protocol, host: d.host, user : 'init', pass : 'return', options: d.options}, preventDefault : true }).done(function(data) { d = JSON.parse(data.body); done(); }); } else { done(); } } }); }; elFinder.prototype.commands.netunmount = function() { var self = this; this.alwaysEnabled = true; this.updateOnSelect = false; this.drivers = []; this.handlers = { load : function() { this.drivers = this.fm.netDrivers; } }; this.getstate = function(sel) { var fm = this.fm, file; return !!sel && this.drivers.length && !this._disabled && (file = fm.file(sel[0])) && file.netkey ? 0 : -1; }; this.exec = function(hashes) { var self = this, fm = this.fm, dfrd = jQuery.Deferred() .fail(function(error) { error && fm.error(error); }), drive = fm.file(hashes[0]), childrenRoots = function(hash) { var roots = [], work; if (fm.leafRoots) { work = []; jQuery.each(fm.leafRoots, function(phash, hashes) { var parents = fm.parents(phash), idx, deep; if ((idx = jQuery.inArray(hash, parents)) !== -1) { idx = parents.length - idx; jQuery.each(hashes, function(i, h) { work.push({i: idx, hash: h}); }); } }); if (work.length) { work.sort(function(a, b) { return a.i < b.i; }); jQuery.each(work, function(i, o) { roots.push(o.hash); }); } } return roots; }; if (this._disabled) { return dfrd.reject(); } if (dfrd.state() == 'pending') { fm.confirm({ title : self.title, text : fm.i18n('confirmUnmount', drive.name), accept : { label : 'btnUnmount', callback : function() { var target = drive.hash, roots = childrenRoots(target), requests = [], removed = [], doUmount = function() { jQuery.when(requests).done(function() { fm.request({ data : {cmd : 'netmount', protocol : 'netunmount', host: drive.netkey, user : target, pass : 'dum'}, notify : {type : 'netunmount', cnt : 1, hideCnt : true}, preventFail : true }) .fail(function(error) { dfrd.reject(error); }) .done(function(data) { drive.volumeid && delete fm.volumeExpires[drive.volumeid]; dfrd.resolve(); }); }).fail(function(error) { if (removed.length) { fm.remove({ removed: removed }); } dfrd.reject(error); }); }; if (roots.length) { fm.confirm({ title : self.title, text : (function() { var msgs = ['unmountChildren']; jQuery.each(roots, function(i, hash) { msgs.push([fm.file(hash).name]); }); return msgs; })(), accept : { label : 'btnUnmount', callback : function() { jQuery.each(roots, function(i, hash) { var d = fm.file(hash); if (d.netkey) { requests.push(fm.request({ data : {cmd : 'netmount', protocol : 'netunmount', host: d.netkey, user : d.hash, pass : 'dum'}, notify : {type : 'netunmount', cnt : 1, hideCnt : true}, preventDefault : true }).done(function(data) { if (data.removed) { d.volumeid && delete fm.volumeExpires[d.volumeid]; removed = removed.concat(data.removed); } })); } }); doUmount(); } }, cancel : { label : 'btnCancel', callback : function() { dfrd.reject(); } } }); } else { requests = null; doUmount(); } } }, cancel : { label : 'btnCancel', callback : function() { dfrd.reject(); } } }); } return dfrd; }; }; wp-file-manager/lib/js/commands/opendir.js000064400000001566151202472330014507 0ustar00/** * @class elFinder command "opendir" * Enter parent folder * * @author Naoki Sawada **/ elFinder.prototype.commands.opendir = function() { "use strict"; this.alwaysEnabled = true; this.getstate = function() { var sel = this.fm.selected(), cnt = sel.length, wz; if (cnt !== 1) { return -1; } wz = this.fm.getUI('workzone'); return wz.hasClass('elfinder-search-result')? 0 : -1; }; this.exec = function(hashes) { var fm = this.fm, dfrd = jQuery.Deferred(), files = this.files(hashes), cnt = files.length, hash, pcheck = null; if (!cnt || !files[0].phash) { return dfrd.reject(); } hash = files[0].phash; fm.trigger('searchend', { noupdate: true }); fm.request({ data : {cmd : 'open', target : hash}, notify : {type : 'open', cnt : 1, hideCnt : true}, syncOnFail : false }); return dfrd; }; }; wp-file-manager/lib/js/commands/open.js000064400000015443151202472330014007 0ustar00/** * @class elFinder command "open" * Enter folder or open files in new windows * * @author Dmitry (dio) Levashov **/ (elFinder.prototype.commands.open = function() { "use strict"; var fm = this.fm, self = this; this.alwaysEnabled = true; this.noChangeDirOnRemovedCwd = true; this._handlers = { dblclick : function(e) { var arg = e.data && e.data.file? [ e.data.file ]: void(0); if (self.getstate(arg) === 0) { e.preventDefault(); fm.exec('open', arg); } }, 'select enable disable reload' : function(e) { this.update(e.type == 'disable' ? -1 : void(0)); } }; this.shortcuts = [{ pattern : 'ctrl+down numpad_enter'+(fm.OS != 'mac' && ' enter') }]; this.getstate = function(select) { var sel = this.files(select), cnt = sel.length, filter = function(files) { var fres = true; return jQuery.grep(files, function(file) { fres = fres && file.mime == 'directory' || ! file.read ? false : true; return fres; }); }; return cnt == 1 ? (sel[0].read ? 0 : -1) : (cnt && !fm.UA.Mobile) ? (jQuery.grep(sel, function(file) { return file.mime == 'directory' || ! file.read ? false : true;}).length == cnt ? 0 : -1) : -1; }; this.exec = function(hashes, cOpts) { var dfrd = jQuery.Deferred().fail(function(error) { error && fm.error(error); }), files = this.files(hashes), cnt = files.length, thash = (typeof cOpts == 'object')? cOpts.thash : false, opts = this.options, into = opts.into || 'window', file, url, s, w, imgW, imgH, winW, winH, reg, link, html5dl, inline, selAct, cmd; if (!cnt && !thash) { { return dfrd.reject(); } } // open folder if (thash || (cnt == 1 && (file = files[0]) && file.mime == 'directory')) { if (!thash && file && !file.read) { return dfrd.reject(['errOpen', file.name, 'errPerm']); } else { if (fm.keyState.ctrlKey && (fm.keyState.shiftKey || typeof fm.options.getFileCallback !== 'function')) { if (fm.getCommand('opennew')) { return fm.exec('opennew', [thash? thash : file.hash]); } } return fm.request({ data : {cmd : 'open', target : thash || file.hash}, notify : {type : 'open', cnt : 1, hideCnt : true}, syncOnFail : true, lazy : false }); } } files = jQuery.grep(files, function(file) { return file.mime != 'directory' ? true : false; }); // nothing to open or files and folders selected - do nothing if (cnt != files.length) { return dfrd.reject(); } var doOpen = function() { var openCB = function(url) { var link = jQuery('').hide().appendTo(jQuery('body')); if (fm.UA.Mobile || !inline) { if (html5dl) { if (!inline) { link.attr('download', file.name); } else { link.attr('target', '_blank'); } link.attr('href', url).get(0).click(); } else { wnd = window.open(url); if (!wnd) { return dfrd.reject('errPopup'); } } } else { getOnly = (typeof opts.method === 'string' && opts.method.toLowerCase() === 'get'); if (!getOnly && url.indexOf(fm.options.url) === 0 && fm.customData && Object.keys(fm.customData).length // Since playback by POST request can not be done in Chrome, media allows GET request && !file.mime.match(/^(?:video|audio)/) ) { // Send request as 'POST' method to hide custom data at location bar url = ''; } if (into === 'window') { // set window size for image if set imgW = winW = Math.round(2 * screen.availWidth / 3); imgH = winH = Math.round(2 * screen.availHeight / 3); if (parseInt(file.width) && parseInt(file.height)) { imgW = parseInt(file.width); imgH = parseInt(file.height); } else if (file.dim) { s = file.dim.split('x'); imgW = parseInt(s[0]); imgH = parseInt(s[1]); } if (winW >= imgW && winH >= imgH) { winW = imgW; winH = imgH; } else { if ((imgW - winW) > (imgH - winH)) { winH = Math.round(imgH * (winW / imgW)); } else { winW = Math.round(imgW * (winH / imgH)); } } w = 'width='+winW+',height='+winH; wnd = window.open(url, target, w + ',top=50,left=50,scrollbars=yes,resizable=yes,titlebar=no'); } else { if (into === 'tabs') { target = file.hash; } wnd = window.open('about:blank', target); } if (!wnd) { return dfrd.reject('errPopup'); } if (url === '') { var form = document.createElement("form"); form.action = fm.options.url; form.method = 'POST'; form.target = target; form.style.display = 'none'; var params = Object.assign({}, fm.customData, { cmd: 'file', target: file.hash, _t: file.ts || parseInt(+new Date()/1000) }); jQuery.each(params, function(key, val) { var input = document.createElement("input"); input.name = key; input.value = val; form.appendChild(input); }); document.body.appendChild(form); form.submit(); } else if (into !== 'window') { wnd.location = url; } jQuery(wnd).trigger('focus'); } link.remove(); }, wnd, target, getOnly; try { reg = new RegExp(fm.option('dispInlineRegex'), 'i'); } catch(e) { reg = false; } // open files html5dl = (typeof jQuery('').get(0).download === 'string'); cnt = files.length; while (cnt--) { target = 'elf_open_window'; file = files[cnt]; if (!file.read) { return dfrd.reject(['errOpen', file.name, 'errPerm']); } inline = (reg && file.mime.match(reg)); fm.openUrl(file.hash, !inline, openCB); } return dfrd.resolve(hashes); }; if (cnt > 1) { fm.confirm({ title: 'openMulti', text : ['openMultiConfirm', cnt + ''], accept : { label : 'cmdopen', callback : function() { doOpen(); } }, cancel : { label : 'btnCancel', callback : function() { dfrd.reject(); } }, buttons : (fm.getCommand('zipdl') && fm.isCommandEnabled('zipdl', fm.cwd().hash))? [ { label : 'cmddownload', callback : function() { fm.exec('download', hashes); dfrd.reject(); } } ] : [] }); } else { selAct = fm.storage('selectAction') || opts.selectAction; if (selAct) { jQuery.each(selAct.split('/'), function() { var cmdName = this.valueOf(); if (cmdName !== 'open' && (cmd = fm.getCommand(cmdName)) && cmd.enabled()) { return false; } cmd = null; }); if (cmd) { return fm.exec(cmd.name); } } doOpen(); } return dfrd; }; }).prototype = { forceLoad : true }; // this is required commandwp-file-manager/lib/js/commands/opennew.js000064400000002332151202472330014512 0ustar00/** * @class elFinder command "opennew" * Open folder in new window * * @author Naoki Sawada **/ elFinder.prototype.commands.opennew = function() { "use strict"; var fm = this.fm; this.shortcuts = [{ pattern : (typeof(fm.options.getFileCallback) === 'function'? 'shift+' : '') + 'ctrl+enter' }]; this.getstate = function(select) { var sel = this.files(select), cnt = sel.length; return cnt === 1 ? (sel[0].mime === 'directory' && sel[0].read? 0 : -1) : -1; }; this.exec = function(hashes) { var dfrd = jQuery.Deferred(), files = this.files(hashes), cnt = files.length, opts = this.options, file, loc, url, win; // open folder to new tab (window) if (cnt === 1 && (file = files[0]) && file.mime === 'directory') { loc = window.location; if (opts.url) { url = opts.url; } else { url = loc.pathname; } if (opts.useOriginQuery) { if (!url.match(/\?/)) { url += loc.search; } else if (loc.search) { url += '&' + loc.search.substr(1); } } url += '#elf_' + file.hash; win = window.open(url, '_blank'); setTimeout(function() { win.focus(); }, 1000); return dfrd.resolve(); } else { return dfrd.reject(); } }; }; wp-file-manager/lib/js/commands/paste.js000064400000024253151202472330014161 0ustar00/** * @class elFinder command "paste" * Paste filesfrom clipboard into directory. * If files pasted in its parent directory - files duplicates will created * * @author Dmitry (dio) Levashov **/ elFinder.prototype.commands.paste = function() { "use strict"; this.updateOnSelect = false; this.handlers = { changeclipboard : function() { this.update(); } }; this.shortcuts = [{ pattern : 'ctrl+v shift+insert' }]; this.getstate = function(dst) { if (this._disabled) { return -1; } if (dst) { if (Array.isArray(dst)) { if (dst.length != 1) { return -1; } dst = this.fm.file(dst[0]); } } else { dst = this.fm.cwd(); } return this.fm.clipboard().length && dst.mime == 'directory' && dst.write ? 0 : -1; }; this.exec = function(select, cOpts) { var self = this, fm = self.fm, opts = cOpts || {}, dst = select ? this.files(select)[0] : fm.cwd(), files = fm.clipboard(), cnt = files.length, cut = cnt ? files[0].cut : false, cmd = opts._cmd? opts._cmd : (cut? 'move' : 'copy'), error = 'err' + cmd.charAt(0).toUpperCase() + cmd.substr(1), fpaste = [], fcopy = [], dfrd = jQuery.Deferred() .fail(function(error) { error && fm.error(error); }) .always(function() { fm.unlockfiles({files : jQuery.map(files, function(f) { return f.hash; })}); }), copy = function(files) { return files.length && fm._commands.duplicate ? fm.exec('duplicate', files) : jQuery.Deferred().resolve(); }, paste = function(files) { var dfrd = jQuery.Deferred(), existed = [], hashes = {}, intersect = function(files, names) { var ret = [], i = files.length; while (i--) { jQuery.inArray(files[i].name, names) !== -1 && ret.unshift(i); } return ret; }, confirm = function(ndx) { var i = existed[ndx], file = files[i], last = ndx == existed.length-1; if (!file) { return; } fm.confirm({ title : fm.i18n(cmd + 'Files'), text : ['errExists', file.name, cmd === 'restore'? 'confirmRest' : 'confirmRepl'], all : !last, accept : { label : 'btnYes', callback : function(all) { !last && !all ? confirm(++ndx) : paste(files); } }, reject : { label : 'btnNo', callback : function(all) { var i; if (all) { i = existed.length; while (ndx < i--) { files[existed[i]].remove = true; } } else { files[existed[ndx]].remove = true; } !last && !all ? confirm(++ndx) : paste(files); } }, cancel : { label : 'btnCancel', callback : function() { dfrd.resolve(); } }, buttons : [ { label : 'btnBackup', callback : function(all) { var i; if (all) { i = existed.length; while (ndx < i--) { files[existed[i]].rename = true; } } else { files[existed[ndx]].rename = true; } !last && !all ? confirm(++ndx) : paste(files); } } ] }); }, valid = function(names) { var exists = {}, existedArr; if (names) { if (Array.isArray(names)) { if (names.length) { if (typeof names[0] == 'string') { // elFinder <= 2.1.6 command `is` results existed = intersect(files, names); } else { jQuery.each(names, function(i, v) { exists[v.name] = v.hash; }); existed = intersect(files, jQuery.map(exists, function(h, n) { return n; })); jQuery.each(files, function(i, file) { if (exists[file.name]) { hashes[exists[file.name]] = file.name; } }); } } } else { existedArr = []; existed = jQuery.map(names, function(n) { if (typeof n === 'string') { return n; } else { // support to >=2.1.11 plugin Normalizer, Sanitizer existedArr = existedArr.concat(n); return false; } }); if (existedArr.length) { existed = existed.concat(existedArr); } existed = intersect(files, existed); hashes = names; } } existed.length ? confirm(0) : paste(files); }, paste = function(selFiles) { var renames = [], files = jQuery.grep(selFiles, function(file) { if (file.rename) { renames.push(file.name); } return !file.remove ? true : false; }), cnt = files.length, groups = {}, args = [], targets, reqData; if (!cnt) { return dfrd.resolve(); } targets = jQuery.map(files, function(f) { return f.hash; }); reqData = {cmd : 'paste', dst : dst.hash, targets : targets, cut : cut ? 1 : 0, renames : renames, hashes : hashes, suffix : fm.options.backupSuffix}; if (fm.api < 2.1) { reqData.src = files[0].phash; } fm.request({ data : reqData, notify : {type : cmd, cnt : cnt}, cancel : true, navigate : { toast : opts.noToast? {} : { inbuffer : {msg: fm.i18n(['complete', fm.i18n('cmd' + cmd)]), action: { cmd: 'open', msg: 'cmdopendir', data: [dst.hash], done: 'select', cwdNot: dst.hash }} } } }) .done(function(data) { var dsts = {}, added = data.added && data.added.length? data.added : null; if (cut && added) { // undo/redo jQuery.each(files, function(i, f) { var phash = f.phash, srcHash = function(name) { var hash; jQuery.each(added, function(i, f) { if (f.name === name) { hash = f.hash; return false; } }); return hash; }, shash = srcHash(f.name); if (shash) { if (dsts[phash]) { dsts[phash].push(shash); } else { dsts[phash] = [ shash ]; } } }); if (Object.keys(dsts).length) { data.undo = { cmd : 'move', callback : function() { var reqs = []; jQuery.each(dsts, function(dst, targets) { reqs.push(fm.request({ data : {cmd : 'paste', dst : dst, targets : targets, cut : 1}, notify : {type : 'undo', cnt : targets.length} })); }); return jQuery.when.apply(null, reqs); } }; data.redo = { cmd : 'move', callback : function() { return fm.request({ data : reqData, notify : {type : 'redo', cnt : cnt} }); } }; } } dfrd.resolve(data); }) .fail(function(flg) { dfrd.reject(); if (flg === 0) { // canceling fm.sync(); } }) .always(function() { fm.unlockfiles({files : files}); }); }, internames; if (!fm.isCommandEnabled(self.name, dst.hash) || !files.length) { return dfrd.resolve(); } if (fm.oldAPI) { paste(files); } else { if (!fm.option('copyOverwrite', dst.hash)) { paste(files); } else { internames = jQuery.map(files, function(f) { return f.name; }); dst.hash == fm.cwd().hash ? valid(jQuery.map(fm.files(), function(file) { return file.phash == dst.hash ? {hash: file.hash, name: file.name} : null; })) : fm.request({ data : {cmd : 'ls', target : dst.hash, intersect : internames}, notify : {type : 'prepare', cnt : 1, hideCnt : true}, preventFail : true }) .always(function(data) { valid(data.list); }); } } return dfrd; }, parents, fparents, cutDfrd; if (!cnt || !dst || dst.mime != 'directory') { return dfrd.reject(); } if (!dst.write) { return dfrd.reject([error, files[0].name, 'errPerm']); } parents = fm.parents(dst.hash); jQuery.each(files, function(i, file) { if (!file.read) { return !dfrd.reject([error, file.name, 'errPerm']); } if (cut && file.locked) { return !dfrd.reject(['errLocked', file.name]); } if (jQuery.inArray(file.hash, parents) !== -1) { return !dfrd.reject(['errCopyInItself', file.name]); } if (file.mime && file.mime !== 'directory' && ! fm.uploadMimeCheck(file.mime, dst.hash)) { return !dfrd.reject([error, file.name, 'errUploadMime']); } fparents = fm.parents(file.hash); fparents.pop(); if (jQuery.inArray(dst.hash, fparents) !== -1) { if (jQuery.grep(fparents, function(h) { var d = fm.file(h); return d.phash == dst.hash && d.name == file.name ? true : false; }).length) { return !dfrd.reject(['errReplByChild', file.name]); } } if (file.phash == dst.hash) { fcopy.push(file.hash); } else { fpaste.push({ hash : file.hash, phash : file.phash, name : file.name }); } }); if (dfrd.state() === 'rejected') { return dfrd; } cutDfrd = jQuery.Deferred(); if (cut && self.options.moveConfirm) { fm.confirm({ title : 'moveFiles', text : fm.i18n('confirmMove', dst.i18 || dst.name), accept : { label : 'btnYes', callback : function() { cutDfrd.resolve(); } }, cancel : { label : 'btnCancel', callback : function() { cutDfrd.reject(); } } }); } else { cutDfrd.resolve(); } cutDfrd.done(function() { jQuery.when( copy(fcopy), paste(fpaste) ) .done(function(cr, pr) { dfrd.resolve(pr && pr.undo? pr : void(0)); }) .fail(function() { dfrd.reject(); }) .always(function() { cut && fm.clipboard([]); }); }).fail(function() { dfrd.reject(); }); return dfrd; }; }; wp-file-manager/lib/js/commands/places.js000064400000001405151202472330014306 0ustar00/** * @class elFinder command "places" * Regist to Places * * @author Naoki Sawada **/ elFinder.prototype.commands.places = function() { "use strict"; var self = this, fm = this.fm, filter = function(hashes) { var fres = true; return jQuery.grep(self.files(hashes), function(f) { fres = fres && f.mime == 'directory' ? true : false; return fres; }); }, places = null; this.getstate = function(select) { var sel = this.hashes(select), cnt = sel.length; return places && cnt && cnt == filter(sel).length ? 0 : -1; }; this.exec = function(hashes) { var files = this.files(hashes); places.trigger('regist', [ files ]); return jQuery.Deferred().resolve(); }; fm.one('load', function(){ places = fm.ui.places; }); }; wp-file-manager/lib/js/commands/preference.js000064400000052570151202472330015166 0ustar00/** * @class elFinder command "preference" * "Preference" dialog * * @author Naoki Sawada **/ elFinder.prototype.commands.preference = function() { var self = this, fm = this.fm, r = 'replace', tab = '
              • {title}
              • ', base = jQuery('
                '), ul = jQuery('
                  '), tabs = jQuery('
                  '), sep = '
                  ', selfUrl = jQuery('base').length? document.location.href.replace(/#.*$/, '') : '', selectTab = function(tab) { jQuery('#'+fm.namespace+'-preference-tab-'+tab).trigger('mouseover').trigger('click'); openTab = tab; }, clTabActive = fm.res('class', 'tabsactive'), build = function() { var cats = self.options.categories || { 'language' : ['language'], 'theme' : ['theme'], 'toolbar' : ['toolbarPref'], 'workspace' : ['iconSize','columnPref', 'selectAction', 'makefileTypes', 'useStoredEditor', 'editorMaximized', 'useFullscreen', 'showHidden'], 'dialog' : ['autoFocusDialog'], 'selectionInfo' : ['infoItems', 'hashChecker'], 'reset' : ['clearBrowserData'], 'all' : true }, forms = self.options.prefs || ['language', 'theme', 'toolbarPref', 'iconSize', 'columnPref', 'selectAction', 'makefileTypes', 'useStoredEditor', 'editorMaximized', 'useFullscreen', 'showHidden', 'infoItems', 'hashChecker', 'autoFocusDialog', 'clearBrowserData']; if (!fm.cookieEnabled) { delete cats.language; } forms = fm.arrayFlip(forms, true); if (fm.options.getFileCallback) { delete forms.selectAction; } if (!fm.UA.Fullscreen) { delete forms.useFullscreen; } forms.language && (forms.language = (function() { var langSel = jQuery('').on('change', function() { var lang = jQuery(this).val(); fm.storage('lang', lang); jQuery('#'+fm.id).elfinder('reload'); }), optTags = [], langs = self.options.langs || { ar: 'العربية', bg: 'Български', ca: 'Català', cs: 'Čeština', da: 'Dansk', de: 'Deutsch', el: 'Ελληνικά', en: 'English', es: 'Español', fa: 'فارسی', fo: 'Føroyskt', fr: 'Français', fr_CA: 'Français (Canada)', he: 'עברית', hr: 'Hrvatski', hu: 'Magyar', id: 'Bahasa Indonesia', it: 'Italiano', ja: '日本語', ko: '한국어', nl: 'Nederlands', no: 'Norsk', //pl: 'Polski', pt_BR: 'Português', ro: 'Română', ru: 'Pусский', si: 'සිංහල', sk: 'Slovenčina', sl: 'Slovenščina', sr: 'Srpski', sv: 'Svenska', tr: 'Türkçe', ug_CN: 'ئۇيغۇرچە', uk: 'Український', vi: 'Tiếng Việt', zh_CN: '简体中文', zh_TW: '正體中文' }; if (!fm.cookieEnabled) { return jQuery(); } jQuery.each(langs, function(lang, name) { optTags.push(''); }); return langSel.append(optTags.join('')).val(fm.lang); })()); forms.theme && (forms.theme = (function() { var cnt = fm.options.themes? Object.keys(fm.options.themes).length : 0; if (cnt === 0 || (cnt === 1 && fm.options.themes.default)) { return null; } var themeSel = jQuery('').on('change', function() { var theme = jQuery(this).val(); fm.changeTheme(theme).storage('theme', theme); }), optTags = [], tpl = { image: '', link: '$2', data: '
                  $1
                  $2
                  ' }, items = ['image', 'description', 'author', 'email', 'license'], render = function(key, data) { }, defBtn = jQuery('').text(fm.i18n('default')).on('click', function(e) { themeSel.val('default').trigger('change'); }), list = jQuery('
                  ').on('click', 'button', function() { var val = jQuery(this).data('themeid'); themeSel.val(val).trigger('change'); }); if (!fm.options.themes.default) { themeSel.append(''); } jQuery.each(fm.options.themes, function(id, val) { var opt = jQuery(''), dsc = jQuery('
                  '+fm.i18n(id)+'
                  '), tm; themeSel.append(opt); list.append(dsc); tm = setTimeout(function() { dsc.find('span.elfinder-spinner').replaceWith(fm.i18n(['errRead', id])); }, 10000); fm.getTheme(id).always(function() { tm && clearTimeout(tm); }).done(function(data) { var link, val = jQuery(), dl = jQuery('
                  '); link = data.link? tpl.link.replace(/\$1/g, data.link).replace(/\$3/g, fm.i18n('website')) : '$2'; if (data.name) { opt.html(fm.i18n(data.name)); } dsc.children('legend').html(link.replace(/\$2/g, fm.i18n(data.name) || id)); jQuery.each(items, function(i, key) { var t = tpl[key] || tpl.data, elm; if (data[key]) { elm = t.replace(/\$0/g, fm.escape(key)).replace(/\$1/g, fm.i18n(key)).replace(/\$2/g, fm.i18n(data[key])); if (key === 'image' && data.link) { elm = jQuery(elm).on('click', function() { themeSel.val(id).trigger('change'); }).attr('title', fm.i18n('select')); } dl.append(elm); } }); val = val.add(dl); val = val.add(jQuery('
                  ').append(jQuery('').data('themeid', id).html(fm.i18n('select')))); dsc.find('span.elfinder-spinner').replaceWith(val); }).fail(function() { dsc.find('span.elfinder-spinner').replaceWith(fm.i18n(['errRead', id])); }); }); return jQuery('
                  ').append(themeSel.val(fm.theme && fm.theme.id? fm.theme.id : 'default'), defBtn, list); })()); forms.toolbarPref && (forms.toolbarPref = (function() { var pnls = jQuery.map(fm.options.uiOptions.toolbar, function(v) { return jQuery.isArray(v)? v : null; }), tags = [], hides = fm.storage('toolbarhides') || {}; jQuery.each(pnls, function() { var cmd = this, name = fm.i18n('cmd'+cmd); if (name === 'cmd'+cmd) { name = fm.i18n(cmd); } tags.push(''); }); return jQuery(tags.join(' ')).on('change', 'input', function() { var v = jQuery(this).val(), o = jQuery(this).is(':checked'); if (!o && !hides[v]) { hides[v] = true; } else if (o && hides[v]) { delete hides[v]; } fm.storage('toolbarhides', hides); fm.trigger('toolbarpref'); }); })()); forms.iconSize && (forms.iconSize = (function() { var max = fm.options.uiOptions.cwd.iconsView.sizeMax || 3, size = fm.storage('iconsize') || fm.options.uiOptions.cwd.iconsView.size || 0, sld = jQuery('
                  ').slider({ classes: { 'ui-slider-handle': 'elfinder-tabstop', }, value: size, max: max, slide: function(e, ui) { fm.getUI('cwd').trigger('iconpref', {size: ui.value}); }, change: function(e, ui) { fm.storage('iconsize', ui.value); } }); fm.getUI('cwd').on('iconpref', function(e, data) { sld.slider('option', 'value', data.size); }); return sld; })()); forms.columnPref && (forms.columnPref = (function() { var cols = fm.options.uiOptions.cwd.listView.columns, tags = [], hides = fm.storage('columnhides') || {}; jQuery.each(cols, function() { var key = this, name = fm.getColumnName(key); tags.push(''); }); return jQuery(tags.join(' ')).on('change', 'input', function() { var v = jQuery(this).val(), o = jQuery(this).is(':checked'); if (!o && !hides[v]) { hides[v] = true; } else if (o && hides[v]) { delete hides[v]; } fm.storage('columnhides', hides); fm.trigger('columnpref', { repaint: true }); }); })()); forms.selectAction && (forms.selectAction = (function() { var actSel = jQuery('').on('change', function() { var act = jQuery(this).val(); fm.storage('selectAction', act === 'default'? null : act); }), optTags = [], acts = self.options.selectActions, defAct = fm.getCommand('open').options.selectAction || 'open'; if (jQuery.inArray(defAct, acts) === -1) { acts.unshift(defAct); } jQuery.each(acts, function(i, act) { var names = jQuery.map(act.split('/'), function(cmd) { var name = fm.i18n('cmd'+cmd); if (name === 'cmd'+cmd) { name = fm.i18n(cmd); } return name; }); optTags.push(''); }); return actSel.append(optTags.join('')).val(fm.storage('selectAction') || defAct); })()); forms.makefileTypes && (forms.makefileTypes = (function() { var hides = fm.getCommand('edit').getMkfileHides(), getTag = function() { var tags = []; // re-assign hides hides = fm.getCommand('edit').getMkfileHides(); jQuery.each(fm.mimesCanMakeEmpty, function(mime, type) { var name = fm.getCommand('mkfile').getTypeName(mime, type); tags.push(''); }); return tags.join(' '); }, elm = jQuery('
                  ').on('change', 'input', function() { var v = jQuery(this).val(), o = jQuery(this).is(':checked'); if (!o && !hides[v]) { hides[v] = true; } else if (o && hides[v]) { delete hides[v]; } fm.storage('mkfileHides', hides); fm.trigger('canMakeEmptyFile'); }).append(getTag()), add = jQuery('
                  ').append( jQuery('').on('keydown', function(e) { (e.keyCode === jQuery.ui.keyCode.ENTER) && jQuery(this).next().trigger('click'); }), jQuery('').html(fm.i18n('add')).on('click', function() { var input = jQuery(this).prev(), val = input.val(), uiToast = fm.getUI('toast'), err = function() { uiToast.appendTo(input.closest('.ui-dialog')); fm.toast({ msg: fm.i18n('errUsupportType'), mode: 'warning', onHidden: function() { uiToast.children().length === 1 && uiToast.appendTo(fm.getUI()); } }); input.trigger('focus'); return false; }, tmpMimes; if (!val.match(/\//)) { val = fm.arrayFlip(fm.mimeTypes)[val]; if (!val) { return err(); } input.val(val); } if (!fm.mimeIsText(val) || !fm.mimeTypes[val]) { return err(); } fm.trigger('canMakeEmptyFile', {mimes: [val], unshift: true}); tmpMimes = {}; tmpMimes[val] = fm.mimeTypes[val]; fm.storage('mkfileTextMimes', Object.assign(tmpMimes, fm.storage('mkfileTextMimes') || {})); input.val(''); uiToast.appendTo(input.closest('.ui-dialog')); fm.toast({ msg: fm.i18n(['complete', val + ' (' + tmpMimes[val] + ')']), onHidden: function() { uiToast.children().length === 1 && uiToast.appendTo(fm.getUI()); } }); }), jQuery('').html(fm.i18n('reset')).on('click', function() { fm.one('canMakeEmptyFile', {done: function() { elm.empty().append(getTag()); }}); fm.trigger('canMakeEmptyFile', {resetTexts: true}); }) ), tm; fm.bind('canMakeEmptyFile', {done: function(e) { if (e.data && e.data.mimes && e.data.mimes.length) { elm.empty().append(getTag()); } }}); return jQuery('
                  ').append(elm, add); })()); forms.useStoredEditor && (forms.useStoredEditor = jQuery('').prop('checked', (function() { var s = fm.storage('useStoredEditor'); return s? (s > 0) : fm.options.commandsOptions.edit.useStoredEditor; })()).on('change', function(e) { fm.storage('useStoredEditor', jQuery(this).is(':checked')? 1 : -1); })); forms.editorMaximized && (forms.editorMaximized = jQuery('').prop('checked', (function() { var s = fm.storage('editorMaximized'); return s? (s > 0) : fm.options.commandsOptions.edit.editorMaximized; })()).on('change', function(e) { fm.storage('editorMaximized', jQuery(this).is(':checked')? 1 : -1); })); forms.useFullscreen && (forms.useFullscreen = jQuery('').prop('checked', (function() { var s = fm.storage('useFullscreen'); return s? (s > 0) : fm.options.commandsOptions.fullscreen.mode === 'screen'; })()).on('change', function(e) { fm.storage('useFullscreen', jQuery(this).is(':checked')? 1 : -1); })); if (forms.showHidden) { (function() { var setTitle = function() { var s = fm.storage('hide'), t = [], v; if (s && s.items) { jQuery.each(s.items, function(h, n) { t.push(fm.escape(n)); }); } elms.prop('disabled', !t.length)[t.length? 'removeClass' : 'addClass']('ui-state-disabled'); v = t.length? t.join('\n') : ''; forms.showHidden.attr('title',v); useTooltip && forms.showHidden.tooltip('option', 'content', v.replace(/\n/g, '
                  ')).tooltip('close'); }, chk = jQuery('').prop('checked', (function() { var s = fm.storage('hide'); return s && s.show; })()).on('change', function(e) { var o = {}; o[jQuery(this).is(':checked')? 'show' : 'hide'] = true; fm.exec('hide', void(0), o); }), btn = jQuery('').append(fm.i18n('reset')).on('click', function() { fm.exec('hide', void(0), {reset: true}); jQuery(this).parent().find('input:first').prop('checked', false); setTitle(); }), elms = jQuery().add(chk).add(btn), useTooltip; forms.showHidden = jQuery('
                  ').append(chk, btn); fm.bind('hide', function(e) { var d = e.data; if (!d.opts || (!d.opts.show && !d.opts.hide)) { setTitle(); } }); if (fm.UA.Mobile && jQuery.fn.tooltip) { useTooltip = true; forms.showHidden.tooltip({ classes: { 'ui-tooltip': 'elfinder-ui-tooltip ui-widget-shadow' }, tooltipClass: 'elfinder-ui-tooltip ui-widget-shadow', track: true }).css('user-select', 'none'); btn.css('user-select', 'none'); } setTitle(); })(); } forms.infoItems && (forms.infoItems = (function() { var items = fm.getCommand('info').items, tags = [], hides = fm.storage('infohides') || fm.arrayFlip(fm.options.commandsOptions.info.hideItems, true); jQuery.each(items, function() { var key = this, name = fm.i18n(key); tags.push(''); }); return jQuery(tags.join(' ')).on('change', 'input', function() { var v = jQuery(this).val(), o = jQuery(this).is(':checked'); if (!o && !hides[v]) { hides[v] = true; } else if (o && hides[v]) { delete hides[v]; } fm.storage('infohides', hides); fm.trigger('infopref', { repaint: true }); }); })()); forms.hashChecker && fm.hashCheckers.length && (forms.hashChecker = (function() { var tags = [], enabled = fm.arrayFlip(fm.storage('hashchekcer') || fm.options.commandsOptions.info.showHashAlgorisms, true); jQuery.each(fm.hashCheckers, function() { var cmd = this, name = fm.i18n(cmd); tags.push(''); }); return jQuery(tags.join(' ')).on('change', 'input', function() { var v = jQuery(this).val(), o = jQuery(this).is(':checked'); if (o) { enabled[v] = true; } else if (enabled[v]) { delete enabled[v]; } fm.storage('hashchekcer', jQuery.grep(fm.hashCheckers, function(v) { return enabled[v]; })); }); })()); forms.autoFocusDialog && (forms.autoFocusDialog = jQuery('').prop('checked', (function() { var s = fm.storage('autoFocusDialog'); return s? (s > 0) : fm.options.uiOptions.dialog.focusOnMouseOver; })()).on('change', function(e) { fm.storage('autoFocusDialog', jQuery(this).is(':checked')? 1 : -1); })); forms.clearBrowserData && (forms.clearBrowserData = jQuery('').text(fm.i18n('reset')).button().on('click', function(e) { e.preventDefault(); fm.storage(); jQuery('#'+fm.id).elfinder('reload'); })); jQuery.each(cats, function(id, prefs) { var dls, found; if (prefs === true) { found = 1; } else if (prefs) { dls = jQuery(); jQuery.each(prefs, function(i, n) { var f, title, chks = '', cbox; if (f = forms[n]) { found = 2; title = fm.i18n(n); cbox = jQuery(f).filter('input[type="checkbox"]'); if (!cbox.length) { cbox = jQuery(f).find('input[type="checkbox"]'); } if (cbox.length === 1) { if (!cbox.attr('id')) { cbox.attr('id', 'elfinder-preference-'+n+'-checkbox'); } title = ''; } else if (cbox.length > 1) { chks = ' elfinder-preference-checkboxes'; } dls = dls.add(jQuery('
                  '+title+'
                  ')).add(jQuery('
                  ').append(f)); } }); } if (found) { ul.append(tab[r](/\{id\}/g, id)[r](/\{title\}/, fm.i18n(id))[r](/\{class\}/, openTab === id? 'elfinder-focus' : '')); if (found === 2) { tabs.append( jQuery('
                  ') .hide() .append(jQuery('
                  ').append(dls)) ); } } }); ul.on('click', 'a', function(e) { var t = jQuery(e.target), h = t.attr('href'); e.preventDefault(); e.stopPropagation(); ul.children().removeClass(clTabActive); t.removeClass('ui-state-hover').parent().addClass(clTabActive); if (h.match(/all$/)) { tabs.addClass('elfinder-preference-taball').children().show(); } else { tabs.removeClass('elfinder-preference-taball').children().hide(); jQuery(h).show(); } }).on('focus blur', 'a', function(e) { jQuery(this).parent().toggleClass('ui-state-focus', e.type === 'focusin'); }).on('mouseenter mouseleave', 'li', function(e) { jQuery(this).toggleClass('ui-state-hover', e.type === 'mouseenter'); }); tabs.find('a,input,select,button').addClass('elfinder-tabstop'); base.append(ul, tabs); dialog = self.fmDialog(base, { title : self.title, width : self.options.width || 600, height: self.options.height || 400, maxWidth: 'window', maxHeight: 'window', autoOpen : false, destroyOnClose : false, allowMinimize : false, open : function() { openTab && selectTab(openTab); openTab = null; }, resize : function() { tabs.height(dialog.height() - ul.outerHeight(true) - (tabs.outerHeight(true) - tabs.height()) - 5); } }) .on('click', function(e) { e.stopPropagation(); }) .css({ overflow: 'hidden' }); dialog.closest('.ui-dialog') .css({ overflow: 'hidden' }) .addClass('elfinder-bg-translucent'); openTab = 'all'; }, dialog, openTab; this.shortcuts = [{ pattern : 'ctrl+comma', description : this.title }]; this.alwaysEnabled = false; this.getstate = function() { return 0; }; this.exec = function(sel, cOpts) { !dialog && build(); if (cOpts) { if (cOpts.tab) { selectTab(cOpts.tab); } else if (cOpts._currentType === 'cwd') { selectTab('workspace'); } } dialog.elfinderdialog('open'); return jQuery.Deferred().resolve(); }; };wp-file-manager/lib/js/commands/quicklook.js000064400000057575151202472330015063 0ustar00/** * @class elFinder command "quicklook" * Fast preview for some files types * * @author Dmitry (dio) Levashov **/ (elFinder.prototype.commands.quicklook = function() { "use strict"; var self = this, fm = self.fm, /** * window closed state * * @type Number **/ closed = 0, /** * window animated state * * @type Number **/ animated = 1, /** * window opened state * * @type Number **/ opened = 2, /** * window docked state * * @type Number **/ docked = 3, /** * window docked and hidden state * * @type Number **/ dockedhidden = 4, /** * window state * * @type Number **/ state = closed, /** * Event name of update * for fix conflicts with Prototype.JS * * `@see https://github.com/Studio-42/elFinder/pull/2346 * @type String **/ evUpdate = Element.update? 'quicklookupdate' : 'update', /** * navbar icon class * * @type String **/ navicon = 'elfinder-quicklook-navbar-icon', /** * navbar "fullscreen" icon class * * @type String **/ fullscreen = 'elfinder-quicklook-fullscreen', /** * info wrapper class * * @type String */ infocls = 'elfinder-quicklook-info-wrapper', /** * Triger keydown/keypress event with left/right arrow key code * * @param Number left/right arrow key code * @return void **/ navtrigger = function(code) { jQuery(document).trigger(jQuery.Event('keydown', { keyCode: code, ctrlKey : false, shiftKey : false, altKey : false, metaKey : false })); }, /** * Return css for closed window * * @param jQuery file node in cwd * @return void **/ closedCss = function(node) { var elf = fm.getUI().offset(), base = (function() { var target = node.find('.elfinder-cwd-file-wrapper'); return target.length? target : node; })(), baseOffset = base.offset() || { top: 0, left: 0 }; return { opacity : 0, width : base.width(), height : base.height() - 30, top : baseOffset.top - elf.top, left : baseOffset.left - elf.left }; }, /** * Return css for opened window * * @return void **/ openedCss = function() { var contain = self.options.contain || fm.options.dialogContained, win = contain? fm.getUI() : jQuery(window), elf = fm.getUI().offset(), w = Math.min(width, win.width()-10), h = Math.min(height, win.height()-80); return { opacity : 1, width : w, height : h, top : parseInt((win.height() - h - 60) / 2 + (contain? 0 : win.scrollTop() - elf.top)), left : parseInt((win.width() - w) / 2 + (contain? 0 : win.scrollLeft() - elf.left)) }; }, mediaNode = {}, support = function(codec, name) { var node = name || codec.substr(0, codec.indexOf('/')), media = mediaNode[node]? mediaNode[node] : (mediaNode[node] = document.createElement(node)), value = false; try { value = media.canPlayType && media.canPlayType(codec); } catch(e) {} return (value && value !== '' && value != 'no')? true : false; }, platformWin = (window.navigator.platform.indexOf('Win') != -1), /** * Opened window width (from config) * * @type Number **/ width, /** * Opened window height (from config) * * @type Number **/ height, /** * Previous style before docked * * @type String **/ prevStyle, /** * elFinder node * * @type jQuery **/ parent, /** * elFinder current directory node * * @type jQuery **/ cwd, /** * Current directory hash * * @type String **/ cwdHash, dockEnabled = false, navdrag = false, navmove = false, navtm = null, leftKey = jQuery.ui.keyCode.LEFT, rightKey = jQuery.ui.keyCode.RIGHT, coverEv = 'mousemove touchstart ' + ('onwheel' in document? 'wheel' : 'onmousewheel' in document? 'mousewheel' : 'DOMMouseScroll'), title = jQuery(''), icon = jQuery('
                  '), info = jQuery('
                  '),//.hide(), cover = jQuery('
                  '), fsicon = jQuery('
                  ') .on('click touchstart', function(e) { if (navmove) { return; } var win = self.window, full = win.hasClass(fullscreen), $window = jQuery(window), resize = function() { self.preview.trigger('changesize'); }; e.stopPropagation(); e.preventDefault(); if (full) { navStyle = ''; navShow(); win.toggleClass(fullscreen) .css(win.data('position')); $window.trigger(self.resize).off(self.resize, resize); navbar.off('mouseenter mouseleave'); cover.off(coverEv); } else { win.toggleClass(fullscreen) .data('position', { left : win.css('left'), top : win.css('top'), width : win.width(), height : win.height(), display: 'block' }) .removeAttr('style'); jQuery(window).on(self.resize, resize) .trigger(self.resize); cover.on(coverEv, function(e) { if (! navdrag) { if (e.type === 'mousemove' || e.type === 'touchstart') { navShow(); navtm = setTimeout(function() { if (fm.UA.Mobile || navbar.parent().find('.elfinder-quicklook-navbar:hover').length < 1) { navbar.fadeOut('slow', function() { cover.show(); }); } }, 3000); } if (cover.is(':visible')) { coverHide(); cover.data('tm', setTimeout(function() { cover.show(); }, 3000)); } } }).show().trigger('mousemove'); navbar.on('mouseenter mouseleave', function(e) { if (! navdrag) { if (e.type === 'mouseenter') { navShow(); } else { cover.trigger('mousemove'); } } }); } if (fm.zIndex) { win.css('z-index', fm.zIndex + 1); } if (fm.UA.Mobile) { navbar.attr('style', navStyle); } else { navbar.attr('style', navStyle).draggable(full ? 'destroy' : { start: function() { navdrag = true; navmove = true; cover.show(); navShow(); }, stop: function() { navdrag = false; navStyle = self.navbar.attr('style'); requestAnimationFrame(function() { navmove = false; }); } }); } jQuery(this).toggleClass(navicon+'-fullscreen-off'); var collection = win; if (parent.is('.ui-resizable')) { collection = collection.add(parent); } collection.resizable(full ? 'enable' : 'disable').removeClass('ui-state-disabled'); win.trigger('viewchange'); } ), updateOnSel = function() { self.update(void(0), (function() { var fm = self.fm, files = fm.selectedFiles(), cnt = files.length, inDock = self.docked(), getInfo = function() { var ts = 0; jQuery.each(files, function(i, f) { var t = parseInt(f.ts); if (ts >= 0) { if (t > ts) { ts = t; } } else { ts = 'unknown'; } }); return { hash : files[0].hash + '/' + (+new Date()), name : fm.i18n('items') + ': ' + cnt, mime : 'group', size : spinner, ts : ts, files : jQuery.map(files, function(f) { return f.hash; }), getSize : true }; }; if (! cnt) { cnt = 1; files = [fm.cwd()]; } return (cnt === 1)? files[0] : getInfo(); })()); }, navShow = function() { if (self.window.hasClass(fullscreen)) { navtm && clearTimeout(navtm); navtm = null; // if use `show()` it make infinite loop with old jQuery (jQuery/jQuery UI: 1.8.0/1.9.0) // see #1478 https://github.com/Studio-42/elFinder/issues/1478 navbar.stop(true, true).css('display', 'block'); coverHide(); } }, coverHide = function() { cover.data('tm') && clearTimeout(cover.data('tm')); cover.removeData('tm'); cover.hide(); }, prev = jQuery('
                  ').on('click touchstart', function(e) { ! navmove && navtrigger(leftKey); return false; }), next = jQuery('
                  ').on('click touchstart', function(e) { ! navmove && navtrigger(rightKey); return false; }), navbar = jQuery('
                  ') .append(prev) .append(fsicon) .append(next) .append('
                  ') .append(jQuery('
                  ').on('click touchstart', function(e) { ! navmove && self.window.trigger('close'); return false; })) , titleClose = jQuery('').on('mousedown', function(e) { e.stopPropagation(); self.window.trigger('close'); }), titleDock = jQuery('').on('mousedown', function(e) { e.stopPropagation(); if (! self.docked()) { self.window.trigger('navdockin'); } else { self.window.trigger('navdockout'); } }), spinner = '' + fm.i18n('calc') + '' + '', navStyle = '', init = true, dockHeight, getSize, tm4cwd, dockedNode, selectTm; /** * Any flags for each plugin */ this.flags = {}; this.cover = cover; this.evUpdate = evUpdate; (this.navbar = navbar)._show = navShow; this.resize = 'resize.'+fm.namespace; this.info = jQuery('
                  ').addClass(infocls) .append(icon) .append(info); this.autoPlay = function() { if (self.opened()) { return !! self.options[self.docked()? 'dockAutoplay' : 'autoplay']; } return false; }; this.preview = jQuery('
                  ') // clean info/icon .on('change', function() { navShow(); navbar.attr('style', navStyle); self.docked() && navbar.hide(); self.preview.attr('style', '').removeClass('elfinder-overflow-auto'); self.info.attr('style', '').hide(); self.cover.removeClass('elfinder-quicklook-coverbg'); icon.removeAttr('class').attr('style', ''); info.html(''); }) // update info/icon .on(evUpdate, function(e) { var preview = self.preview, file = e.file, tpl = '
                  {value}
                  ', update = function() { var win = self.window.css('overflow', 'hidden'); name = fm.escape(file.i18 || file.name); !file.read && e.stopImmediatePropagation(); self.window.data('hash', file.hash); self.preview.off('changesize').trigger('change').children().remove(); title.html(name); prev.css('visibility', ''); next.css('visibility', ''); if (file.hash === fm.cwdId2Hash(cwd.find('[id]:not(.elfinder-cwd-parent):first').attr('id'))) { prev.css('visibility', 'hidden'); } if (file.hash === fm.cwdId2Hash(cwd.find('[id]:last').attr('id'))) { next.css('visibility', 'hidden'); } if (file.mime === 'directory') { getSizeHashes = [ file.hash ]; } else if (file.mime === 'group' && file.getSize) { getSizeHashes = file.files; } info.html( tpl.replace(/\{value\}/, name) + tpl.replace(/\{value\}/, fm.mime2kind(file)) + tpl.replace(/\{value\}/, getSizeHashes.length ? spinner : fm.formatSize(file.size)) + tpl.replace(/\{value\}/, fm.i18n('modify')+': '+ fm.formatDate(file)) ); if (getSizeHashes.length) { getSize = fm.getSize(getSizeHashes).done(function(data) { info.find('span.elfinder-spinner').parent().html(data.formated); }).fail(function() { info.find('span.elfinder-spinner').parent().html(fm.i18n('unknown')); }).always(function() { getSize = null; }); getSize._hash = file.hash; } icon.addClass('elfinder-cwd-icon ui-corner-all '+fm.mime2class(file.mime)); if (file.icon) { icon.css(fm.getIconStyle(file, true)); } self.info.attr('class', infocls); if (file.csscls) { self.info.addClass(file.csscls); } if (file.read && (tmb = fm.tmb(file))) { jQuery('') .hide() .appendTo(self.preview) .on('load', function() { icon.addClass(tmb.className).css('background-image', "url('"+tmb.url+"')"); jQuery(this).remove(); }) .attr('src', tmb.url); } self.info.delay(100).fadeIn(10); if (self.window.hasClass(fullscreen)) { cover.trigger('mousemove'); } win.css('overflow', ''); }, tmb, name, getSizeHashes = []; if (file && ! Object.keys(file).length) { file = fm.cwd(); } if (file && getSize && getSize.state() === 'pending' && getSize._hash !== file.hash) { getSize.reject(); } if (file && (e.forceUpdate || self.window.data('hash') !== file.hash)) { update(); } else { e.stopImmediatePropagation(); } }); this.window = jQuery('
                  ') .hide() .addClass(fm.UA.Touch? 'elfinder-touch' : '') .on('click', function(e) { var win = this; e.stopPropagation(); if (state === opened) { requestAnimationFrame(function() { state === opened && fm.toFront(win); }); } }) .append( jQuery('
                  ') .append( jQuery('').append( titleClose, titleDock ), title ), this.preview, self.info.hide(), cover.hide(), navbar ) .draggable({handle : 'div.elfinder-quicklook-titlebar'}) .on('open', function(e, clcss) { var win = self.window, file = self.value, node = fm.getUI('cwd'), open = function(status) { state = status; self.update(1, self.value); self.change(); win.trigger('resize.' + fm.namespace); }; if (!init && state === closed) { if (file && file.hash !== cwdHash) { node = fm.cwdHash2Elm(file.hash.split('/', 2)[0]); } navStyle = ''; navbar.attr('style', ''); state = animated; node.trigger('scrolltoview'); coverHide(); win.css(clcss || closedCss(node)) .show() .animate(openedCss(), 550, function() { open(opened); navShow(); }); fm.toFront(win); } else if (state === dockedhidden) { fm.getUI('navdock').data('addNode')(dockedNode); open(docked); self.preview.trigger('changesize'); fm.storage('previewDocked', '1'); if (fm.getUI('navdock').width() === 0) { win.trigger('navdockout'); } } }) .on('close', function(e, dfd) { var win = self.window, preview = self.preview.trigger('change'), file = self.value, hash = (win.data('hash') || '').split('/', 2)[0], close = function(status, winhide) { state = status; winhide && fm.toHide(win); preview.children().remove(); self.update(0, self.value); win.data('hash', ''); dfd && dfd.resolve(); }, node; if (self.opened()) { getSize && getSize.state() === 'pending' && getSize.reject(); if (! self.docked()) { state = animated; win.hasClass(fullscreen) && fsicon.click(); (hash && (node = cwd.find('#'+hash)).length) ? win.animate(closedCss(node), 500, function() { preview.off('changesize'); close(closed, true); }) : close(closed, true); } else { dockedNode = fm.getUI('navdock').data('removeNode')(self.window.attr('id'), 'detach'); close(dockedhidden); fm.storage('previewDocked', '2'); } } }) .on('navdockin', function(e, data) { var w = self.window, box = fm.getUI('navdock'), height = dockHeight || box.width(), opts = data || {}; if (init) { opts.init = true; } state = docked; prevStyle = w.attr('style'); w.toggleClass('ui-front').removeClass('ui-widget').draggable('disable').resizable('disable').removeAttr('style').css({ width: '100%', height: height, boxSizing: 'border-box', paddingBottom: 0, zIndex: 'unset' }); navbar.hide(); titleDock.toggleClass('ui-icon-plusthick ui-icon-minusthick elfinder-icon-full elfinder-icon-minimize'); fm.toHide(w, true); box.data('addNode')(w, opts); self.preview.trigger('changesize'); fm.storage('previewDocked', '1'); }) .on('navdockout', function(e) { var w = self.window, box = fm.getUI('navdock'), dfd = jQuery.Deferred(), clcss = closedCss(self.preview); dockHeight = w.outerHeight(); box.data('removeNode')(w.attr('id'), fm.getUI()); w.toggleClass('ui-front').addClass('ui-widget').draggable('enable').resizable('enable').attr('style', prevStyle); titleDock.toggleClass('ui-icon-plusthick ui-icon-minusthick elfinder-icon-full elfinder-icon-minimize'); state = closed; w.trigger('open', clcss); fm.storage('previewDocked', '0'); }) .on('resize.' + fm.namespace, function() { self.preview.trigger('changesize'); }); /** * This command cannot be disable by backend * * @type Boolean **/ this.alwaysEnabled = true; /** * Selected file * * @type Object **/ this.value = null; this.handlers = { // save selected file select : function(e, d) { selectTm && cancelAnimationFrame(selectTm); if (! e.data || ! e.data.selected || ! e.data.selected.length) { selectTm = requestAnimationFrame(function() { self.opened() && updateOnSel(); }); } else { self.opened() && updateOnSel(); } }, error : function() { self.window.is(':visible') && self.window.trigger('close'); }, 'searchshow searchhide' : function() { this.opened() && this.window.trigger('close'); }, navbarshow : function() { requestAnimationFrame(function() { self.docked() && self.preview.trigger('changesize'); }); }, destroy : function() { self.window.remove(); } }; this.shortcuts = [{ pattern : 'space' }]; this.support = { audio : { ogg : support('audio/ogg;'), webm: support('audio/webm;'), mp3 : support('audio/mpeg;'), wav : support('audio/wav;'), m4a : support('audio/mp4;') || support('audio/x-m4a;') || support('audio/aac;'), flac: support('audio/flac;'), amr : support('audio/amr;') }, video : { ogg : support('video/ogg;'), webm : support('video/webm;'), mp4 : support('video/mp4;'), mkv : support('video/x-matroska;') || support('video/webm;'), '3gp': support('video/3gpp;') || support('video/mp4;'), // try as mp4 m3u8 : support('application/x-mpegURL', 'video') || support('application/vnd.apple.mpegURL', 'video'), mpd : support('application/dash+xml', 'video') } }; // for GC mediaNode = {}; /** * Return true if quickLoock window is hiddenReturn true if quickLoock window is visible and not animated * * @return Boolean **/ this.closed = function() { return (state == closed || state == dockedhidden); }; /** * Return true if quickLoock window is visible and not animated * * @return Boolean **/ this.opened = function() { return state == opened || state == docked; }; /** * Return true if quickLoock window is in NavDock * * @return Boolean **/ this.docked = function() { return state == docked; }; /** * Adds an integration into help dialog. * * @param Object opts options */ this.addIntegration = function(opts) { requestAnimationFrame(function() { fm.trigger('helpIntegration', Object.assign({cmd: 'quicklook'}, opts)); }); }; /** * Init command. * Add default plugins and init other plugins * * @return Object **/ this.init = function() { var o = this.options, win = this.window, preview = this.preview, i, p, cwdDispInlineRegex; width = o.width > 0 ? parseInt(o.width) : 450; height = o.height > 0 ? parseInt(o.height) : 300; if (o.dockHeight !== 'auto') { dockHeight = parseInt(o.dockHeight); if (! dockHeight) { dockHeight = void(0); } } fm.one('load', function() { dockEnabled = fm.getUI('navdock').data('dockEnabled'); ! dockEnabled && titleDock.hide(); parent = fm.getUI(); cwd = fm.getUI('cwd'); if (fm.zIndex) { win.css('z-index', fm.zIndex + 1); } win.appendTo(parent); // close window on escape jQuery(document).on('keydown.'+fm.namespace, function(e) { e.keyCode == jQuery.ui.keyCode.ESCAPE && self.opened() && ! self.docked() && win.hasClass('elfinder-frontmost') && win.trigger('close'); }); win.resizable({ handles : 'se', minWidth : 350, minHeight : 120, resize : function() { // use another event to avoid recursion in fullscreen mode // may be there is clever solution, but i cant find it :( preview.trigger('changesize'); } }); self.change(function() { if (self.opened()) { if (self.value) { if (self.value.tmb && self.value.tmb == 1) { // try re-get file object self.value = Object.assign({}, fm.file(self.value.hash)); } preview.trigger(jQuery.Event(evUpdate, {file : self.value})); } } }); preview.on(evUpdate, function(e) { var file, hash, serach; if (file = e.file) { hash = file.hash; serach = (fm.searchStatus.mixed && fm.searchStatus.state > 1); if (file.mime !== 'directory') { if (parseInt(file.size) || file.mime.match(o.mimeRegexNotEmptyCheck)) { // set current dispInlineRegex self.dispInlineRegex = cwdDispInlineRegex; if (serach || fm.optionsByHashes[hash]) { try { self.dispInlineRegex = new RegExp(fm.option('dispInlineRegex', hash), 'i'); } catch(e) { try { self.dispInlineRegex = new RegExp(!fm.isRoot(file)? fm.option('dispInlineRegex', file.phash) : fm.options.dispInlineRegex, 'i'); } catch(e) { self.dispInlineRegex = /^$/; } } } } else { // do not preview of file that size = 0 e.stopImmediatePropagation(); } } else { self.dispInlineRegex = /^$/; } self.info.show(); } else { e.stopImmediatePropagation(); } }); jQuery.each(fm.commands.quicklook.plugins || [], function(i, plugin) { if (typeof(plugin) == 'function') { new plugin(self); } }); }).one('open', function() { var dock = Number(fm.storage('previewDocked') || o.docked), win; if (dockEnabled && dock >= 1) { win = self.window; self.exec(); win.trigger('navdockin', { init : true }); if (dock === 2) { win.trigger('close'); } else { self.update(void(0), fm.cwd()); self.change(); } } init = false; }).bind('open', function() { cwdHash = fm.cwd().hash; self.value = fm.cwd(); // set current volume dispInlineRegex try { cwdDispInlineRegex = new RegExp(fm.option('dispInlineRegex'), 'i'); } catch(e) { cwdDispInlineRegex = /^$/; } }).bind('change', function(e) { if (e.data && e.data.changed && self.opened()) { jQuery.each(e.data.changed, function() { if (self.window.data('hash') === this.hash) { self.window.data('hash', null); self.preview.trigger(evUpdate); return false; } }); } }).bind('navdockresizestart navdockresizestop', function(e) { cover[e.type === 'navdockresizestart'? 'show' : 'hide'](); }); }; this.getstate = function() { return self.opened()? 1 : 0; }; this.exec = function() { self.closed() && updateOnSel(); self.enabled() && self.window.trigger(self.opened() ? 'close' : 'open'); return jQuery.Deferred().resolve(); }; this.hideinfo = function() { this.info.stop(true, true).hide(); }; }).prototype = { forceLoad : true }; // this is required command wp-file-manager/lib/js/commands/quicklook.plugins.js000064400000165010151202472330016523 0ustar00elFinder.prototype.commands.quicklook.plugins = [ /** * Images preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var mimes = ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml', 'image/x-ms-bmp'], getDimSize = ql.fm.returnBytes((ql.options.getDimThreshold || 0)), preview = ql.preview, WebP, flipMime; // webp support WebP = new Image(); WebP.onload = WebP.onerror = function() { if (WebP.height == 2) { mimes.push('image/webp'); } }; WebP.src='data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA'; // what kind of images we can display jQuery.each(navigator.mimeTypes, function(i, o) { var mime = o.type; if (mime.indexOf('image/') === 0 && jQuery.inArray(mime, mimes)) { mimes.push(mime); } }); preview.on(ql.evUpdate, function(e) { var fm = ql.fm, file = e.file, showed = false, dimreq = null, setdim = function(dim) { var rfile = fm.file(file.hash); rfile.width = dim[0]; rfile.height = dim[1]; }, show = function() { var elm, varelm, memSize, width, height, prop; dimreq && dimreq.state && dimreq.state() === 'pending' && dimreq.reject(); if (showed) { return; } showed = true; elm = img.get(0); memSize = file.width && file.height? {w: file.width, h: file.height} : (elm.naturalWidth? null : {w: img.width(), h: img.height()}); memSize && img.removeAttr('width').removeAttr('height'); width = file.width || elm.naturalWidth || elm.width || img.width(); height = file.height || elm.naturalHeight || elm.height || img.height(); if (!file.width || !file.height) { setdim([width, height]); } memSize && img.width(memSize.w).height(memSize.h); prop = (width/height).toFixed(2); preview.on('changesize', function() { var pw = parseInt(preview.width()), ph = parseInt(preview.height()), w, h; if (prop < (pw/ph).toFixed(2)) { h = ph; w = Math.floor(h * prop); } else { w = pw; h = Math.floor(w/prop); } img.width(w).height(h).css('margin-top', h < ph ? Math.floor((ph - h)/2) : 0); }) .trigger('changesize'); //show image img.fadeIn(100); }, hideInfo = function() { loading.remove(); // hide info/icon ql.hideinfo(); }, url, img, loading, prog, m, opDfd; if (!flipMime) { flipMime = fm.arrayFlip(mimes); } if (flipMime[file.mime] && ql.dispInlineRegex.test(file.mime)) { // this is our file - stop event propagation e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); img = jQuery('') .hide() .appendTo(preview) .on('load', function() { hideInfo(); show(); }) .on('error', function() { loading.remove(); }); opDfd = fm.openUrl(file.hash, false, function(url) { img.attr('src', url); }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); if (file.width && file.height) { show(); } else if (file.size > getDimSize) { dimreq = fm.request({ data : {cmd : 'dim', target : file.hash}, preventDefault : true }) .done(function(data) { if (data.dim) { var dim = data.dim.split('x'); file.width = dim[0]; file.height = dim[1]; setdim(dim); show(); } }); } } }); }, /** * TIFF image preview * * @param object ql elFinder.commands.quicklook */ function(ql) { "use strict"; var fm = ql.fm, mime = 'image/tiff', preview = ql.preview; if (window.Worker && window.Uint8Array) { preview.on(ql.evUpdate, function(e) { var file = e.file, err = function(e) { wk && wk.terminate(); loading.remove(); fm.debug('error', e); }, setdim = function(dim) { var rfile = fm.file(file.hash); rfile.width = dim[0]; rfile.height = dim[1]; }, loading, prog, url, base, wk, opDfd; if (file.mime === mime) { e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); // stop loading on change file if not loaded yet preview.one('change', function() { wk && wk.terminate(); loading.remove(); }); opDfd = fm.getContents(file.hash, 'arraybuffer', { progressBar: prog }).done(function(data) { if (data) { base = jQuery('
                  ').css({width:'100%',height:'100%'}).hide().appendTo(preview); try { wk = fm.getWorker(); wk.onmessage = function(res) { var data = res.data, cv, co, id, prop; wk && wk.terminate(); cv = document.createElement('canvas'); co = cv.getContext('2d'); cv.width = data.width; cv.height = data.height; id = co.createImageData(data.width, data.height); (id).data.set(new Uint8Array(data.image)); co.putImageData(id, 0, 0); base.append(cv).show(); loading.remove(); prop = (data.width/data.height).toFixed(2); preview.on('changesize', function() { var pw = parseInt(preview.width()), ph = parseInt(preview.height()), w, h; if (prop < (pw/ph).toFixed(2)) { h = ph; w = Math.floor(h * prop); } else { w = pw; h = Math.floor(w/prop); } jQuery(cv).width(w).height(h).css('margin-top', h < ph ? Math.floor((ph - h)/2) : 0); }).trigger('changesize'); if (!file.width || !file.height) { setdim([data.width, data.height]); } ql.hideinfo(); }; wk.onerror = err; wk.postMessage({ scripts: [fm.options.cdns.tiff, document.location.origin+'/wp-content/plugins/wp-file-manager/lib/js/worker/quicklook.tiff.js'], data: { data: data } }); } catch(e) { err(e); } } else { err(); } }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } }); } }, /** * PSD(Adobe Photoshop data) preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mimes = fm.arrayFlip(['image/vnd.adobe.photoshop', 'image/x-photoshop']), preview = ql.preview, load = function(url, img, loading) { try { fm.replaceXhrSend(); PSD.fromURL(url).then(function(psd) { var prop; img.attr('src', psd.image.toBase64()); requestAnimationFrame(function() { prop = (img.width()/img.height()).toFixed(2); preview.on('changesize', function() { var pw = parseInt(preview.width()), ph = parseInt(preview.height()), w, h; if (prop < (pw/ph).toFixed(2)) { h = ph; w = Math.floor(h * prop); } else { w = pw; h = Math.floor(w/prop); } img.width(w).height(h).css('margin-top', h < ph ? Math.floor((ph - h)/2) : 0); }).trigger('changesize'); loading.remove(); // hide info/icon ql.hideinfo(); //show image img.fadeIn(100); }); }, function() { loading.remove(); img.remove(); }); fm.restoreXhrSend(); } catch(e) { fm.restoreXhrSend(); loading.remove(); img.remove(); } }, PSD; preview.on(ql.evUpdate, function(e) { var file = e.file, url, img, loading, prog, m, _define, _require, opDfd; if (mimes[file.mime] && fm.options.cdns.psd && ! fm.UA.ltIE10 && ql.dispInlineRegex.test(file.mime)) { // this is our file - stop event propagation e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); opDfd = fm.openUrl(file.hash, 'sameorigin', function(url) { if (url) { img = jQuery('').hide().appendTo(preview); if (PSD) { load(url, img, loading); } else { _define = window.define; _require = window.require; window.require = null; window.define = null; fm.loadScript( [ fm.options.cdns.psd ], function() { PSD = require('psd'); _define? (window.define = _define) : (delete window.define); _require? (window.require = _require) : (delete window.require); load(url, img, loading); } ); } } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } }); }, /** * HTML preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mimes = fm.arrayFlip(['text/html', 'application/xhtml+xml']), preview = ql.preview; preview.on(ql.evUpdate, function(e) { var file = e.file, jqxhr, loading, prog; if (mimes[file.mime] && ql.dispInlineRegex.test(file.mime) && (!ql.options.getSizeMax || file.size <= ql.options.getSizeMax)) { e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); // stop loading on change file if not loaded yet preview.one('change', function() { jqxhr.state() == 'pending' && jqxhr.reject(); }).addClass('elfinder-overflow-auto'); jqxhr = fm.request({ data : {cmd : 'get', target : file.hash, conv : 1, _t : file.ts}, options : {type: 'get', cache : true}, preventDefault : true, progressBar : prog }) .done(function(data) { ql.hideinfo(); var doc = jQuery('').appendTo(preview)[0].contentWindow.document; doc.open(); doc.write(data.content); doc.close(); }) .always(function() { loading.remove(); }); } }); }, /** * MarkDown preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mimes = fm.arrayFlip(['text/x-markdown']), preview = ql.preview, marked = null, show = function(data, loading) { ql.hideinfo(); var doc = jQuery('').appendTo(preview)[0].contentWindow.document; doc.open(); doc.write(marked(data.content)); doc.close(); loading.remove(); }, error = function(loading) { marked = false; loading.remove(); }; preview.on(ql.evUpdate, function(e) { var file = e.file, jqxhr, loading, prog; if (mimes[file.mime] && fm.options.cdns.marked && marked !== false && ql.dispInlineRegex.test(file.mime) && (!ql.options.getSizeMax || file.size <= ql.options.getSizeMax)) { e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); // stop loading on change file if not loaded yet preview.one('change', function() { jqxhr.state() == 'pending' && jqxhr.reject(); }).addClass('elfinder-overflow-auto'); jqxhr = fm.request({ data : {cmd : 'get', target : file.hash, conv : 1, _t : file.ts}, options : {type: 'get', cache : true}, preventDefault : true, progressBar : prog }) .done(function(data) { if (marked || window.marked) { if (!marked) { marked = window.marked; } show(data, loading); } else { fm.loadScript([fm.options.cdns.marked], function(res) { marked = res || window.marked || false; delete window.marked; if (marked) { show(data, loading); } else { error(loading); } }, { tryRequire: true, error: function() { error(loading); } } ); } }) .fail(function() { error(loading); }); } }); }, /** * PDF/ODT/ODS/ODP preview with ViewerJS * * @param elFinder.commands.quicklook */ function(ql) { if (ql.options.viewerjs) { var fm = ql.fm, preview = ql.preview, opts = ql.options.viewerjs, mimes = opts.url? fm.arrayFlip(opts.mimes || []) : [], win = ql.window, navi = ql.navbar, setNavi = function() { navi.css('bottom', win.hasClass('elfinder-quicklook-fullscreen')? '30px' : ''); }; if (opts.url) { preview.on('update', function(e) { var file = e.file, node, loading, prog, opDfd; if (mimes[file.mime] && (file.mime !== 'application/pdf' || !opts.pdfNative || !ql.flags.pdfNative)) { e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); opDfd = fm.openUrl(file.hash, 'sameorigin', function(url) { if (url) { node = jQuery('') .css('background-color', 'transparent') .on('load', function() { ql.hideinfo(); loading.remove(); node.css('background-color', '#fff'); }) .on('error', function() { loading.remove(); node.remove(); }) .appendTo(preview) .attr('src', opts.url + '#' + url); win.on('viewchange.viewerjs', setNavi); setNavi(); preview.one('change', function() { win.off('viewchange.viewerjs'); loading.remove(); node.off('load').remove(); }); } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } }); } } }, /** * PDF preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mime = 'application/pdf', preview = ql.preview, active = false, urlhash = '', firefox, toolbar; if ((fm.UA.Safari && fm.OS === 'mac' && !fm.UA.iOS) || fm.UA.IE || fm.UA.Firefox) { active = true; } else { jQuery.each(navigator.plugins, function(i, plugins) { jQuery.each(plugins, function(i, plugin) { if (plugin.type === mime) { return !(active = true); } }); }); } ql.flags.pdfNative = active; if (active) { if (typeof ql.options.pdfToolbar !== 'undefined' && !ql.options.pdfToolbar) { urlhash = '#toolbar=0'; } preview.on(ql.evUpdate, function(e) { var file = e.file, opDfd; if (active && file.mime === mime && ql.dispInlineRegex.test(file.mime)) { e.stopImmediatePropagation(); opDfd = fm.openUrl(file.hash, false, function(url) { if (url) { ql.hideinfo(); ql.cover.addClass('elfinder-quicklook-coverbg'); jQuery('') .on('error', function(e) { active = false; ql.update(void(0), fm.cwd()); ql.update(void(0), file); }) .appendTo(preview); } }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } }); } }, /** * Flash preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mime = 'application/x-shockwave-flash', preview = ql.preview, active = false; jQuery.each(navigator.plugins, function(i, plugins) { jQuery.each(plugins, function(i, plugin) { if (plugin.type === mime) { return !(active = true); } }); }); active && preview.on(ql.evUpdate, function(e) { var file = e.file, node, opDfd; if (file.mime === mime && ql.dispInlineRegex.test(file.mime)) { e.stopImmediatePropagation(); opDfd = fm.openUrl(file.hash, false, function(url) { if (url) { ql.hideinfo(); node = jQuery('') .appendTo(preview); } }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } }); }, /** * HTML5 audio preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, preview = ql.preview, mimes = { 'audio/mpeg' : 'mp3', 'audio/mpeg3' : 'mp3', 'audio/mp3' : 'mp3', 'audio/x-mpeg3' : 'mp3', 'audio/x-mp3' : 'mp3', 'audio/x-wav' : 'wav', 'audio/wav' : 'wav', 'audio/x-m4a' : 'm4a', 'audio/aac' : 'm4a', 'audio/mp4' : 'm4a', 'audio/x-mp4' : 'm4a', 'audio/ogg' : 'ogg', 'audio/webm' : 'webm', 'audio/flac' : 'flac', 'audio/x-flac' : 'flac', 'audio/amr' : 'amr' }, node, curHash, win = ql.window, navi = ql.navbar, AMR, autoplay, controlsList = typeof ql.options.mediaControlsList === 'string' && ql.options.mediaControlsList? ' controlsList="' + fm.escape(ql.options.mediaControlsList) + '"' : '', setNavi = function() { navi.css('bottom', win.hasClass('elfinder-quicklook-fullscreen')? '50px' : ''); }, getNode = function(src, hash) { return jQuery('') .on('change', function(e) { // Firefox fire change event on seek or volume change e.stopPropagation(); }) .on('error', function(e) { node && node.data('hash') === hash && reset(); }) .data('hash', hash) .appendTo(preview); }, amrToWavUrl = function(hash) { var dfd = jQuery.Deferred(), loader = jQuery.Deferred().done(function() { var opDfd; opDfd = fm.getContents(hash, 'arraybuffer', { progressBar: prog }).done(function(data) { try { var buffer = AMR.toWAV(new Uint8Array(data)); if (buffer) { dfd.resolve(URL.createObjectURL(new Blob([buffer], { type: 'audio/x-wav' }))); } else { dfd.reject(); } } catch(e) { dfd.reject(); } }).fail(function() { dfd.reject(); }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); }).fail(function() { AMR = false; dfd.reject(); }), _AMR; if (window.TextEncoder && window.URL && URL.createObjectURL && typeof AMR === 'undefined') { // previous window.AMR _AMR = window.AMR; delete window.AMR; fm.loadScript( [ fm.options.cdns.amr ], function() { AMR = window.AMR? window.AMR : false; // restore previous window.AMR window.AMR = _AMR; loader[AMR? 'resolve':'reject'](); }, { error: function() { loader.reject(); } } ); } else { loader[AMR? 'resolve':'reject'](); } return dfd; }, play = function(player) { var hash = node.data('hash'), playPromise; autoplay && (playPromise = player.play()); // uses "playPromise['catch']" instead "playPromise.catch" to support Old IE if (playPromise && playPromise['catch']) { playPromise['catch'](function(e) { if (!player.paused) { node && node.data('hash') === hash && reset(); } }); } }, reset = function() { if (node && node.parent().length) { var elm = node[0], url = node.children('source').attr('src'); win.off('viewchange.audio'); try { elm.pause(); node.empty(); if (url.match(/^blob:/)) { URL.revokeObjectURL(url); } elm.src = ''; elm.load(); } catch(e) {} node.remove(); node = null; } }, loading, prog; preview.on(ql.evUpdate, function(e) { var file = e.file, type = mimes[file.mime], html5, opDfd; if (mimes[file.mime] && ql.dispInlineRegex.test(file.mime) && ((html5 = ql.support.audio[type]) || (type === 'amr'))) { autoplay = ql.autoPlay(); curHash = file.hash; if (!html5) { if (fm.options.cdns.amr && type === 'amr' && AMR !== false) { e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); node = getNode('', curHash); amrToWavUrl(file.hash).done(function(url) { loading.remove(); if (curHash === file.hash) { var elm = node[0]; try { node.children('source').attr('src', url); elm.pause(); elm.load(); play(elm); win.on('viewchange.audio', setNavi); setNavi(); } catch(e) { URL.revokeObjectURL(url); node.remove(); } } else { URL.revokeObjectURL(url); } }).fail(function() { node.remove(); }); } } else { e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); opDfd = fm.openUrl(curHash, false, function(url) { loading.remove(); if (url) { node = getNode(url, curHash); play(node[0]); win.on('viewchange.audio', setNavi); setNavi(); } else { node.remove(); } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } } }).one('change', reset); }, /** * HTML5 video preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, preview = ql.preview, mimes = { 'video/mp4' : 'mp4', 'video/x-m4v' : 'mp4', 'video/quicktime' : 'mp4', 'video/mpeg' : 'mpeg', 'video/ogg' : 'ogg', 'application/ogg' : 'ogg', 'video/webm' : 'webm', 'video/x-matroska': 'mkv', 'video/3gpp' : '3gp', 'application/vnd.apple.mpegurl' : 'm3u8', 'application/x-mpegurl' : 'm3u8', 'application/dash+xml' : 'mpd', 'video/x-flv' : 'flv', 'video/x-msvideo' : 'avi' }, node, win = ql.window, navi = ql.navbar, cHls, cDash, pDash, cFlv, cVideojs, autoplay, tm, loading, prog, controlsList = typeof ql.options.mediaControlsList === 'string' && ql.options.mediaControlsList? ' controlsList="' + fm.escape(ql.options.mediaControlsList) + '"' : '', setNavi = function() { if (fm.UA.iOS) { if (win.hasClass('elfinder-quicklook-fullscreen')) { preview.css('height', '-webkit-calc(100% - 50px)'); navi._show(); } else { preview.css('height', ''); } } else { navi.css('bottom', win.hasClass('elfinder-quicklook-fullscreen')? '50px' : ''); } }, render = function(file, opts) { var errTm = function(e) { if (err > 1) { tm && clearTimeout(tm); tm = setTimeout(function() { !canPlay && reset(true); }, 800); } }, err = 0, canPlay; //reset(); pDash = null; opts = opts || {}; ql.hideinfo(); node = jQuery('') .on('change', function(e) { // Firefox fire change event on seek or volume change e.stopPropagation(); }) .on('timeupdate progress', errTm) .on('canplay', function() { canPlay = true; }) .data('hash', file.hash); // can not handling error event with jQuery `on` event handler node[0].addEventListener('error', function(e) { if (opts.src && fm.convAbsUrl(opts.src) === fm.convAbsUrl(e.target.src)) { ++err; errTm(); } }, true); if (opts.src) { node.append(''); } node.appendTo(preview); win.on('viewchange.video', setNavi); setNavi(); }, loadHls = function(file) { var hls, opDfd; opDfd = fm.openUrl(file.hash, false, function(url) { loading.remove(); if (url) { render(file); hls = new cHls(); hls.loadSource(url); hls.attachMedia(node[0]); if (autoplay) { hls.on(cHls.Events.MANIFEST_PARSED, function() { play(node[0]); }); } } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); }, loadDash = function(file) { var opDfd; opDfd = fm.openUrl(file.hash, false, function(url) { var debug; loading.remove(); if (url) { render(file); pDash = window.dashjs.MediaPlayer().create(); debug = pDash.getDebug(); if (debug.setLogLevel) { debug.setLogLevel(dashjs.Debug.LOG_LEVEL_FATAL); } else if (debug.setLogToBrowserConsole) { debug.setLogToBrowserConsole(false); } pDash.initialize(node[0], url, autoplay); pDash.on('error', function(e) { reset(true); }); } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); }, loadFlv = function(file) { var opDfd if (!cFlv.isSupported()) { cFlv = false; return; } opDfd = fm.openUrl(file.hash, false, function(url) { loading.remove(); if (url) { var player = cFlv.createPlayer({ type: 'flv', url: url }); render(file); player.on(cFlv.Events.ERROR, function() { player.destroy(); reset(true); }); player.attachMediaElement(node[0]); player.load(); play(player); } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); }, loadVideojs = function(file) { var opDfd; opDfd = fm.openUrl(file.hash, false, function(url) { loading.remove(); if (url) { render(file); node[0].src = url; cVideojs(node[0], { src: url }); } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); }, play = function(player) { var hash = node.data('hash'), playPromise; autoplay && (playPromise = player.play()); // uses "playPromise['catch']" instead "playPromise.catch" to support Old IE if (playPromise && playPromise['catch']) { playPromise['catch'](function(e) { if (!player.paused) { node && node.data('hash') === hash && reset(true); } }); } }, reset = function(showInfo) { tm && clearTimeout(tm); if (node && node.parent().length) { var elm = node[0]; win.off('viewchange.video'); pDash && pDash.reset(); try { elm.pause(); node.empty(); elm.src = ''; elm.load(); } catch(e) {} node.remove(); node = null; } showInfo && ql.info.show(); }; preview.on(ql.evUpdate, function(e) { var file = e.file, mime = file.mime.toLowerCase(), type = mimes[mime], stock, playPromise, opDfd; if (mimes[mime] && ql.dispInlineRegex.test(file.mime) /*&& (((type === 'm3u8' || (type === 'mpd' && !fm.UA.iOS) || type === 'flv') && !fm.UA.ltIE10) || ql.support.video[type])*/) { autoplay = ql.autoPlay(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  '); prog = jQuery('
                  ').appendTo(loading); if (ql.support.video[type] && (type !== 'm3u8' || fm.UA.Safari)) { e.stopImmediatePropagation(); loading.appendTo(ql.info.find('.elfinder-quicklook-info')); opDfd = fm.openUrl(file.hash, false, function(url) { loading.remove(); if (url) { render(file, { src: url }); play(node[0]); } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } else { if (cHls !== false && fm.options.cdns.hls && type === 'm3u8') { e.stopImmediatePropagation(); loading.appendTo(ql.info.find('.elfinder-quicklook-info')); if (cHls) { loadHls(file); } else { stock = window.Hls; delete window.Hls; fm.loadScript( [ fm.options.cdns.hls ], function(res) { cHls = res || window.Hls || false; window.Hls = stock; cHls && loadHls(file); }, { tryRequire: true, error : function() { cHls = false; } } ); } } else if (cDash !== false && fm.options.cdns.dash && type === 'mpd') { e.stopImmediatePropagation(); loading.appendTo(ql.info.find('.elfinder-quicklook-info')); if (cDash) { loadDash(file); } else { fm.loadScript( [ fm.options.cdns.dash ], function() { // dashjs require window.dashjs in global scope cDash = window.dashjs? true : false; cDash && loadDash(file); }, { tryRequire: true, error : function() { cDash = false; } } ); } } else if (cFlv !== false && fm.options.cdns.flv && type === 'flv') { e.stopImmediatePropagation(); loading.appendTo(ql.info.find('.elfinder-quicklook-info')); if (cFlv) { loadFlv(file); } else { stock = window.flvjs; delete window.flvjs; fm.loadScript( [ fm.options.cdns.flv ], function(res) { cFlv = res || window.flvjs || false; window.flvjs = stock; cFlv && loadFlv(file); }, { tryRequire: true, error : function() { cFlv = false; } } ); } } else if (fm.options.cdns.videojs) { e.stopImmediatePropagation(); loading.appendTo(ql.info.find('.elfinder-quicklook-info')); if (cVideojs) { loadVideojs(file); } else { fm.loadScript( [ fm.options.cdns.videojs + '/video.min.js' ], function(res) { cVideojs = res || window.videojs || false; //window.flvjs = stock; cVideojs && loadVideojs(file); }, { tryRequire: true, error : function() { cVideojs = false; } } ).loadCss([fm.options.cdns.videojs + '/video-js.min.css']); } } } } }).one('change', reset); }, /** * Audio/video preview plugin using browser plugins * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var preview = ql.preview, mimes = [], node, win = ql.window, navi = ql.navbar; jQuery.each(navigator.plugins, function(i, plugins) { jQuery.each(plugins, function(i, plugin) { (plugin.type.indexOf('audio/') === 0 || plugin.type.indexOf('video/') === 0) && mimes.push(plugin.type); }); }); mimes = ql.fm.arrayFlip(mimes); preview.on(ql.evUpdate, function(e) { var file = e.file, mime = file.mime, video, opDfd, loading, prog, setNavi = function() { navi.css('bottom', win.hasClass('elfinder-quicklook-fullscreen')? '50px' : ''); }; if (mimes[file.mime] && ql.dispInlineRegex.test(file.mime)) { e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); opDfd = ql.fm.openUrl(file.hash, false, function(url) { loading.remove(); if (url) { (video = mime.indexOf('video/') === 0) && ql.hideinfo(); node = jQuery('') .appendTo(preview); win.on('viewchange.embed', setNavi); setNavi(); } }, { progressBar: prog }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } }).one('change', function() { if (node && node.parent().length) { win.off('viewchange.embed'); node.remove(); node= null; } }); }, /** * Archive(zip|gzip|tar|bz2) preview plugin using https://github.com/imaya/zlib.js * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mimes = fm.arrayFlip(['application/zip', 'application/x-gzip', 'application/x-tar', 'application/x-bzip2']), preview = ql.preview, sizeMax = fm.returnBytes(ql.options.unzipMaxSize || 0), Zlib = (fm.options.cdns.zlibUnzip && fm.options.cdns.zlibGunzip)? true : false, bzip2 = fm.options.cdns.bzip2? true : false; if (window.Worker && window.Uint8Array && window.DataView) { preview.on(ql.evUpdate, function(e) { var file = e.file, isTar = (file.mime === 'application/x-tar'), isBzip2 = (file.mime === 'application/x-bzip2'), isZlib = (file.mime === 'application/zip' || file.mime === 'application/x-gzip'); if (mimes[file.mime] && (!sizeMax || file.size <= sizeMax) && ( isTar || (isBzip2 && bzip2) || (isZlib && Zlib) )) { var jqxhr, wk, loading, prog, url, req = function() { jqxhr = fm.getContents(file.hash, 'arraybuffer', { progressBar: prog }) .fail(function() { loading.remove(); }) .done(function(data) { var unzip, filenames, err = function(e) { wk && wk.terminate(); loading.remove(); if (isZlib) { Zlib = false; } else if (isBzip2) { bzip2 = false; } fm.debug('error', e); }; try { wk = fm.getWorker(); wk.onmessage = function(res) { wk && wk.terminate(); loading.remove(); if (!res.data || res.data.error) { new Error(res.data && res.data.error? res.data.error : ''); } else { makeList(res.data.files); } }; wk.onerror = err; if (file.mime === 'application/x-tar') { wk.postMessage({ scripts: [fm.getWorkerUrl('quicklook.unzip.js')], data: { type: 'tar', bin: data } }); } else if (file.mime === 'application/zip') { wk.postMessage({ scripts: [fm.options.cdns.zlibUnzip, fm.getWorkerUrl('quicklook.unzip.js')], data: { type: 'zip', bin: data } }); } else if (file.mime === 'application/x-gzip') { wk.postMessage({ scripts: [fm.options.cdns.zlibGunzip, fm.getWorkerUrl('quicklook.unzip.js')], data: { type: 'gzip', bin: data } }); } else if (file.mime === 'application/x-bzip2') { wk.postMessage({ scripts: [fm.options.cdns.bzip2, fm.getWorkerUrl('quicklook.unzip.js')], data: { type: 'bzip2', bin: data } }); } } catch (e) { err(e); } }); }, makeList = function(filenames) { var header, list, doc, tsize = 0; if (filenames && filenames.length) { filenames = jQuery.map(filenames, function(str) { return fm.decodeRawString(str); }); filenames.sort(); list = fm.escape(filenames.join("\n").replace(/\{formatSize\((\d+)\)\}/g, function(m, s) { tsize += parseInt(s); return fm.formatSize(s); })); header = ''+fm.escape(file.mime)+' ('+fm.formatSize(file.size)+' / '+fm.formatSize(tsize)+')'+'
                  '; doc = jQuery('
                  '+header+'
                  '+list+'
                  ') .on('touchstart', function(e) { if (jQuery(this)['scroll' + (fm.direction === 'ltr'? 'Right' : 'Left')]() > 5) { e.originalEvent._preventSwipeX = true; } }) .appendTo(preview); ql.hideinfo(); } loading.remove(); }; // this is our file - stop event propagation e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); // stop loading on change file if not loaded yet preview.one('change', function() { jqxhr.state() === 'pending' && jqxhr.reject(); wk && wk.terminate(); loading.remove(); }); req(); } }); } }, /** * RAR Archive preview plugin using https://github.com/43081j/rar.js * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mimes = fm.arrayFlip(['application/x-rar']), preview = ql.preview, RAR; if (window.DataView) { preview.on(ql.evUpdate, function(e) { var file = e.file; if (mimes[file.mime] && fm.options.cdns.rar && RAR !== false) { var loading, prog, url, archive, abort, getList = function(url) { if (abort) { loading.remove(); return; } try { archive = RAR({ file: url, type: 2, xhrHeaders: fm.customHeaders, xhrFields: fm.xhrFields }, function(err) { loading.remove(); var filenames = [], header, doc; if (abort || err) { // An error occurred (not a rar, read error, etc) err && fm.debug('error', err); return; } jQuery.each(archive.entries, function() { filenames.push(this.path + (this.size? ' (' + fm.formatSize(this.size) + ')' : '')); }); if (filenames.length) { filenames = jQuery.map(filenames, function(str) { return fm.decodeRawString(str); }); filenames.sort(); header = ''+fm.escape(file.mime)+' ('+fm.formatSize(file.size)+')'+'
                  '; doc = jQuery('
                  '+header+'
                  '+fm.escape(filenames.join("\n"))+'
                  ') .on('touchstart', function(e) { if (jQuery(this)['scroll' + (fm.direction === 'ltr'? 'Right' : 'Left')]() > 5) { e.originalEvent._preventSwipeX = true; } }) .appendTo(preview); ql.hideinfo(); } }); } catch(e) { loading.remove(); } }, error = function() { RAR = false; loading.remove(); }, _RAR, opDfd; // this is our file - stop event propagation e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); // stop loading on change file if not loaded yet preview.one('change', function() { archive && (archive.abort = true); loading.remove(); abort = true; }); opDfd = fm.openUrl(file.hash, 'sameorigin', function(url) { if (url) { if (RAR) { getList(url); } else { if (window.RarArchive) { _RAR = window.RarArchive; delete window.RarArchive; } fm.loadScript( [ fm.options.cdns.rar ], function() { if (fm.hasRequire) { require(['rar'], function(RarArchive) { RAR = RarArchive; getList(url); }, error); } else { if (RAR = window.RarArchive) { if (_RAR) { window.RarArchive = _RAR; } else { delete window.RarArchive; } getList(url); } else { error(); } } }, { tryRequire: true, error : error } ); } } }, { progressBar: prog, temporary: true }); // stop loading on change file if not loaded yet preview.one('change', function() { opDfd && opDfd.state && opDfd.state() === 'pending' && opDfd.reject(); }); } }); } }, /** * CAD-Files and 3D-Models online viewer on sharecad.org * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mimes = fm.arrayFlip(ql.options.sharecadMimes || []), preview = ql.preview, win = ql.window, node; if (ql.options.sharecadMimes.length) { ql.addIntegration({ title: 'ShareCAD.org CAD and 3D-Models viewer', link: 'https://sharecad.org/DWGOnlinePlugin' }); } preview.on(ql.evUpdate, function(e) { var file = e.file; if (mimes[file.mime.toLowerCase()] && fm.option('onetimeUrl', file.hash)) { var win = ql.window, loading, prog, url; e.stopImmediatePropagation(); if (file.url == '1') { preview.hide(); jQuery('
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')) .on('click', function() { var self = jQuery(this); self.html(''); fm.request({ data : {cmd : 'url', target : file.hash}, preventDefault : true, progressBar : prog }) .always(function() { self.html(''); }) .done(function(data) { var rfile = fm.file(file.hash); file.url = rfile.url = data.url || ''; if (file.url) { preview.trigger({ type: ql.evUpdate, file: file, forceUpdate: true }); } }); }); } if (file.url !== '' && file.url != '1') { preview.one('change', function() { loading.remove(); node.off('load').remove(); node = null; }).addClass('elfinder-overflow-auto'); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); url = fm.convAbsUrl(fm.url(file.hash)); node = jQuery('') .css('background-color', 'transparent') .appendTo(preview) .on('load', function() { ql.hideinfo(); loading.remove(); ql.preview.after(ql.info); jQuery(this).css('background-color', '#fff').show(); }) .on('error', function() { loading.remove(); ql.preview.after(ql.info); }) .attr('src', '//sharecad.org/cadframe/load?url=' + encodeURIComponent(url)); ql.info.after(ql.preview); } } }); }, /** * KML preview with GoogleMaps API * * @param elFinder.commands.quicklook */ function(ql) { "use strict"; var fm = ql.fm, mimes = { 'application/vnd.google-earth.kml+xml' : true, 'application/vnd.google-earth.kmz' : true }, preview = ql.preview, gMaps, loadMap, wGmfail, fail, mapScr; if (ql.options.googleMapsApiKey) { ql.addIntegration({ title: 'Google Maps', link: 'https://www.google.com/intl/' + fm.lang.replace('_', '-') + '/help/terms_maps.html' }); gMaps = (window.google && google.maps); // start load maps loadMap = function(file, node, prog) { var mapsOpts = ql.options.googleMapsOpts.maps; fm.forExternalUrl(file.hash, { progressBar: prog }).done(function(url) { if (url) { try { new gMaps.KmlLayer(url, Object.assign({ map: new gMaps.Map(node.get(0), mapsOpts) }, ql.options.googleMapsOpts.kml)); ql.hideinfo(); } catch(e) { fail(); } } else { fail(); } }); }; // keep stored error handler if exists wGmfail = window.gm_authFailure; // on error function fail = function() { mapScr = null; }; // API script url mapScr = 'https://maps.googleapis.com/maps/api/js?key=' + ql.options.googleMapsApiKey; // error handler window.gm_authFailure = function() { fail(); wGmfail && wGmfail(); }; preview.on(ql.evUpdate, function(e) { var file = e.file; if (mapScr && mimes[file.mime.toLowerCase()]) { var win = ql.window, getLink = (file.url == '1' && !fm.option('onetimeUrl', file.hash)), loading, prog, url, node; e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); if (getLink) { preview.hide(); jQuery('
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')) .on('click', function() { var self = jQuery(this); self.html(''); fm.request({ data : {cmd : 'url', target : file.hash}, preventDefault : true, progressBar : prog }) .always(function() { loading.remove(); self.html(''); }) .done(function(data) { var rfile = fm.file(file.hash); file.url = rfile.url = data.url || ''; if (file.url) { preview.trigger({ type: ql.evUpdate, file: file, forceUpdate: true }); } }); }); } if (file.url !== '' && !getLink) { node = jQuery('
                  ').appendTo(preview); preview.one('change', function() { node.remove(); node = null; }); if (!gMaps) { fm.loadScript([mapScr], function() { gMaps = window.google && google.maps; gMaps && loadMap(file, node, prog); }); } else { loadMap(file, node, prog); } } } }); } }, /** * Any supported files preview plugin using (Google docs | MS Office) online viewer * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, mimes = Object.assign(fm.arrayFlip(ql.options.googleDocsMimes || [], 'g'), fm.arrayFlip(ql.options.officeOnlineMimes || [], 'm')), preview = ql.preview, win = ql.window, navi = ql.navbar, urls = { g: 'docs.google.com/gview?embedded=true&url=', m: 'view.officeapps.live.com/op/embed.aspx?wdStartOn=0&src=' }, navBottom = { g: '56px', m: '24px' }, mLimits = { xls : 5242880, // 5MB xlsb : 5242880, xlsx : 5242880, xlsm : 5242880, other: 10485760 // 10MB }, node, enable; if (ql.options.googleDocsMimes.length) { enable = true; ql.addIntegration({ title: 'Google Docs Viewer', link: 'https://docs.google.com/' }); } if (ql.options.officeOnlineMimes.length) { enable = true; ql.addIntegration({ title: 'MS Online Doc Viewer', link: 'https://products.office.com/office-online/view-office-documents-online' }); } if (enable) { preview.on(ql.evUpdate, function(e) { var file = e.file, type, dfd; // 25MB is maximum filesize of Google Docs prevew if (file.size <= 26214400 && (type = mimes[file.mime])) { var win = ql.window, setNavi = function() { navi.css('bottom', win.hasClass('elfinder-quicklook-fullscreen')? navBottom[type] : ''); }, ext = fm.mimeTypes[file.mime], getLink = (file.url == '1' && !fm.option('onetimeUrl', file.hash)), loading, prog, url, tm; if (type === 'm') { if ((mLimits[ext] && file.size > mLimits[ext]) || file.size > mLimits.other) { type = 'g'; } } if (getLink) { preview.hide(); jQuery('
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')) .on('click', function() { var self = jQuery(this); self.html(''); fm.request({ data : {cmd : 'url', target : file.hash}, preventDefault : true }) .always(function() { self.html(''); }) .done(function(data) { var rfile = fm.file(file.hash); file.url = rfile.url = data.url || ''; if (file.url) { preview.trigger({ type: ql.evUpdate, file: file, forceUpdate: true }); } }); }); } if (file.url !== '' && !getLink) { e.stopImmediatePropagation(); preview.one('change', function() { dfd && dfd.status && dfd.status() === 'pending' && dfd.reject(); win.off('viewchange.googledocs'); loading.remove(); node.off('load').remove(); node = null; }).addClass('elfinder-overflow-auto'); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); node = jQuery('') .css('background-color', 'transparent') .appendTo(preview); dfd = fm.forExternalUrl(file.hash, { progressBar: prog }).done(function(url) { var load = function() { try { if (node && (!node.attr('src') || node.get(0).contentWindow.document/*maybe HTTP 204*/)) { node.attr('src', 'https://' + urls[type] + encodeURIComponent(url)); // Retry because Google Docs viewer sometimes returns HTTP 204 tm = setTimeout(load, 2000); } } catch(e) {} }; if (url) { if (file.ts) { url += (url.match(/\?/)? '&' : '?') + '_t=' + file.ts; } node.on('load', function() { tm && clearTimeout(tm); ql.hideinfo(); loading.remove(); ql.preview.after(ql.info); jQuery(this).css('background-color', '#fff').show(); }) .on('error', function() { tm && clearTimeout(tm); loading.remove(); ql.preview.after(ql.info); }); load(); } else { loading.remove(); node.remove(); } }); win.on('viewchange.googledocs', setNavi); setNavi(); ql.info.after(ql.preview); } } }); } }, /** * Texts preview plugin * * @param elFinder.commands.quicklook **/ function(ql) { "use strict"; var fm = ql.fm, preview = ql.preview, textLines = parseInt(ql.options.textInitialLines) || 150, prettifyLines = parseInt(ql.options.prettifyMaxLines) || 500, PR, _PR, error = function() { prettify = function() { return false; }; _PR && (window.PR = _PR); PR = false; }, prettify = function(node) { if (fm.options.cdns.prettify) { prettify = function(node) { setTimeout(function() { PRcheck(node); }, 100); return 'pending'; }; if (window.PR) { _PR = window.PR; } fm.loadScript([fm.options.cdns.prettify + (fm.options.cdns.prettify.match(/\?/)? '&' : '?') + 'autorun=false'], function(wPR) { PR = wPR || window.PR; if (typeof PR === 'object') { prettify = function() { return true; }; if (_PR) { window.PR = _PR; } else { delete window.PR; } exec(node); } else { error(); } }, { tryRequire: true, error : error }); } else { error(); } }, exec = function(node) { if (node && !node.hasClass('prettyprinted')) { node.css('cursor', 'wait'); requestAnimationFrame(function() { PR.prettyPrint && PR.prettyPrint(null, node.get(0)); node.css('cursor', ''); }); } }, PRcheck = function(node) { var status = prettify(node); if (status === true) { exec(node); } }; preview.on(ql.evUpdate, function(e) { var file = e.file, mime = file.mime, jqxhr, loading, prog, encSelect; if (fm.mimeIsText(file.mime) && (!ql.options.getSizeMax || file.size <= ql.options.getSizeMax) && PR !== false) { e.stopImmediatePropagation(); loading = jQuery('
                  '+fm.i18n('nowLoading')+'
                  ').appendTo(ql.info.find('.elfinder-quicklook-info')); prog = jQuery('
                  ').appendTo(loading); // stop loading on change file if not loadin yet preview.one('change', function() { jqxhr.state() == 'pending' && jqxhr.reject(); encSelect && encSelect.remove(); }); jqxhr = fm.request({ data : {cmd : 'get', target : file.hash, conv : (file.encoding || 1), _t : file.ts}, options : {type: 'get', cache : true}, preventDefault : true, progressBar : prog }) .done(function(data) { var reg = new RegExp('^(data:'+file.mime.replace(/([.+])/g, '\\$1')+';base64,)', 'i'), text = data.content, part, more, node, lines, m; if (typeof text !== 'string') { return; } ql.hideinfo(); if (window.atob && (m = text.match(reg))) { text = atob(text.substr(m[1].length)); } lines = text.match(/([^\r\n]{1,100}[\r\n]*)/g); more = lines.length - textLines; if (more > 10) { part = lines.splice(0, textLines).join(''); } else { more = 0; } node = jQuery('
                  '); if (more) { node.append(jQuery('

                  ' + fm.i18n('linesLeft', fm.toLocaleString(more)) + '
                  ') .on('click', function() { var top = node.scrollTop(); jQuery(this).remove(); node.children('pre').removeClass('prettyprinted').text(text).scrollTop(top); if (lines.length <= prettifyLines) { PRcheck(node); } }) ); } node.children('pre').text(part || text); node.on('touchstart', function(e) { if (jQuery(this)['scroll' + (fm.direction === 'ltr'? 'Right' : 'Left')]() > 5) { e.originalEvent._preventSwipeX = true; } }).appendTo(preview); // make toast message if (data.toasts && Array.isArray(data.toasts)) { jQuery.each(data.toasts, function() { this.msg && fm.toast(this); }); } PRcheck(node); }) .always(function(data) { var cmdEdit, sel, head; if (cmdEdit = fm.getCommand('edit')) { head = []; if (data && data.encoding) { head.push({value: data.encoding}); } head.push({value: 'UTF-8'}); sel = cmdEdit.getEncSelect(head); sel.on('change', function() { file.encoding = sel.val(); fm.cache(file, 'change'); preview.trigger({ type: ql.evUpdate, file: file, forceUpdate: true }); }); encSelect = jQuery('
                  ').append(sel); ql.window.append(encSelect); } loading.remove(); }); } }); } ]; wp-file-manager/lib/js/commands/reload.js000064400000003560151202472330014311 0ustar00/** * @class elFinder command "reload" * Sync files and folders * * @author Dmitry (dio) Levashov **/ (elFinder.prototype.commands.reload = function() { "use strict"; var self = this, search = false; this.alwaysEnabled = true; this.updateOnSelect = true; this.shortcuts = [{ pattern : 'ctrl+shift+r f5' }]; this.getstate = function() { return 0; }; this.init = function() { this.fm.bind('search searchend', function() { search = this.type == 'search'; }); }; this.fm.bind('contextmenu', function(){ var fm = self.fm; if (fm.options.sync >= 1000) { self.extra = { icon: 'accept', node: jQuery('') .attr({title: fm.i18n('autoSync')}) .on('click touchstart', function(e){ if (e.type === 'touchstart' && e.originalEvent.touches.length > 1) { return; } e.stopPropagation(); e.preventDefault(); jQuery(this).parent() .toggleClass('ui-state-disabled', fm.options.syncStart) .parent().removeClass('ui-state-hover'); fm.options.syncStart = !fm.options.syncStart; fm.autoSync(fm.options.syncStart? null : 'stop'); }).on('ready', function(){ jQuery(this).parent().toggleClass('ui-state-disabled', !fm.options.syncStart).css('pointer-events', 'auto'); }) }; } }); this.exec = function() { var fm = this.fm; if (!search) { var dfrd = fm.sync(), timeout = setTimeout(function() { fm.notify({type : 'reload', cnt : 1, hideCnt : true}); dfrd.always(function() { fm.notify({type : 'reload', cnt : -1}); }); }, fm.notifyDelay); return dfrd.always(function() { clearTimeout(timeout); fm.trigger('reload'); }); } else { jQuery('div.elfinder-toolbar > div.'+fm.res('class', 'searchbtn') + ' > span.ui-icon-search').click(); } }; }).prototype = { forceLoad : true }; // this is required command wp-file-manager/lib/js/commands/rename.js000064400000037653151202472330014324 0ustar00/** * @class elFinder command "rename". * Rename selected file. * * @author Dmitry (dio) Levashov, dio@std42.ru * @author Naoki Sawada **/ elFinder.prototype.commands.rename = function() { "use strict"; // set alwaysEnabled to allow root rename on client size this.alwaysEnabled = true; this.syncTitleOnChange = true; var self = this, fm = self.fm, request = function(dfrd, targtes, file, name) { var sel = targtes? [file.hash].concat(targtes) : [file.hash], cnt = sel.length, data = {}, rootNames; fm.lockfiles({files : sel}); if (fm.isRoot(file) && !file.netkey) { if (!(rootNames = fm.storage('rootNames'))) { rootNames = {}; } if (name === '') { if (rootNames[file.hash]) { file.name = file._name; file.i18 = file._i18; delete rootNames[file.hash]; delete file._name; delete file._i18; } else { dfrd && dfrd.reject(); fm.unlockfiles({files : sel}).trigger('selectfiles', {files : sel}); return; } } else { if (typeof file._name === 'undefined') { file._name = file.name; file._i18 = file.i18; } file.name = rootNames[file.hash] = name; delete file.i18; } fm.storage('rootNames', rootNames); data = { changed: [file] }; fm.updateCache(data); fm.change(data); dfrd && dfrd.resolve(data); fm.unlockfiles({files : sel}).trigger('selectfiles', {files : sel}); return; } data = { cmd : 'rename', name : name, target : file.hash }; if (cnt > 1) { data['targets'] = targtes; if (name.match(/\*/)) { data['q'] = name; } } fm.request({ data : data, notify : {type : 'rename', cnt : cnt}, navigate : {} }) .fail(function(error) { var err = fm.parseError(error); dfrd && dfrd.reject(); if (! err || ! Array.isArray(err) || err[0] !== 'errRename') { fm.sync(); } }) .done(function(data) { var cwdHash; if (data.added && data.added.length && cnt === 1) { data.undo = { cmd : 'rename', callback : function() { return fm.request({ data : {cmd : 'rename', target : data.added[0].hash, name : file.name}, notify : {type : 'undo', cnt : 1} }); } }; data.redo = { cmd : 'rename', callback : function() { return fm.request({ data : {cmd : 'rename', target : file.hash, name : name}, notify : {type : 'rename', cnt : 1} }); } }; } dfrd && dfrd.resolve(data); if (!(cwdHash = fm.cwd().hash) || cwdHash === file.hash) { fm.exec('open', jQuery.map(data.added, function(f) { return (f.mime === 'directory')? f.hash : null; })[0]); } }) .always(function() { fm.unlockfiles({files : sel}).trigger('selectfiles', {files : sel}); } ); }, getHint = function(name, target) { var sel = target || fm.selected(), splits = fm.splitFileExtention(name), f1 = fm.file(sel[0]), f2 = fm.file(sel[1]), ext, hint, add; ext = splits[1]? ('.' + splits[1]) : ''; if (splits[1] && splits[0] === '*') { // change extention hint = '"' + fm.splitFileExtention(f1.name)[0] + ext + '", '; hint += '"' + fm.splitFileExtention(f2.name)[0] + ext + '"'; } else if (splits[0].length > 1) { if (splits[0].substr(-1) === '*') { // add prefix add = splits[0].substr(0, splits[0].length - 1); hint = '"' + add + f1.name+'", '; hint += '"' + add + f2.name+'"'; } else if (splits[0].substr(0, 1) === '*') { // add suffix add = splits[0].substr(1); hint = '"'+fm.splitFileExtention(f1.name)[0] + add + ext + '", '; hint += '"'+fm.splitFileExtention(f2.name)[0] + add + ext + '"'; } } if (!hint) { hint = '"'+splits[0] + '1' + ext + '", "' + splits[0] + '2' + ext + '"'; } if (sel.length > 2) { hint += ' ...'; } return hint; }, batchRename = function() { var sel = fm.selected(), tplr = '', mkChk = function(node, label) { return jQuery('').prepend(node); }, name = jQuery(''), num = jQuery(tplr), prefix = jQuery(tplr), suffix = jQuery(tplr), extention = jQuery(tplr), checks = jQuery('
                  ').append( mkChk(num, 'plusNumber'), mkChk(prefix, 'asPrefix'), mkChk(suffix, 'asSuffix'), mkChk(extention, 'changeExtention') ), preview = jQuery('
                  '), node = jQuery('
                  ').append( jQuery('
                  ').append(name), jQuery('
                  ').append(checks), preview ), opts = { title : fm.i18n('batchRename'), modal : true, destroyOnClose : true, width: Math.min(380, fm.getUI().width() - 20), buttons : {}, open : function() { name.on('input', mkPrev).trigger('focus'); } }, getName = function() { var vName = name.val(), ext = fm.splitFileExtention(fm.file(sel[0]).name)[1]; if (vName !== '' || num.is(':checked')) { if (prefix.is(':checked')) { vName += '*'; } else if (suffix.is(':checked')) { vName = '*' + vName + '.' + ext; } else if (extention.is(':checked')) { vName = '*.' + vName; } else if (ext) { vName += '.' + ext; } } return vName; }, mkPrev = function() { var vName = getName(); if (vName !== '') { preview.html(fm.i18n(['renameMultiple', sel.length, getHint(vName)])); } else { preview.empty(); } }, radios = checks.find('input:radio').on('change', mkPrev), dialog; opts.buttons[fm.i18n('btnApply')] = function() { var vName = getName(), file, targets; if (vName !== '') { dialog.elfinderdialog('close'); targets = sel; file = fm.file(targets.shift()); request(void(0), targets, file, vName); } }; opts.buttons[fm.i18n('btnCancel')] = function() { dialog.elfinderdialog('close'); }; if (jQuery.fn.checkboxradio) { radios.checkboxradio({ create: function(e, ui) { if (this === num.get(0)) { num.prop('checked', true).change(); } } }); } else { checks.buttonset({ create: function(e, ui) { num.prop('checked', true).change(); } }); } dialog = self.fmDialog(node, opts); }; this.noChangeDirOnRemovedCwd = true; this.shortcuts = [{ pattern : 'f2' + (fm.OS == 'mac' ? ' enter' : '') }, { pattern : 'shift+f2', description : 'batchRename', callback : function() { fm.selected().length > 1 && batchRename(); } }]; this.getstate = function(select) { var sel = this.files(select), cnt = sel.length, phash, ext, mime, brk, state, isRoot; if (!cnt) { return -1; } if (cnt > 1 && sel[0].phash) { phash = sel[0].phash; ext = fm.splitFileExtention(sel[0].name)[1].toLowerCase(); mime = sel[0].mime; } if (cnt === 1) { isRoot = fm.isRoot(sel[0]); } state = (cnt === 1 && ((fm.cookieEnabled && isRoot) || !sel[0].locked) || (fm.api > 2.1030 && cnt === jQuery.grep(sel, function(f) { if (!brk && !f.locked && f.phash === phash && !fm.isRoot(f) && (mime === f.mime || ext === fm.splitFileExtention(f.name)[1].toLowerCase())) { return true; } else { brk && (brk = true); return false; } }).length)) ? 0 : -1; // because alwaysEnabled = true, it need check disabled on connector if (!isRoot && state === 0 && fm.option('disabledFlip', sel[0].hash)['rename']) { state = -1; } if (state !== -1 && cnt > 1) { self.extra = { icon: 'preference', node: jQuery('') .attr({title: fm.i18n('batchRename')}) .on('click touchstart', function(e){ if (e.type === 'touchstart' && e.originalEvent.touches.length > 1) { return; } e.stopPropagation(); e.preventDefault(); fm.getUI().trigger('click'); // to close the context menu immediately batchRename(); }) }; } else { delete self.extra; } return state; }; this.exec = function(hashes, cOpts) { var cwd = fm.getUI('cwd'), sel = hashes || (fm.selected().length? fm.selected() : false) || [fm.cwd().hash], cnt = sel.length, file = fm.file(sel.shift()), filename = '.elfinder-cwd-filename', opts = cOpts || {}, incwd = (fm.cwd().hash == file.hash), type = (opts._currentType === 'navbar' || opts._currentType === 'files')? opts._currentType : (incwd? 'navbar' : 'files'), navbar = (type !== 'files'), target = fm[navbar? 'navHash2Elm' : 'cwdHash2Elm'](file.hash), tarea = (!navbar && fm.storage('view') != 'list'), split = function(name) { var ext = fm.splitFileExtention(name)[1]; return [name.substr(0, name.length - ext.length - 1), ext]; }, unselect = function() { requestAnimationFrame(function() { input && input.trigger('blur'); }); }, rest = function(){ if (!overlay.is(':hidden')) { overlay.elfinderoverlay('hide').off('click close', cancel); } pnode.removeClass('ui-front') .css('position', '') .off('unselect.'+fm.namespace, unselect); if (tarea) { node && node.css('max-height', ''); } else if (!navbar) { pnode.css('width', '') .parent('td').css('overflow', ''); } }, colwidth, dfrd = jQuery.Deferred() .fail(function(error) { var parent = input.parent(), name = fm.escape(file.i18 || file.name); input.off(); if (tarea) { name = name.replace(/([_.])/g, '​$1'); } requestAnimationFrame(function() { if (navbar) { input.replaceWith(name); } else { if (parent.length) { input.remove(); parent.html(name); } else { target.find(filename).html(name); } } }); error && fm.error(error); }) .always(function() { rest(); fm.unbind('resize', resize); fm.enable(); }), blur = function(e) { var name = jQuery.trim(input.val()), splits = fm.splitFileExtention(name), valid = true, req = function() { input.off(); rest(); if (navbar) { input.replaceWith(fm.escape(name)); } else { node.html(fm.escape(name)); } request(dfrd, sel, file, name); }; if (!overlay.is(':hidden')) { pnode.css('z-index', ''); } if (name === '') { if (!fm.isRoot(file)) { return cancel(); } if (navbar) { input.replaceWith(fm.escape(file.name)); } else { node.html(fm.escape(file.name)); } } if (!inError && pnode.length) { input.off('blur'); if (cnt === 1 && name === file.name) { return dfrd.reject(); } if (fm.options.validName && fm.options.validName.test) { try { valid = fm.options.validName.test(name); } catch(e) { valid = false; } } if (name === '.' || name === '..' || !valid) { inError = true; fm.error(file.mime === 'directory'? 'errInvDirname' : 'errInvName', {modal: true, close: function(){setTimeout(select, 120);}}); return false; } if (cnt === 1 && fm.fileByName(name, file.phash)) { inError = true; fm.error(['errExists', name], {modal: true, close: function(){setTimeout(select, 120);}}); return false; } if (cnt === 1) { req(); } else { fm.confirm({ title : 'cmdrename', text : ['renameMultiple', cnt, getHint(name, [file.hash].concat(sel))], accept : { label : 'btnYes', callback : req }, cancel : { label : 'btnCancel', callback : function() { setTimeout(function() { inError = true; select(); }, 120); } } }); setTimeout(function() { fm.trigger('unselectfiles', {files: fm.selected()}) .trigger('selectfiles', {files : [file.hash].concat(sel)}); }, 120); } } }, input = jQuery(tarea? '' : '') .on('keyup text', function(){ if (tarea) { this.style.height = '1px'; this.style.height = this.scrollHeight + 'px'; } else if (colwidth) { this.style.width = colwidth + 'px'; if (this.scrollWidth > colwidth) { this.style.width = this.scrollWidth + 10 + 'px'; } } }) .on('keydown', function(e) { e.stopImmediatePropagation(); if (e.keyCode == jQuery.ui.keyCode.ESCAPE) { dfrd.reject(); } else if (e.keyCode == jQuery.ui.keyCode.ENTER) { e.preventDefault(); input.trigger('blur'); } }) .on('mousedown click dblclick', function(e) { e.stopPropagation(); if (e.type === 'dblclick') { e.preventDefault(); } }) .on('blur', blur) .on('dragenter dragleave dragover drop', function(e) { // stop bubbling to prevent upload with native drop event e.stopPropagation(); }), select = function() { var name = fm.splitFileExtention(input.val())[0]; if (!inError && fm.UA.Mobile && !fm.UA.iOS) { // since iOS has a bug? (z-index not effect) so disable it overlay.on('click close', cancel).elfinderoverlay('show'); pnode.css('z-index', overlay.css('z-index') + 1); } ! fm.enabled() && fm.enable(); if (inError) { inError = false; input.on('blur', blur); } input.trigger('focus').trigger('select'); input[0].setSelectionRange && input[0].setSelectionRange(0, name.length); }, node = navbar? target.contents().filter(function(){ return this.nodeType==3 && jQuery(this).parent().attr('id') === fm.navHash2Id(file.hash); }) : target.find(filename), pnode = node.parent(), overlay = fm.getUI('overlay'), cancel = function(e) { if (!overlay.is(':hidden')) { pnode.css('z-index', ''); } if (! inError) { dfrd.reject(); if (e) { e.stopPropagation(); e.preventDefault(); } } }, resize = function() { target.trigger('scrolltoview', {blink : false}); }, inError = false; pnode.addClass('ui-front') .css('position', 'relative') .on('unselect.'+fm.namespace, unselect); fm.bind('resize', resize); if (navbar) { node.replaceWith(input.val(file.name)); } else { if (tarea) { node.css('max-height', 'none'); } else if (!navbar) { colwidth = pnode.width(); pnode.width(colwidth - 15) .parent('td').css('overflow', 'visible'); } node.empty().append(input.val(file.name)); } if (cnt > 1 && fm.api <= 2.1030) { return dfrd.reject(); } if (!file || !node.length) { return dfrd.reject('errCmdParams', this.title); } if (file.locked && !fm.isRoot(file)) { return dfrd.reject(['errLocked', file.name]); } fm.one('select', function() { input.parent().length && file && jQuery.inArray(file.hash, fm.selected()) === -1 && input.trigger('blur'); }); input.trigger('keyup'); select(); return dfrd; }; fm.bind('select contextmenucreate closecontextmenu', function(e) { var sel = (e.data? (e.data.selected || e.data.targets) : null) || fm.selected(), file; if (sel && sel.length === 1 && (file = fm.file(sel[0])) && fm.isRoot(file)) { self.title = fm.i18n('kindAlias') + ' (' + fm.i18n('preference') + ')'; } else { self.title = fm.i18n('cmdrename'); } if (e.type !== 'closecontextmenu') { self.update(void(0), self.title); } else { requestAnimationFrame(function() { self.update(void(0), self.title); }); } }).remove(function(e) { var rootNames; if (e.data && e.data.removed && (rootNames = fm.storage('rootNames'))) { jQuery.each(e.data.removed, function(i, h) { if (rootNames[h]) { delete rootNames[h]; } }); fm.storage('rootNames', rootNames); } }); }; wp-file-manager/lib/js/commands/resize.js000064400000150255151202472330014350 0ustar00/** * @class elFinder command "resize" * Open dialog to resize image * * @author Dmitry (dio) Levashov * @author Alexey Sukhotin * @author Naoki Sawada * @author Sergio Jovani **/ elFinder.prototype.commands.resize = function() { "use strict"; var fm = this.fm, losslessRotate = 0, getBounceBox = function(w, h, theta) { var srcPts = [ {x: w/2, y: h/2}, {x: -w/2, y: h/2}, {x: -w/2, y: -h/2}, {x: w/2, y: -h/2} ], dstPts = [], min = {x: Number.MAX_VALUE, y: Number.MAX_VALUE}, max = {x: Number.MIN_VALUE, y: Number.MIN_VALUE}; jQuery.each(srcPts, function(i, srcPt){ dstPts.push({ x: srcPt.x * Math.cos(theta) - srcPt.y * Math.sin(theta), y: srcPt.x * Math.sin(theta) + srcPt.y * Math.cos(theta) }); }); jQuery.each(dstPts, function(i, pt) { min.x = Math.min(min.x, pt.x); min.y = Math.min(min.y, pt.y); max.x = Math.max(max.x, pt.x); max.y = Math.max(max.y, pt.y); }); return { width: max.x - min.x, height: max.y - min.y }; }; this.updateOnSelect = false; this.getstate = function() { var sel = fm.selectedFiles(); return sel.length == 1 && sel[0].read && sel[0].write && sel[0].mime.indexOf('image/') !== -1 ? 0 : -1; }; this.resizeRequest = function(data, f, dfrd) { var file = f || fm.file(data.target), tmb = file? file.tmb : null, enabled = fm.isCommandEnabled('resize', data.target); if (enabled && (! file || (file && file.read && file.write && file.mime.indexOf('image/') !== -1 ))) { return fm.request({ data : Object.assign(data, { cmd : 'resize' }), notify : {type : 'resize', cnt : 1} }) .fail(function(error) { if (dfrd) { dfrd.reject(error); } }) .done(function() { if (data.quality) { fm.storage('jpgQuality', data.quality === fm.option('jpgQuality')? null : data.quality); } dfrd && dfrd.resolve(); }); } else { var error; if (file) { if (file.mime.indexOf('image/') === -1) { error = ['errResize', file.name, 'errUsupportType']; } else { error = ['errResize', file.name, 'errPerm']; } } else { error = ['errResize', data.target, 'errPerm']; } if (dfrd) { dfrd.reject(error); } else { fm.error(error); } return jQuery.Deferred().reject(error); } }; this.exec = function(hashes) { var self = this, files = this.files(hashes), dfrd = jQuery.Deferred(), api2 = (fm.api > 1), options = this.options, dialogWidth = 650, fmnode = fm.getUI(), ctrgrup = jQuery().controlgroup? 'controlgroup' : 'buttonset', grid8Def = typeof options.grid8px === 'undefined' || options.grid8px !== 'disable'? true : false, presetSize = Array.isArray(options.presetSize)? options.presetSize : [], clactive = 'elfinder-dialog-active', clsediting = fm.res('class', 'editing'), open = function(file, id, src) { var isJpeg = (file.mime === 'image/jpeg'), dialog = jQuery('
                  '), input = '', row = '
                  ', label = '
                  ', changeTm = null, operate = false, opStart = function() { operate = true; }, opStop = function() { if (operate) { operate = false; control.trigger('change'); } }, control = jQuery('
                  ') .on('focus', 'input[type=text],input[type=number]', function() { jQuery(this).trigger('select'); }) .on('change', function() { changeTm && cancelAnimationFrame(changeTm); changeTm = requestAnimationFrame(function() { var panel, quty, canvas, ctx, img, sx, sy, sw, sh, deg, theta, bb; if (sizeImg && ! operate && (canvas = sizeImg.data('canvas'))) { panel = control.children('div.elfinder-resize-control-panel:visible'); quty = panel.find('input.elfinder-resize-quality'); if (quty.is(':visible')) { ctx = sizeImg.data('ctx'); img = sizeImg.get(0); if (panel.hasClass('elfinder-resize-uiresize')) { // resize sw = canvas.width = width.val(); sh = canvas.height = height.val(); ctx.drawImage(img, 0, 0, sw, sh); } else if (panel.hasClass('elfinder-resize-uicrop')) { // crop sx = pointX.val(); sy = pointY.val(); sw = offsetX.val(); sh = offsetY.val(); canvas.width = sw; canvas.height = sh; ctx.drawImage(img, sx, sy, sw, sh, 0, 0, sw, sh); } else { // rotate deg = degree.val(); theta = (degree.val() * Math.PI) / 180; bb = getBounceBox(owidth, oheight, theta); sw = canvas.width = bb.width; sh = canvas.height = bb.height; ctx.save(); if (deg % 90 !== 0) { ctx.fillStyle = bg.val() || '#FFF'; ctx.fillRect(0, 0, sw, sh); } ctx.translate(sw / 2, sh / 2); ctx.rotate(theta); ctx.drawImage(img, -img.width/2, -img.height/2, owidth, oheight); ctx.restore(); } canvas.toBlob(function(blob) { if (blob) { size1 = blob.size; quty.next('span').text(' (' + fm.formatSize(blob.size) + ')'); } }, 'image/jpeg', Math.max(Math.min(quty.val(), 100), 1) / 100); } } }); }) .on('mouseup', 'input', function(e) { jQuery(e.target).trigger('change'); }), preview = jQuery('
                  ') .on('touchmove', function(e) { if (jQuery(e.target).hasClass('touch-punch')) { e.stopPropagation(); e.preventDefault(); } }), spinner = jQuery('
                  '+fm.i18n('ntfloadimg')+'
                  '), rhandle = jQuery('
                  '), rhandlec = jQuery('
                  '), uiresize = jQuery('
                  '), uicrop = jQuery('
                  '), uirotate = jQuery('
                  '), uideg270 = jQuery('').attr('title',fm.i18n('rotate-cw')).append(jQuery('')), uideg90 = jQuery('').attr('title',fm.i18n('rotate-ccw')).append(jQuery('')), uiprop = jQuery(''), reset = jQuery('') .on('mouseenter mouseleave', function(e) { jQuery(this).toggleClass('ui-state-hover', e.type == 'mouseenter'); }).on('click', function() { fm.exec('open', check).done(function() { fm.one('opendone', function() { fm.trigger('selectfiles', {files : jQuery.map(data.added, function(f) {return f.hash;})}); }); }); }) ); } else { fm.trigger('selectfiles', {files : jQuery.map(data.added, function(f) {return f.hash;})}); } fm.toast({msg: fm.i18n(['complete', fm.i18n('cmdupload')]), extNode: node}); } } }) .progress(function() { dfrd.notifyWith(this, Array.from(arguments)); }); }, upload = function(data) { dialog.elfinderdialog('close'); if (targets) { data.target = targets[0]; } fmUpload(data); }, getSelector = function() { var hash = targetDir.hash, dirs = jQuery.map(fm.files(hash), function(f) { return (f.mime === 'directory' && f.write)? f : null; }); if (! dirs.length) { return jQuery(); } return jQuery('
                  ') .on('click', function(e) { e.stopPropagation(); e.preventDefault(); dirs = fm.sortFiles(dirs); var $this = jQuery(this), cwd = fm.cwd(), base = dialog.closest('div.ui-dialog'), getRaw = function(f, icon) { return { label : fm.escape(f.i18 || f.name), icon : icon, remain : false, callback : function() { var title = base.children('.ui-dialog-titlebar:first').find('span.elfinder-upload-target'); targets = [ f.hash ]; title.html(' - ' + fm.escape(f.i18 || f.name)); $this.trigger('focus'); }, options : { className : (targets && targets.length && f.hash === targets[0])? 'ui-state-active' : '', iconClass : f.csscls || '', iconImg : f.icon || '' } }; }, raw = [ getRaw(targetDir, 'opendir'), '|' ]; jQuery.each(dirs, function(i, f) { raw.push(getRaw(f, 'dir')); }); $this.trigger('blur'); fm.trigger('contextmenu', { raw: raw, x: e.pageX || jQuery(this).offset().left, y: e.pageY || jQuery(this).offset().top, prevNode: base, fitHeight: true }); }).append(''); }, inputButton = function(type, caption) { var button, input = jQuery('') .on('click', function() { // for IE's bug if (fm.UA.IE) { setTimeout(function() { form.css('display', 'none').css('position', 'relative'); requestAnimationFrame(function() { form.css('display', '').css('position', ''); }); }, 100); } }) .on('change', function() { upload({input : input.get(0), type : 'files'}); }) .on('dragover', function(e) { e.originalEvent.dataTransfer.dropEffect = 'copy'; }), form = jQuery('
                  ').append(input).on('click', function(e) { e.stopPropagation(); }); return jQuery('
                  '+fm.i18n(caption)+'
                  ') .append(form) .on('click', function(e) { e.stopPropagation(); e.preventDefault(); input.trigger('click'); }) .on('mouseenter mouseleave', function(e) { jQuery(this).toggleClass(hover, e.type === 'mouseenter'); }); }, dfrd = jQuery.Deferred(), dialog, dropbox, pastebox, dropUpload, paste, dirs, spinner, uidialog; dropUpload = function(e) { e.stopPropagation(); e.preventDefault(); var file = false, type = '', elfFrom = null, mycwd = '', data = null, target = e._target || null, trf = e.dataTransfer || null, kind = '', errors; if (trf) { if (trf.types && trf.types.length && jQuery.inArray('Files', trf.types) !== -1) { kind = 'file'; } else if (trf.items && trf.items.length && trf.items[0].kind) { kind = trf.items[0].kind; } try { elfFrom = trf.getData('elfinderfrom'); if (elfFrom) { mycwd = window.location.href + fm.cwd().hash; if ((!target && elfFrom === mycwd) || target === mycwd) { dfrd.reject(); return; } } } catch(e) {} if (kind === 'file' && (trf.items[0].getAsEntry || trf.items[0].webkitGetAsEntry)) { file = trf; type = 'data'; } else if (kind !== 'string' && trf.files && trf.files.length && jQuery.inArray('Text', trf.types) === -1) { file = trf.files; type = 'files'; } else { try { if ((data = trf.getData('text/html')) && data.match(/<(?:img|a)/i)) { file = [ data ]; type = 'html'; } } catch(e) {} if (! file) { if (data = trf.getData('text')) { file = [ data ]; type = 'text'; } else if (trf && trf.files) { // maybe folder uploading but this UA dose not support it kind = 'file'; } } } } if (file) { fmUpload({files : file, type : type, target : target, dropEvt : e}); } else { errors = ['errUploadNoFiles']; if (kind === 'file') { errors.push('errFolderUpload'); } fm.error(errors); dfrd.reject(); } }; if (!targets && data) { if (data.input || data.files) { data.type = 'files'; fmUpload(data); } else if (data.dropEvt) { dropUpload(data.dropEvt); } return dfrd; } paste = function(ev) { var e = ev.originalEvent || ev; var files = [], items = []; var file; if (e.clipboardData) { if (e.clipboardData.items && e.clipboardData.items.length){ items = e.clipboardData.items; for (var i=0; i < items.length; i++) { if (e.clipboardData.items[i].kind == 'file') { file = e.clipboardData.items[i].getAsFile(); files.push(file); } } } else if (e.clipboardData.files && e.clipboardData.files.length) { files = e.clipboardData.files; } if (files.length) { upload({files : files, type : 'files', clipdata : true}); return; } } var my = e.target || e.srcElement; requestAnimationFrame(function() { var type = 'text', src; if (my.innerHTML) { jQuery(my).find('img').each(function(i, v){ if (v.src.match(/^webkit-fake-url:\/\//)) { // For Safari's bug. // ref. https://bugs.webkit.org/show_bug.cgi?id=49141 // https://dev.ckeditor.com/ticket/13029 jQuery(v).remove(); } }); if (jQuery(my).find('a,img').length) { type = 'html'; } src = my.innerHTML; my.innerHTML = ''; upload({files : [ src ], type : type}); } }); }; dialog = jQuery('
                  ') .append(inputButton('multiple', 'selectForUpload')); if (! fm.UA.Mobile && (function(input) { return (typeof input.webkitdirectory !== 'undefined' || typeof input.directory !== 'undefined');})(document.createElement('input'))) { dialog.append(inputButton('multiple webkitdirectory directory', 'selectFolder')); } if (targetDir.dirs) { if (targetDir.hash === cwdHash || fm.navHash2Elm(targetDir.hash).hasClass('elfinder-subtree-loaded')) { getSelector().appendTo(dialog); } else { spinner = jQuery('
                  ') .append('') .appendTo(dialog); fm.request({cmd : 'tree', target : targetDir.hash}) .done(function() { fm.one('treedone', function() { spinner.replaceWith(getSelector()); uidialog.elfinderdialog('tabstopsInit'); }); }) .fail(function() { spinner.remove(); }); } } if (fm.dragUpload) { dropbox = jQuery('
                  ') .on('paste', function(e){ paste(e); }) .on('mousedown click', function(){ jQuery(this).trigger('focus'); }) .on('focus', function(){ this.innerHTML = ''; }) .on('mouseover', function(){ jQuery(this).addClass(hover); }) .on('mouseout', function(){ jQuery(this).removeClass(hover); }) .on('dragenter', function(e) { e.stopPropagation(); e.preventDefault(); jQuery(this).addClass(hover); }) .on('dragleave', function(e) { e.stopPropagation(); e.preventDefault(); jQuery(this).removeClass(hover); }) .on('dragover', function(e) { e.stopPropagation(); e.preventDefault(); e.originalEvent.dataTransfer.dropEffect = 'copy'; jQuery(this).addClass(hover); }) .on('drop', function(e) { dialog.elfinderdialog('close'); targets && (e.originalEvent._target = targets[0]); dropUpload(e.originalEvent); }) .prependTo(dialog) .after('
                  '+fm.i18n('or')+'
                  ')[0]; } else { pastebox = jQuery('
                  '+fm.i18n('dropFilesBrowser')+'
                  ') .on('paste drop', function(e){ paste(e); }) .on('mousedown click', function(){ jQuery(this).trigger('focus'); }) .on('focus', function(){ this.innerHTML = ''; }) .on('dragenter mouseover', function(){ jQuery(this).addClass(hover); }) .on('dragleave mouseout', function(){ jQuery(this).removeClass(hover); }) .prependTo(dialog) .after('
                  '+fm.i18n('or')+'
                  ')[0]; } uidialog = this.fmDialog(dialog, { title : this.title + '' + (targetDir? ' - ' + fm.escape(targetDir.i18 || targetDir.name) : '') + '', modal : true, resizable : false, destroyOnClose : true, propagationEvents : ['mousemove', 'mouseup', 'click'], close : function() { var cm = fm.getUI('contextmenu'); if (cm.is(':visible')) { cm.click(); } } }); return dfrd; }; }; wp-file-manager/lib/js/commands/view.js000064400000005464151202472330014022 0ustar00/** * @class elFinder command "view" * Change current directory view (icons/list) * * @author Dmitry (dio) Levashov **/ elFinder.prototype.commands.view = function() { "use strict"; var self = this, fm = this.fm, subMenuRaw; this.value = fm.viewType; this.alwaysEnabled = true; this.updateOnSelect = false; this.options = { ui : 'viewbutton'}; this.getstate = function() { return 0; }; this.extra = { icon: 'menu', node: jQuery('') .attr({title: fm.i18n('viewtype')}) .on('click touchstart', function(e){ if (e.type === 'touchstart' && e.originalEvent.touches.length > 1) { return; } var node = jQuery(this); e.stopPropagation(); e.preventDefault(); fm.trigger('contextmenu', { raw: getSubMenuRaw(), x: node.offset().left, y: node.offset().top }); }) }; this.exec = function() { var self = this, value = this.value == 'list' ? 'icons' : 'list'; fm.storage('view', value); return fm.lazy(function() { fm.viewchange(); self.update(void(0), value); this.resolve(); }); }; fm.bind('init', function() { subMenuRaw = (function() { var cwd = fm.getUI('cwd'), raws = [], sizeNames = fm.options.uiOptions.cwd.iconsView.sizeNames, max = fm.options.uiOptions.cwd.iconsView.sizeMax, i, size; for (i = 0; i <= max; i++) { raws.push( { label : fm.i18n(sizeNames[i] || ('Size-' + i + ' icons')), icon : 'view', callback : (function(s) { return function() { cwd.trigger('iconpref', {size: s}); fm.storage('iconsize', s); if (self.value === 'list') { self.exec(); } }; })(i) } ); } raws.push('|'); raws.push( { label : fm.i18n('viewlist'), icon : 'view-list', callback : function() { if (self.value !== 'list') { self.exec(); } } } ); return raws; })(); }).bind('contextmenucreate', function() { self.extra = { icon: 'menu', node: jQuery('') .attr({title: fm.i18n('cmdview')}) .on('click touchstart', function(e){ if (e.type === 'touchstart' && e.originalEvent.touches.length > 1) { return; } var node = jQuery(this), raw = subMenuRaw.concat(), idx, i; if (self.value === 'list') { idx = subMenuRaw.length - 1; } else { idx = parseInt(fm.storage('iconsize') || 0); } for (i = 0; i < subMenuRaw.length; i++) { if (subMenuRaw[i] !== '|') { subMenuRaw[i].options = (i === idx? {'className': 'ui-state-active'} : void(0)) ; } } e.stopPropagation(); e.preventDefault(); fm.trigger('contextmenu', { raw: subMenuRaw, x: node.offset().left, y: node.offset().top }); }) }; }); }; wp-file-manager/lib/js/extras/editors.default.js000064400000244433151202472330015652 0ustar00(function(editors, elFinder) { if (typeof define === 'function' && define.amd) { define(['elfinder'], editors); } else if (elFinder) { var optEditors = elFinder.prototype._options.commandsOptions.edit.editors; elFinder.prototype._options.commandsOptions.edit.editors = optEditors.concat(editors(elFinder)); } }(function(elFinder) { "use strict"; var apps = {}, // get query of getfile getfile = window.location.search.match(/getfile=([a-z]+)/), useRequire = elFinder.prototype.hasRequire, ext2mime = { bmp: 'image/x-ms-bmp', dng: 'image/x-adobe-dng', gif: 'image/gif', jpeg: 'image/jpeg', jpg: 'image/jpeg', pdf: 'application/pdf', png: 'image/png', ppm: 'image/x-portable-pixmap', psd: 'image/vnd.adobe.photoshop', pxd: 'image/x-pixlr-data', svg: 'image/svg+xml', tiff: 'image/tiff', webp: 'image/webp', xcf: 'image/x-xcf', sketch: 'application/x-sketch', ico: 'image/x-icon', dds: 'image/vnd-ms.dds', emf: 'application/x-msmetafile' }, mime2ext, getExtention = function(mime, fm, jpeg) { if (!mime2ext) { mime2ext = fm.arrayFlip(ext2mime); } var ext = mime2ext[mime] || fm.mimeTypes[mime]; if (!jpeg) { if (ext === 'jpeg') { ext = 'jpg'; } } else { if (ext === 'jpg') { ext = 'jpeg'; } } return ext; }, changeImageType = function(src, toMime) { var dfd = jQuery.Deferred(); try { var canvas = document.createElement('canvas'), ctx = canvas.getContext('2d'), img = new Image(), conv = function() { var url = canvas.toDataURL(toMime), mime, m; if (m = url.match(/^data:([a-z0-9]+\/[a-z0-9.+-]+)/i)) { mime = m[1]; } else { mime = ''; } if (mime.toLowerCase() === toMime.toLowerCase()) { dfd.resolve(canvas.toDataURL(toMime), canvas); } else { dfd.reject(); } }; img.src = src; jQuery(img).on('load', function() { try { canvas.width = img.width; canvas.height = img.height; ctx.drawImage(img, 0, 0); conv(); } catch(e) { dfd.reject(); } }).on('error', function () { dfd.reject(); }); return dfd; } catch(e) { return dfd.reject(); } }, initImgTag = function(id, file, content, fm) { var node = jQuery(this).children('img:first').data('ext', getExtention(file.mime, fm)), spnr = jQuery('
                  ') .html('' + fm.i18n('ntfloadimg') + '') .hide() .appendTo(this), setup = function() { node.attr('id', id+'-img') .attr('src', url || content) .css({'height':'', 'max-width':'100%', 'max-height':'100%', 'cursor':'pointer'}) .data('loading', function(done) { var btns = node.closest('.elfinder-dialog').find('button,.elfinder-titlebar-button'); btns.prop('disabled', !done)[done? 'removeClass' : 'addClass']('ui-state-disabled'); node.css('opacity', done? '' : '0.3'); spnr[done? 'hide' : 'show'](); return node; }); }, url; if (!content.match(/^data:/)) { fm.openUrl(file.hash, false, function(v) { url = v; node.attr('_src', content); setup(); }); } else { setup(); } }, imgBase64 = function(node, mime) { var style = node.attr('style'), img, canvas, ctx, data; try { // reset css for getting image size node.attr('style', ''); // img node img = node.get(0); // New Canvas canvas = document.createElement('canvas'); canvas.width = img.width; canvas.height = img.height; // restore css node.attr('style', style); // Draw Image canvas.getContext('2d').drawImage(img, 0, 0); // To Base64 data = canvas.toDataURL(mime); } catch(e) { data = node.attr('src'); } return data; }, iframeClose = function(ifm) { var $ifm = jQuery(ifm), dfd = jQuery.Deferred().always(function() { $ifm.off('load', load); }), ab = 'about:blank', chk = function() { tm = setTimeout(function() { var src; try { src = base.contentWindow.location.href; } catch(e) { src = null; } if (src === ab) { dfd.resolve(); } else if (--cnt > 0){ chk(); } else { dfd.reject(); } }, 500); }, load = function() { tm && clearTimeout(tm); dfd.resolve(); }, cnt = 20, // 500ms * 20 = 10sec wait tm; $ifm.one('load', load); ifm.src = ab; chk(); return dfd; }; // check getfile callback function if (getfile) { getfile = getfile[1]; if (getfile === 'ckeditor') { elFinder.prototype._options.getFileCallback = function(file, fm) { window.opener.CKEDITOR.tools.callFunction((function() { var reParam = new RegExp('(?:[\?&]|&)CKEditorFuncNum=([^&]+)', 'i'), match = window.location.search.match(reParam); return (match && match.length > 1) ? match[1] : ''; })(), fm.convAbsUrl(file.url)); fm.destroy(); window.close(); }; } } // return editors Array return [ { // tui.image-editor - https://github.com/nhnent/tui.image-editor info : { id: 'tuiimgedit', name: 'TUI Image Editor', iconImg: 'img/editor-icons.png 0 -48', dataScheme: true, schemeContent: true, openMaximized: true, canMakeEmpty: false, integrate: { title: 'TOAST UI Image Editor', link: 'http://ui.toast.com/tui-image-editor/' } }, // MIME types to accept mimes : ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml', 'image/x-ms-bmp'], // HTML of this editor html : '
                  ', // called on initialization of elFinder cmd edit (this: this editor's config object) setup : function(opts, fm) { if (fm.UA.ltIE8 || fm.UA.Mobile) { this.disabled = true; } else { this.opts = Object.assign({ version: 'v3.14.3' }, opts.extraOptions.tuiImgEditOpts || {}, { iconsPath : fm.baseUrl + 'img/tui-', theme : {} }); if (!fm.isSameOrigin(this.opts.iconsPath)) { this.disabled = true; fm.debug('warning', 'Setting `commandOptions.edit.extraOptions.tuiImgEditOpts.iconsPath` MUST follow the same origin policy.'); } } }, // Initialization of editing node (this: this editors HTML node) init : function(id, file, content, fm) { this.data('url', content); }, load : function(base) { var self = this, fm = this.fm, dfrd = jQuery.Deferred(), cdns = fm.options.cdns, ver = self.confObj.opts.version, init = function(editor) { var $base = jQuery(base), bParent = $base.parent(), opts = self.confObj.opts, iconsPath = opts.iconsPath, tmpContainer = jQuery('
                  ').appendTo(bParent), tmpDiv = [ jQuery('
                  ').appendTo(tmpContainer), jQuery('
                  ').appendTo(tmpContainer) ], iEditor = new editor(base, { includeUI: { loadImage: { path: $base.data('url'), name: self.file.name }, theme: Object.assign(opts.theme, { 'menu.normalIcon.path': iconsPath + 'icon-d.svg', 'menu.normalIcon.name': 'icon-d', 'menu.activeIcon.path': iconsPath + 'icon-b.svg', 'menu.activeIcon.name': 'icon-b', 'menu.disabledIcon.path': iconsPath + 'icon-a.svg', 'menu.disabledIcon.name': 'icon-a', 'menu.hoverIcon.path': iconsPath + 'icon-c.svg', 'menu.hoverIcon.name': 'icon-c', 'submenu.normalIcon.path': iconsPath + 'icon-d.svg', 'submenu.normalIcon.name': 'icon-d', 'submenu.activeIcon.path': iconsPath + 'icon-c.svg', 'submenu.activeIcon.name': 'icon-c' }), initMenu: 'filter', menuBarPosition: 'bottom' }, cssMaxWidth: Math.max(300, bParent.width()), cssMaxHeight: Math.max(200, bParent.height() - (tmpDiv[0].height() + tmpDiv[1].height() + 3 /*margin*/)), usageStatistics: false }), canvas = $base.find('canvas:first').get(0), zoom = function(v) { if (typeof v !== 'undefined') { var c = jQuery(canvas), w = parseInt(c.attr('width')), h = parseInt(c.attr('height')), a = w / h, mw, mh; if (v === 0) { mw = w; mh = h; } else { mw = parseInt(c.css('max-width')) + Number(v); mh = mw / a; if (mw > w && mh > h) { mw = w; mh = h; } } per.text(Math.round(mw / w * 100) + '%'); iEditor.resizeCanvasDimension({width: mw, height: mh}); // continually change more if (zoomMore) { setTimeout(function() { zoomMore && zoom(v); }, 50); } } }, zup = jQuery('').data('val', 10), zdown = jQuery('').data('val', -10), per = jQuery('').css('width', '4em').text('%').attr('title', '100%').data('val', 0), quty, qutyTm, zoomTm, zoomMore; tmpContainer.remove(); $base.removeData('url').data('mime', self.file.mime); // jpeg quality controls if (self.file.mime === 'image/jpeg') { $base.data('quality', fm.storage('jpgQuality') || fm.option('jpgQuality')); quty = jQuery('') .attr('min', '1') .attr('max', '100') .attr('title', '1 - 100') .on('change', function() { var q = quty.val(); $base.data('quality', q); qutyTm && cancelAnimationFrame(qutyTm); qutyTm = requestAnimationFrame(function() { canvas.toBlob(function(blob) { blob && quty.next('span').text(' (' + fm.formatSize(blob.size) + ')'); }, 'image/jpeg', Math.max(Math.min(q, 100), 1) / 100); }); }) .val($base.data('quality')); jQuery('
                  ') .append( jQuery('').html(fm.i18n('quality') + ' : '), quty, jQuery('') ) .prependTo($base.parent().next()); } else if (self.file.mime === 'image/svg+xml') { $base.closest('.ui-dialog').trigger('changeType', { extention: 'png', mime : 'image/png', keepEditor: true }); } // zoom scale controls jQuery('
                  ') .append( zdown, per, zup ) .attr('title', fm.i18n('scale')) .on('click', 'span,button', function() { zoom(jQuery(this).data('val')); }) .on('mousedown mouseup mouseleave', 'span', function(e) { zoomMore = false; zoomTm && clearTimeout(zoomTm); if (e.type === 'mousedown') { zoomTm = setTimeout(function() { zoomMore = true; zoom(jQuery(e.target).data('val')); }, 500); } }) .prependTo($base.parent().next()); // wait canvas ready setTimeout(function() { dfrd.resolve(iEditor); if (quty) { quty.trigger('change'); iEditor.on('redoStackChanged undoStackChanged', function() { quty.trigger('change'); }); } // show initial scale zoom(null); }, 100); // show color slider (maybe TUI-Image-Editor's bug) // see https://github.com/nhn/tui.image-editor/issues/153 $base.find('.tui-colorpicker-palette-container').on('click', '.tui-colorpicker-palette-preview', function() { jQuery(this).closest('.color-picker-control').height('auto').find('.tui-colorpicker-slider-container').toggle(); }); $base.on('click', function() { $base.find('.tui-colorpicker-slider-container').hide(); }); }, loader; if (!self.confObj.editor) { loader = jQuery.Deferred(); fm.loadCss([ cdns.tui + '/tui-color-picker/latest/tui-color-picker.css', cdns.tui + '/tui-image-editor/'+ver+'/tui-image-editor.css' ]); if (fm.hasRequire) { require.config({ paths : { 'fabric/dist/fabric.require' : cdns.fabric + '/fabric.require.min', // for fabric < 2.0.1 'fabric' : cdns.fabric + '/fabric.min', // for fabric >= 2.0.1 'tui-code-snippet' : cdns.tui + '/tui.code-snippet/latest/tui-code-snippet.min', 'tui-color-picker' : cdns.tui + '/tui-color-picker/latest/tui-color-picker.min', 'tui-image-editor' : cdns.tui + '/tui-image-editor/'+ver+'/tui-image-editor.min' } }); require(['tui-image-editor'], function(ImageEditor) { loader.resolve(ImageEditor); }); } else { fm.loadScript([ cdns.fabric + '/fabric.min.js', cdns.tui + '/tui.code-snippet/latest/tui-code-snippet.min.js' ], function() { fm.loadScript([ cdns.tui + '/tui-color-picker/latest/tui-color-picker.min.js' ], function() { fm.loadScript([ cdns.tui + '/tui-image-editor/'+ver+'/tui-image-editor.min.js' ], function() { loader.resolve(window.tui.ImageEditor); }, { loadType: 'tag' }); }, { loadType: 'tag' }); }, { loadType: 'tag' }); } loader.done(function(editor) { self.confObj.editor = editor; init(editor); }); } else { init(self.confObj.editor); } return dfrd; }, getContent : function(base) { var editor = this.editor, fm = editor.fm, $base = jQuery(base), quality = $base.data('quality'); if (editor.instance) { if ($base.data('mime') === 'image/jpeg') { quality = quality || fm.storage('jpgQuality') || fm.option('jpgQuality'); quality = Math.max(0.1, Math.min(1, quality / 100)); } return editor.instance.toDataURL({ format: getExtention($base.data('mime'), fm, true), quality: quality }); } }, save : function(base) { var $base = jQuery(base), quality = $base.data('quality'), hash = $base.data('hash'), file; this.instance.deactivateAll(); if (typeof quality !== 'undefined') { this.fm.storage('jpgQuality', quality); } if (hash) { file = this.fm.file(hash); $base.data('mime', file.mime); } } }, { // Photopea advanced image editor info : { id : 'photopea', name : 'Photopea', iconImg : 'img/editor-icons.png 0 -160', single: true, noContent: true, arrayBufferContent: true, openMaximized: true, // Disable file types that cannot be saved on Photopea. canMakeEmpty: ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml', 'image/x-ms-bmp', 'image/tiff', /*'image/x-adobe-dng',*/ 'image/webp', /*'image/x-xcf',*/ 'image/vnd.adobe.photoshop', 'application/pdf', 'image/x-portable-pixmap', 'image/x-sketch', 'image/x-icon', 'image/vnd-ms.dds', /*'application/x-msmetafile'*/], integrate: { title: 'Photopea', link: 'https://www.photopea.com/learn/' } }, mimes : ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml', 'image/x-ms-bmp', 'image/tiff', 'image/x-adobe-dng', 'image/webp', 'image/x-xcf', 'image/vnd.adobe.photoshop', 'application/pdf', 'image/x-portable-pixmap', 'image/x-sketch', 'image/x-icon', 'image/vnd-ms.dds', 'application/x-msmetafile'], html : '', // setup on elFinder bootup setup : function(opts, fm) { if (fm.UA.IE || fm.UA.Mobile) { this.disabled = true; } }, // Initialization of editing node (this: this editors HTML node) init : function(id, file, dum, fm) { var orig = 'https://www.photopea.com', ifm = jQuery(this).hide() //.css('box-sizing', 'border-box') .on('load', function() { //spnr.remove(); ifm.show(); }) .on('error', function() { spnr.remove(); ifm.show(); }), editor = this.editor, confObj = editor.confObj, spnr = jQuery('
                  ') .html('' + fm.i18n('nowLoading') + '') .appendTo(ifm.parent()), saveMimes = fm.arrayFlip(confObj.info.canMakeEmpty), getType = function(mime) { var ext = getExtention(mime, fm), extmime = ext2mime[ext]; if (!confObj.mimesFlip[extmime]) { ext = ''; } else if (ext === 'jpeg') { ext = 'jpg'; } if (!ext || !saveMimes[extmime]) { ext = 'psd'; extmime = ext2mime[ext]; ifm.closest('.ui-dialog').trigger('changeType', { extention: ext, mime : extmime, keepEditor: true }); } return ext; }, mime = file.mime, liveMsg, type, quty; if (!confObj.mimesFlip) { confObj.mimesFlip = fm.arrayFlip(confObj.mimes, true); } if (!confObj.liveMsg) { confObj.liveMsg = function(ifm, spnr, file) { var wnd = ifm.get(0).contentWindow, phase = 0, data = null, dfdIni = jQuery.Deferred().done(function() { spnr.remove(); phase = 1; wnd.postMessage(data, orig); }), dfdGet; this.load = function() { return fm.getContents(file.hash, 'arraybuffer').done(function(d) { data = d; }); }; this.receive = function(e) { var ev = e.originalEvent, state; if (ev.origin === orig && ev.source === wnd) { if (ev.data === 'done') { if (phase === 0) { dfdIni.resolve(); } else if (phase === 1) { phase = 2; ifm.trigger('contentsloaded'); } else { if (dfdGet && dfdGet.state() === 'pending') { dfdGet.reject('errDataEmpty'); } } } else if (ev.data === 'Save') { editor.doSave(); } else { if (dfdGet && dfdGet.state() === 'pending') { if (typeof ev.data === 'object') { dfdGet.resolve('data:' + mime + ';base64,' + fm.arrayBufferToBase64(ev.data)); } else { dfdGet.reject('errDataEmpty'); } } } } }; this.getContent = function() { var type, q; if (phase > 1) { dfdGet && dfdGet.state() === 'pending' && dfdGet.reject(); dfdGet = null; dfdGet = jQuery.Deferred(); if (phase === 2) { phase = 3; dfdGet.resolve('data:' + mime + ';base64,' + fm.arrayBufferToBase64(data)); data = null; return dfdGet; } if (ifm.data('mime')) { mime = ifm.data('mime'); type = getType(mime); } if (q = ifm.data('quality')) { type += ':' + (q / 100); } wnd.postMessage('app.activeDocument.saveToOE("' + type + '")', orig); return dfdGet; } }; }; } ifm.parent().css('padding', 0); type = getType(file.mime); liveMsg = editor.liveMsg = new confObj.liveMsg(ifm, spnr, file); jQuery(window).on('message.' + fm.namespace, liveMsg.receive); liveMsg.load().done(function() { var d = JSON.stringify({ files : [], environment : { lang: fm.lang.replace(/_/g, '-'), customIO: {"save": "app.echoToOE(\"Save\");"} } }); ifm.attr('src', orig + '/#' + encodeURI(d)); }).fail(function(err) { err && fm.error(err); editor.initFail = true; }); // jpeg quality controls if (file.mime === 'image/jpeg' || file.mime === 'image/webp') { ifm.data('quality', fm.storage('jpgQuality') || fm.option('jpgQuality')); quty = jQuery('') .attr('min', '1') .attr('max', '100') .attr('title', '1 - 100') .on('change', function() { var q = quty.val(); ifm.data('quality', q); }) .val(ifm.data('quality')); jQuery('
                  ') .append( jQuery('').html(fm.i18n('quality') + ' : '), quty, jQuery('') ) .prependTo(ifm.parent().next()); } }, load : function(base) { var dfd = jQuery.Deferred(), self = this, fm = this.fm, $base = jQuery(base); if (self.initFail) { dfd.reject(); } else { $base.on('contentsloaded', function() { dfd.resolve(self.liveMsg); }); } return dfd; }, getContent : function() { return this.editor.liveMsg? this.editor.liveMsg.getContent() : void(0); }, save : function(base, liveMsg) { var $base = jQuery(base), quality = $base.data('quality'), hash = $base.data('hash'), file; if (typeof quality !== 'undefined') { this.fm.storage('jpgQuality', quality); } if (hash) { file = this.fm.file(hash); $base.data('mime', file.mime); } else { $base.removeData('mime'); } }, // On dialog closed close : function(base, liveMsg) { jQuery(base).attr('src', ''); liveMsg && jQuery(window).off('message.' + this.fm.namespace, liveMsg.receive); } }, { // Pixo is cross-platform image editor info : { id : 'pixo', name : 'Pixo Editor', iconImg : 'img/editor-icons.png 0 -208', dataScheme: true, schemeContent: true, single: true, canMakeEmpty: false, integrate: { title: 'Pixo Editor', link: 'https://pixoeditor.com/privacy-policy/' } }, // MIME types to accept mimes : ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml', 'image/x-ms-bmp'], // HTML of this editor html : '
                  ', // called on initialization of elFinder cmd edit (this: this editor's config object) setup : function(opts, fm) { if (fm.UA.ltIE8 || !opts.extraOptions || !opts.extraOptions.pixo || !opts.extraOptions.pixo.apikey) { this.disabled = true; } else { this.editorOpts = opts.extraOptions.pixo; } }, // Initialization of editing node (this: this editors HTML node) init : function(id, file, content, fm) { initImgTag.call(this, id, file, content, fm); }, // Get data uri scheme (this: this editors HTML node) getContent : function() { return jQuery(this).children('img:first').attr('src'); }, // Launch Pixo editor when dialog open load : function(base) { var self = this, fm = this.fm, $base = jQuery(base), node = $base.children('img:first'), dialog = $base.closest('.ui-dialog'), elfNode = fm.getUI(), dfrd = jQuery.Deferred(), container = jQuery('#elfinder-pixo-container'), init = function(onload) { var opts; if (!container.length) { container = jQuery('
                  ').css({ position: 'fixed', top: 0, right: 0, width: '100%', height: jQuery(window).height(), overflow: 'hidden' }).hide().appendTo(elfNode.hasClass('elfinder-fullscreen')? elfNode : 'body'); // bind switch fullscreen event elfNode.on('resize.'+fm.namespace, function(e, data) { e.preventDefault(); e.stopPropagation(); data && data.fullscreen && container.appendTo(data.fullscreen === 'on'? elfNode : 'body'); }); fm.bind('destroy', function() { editor && editor.cancelEditing(); container.remove(); }); } else { // always moves to last container.appendTo(container.parent()); } node.on('click', launch); // Constructor options opts = Object.assign({ type: 'child', parent: container.get(0), output: {format: 'png'}, onSave: function(arg) { // Check current file.hash, all callbacks are called on multiple instances var mime = arg.toBlob().type, ext = getExtention(mime, fm), draw = function(url) { node.one('load error', function() { node.data('loading') && node.data('loading')(true); }) .attr('crossorigin', 'anonymous') .attr('src', url); }, url = arg.toDataURL(); node.data('loading')(); delete base._canvas; if (node.data('ext') !== ext) { changeImageType(url, self.file.mime).done(function(res, cv) { if (cv) { base._canvas = canvas = cv; quty.trigger('change'); qBase && qBase.show(); } draw(res); }).fail(function() { dialog.trigger('changeType', { extention: ext, mime : mime }); draw(url); }); } else { draw(url); } }, onClose: function() { dialog.removeClass(fm.res('class', 'preventback')); fm.toggleMaximize(container, false); container.hide(); fm.toFront(dialog); } }, self.confObj.editorOpts); // trigger event 'editEditorPrepare' self.trigger('Prepare', { node: base, editorObj: Pixo, instance: void(0), opts: opts }); // make editor instance editor = new Pixo.Bridge(opts); dfrd.resolve(editor); $base.on('saveAsFail', launch); if (onload) { onload(); } }, launch = function() { dialog.addClass(fm.res('class', 'preventback')); fm.toggleMaximize(container, true); fm.toFront(container); container.show().data('curhash', self.file.hash); editor.edit(node.get(0)); node.data('loading')(true); }, qBase, quty, qutyTm, canvas, editor; node.data('loading')(); // jpeg quality controls if (self.file.mime === 'image/jpeg') { quty = jQuery('') .attr('min', '1') .attr('max', '100') .attr('title', '1 - 100') .on('change', function() { var q = quty.val(); qutyTm && cancelAnimationFrame(qutyTm); qutyTm = requestAnimationFrame(function() { if (canvas) { canvas.toBlob(function(blob) { blob && quty.next('span').text(' (' + fm.formatSize(blob.size) + ')'); }, 'image/jpeg', Math.max(Math.min(q, 100), 1) / 100); } }); }) .val(fm.storage('jpgQuality') || fm.option('jpgQuality')); qBase = jQuery('
                  ') .hide() .append( jQuery('').html(fm.i18n('quality') + ' : '), quty, jQuery('') ) .prependTo($base.parent().next()); $base.data('quty', quty); } // load script then init if (typeof Pixo === 'undefined') { fm.loadScript(['https://pixoeditor.com:8443/editor/scripts/bridge.m.js'], function() { init(launch); }, {loadType: 'tag'}); } else { init(); launch(); } return dfrd; }, // Convert content url to data uri scheme to save content save : function(base) { var self = this, $base = jQuery(base), node = $base.children('img:first'), q; if (base._canvas) { if ($base.data('quty')) { q = $base.data('quty').val(); q && this.fm.storage('jpgQuality', q); } node.attr('src', base._canvas.toDataURL(self.file.mime, q? Math.max(Math.min(q, 100), 1) / 100 : void(0))); } else if (node.attr('src').substr(0, 5) !== 'data:') { node.attr('src', imgBase64(node, this.file.mime)); } }, close : function(base, editor) { editor && editor.destroy(); } }, { // ACE Editor // called on initialization of elFinder cmd edit (this: this editor's config object) setup : function(opts, fm) { if (fm.UA.ltIE8 || !fm.options.cdns.ace) { this.disabled = true; } }, // `mimes` is not set for support everything kind of text file info : { id : 'aceeditor', name : 'ACE Editor', iconImg : 'img/editor-icons.png 0 -96' }, load : function(textarea) { var self = this, fm = this.fm, dfrd = jQuery.Deferred(), cdn = fm.options.cdns.ace, start = function() { var editor, editorBase, mode, ta = jQuery(textarea), taBase = ta.parent(), dialog = taBase.parent(), id = textarea.id + '_ace', ext = self.file.name.replace(/^.+\.([^.]+)|(.+)$/, '$1$2').toLowerCase(), // MIME/mode map mimeMode = { 'text/x-php' : 'php', 'application/x-php' : 'php', 'text/html' : 'html', 'application/xhtml+xml' : 'html', 'text/javascript' : 'javascript', 'application/javascript' : 'javascript', 'text/css' : 'css', 'text/x-c' : 'c_cpp', 'text/x-csrc' : 'c_cpp', 'text/x-chdr' : 'c_cpp', 'text/x-c++' : 'c_cpp', 'text/x-c++src' : 'c_cpp', 'text/x-c++hdr' : 'c_cpp', 'text/x-shellscript' : 'sh', 'application/x-csh' : 'sh', 'text/x-python' : 'python', 'text/x-java' : 'java', 'text/x-java-source' : 'java', 'text/x-ruby' : 'ruby', 'text/x-perl' : 'perl', 'application/x-perl' : 'perl', 'text/x-sql' : 'sql', 'text/xml' : 'xml', 'application/docbook+xml' : 'xml', 'application/xml' : 'xml' }; // set base height taBase.height(taBase.height()); // set basePath of ace ace.config.set('basePath', cdn); // Base node of Ace editor editorBase = jQuery('
                  ').text(ta.val()).insertBefore(ta.hide()); // Editor flag ta.data('ace', true); // Aceeditor instance editor = ace.edit(id); // Ace editor configure editor.$blockScrolling = Infinity; editor.setOptions({ theme: 'ace/theme/monokai', fontSize: '14px', wrap: true, }); ace.config.loadModule('ace/ext/modelist', function() { // detect mode mode = ace.require('ace/ext/modelist').getModeForPath('/' + self.file.name).name; if (mode === 'text') { if (mimeMode[self.file.mime]) { mode = mimeMode[self.file.mime]; } } // show MIME:mode in title bar taBase.prev().children('.elfinder-dialog-title').append(' (' + self.file.mime + ' : ' + mode.split(/[\/\\]/).pop() + ')'); editor.setOptions({ mode: 'ace/mode/' + mode }); if (dfrd.state() === 'resolved') { dialog.trigger('resize'); } }); ace.config.loadModule('ace/ext/language_tools', function() { ace.require('ace/ext/language_tools'); editor.setOptions({ enableBasicAutocompletion: true, enableSnippets: true, enableLiveAutocompletion: false }); }); ace.config.loadModule('ace/ext/settings_menu', function() { ace.require('ace/ext/settings_menu').init(editor); }); // Short cuts editor.commands.addCommand({ name : "saveFile", bindKey: { win : 'Ctrl-s', mac : 'Command-s' }, exec: function(editor) { self.doSave(); } }); editor.commands.addCommand({ name : "closeEditor", bindKey: { win : 'Ctrl-w|Ctrl-q', mac : 'Command-w|Command-q' }, exec: function(editor) { self.doCancel(); } }); editor.resize(); // TextArea button and Setting button jQuery('
                  ').css('float', 'left') .append( jQuery('').html(self.fm.i18n('TextArea')) .button() .on('click', function(){ if (ta.data('ace')) { ta.removeData('ace'); editorBase.hide(); ta.val(editor.session.getValue()).show().trigger('focus'); jQuery(this).text('AceEditor'); } else { ta.data('ace', true); editorBase.show(); editor.setValue(ta.hide().val(), -1); editor.focus(); jQuery(this).html(self.fm.i18n('TextArea')); } }) ) .append( jQuery('') .button({ icons: { primary: 'ui-icon-gear', secondary: 'ui-icon-triangle-1-e' }, text: false }) .on('click', function(){ editor.showSettingsMenu(); jQuery('#ace_settingsmenu') .css('font-size', '80%') .find('div[contains="setOptions"]').hide().end() .parent().appendTo(jQuery('#elfinder')); }) ) .prependTo(taBase.next()); // trigger event 'editEditorPrepare' self.trigger('Prepare', { node: textarea, editorObj: ace, instance: editor, opts: {} }); //dialog.trigger('resize'); dfrd.resolve(editor); }; // check ace & start if (!self.confObj.loader) { self.confObj.loader = jQuery.Deferred(); self.fm.loadScript([ cdn+'/ace.js' ], function() { self.confObj.loader.resolve(); }, void 0, {obj: window, name: 'ace'}); } self.confObj.loader.done(start); return dfrd; }, close : function(textarea, instance) { instance && instance.destroy(); }, save : function(textarea, instance) { instance && jQuery(textarea).data('ace') && (textarea.value = instance.session.getValue()); }, focus : function(textarea, instance) { instance && jQuery(textarea).data('ace') && instance.focus(); }, resize : function(textarea, instance, e, data) { instance && instance.resize(); } }, { // CodeMirror // called on initialization of elFinder cmd edit (this: this editor's config object) setup : function(opts, fm) { if (fm.UA.ltIE10 || !fm.options.cdns.codemirror) { this.disabled = true; } }, // `mimes` is not set for support everything kind of text file info : { id : 'codemirror', name : 'CodeMirror', iconImg : 'img/editor-icons.png 0 -176' }, load : function(textarea) { var fm = this.fm, cmUrl = fm.convAbsUrl(fm.options.cdns.codemirror), dfrd = jQuery.Deferred(), self = this, start = function(CodeMirror) { var ta = jQuery(textarea), base = ta.parent(), editor, editorBase, opts; // set base height base.height(base.height()); // CodeMirror configure options opts = { lineNumbers: true, lineWrapping: true, extraKeys : { 'Ctrl-S': function() { self.doSave(); }, 'Ctrl-Q': function() { self.doCancel(); }, 'Ctrl-W': function() { self.doCancel(); } } }; // trigger event 'editEditorPrepare' self.trigger('Prepare', { node: textarea, editorObj: CodeMirror, instance: void(0), opts: opts }); // CodeMirror configure editor = CodeMirror.fromTextArea(textarea, opts); // return editor instance dfrd.resolve(editor); // Auto mode set var info, m, mode, spec; if (! info) { info = CodeMirror.findModeByMIME(self.file.mime); } if (! info && (m = self.file.name.match(/.+\.([^.]+)$/))) { info = CodeMirror.findModeByExtension(m[1]); } if (info) { CodeMirror.modeURL = useRequire? 'codemirror/mode/%N/%N.min' : cmUrl + '/mode/%N/%N.min.js'; mode = info.mode; spec = info.mime; editor.setOption('mode', spec); CodeMirror.autoLoadMode(editor, mode); // show MIME:mode in title bar base.prev().children('.elfinder-dialog-title').append(' (' + spec + (mode != 'null'? ' : ' + mode : '') + ')'); } // editor base node editorBase = jQuery(editor.getWrapperElement()).css({ // fix CSS conflict to SimpleMDE padding: 0, border: 'none' }); ta.data('cm', true); // fit height to base editorBase.height('100%'); // TextArea button and Setting button jQuery('
                  ').css('float', 'left') .append( jQuery('').html(self.fm.i18n('TextArea')) .button() .on('click', function(){ if (ta.data('cm')) { ta.removeData('cm'); editorBase.hide(); ta.val(editor.getValue()).show().trigger('focus'); jQuery(this).text('CodeMirror'); } else { ta.data('cm', true); editorBase.show(); editor.setValue(ta.hide().val()); editor.refresh(); editor.focus(); jQuery(this).html(self.fm.i18n('TextArea')); } }) ) .prependTo(base.next()); }; // load script then start if (!self.confObj.loader) { self.confObj.loader = jQuery.Deferred(); if (useRequire) { require.config({ packages: [{ name: 'codemirror', location: cmUrl, main: 'codemirror.min' }], map: { 'codemirror': { 'codemirror/lib/codemirror': 'codemirror' } } }); require([ 'codemirror', 'codemirror/addon/mode/loadmode.min', 'codemirror/mode/meta.min' ], function(CodeMirror) { self.confObj.loader.resolve(CodeMirror); }); } else { self.fm.loadScript([ cmUrl + '/codemirror.min.js' ], function() { self.fm.loadScript([ cmUrl + '/addon/mode/loadmode.min.js', cmUrl + '/mode/meta.min.js' ], function() { self.confObj.loader.resolve(CodeMirror); }); }, {loadType: 'tag'}); } self.fm.loadCss(cmUrl + '/codemirror.css'); } self.confObj.loader.done(start); return dfrd; }, close : function(textarea, instance) { instance && instance.toTextArea(); }, save : function(textarea, instance) { instance && jQuery(textarea).data('cm') && (textarea.value = instance.getValue()); }, focus : function(textarea, instance) { instance && jQuery(textarea).data('cm') && instance.focus(); }, resize : function(textarea, instance, e, data) { instance && instance.refresh(); } }, { // SimpleMDE // called on initialization of elFinder cmd edit (this: this editor's config object) setup : function(opts, fm) { if (fm.UA.ltIE10 || !fm.options.cdns.simplemde) { this.disabled = true; } }, info : { id : 'simplemde', name : 'SimpleMDE', iconImg : 'img/editor-icons.png 0 -80' }, exts : ['md'], load : function(textarea) { var self = this, fm = this.fm, base = jQuery(textarea).parent(), dfrd = jQuery.Deferred(), cdn = fm.options.cdns.simplemde, start = function(SimpleMDE) { var h = base.height(), delta = base.outerHeight(true) - h + 14, editor, editorBase, opts; // fit height function textarea._setHeight = function(height) { var h = height || base.height(), ctrH = 0, areaH; base.children('.editor-toolbar,.editor-statusbar').each(function() { ctrH += jQuery(this).outerHeight(true); }); areaH = h - ctrH - delta; editorBase.height(areaH); editor.codemirror.refresh(); return areaH; }; // set base height base.height(h); opts = { element: textarea, autofocus: true }; // trigger event 'editEditorPrepare' self.trigger('Prepare', { node: textarea, editorObj: SimpleMDE, instance: void(0), opts: opts }); // make editor editor = new SimpleMDE(opts); dfrd.resolve(editor); // editor base node editorBase = jQuery(editor.codemirror.getWrapperElement()); // fit height to base editorBase.css('min-height', '50px') .children('.CodeMirror-scroll').css('min-height', '50px'); textarea._setHeight(h); }; // check SimpleMDE & start if (!self.confObj.loader) { self.confObj.loader = jQuery.Deferred(); self.fm.loadCss(cdn+'/simplemde.min.css'); if (useRequire) { require([ cdn+'/simplemde.min.js' ], function(SimpleMDE) { self.confObj.loader.resolve(SimpleMDE); }); } else { self.fm.loadScript([cdn+'/simplemde.min.js'], function() { self.confObj.loader.resolve(SimpleMDE); }, {loadType: 'tag'}); } } self.confObj.loader.done(start); return dfrd; }, close : function(textarea, instance) { instance && instance.toTextArea(); instance = null; }, save : function(textarea, instance) { instance && (textarea.value = instance.value()); }, focus : function(textarea, instance) { instance && instance.codemirror.focus(); }, resize : function(textarea, instance, e, data) { instance && textarea._setHeight(); } }, { // CKEditor for html file info : { id : 'ckeditor', name : 'CKEditor', iconImg : 'img/editor-icons.png 0 0' }, exts : ['htm', 'html', 'xhtml'], setup : function(opts, fm) { var confObj = this; if (!fm.options.cdns.ckeditor) { confObj.disabled = true; } else { confObj.ckeOpts = {}; if (opts.extraOptions) { confObj.ckeOpts = Object.assign({}, opts.extraOptions.ckeditor || {}); if (opts.extraOptions.managerUrl) { confObj.managerUrl = opts.extraOptions.managerUrl; } } } }, load : function(textarea) { var self = this, fm = this.fm, dfrd = jQuery.Deferred(), init = function() { var base = jQuery(textarea).parent(), dlg = base.closest('.elfinder-dialog'), h = base.height(), reg = /([&?]getfile=)[^&]+/, loc = self.confObj.managerUrl || window.location.href.replace(/#.*$/, ''), name = 'ckeditor', opts; // make manager location if (reg.test(loc)) { loc = loc.replace(reg, '$1' + name); } else { loc += '?getfile=' + name; } // set base height base.height(h); // CKEditor configure options opts = { startupFocus : true, fullPage: true, allowedContent: true, filebrowserBrowseUrl : loc, toolbarCanCollapse: true, toolbarStartupExpanded: !fm.UA.Mobile, removePlugins: 'resize', extraPlugins: 'colorbutton,justify,docprops', on: { 'instanceReady' : function(e) { var editor = e.editor; editor.resize('100%', h); // re-build on dom move dlg.one('beforedommove.'+fm.namespace, function() { editor.destroy(); }).one('dommove.'+fm.namespace, function() { self.load(textarea).done(function(editor) { self.instance = editor; }); }); // return editor instance dfrd.resolve(e.editor); } } }; // trigger event 'editEditorPrepare' self.trigger('Prepare', { node: textarea, editorObj: CKEDITOR, instance: void(0), opts: opts }); // CKEditor configure CKEDITOR.replace(textarea.id, Object.assign(opts, self.confObj.ckeOpts)); CKEDITOR.on('dialogDefinition', function(e) { var dlg = e.data.definition.dialog; dlg.on('show', function(e) { fm.getUI().append(jQuery('.cke_dialog_background_cover')).append(this.getElement().$); }); dlg.on('hide', function(e) { jQuery('body:first').append(jQuery('.cke_dialog_background_cover')).append(this.getElement().$); }); }); }; if (!self.confObj.loader) { self.confObj.loader = jQuery.Deferred(); window.CKEDITOR_BASEPATH = fm.options.cdns.ckeditor + '/'; jQuery.getScript(fm.options.cdns.ckeditor + '/ckeditor.js', function() { self.confObj.loader.resolve(); }); } self.confObj.loader.done(init); return dfrd; }, close : function(textarea, instance) { instance && instance.destroy(); }, save : function(textarea, instance) { instance && (textarea.value = instance.getData()); }, focus : function(textarea, instance) { instance && instance.focus(); }, resize : function(textarea, instance, e, data) { var self; if (instance) { if (instance.status === 'ready') { instance.resize('100%', jQuery(textarea).parent().height()); } } } }, { // CKEditor5 balloon mode for html file info : { id : 'ckeditor5', name : 'CKEditor5', iconImg : 'img/editor-icons.png 0 -16' }, exts : ['htm', 'html', 'xhtml'], html : '
                  ', setup : function(opts, fm) { var confObj = this; // check cdn and ES6 support if (!fm.options.cdns.ckeditor5 || typeof window.Symbol !== 'function' || typeof Symbol() !== 'symbol') { confObj.disabled = true; } else { confObj.ckeOpts = {}; if (opts.extraOptions) { // @deprecated option extraOptions.ckeditor5Mode if (opts.extraOptions.ckeditor5Mode) { confObj.ckeditor5Mode = opts.extraOptions.ckeditor5Mode; } confObj.ckeOpts = Object.assign({}, opts.extraOptions.ckeditor5 || {}); if (confObj.ckeOpts.mode) { confObj.ckeditor5Mode = confObj.ckeOpts.mode; delete confObj.ckeOpts.mode; } if (opts.extraOptions.managerUrl) { confObj.managerUrl = opts.extraOptions.managerUrl; } } } fm.bind('destroy', function() { confObj.editor = null; }); }, // Prepare on before show dialog prepare : function(base, dialogOpts, file) { jQuery(base).height(base.editor.fm.getUI().height() - 100); }, init : function(id, file, data, fm) { var m = data.match(/^([\s\S]*]*>)([\s\S]+)(<\/body>[\s\S]*)$/i), header = '', body = '', footer =''; this.css({ width: '100%', height: '100%', 'box-sizing': 'border-box' }); if (m) { header = m[1]; body = m[2]; footer = m[3]; } else { body = data; } this.data('data', { header: header, body: body, footer: footer }); this._setupSelEncoding(data); }, load : function(editnode) { var self = this, fm = this.fm, dfrd = jQuery.Deferred(), mode = self.confObj.ckeditor5Mode || 'decoupled-document', lang = (function() { var l = fm.lang.toLowerCase().replace('_', '-'); if (l.substr(0, 2) === 'zh' && l !== 'zh-cn') { l = 'zh'; } return l; })(), init = function(cEditor) { var base = jQuery(editnode).parent(), opts; // set base height base.height(fm.getUI().height() - 100); // CKEditor5 configure options opts = Object.assign({ toolbar: ["heading", "|", "fontSize", "fontFamily", "|", "bold", "italic", "underline", "strikethrough", "highlight", "|", "alignment", "|", "numberedList", "bulletedList", "blockQuote", "indent", "outdent", "|", "ckfinder", "link", "imageUpload", "insertTable", "mediaEmbed", "|", "undo", "redo"], language: lang }, self.confObj.ckeOpts); // trigger event 'editEditorPrepare' self.trigger('Prepare', { node: editnode, editorObj: cEditor, instance: void(0), opts: opts }); cEditor .create(editnode, opts) .then(function(editor) { var ckf = editor.commands.get('ckfinder'), fileRepo = editor.plugins.get('FileRepository'), prevVars = {}, isImage, insertImages; if (editor.ui.view.toolbar && (mode === 'classic' || mode === 'decoupled-document')) { jQuery(editnode).closest('.elfinder-dialog').children('.ui-widget-header').append(jQuery(editor.ui.view.toolbar.element).css({marginRight:'-1em',marginLeft:'-1em'})); } if (mode === 'classic') { jQuery(editnode).closest('.elfinder-edit-editor').css('overflow', 'auto'); } // Set up this elFinder instead of CKFinder if (ckf) { isImage = function(f) { return f && f.mime.match(/^image\//i); }; insertImages = function(urls) { var imgCmd = editor.commands.get('imageUpload'); if (!imgCmd.isEnabled) { var ntf = editor.plugins.get('Notification'), i18 = editor.locale.t; ntf.showWarning(i18('Could not insert image at the current position.'), { title: i18('Inserting image failed'), namespace: 'ckfinder' }); return; } editor.execute('imageInsert', { source: urls }); }; // Take over ckfinder execute() ckf.execute = function() { var dlg = base.closest('.elfinder-dialog'), gf = fm.getCommand('getfile'), rever = function() { if (prevVars.hasVar) { dlg.off('resize close', rever); gf.callback = prevVars.callback; gf.options.folders = prevVars.folders; gf.options.multiple = prevVars.multi; fm.commandMap.open = prevVars.open; prevVars.hasVar = false; } }; dlg.trigger('togleminimize').one('resize close', rever); prevVars.callback = gf.callback; prevVars.folders = gf.options.folders; prevVars.multi = gf.options.multiple; prevVars.open = fm.commandMap.open; prevVars.hasVar = true; gf.callback = function(files) { var imgs = []; if (files.length === 1 && files[0].mime === 'directory') { fm.one('open', function() { fm.commandMap.open = 'getfile'; }).getCommand('open').exec(files[0].hash); return; } fm.getUI('cwd').trigger('unselectall'); jQuery.each(files, function(i, f) { if (isImage(f)) { imgs.push(fm.convAbsUrl(f.url)); } else { editor.execute('link', fm.convAbsUrl(f.url)); } }); if (imgs.length) { insertImages(imgs); } dlg.trigger('togleminimize'); }; gf.options.folders = true; gf.options.multiple = true; fm.commandMap.open = 'getfile'; fm.toast({ mode: 'info', msg: fm.i18n('dblclickToSelect') }); }; } // Set up image uploader fileRepo.createUploadAdapter = function(loader) { return new uploder(loader); }; editor.setData(jQuery(editnode).data('data').body); // move .ck-body to elFinder node for fullscreen mode fm.getUI().append(jQuery('body > div.ck-body')); jQuery('div.ck-balloon-panel').css({ 'z-index': fm.getMaximizeCss().zIndex + 1 }); dfrd.resolve(editor); /*fm.log({ defaultConfig: cEditor.defaultConfig, plugins: cEditor.builtinPlugins.map(function(p) { return p.pluginName; }), toolbars: Array.from(editor.ui.componentFactory.names()) });*/ }) ['catch'](function(error) { // ['cache'] instead .cache for fix error on ie8 fm.error(error); }); }, uploder = function(loader) { var upload = function(file, resolve, reject) { fm.exec('upload', {files: [file]}, void(0), fm.cwd().hash) .done(function(data){ if (data.added && data.added.length) { fm.url(data.added[0].hash, { async: true }).done(function(url) { resolve({ 'default': fm.convAbsUrl(url) }); }).fail(function() { reject('errFileNotFound'); }); } else { reject(fm.i18n(data.error? data.error : 'errUpload')); } }) .fail(function(err) { var error = fm.parseError(err); reject(fm.i18n(error? (error === 'userabort'? 'errAbort' : error) : 'errUploadNoFiles')); }) .progress(function(data) { loader.uploadTotal = data.total; loader.uploaded = data.progress; }); }; this.upload = function() { return new Promise(function(resolve, reject) { if (loader.file instanceof Promise || (loader.file && typeof loader.file.then === 'function')) { loader.file.then(function(file) { upload(file, resolve, reject); }); } else { upload(loader.file, resolve, reject); } }); }; this.abort = function() { fm.getUI().trigger('uploadabort'); }; }, loader; if (!self.confObj.editor) { loader = jQuery.Deferred(); self.fm.loadScript([ fm.options.cdns.ckeditor5 + '/' + mode + '/ckeditor.js' ], function(editor) { if (!editor) { editor = window.BalloonEditor || window.InlineEditor || window.ClassicEditor || window.DecoupledEditor; } if (fm.lang !== 'en') { self.fm.loadScript([ fm.options.cdns.ckeditor5 + '/' + mode + '/translations/' + lang + '.js' ], function(obj) { loader.resolve(editor); }, { tryRequire: true, loadType: 'tag', error: function(obj) { lang = 'en'; loader.resolve(editor); } }); } else { loader.resolve(editor); } }, { tryRequire: true, loadType: 'tag' }); loader.done(function(editor) { self.confObj.editor = editor; init(editor); }); } else { init(self.confObj.editor); } return dfrd; }, getContent : function() { var data = jQuery(this).data('data'); return data.header + data.body + data.footer; }, close : function(editnode, instance) { instance && instance.destroy(); }, save : function(editnode, instance) { var elm = jQuery(editnode), data = elm.data('data'); if (instance) { data.body = instance.getData(); elm.data('data', data); } }, focus : function(editnode, instance) { jQuery(editnode).trigger('focus'); } }, { // TinyMCE for html file info : { id : 'tinymce', name : 'TinyMCE', iconImg : 'img/editor-icons.png 0 -64' }, exts : ['htm', 'html', 'xhtml'], setup : function(opts, fm) { var confObj = this; if (!fm.options.cdns.tinymce) { confObj.disabled = true; } else { confObj.mceOpts = {}; if (opts.extraOptions) { confObj.uploadOpts = Object.assign({}, opts.extraOptions.uploadOpts || {}); confObj.mceOpts = Object.assign({}, opts.extraOptions.tinymce || {}); } else { confObj.uploadOpts = {}; } } }, load : function(textarea) { var self = this, fm = this.fm, dfrd = jQuery.Deferred(), init = function() { var base = jQuery(textarea).show().parent(), dlg = base.closest('.elfinder-dialog'), h = base.height(), delta = base.outerHeight(true) - h, // hide MCE dialog and modal block hideMceDlg = function() { var mceW; if (tinymce.activeEditor.windowManager.windows) { mceW = tinymce.activeEditor.windowManager.windows[0]; mceDlg = jQuery(mceW? mceW.getEl() : void(0)).hide(); mceCv = jQuery('#mce-modal-block').hide(); } else { mceDlg = jQuery('.tox-dialog-wrap').hide(); } }, // Show MCE dialog and modal block showMceDlg = function() { mceCv && mceCv.show(); mceDlg && mceDlg.show(); }, tVer = tinymce.majorVersion, opts, mceDlg, mceCv; // set base height base.height(h); // fit height function textarea._setHeight = function(height) { if (tVer < 5) { var base = jQuery(this).parent(), h = height || base.innerHeight(), ctrH = 0, areaH; base.find('.mce-container-body:first').children('.mce-top-part,.mce-statusbar').each(function() { ctrH += jQuery(this).outerHeight(true); }); areaH = h - ctrH - delta; base.find('.mce-edit-area iframe:first').height(areaH); } }; // TinyMCE configure options opts = { selector: '#' + textarea.id, resize: false, plugins: 'print preview fullpage searchreplace autolink directionality visualblocks visualchars fullscreen image link media template codesample table charmap hr pagebreak nonbreaking anchor toc insertdatetime advlist lists wordcount imagetools textpattern help', toolbar: 'formatselect | bold italic strikethrough forecolor backcolor | link image media | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat', image_advtab: true, init_instance_callback : function(editor) { // fit height on init textarea._setHeight(h); // re-build on dom move dlg.one('beforedommove.'+fm.namespace, function() { tinymce.execCommand('mceRemoveEditor', false, textarea.id); }).one('dommove.'+fm.namespace, function() { self.load(textarea).done(function(editor) { self.instance = editor; }); }); // return editor instance dfrd.resolve(editor); }, file_picker_callback : function (callback, value, meta) { var gf = fm.getCommand('getfile'), revar = function() { if (prevVars.hasVar) { gf.callback = prevVars.callback; gf.options.folders = prevVars.folders; gf.options.multiple = prevVars.multi; fm.commandMap.open = prevVars.open; prevVars.hasVar = false; } dlg.off('resize close', revar); showMceDlg(); }, prevVars = {}; prevVars.callback = gf.callback; prevVars.folders = gf.options.folders; prevVars.multi = gf.options.multiple; prevVars.open = fm.commandMap.open; prevVars.hasVar = true; gf.callback = function(file) { var url, info; if (file.mime === 'directory') { fm.one('open', function() { fm.commandMap.open = 'getfile'; }).getCommand('open').exec(file.hash); return; } // URL normalization url = fm.convAbsUrl(file.url); // Make file info info = file.name + ' (' + fm.formatSize(file.size) + ')'; // Provide file and text for the link dialog if (meta.filetype == 'file') { callback(url, {text: info, title: info}); } // Provide image and alt text for the image dialog if (meta.filetype == 'image') { callback(url, {alt: info}); } // Provide alternative source and posted for the media dialog if (meta.filetype == 'media') { callback(url); } dlg.trigger('togleminimize'); }; gf.options.folders = true; gf.options.multiple = false; fm.commandMap.open = 'getfile'; hideMceDlg(); dlg.trigger('togleminimize').one('resize close', revar); fm.toast({ mode: 'info', msg: fm.i18n('dblclickToSelect') }); return false; }, images_upload_handler : function (blobInfo, success, failure) { var file = blobInfo.blob(), err = function(e) { var dlg = e.data.dialog || {}; if (dlg.hasClass('elfinder-dialog-error') || dlg.hasClass('elfinder-confirm-upload')) { hideMceDlg(); dlg.trigger('togleminimize').one('resize close', revert); fm.unbind('dialogopened', err); } }, revert = function() { dlg.off('resize close', revert); showMceDlg(); }, clipdata = true; // check file object if (file.name) { // file blob of client side file object clipdata = void(0); } fm.bind('dialogopened', err).exec('upload', Object.assign({ files: [file], clipdata: clipdata // to get unique name on connector }, self.confObj.uploadOpts), void(0), fm.cwd().hash).done(function(data) { if (data.added && data.added.length) { fm.url(data.added[0].hash, { async: true }).done(function(url) { showMceDlg(); success(fm.convAbsUrl(url)); }).fail(function() { failure(fm.i18n('errFileNotFound')); }); } else { failure(fm.i18n(data.error? data.error : 'errUpload')); } }).fail(function(err) { var error = fm.parseError(err); if (error) { if (error === 'errUnknownCmd') { error = 'errPerm'; } else if (error === 'userabort') { error = 'errAbort'; } } failure(fm.i18n(error? error : 'errUploadNoFiles')); }); } }; // TinyMCE 5 supports "height: 100%" if (tVer >= 5) { opts.height = '100%'; } // trigger event 'editEditorPrepare' self.trigger('Prepare', { node: textarea, editorObj: tinymce, instance: void(0), opts: opts }); // TinyMCE configure tinymce.init(Object.assign(opts, self.confObj.mceOpts)); }; if (!self.confObj.loader) { self.confObj.loader = jQuery.Deferred(); self.fm.loadScript([fm.options.cdns.tinymce + (fm.options.cdns.tinymce.match(/\.js/)? '' : '/tinymce.min.js')], function() { self.confObj.loader.resolve(); }, { loadType: 'tag' }); } self.confObj.loader.done(init); return dfrd; }, close : function(textarea, instance) { instance && tinymce.execCommand('mceRemoveEditor', false, textarea.id); }, save : function(textarea, instance) { instance && instance.save(); }, focus : function(textarea, instance) { instance && instance.focus(); }, resize : function(textarea, instance, e, data) { // fit height to base node on dialog resize instance && textarea._setHeight(); } }, { info : { id : 'zohoeditor', name : 'Zoho Editor', iconImg : 'img/editor-icons.png 0 -32', cmdCheck : 'ZohoOffice', preventGet: true, hideButtons: true, syncInterval : 15000, canMakeEmpty: true, integrate: { title: 'Zoho Office API', link: 'https://www.zoho.com/officeapi/' } }, mimes : [ 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', //'application/pdf', 'application/vnd.oasis.opendocument.text', 'application/rtf', 'text/html', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.sun.xml.calc', 'text/csv', 'text/tab-separated-values', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.sun.xml.impress' ], html : '', // setup on elFinder bootup setup : function(opts, fm) { if (fm.UA.Mobile || fm.UA.ltIE8) { this.disabled = true; } }, // Prepare on before show dialog prepare : function(base, dialogOpts, file) { var elfNode = base.editor.fm.getUI(); jQuery(base).height(elfNode.height()); dialogOpts.width = Math.max(dialogOpts.width || 0, elfNode.width() * 0.8); }, // Initialization of editing node (this: this editors HTML node) init : function(id, file, dum, fm) { var ta = this, ifm = jQuery(this).hide(), uiToast = fm.getUI('toast'), spnr = jQuery('
                  ') .html('' + fm.i18n('nowLoading') + '') .appendTo(ifm.parent()), cdata = function() { var data = ''; jQuery.each(fm.customData, function(key, val) { data += '&' + encodeURIComponent(key) + '=' + encodeURIComponent(val); }); return data; }; jQuery(ta).data('xhr', fm.request({ data: { cmd: 'editor', name: ta.editor.confObj.info.cmdCheck, method: 'init', 'args[target]': file.hash, 'args[lang]' : fm.lang, 'args[cdata]' : cdata() }, preventDefault : true }).done(function(data) { var opts; if (data.zohourl) { opts = { css: { height: '100%' } }; // trigger event 'editEditorPrepare' ta.editor.trigger('Prepare', { node: ta, editorObj: void(0), instance: ifm, opts: opts }); ifm.attr('src', data.zohourl).show().css(opts.css); if (data.warning) { uiToast.appendTo(ta.closest('.ui-dialog')); fm.toast({ msg: fm.i18n(data.warning), mode: 'warning', timeOut: 0, onHidden: function() { uiToast.children().length === 1 && uiToast.appendTo(fm.getUI()); }, button: { text: 'btnYes' } }); } } else { data.error && fm.error(data.error); ta.elfinderdialog('destroy'); } }).fail(function(error) { error && fm.error(error); ta.elfinderdialog('destroy'); }).always(function() { spnr.remove(); })); }, load : function() {}, getContent : function() {}, save : function() {}, // Before dialog close beforeclose : iframeClose, // On dialog closed close : function(ta) { var fm = this.fm, xhr = jQuery(ta).data('xhr'); if (xhr.state() === 'pending') { xhr.reject(); } } }, { // Zip Archive with FlySystem info : { id : 'ziparchive', name : 'btnMount', iconImg : 'img/toolbar.png 0 -416', cmdCheck : 'ZipArchive', edit : function(file, editor) { var fm = this, dfrd = jQuery.Deferred(); fm.request({ data:{ cmd: 'netmount', protocol: 'ziparchive', host: file.hash, path: file.phash }, preventFail: true, notify : {type : 'netmount', cnt : 1, hideCnt : true} }).done(function(data) { var pdir; if (data.added && data.added.length) { if (data.added[0].phash) { if (pdir = fm.file(data.added[0].phash)) { if (! pdir.dirs) { pdir.dirs = 1; fm.change({ changed: [ pdir ] }); } } } fm.one('netmountdone', function() { fm.exec('open', data.added[0].hash); fm.one('opendone', function() { data.toast && fm.toast(data.toast); }); }); } dfrd.resolve(); }) .fail(function(error) { dfrd.reject(error); }); return dfrd; } }, mimes : ['application/zip'], load : function() {}, save : function(){} }, { // Simple Text (basic textarea editor) info : { id : 'textarea', name : 'TextArea', useTextAreaEvent : true }, load : function(textarea) { // trigger event 'editEditorPrepare' this.trigger('Prepare', { node: textarea, editorObj: void(0), instance: void(0), opts: {} }); textarea.setSelectionRange && textarea.setSelectionRange(0, 0); jQuery(textarea).trigger('focus').show(); }, save : function(){} }, { // File converter with online-convert.com info : { id : 'onlineconvert', name : 'Online Convert', iconImg : 'img/editor-icons.png 0 -144', cmdCheck : 'OnlineConvert', preventGet: true, hideButtons: true, single: true, converter: true, canMakeEmpty: false, integrate: { title: 'ONLINE-CONVERT.COM', link: 'https://online-convert.com' } }, mimes : ['*'], html : '
                  ', // setup on elFinder bootup setup : function(opts, fm) { var mOpts = opts.extraOptions.onlineConvert || {maxSize:100,showLink:true}; if (mOpts.maxSize) { this.info.maxSize = mOpts.maxSize * 1048576; } this.set = Object.assign({ url : 'https://%s.online-convert.com%s?external_url=', conv : { Archive: {'7Z':{}, 'BZ2':{ext:'bz'}, 'GZ':{}, 'ZIP':{}}, Audio: {'MP3':{}, 'OGG':{ext:'oga'}, 'WAV':{}, 'WMA':{}, 'AAC':{}, 'AIFF':{ext:'aif'}, 'FLAC':{}, 'M4A':{}, 'MMF':{}, 'OPUS':{ext:'oga'}}, Document: {'DOC':{}, 'DOCX':{}, 'HTML':{}, 'ODT':{}, 'PDF':{}, 'PPT':{}, 'PPTX':{}, 'RTF':{}, 'SWF':{}, 'TXT':{}}, eBook: {'AZW3':{ext:'azw'}, 'ePub':{}, 'FB2':{ext:'xml'}, 'LIT':{}, 'LRF':{}, 'MOBI':{}, 'PDB':{}, 'PDF':{},'PDF-eBook':{ext:'pdf'}, 'TCR':{}}, Hash: {'Adler32':{}, 'Apache-htpasswd':{}, 'Blowfish':{}, 'CRC32':{}, 'CRC32B':{}, 'Gost':{}, 'Haval128':{},'MD4':{}, 'MD5':{}, 'RIPEMD128':{}, 'RIPEMD160':{}, 'SHA1':{}, 'SHA256':{}, 'SHA384':{}, 'SHA512':{}, 'Snefru':{}, 'Std-DES':{}, 'Tiger128':{}, 'Tiger128-calculator':{}, 'Tiger128-converter':{}, 'Tiger160':{}, 'Tiger192':{}, 'Whirlpool':{}}, Image: {'BMP':{}, 'EPS':{ext:'ai'}, 'GIF':{}, 'EXR':{}, 'ICO':{}, 'JPG':{}, 'PNG':{}, 'SVG':{}, 'TGA':{}, 'TIFF':{ext:'tif'}, 'WBMP':{}, 'WebP':{}}, Video: {'3G2':{}, '3GP':{}, 'AVI':{}, 'FLV':{}, 'HLS':{ext:'m3u8'}, 'MKV':{}, 'MOV':{}, 'MP4':{}, 'MPEG-1':{ext:'mpeg'}, 'MPEG-2':{ext:'mpeg'}, 'OGG':{ext:'ogv'}, 'OGV':{}, 'WebM':{}, 'WMV':{}, 'Android':{link:'/convert-video-for-%s',ext:'mp4'}, 'Blackberry':{link:'/convert-video-for-%s',ext:'mp4'}, 'DPG':{link:'/convert-video-for-%s',ext:'avi'}, 'iPad':{link:'/convert-video-for-%s',ext:'mp4'}, 'iPhone':{link:'/convert-video-for-%s',ext:'mp4'}, 'iPod':{link:'/convert-video-for-%s',ext:'mp4'}, 'Nintendo-3DS':{link:'/convert-video-for-%s',ext:'avi'}, 'Nintendo-DS':{link:'/convert-video-for-%s',ext:'avi'}, 'PS3':{link:'/convert-video-for-%s',ext:'mp4'}, 'Wii':{link:'/convert-video-for-%s',ext:'avi'}, 'Xbox':{link:'/convert-video-for-%s',ext:'wmv'}} }, catExts : { Hash: 'txt' }, link : '', useTabs : (jQuery.fn.tabs && !fm.UA.iOS)? true : false // Can't work on iOS, I don't know why. }, mOpts); }, // Prepare on before show dialog prepare : function(base, dialogOpts, file) { var elfNode = base.editor.fm.getUI(); jQuery(base).height(elfNode.height()); dialogOpts.width = Math.max(dialogOpts.width || 0, elfNode.width() * 0.8); }, // Initialization of editing node (this: this editors HTML node) init : function(id, file, dum, fm) { var ta = this, confObj = ta.editor.confObj, set = confObj.set, uiToast = fm.getUI('toast'), idxs = {}, allowZip = fm.uploadMimeCheck('application/zip', file.phash), selfUrl = jQuery('base').length? document.location.href.replace(/#.*$/, '') : '', getExt = function(cat, con) { var c; if (set.catExts[cat]) { return set.catExts[cat]; } if (set.conv[cat] && (c = set.conv[cat][con])) { return (c.ext || con).toLowerCase(); } return con.toLowerCase(); }, setOptions = function(cat, done) { var type, dfdInit, dfd; if (typeof confObj.api === 'undefined') { dfdInit = fm.request({ data: { cmd: 'editor', name: 'OnlineConvert', method: 'init' }, preventDefault : true }); } else { dfdInit = jQuery.Deferred().resolve({api: confObj.api}); } cat = cat.toLowerCase(); dfdInit.done(function(data) { confObj.api = data.api; if (confObj.api) { if (cat) { type = '?category=' + cat; } else { type = ''; cat = 'all'; } if (!confObj.conversions) { confObj.conversions = {}; } if (!confObj.conversions[cat]) { dfd = jQuery.getJSON('https://api2.online-convert.com/conversions' + type); } else { dfd = jQuery.Deferred().resolve(confObj.conversions[cat]); } dfd.done(function(d) { confObj.conversions[cat] = d; jQuery.each(d, function(i, o) { btns[set.useTabs? 'children' : 'find']('.onlineconvert-category-' + o.category).children('.onlineconvert-' + o.target).trigger('makeoption', o); }); done && done(); }); } }); }, btns = (function() { var btns = jQuery('
                  ').on('click', 'button', function() { var b = jQuery(this), opts = b.data('opts') || null, cat = b.closest('.onlineconvert-category').data('cname'), con = b.data('conv'); if (confObj.api === true) { api({ category: cat, convert: con, options: opts }); } }).on('change', function(e) { var t = jQuery(e.target), p = t.parent(), b = t.closest('.elfinder-edit-onlineconvert-button').children('button:first'), o = b.data('opts') || {}, v = p.data('type') === 'boolean'? t.is(':checked') : t.val(); e.stopPropagation(); if (v) { if (p.data('type') === 'integer') { v = parseInt(v); } if (p.data('pattern')) { var reg = new RegExp(p.data('pattern')); if (!reg.test(v)) { requestAnimationFrame(function() { fm.error('"' + fm.escape(v) + '" is not match to "/' + fm.escape(p.data('pattern')) + '/"'); }); v = null; } } } if (v) { o[t.parent().data('optkey')] = v; } else { delete o[p.data('optkey')]; } b.data('opts', o); }), ul = jQuery('
                    '), oform = function(n, o) { var f = jQuery('

                    ').data('optkey', n).data('type', o.type), checked = '', disabled = '', nozip = false, opts, btn, elm; if (o.description) { f.attr('title', fm.i18n(o.description)); } if (o.pattern) { f.data('pattern', o.pattern); } f.append(jQuery('').text(fm.i18n(n) + ' : ')); if (o.type === 'boolean') { if (o['default'] || (nozip = (n === 'allow_multiple_outputs' && !allowZip))) { checked = ' checked'; if (nozip) { disabled = ' disabled'; } btn = this.children('button:first'); opts = btn.data('opts') || {}; opts[n] = true; btn.data('opts', opts); } f.append(jQuery('')); } else if (o['enum']){ elm = jQuery('').append(jQuery('').text('Select...')); jQuery.each(o['enum'], function(i, v) { elm.append(jQuery('').text(v)); }); f.append(elm); } else { f.append(jQuery('')); } return f; }, makeOption = function(o) { var elm = this, b = jQuery('').on('click', function() { f.toggle(); }), f = jQuery('
                    ').hide(); if (o.options) { jQuery.each(o.options, function(k, v) { k !== 'download_password' && f.append(oform.call(elm, k, v)); }); } elm.append(b, f); }, ts = (+new Date()), i = 0; if (!confObj.ext2mime) { confObj.ext2mime = Object.assign(fm.arrayFlip(fm.mimeTypes), ext2mime); } jQuery.each(set.conv, function(t, c) { var cname = t.toLowerCase(), id = 'elfinder-edit-onlineconvert-' + cname + ts, type = jQuery('
                    ').data('cname', t), cext; jQuery.each(c, function(n, o) { var nl = n.toLowerCase(), ext = getExt(t, n); if (!confObj.ext2mime[ext]) { if (cname === 'audio' || cname === 'image' || cname === 'video') { confObj.ext2mime[ext] = cname + '/x-' + nl; } else { confObj.ext2mime[ext] = 'application/octet-stream'; } } if (fm.uploadMimeCheck(confObj.ext2mime[ext], file.phash)) { type.append(jQuery('
                    ').on('makeoption', function(e, data) { var elm = jQuery(this); if (!elm.children('.elfinder-button-icon-preference').length) { makeOption.call(elm, data); } }).append(jQuery('').text(n).data('conv', n))); } }); if (type.children().length) { ul.append(jQuery('
                  • ').append(jQuery('').attr('href', selfUrl + '#' + id).text(t))); btns.append(type); idxs[cname] = i++; } }); if (set.useTabs) { btns.prepend(ul).tabs({ beforeActivate: function(e, ui) { setOptions(ui.newPanel.data('cname')); } }); } else { jQuery.each(set.conv, function(t) { var tl = t.toLowerCase(); btns.append(jQuery('
                    ').append(jQuery('').text(t)).append(btns.children('.onlineconvert-category-' + tl))); }); } return btns; })(), select = jQuery(this) .append( btns, (set.showLink? jQuery(set.link) : null) ), spnr = jQuery('
                    ') .hide() .html('' + fm.i18n('nowLoading') + '') .appendTo(select.parent()), prog = jQuery('
                    ').appendTo(spnr), _url = null, url = function() { var onetime; if (_url) { return jQuery.Deferred().resolve(_url); } else { spnr.show(); return fm.forExternalUrl(file.hash, { progressBar: prog }).done(function(url) { _url = url; }).fail(function(error) { error && fm.error(error); ta.elfinderdialog('destroy'); }).always(function() { spnr.hide(); }); } }, api = function(opts) { jQuery(ta).data('dfrd', url().done(function(url) { select.fadeOut(); setStatus({info: 'Start conversion request.'}); fm.request({ data: { cmd: 'editor', name: 'OnlineConvert', method: 'api', 'args[category]' : opts.category.toLowerCase(), 'args[convert]' : opts.convert.toLowerCase(), 'args[options]' : JSON.stringify(opts.options), 'args[source]' : fm.convAbsUrl(url), 'args[filename]' : fm.splitFileExtention(file.name)[0] + '.' + getExt(opts.category, opts.convert), 'args[mime]' : file.mime }, preventDefault : true }).done(function(data) { checkRes(data.apires, opts.category, opts.convert); }).fail(function(error) { error && fm.error(error); ta.elfinderdialog('destroy'); }); })); }, checkRes = function(res, cat, con) { var status, err = []; if (res && res.id) { status = res.status; if (status.code === 'failed') { spnr.hide(); if (res.errors && res.errors.length) { jQuery.each(res.errors, function(i, o) { o.message && err.push(o.message); }); } fm.error(err.length? err : status.info); select.fadeIn(); } else if (status.code === 'completed') { upload(res); } else { setStatus(status); setTimeout(function() { polling(res.id); }, 1000); } } else { uiToast.appendTo(ta.closest('.ui-dialog')); if (res.message) { fm.toast({ msg: fm.i18n(res.message), mode: 'error', timeOut: 5000, onHidden: function() { uiToast.children().length === 1 && uiToast.appendTo(fm.getUI()); } }); } fm.toast({ msg: fm.i18n('editorConvNoApi'), mode: 'error', timeOut: 3000, onHidden: function() { uiToast.children().length === 1 && uiToast.appendTo(fm.getUI()); } }); spnr.hide(); select.show(); } }, setStatus = function(status) { spnr.show().children('.elfinder-spinner-text').text(status.info); }, polling = function(jobid) { fm.request({ data: { cmd: 'editor', name: 'OnlineConvert', method: 'api', 'args[jobid]': jobid }, preventDefault : true }).done(function(data) { checkRes(data.apires); }).fail(function(error) { error && fm.error(error); ta.elfinderdialog('destroy'); }); }, upload = function(res) { var output = res.output, id = res.id, url = ''; spnr.hide(); if (output && output.length) { ta.elfinderdialog('destroy'); jQuery.each(output, function(i, o) { if (o.uri) { url += o.uri + '\n'; } }); fm.upload({ target: file.phash, files: [url], type: 'text', extraData: { contentSaveId: 'OnlineConvert-' + res.id } }); } }, mode = 'document', cl, m; select.parent().css({overflow: 'auto'}).addClass('overflow-scrolling-touch'); if (m = file.mime.match(/^(audio|image|video)/)) { mode = m[1]; } if (set.useTabs) { if (idxs[mode]) { btns.tabs('option', 'active', idxs[mode]); } } else { cl = Object.keys(set.conv).length; jQuery.each(set.conv, function(t) { if (t.toLowerCase() === mode) { setOptions(t, function() { jQuery.each(set.conv, function(t0) { t0.toLowerCase() !== mode && setOptions(t0); }); }); return false; } cl--; }); if (!cl) { jQuery.each(set.conv, function(t) { setOptions(t); }); } select.parent().scrollTop(btns.children('.onlineconvert-fieldset-' + mode).offset().top); } }, load : function() {}, getContent : function() {}, save : function() {}, // On dialog closed close : function(ta) { var fm = this.fm, dfrd = jQuery(ta).data('dfrd'); if (dfrd && dfrd.state() === 'pending') { dfrd.reject(); } } } ]; }, window.elFinder)); wp-file-manager/lib/js/extras/editors.default.min.js000064400000131667151202472330016440 0ustar00!function(e,t){if("function"==typeof define&&define.amd)define(["elfinder"],e);else if(t){var i=t.prototype._options.commandsOptions.edit.editors;t.prototype._options.commandsOptions.edit.editors=i.concat(e(t))}}(function(e){"use strict";var t,i=window.location.search.match(/getfile=([a-z]+)/),n=e.prototype.hasRequire,o={bmp:"image/x-ms-bmp",dng:"image/x-adobe-dng",gif:"image/gif",jpeg:"image/jpeg",jpg:"image/jpeg",pdf:"application/pdf",png:"image/png",ppm:"image/x-portable-pixmap",psd:"image/vnd.adobe.photoshop",pxd:"image/x-pixlr-data",svg:"image/svg+xml",tiff:"image/tiff",webp:"image/webp",xcf:"image/x-xcf",sketch:"application/x-sketch",ico:"image/x-icon",dds:"image/vnd-ms.dds",emf:"application/x-msmetafile"},a=function(e,i,n){t||(t=i.arrayFlip(o));var a=t[e]||i.mimeTypes[e];return n?"jpg"===a&&(a="jpeg"):"jpeg"===a&&(a="jpg"),a},r=function(e,t){var i=$.Deferred();try{var n=document.createElement("canvas"),o=n.getContext("2d"),a=new Image,r=function(){var e,o,a=n.toDataURL(t);e=(o=a.match(/^data:([a-z0-9]+\/[a-z0-9.+-]+)/i))?o[1]:"",e.toLowerCase()===t.toLowerCase()?i.resolve(n.toDataURL(t),n):i.reject()};return a.src=e,$(a).on("load",function(){try{n.width=a.width,n.height=a.height,o.drawImage(a,0,0),r()}catch(e){i.reject()}}).on("error",function(){i.reject()}),i}catch(s){return i.reject()}},s=function(e,t,i,n){var o,r=$(this).children("img:first").data("ext",a(t.mime,n)),s=$('
                    ').html(''+n.i18n("ntfloadimg")+'').hide().appendTo(this),c=function(){r.attr("id",e+"-img").attr("src",o||i).css({height:"","max-width":"100%","max-height":"100%",cursor:"pointer"}).data("loading",function(e){var t=r.closest(".elfinder-dialog").find("button,.elfinder-titlebar-button");return t.prop("disabled",!e)[e?"removeClass":"addClass"]("ui-state-disabled"),r.css("opacity",e?"":"0.3"),s[e?"hide":"show"](),r})};i.match(/^data:/)?c():n.openUrl(t.hash,!1,function(e){o=e,r.attr("_src",i),c()})},c=function(e,t){var i,n,o,a=e.attr("style");try{e.attr("style",""),i=e.get(0),n=document.createElement("canvas"),n.width=i.width,n.height=i.height,e.attr("style",a),n.getContext("2d").drawImage(i,0,0),o=n.toDataURL(t)}catch(r){o=e.attr("src")}return o},d=function(e){var t,i=$(e),n=$.Deferred().always(function(){i.off("load",r)}),o="about:blank",a=function(){t=setTimeout(function(){var e;try{e=base.contentWindow.location.href}catch(t){e=null}e===o?n.resolve():--s>0?a():n.reject()},500)},r=function(){t&&clearTimeout(t),n.resolve()},s=20;return i.one("load",r),e.src=o,a(),n};return i&&(i=i[1],"ckeditor"===i&&(e.prototype._options.getFileCallback=function(e,t){window.opener.CKEDITOR.tools.callFunction(function(){var e=new RegExp("(?:[?&]|&)CKEditorFuncNum=([^&]+)","i"),t=window.location.search.match(e);return t&&t.length>1?t[1]:""}(),t.convAbsUrl(e.url)),t.destroy(),window.close()})),[{info:{id:"tuiimgedit",name:"TUI Image Editor",iconImg:"img/editor-icons.png 0 -48",dataScheme:!0,schemeContent:!0,openMaximized:!0,canMakeEmpty:!1,integrate:{title:"TOAST UI Image Editor",link:"http://ui.toast.com/tui-image-editor/"}},mimes:["image/jpeg","image/png","image/gif","image/svg+xml","image/x-ms-bmp"],html:'
                    ',setup:function(e,t){t.UA.ltIE8||t.UA.Mobile?this.disabled=!0:(this.opts=Object.assign({version:"v3.14.3"},e.extraOptions.tuiImgEditOpts||{},{iconsPath:t.baseUrl+"img/tui-",theme:{}}),t.isSameOrigin(this.opts.iconsPath)||(this.disabled=!0,t.debug("warning","Setting `commandOptions.edit.extraOptions.tuiImgEditOpts.iconsPath` MUST follow the same origin policy.")))},init:function(e,t,i,n){this.data("url",i)},load:function(e){var t,i=this,n=this.fm,o=$.Deferred(),a=n.options.cdns,r=i.confObj.opts.version,s=function(t){var a,r,s,c,d=$(e),l=d.parent(),p=i.confObj.opts,m=p.iconsPath,u=$('
                    ').appendTo(l),f=[$('
                    ').appendTo(u),$('
                    ').appendTo(u)],g=new t(e,{includeUI:{loadImage:{path:d.data("url"),name:i.file.name},theme:Object.assign(p.theme,{"menu.normalIcon.path":m+"icon-d.svg","menu.normalIcon.name":"icon-d","menu.activeIcon.path":m+"icon-b.svg","menu.activeIcon.name":"icon-b","menu.disabledIcon.path":m+"icon-a.svg","menu.disabledIcon.name":"icon-a","menu.hoverIcon.path":m+"icon-c.svg","menu.hoverIcon.name":"icon-c","submenu.normalIcon.path":m+"icon-d.svg","submenu.normalIcon.name":"icon-d","submenu.activeIcon.path":m+"icon-c.svg","submenu.activeIcon.name":"icon-c"}),initMenu:"filter",menuBarPosition:"bottom"},cssMaxWidth:Math.max(300,l.width()),cssMaxHeight:Math.max(200,l.height()-(f[0].height()+f[1].height()+3)),usageStatistics:!1}),h=d.find("canvas:first").get(0),v=function(e){if("undefined"!=typeof e){var t,i,n=$(h),o=parseInt(n.attr("width")),a=parseInt(n.attr("height")),r=o/a;0===e?(t=o,i=a):(t=parseInt(n.css("max-width"))+Number(e),i=t/r,t>o&&i>a&&(t=o,i=a)),y.text(Math.round(t/o*100)+"%"),g.resizeCanvasDimension({width:t,height:i}),c&&setTimeout(function(){c&&v(e)},50)}},b=$('').data("val",10),x=$('').data("val",-10),y=$("").css("width","4em").text("%").attr("title","100%").data("val",0);u.remove(),d.removeData("url").data("mime",i.file.mime),"image/jpeg"===i.file.mime?(d.data("quality",n.storage("jpgQuality")||n.option("jpgQuality")),a=$('').attr("min","1").attr("max","100").attr("title","1 - 100").on("change",function(){var e=a.val();d.data("quality",e),r&&cancelAnimationFrame(r),r=requestAnimationFrame(function(){h.toBlob(function(e){e&&a.next("span").text(" ("+n.formatSize(e.size)+")")},"image/jpeg",Math.max(Math.min(e,100),1)/100)})}).val(d.data("quality")),$('
                    ').append($("").html(n.i18n("quality")+" : "),a,$("")).prependTo(d.parent().next())):"image/svg+xml"===i.file.mime&&d.closest(".ui-dialog").trigger("changeType",{extention:"png",mime:"image/png",keepEditor:!0}),$('
                    ').append(x,y,b).attr("title",n.i18n("scale")).on("click","span,button",function(){v($(this).data("val"))}).on("mousedown mouseup mouseleave","span",function(e){c=!1,s&&clearTimeout(s),"mousedown"===e.type&&(s=setTimeout(function(){c=!0,v($(e.target).data("val"))},500))}).prependTo(d.parent().next()),setTimeout(function(){o.resolve(g),a&&(a.trigger("change"),g.on("redoStackChanged undoStackChanged",function(){a.trigger("change")})),v(null)},100),d.find(".tui-colorpicker-palette-container").on("click",".tui-colorpicker-palette-preview",function(){$(this).closest(".color-picker-control").height("auto").find(".tui-colorpicker-slider-container").toggle()}),d.on("click",function(){d.find(".tui-colorpicker-slider-container").hide()})};return i.confObj.editor?s(i.confObj.editor):(t=$.Deferred(),n.loadCss([a.tui+"/tui-color-picker/latest/tui-color-picker.css",a.tui+"/tui-image-editor/"+r+"/tui-image-editor.css"]),n.hasRequire?(require.config({paths:{"fabric/dist/fabric.require":a.fabric+"/fabric.require.min",fabric:a.fabric+"/fabric.min","tui-code-snippet":a.tui+"/tui.code-snippet/latest/tui-code-snippet.min","tui-color-picker":a.tui+"/tui-color-picker/latest/tui-color-picker.min","tui-image-editor":a.tui+"/tui-image-editor/"+r+"/tui-image-editor.min"}}),require(["tui-image-editor"],function(e){t.resolve(e)})):n.loadScript([a.fabric+"/fabric.min.js",a.tui+"/tui.code-snippet/latest/tui-code-snippet.min.js"],function(){n.loadScript([a.tui+"/tui-color-picker/latest/tui-color-picker.min.js"],function(){n.loadScript([a.tui+"/tui-image-editor/"+r+"/tui-image-editor.min.js"],function(){t.resolve(window.tui.ImageEditor)},{loadType:"tag"})},{loadType:"tag"})},{loadType:"tag"}),t.done(function(e){i.confObj.editor=e,s(e)})),o},getContent:function(e){var t=this.editor,i=t.fm,n=$(e),o=n.data("quality");if(t.instance)return"image/jpeg"===n.data("mime")&&(o=o||i.storage("jpgQuality")||i.option("jpgQuality"),o=Math.max(.1,Math.min(1,o/100))),t.instance.toDataURL({format:a(n.data("mime"),i,!0),quality:o})},save:function(e){var t,i=$(e),n=i.data("quality"),o=i.data("hash");this.instance.deactivateAll(),"undefined"!=typeof n&&this.fm.storage("jpgQuality",n),o&&(t=this.fm.file(o),i.data("mime",t.mime))}},{info:{id:"photopea",name:"Photopea",iconImg:"img/editor-icons.png 0 -160",single:!0,noContent:!0,arrayBufferContent:!0,openMaximized:!0,canMakeEmpty:["image/jpeg","image/png","image/gif","image/svg+xml","image/x-ms-bmp","image/tiff","image/webp","image/vnd.adobe.photoshop","application/pdf","image/x-portable-pixmap","image/x-sketch","image/x-icon","image/vnd-ms.dds"],integrate:{title:"Photopea",link:"https://www.photopea.com/learn/"}},mimes:["image/jpeg","image/png","image/gif","image/svg+xml","image/x-ms-bmp","image/tiff","image/x-adobe-dng","image/webp","image/x-xcf","image/vnd.adobe.photoshop","application/pdf","image/x-portable-pixmap","image/x-sketch","image/x-icon","image/vnd-ms.dds","application/x-msmetafile"],html:'',setup:function(e,t){(t.UA.IE||t.UA.Mobile)&&(this.disabled=!0)},init:function(e,t,i,n){var r,s,c,d="https://www.photopea.com",l=$(this).hide().on("load",function(){l.show()}).on("error",function(){u.remove(),l.show()}),p=this.editor,m=p.confObj,u=$('
                    ').html(''+n.i18n("nowLoading")+'').appendTo(l.parent()),f=n.arrayFlip(m.info.canMakeEmpty),g=function(e){var t=a(e,n),i=o[t];return m.mimesFlip[i]?"jpeg"===t&&(t="jpg"):t="",t&&f[i]||(t="psd",i=o[t],l.closest(".ui-dialog").trigger("changeType",{extention:t,mime:i,keepEditor:!0})),t},h=t.mime;m.mimesFlip||(m.mimesFlip=n.arrayFlip(m.mimes,!0)),m.liveMsg||(m.liveMsg=function(e,t,i){var o,a=e.get(0).contentWindow,r=0,s=null,c=$.Deferred().done(function(){t.remove(),r=1,a.postMessage(s,d)});this.load=function(){return n.getContents(i.hash,"arraybuffer").done(function(e){s=e})},this.receive=function(t){var i=t.originalEvent;i.origin===d&&i.source===a&&("done"===i.data?0===r?c.resolve():1===r?(r=2,e.trigger("contentsloaded")):o&&"pending"===o.state()&&o.reject("errDataEmpty"):"Save"===i.data?p.doSave():o&&"pending"===o.state()&&("object"==typeof i.data?o.resolve("data:"+h+";base64,"+n.arrayBufferToBase64(i.data)):o.reject("errDataEmpty")))},this.getContent=function(){var t,i;if(r>1)return o&&"pending"===o.state()&&o.reject(),o=null,o=$.Deferred(),2===r?(r=3,o.resolve("data:"+h+";base64,"+n.arrayBufferToBase64(s)),s=null,o):(e.data("mime")&&(h=e.data("mime"),t=g(h)),(i=e.data("quality"))&&(t+=":"+i/100),a.postMessage('app.activeDocument.saveToOE("'+t+'")',d),o)}}),l.parent().css("padding",0),s=g(t.mime),r=p.liveMsg=new m.liveMsg(l,u,t),$(window).on("message."+n.namespace,r.receive),r.load().done(function(){var e=JSON.stringify({files:[],environment:{lang:n.lang.replace(/_/g,"-"),customIO:{save:'app.echoToOE("Save");'}}});l.attr("src",d+"/#"+encodeURI(e))}).fail(function(e){e&&n.error(e),p.initFail=!0}),"image/jpeg"!==t.mime&&"image/webp"!==t.mime||(l.data("quality",n.storage("jpgQuality")||n.option("jpgQuality")),c=$('').attr("min","1").attr("max","100").attr("title","1 - 100").on("change",function(){var e=c.val();l.data("quality",e)}).val(l.data("quality")),$('
                    ').append($("").html(n.i18n("quality")+" : "),c,$("")).prependTo(l.parent().next()))},load:function(e){var t=$.Deferred(),i=this,n=(this.fm,$(e));return i.initFail?t.reject():n.on("contentsloaded",function(){t.resolve(i.liveMsg)}),t},getContent:function(){return this.editor.liveMsg?this.editor.liveMsg.getContent():void 0},save:function(e,t){var i,n=$(e),o=n.data("quality"),a=n.data("hash");"undefined"!=typeof o&&this.fm.storage("jpgQuality",o),a?(i=this.fm.file(a),n.data("mime",i.mime)):n.removeData("mime")},close:function(e,t){$(e).attr("src",""),t&&$(window).off("message."+this.fm.namespace,t.receive)}},{info:{id:"pixo",name:"Pixo Editor",iconImg:"img/editor-icons.png 0 -208",dataScheme:!0,schemeContent:!0,single:!0,canMakeEmpty:!1,integrate:{title:"Pixo Editor",link:"https://pixoeditor.com/privacy-policy/"}},mimes:["image/jpeg","image/png","image/gif","image/svg+xml","image/x-ms-bmp"],html:'
                    ',setup:function(e,t){!t.UA.ltIE8&&e.extraOptions&&e.extraOptions.pixo&&e.extraOptions.pixo.apikey?this.editorOpts=e.extraOptions.pixo:this.disabled=!0},init:function(e,t,i,n){s.call(this,e,t,i,n)},getContent:function(){return $(this).children("img:first").attr("src")},load:function(e){var t,i,n,o,s,c=this,d=this.fm,l=$(e),p=l.children("img:first"),m=l.closest(".ui-dialog"),u=d.getUI(),f=$.Deferred(),g=$("#elfinder-pixo-container"),h=function(n){var h;g.length?g.appendTo(g.parent()):(g=$('
                    ').css({position:"fixed",top:0,right:0,width:"100%",height:$(window).height(),overflow:"hidden"}).hide().appendTo(u.hasClass("elfinder-fullscreen")?u:"body"),u.on("resize."+d.namespace,function(e,t){e.preventDefault(),e.stopPropagation(),t&&t.fullscreen&&g.appendTo("on"===t.fullscreen?u:"body")}),d.bind("destroy",function(){s&&s.cancelEditing(),g.remove()})),p.on("click",v),h=Object.assign({type:"child",parent:g.get(0),output:{format:"png"},onSave:function(n){var s=n.toBlob().type,l=a(s,d),u=function(e){p.one("load error",function(){p.data("loading")&&p.data("loading")(!0)}).attr("crossorigin","anonymous").attr("src",e)},f=n.toDataURL();p.data("loading")(),delete e._canvas,p.data("ext")!==l?r(f,c.file.mime).done(function(n,a){a&&(e._canvas=o=a,i.trigger("change"),t&&t.show()),u(n)}).fail(function(){m.trigger("changeType",{extention:l,mime:s}),u(f)}):u(f)},onClose:function(){m.removeClass(d.res("class","preventback")),d.toggleMaximize(g,!1),g.hide(),d.toFront(m)}},c.confObj.editorOpts),c.trigger("Prepare",{node:e,editorObj:Pixo,instance:void 0,opts:h}),s=new Pixo.Bridge(h),f.resolve(s),l.on("saveAsFail",v),n&&n()},v=function(){m.addClass(d.res("class","preventback")),d.toggleMaximize(g,!0),d.toFront(g),g.show().data("curhash",c.file.hash),s.edit(p.get(0)),p.data("loading")(!0)};return p.data("loading")(),"image/jpeg"===c.file.mime&&(i=$('').attr("min","1").attr("max","100").attr("title","1 - 100").on("change",function(){var e=i.val();n&&cancelAnimationFrame(n),n=requestAnimationFrame(function(){o&&o.toBlob(function(e){e&&i.next("span").text(" ("+d.formatSize(e.size)+")")},"image/jpeg",Math.max(Math.min(e,100),1)/100)})}).val(d.storage("jpgQuality")||d.option("jpgQuality")),t=$('
                    ').hide().append($("").html(d.i18n("quality")+" : "),i,$("")).prependTo(l.parent().next()),l.data("quty",i)),"undefined"==typeof Pixo?d.loadScript(["https://pixoeditor.com:8443/editor/scripts/bridge.m.js"],function(){h(v)},{loadType:"tag"}):(h(),v()),f},save:function(e){var t,i=this,n=$(e),o=n.children("img:first");e._canvas?(n.data("quty")&&(t=n.data("quty").val(),t&&this.fm.storage("jpgQuality",t)),o.attr("src",e._canvas.toDataURL(i.file.mime,t?Math.max(Math.min(t,100),1)/100:void 0))):"data:"!==o.attr("src").substr(0,5)&&o.attr("src",c(o,this.file.mime))},close:function(e,t){t&&t.destroy()}},{setup:function(e,t){!t.UA.ltIE8&&t.options.cdns.ace||(this.disabled=!0)},info:{id:"aceeditor",name:"ACE Editor",iconImg:"img/editor-icons.png 0 -96"},load:function(e){var t=this,i=this.fm,n=$.Deferred(),o=i.options.cdns.ace,a=function(){var i,a,r,s=$(e),c=s.parent(),d=c.parent(),l=e.id+"_ace",p=(t.file.name.replace(/^.+\.([^.]+)|(.+)$/,"$1$2").toLowerCase(),{"text/x-php":"php","application/x-php":"php","text/html":"html","application/xhtml+xml":"html","text/javascript":"javascript","application/javascript":"javascript","text/css":"css","text/x-c":"c_cpp","text/x-csrc":"c_cpp","text/x-chdr":"c_cpp","text/x-c++":"c_cpp","text/x-c++src":"c_cpp","text/x-c++hdr":"c_cpp","text/x-shellscript":"sh","application/x-csh":"sh","text/x-python":"python","text/x-java":"java","text/x-java-source":"java","text/x-ruby":"ruby","text/x-perl":"perl","application/x-perl":"perl","text/x-sql":"sql","text/xml":"xml","application/docbook+xml":"xml","application/xml":"xml"});c.height(c.height()),ace.config.set("basePath",o),a=$('
                    ').text(s.val()).insertBefore(s.hide()),s.data("ace",!0),i=ace.edit(l),i.$blockScrolling=1/0,i.setOptions({theme:"ace/theme/monokai",fontSize:"14px",wrap:!0}),ace.config.loadModule("ace/ext/modelist",function(){r=ace.require("ace/ext/modelist").getModeForPath("/"+t.file.name).name,"text"===r&&p[t.file.mime]&&(r=p[t.file.mime]),c.prev().children(".elfinder-dialog-title").append(" ("+t.file.mime+" : "+r.split(/[\/\\]/).pop()+")"),i.setOptions({mode:"ace/mode/"+r}),"resolved"===n.state()&&d.trigger("resize")}),ace.config.loadModule("ace/ext/language_tools",function(){ace.require("ace/ext/language_tools"),i.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!1})}),ace.config.loadModule("ace/ext/settings_menu",function(){ace.require("ace/ext/settings_menu").init(i)}),i.commands.addCommand({name:"saveFile",bindKey:{win:"Ctrl-s",mac:"Command-s"},exec:function(e){t.doSave()}}),i.commands.addCommand({name:"closeEditor",bindKey:{win:"Ctrl-w|Ctrl-q",mac:"Command-w|Command-q"},exec:function(e){t.doCancel()}}),i.resize(),$('
                    ').css("float","left").append($("").html(t.fm.i18n("TextArea")).button().on("click",function(){s.data("ace")?(s.removeData("ace"),a.hide(),s.val(i.session.getValue()).show().trigger("focus"),$(this).text("AceEditor")):(s.data("ace",!0),a.show(),i.setValue(s.hide().val(),-1),i.focus(),$(this).html(t.fm.i18n("TextArea")))})).append($("").button({icons:{primary:"ui-icon-gear",secondary:"ui-icon-triangle-1-e"},text:!1}).on("click",function(){i.showSettingsMenu(),$("#ace_settingsmenu").css("font-size","80%").find('div[contains="setOptions"]').hide().end().parent().appendTo($("#elfinder"))})).prependTo(c.next()),t.trigger("Prepare",{node:e,editorObj:ace,instance:i,opts:{}}),n.resolve(i)};return t.confObj.loader||(t.confObj.loader=$.Deferred(),t.fm.loadScript([o+"/ace.js"],function(){t.confObj.loader.resolve()},void 0,{obj:window,name:"ace"})),t.confObj.loader.done(a),n},close:function(e,t){t&&t.destroy()},save:function(e,t){t&&$(e).data("ace")&&(e.value=t.session.getValue())},focus:function(e,t){t&&$(e).data("ace")&&t.focus()},resize:function(e,t,i,n){t&&t.resize()}},{setup:function(e,t){!t.UA.ltIE10&&t.options.cdns.codemirror||(this.disabled=!0)},info:{id:"codemirror",name:"CodeMirror",iconImg:"img/editor-icons.png 0 -176"},load:function(e){var t=this.fm,i=t.convAbsUrl(t.options.cdns.codemirror),o=$.Deferred(),a=this,r=function(t){var r,s,c,d=$(e),l=d.parent();l.height(l.height()),c={lineNumbers:!0,lineWrapping:!0,extraKeys:{"Ctrl-S":function(){a.doSave()},"Ctrl-Q":function(){a.doCancel()},"Ctrl-W":function(){a.doCancel()}}},a.trigger("Prepare",{node:e,editorObj:t,instance:void 0,opts:c}),r=t.fromTextArea(e,c),o.resolve(r);var p,m,u,f;p||(p=t.findModeByMIME(a.file.mime)),!p&&(m=a.file.name.match(/.+\.([^.]+)$/))&&(p=t.findModeByExtension(m[1])),p&&(t.modeURL=n?"codemirror/mode/%N/%N.min":i+"/mode/%N/%N.min.js",u=p.mode,f=p.mime,r.setOption("mode",f),t.autoLoadMode(r,u),l.prev().children(".elfinder-dialog-title").append(" ("+f+("null"!=u?" : "+u:"")+")")),s=$(r.getWrapperElement()).css({padding:0,border:"none"}),d.data("cm",!0),s.height("100%"),$('
                    ').css("float","left").append($("").html(a.fm.i18n("TextArea")).button().on("click",function(){d.data("cm")?(d.removeData("cm"),s.hide(),d.val(r.getValue()).show().trigger("focus"),$(this).text("CodeMirror")):(d.data("cm",!0),s.show(),r.setValue(d.hide().val()),r.refresh(),r.focus(),$(this).html(a.fm.i18n("TextArea")))})).prependTo(l.next())};return a.confObj.loader||(a.confObj.loader=$.Deferred(),n?(require.config({packages:[{name:"codemirror",location:i,main:"codemirror.min"}],map:{codemirror:{"codemirror/lib/codemirror":"codemirror"}}}),require(["codemirror","codemirror/addon/mode/loadmode.min","codemirror/mode/meta.min"],function(e){a.confObj.loader.resolve(e)})):a.fm.loadScript([i+"/codemirror.min.js"],function(){a.fm.loadScript([i+"/addon/mode/loadmode.min.js",i+"/mode/meta.min.js"],function(){a.confObj.loader.resolve(CodeMirror)})},{loadType:"tag"}),a.fm.loadCss(i+"/codemirror.css")),a.confObj.loader.done(r),o},close:function(e,t){t&&t.toTextArea()},save:function(e,t){t&&$(e).data("cm")&&(e.value=t.getValue())},focus:function(e,t){t&&$(e).data("cm")&&t.focus()},resize:function(e,t,i,n){t&&t.refresh()}},{setup:function(e,t){!t.UA.ltIE10&&t.options.cdns.simplemde||(this.disabled=!0)},info:{id:"simplemde",name:"SimpleMDE",iconImg:"img/editor-icons.png 0 -80"},exts:["md"],load:function(e){var t=this,i=this.fm,o=$(e).parent(),a=$.Deferred(),r=i.options.cdns.simplemde,s=function(i){var n,r,s,c=o.height(),d=o.outerHeight(!0)-c+14;e._setHeight=function(e){var t,i=e||o.height(),a=0;return o.children(".editor-toolbar,.editor-statusbar").each(function(){a+=$(this).outerHeight(!0)}),t=i-a-d,r.height(t),n.codemirror.refresh(),t},o.height(c),s={element:e,autofocus:!0},t.trigger("Prepare",{node:e,editorObj:i,instance:void 0,opts:s}),n=new i(s),a.resolve(n),r=$(n.codemirror.getWrapperElement()),r.css("min-height","50px").children(".CodeMirror-scroll").css("min-height","50px"),e._setHeight(c)};return t.confObj.loader||(t.confObj.loader=$.Deferred(),t.fm.loadCss(r+"/simplemde.min.css"),n?require([r+"/simplemde.min.js"],function(e){t.confObj.loader.resolve(e)}):t.fm.loadScript([r+"/simplemde.min.js"],function(){t.confObj.loader.resolve(SimpleMDE)},{loadType:"tag"})),t.confObj.loader.done(s),a},close:function(e,t){t&&t.toTextArea(),t=null},save:function(e,t){t&&(e.value=t.value())},focus:function(e,t){t&&t.codemirror.focus()},resize:function(e,t,i,n){t&&e._setHeight()}},{info:{id:"ckeditor",name:"CKEditor",iconImg:"img/editor-icons.png 0 0"},exts:["htm","html","xhtml"],setup:function(e,t){var i=this;t.options.cdns.ckeditor?(i.ckeOpts={},e.extraOptions&&(i.ckeOpts=Object.assign({},e.extraOptions.ckeditor||{}),e.extraOptions.managerUrl&&(i.managerUrl=e.extraOptions.managerUrl))):i.disabled=!0},load:function(e){var t=this,i=this.fm,n=$.Deferred(),o=function(){var o,a=$(e).parent(),r=a.closest(".elfinder-dialog"),s=a.height(),c=/([&?]getfile=)[^&]+/,d=t.confObj.managerUrl||window.location.href.replace(/#.*$/,""),l="ckeditor";c.test(d)?d=d.replace(c,"$1"+l):d+="?getfile="+l,a.height(s),o={startupFocus:!0,fullPage:!0,allowedContent:!0,filebrowserBrowseUrl:d,toolbarCanCollapse:!0,toolbarStartupExpanded:!i.UA.Mobile,removePlugins:"resize",extraPlugins:"colorbutton,justify,docprops",on:{instanceReady:function(o){var a=o.editor;a.resize("100%",s),r.one("beforedommove."+i.namespace,function(){a.destroy()}).one("dommove."+i.namespace,function(){t.load(e).done(function(e){t.instance=e})}),n.resolve(o.editor)}}},t.trigger("Prepare",{node:e,editorObj:CKEDITOR,instance:void 0,opts:o}),CKEDITOR.replace(e.id,Object.assign(o,t.confObj.ckeOpts)),CKEDITOR.on("dialogDefinition",function(e){var t=e.data.definition.dialog;t.on("show",function(e){i.getUI().append($(".cke_dialog_background_cover")).append(this.getElement().$)}),t.on("hide",function(e){$("body:first").append($(".cke_dialog_background_cover")).append(this.getElement().$)})})};return t.confObj.loader||(t.confObj.loader=$.Deferred(),window.CKEDITOR_BASEPATH=i.options.cdns.ckeditor+"/",$.getScript(i.options.cdns.ckeditor+"/ckeditor.js",function(){t.confObj.loader.resolve()})),t.confObj.loader.done(o),n},close:function(e,t){t&&t.destroy()},save:function(e,t){t&&(e.value=t.getData())},focus:function(e,t){t&&t.focus()},resize:function(e,t,i,n){t&&"ready"===t.status&&t.resize("100%",$(e).parent().height())}},{info:{id:"ckeditor5",name:"CKEditor5",iconImg:"img/editor-icons.png 0 -16"},exts:["htm","html","xhtml"],html:'
                    ',setup:function(e,t){var i=this;t.options.cdns.ckeditor5&&"function"==typeof window.Symbol&&"symbol"==typeof Symbol()?(i.ckeOpts={},e.extraOptions&&(e.extraOptions.ckeditor5Mode&&(i.ckeditor5Mode=e.extraOptions.ckeditor5Mode),i.ckeOpts=Object.assign({},e.extraOptions.ckeditor5||{}),i.ckeOpts.mode&&(i.ckeditor5Mode=i.ckeOpts.mode,delete i.ckeOpts.mode),e.extraOptions.managerUrl&&(i.managerUrl=e.extraOptions.managerUrl))):i.disabled=!0,t.bind("destroy",function(){i.editor=null})},prepare:function(e,t,i){$(e).height(e.editor.fm.getUI().height()-100)},init:function(e,t,i,n){var o=i.match(/^([\s\S]*]*>)([\s\S]+)(<\/body>[\s\S]*)$/i),a="",r="",s="";this.css({width:"100%",height:"100%","box-sizing":"border-box"}),o?(a=o[1],r=o[2],s=o[3]):r=i,this.data("data",{header:a,body:r,footer:s}),this._setupSelEncoding(i)},load:function(e){var t,i=this,n=this.fm,o=$.Deferred(),a=i.confObj.ckeditor5Mode||"decoupled-document",r=function(){var e=n.lang.toLowerCase().replace("_","-");return"zh"===e.substr(0,2)&&"zh-cn"!==e&&(e="zh"),e}(),s=function(t){var s,d=$(e).parent();d.height(n.getUI().height()-100),s=Object.assign({toolbar:["heading","|","fontSize","fontFamily","|","bold","italic","underline","strikethrough","highlight","|","alignment","|","numberedList","bulletedList","blockQuote","indent","outdent","|","ckfinder","link","imageUpload","insertTable","mediaEmbed","|","undo","redo"],language:r},i.confObj.ckeOpts),i.trigger("Prepare",{node:e,editorObj:t,instance:void 0,opts:s}),t.create(e,s).then(function(t){var i,r,s=t.commands.get("ckfinder"),l=t.plugins.get("FileRepository"),p={};!t.ui.view.toolbar||"classic"!==a&&"decoupled-document"!==a||$(e).closest(".elfinder-dialog").children(".ui-widget-header").append($(t.ui.view.toolbar.element).css({marginRight:"-1em",marginLeft:"-1em"})),"classic"===a&&$(e).closest(".elfinder-edit-editor").css("overflow","auto"),s&&(i=function(e){return e&&e.mime.match(/^image\//i)},r=function(e){var i=t.commands.get("imageUpload");if(!i.isEnabled){var n=t.plugins.get("Notification"),o=t.locale.t;return void n.showWarning(o("Could not insert image at the current position."),{title:o("Inserting image failed"),namespace:"ckfinder"})}t.execute("imageInsert",{source:e})},s.execute=function(){var e=d.closest(".elfinder-dialog"),o=n.getCommand("getfile"),a=function(){p.hasVar&&(e.off("resize close",a),o.callback=p.callback,o.options.folders=p.folders,o.options.multiple=p.multi,n.commandMap.open=p.open,p.hasVar=!1)};e.trigger("togleminimize").one("resize close",a),p.callback=o.callback,p.folders=o.options.folders,p.multi=o.options.multiple,p.open=n.commandMap.open,p.hasVar=!0,o.callback=function(o){var a=[];return 1===o.length&&"directory"===o[0].mime?void n.one("open",function(){n.commandMap.open="getfile"}).getCommand("open").exec(o[0].hash):(n.getUI("cwd").trigger("unselectall"),$.each(o,function(e,o){i(o)?a.push(n.convAbsUrl(o.url)):t.execute("link",n.convAbsUrl(o.url))}),a.length&&r(a),void e.trigger("togleminimize"))},o.options.folders=!0,o.options.multiple=!0,n.commandMap.open="getfile",n.toast({mode:"info",msg:n.i18n("dblclickToSelect")})}),l.createUploadAdapter=function(e){return new c(e)},t.setData($(e).data("data").body),n.getUI().append($("body > div.ck-body")),$("div.ck-balloon-panel").css({"z-index":n.getMaximizeCss().zIndex+1}),o.resolve(t)})["catch"](function(e){n.error(e)})},c=function(e){var t=function(t,i,o){n.exec("upload",{files:[t]},void 0,n.cwd().hash).done(function(e){e.added&&e.added.length?n.url(e.added[0].hash,{async:!0}).done(function(e){i({"default":n.convAbsUrl(e)})}).fail(function(){o("errFileNotFound")}):o(n.i18n(e.error?e.error:"errUpload"))}).fail(function(e){var t=n.parseError(e);o(n.i18n(t?"userabort"===t?"errAbort":t:"errUploadNoFiles"))}).progress(function(t){e.uploadTotal=t.total,e.uploaded=t.progress})};this.upload=function(){return new Promise(function(i,n){e.file instanceof Promise||e.file&&"function"==typeof e.file.then?e.file.then(function(e){t(e,i,n)}):t(e.file,i,n)})},this.abort=function(){n.getUI().trigger("uploadabort")}};return i.confObj.editor?s(i.confObj.editor):(t=$.Deferred(),i.fm.loadScript([n.options.cdns.ckeditor5+"/"+a+"/ckeditor.js"],function(e){e||(e=window.BalloonEditor||window.InlineEditor||window.ClassicEditor||window.DecoupledEditor),"en"!==n.lang?i.fm.loadScript([n.options.cdns.ckeditor5+"/"+a+"/translations/"+r+".js"],function(i){t.resolve(e)},{tryRequire:!0,loadType:"tag",error:function(i){r="en",t.resolve(e)}}):t.resolve(e)},{tryRequire:!0,loadType:"tag"}),t.done(function(e){i.confObj.editor=e,s(e)})),o},getContent:function(){var e=$(this).data("data");return e.header+e.body+e.footer},close:function(e,t){t&&t.destroy()},save:function(e,t){var i=$(e),n=i.data("data");t&&(n.body=t.getData(),i.data("data",n))},focus:function(e,t){$(e).trigger("focus")}},{info:{id:"tinymce",name:"TinyMCE",iconImg:"img/editor-icons.png 0 -64"},exts:["htm","html","xhtml"],setup:function(e,t){var i=this;t.options.cdns.tinymce?(i.mceOpts={},e.extraOptions?(i.uploadOpts=Object.assign({},e.extraOptions.uploadOpts||{}),i.mceOpts=Object.assign({},e.extraOptions.tinymce||{})):i.uploadOpts={}):i.disabled=!0},load:function(e){var t=this,i=this.fm,n=$.Deferred(),o=function(){var o,a,r,s=$(e).show().parent(),c=s.closest(".elfinder-dialog"),d=s.height(),l=s.outerHeight(!0)-d,p=function(){var e;tinymce.activeEditor.windowManager.windows?(e=tinymce.activeEditor.windowManager.windows[0],a=$(e?e.getEl():void 0).hide(),r=$("#mce-modal-block").hide()):a=$(".tox-dialog-wrap").hide()},m=function(){r&&r.show(),a&&a.show()},u=tinymce.majorVersion;s.height(d),e._setHeight=function(e){if(u<5){var t,i=$(this).parent(),n=e||i.innerHeight(),o=0;i.find(".mce-container-body:first").children(".mce-top-part,.mce-statusbar").each(function(){o+=$(this).outerHeight(!0)}),t=n-o-l,i.find(".mce-edit-area iframe:first").height(t)}},o={selector:"#"+e.id,resize:!1,plugins:"print preview fullpage searchreplace autolink directionality visualblocks visualchars fullscreen image link media template codesample table charmap hr pagebreak nonbreaking anchor toc insertdatetime advlist lists wordcount imagetools textpattern help",toolbar:"formatselect | bold italic strikethrough forecolor backcolor | link image media | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat",image_advtab:!0,init_instance_callback:function(o){e._setHeight(d),c.one("beforedommove."+i.namespace,function(){tinymce.execCommand("mceRemoveEditor",!1,e.id)}).one("dommove."+i.namespace,function(){t.load(e).done(function(e){t.instance=e})}),n.resolve(o)},file_picker_callback:function(e,t,n){var o=i.getCommand("getfile"),a=function(){r.hasVar&&(o.callback=r.callback,o.options.folders=r.folders,o.options.multiple=r.multi,i.commandMap.open=r.open,r.hasVar=!1),c.off("resize close",a),m()},r={};return r.callback=o.callback,r.folders=o.options.folders,r.multi=o.options.multiple,r.open=i.commandMap.open,r.hasVar=!0,o.callback=function(t){var o,a;return"directory"===t.mime?void i.one("open",function(){i.commandMap.open="getfile"}).getCommand("open").exec(t.hash):(o=i.convAbsUrl(t.url),a=t.name+" ("+i.formatSize(t.size)+")","file"==n.filetype&&e(o,{text:a,title:a}),"image"==n.filetype&&e(o,{alt:a}),"media"==n.filetype&&e(o),void c.trigger("togleminimize"))},o.options.folders=!0,o.options.multiple=!1, i.commandMap.open="getfile",p(),c.trigger("togleminimize").one("resize close",a),i.toast({mode:"info",msg:i.i18n("dblclickToSelect")}),!1},images_upload_handler:function(e,n,o){var a=e.blob(),r=function(e){var t=e.data.dialog||{};(t.hasClass("elfinder-dialog-error")||t.hasClass("elfinder-confirm-upload"))&&(p(),t.trigger("togleminimize").one("resize close",s),i.unbind("dialogopened",r))},s=function(){c.off("resize close",s),m()},d=!0;a.name&&(d=void 0),i.bind("dialogopened",r).exec("upload",Object.assign({files:[a],clipdata:d},t.confObj.uploadOpts),void 0,i.cwd().hash).done(function(e){e.added&&e.added.length?i.url(e.added[0].hash,{async:!0}).done(function(e){m(),n(i.convAbsUrl(e))}).fail(function(){o(i.i18n("errFileNotFound"))}):o(i.i18n(e.error?e.error:"errUpload"))}).fail(function(e){var t=i.parseError(e);t&&("errUnknownCmd"===t?t="errPerm":"userabort"===t&&(t="errAbort")),o(i.i18n(t?t:"errUploadNoFiles"))})}},u>=5&&(o.height="100%"),t.trigger("Prepare",{node:e,editorObj:tinymce,instance:void 0,opts:o}),tinymce.init(Object.assign(o,t.confObj.mceOpts))};return t.confObj.loader||(t.confObj.loader=$.Deferred(),t.fm.loadScript([i.options.cdns.tinymce+(i.options.cdns.tinymce.match(/\.js/)?"":"/tinymce.min.js")],function(){t.confObj.loader.resolve()},{loadType:"tag"})),t.confObj.loader.done(o),n},close:function(e,t){t&&tinymce.execCommand("mceRemoveEditor",!1,e.id)},save:function(e,t){t&&t.save()},focus:function(e,t){t&&t.focus()},resize:function(e,t,i,n){t&&e._setHeight()}},{info:{id:"zohoeditor",name:"Zoho Editor",iconImg:"img/editor-icons.png 0 -32",cmdCheck:"ZohoOffice",preventGet:!0,hideButtons:!0,syncInterval:15e3,canMakeEmpty:!0,integrate:{title:"Zoho Office API",link:"https://www.zoho.com/officeapi/"}},mimes:["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.oasis.opendocument.text","application/rtf","text/html","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.spreadsheet","application/vnd.sun.xml.calc","text/csv","text/tab-separated-values","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/vnd.oasis.opendocument.presentation","application/vnd.sun.xml.impress"],html:'',setup:function(e,t){(t.UA.Mobile||t.UA.ltIE8)&&(this.disabled=!0)},prepare:function(e,t,i){var n=e.editor.fm.getUI();$(e).height(n.height()),t.width=Math.max(t.width||0,.8*n.width())},init:function(e,t,i,n){var o=this,a=$(this).hide(),r=n.getUI("toast"),s=$('
                    ').html(''+n.i18n("nowLoading")+'').appendTo(a.parent()),c=function(){var e="";return $.each(n.customData,function(t,i){e+="&"+encodeURIComponent(t)+"="+encodeURIComponent(i)}),e};$(o).data("xhr",n.request({data:{cmd:"editor",name:o.editor.confObj.info.cmdCheck,method:"init","args[target]":t.hash,"args[lang]":n.lang,"args[cdata]":c()},preventDefault:!0}).done(function(e){var t;e.zohourl?(t={css:{height:"100%"}},o.editor.trigger("Prepare",{node:o,editorObj:void 0,instance:a,opts:t}),a.attr("src",e.zohourl).show().css(t.css),e.warning&&(r.appendTo(o.closest(".ui-dialog")),n.toast({msg:n.i18n(e.warning),mode:"warning",timeOut:0,onHidden:function(){1===r.children().length&&r.appendTo(n.getUI())},button:{text:"btnYes"}}))):(e.error&&n.error(e.error),o.elfinderdialog("destroy"))}).fail(function(e){e&&n.error(e),o.elfinderdialog("destroy")}).always(function(){s.remove()}))},load:function(){},getContent:function(){},save:function(){},beforeclose:d,close:function(e){var t=(this.fm,$(e).data("xhr"));"pending"===t.state()&&t.reject()}},{info:{id:"ziparchive",name:"btnMount",iconImg:"img/toolbar.png 0 -416",cmdCheck:"ZipArchive",edit:function(e,t){var i=this,n=$.Deferred();return i.request({data:{cmd:"netmount",protocol:"ziparchive",host:e.hash,path:e.phash},preventFail:!0,notify:{type:"netmount",cnt:1,hideCnt:!0}}).done(function(e){var t;e.added&&e.added.length&&(e.added[0].phash&&(t=i.file(e.added[0].phash))&&(t.dirs||(t.dirs=1,i.change({changed:[t]}))),i.one("netmountdone",function(){i.exec("open",e.added[0].hash),i.one("opendone",function(){e.toast&&i.toast(e.toast)})})),n.resolve()}).fail(function(e){n.reject(e)}),n}},mimes:["application/zip"],load:function(){},save:function(){}},{info:{id:"textarea",name:"TextArea",useTextAreaEvent:!0},load:function(e){this.trigger("Prepare",{node:e,editorObj:void 0,instance:void 0,opts:{}}),e.setSelectionRange&&e.setSelectionRange(0,0),$(e).trigger("focus").show()},save:function(){}},{info:{id:"onlineconvert",name:"Online Convert",iconImg:"img/editor-icons.png 0 -144",cmdCheck:"OnlineConvert",preventGet:!0,hideButtons:!0,single:!0,converter:!0,canMakeEmpty:!1,integrate:{title:"ONLINE-CONVERT.COM",link:"https://online-convert.com"}},mimes:["*"],html:'
                    ',setup:function(e,t){var i=e.extraOptions.onlineConvert||{maxSize:100,showLink:!0};i.maxSize&&(this.info.maxSize=1048576*i.maxSize),this.set=Object.assign({url:"https://%s.online-convert.com%s?external_url=",conv:{Archive:{"7Z":{},BZ2:{ext:"bz"},GZ:{},ZIP:{}},Audio:{MP3:{},OGG:{ext:"oga"},WAV:{},WMA:{},AAC:{},AIFF:{ext:"aif"},FLAC:{},M4A:{},MMF:{},OPUS:{ext:"oga"}},Document:{DOC:{},DOCX:{},HTML:{},ODT:{},PDF:{},PPT:{},PPTX:{},RTF:{},SWF:{},TXT:{}},eBook:{AZW3:{ext:"azw"},ePub:{},FB2:{ext:"xml"},LIT:{},LRF:{},MOBI:{},PDB:{},PDF:{},"PDF-eBook":{ext:"pdf"},TCR:{}},Hash:{Adler32:{},"Apache-htpasswd":{},Blowfish:{},CRC32:{},CRC32B:{},Gost:{},Haval128:{},MD4:{},MD5:{},RIPEMD128:{},RIPEMD160:{},SHA1:{},SHA256:{},SHA384:{},SHA512:{},Snefru:{},"Std-DES":{},Tiger128:{},"Tiger128-calculator":{},"Tiger128-converter":{},Tiger160:{},Tiger192:{},Whirlpool:{}},Image:{BMP:{},EPS:{ext:"ai"},GIF:{},EXR:{},ICO:{},JPG:{},PNG:{},SVG:{},TGA:{},TIFF:{ext:"tif"},WBMP:{},WebP:{}},Video:{"3G2":{},"3GP":{},AVI:{},FLV:{},HLS:{ext:"m3u8"},MKV:{},MOV:{},MP4:{},"MPEG-1":{ext:"mpeg"},"MPEG-2":{ext:"mpeg"},OGG:{ext:"ogv"},OGV:{},WebM:{},WMV:{},Android:{link:"/convert-video-for-%s",ext:"mp4"},Blackberry:{link:"/convert-video-for-%s",ext:"mp4"},DPG:{link:"/convert-video-for-%s",ext:"avi"},iPad:{link:"/convert-video-for-%s",ext:"mp4"},iPhone:{link:"/convert-video-for-%s",ext:"mp4"},iPod:{link:"/convert-video-for-%s",ext:"mp4"},"Nintendo-3DS":{link:"/convert-video-for-%s",ext:"avi"},"Nintendo-DS":{link:"/convert-video-for-%s",ext:"avi"},PS3:{link:"/convert-video-for-%s",ext:"mp4"},Wii:{link:"/convert-video-for-%s",ext:"avi"},Xbox:{link:"/convert-video-for-%s",ext:"wmv"}}},catExts:{Hash:"txt"},link:'',useTabs:!(!$.fn.tabs||t.UA.iOS)},i)},prepare:function(e,t,i){var n=e.editor.fm.getUI();$(e).height(n.height()),t.width=Math.max(t.width||0,.8*n.width())},init:function(e,t,i,n){var a,r,s=this,c=s.editor.confObj,d=c.set,l=n.getUI("toast"),p={},m=n.uploadMimeCheck("application/zip",t.phash),u=$("base").length?document.location.href.replace(/#.*$/,""):"",f=function(e,t){var i;return d.catExts[e]?d.catExts[e]:d.conv[e]&&(i=d.conv[e][t])?(i.ext||t).toLowerCase():t.toLowerCase()},g=function(e,t){var i,o,a;o="undefined"==typeof c.api?n.request({data:{cmd:"editor",name:"OnlineConvert",method:"init"},preventDefault:!0}):$.Deferred().resolve({api:c.api}),e=e.toLowerCase(),o.done(function(n){c.api=n.api,c.api&&(e?i="?category="+e:(i="",e="all"),c.conversions||(c.conversions={}),a=c.conversions[e]?$.Deferred().resolve(c.conversions[e]):$.getJSON("https://api2.online-convert.com/conversions"+i),a.done(function(i){c.conversions[e]=i,$.each(i,function(e,t){h[d.useTabs?"children":"find"](".onlineconvert-category-"+t.category).children(".onlineconvert-"+t.target).trigger("makeoption",t)}),t&&t()}))})},h=function(){var e=$("
                    ").on("click","button",function(){var e=$(this),t=e.data("opts")||null,i=e.closest(".onlineconvert-category").data("cname"),n=e.data("conv");c.api===!0&&k({category:i,convert:n,options:t})}).on("change",function(e){var t=$(e.target),i=t.parent(),o=t.closest(".elfinder-edit-onlineconvert-button").children("button:first"),a=o.data("opts")||{},r="boolean"===i.data("type")?t.is(":checked"):t.val();if(e.stopPropagation(),r&&("integer"===i.data("type")&&(r=parseInt(r)),i.data("pattern"))){var s=new RegExp(i.data("pattern"));s.test(r)||(requestAnimationFrame(function(){n.error('"'+n.escape(r)+'" is not match to "/'+n.escape(i.data("pattern"))+'/"')}),r=null)}r?a[t.parent().data("optkey")]=r:delete a[i.data("optkey")],o.data("opts",a)}),i=$("
                      "),a=function(e,t){var i,o,a,r=$("

                      ").data("optkey",e).data("type",t.type),s="",c="",d=!1;return t.description&&r.attr("title",n.i18n(t.description)),t.pattern&&r.data("pattern",t.pattern),r.append($("").text(n.i18n(e)+" : ")),"boolean"===t.type?((t["default"]||(d="allow_multiple_outputs"===e&&!m))&&(s=" checked",d&&(c=" disabled"),o=this.children("button:first"),i=o.data("opts")||{},i[e]=!0,o.data("opts",i)),r.append($('"))):t["enum"]?(a=$("").append($('').text("Select...")),$.each(t["enum"],function(e,t){a.append($('').text(t))}),r.append(a)):r.append($('')),r},r=function(e){var t=this,i=$('').on("click",function(){n.toggle()}),n=$('
                      ').hide();e.options&&$.each(e.options,function(e,i){"download_password"!==e&&n.append(a.call(t,e,i))}),t.append(i,n)},s=+new Date,l=0;return c.ext2mime||(c.ext2mime=Object.assign(n.arrayFlip(n.mimeTypes),o)),$.each(d.conv,function(o,a){var d=o.toLowerCase(),m="elfinder-edit-onlineconvert-"+d+s,g=$('
                      ').data("cname",o);$.each(a,function(e,i){var a=e.toLowerCase(),s=f(o,e);c.ext2mime[s]||("audio"===d||"image"===d||"video"===d?c.ext2mime[s]=d+"/x-"+a:c.ext2mime[s]="application/octet-stream"),n.uploadMimeCheck(c.ext2mime[s],t.phash)&&g.append($('
                      ').on("makeoption",function(e,t){var i=$(this);i.children(".elfinder-button-icon-preference").length||r.call(i,t)}).append($("").text(e).data("conv",e)))}),g.children().length&&(i.append($("
                    • ").append($("").attr("href",u+"#"+m).text(o))),e.append(g),p[d]=l++)}),d.useTabs?e.prepend(i).tabs({beforeActivate:function(e,t){g(t.newPanel.data("cname"))}}):$.each(d.conv,function(t){var i=t.toLowerCase();e.append($('
                      ').append($("").text(t)).append(e.children(".onlineconvert-category-"+i)))}),e}(),v=$(this).append(h,d.showLink?$(d.link):null),b=$('
                      ').hide().html(''+n.i18n("nowLoading")+'').appendTo(v.parent()),x=$('
                      ').appendTo(b),y=null,w=function(){return y?$.Deferred().resolve(y):(b.show(),n.forExternalUrl(t.hash,{progressBar:x}).done(function(e){y=e}).fail(function(e){e&&n.error(e),s.elfinderdialog("destroy")}).always(function(){b.hide()}))},k=function(e){$(s).data("dfrd",w().done(function(i){v.fadeOut(),j({info:"Start conversion request."}),n.request({data:{cmd:"editor",name:"OnlineConvert",method:"api","args[category]":e.category.toLowerCase(),"args[convert]":e.convert.toLowerCase(),"args[options]":JSON.stringify(e.options),"args[source]":n.convAbsUrl(i),"args[filename]":n.splitFileExtention(t.name)[0]+"."+f(e.category,e.convert),"args[mime]":t.mime},preventDefault:!0}).done(function(t){O(t.apires,e.category,e.convert)}).fail(function(e){e&&n.error(e),s.elfinderdialog("destroy")})}))},O=function(e,t,i){var o,a=[];e&&e.id?(o=e.status,"failed"===o.code?(b.hide(),e.errors&&e.errors.length&&$.each(e.errors,function(e,t){t.message&&a.push(t.message)}),n.error(a.length?a:o.info),v.fadeIn()):"completed"===o.code?M(e):(j(o),setTimeout(function(){C(e.id)},1e3))):(l.appendTo(s.closest(".ui-dialog")),e.message&&n.toast({msg:n.i18n(e.message),mode:"error",timeOut:5e3,onHidden:function(){1===l.children().length&&l.appendTo(n.getUI())}}),n.toast({msg:n.i18n("editorConvNoApi"),mode:"error",timeOut:3e3,onHidden:function(){1===l.children().length&&l.appendTo(n.getUI())}}),b.hide(),v.show())},j=function(e){b.show().children(".elfinder-spinner-text").text(e.info)},C=function(e){n.request({data:{cmd:"editor",name:"OnlineConvert",method:"api","args[jobid]":e},preventDefault:!0}).done(function(e){O(e.apires)}).fail(function(e){e&&n.error(e),s.elfinderdialog("destroy")})},M=function(e){var i=e.output,o=(e.id,"");b.hide(),i&&i.length&&(s.elfinderdialog("destroy"),$.each(i,function(e,t){t.uri&&(o+=t.uri+"\n")}),n.upload({target:t.phash,files:[o],type:"text",extraData:{contentSaveId:"OnlineConvert-"+e.id}}))},T="document";v.parent().css({overflow:"auto"}).addClass("overflow-scrolling-touch"),(r=t.mime.match(/^(audio|image|video)/))&&(T=r[1]),d.useTabs?p[T]&&h.tabs("option","active",p[T]):(a=Object.keys(d.conv).length,$.each(d.conv,function(e){return e.toLowerCase()===T?(g(e,function(){$.each(d.conv,function(e){e.toLowerCase()!==T&&g(e)})}),!1):void a--}),a||$.each(d.conv,function(e){g(e)}),v.parent().scrollTop(h.children(".onlineconvert-fieldset-"+T).offset().top))},load:function(){},getContent:function(){},save:function(){},close:function(e){var t=(this.fm,$(e).data("dfrd"));t&&"pending"===t.state()&&t.reject()}}]},window.elFinder);wp-file-manager/lib/js/extras/encoding-japanese.min.js000064400000665110151202472330016711 0ustar00/*! * encoding-japanese v1.0.25 - Converts character encoding. * Copyright (c) 2013-2016 polygon planet * https://github.com/polygonplanet/encoding.js * @license MIT */ !function(a,b,c){"undefined"!=typeof exports?"undefined"!=typeof module&&module.exports?module.exports=c():exports[a]=c():"function"==typeof define&&define.amd?define(c):b[a]=c()}("Encoding",this,function(){"use strict";function a(a){for(var b,c=0,d=a&&a.length;c255)return!1;if(b>=0&&b<=7||255===b)return!0}return!1}function b(a){for(var b,c=0,d=a&&a.length;c255||b>=128&&b<=255||27===b)return!1;return!0}function c(a){for(var b,c,d,e=0,f=a&&a.length;e255||b>=128&&b<=255)return!1;if(27===b){if(e+2>=f)return!1;if(c=a[e+1],d=a[e+2],36===c){if(40===d||64===d||66===d)return!0}else{if(38===c&&64===d)return!0;if(40===c&&(66===d||73===d||74===d))return!0}}}return!1}function d(a){for(var b,c=0,d=a&&a.length;c255||b<142)return!1;if(142===b){if(c+1>=d)return!1;if(b=a[++c],b<161||223=d)return!1;if(b=a[++c],b<162||237=d)return!1;if(b=a[++c],b<161||254128;)if(a[c++]>255)return!1;for(;c239||c+1>=d)return!1;if(b=a[++c],b<64||127===b||b>252)return!1}return!0}function f(a){for(var b,c=0,d=a&&a.length;c255)return!1;if(!(9===b||10===b||13===b||b>=32&&b<=126))if(b>=194&&b<=223){if(c+1>=d||a[c+1]<128||a[c+1]>191)return!1;c++}else if(224===b){if(c+2>=d||a[c+1]<160||a[c+1]>191||a[c+2]<128||a[c+2]>191)return!1;c+=2}else if(b>=225&&b<=236||238===b||239===b){if(c+2>=d||a[c+1]<128||a[c+1]>191||a[c+2]<128||a[c+2]>191)return!1;c+=2}else if(237===b){if(c+2>=d||a[c+1]<128||a[c+1]>159||a[c+2]<128||a[c+2]>191)return!1;c+=2}else if(240===b){if(c+3>=d||a[c+1]<144||a[c+1]>191||a[c+2]<128||a[c+2]>191||a[c+3]<128||a[c+3]>191)return!1;c+=3}else if(b>=241&&b<=243){if(c+3>=d||a[c+1]<128||a[c+1]>191||a[c+2]<128||a[c+2]>191||a[c+3]<128||a[c+3]>191)return!1;c+=3}else{if(244!==b)return!1;if(c+3>=d||a[c+1]<128||a[c+1]>143||a[c+2]<128||a[c+2]>191||a[c+3]<128||a[c+3]>191)return!1;c+=3}}return!0}function g(a){var b,c,d,e,f=0,g=a&&a.length,h=null;if(g<2){if(a[0]>255)return!1}else{if(b=a[0],c=a[1],255===b&&254===c)return!0;if(254===b&&255===c)return!0;for(;f255)return!1}if(null===h)return!1;if(d=a[h+1],void 0!==d&&d>0&&d<128)return!0;if(e=a[h-1],void 0!==e&&e>0&&e<128)return!0}return!1}function h(a){var b,c,d=0,e=a&&a.length,f=null;if(e<2){if(a[0]>255)return!1}else{if(b=a[0],c=a[1],254===b&&255===c)return!0;for(;d255)return!1}if(null===f)return!1;if(f%2===0)return!0}return!1}function i(a){var b,c,d=0,e=a&&a.length,f=null;if(e<2){if(a[0]>255)return!1}else{if(b=a[0],c=a[1],255===b&&254===c)return!0;for(;d255)return!1}if(null===f)return!1;if(f%2!==0)return!0}return!1}function j(a){var b,c,d,e,f,g,h=0,i=a&&a.length,j=null;if(i<4){for(;h255)return!1}else{if(b=a[0],c=a[1],d=a[2],e=a[3],0===b&&0===c&&254===d&&255===e)return!0;if(255===b&&254===c&&0===d&&0===e)return!0;for(;h255)return!1}if(null===j)return!1;if(f=a[j+3],void 0!==f&&f>0&&f<=127)return 0===a[j+2]&&0===a[j+1];if(g=a[j-1],void 0!==g&&g>0&&g<=127)return 0===a[j+1]&&0===a[j+2]}return!1}function k(a){for(var b,c=0,d=a&&a.length;c1114111)return!1;return!0}function l(a){for(var b,c,d=[],e=0,f=0,g=a&&a.length;f>=1,b<47?b+=113:b-=79,c+=c>95?32:31):(b>>=1,b<=47?b+=112:b-=80,c+=126),d[d.length]=255&b,d[d.length]=255&c):2===e?d[d.length]=a[f]+128&255:3===e?d[d.length]=Da:d[d.length]=255&a[f]}return d}function m(a){for(var b=[],c=0,d=a&&a.length,e=0;e=161&&b<=223?(2!==e&&(e=2,d[d.length]=h[6],d[d.length]=h[7],d[d.length]=h[8]),d[d.length]=b-128&255):b>=128?(1!==e&&(e=1,d[d.length]=h[3],d[d.length]=h[4],d[d.length]=h[5]),b<<=1,c=a[++g],c<159?(b-=b<319?225:97,c-=c>126?32:31):(b-=b<319?224:96,c-=126),d[d.length]=255&b,d[d.length]=255&c):(0!==e&&(e=0,d[d.length]=h[0],d[d.length]=h[1],d[d.length]=h[2]),d[d.length]=255&b);return 0!==e&&(d[d.length]=h[0],d[d.length]=h[1],d[d.length]=h[2]),d}function o(a){for(var b,c,d=[],e=a&&a.length,f=0;f=161&&b<=223?(d[d.length]=142,d[d.length]=b):b>=129?(c=a[++f],b<<=1,c<159?(b-=b<319?97:225,c+=c>126?96:97):(b-=b<319?96:224,c+=2),d[d.length]=255&b,d[d.length]=255&c):d[d.length]=255&b;return d}function p(a){for(var b,c=[],d=0,e=a&&a.length,f=0,g=[27,40,66,27,36,66,27,40,73,27,36,40,68];f142?(1!==d&&(d=1,c[c.length]=g[3],c[c.length]=g[4],c[c.length]=g[5]),c[c.length]=b-128&255,c[c.length]=a[++f]-128&255):(0!==d&&(d=0,c[c.length]=g[0],c[c.length]=g[1],c[c.length]=g[2]),c[c.length]=255&b);return 0!==d&&(c[c.length]=g[0],c[c.length]=g[1],c[c.length]=g[2]),c}function q(a){for(var b,c,d=[],e=a&&a.length,f=0;f142?(c=a[++f],1&b?(b>>=1,b+=b<111?49:113,c-=c>223?96:97):(b>>=1,b+=b<=111?48:112,c-=2),d[d.length]=255&b,d[d.length]=255&c):142===b?d[d.length]=255&a[++f]:d[d.length]=255&b;return d}function r(a){Ca();for(var b,c,d,e,f,g,h,i=[],j=0,k=a&&a.length;j=161&&b<=223?(d=b-64,e=188|d>>6&3,f=128|63&d,i[i.length]=239,i[i.length]=255&e,i[i.length]=255&f):b>=128?(c=b<<1,d=a[++j],d<159?(c-=c<319?225:97,d-=d>126?32:31):(c-=c<319?224:96,d-=126),c&=255,g=(c<<8)+d,h=Ya[g],void 0===h?i[i.length]=Da:h<65535?(i[i.length]=h>>8&255,i[i.length]=255&h):(i[i.length]=h>>16&255,i[i.length]=h>>8&255,i[i.length]=255&h)):i[i.length]=255&a[j];return i}function s(a){Ca();for(var b,c,d,e,f,g,h,i,j=[],k=0,l=a&&a.length;k>6&3,e=128|63&c,j[j.length]=239,j[j.length]=255&d,j[j.length]=255&e):143===b?(f=a[++k]-128,g=a[++k]-128,h=(f<<8)+g,i=Za[h],void 0===i?j[j.length]=Da:i<65535?(j[j.length]=i>>8&255,j[j.length]=255&i):(j[j.length]=i>>16&255,j[j.length]=i>>8&255,j[j.length]=255&i)):b>=128?(h=(b-128<<8)+(a[++k]-128),i=Ya[h],void 0===i?j[j.length]=Da:i<65535?(j[j.length]=i>>8&255,j[j.length]=255&i):(j[j.length]=i>>16&255,j[j.length]=i>>8&255,j[j.length]=255&i)):j[j.length]=255&a[k];return j}function t(a){Ca();for(var b,c,d,e,f,g=[],h=0,i=0,j=a&&a.length;i>8&255,g[g.length]=255&f):(g[g.length]=f>>16&255,g[g.length]=f>>8&255,g[g.length]=255&f)):2===h?(b=a[i]+64,c=188|b>>6&3,d=128|63&b,g[g.length]=239,g[g.length]=255&c,g[g.length]=255&d):3===h?(e=(a[i]<<8)+a[++i],f=Za[e],void 0===f?g[g.length]=Da:f<65535?(g[g.length]=f>>8&255,g[g.length]=255&f):(g[g.length]=f>>16&255,g[g.length]=f>>8&255,g[g.length]=255&f)):g[g.length]=255&a[i]}return g}function u(a){for(var b,c,d,e,f,g=[],h=0,i=a&&a.length;h=128?(e=b<=223?(b<<8)+a[++h]:(b<<16)+(a[++h]<<8)+(255&a[++h]), f=Wa[e],void 0===f?g[g.length]=Da:f<255?g[g.length]=f+128:(f>65536&&(f-=65536),c=f>>8,d=255&f,1&c?(c>>=1,c<47?c+=113:c-=79,d+=d>95?32:31):(c>>=1,c<=47?c+=112:c-=80,d+=126),g[g.length]=255&c,g[g.length]=255&d)):g[g.length]=255&a[h];return g}function v(a){for(var b,c,d,e=[],f=0,g=a&&a.length;f=128?(c=b<=223?(a[f++]<<8)+a[f]:(a[f++]<<16)+(a[f++]<<8)+(255&a[f]),d=Wa[c],void 0===d?(d=Xa[c],void 0===d?e[e.length]=Da:(e[e.length]=143,e[e.length]=(d>>8)-128&255,e[e.length]=(255&d)-128&255)):(d>65536&&(d-=65536),d<255?(e[e.length]=142,e[e.length]=d-128&255):(e[e.length]=(d>>8)-128&255,e[e.length]=(255&d)-128&255))):e[e.length]=255&a[f];return e}function w(a){for(var b,c,d,e=[],f=0,g=a&&a.length,h=0,i=[27,40,66,27,36,66,27,40,73,27,36,40,68];h>8&255,e[e.length]=255&d)):(d>65536&&(d-=65536),d<255?(2!==f&&(f=2,e[e.length]=i[6],e[e.length]=i[7],e[e.length]=i[8]),e[e.length]=255&d):(1!==f&&(f=1,e[e.length]=i[3],e[e.length]=i[4],e[e.length]=i[5]),e[e.length]=d>>8&255,e[e.length]=255&d)));return 0!==f&&(e[e.length]=i[0],e[e.length]=i[1],e[e.length]=i[2]),e}function x(a){for(var b,c,d=[],e=0,f=a&&a.length;e=55296&&b<=56319&&e+1=56320&&c<=57343&&(b=1024*(b-55296)+c-56320+65536,e++)),b<128?d[d.length]=b:b<2048?(d[d.length]=192|b>>6&31,d[d.length]=128|63&b):b<65536?(d[d.length]=224|b>>12&15,d[d.length]=128|b>>6&63,d[d.length]=128|63&b):b<2097152&&(d[d.length]=240|b>>18&15,d[d.length]=128|b>>12&63,d[d.length]=128|b>>6&63,d[d.length]=128|63&b);return d}function y(a){for(var b,c,d,e,f,g,h=[],i=0,j=a&&a.length;i>4,b>=0&&b<=7?g=c:12===b||13===b?(d=a[i++],g=(31&c)<<6|63&d):14===b?(d=a[i++],e=a[i++],g=(15&c)<<12|(63&d)<<6|63&e):15===b&&(d=a[i++],e=a[i++],f=a[i++],g=(7&c)<<18|(63&d)<<12|(63&e)<<6|63&f),g<=65535?h[h.length]=g:(g-=65536,h[h.length]=(g>>10)+55296,h[h.length]=g%1024+56320);return h}function z(a,b){var c;if(b&&b.bom){var d=b.bom;qa(d)||(d="BE");var e,f;"B"===d.charAt(0).toUpperCase()?(e=[254,255],f=A(a)):(e=[255,254],f=B(a)),c=[],c[0]=e[0],c[1]=e[1];for(var g=0,h=f.length;g>8&255,c[c.length]=255&b);return c}function B(a){for(var b,c=[],d=0,e=a&&a.length;d>8&255);return c}function C(a){var b,c,d=[],e=0,f=a&&a.length;for(f>=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(e=2);e=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(e=2);e=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(h=2),c&&(f[0]=c[0],f[1]=c[1]);for(var i,j;h=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(h=2),c&&(f[0]=c[0],f[1]=c[1]);for(var i,j;h=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(e=2);eLa&&(Ma=!0),c}catch(a){Ma=!1}}}return va(a)}function va(a){for(var b,c="",d=a&&a.length,e=0;eLa&&(Ma=!0);continue}catch(a){Ma=!1}return wa(a)}c+=Ea.apply(null,b)}return c}function wa(a){for(var b="",c=a&&a.length,d=0;d>2],b[b.length]=Ta[(3&e)<<4],b[b.length]=Va,b[b.length]=Va;break}if(f=a[c++],c==d){b[b.length]=Ta[e>>2],b[b.length]=Ta[(3&e)<<4|(240&f)>>4],b[b.length]=Ta[(15&f)<<2],b[b.length]=Va;break}g=a[c++],b[b.length]=Ta[e>>2],b[b.length]=Ta[(3&e)<<4|(240&f)>>4],b[b.length]=Ta[(15&f)<<2|(192&g)>>6],b[b.length]=Ta[63&g]}return ua(b)}function Ba(a){var b,c,d,e,f,g,h;for(g=a&&a.length,f=0,h=[];f>4;do{if(d=255&a.charCodeAt(f++),61==d)return h;d=Ua[d]}while(f>2; do{if(e=255&a.charCodeAt(f++),61==e)return h;e=Ua[e]}while(f95&&(Ya[b]=0|a);for(Za={},c=ra(Xa),e=c.length,d=0;d255)return encodeURIComponent(ua(a));b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||33===b||b>=39&&b<=42||45===b||46===b||95===b||126===b?d[d.length]=b:(d[d.length]=37,b<16?(d[d.length]=48,d[d.length]=c[b]):(d[d.length]=c[b>>4&15],d[d.length]=c[15&b]))}return ua(d)},urlDecode:function(a){for(var b,c=[],d=0,e=a&&a.length;d=65281&&c<=65374&&(c-=65248),d[d.length]=c;return b?ua(d):d},toZenkakuCase:function(a){var b=!1;qa(a)&&(b=!0,a=ta(a));for(var c,d=[],e=a&&a.length,f=0;f=33&&c<=126&&(c+=65248),d[d.length]=c;return b?ua(d):d},toHiraganaCase:function(a){var b=!1;qa(a)&&(b=!0,a=ta(a));for(var c,d=[],e=a&&a.length,f=0;f=12449&&c<=12534?c-=96:12535===c?(d[d.length]=12431,c=12443):12538===c&&(d[d.length]=12434,c=12443),d[d.length]=c;return b?ua(d):d},toKatakanaCase:function(a){var b=!1;qa(a)&&(b=!0,a=ta(a));for(var c,d=[],e=a&&a.length,f=0;f=12353&&c<=12438&&((12431===c||12434===c)&&f=12289&&c<=12540&&(e=$a[c],void 0!==e)?f[f.length]=e:12532===c||12535===c||12538===c?(f[f.length]=_a[c],f[f.length]=65438):c>=12459&&c<=12489?(f[f.length]=$a[c-1],f[f.length]=65438):c>=12495&&c<=12509?(d=c%3,f[f.length]=$a[c-d],f[f.length]=ab[d-1]):f[f.length]=c;return b?ua(f):f},toZenkanaCase:function(a){var b=!1;qa(a)&&(b=!0,a=ta(a));var c,d,e,f=[],g=a&&a.length,h=0;for(h=0;h65376&&c<65440&&(d=bb[c-65377],h+165397&&c<65413||c>65417&&c<65423)?(d++,h++):65439===e&&c>65417&&c<65423&&(d+=2,h++)),c=d),f[f.length]=c;return b?ua(f):f},toHankakuSpace:function(a){if(qa(a))return a.replace(/\u3000/g," ");for(var b,c=[],d=a&&a.length,e=0;e
                      ').appendTo(ql.info.find('.elfinder-quicklook-info')) .on('click', function() { jQuery(this).html(''); fm.request({ data : {cmd : 'url', target : file.hash}, preventDefault : true }) .always(function() { preview.show(); jQuery(this).html(''); }) .done(function(data) { var rfile = fm.file(file.hash); ql.value.url = rfile.url = data.url || ''; if (ql.value.url) { preview.trigger(jQuery.Event('update', {file : ql.value})); } }); }); } if (file.url !== '' && file.url != '1') { e.stopImmediatePropagation(); loading = jQuery('
                      '+fm.i18n('nowLoading')+'
                      ').appendTo(ql.info.find('.elfinder-quicklook-info')); node = jQuery('') .css('background-color', 'transparent') .on('load', function() { ql.hideinfo(); loading.remove(); node.css('background-color', '#fff'); }) .on('error', function() { loading.remove(); node.remove(); }) .appendTo(preview) .attr('src', fm.url(file.hash)); preview.one('change', function() { loading.remove(); node.off('load').remove(); }); } } }); }); } catch(e) {} })); wp-file-manager/lib/js/extras/quicklook.googledocs.min.js000064400000003047151202472330017457 0ustar00!function(e,n){"function"==typeof define&&define.amd?define(["elfinder"],n):"undefined"!=typeof exports?module.exports=n(require("elfinder")):n(e.elFinder)}(this,function(e){"use strict";try{e.prototype.commands.quicklook.plugins||(e.prototype.commands.quicklook.plugins=[]),e.prototype.commands.quicklook.plugins.push(function(e){var n=e.fm,o=e.preview;o.on("update",function(i){var r,a,t=(e.window,i.file);0===t.mime.indexOf("application/vnd.google-apps.")&&("1"==t.url&&(o.hide(),$('
                      ").appendTo(e.info.find(".elfinder-quicklook-info")).on("click",function(){$(this).html(''),n.request({data:{cmd:"url",target:t.hash},preventDefault:!0}).always(function(){o.show(),$(this).html("")}).done(function(i){var r=n.file(t.hash);e.value.url=r.url=i.url||"",e.value.url&&o.trigger($.Event("update",{file:e.value}))})})),""!==t.url&&"1"!=t.url&&(i.stopImmediatePropagation(),a=$('
                      '+n.i18n("nowLoading")+'
                      ').appendTo(e.info.find(".elfinder-quicklook-info")),r=$('').css("background-color","transparent").on("load",function(){e.hideinfo(),a.remove(),r.css("background-color","#fff")}).on("error",function(){a.remove(),r.remove()}).appendTo(o).attr("src",n.url(t.hash)),o.one("change",function(){a.remove(),r.off("load").remove()})))})})}catch(n){}});wp-file-manager/lib/js/i18n/help/cs.html.js000064400000001722151202472330014317 0ustar00

                      Tipy na obsluhu

                      Obsluha na uživatelském rozhraní je podobná standardnímu správci souborů operačního systému. Drag and Drop však není možné používat s mobilními prohlížeči.

                      • Kliknutím pravým tlačítkem nebo dlouhým klepnutím zobrazíte kontextové menu.
                      • Přetáhněte do stromu složek nebo do aktuálního pracovního prostoru a přetáhněte / kopírujte položky.
                      • Výběr položky v pracovním prostoru můžete rozšířit pomocí kláves Shift nebo Alt (Možnost).
                      • Přemístěte soubory a složky do cílové složky nebo do pracovního prostoru.
                      • Dialog předávání může přijímat data schránky nebo seznamy adres URL a přitáhnout a odejít z jiných prohlížečů nebo správců souborů.
                      • Zatažením spusťte stisknutím klávesy Alt (Možnost) přetáhněte do vnějšího prohlížeče. Tato funkce se převezme pomocí prohlížeče Google Chrome.
                      wp-file-manager/lib/js/i18n/help/de.html.js000064400000004370151202472330014304 0ustar00

                      Anwendungstipps

                      Die Verwendung dieser Anwendung ist ähnlich der einer lokalen Dateiverwaltung.
                      Hinweis: auf mobilen Geräten ist das Ziehen und Ablegen (Drag and Drop) von Dateien nicht möglich.

                      • Rechtsklick auf ein Element oder länger darauf zeigen öffnet das Kontextmenü
                      • Um Elemente in andere Ordner oder aktuellen Arbeitsbereich zu kopieren oder verschieben diese Ziehen und Ablegen
                      • Elementauswahl im Arbeitsbereich kann mit der Hochstell- oder ALT-TAste erweitert werden
                      • Um lokale Ordner und Dateien in den Zielorder oder -arbeitsbereich zu kopieren diese Ziehen und Ablegen
                      • Der Uploaddialog erlaubt Daten aus dem Clipboard (Zwischenspeicher), eine URL und Ziehen und Ablegen aus anderen Browsern und Dateiverwaltungsoberflächen
                      • Ziehen mit gedrückter ALT-Taste erlaubt einen einfachen Dateidownload (nur Google Chrome)
                      • Ordner und Dateien können ausgeblendet (versteckt) werden. Um sie wieder dauerhaft sichtbar zu machen, über die Menüleiste das "Icon Einstellungen" anklicken, dort unter Arbeitsplatz "Zeige versteckte Elemente" den Button "Neustart" anklicken
                      • Das Kontextmenü (rechte Maustaste) zeigt je nach ausgewählten Element diverse Aktionen an
                      • Je nach Art des Elements kann der Inhalt entweder mit dem integrierten Editor bearbeitet werden (z.B. .php, .txt, .ini usw.) oder wenn ein Bild dieses gedreht sowie die Größe geändert werden
                      • Zum verbinden externer Speicherorte (FTP, Dropbox, Box, GoogleDrive, OneDrive) sowie Onlineeditor Zoho Office Editor oder Konvertierungsdienst Online-Convert müssen diese Anwendungen freigeschaltet als auch die entsprechenden API-Daten zum Abrufen je Dienst definiert sein.
                        Sollten diese Dienste nicht verfügbar sein, müssen diese entweder selbständig dazu programmiert werden, oder einen Entwickler des Vertrauens damit beauftragen (z.B. OSWorX)
                      • In den Einstellungen "Menü Icon Einstellungen" kann der gesamte Arbeitsbereich, die Menüleiste sowie etliche weitere Aktionen definiert werden
                      wp-file-manager/lib/js/i18n/help/en.html.js000064400000001440151202472330014311 0ustar00

                      Operation Tips

                      Operation on the UI is similar to operating system's standard file manager. However, Drag and Drop is not possible with mobile browsers.

                      • Right click or long tap to show the context menu.
                      • Drag and drop into the folder tree or the current workspace to move/copy items.
                      • Item selection in the workspace can be extended selection with Shift or Alt (Option) key.
                      • Drag and Drop to the destination folder or workspace to upload files and folders.
                      • The upload dialog can accept paste/drop clipboard data or URL lists and Drag and Drop from other browser or file managers etc.
                      • Drag start with pressing Alt(Option) key to drag out to outside browser. It will became download operation with Google Chrome.
                      wp-file-manager/lib/js/i18n/help/es.html.js000064400000002042151202472330014315 0ustar00

                      Consejos de operación

                      Operar en la Interfaz del Usuario es similar al administrador de archivos estandar del sistema operativo. Sin embargo, Arrastrar y soltar no es posible con los navegadores móviles.

                      • Click derecho o un tap largo para mostrar el menú de contexto.
                      • Arrastrar y soltar dentro del árbol de carpetas o el espacio de trabajo actual para mover/copiar elementos.
                      • La selección de elementos en el espacio de trabajo puede ampliarse con la tecla Shift o Alt (Opción).
                      • Arrastrar y soltar a la carpeta de destino o área de trabajo para cargar archivos y carpetas.
                      • El cuadro de diálogo de carga puede aceptar pegar/soltar datos del portapapeles o listas de URL y arrastrar y soltar desde otro navegador o administrador de archivos, etc.
                      • Iniciar a arrastrar presionando la tecla Alt (Opción) para arrastrar fuera del navegador. Se convertirá en una operación de descarga con Google Chrome.
                      wp-file-manager/lib/js/i18n/help/fr.html.js000064400000002576151202472330014331 0ustar00

                      Conseils d'utilisation

                      Le fonctionnement sur l'interface utilisateur est similaire à celui du gestionnaire de fichiers standard du système d'exploitation. Cependant, le glisser-déposer n'est pas possible avec les navigateurs mobiles.

                      • Cliquez avec le bouton droit ou appuyez longuement pour afficher le menu contextuel.
                      • Faites glisser et déposez dans l'arborescence des dossiers ou dans l'espace de travail actuel pour déplacer/copier des éléments.
                      • La sélection d'éléments dans l'espace de travail peut être une sélection étendue avec la touche Maj ou Alt (Option).
                      • Faites glisser et déposez vers le dossier ou l'espace de travail de destination pour télécharger des fichiers et des dossiers.
                      • La boîte de dialogue de téléchargement peut accepter le collage/déplacement de données du presse-papiers ou de listes d'URL, ainsi que le glisser-déposer depuis d'autres navigateurs ou gestionnaires de fichiers, etc.
                      • Faites glisser le début en appuyant sur la touche Alt (Option) pour le faire glisser vers l'extérieur du navigateur. Cela deviendra une opération de téléchargement avec Google Chrome.
                      wp-file-manager/lib/js/i18n/help/ja.html.js000064400000002402151202472330014300 0ustar00

                      操作のヒント

                      UIの操作は、オペレーティングシステムの標準ファイルマネージャにほぼ準拠しています。ただし、モバイルブラウザではドラッグ&ドロップはできません。

                      • 右クリックまたはロングタップでコンテキストメニューを表示します。
                      • アイテムを移動/コピーするには、フォルダツリーまたはワークスペースにドラッグ&ドロップします。
                      • ワークスペース内のアイテムの選択は、ShiftキーまたはAltキー(Optionキー)で選択範囲を拡張できます。
                      • コピー先のフォルダまたはワークスペースにドラッグアンドドロップして、ファイルとフォルダをアップロードします。
                      • アップロードダイアログでは、クリップボードのデータやURLリストのペースト/ドロップ、他のブラウザやファイルマネージャからのドラッグ&ドロップなどを受け入れることができます。
                      • Altキー(Optionキー)を押しながらドラッグすると、ブラウザの外にドラッグできます。Google Chromeでダウンロード操作になります。
                      wp-file-manager/lib/js/i18n/help/ko.html.js000064400000002034151202472330014320 0ustar00

                      사용 팁

                      UI 조작은 운영체제의 표준 파일 관리자를 사용하는 방법과 비슷합니다. 하지만 모바일 브라우저에서는 드래그앤드롭을 사용할 수 없습니다.

                      • 오른쪽 클릭하거나 길게 누르면 컨텍스트 메뉴가 나타납니다.
                      • 이동/복사하려면 폴더 트리 또는 원하는 폴더로 드래그앤드롭하십시오.
                      • 작업공간에서 항목을 선택하려면 Shift또는 Alt(Option) 키를 사용하여 선택 영역을 넓힐 수 있습니다.
                      • 업로드 대상 폴더 또는 작업 영역으로 파일및 폴더를 드래그앤드롭하여 업로드할 수 있습니다.
                      • 다른 브라우저 또는 파일관리자등에서 드래그앤드롭하거나, 클립보드를 통해 데이터또는 URL을 복사/붙여넣어 업로드할 수 있습니다.
                      • 크롬브라우저의 경우, Alt(Option) 키를 누른 상태에서 브라우저 밖으로 드래그앤드롭하면 다운로드가 가능합니다.
                      wp-file-manager/lib/js/i18n/help/pl.html.js000064400000002007151202472330014322 0ustar00

                      Wskazówki Obsługi

                      Działanie w interfejsie użytkownika jest podobne do standardowego menedżera plików systemu operacyjnego. Jednak Przeciąganie i Upuszczanie nie jest możliwe w przeglądarkach mobilnych.

                      • Kliknij prawym przyciskiem myszy lub dłużej, aby wyświetlić menu kontekstowe.
                      • Przeciągnij i upuść w drzewie folderów lub bieżącym obszarze roboczym, aby przenieść/kopiować elementy.
                      • Wybór elementu w obszarze roboczym można rozszerzyć wybór z klawiszem Shift lub Alt(Opcja).
                      • Przeciągnij i Upuść do folderu docelowego lub obszaru roboczego, aby przesłać pliki i foldery.
                      • W oknie dialogowym przesyłania można zaakceptować wklejanie/upuszczanie danych schowka lub listy adresów URL, i Przeciągnij i Upuść z innych przeglądarek lub menedżerów plików, itp.
                      • Rozpocznij Przeciąganie naciskając Alt (Opcja), aby przeciągnąć na zewnątrz przeglądarki. Stanie się operacją pobierania z Google Chrome.
                      wp-file-manager/lib/js/i18n/help/ru.html.js000064400000003105151202472330014335 0ustar00

                      Советы по работе

                      Работа с пользовательским интерфейсом похожа на стандартный файловый менеджер операционной системы. Однако перетаскивание в мобильных браузерах невозможно.

                      • Щелкните правой кнопкой мыши или используйте «длинный тап», чтобы отобразить контекстное меню.
                      • Перетащите в дерево папок или текущую рабочую область для перемещения / копирования элементов.
                      • Выбор элемента в рабочей области может быть расширен с помощью клавиши Shift или Alt (Option).
                      • Перетащите в папку назначения или рабочую область для загрузки файлов и папок.
                      • В диалоговом окне загрузки можно использовать вставку данных или списков URL-адресов из буфера обмена, а также перетаскивать из других браузеров или файловых менеджеров и т.д.
                      • Начните перетаскивание, нажав Alt (Option), чтобы перетащить за пределы браузера. Это запустить процесс скачивания в Google Chrome.
                      wp-file-manager/lib/js/i18n/help/sk.html.js000064400000001745151202472330014334 0ustar00

                      Tipy na obsluhu

                      Obsluha na používateľskom rozhraní je podobná štandardnému správcovi súborov operačného systému. Drag and Drop však nie je možné používať s mobilnými prehliadačmi.

                      • Kliknutím pravým tlačidlom alebo dlhým klepnutím zobrazíte kontextové menu.
                      • Presuňte myšou do stromu priečinkov alebo do aktuálneho pracovného priestoru a presuňte / kopírujte položky.
                      • Výber položky v pracovnom priestore môžete rozšíriť pomocou klávesov Shift alebo Alt (Možnosť).
                      • Premiestnite súbory a priečinky do cieľovej zložky alebo do pracovného priestoru.
                      • Dialog odovzdávania môže prijímať dáta schránky alebo zoznamy adries URL a pritiahnuť a odísť z iných prehliadačov alebo správcov súborov.
                      • Potiahnutím spustite stlačením klávesu Alt (Možnosť) pretiahnite do vonkajšieho prehliadača. Táto funkcia sa prevezme pomocou prehliadača Google Chrome.
                      wp-file-manager/lib/js/i18n/help/tr.html.js000064400000001652151202472330014341 0ustar00

                      İşlem İpuçları

                      Kullanıcı arayüzündeki işlem, işletim sisteminin standart dosya yöneticisine benzer. Ancak Sürükle ve Bırak özelliği mobil tarayıcılarda mümkün değildir.

                      • Bağlam menüsünü göstermek için sağ tıklayın veya uzun dokunun.
                      • Öğeleri taşımak/kopyalamak için klasör ağacına veya geçerli çalışma alanına sürükleyip bırakın.
                      • Çalışma alanındaki öğe seçimi Shift veya Alt (Seçenek) tuşuyla genişletilebilir.
                      • Dosya ve klasör yüklemek için hedef klasöre veya çalışma alanına sürükleyip bırakın.
                      • Yükleme iletişim kutusu, pano verilerini veya URL listelerini yapıştırma/bırakma ve diğer tarayıcı veya dosya yöneticilerinden Sürükle ve Bırak vb.
                      • Dış tarayıcıya sürüklemek için Alt (Seçenek) tuşuna basarak sürükleyin. Google Chrome ile indirme işlemi olacak.
                      wp-file-manager/lib/js/i18n/help/zh_CN.html.js000064400000001343151202472330014712 0ustar00

                      操作提示

                      在UI上的操作类似于操作系统的标准文件管理器。 但是在移动设备浏览器不能进行拖放。

                      • 右键单击或长按显示上下文菜单。
                      • 将文件拖放到树状文件夹或目前工作区便能移动/复制文件。
                      • 工作空间中的文件选择可以通过Shift或Alt(Option)键进行多选。
                      • 拖放到目标文件夹或工作区上开始上传文件和文件夹。
                      • 上传对话框可以粘贴/拖放剪贴板数据或URL列表,以及从其他浏览器或文件管理器拖放的文件。
                      • 拖动从按下Alt(Option)键开始拖动到外部浏览器,会变成 Google Chrome 的下载操作。
                      wp-file-manager/lib/js/i18n/help/zh_TW.html.js000064400000001425151202472330014745 0ustar00

                      操作使用提示

                      介面的操作類似作業系統中的標準檔案管理功能,但是在行動裝置瀏覽器中無法進行拖放操作。

                      • 點擊右鍵或長按便會顯示操作功能表
                      • 將項目拖放至樹狀資料夾或目前工作區便能移動/複製項目。
                      • 搭配使用 Shift 或 Alt (Option) 鍵,便能在工作區對項目進行延伸選取。
                      • 從儲存裝置拖放項目至目標資料夾或工作區,便能上傳檔案及資料夾。
                      • 上傳對話方塊可以貼上/拖放剪貼簿資料或網址清單,以及從其他瀏覽器或檔案管理程式拖放的檔案。
                      • 按住 Alt (Option) 鍵將選取的項目拖放至瀏覽器,會成為 Google Chrome 的下載操作。
                      wp-file-manager/lib/js/i18n/elfinder.ar.js000064400000115441151202472330014214 0ustar00/** * الترجمة العربية * @author Khamis Alqutob * @author Tawfek Daghistani * @author Atef Ben Ali * @version 2020-12-03 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.ar = { translator : 'Khamis Alqutob <alqutob@outlook.com>, Tawfek Daghistani <tawfekov@gmail.com>, Atef Ben Ali <atef.bettaib@gmail.com>', language : 'Arabic', direction : 'rtl', dateFormat : 'M d, Y h:i A', // will show like: Aug 24, 2018 04:39 PM fancyDateFormat : '$1 h:i A', // will show like: Today 04:39 PM nonameDateFormat : 'ymd-His', // noname upload will show like: 180824-163916 messages : { /********************************** errors **********************************/ 'error' : 'خطأ', 'errUnknown' : 'خطأ غير معروف .', 'errUnknownCmd' : 'أمر غير معروف .', 'errJqui' : 'تكوين jQuery UI غير صالح. يجب تضمين المكونات القابلة للتحديد والقابلة للسحب والإفلات', 'errNode' : 'يتطلب elFinder إنشاء عنصر DOM.', 'errURL' : 'تكوين elFinder غير صالح ! لم يتم تعيين خيار رابط URL', 'errAccess' : 'الوصول مرفوض .', 'errConnect' : 'تعذر الاتصال مع خادم الخلفية', 'errAbort' : 'تم فصل الإتصال', 'errTimeout' : 'نفذ وقت الاتصال.', 'errNotFound' : 'الخادوم الخلفي غير موجود .', 'errResponse' : 'رد غير مقبول من الخادوم الخلفي', 'errConf' : 'خطأ في الإعدادات الخاصة بالخادوم الخلفي ', 'errJSON' : 'موديول PHP JSON module غير مثبت ', 'errNoVolumes' : 'الأحجام المقروءة غير متوفرة', 'errCmdParams' : 'معلمات غير صالحة للأمر "$1".', 'errDataNotJSON' : 'البيانات ليست من نوع JSON ', 'errDataEmpty' : 'البيانات فارغة', 'errCmdReq' : 'الخادوم الخلفي يتطلب اسم الأمر ', 'errOpen' : 'غير قادر على فتح "$1".', 'errNotFolder' : 'العنصر ليس مجلد', 'errNotFile' : 'العنصر ليس ملف', 'errRead' : 'غير قادر على قراءة "$1".', 'errWrite' : 'غير قادر على الكتابة في "$1".', 'errPerm' : 'وصول مرفوض ', 'errLocked' : '"$1" مقفل ولا يمكن إعادة تسميته أو نقله أو إزالته.', 'errExists' : 'العنصر الذي يحمل الاسم "$1" موجود مسبقاً.', 'errInvName' : 'اسم الملف غير صالح', 'errInvDirname' : 'اسم مجلد غير صالح', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'المجلد غير موجود', 'errFileNotFound' : 'الملف غير موجود', 'errTrgFolderNotFound' : 'المجلد الهدف "$1" غير موجود ', 'errPopup' : 'المتصفح منع من فتح نافذة منبثقة. لفتح ملف ، قم بتمكينه في خيارات المتصفح', 'errMkdir' : ' غير قادر على إنشاء مجلد "$1".', 'errMkfile' : ' غير قادر على إنشاء ملف "$1".', 'errRename' : 'غير قادر على إعادة تسمية "$1".', 'errCopyFrom' : 'نسخ الملفات من الدليل "$1" غير مسموح.', 'errCopyTo' : 'نسخ الملفات إلى الدليل "$1" غير مسموح .', 'errMkOutLink' : 'تعذر إنشاء رابط إلى خارج جذر الدليل.', // from v2.1 added 03.10.2015 'errUpload' : 'خطأ في عملية الرفع.', // old name - errUploadCommon 'errUploadFile' : 'غير قادر على رفع "$1".', // old name - errUpload 'errUploadNoFiles' : 'لم يتم العثور على ملفات للتحميل .', 'errUploadTotalSize' : 'البيانات تتجاوز الحد الأقصى للحجم المسموح به.', // old name - errMaxSize 'errUploadFileSize' : 'تجاوز الملف الحد الأقصى للحجم المسموح به.', // old name - errFileMaxSize 'errUploadMime' : 'نوع الملف غير مسموح به.', 'errUploadTransfer' : '"$1" خطأ نقل.', 'errUploadTemp' : 'تعذر إنشاء ملف مؤقت للتحميل .', // from v2.1 added 26.09.2015 'errNotReplace' : 'الكائن "$1" موجود بالفعل في هذا الموقع ولا يمكن استبداله بكائن بنوع آخر.', // new 'errReplace' : 'غير قادر على استبدال "$1".', 'errSave' : 'غير قادر على حفظ "$1".', 'errCopy' : 'غير قادر على نسخ "$1".', 'errMove' : 'غير قادر على نقل "$1".', 'errCopyInItself' : 'غير قادر على نسخ "$1" داخل نفسه.', 'errRm' : 'غير قادر على إزالة "$1".', 'errTrash' : 'غير قادر في سلة المهملات', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'تعذر إزالة ملف (ملفات) المصدر.', 'errExtract' : 'غير قادر على استخراج الملفات من "$1".', 'errArchive' : 'غير قادر على إنشاء ملف مضغوط.', 'errArcType' : 'نوع الملف المضغوط غير مدعوم.', 'errNoArchive' : 'هذا الملف ليس ملف مضغوط أو ذو صيغة غير مدعومة.', 'errCmdNoSupport' : 'الخادوم الخلفي لا يدعم هذا الأمر ', 'errReplByChild' : 'لا يمكن استبدال المجلد "$1" بعنصر محتوِ فيه.', 'errArcSymlinks' : 'لأسباب أمنية ، تم رفض فك ضغط الأرشيفات التي تحتوي على روابط رمزية أو ملفات بأسماء غير مسموح بها.', // edited 24.06.2012 'errArcMaxSize' : 'تتجاوز ملفات الأرشيف الحجم الأقصى المسموح به.', 'errResize' : 'تعذر تغيير حجم "$1".', 'errResizeDegree' : 'درجة تدوير غير صالحة.', // added 7.3.2013 'errResizeRotate' : 'تعذر تدوير الصورة.', // added 7.3.2013 'errResizeSize' : 'حجم الصورة غير صالح.', // added 7.3.2013 'errResizeNoChange' : 'حجم الصورة لم يتغير.', // added 7.3.2013 'errUsupportType' : 'نوع ملف غير مدعوم.', 'errNotUTF8Content' : 'الملف "$1" ليس بتنسيق UTF-8 ولا يمكن تحريره.', // added 9.11.2011 'errNetMount' : 'غير قادر على التثبيت "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'بروتوكول غير مدعوم.', // added 17.04.2012 'errNetMountFailed' : 'فشل التثبيت.', // added 17.04.2012 'errNetMountHostReq' : 'المضيف مطلوب.', // added 18.04.2012 'errSessionExpires' : 'انتهت جلسة العمل الخاصة بك بسبب عدم الفاعلية.', 'errCreatingTempDir' : 'تعذر إنشاء دليل مؤقت: "$1"', 'errFtpDownloadFile' : 'تعذر تنزيل الملف من FTP: "$1"', 'errFtpUploadFile' : 'تعذر تحميل الملف إلى FTP: "$1"', 'errFtpMkdir' : 'تعذر إنشاء دليل عن بعد في FTP: "$1"', 'errArchiveExec' : 'خطأ أثناء أرشفة الملفات: "$1"', 'errExtractExec' : 'خطأ أثناء استخراج الملفات: "$1"', 'errNetUnMount' : 'غير قادر على فك التثبيت.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'غير قابل للتحويل إلى UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'جرب المتصفح الحديث ، إذا كنت ترغب في تحميل المجلد.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'انتهت المهلة أثناء البحث "$1". نتيجة البحث جزئية.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'مطلوب إعادة التفويض.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'الحد الأقصى لعدد العناصر القابلة للتحديد هو $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'غير قادر على الاستعادة من سلة المهملات. لا يمكن تحديد وجهة الاستعادة.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'لم يتم العثور على المحرر لهذا النوع من الملفات.', // from v2.1.25 added 23.5.2017 'errServerError' : 'حدث خطأ من جانب الخادم.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'تعذر إفراغ المجلد "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'يوجد $1 أخطاء إضافية.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'إنشاء أرشيف', 'cmdback' : 'العودة', 'cmdcopy' : 'نسخ', 'cmdcut' : 'قص', 'cmddownload' : 'تنزيل', 'cmdduplicate' : 'تكرار', 'cmdedit' : 'تحرير الملف', 'cmdextract' : 'إستخراج الملفات من الأرشيف', 'cmdforward' : 'الأمام', 'cmdgetfile' : 'اختيار الملفات', 'cmdhelp' : 'عن هذه البرمجية', 'cmdhome' : 'الجذر', 'cmdinfo' : 'الحصول على المعلومات ', 'cmdmkdir' : 'مجلد جديد', 'cmdmkdirin' : 'داخل مجلد جديد', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'ملف جديد', 'cmdopen' : 'فتح', 'cmdpaste' : 'لصق', 'cmdquicklook' : 'معاينة', 'cmdreload' : 'إعادة تحميل', 'cmdrename' : 'إعادة تسمية', 'cmdrm' : 'حذف', 'cmdtrash' : 'داخل سلة المهملات', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'إستعادة', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'بحث عن ملفات', 'cmdup' : 'انتقل إلى المجلد الأصل', 'cmdupload' : 'رفع ملفات', 'cmdview' : 'عرض', 'cmdresize' : 'تغيير الحجم والتدوير', 'cmdsort' : 'فرز', 'cmdnetmount' : 'تثبيت حجم الشبكة', // added 18.04.2012 'cmdnetunmount': 'إلغاء التثبيت', // from v2.1 added 30.04.2012 'cmdplaces' : 'الى الاماكن', // added 28.12.2014 'cmdchmod' : 'تغيير النمط', // from v2.1 added 20.6.2015 'cmdopendir' : 'فتح مجلد', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'إعادة تعيين عرض العمود', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'ملء الشاشة', // from v2.1.15 added 03.08.2016 'cmdmove' : 'نقل', // from v2.1.15 added 21.08.2016 'cmdempty' : 'تفريغ المجلد', // from v2.1.25 added 22.06.2017 'cmdundo' : 'تراجع', // from v2.1.27 added 31.07.2017 'cmdredo' : 'إعادة', // from v2.1.27 added 31.07.2017 'cmdpreference': 'التفضيلات', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'تحديد الكل', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'تحديد لا شيء', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'عكس الاختيار', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'فتح في نافذة جديدة', // from v2.1.38 added 3.4.2018 'cmdhide' : 'إخفاء (الأفضلية)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'إغلاق', 'btnSave' : 'حفظ', 'btnRm' : 'إزالة', 'btnApply' : 'تطبيق', 'btnCancel' : 'إلغاء', 'btnNo' : 'لا', 'btnYes' : 'نعم', 'btnMount' : 'تثبيت', // added 18.04.2012 'btnApprove': 'انتقل إلى $1 والموافقة', // from v2.1 added 26.04.2012 'btnUnmount': 'إلغاء التثبيت', // from v2.1 added 30.04.2012 'btnConv' : 'تحويل', // from v2.1 added 08.04.2014 'btnCwd' : 'هنا', // from v2.1 added 22.5.2015 'btnVolume' : 'الحجم', // from v2.1 added 22.5.2015 'btnAll' : 'الكل', // from v2.1 added 22.5.2015 'btnMime' : 'نوع MIME', // from v2.1 added 22.5.2015 'btnFileName':'إسم الملف', // from v2.1 added 22.5.2015 'btnSaveClose': 'حفظ وإغلاق', // from v2.1 added 12.6.2015 'btnBackup' : 'نسخ احتياطي', // fromv2.1 added 28.11.2015 'btnRename' : 'إعادة تسمية', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'إعادة تسمية (الجميع)', // from v2.1.24 added 6.4.2017 'btnPrevious' : '($1/$2) السابق', // from v2.1.24 added 11.5.2017 'btnNext' : '($1/$2) التالي', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'حفظ كــ', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'فتح مجلد', 'ntffile' : 'فتح ملف', 'ntfreload' : 'إعادة تحميل محتوى المجلد', 'ntfmkdir' : 'إنشاء مجلد', 'ntfmkfile' : 'إنشاء ملفات', 'ntfrm' : 'حذف العناصر', 'ntfcopy' : 'نسخ العناصر', 'ntfmove' : 'نقل االعناصر', 'ntfprepare' : 'فحص العناصر الموجودة', 'ntfrename' : 'إعادة تسمية الملفات', 'ntfupload' : 'تحميل الملفات', 'ntfdownload' : 'تنزيل الملفات', 'ntfsave' : 'حفظ الملفات', 'ntfarchive' : 'إنشاء أرشيف', 'ntfextract' : 'استخراج ملفات من الأرشيف', 'ntfsearch' : 'البحث في الملفات', 'ntfresize' : 'تغيير حجم الصور', 'ntfsmth' : 'القيام بشيء ما', 'ntfloadimg' : 'تحميل الصورة', 'ntfnetmount' : 'تثبيت حجم الشبكة', // added 18.04.2012 'ntfnetunmount': 'إلغاء تثبيت حجم الشبكة', // from v2.1 added 30.04.2012 'ntfdim' : 'اكتساب أبعاد الصورة', // added 20.05.2013 'ntfreaddir' : 'قراءة معلومات المجلد', // from v2.1 added 01.07.2013 'ntfurl' : 'الحصول على URL الرابط', // from v2.1 added 11.03.2014 'ntfchmod' : 'تغيير نمط الملف', // from v2.1 added 20.6.2015 'ntfpreupload': 'التحقق من اسم ملف التحميل', // from v2.1 added 31.11.2015 'ntfzipdl' : 'إنشاء ملف للتنزيل', // from v2.1.7 added 23.1.2016 'ntfparents' : 'الحصول على معلومات المسار', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'معالجة الملف المرفوع', // from v2.1.17 added 2.11.2016 'ntftrash' : 'القيام بالرمي في القمامة', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'القيام بالاستعادة من سلة المهملات', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'التحقق من مجلد الوجهة', // from v2.1.24 added 3.5.2017 'ntfundo' : 'التراجع عن العملية السابقة', // from v2.1.27 added 31.07.2017 'ntfredo' : 'إعادة التراجع السابق', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'فحص المحتويات', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Trash', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'غير معلوم', 'Today' : 'اليوم', 'Yesterday' : 'الأمس', 'msJan' : 'كانون الثاني', 'msFeb' : 'شباط', 'msMar' : 'آذار', 'msApr' : 'نيسان', 'msMay' : 'أيار', 'msJun' : 'حزيران', 'msJul' : 'تموز', 'msAug' : 'آب', 'msSep' : 'أيلول', 'msOct' : 'تشرين الأول', 'msNov' : 'تشرين الثاني', 'msDec' : 'كانون الأول ', 'January' : 'كانون الثاني', 'February' : 'شباط', 'March' : 'آذار', 'April' : 'نيسان', 'May' : 'أيار', 'June' : 'حزيران', 'July' : 'تموز', 'August' : 'آب', 'September' : 'أيلول', 'October' : 'تشرين الأول', 'November' : 'تشرين الثاني', 'December' : 'كانون الثاني', 'Sunday' : 'الأحد', 'Monday' : 'الاثنين', 'Tuesday' : 'الثلاثاء', 'Wednesday' : 'الإربعاء', 'Thursday' : 'الخميس', 'Friday' : 'الجمعة', 'Saturday' : 'السبت', 'Sun' : 'الأحد', 'Mon' : 'الاثنين', 'Tue' : 'الثلاثاء', 'Wed' : 'الإربعاء', 'Thu' : 'الخميس', 'Fri' : 'الجمعة', 'Sat' : 'السبت', /******************************** sort variants ********************************/ 'sortname' : 'حسب الاسم', 'sortkind' : 'حسب النوع', 'sortsize' : 'حسب الحجم', 'sortdate' : 'حسب التاريخ', 'sortFoldersFirst' : 'المجلدات أولا', 'sortperm' : 'حسب الصلاحية', // from v2.1.13 added 13.06.2016 'sortmode' : 'حسب النمط', // from v2.1.13 added 13.06.2016 'sortowner' : 'حسب المالك', // from v2.1.13 added 13.06.2016 'sortgroup' : 'حسب المجموعة', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'أيضا عرض الشجرة', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'file.txt بدون عنوان' : 'NewFile.txt', // added 10.11.2015 'مجلد بلا عنوان' : 'NewFolder', // added 10.11.2015 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015 'untitled file' : 'NewFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: ملف', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'التأكيد مطلوب', 'confirmRm' : 'هل تريد بالتأكيد إزالة العناصر نهائيًا؟
                      لا يمكن التراجع عن هذا الإجراء! ', 'confirmRepl' : 'استبدال الملف القديم بملف جديد؟ (إذا كان يحتوي على مجلدات ، فسيتم دمجه. للنسخ الاحتياطي والاستبدال ، حدد النسخ الاحتياطي.)', 'confirmRest' : 'هل تريد استبدال العنصر الموجود بالعنصر الموجود في المهملات؟', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'ليس بصيغة UTF-8
                      التحويل إلى UTF-8؟
                      تصبح المحتويات UTF-8 بالحفظ بعد التحويل.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'تعذر الكشف عن ترميز الأحرف لهذا الملف. تحتاج إلى التحويل مؤقتاً إلى UTF-8 للتحرير.
                      الرجاء تحديد ترميز الأحرف لهذا الملف.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'لقد تم تعديله.
                      قد تخسر العمل إذا لم تقم بحفظ التغييرات.', // from v2.1 added 15.7.2015 'confirmTrash' : 'هل أنت متأكد أنك تريد نقل العناصر إلى سلة المهملات؟', //from v2.1.24 added 29.4.2017 'confirmMove' : 'هل أنت متأكد أنك تريد نقل العناصر إلى "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'تطبيق على الكل', 'name' : 'الاسم', 'size' : 'الحجم', 'perms' : 'الصلاحيات', 'modify' : 'التعديل', 'kind' : 'النوع', 'read' : 'قابل للقراءة', 'write' : 'قابل للكتابة', 'noaccess' : 'وصول ممنوع', 'and' : 'و', 'unknown' : 'غير معروف', 'selectall' : 'تحديد كل العناصر', 'selectfiles' : 'تحديد العناصر', 'selectffile' : 'تحديد العنصر الأول', 'selectlfile' : 'تحديد العنصر الأخير', 'viewlist' : 'عرض القائمة', 'viewicons' : 'عرض أيْقونات', 'viewSmall' : 'أيقونات صغيرة', // from v2.1.39 added 22.5.2018 'viewMedium' : 'أيقونات متوسطة', // from v2.1.39 added 22.5.2018 'viewLarge' : 'أيقونات كبيرة', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'أيقونات كبيرة جداً', // from v2.1.39 added 22.5.2018 'places' : 'المواقع', 'calc' : 'حساب', 'path' : 'المسار', 'aliasfor' : 'اسم مستعار لـ', 'locked' : 'مقفل', 'dim' : 'الأبعاد', 'files' : 'ملفات', 'folders' : 'مجلدات', 'items' : 'عناصر', 'yes' : 'نعم', 'no' : 'لا', 'link' : 'الرابط', 'searcresult' : 'نتائج البحث', 'selected' : 'العناصر المحددة', 'about' : 'حول', 'shortcuts' : 'الاختصارات', 'help' : 'المساعدة', 'webfm' : 'مدير ملفات الويب', 'ver' : 'الإصدار', 'protocolver' : 'إصدار البرتوكول', 'homepage' : 'رئيسية المشروع', 'docs' : 'الوثائق', 'github' : 'شاركنا على Github', 'twitter' : 'تابعنا على تويتر', 'facebook' : 'انضم إلينا على الفيس بوك', 'team' : 'الفريق', 'chiefdev' : 'رئيس المبرمجين', 'developer' : 'مبرمج', 'contributor' : 'مساهم', 'maintainer' : 'مشرف', 'translator' : 'مترجم', 'icons' : 'أيقونات', 'dontforget' : 'ولا تنس أن تأخذ المنشفة', 'shortcutsof' : 'الاختصارات غير مفعلة', 'dropFiles' : 'إفلات الملفات هنا', 'or' : 'أو', 'selectForUpload' : 'اختر الملفات', 'moveFiles' : 'نقل العناصر', 'copyFiles' : 'نسخ العناصر', 'restoreFiles' : 'استعادة العناصر', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'إزالة من الأماكن', 'aspectRatio' : 'ابعاد متزنة', 'scale' : 'مقياس', 'width' : 'عرض', 'height' : 'طول', 'resize' : 'تغيير الحجم', 'crop' : 'قص', 'rotate' : 'تدوير', 'rotate-cw' : 'استدارة 90 درجة مع عقارب الساعة', 'rotate-ccw' : 'استدارة 90 درجة عكس عقارب الساعة', 'degree' : '°', 'netMountDialogTitle' : 'تثبيت حجم الشبكة', // added 18.04.2012 'protocol' : 'البروتوكول', // added 18.04.2012 'host' : 'المضيف', // added 18.04.2012 'port' : 'المنفذ', // added 18.04.2012 'user' : 'المستخدم', // added 18.04.2012 'pass' : 'كلمة المرور', // added 18.04.2012 'confirmUnmount' : 'هل أنت متأكد من إلغاء تثبيت $1؟', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'قم بإسقاط أو لصق الملفات من المتصفح', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'قم بإسقاط الملفات أو لصق الروابط أو الصور (الحافظة) هنا', // from v2.1 added 07.04.2014 'encoding' : 'الترميز', // from v2.1 added 19.12.2014 'locale' : 'اللغة', // from v2.1 added 19.12.2014 'searchTarget' : 'الهدف: $1', // from v2.1 added 22.5.2015 'searchMime' : 'البحث عن طريق إدخال نوع MIME', // from v2.1 added 22.5.2015 'owner' : 'المالك', // from v2.1 added 20.6.2015 'group' : 'المجموعة', // from v2.1 added 20.6.2015 'other' : 'أخرى', // from v2.1 added 20.6.2015 'execute' : 'تنفيذ', // from v2.1 added 20.6.2015 'perm' : 'التصريح', // from v2.1 added 20.6.2015 'mode' : 'النمط', // from v2.1 added 20.6.2015 'emptyFolder' : 'المجلد فارغ', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'المجلد فارغ\\إفلات لإضافة عناصر', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'المجلد فارغ\\نقرة طويلة لإضافة العناصر', // from v2.1.6 added 30.12.2015 'quality' : 'النوعية', // from v2.1.6 added 5.1.2016 'autoSync' : 'مزامنة آلية', // from v2.1.6 added 10.1.2016 'moveUp' : 'تحريك لأعلى', // from v2.1.6 added 18.1.2016 'getLink' : 'الحصول على رابط URL', // from v2.1.7 added 9.2.2016 'selectedItems' : 'العناصر المحددة ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'معرف المجلد', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'السماح بالوصول دون اتصال', // from v2.1.10 added 3.25.2016 'reAuth' : 'لإعادة المصادقة', // from v2.1.10 added 3.25.2016 'nowLoading' : 'جاري التحميل الآن...', // from v2.1.12 added 4.26.2016 'openMulti' : 'فتح ملفات متعددة', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'أنت تحاول فتح $1 ملف. هل أنت متأكد أنك تريد الفتح في المتصفح؟', // from v2.1.12 added 5.14.2016 'emptySearch' : 'نتائج البحث فارغة في هدف البحث.', // from v2.1.12 added 5.16.2016 'editingFile' : 'إنها تقوم بتحرير ملف.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'لقد قمت بتحديد $1 عناصر.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'يوجد لديك $1 عناصر في الحافظة.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'البحث المتزايد هو فقط من العرض الحالي.', // from v2.1.13 added 6.30.2016 'reinstate' : 'إعادة', // from v2.1.15 added 3.8.2016 'complete' : '$1 إكتمل', // from v2.1.15 added 21.8.2016 'contextmenu' : 'قائمة السياق', // from v2.1.15 added 9.9.2016 'pageTurning' : 'قلب الصفحة', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'جذور الحجم', // from v2.1.16 added 16.9.2016 'reset' : 'إعادة تعيين', // from v2.1.16 added 1.10.2016 'bgcolor' : 'لون الخلفية', // from v2.1.16 added 1.10.2016 'colorPicker' : 'أداة انتقاء اللون', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'شبكة 8 بكسل', // from v2.1.16 added 4.10.2016 'enabled' : 'مفعل', // from v2.1.16 added 4.10.2016 'disabled' : 'معطل', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'نتائج البحث فارغة في العرض الحالي. \\ اضغط على [Enter] لتوسيع هدف البحث.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'نتائج البحث الحرف الأول فارغة في العرض الحالي.', // from v2.1.23 added 24.3.2017 'textLabel' : 'تسمية نصية', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 دقائق باقية', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'إعادة فتح مع الترميز المحدد', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'حفظ مع الترميز المحدد', // from v2.1.19 added 2.12.2016 'selectFolder' : 'تحديد مجلد', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'البحث بالحرف الأول', // from v2.1.23 added 24.3.2017 'presets' : 'الإعدادات المسبقة', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'هناك عدد كبير جداً من العناصر لذا لا يمكن وضعها في سلة المهملات.', // from v2.1.25 added 9.6.2017 'TextArea' : 'منطقة النص', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'إفراغ المجلد "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'لا توجد عناصر في مجلد "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'الأفضلية', // from v2.1.26 added 28.6.2017 'language' : 'اللغة', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'تهيئة الإعدادات المحفوظة في هذا المتصفح', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'إعدادات شريط الأدوات', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 حروف متبقية.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 سطور متبقية.', // from v2.1.52 added 16.1.2020 'sum' : 'المجموع', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'حجم ملف تقريبي', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'التركيز على عنصر الحوار مع تمرير الماوس', // from v2.1.30 added 2.11.2017 'select' : 'حدد', // from v2.1.30 added 23.11.2017 'selectAction' : 'الإجراء عند تحديد الملف', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'الفتح باستخدام المحرر المستخدم آخر مرة', // from v2.1.30 added 23.11.2017 'selectinvert' : 'عكس الاختيار', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'هل أنت متأكد أنك تريد إعادة تسمية $1 عناصر محددة مثل $2؟
                      هذا لا يمكن التراجع عنه !', // from v2.1.31 added 4.12.2017 'batchRename' : 'إعادة تسمية الحزمة', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ رقم', // from v2.1.31 added 8.12.2017 'asPrefix' : 'إضافة بادئة', // from v2.1.31 added 8.12.2017 'asSuffix' : 'إضافة لاحقة', // from v2.1.31 added 8.12.2017 'changeExtention' : 'تغيير الامتداد', // from v2.1.31 added 8.12.2017 'columnPref' : 'إعدادات الأعمدة (عرض القائمة)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'ستنعكس جميع التغييرات على الفور على الأرشيف.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'لن تنعكس أي تغييرات حتى يتم فك هذا المجلد.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'المجلد (المجلدات) التالية المركبة على هذا المجلد غير مثبتة أيضاً. هل أنت متأكد من إلغاء تحميله؟', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'معلومات التحديد', // from v2.1.33 added 7.3.2018 'hashChecker' : 'خوارزميات لإظهار تجزئة الملف', // from v2.1.33 added 10.3.2018 'infoItems' : 'عناصر المعلومات (لوحة معلومات التحديد)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'اضغط مرة أخرى للخروج.', // from v2.1.38 added 1.4.2018 'toolbar' : 'شريط الأدوات', // from v2.1.38 added 4.4.2018 'workspace' : 'مساحة العمل', // from v2.1.38 added 4.4.2018 'dialog' : 'الحوار', // from v2.1.38 added 4.4.2018 'all' : 'الكل', // from v2.1.38 added 4.4.2018 'iconSize' : 'حجم الأيقونة (عرض الأيقونات)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'افتح نافذة المحرر المكبرة', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'نظراً لعدم توفر التحويل بواسطة API حالياً ، يرجى التحويل على موقع الويب.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'بعد التحويل ، يجب أن تقوم بالتحميل مع عنوان رابط العنصر أو الملف الذي تم تنزيله لحفظ الملف المحول.', //from v2.1.40 added 8.7.2018 'convertOn' : 'تحويل على موقع $1', // from v2.1.40 added 10.7.2018 'integrations' : 'تكاملات', // from v2.1.40 added 11.7.2018 'integrationWith' : 'يحتوي elFinder على الخدمات الخارجية التالية المتكاملة. يرجى التحقق من شروط الاستخدام وسياسة الخصوصية وما إلى ذلك قبل استخدامها.', // from v2.1.40 added 11.7.2018 'showHidden' : 'إظهار العناصر المخفية', // from v2.1.41 added 24.7.2018 'hideHidden' : 'إخفاء العناصر المخفية', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'إظهار / إخفاء العناصر المخفية', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'أنواع الملفات لتفعيلها مع "ملف جديد"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'نوع الملف النصي', // from v2.1.41 added 7.8.2018 'add' : 'إضافة', // from v2.1.41 added 7.8.2018 'theme' : 'الثيم', // from v2.1.43 added 19.10.2018 'default' : 'الافتراضي', // from v2.1.43 added 19.10.2018 'description' : 'الوصف', // from v2.1.43 added 19.10.2018 'website' : 'الموقع الالكتروني', // from v2.1.43 added 19.10.2018 'author' : 'المؤلف', // from v2.1.43 added 19.10.2018 'email' : 'البريد الالكتروني', // from v2.1.43 added 19.10.2018 'license' : 'الرخصة', // from v2.1.43 added 19.10.2018 'exportToSave' : 'لا يمكن حفظ هذا العنصر. لتجنب فقدان التحريرات التي تحتاجها للتصدير إلى جهاز الكمبيوتر الخاص بك.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'انقر نقراً مزدوجاً فوق الملف لتحديده.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'استخدام وضع ملء الشاشة', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'غير معروف', 'kindRoot' : 'جذر الحجم', // from v2.1.16 added 16.10.2016 'kindFolder' : 'مجلد', 'kindSelects' : 'مختارات', // from v2.1.29 added 29.8.2017 'kindAlias' : 'اسم مستعار', 'kindAliasBroken' : 'اسم مستعار مكسور', // applications 'kindApp' : 'التطبيق', 'kindPostscript' : 'وثيقة Postscript', 'kindMsOffice' : 'وثيقة Microsoft Office', 'kindMsWord' : 'وثيقة Microsoft Word', 'kindMsExcel' : 'وثيقة Microsoft Excel', 'kindMsPP' : 'عرض تقديمي Microsoft Powerpoint', 'kindOO' : 'وثيقة Open Office', 'kindAppFlash' : 'تطبيق فلاش', 'kindPDF' : 'تنسيق الوثائق المحمولة (PDF)', 'kindTorrent' : 'ملف Bittorrent ', 'kind7z' : 'أرشيف 7z', 'kindTAR' : 'أرشيف TAR', 'kindGZIP' : 'أرشيف GZIP', 'kindBZIP' : 'أرشيف BZIP', 'kindXZ' : 'أرشيف XZ', 'kindZIP' : 'أرشيف ZIP', 'kindRAR' : 'أرشيف RAR', 'kindJAR' : 'أرشيف Java JAR', 'kindTTF' : 'خط True Type ', 'kindOTF' : 'خط Open Type ', 'kindRPM' : 'حزمة RPM', // texts 'kindText' : 'وثيقة نصية', 'kindTextPlain' : 'نص عادي', 'kindPHP' : 'مصدر PHP', 'kindCSS' : 'ورقة الأنماط المتتالية', 'kindHTML' : 'وثيقة HTML', 'kindJS' : 'مصدر Javascript', 'kindRTF' : 'Rich Text Format', 'kindC' : 'مصدر C', 'kindCHeader' : 'مصدر C header', 'kindCPP' : 'مصدر C++', 'kindCPPHeader' : 'مصدر C++ header', 'kindShell' : 'مصدر Unix shell', 'kindPython' : 'مصدر Python', 'kindJava' : 'مصدر Java', 'kindRuby' : 'مصدر Ruby', 'kindPerl' : 'مصدر Perl', 'kindSQL' : 'مصدر SQL', 'kindXML' : 'وثيقة XML', 'kindAWK' : 'مصدر AWK', 'kindCSV' : 'ملف CSV', 'kindDOCBOOK' : 'وثيقة Docbook XML', 'kindMarkdown' : 'نص Markdown', // added 20.7.2015 // images 'kindImage' : 'صورة', 'kindBMP' : 'صورة BMP', 'kindJPEG' : 'صورة JPEG', 'kindGIF' : 'صورة GIF', 'kindPNG' : 'صورة PNG', 'kindTIFF' : 'صورة TIFF', 'kindTGA' : 'صورة TGA', 'kindPSD' : 'صورة Adobe Photoshop', 'kindXBITMAP' : 'صورة X bitmap', 'kindPXM' : 'صورة Pixelmator', // media 'kindAudio' : 'وسائط صوت', 'kindAudioMPEG' : 'ملف صوتي MPEG ', 'kindAudioMPEG4' : 'ملف صوتي MPEG-4', 'kindAudioMIDI' : 'ملف صوتي MIDI', 'kindAudioOGG' : 'ملف صوتي Ogg Vorbis', 'kindAudioWAV' : 'ملف صوتي WAV', 'AudioPlaylist' : 'قائمة تشغيل MP3', 'kindVideo' : 'وسائط فيديو', 'kindVideoDV' : 'ملف فيديو DV', 'kindVideoMPEG' : 'ملف فيديو MPEG', 'kindVideoMPEG4' : 'ملف فيديو MPEG-4', 'kindVideoAVI' : 'ملف فيديو AVI', 'kindVideoMOV' : 'ملف فيديو Quick Time', 'kindVideoWM' : 'ملف فيديو Windows Media', 'kindVideoFlash' : 'ملف فيديو Flash', 'kindVideoMKV' : 'ملف فيديو Matroska', 'kindVideoOGG' : 'ملف فيديو Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.bg.js000064400000117206151202472330014203 0ustar00/** * Bulgarian translation * @author Stamo Petkov * @author Nikolay Petkov * @version 2018-07-28 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.bg = { translator : 'Stamo Petkov <stamo.petkov@gmail.com>, Nikolay Petkov <office@cmstory.com>', language : 'Bulgarian', direction : 'ltr', dateFormat : 'd.m.Y H:i', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM nonameDateFormat : 'Ymd-His', // to apply if upload file is noname: 120513172700 messages : { /********************************** errors **********************************/ 'error' : 'Грешка', 'errUnknown' : 'Непозната грешка.', 'errUnknownCmd' : 'Непозната команда.', 'errJqui' : 'Грешна конфигурация на jQuery UI. Компонентите selectable, draggable и droppable трябва да са включени.', 'errNode' : 'elFinder изисква да бъде създаден DOM елемент.', 'errURL' : 'Грешка в настройките на elFinder! не е зададена стойност на URL.', 'errAccess' : 'Достъп отказан.', 'errConnect' : 'Няма връзка със сървъра.', 'errAbort' : 'Връзката е прекъсната.', 'errTimeout' : 'Просрочена връзка.', 'errNotFound' : 'Сървърът не е намерен.', 'errResponse' : 'Грешен отговор от сървъра.', 'errConf' : 'Грешни настройки на сървъра.', 'errJSON' : 'Не е инсталиран модул на PHP за JSON.', 'errNoVolumes' : 'Няма дялове достъпни за четене.', 'errCmdParams' : 'Грешни параметри на командата "$1".', 'errDataNotJSON' : 'Данните не са JSON.', 'errDataEmpty' : 'Липсват данни.', 'errCmdReq' : 'Запитването от сървъра изисква име на команда.', 'errOpen' : 'Неуспешно отваряне на "$1".', 'errNotFolder' : 'Обектът не е папка.', 'errNotFile' : 'Обектът не е файл.', 'errRead' : 'Неуспешно прочитане на "$1".', 'errWrite' : 'Неуспешен запис в "$1".', 'errPerm' : 'Разрешение отказано.', 'errLocked' : '"$1" е заключен и не може да бъде преименуван, местен или премахван.', 'errExists' : 'Вече съществува файл с име "$1"', 'errInvName' : 'Грешно име на файл.', 'errInvDirname' : 'Невалидно име на папка.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Папката не е открита.', 'errFileNotFound' : 'Файлът не е открит.', 'errTrgFolderNotFound' : 'Целевата папка "$1" не е намерена.', 'errPopup' : 'Браузъра блокира отварянето на прозорец. За да отворите файла, разрешете отварянето в настройките на браузъра.', 'errMkdir' : 'Неуспешно създаване на папка "$1".', 'errMkfile' : 'Неуспешно създаване на файл "$1".', 'errRename' : 'Неуспешно преименуване на "$1".', 'errCopyFrom' : 'Копирането на файлове от том "$1" не е разрешено.', 'errCopyTo' : 'Копирането на файлове в том "$1" не е разрешено.', 'errMkOutLink' : 'Неуспех при създаване на връзка извън началото на ресурса.', // from v2.1 added 03.10.2015 'errUpload' : 'Грешка при качване.', // old name - errUploadCommon 'errUploadFile' : 'Неуспешно качване на "$1".', // old name - errUpload 'errUploadNoFiles' : 'Не са намерени файлове за качване.', 'errUploadTotalSize' : 'Данните превишават максимално допостумия размер.', // old name - errMaxSize 'errUploadFileSize' : 'Файлът превишава максимално допустимия размер.', // old name - errFileMaxSize 'errUploadMime' : 'Непозволен тип на файла.', 'errUploadTransfer' : '"$1" грешка при предаване.', 'errUploadTemp' : 'Неуспешно създаване на временен файл за качване.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Обект "$1" вече съществува на това място и не може да бъде заменен от обект от друг тип.', // new 'errReplace' : 'Не може да се замени "$1".', 'errSave' : 'Не може да се запише "$1".', 'errCopy' : 'Не може да се копира "$1".', 'errMove' : 'Не може да се премести "$1".', 'errCopyInItself' : 'Не може да се копира "$1" върху самия него.', 'errRm' : 'Не може да се премахне "$1".', 'errTrash' : 'Не може да се премести в кошчето', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Не може да се премахне изходния файл(ове).', 'errExtract' : 'Не може да се извлекат файловете от "$1".', 'errArchive' : 'Не може да се създаде архив.', 'errArcType' : 'Неподдържан тип на архива.', 'errNoArchive' : 'Файлът не е архив или е от неподдържан тип.', 'errCmdNoSupport' : 'Сървъра не поддържа тази команда.', 'errReplByChild' : 'Папката “$1” не може да бъде заменена от съдържащ се в нея елемент.', 'errArcSymlinks' : 'От съображения за сигурност няма да бъдат разопаковани архиви съдържащи symlinks.', // edited 24.06.2012 'errArcMaxSize' : 'Архивните файлове превишават максимално допустимия размер.', 'errResize' : 'Не може да се преоразмери "$1".', 'errResizeDegree' : 'Невалиден градус за ротация.', // added 7.3.2013 'errResizeRotate' : 'Изображението не е ротирано.', // added 7.3.2013 'errResizeSize' : 'Невалиден размер на изображение.', // added 7.3.2013 'errResizeNoChange' : 'Размерът на изображението не е променен.', // added 7.3.2013 'errUsupportType' : 'Неподдържан тип на файл.', 'errNotUTF8Content' : 'Файл "$1" не е в UTF-8 формат и не може да бъде редактиран.', // added 9.11.2011 'errNetMount' : 'Не може да се монтира "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Неподдържан протокол.', // added 17.04.2012 'errNetMountFailed' : 'Монтирането не е успешно.', // added 17.04.2012 'errNetMountHostReq' : 'Хост се изисква.', // added 18.04.2012 'errSessionExpires' : 'Сесията ви изтече поради липса на активност.', 'errCreatingTempDir' : 'Не може да се създаде временна директория: "$1"', 'errFtpDownloadFile' : 'Не може да се изтегли файл от FTP: "$1"', 'errFtpUploadFile' : 'Не може да се качи файл на FTP: "$1"', 'errFtpMkdir' : 'Не може да се създаде директория на FTP: "$1"', 'errArchiveExec' : 'Грешка при архивиране на файлове: "$1"', 'errExtractExec' : 'Грешка при разархивиране на файлове: "$1"', 'errNetUnMount' : 'Не може да се размонтира', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Не е конвертируем до UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Опитайте Google Chrome, ако искате да качите папка.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Времето изтече при търсенето на "$1". Резултатът от търсенето е частичен.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Необходимо е повторно оторизиране.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Максималният брой избрани файлове е $ 1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Не може да се възстанови от кошчето. Не може да се определи местоположението за възстановяване.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Не е намерен редактор за този тип файл.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Възникна грешка на сървъра.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Папката "$1" не може да се изпразни.', // from v2.1.25 added 22.6.2017 /******************************* commands names ********************************/ 'cmdarchive' : 'Създай архив', 'cmdback' : 'Назад', 'cmdcopy' : 'Копирай', 'cmdcut' : 'Изрежи', 'cmddownload' : 'Свали', 'cmdduplicate' : 'Дублирай', 'cmdedit' : 'Редактирай файл', 'cmdextract' : 'Извлечи файловете от архива', 'cmdforward' : 'Напред', 'cmdgetfile' : 'Избери файлове', 'cmdhelp' : 'За тази програма', 'cmdhome' : 'Начало', 'cmdinfo' : 'Информация', 'cmdmkdir' : 'Нова папка', 'cmdmkdirin' : 'В нова папка', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Нов файл', 'cmdopen' : 'Отвори', 'cmdpaste' : 'Вмъкни', 'cmdquicklook' : 'Преглед', 'cmdreload' : 'Презареди', 'cmdrename' : 'Преименувай', 'cmdrm' : 'Изтрий', 'cmdtrash' : 'В кошчето', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Възстанови', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Намери файлове', 'cmdup' : 'Една директория нагоре', 'cmdupload' : 'Качи файлове', 'cmdview' : 'Виж', 'cmdresize' : 'Промени изображение', 'cmdsort' : 'Подреди', 'cmdnetmount' : 'Монтирай мрежов ресурс', // added 18.04.2012 'cmdnetunmount': 'Размонтирай', // from v2.1 added 30.04.2012 'cmdplaces' : 'Към избрани', // added 28.12.2014 'cmdchmod' : 'Промяна на вид', // from v2.1 added 20.6.2015 'cmdopendir' : 'Отвори папка', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Нулирай ширината на колоната', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Цял екран', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Премести', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Изпразни папката', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Отмени', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Преправи', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Настройки', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Избери всичко', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Избери нищо', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Обърни селекцията', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Отвори в нов прозорец', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Скрий (лично)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Затвори', 'btnSave' : 'Запиши', 'btnRm' : 'Премахни', 'btnApply' : 'Приложи', 'btnCancel' : 'Отказ', 'btnNo' : 'Не', 'btnYes' : 'Да', 'btnMount' : 'Монтирай', // added 18.04.2012 'btnApprove': 'Отиди на $1 и одобри', // from v2.1 added 26.04.2012 'btnUnmount': 'Размонтирай', // from v2.1 added 30.04.2012 'btnConv' : 'Конвертирай', // from v2.1 added 08.04.2014 'btnCwd' : 'Тук', // from v2.1 added 22.5.2015 'btnVolume' : 'Ресурс', // from v2.1 added 22.5.2015 'btnAll' : 'Всички', // from v2.1 added 22.5.2015 'btnMime' : 'MIME тип', // from v2.1 added 22.5.2015 'btnFileName':'Име', // from v2.1 added 22.5.2015 'btnSaveClose': 'Запази и затвори', // from v2.1 added 12.6.2015 'btnBackup' : 'Архивирай', // fromv2.1 added 28.11.2015 'btnRename' : 'Преименувай', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Преименувай(Всички)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Пред ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'След ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Запази като', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Отваряне на папка', 'ntffile' : 'Отваряне на файл', 'ntfreload' : 'Презареждане съдържанието на папка', 'ntfmkdir' : 'Създава се директория', 'ntfmkfile' : 'Създава се файл', 'ntfrm' : 'Изтриване на файлове', 'ntfcopy' : 'Копиране на файлове', 'ntfmove' : 'Преместване на файлове', 'ntfprepare' : 'Подготовка за копиране на файлове', 'ntfrename' : 'Преименуване на файлове', 'ntfupload' : 'Качват се файлове', 'ntfdownload' : 'Свалят се файлове', 'ntfsave' : 'Запис на файлове', 'ntfarchive' : 'Създава се архив', 'ntfextract' : 'Извличат се файловете от архив', 'ntfsearch' : 'Търсят се файлове', 'ntfresize' : 'Преоразмеряват се изображения', 'ntfsmth' : 'Зает съм >_<', 'ntfloadimg' : 'Зареждат се изображения', 'ntfnetmount' : 'Монтира се мрежов ресурс', // added 18.04.2012 'ntfnetunmount': 'Размонтира се мрежов ресурс', // from v2.1 added 30.04.2012 'ntfdim' : 'Извличат се размерите на изображение', // added 20.05.2013 'ntfreaddir' : 'Извлича се информация за папка', // from v2.1 added 01.07.2013 'ntfurl' : 'Взима се URL от връзка', // from v2.1 added 11.03.2014 'ntfchmod' : 'Променя се вида на файл', // from v2.1 added 20.6.2015 'ntfpreupload': 'Проверка на името на файла за качване', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Създаване на файл за изтегляне', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Получава се информация за пътя', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Обработка на качения файл', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Прехвърлят се позиции в кошчето', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Извършва се възстановяване от кошчето', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Проверка на целевата папка', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Отмяна на предишната операция', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Възстановяване на предходните отменени', // from v2.1.27 added 31.07.2017 /*********************************** volumes *********************************/ 'volume_Trash' : 'Кошче', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'неизвестна', 'Today' : 'днес', 'Yesterday' : 'вчера', 'msJan' : 'яну', 'msFeb' : 'фев', 'msMar' : 'мар', 'msApr' : 'апр', 'msMay' : 'май', 'msJun' : 'юни', 'msJul' : 'юли', 'msAug' : 'авг', 'msSep' : 'сеп', 'msOct' : 'окт', 'msNov' : 'ное', 'msDec' : 'дек', 'January' : 'януари', 'February' : 'февруари', 'March' : 'март', 'April' : 'април', 'May' : 'май', 'June' : 'юни', 'July' : 'юли', 'August' : 'август', 'September' : 'септември', 'October' : 'октомври', 'November' : 'ноември', 'December' : 'декември', 'Sunday' : 'неделя', 'Monday' : 'понеделник', 'Tuesday' : 'вторник', 'Wednesday' : 'сряда', 'Thursday' : 'четвъртък', 'Friday' : 'петък', 'Saturday' : 'събота', 'Sun' : 'нед', 'Mon' : 'пон', 'Tue' : 'вто', 'Wed' : 'сря', 'Thu' : 'чет', 'Fri' : 'пет', 'Sat' : 'съб', /******************************** sort variants ********************************/ 'sortname' : 'по име', 'sortkind' : 'по вид', 'sortsize' : 'по размер', 'sortdate' : 'по дата', 'sortFoldersFirst' : 'Папките първи', 'sortperm' : 'по права', // from v2.1.13 added 13.06.2016 'sortmode' : 'по вид', // from v2.1.13 added 13.06.2016 'sortowner' : 'по собственик', // from v2.1.13 added 13.06.2016 'sortgroup' : 'по група', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Също дървовиден изглед', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015 'untitled folder' : 'NewFolder', // added 10.11.2015 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015 /********************************** messages **********************************/ 'confirmReq' : 'Изисква се подтвърждение', 'confirmRm' : 'Сигурни ли сте, че желаете да премахнете файловете?
                      Това действие е необратимо!', 'confirmRepl' : 'Да заменя ли стария файл с новия?', 'confirmRest' : 'Да се замени ли съществуващата позиция с тази в кошчето?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Не е в UTF-8 формат
                      Конвертиране до UTF-8?
                      Съдържанието става в UTF-8 формат при запазване след конверсията.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Кодирането на този файл не може да бъде открито. Необходимо е временно да се преобразува в UTF-8 за редактиране.
                      Моля, изберете кодиране на този файл.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Има направени промени.
                      Те ще бъдат загубени, ако не запишете промените.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Наистина ли искате да преместите позиции в кошчето за боклук?', //from v2.1.24 added 29.4.2017 'apllyAll' : 'Приложи за всички', 'name' : 'Име', 'size' : 'Размер', 'perms' : 'Права', 'modify' : 'Променено', 'kind' : 'Вид', 'read' : 'четене', 'write' : 'запис', 'noaccess' : 'без достъп', 'and' : 'и', 'unknown' : 'непознат', 'selectall' : 'Избери всички файлове', 'selectfiles' : 'Избери файл(ове)', 'selectffile' : 'Избери първият файл', 'selectlfile' : 'Избери последният файл', 'viewlist' : 'Изглед списък', 'viewicons' : 'Изглед икони', 'viewSmall' : 'Малки икони', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Средни икони', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Големи икони', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Много големи икони', // from v2.1.39 added 22.5.2018 'places' : 'Избрани', 'calc' : 'Изчисли', 'path' : 'Път', 'aliasfor' : 'Връзка към', 'locked' : 'Заключен', 'dim' : 'Размери', 'files' : 'Файлове', 'folders' : 'Папки', 'items' : 'Позиции', 'yes' : 'да', 'no' : 'не', 'link' : 'Връзка', 'searcresult' : 'Резултати от търсенето', 'selected' : 'Избрани позиции', 'about' : 'За', 'shortcuts' : 'Бързи клавиши', 'help' : 'Помощ', 'webfm' : 'Файлов менажер за Интернет', 'ver' : 'Версия', 'protocolver' : 'версия на протокола', 'homepage' : 'Начало', 'docs' : 'Документация', 'github' : 'Разклонение в Github', 'twitter' : 'Последвайте ни в Twitter', 'facebook' : 'Присъединете се към нас във Facebook', 'team' : 'Екип', 'chiefdev' : 'Главен разработчик', 'developer' : 'разработчик', 'contributor' : 'сътрудник', 'maintainer' : 'поддръжка', 'translator' : 'преводач', 'icons' : 'Икони', 'dontforget' : 'и не забравяйте да си вземете кърпата', 'shortcutsof' : 'Преките пътища са изключени', 'dropFiles' : 'Пуснете файловете тук', 'or' : 'или', 'selectForUpload' : 'Избери файлове', 'moveFiles' : 'Премести файлове', 'copyFiles' : 'Копирай файлове', 'restoreFiles' : 'Възстанови файлове', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Премахни от избрани', 'aspectRatio' : 'Отношение', 'scale' : 'Мащаб', 'width' : 'Ширина', 'height' : 'Височина', 'resize' : 'Преоразмери', 'crop' : 'Отрежи', 'rotate' : 'Ротирай', 'rotate-cw' : 'Ротирай 90 градуса CW', 'rotate-ccw' : 'Ротирай 90 градуса CCW', 'degree' : '°', 'netMountDialogTitle' : 'Монтиране на мрежов ресурс', // added 18.04.2012 'protocol' : 'Протокол', // added 18.04.2012 'host' : 'Хост', // added 18.04.2012 'port' : 'Порт', // added 18.04.2012 'user' : 'Потребител', // added 18.04.2012 'pass' : 'Парола', // added 18.04.2012 'confirmUnmount' : 'Ще размонтирате $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Пусни или вмъкни файлове от браузера', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Тук поснете файловете, URL адресите или изображенията от клипборда', // from v2.1 added 07.04.2014 'encoding' : 'Кодировка', // from v2.1 added 19.12.2014 'locale' : 'Локали', // from v2.1 added 19.12.2014 'searchTarget' : 'Цел: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Търсене по въведен MIME тип', // from v2.1 added 22.5.2015 'owner' : 'Собственик', // from v2.1 added 20.6.2015 'group' : 'Група', // from v2.1 added 20.6.2015 'other' : 'Други', // from v2.1 added 20.6.2015 'execute' : 'Изпълнява', // from v2.1 added 20.6.2015 'perm' : 'Разрешение', // from v2.1 added 20.6.2015 'mode' : 'Вид', // from v2.1 added 20.6.2015 'emptyFolder' : 'Папката е празна', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Папката е празна\\A Влачи и пусни за да добавите файлове', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Папката е празна\\A Докоснете дълго за да добавите позиции', // from v2.1.6 added 30.12.2015 'quality' : 'Качество', // from v2.1.6 added 5.1.2016 'autoSync' : 'Автоматично синхронизиране', // from v2.1.6 added 10.1.2016 'moveUp' : 'Премести нагоре', // from v2.1.6 added 18.1.2016 'getLink' : 'Вземи URL връзка', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Избрани позиции ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Папка ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Позволи офлайн достъп', // from v2.1.10 added 3.25.2016 'reAuth' : 'За повторно удостоверяване', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Сега се зарежда...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Отваряне на няколко файла', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Опитвате се да отворите $1 файла. Наистина ли искате да ги отворите в браузъра?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Няма резултат от търсенето.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Редактира се файл.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Вие сте избрали $1 позиции.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Имате $1 позиции в клипборда.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Инкременталното търсене е само от текущия изглед.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Възстановяване', // from v2.1.15 added 3.8.2016 'complete' : '$1 завършени', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Контекстно меню', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Завъртане на страницата', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Начала на ресурси', // from v2.1.16 added 16.9.2016 'reset' : 'Нулиране', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Цвят на фона', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Средство за избиране на цвят', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px мрежа', // from v2.1.16 added 4.10.2016 'enabled' : 'Активно', // from v2.1.16 added 4.10.2016 'disabled' : 'Неактивно', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Няма резултат от търсенето в текущия изглед.\\AНатиснете [Enter] за да разширите целта на търсене.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Резултатите от търсенето на първата буква са празни в текущия изглед.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Текстов етикет', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 мин остават', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Отваряне отново с избрано кодиране', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Запазете с избраното кодиране', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Избери папка', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Търсене по първа буква', // from v2.1.23 added 24.3.2017 'presets' : 'Мостри', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Прекалено много позиции, не може да премести в кошчето.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Текстово поле', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Изпразнете папка "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'В папка "$1" няма позиции.', // from v2.1.25 added 22.6.2017 'preference' : 'Настройки', // from v2.1.26 added 28.6.2017 'language' : 'Настройка на езика', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Инициализирайте настройките запаметени в този браузър', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Настройки на лентата с инструменти', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 символа остават.', // from v2.1.29 added 30.8.2017 'sum' : 'Сумарно', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Груб размер на файла', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Фокусирайте върху елемента в диалоговия прозорец с мишката', // from v2.1.30 added 2.11.2017 'select' : 'Избери', // from v2.1.30 added 23.11.2017 'selectAction' : 'Действие при избор на файл', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Отворете с редактора, използван за последен път', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Обърнете селекцията', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Наистина ли искате да преименувате $1 избрани позиции като $2?
                      Това не може да бъде отменено!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Групово преименуване', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Номер', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Добави префикс', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Добави суфикс', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Промени разширение', // from v2.1.31 added 8.12.2017 'columnPref' : 'Настройки за колони (Изглед в списък)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Всички промени ще се отразят незабавно в архива.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Промените няма да се отразят, докато не размонтирате този диск.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'The following volume(s) mounted on this volume also unmounted. Are you sure to unmount it?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Информация за селекцията', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Алгоритми за показване на файловия хеш', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info Items (Selection Info Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Натиснете отново, за да излезете.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Лента с инструменти', // from v2.1.38 added 4.4.2018 'workspace' : 'Работно пространство', // from v2.1.38 added 4.4.2018 'dialog' : 'Диалог', // from v2.1.38 added 4.4.2018 'all' : 'Всички', // from v2.1.38 added 4.4.2018 'iconSize' : 'Размер на иконите (изглед с икони)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Отваря максимизиран прозорец на редактора', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Тъй като в момента не е налична API за конверсията, моля, конвертирайте в уебсайта.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'След конверсията трябва да го качите с URL адреса или изтегления файл, за да запазите конвертирания файл.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Конвертиране на сайта от $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Интеграции', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Този elFinder има следните интегрирани външни услуги. Моля, проверете условията за ползване, декларацията за поверителност и т.н., преди да ги използвате.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Покажи скритите елементи', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Скрий скритите елементи', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Покажи/скрий скритите елементи', // from v2.1.41 added 24.7.2018 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Непознат', 'kindRoot' : 'Начало на ресурс', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Папка', 'kindSelects' : 'Селекции', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Връзка', 'kindAliasBroken' : 'Счупена връзка', // applications 'kindApp' : 'Приложение', 'kindPostscript' : 'Postscript документ', 'kindMsOffice' : 'Microsoft Office документ', 'kindMsWord' : 'Microsoft Word документ', 'kindMsExcel' : 'Microsoft Excel документ', 'kindMsPP' : 'Microsoft Powerpoint презентация', 'kindOO' : 'Open Office документ', 'kindAppFlash' : 'Flash приложение', 'kindPDF' : 'PDF документ', 'kindTorrent' : 'Bittorrent файл', 'kind7z' : '7z архив', 'kindTAR' : 'TAR архив', 'kindGZIP' : 'GZIP архив', 'kindBZIP' : 'BZIP архив', 'kindXZ' : 'XZ архив', 'kindZIP' : 'ZIP архив', 'kindRAR' : 'RAR архив', 'kindJAR' : 'Java JAR файл', 'kindTTF' : 'True Type шрифт', 'kindOTF' : 'Open Type шрифт', 'kindRPM' : 'RPM пакет', // texts 'kindText' : 'Текстов документ', 'kindTextPlain' : 'Чист текст', 'kindPHP' : 'PHP изходен код', 'kindCSS' : 'CSS таблица със стилове', 'kindHTML' : 'HTML документ', 'kindJS' : 'Javascript изходен код', 'kindRTF' : 'RTF текстови файл', 'kindC' : 'C изходен код', 'kindCHeader' : 'C header изходен код', 'kindCPP' : 'C++ изходен код', 'kindCPPHeader' : 'C++ header изходен код', 'kindShell' : 'Unix shell изходен код', 'kindPython' : 'Python изходен код', 'kindJava' : 'Java изходен код', 'kindRuby' : 'Ruby изходен код', 'kindPerl' : 'Perl изходен код', 'kindSQL' : 'SQL изходен код', 'kindXML' : 'XML документ', 'kindAWK' : 'AWK изходен код', 'kindCSV' : 'CSV стойности разделени със запетая', 'kindDOCBOOK' : 'Docbook XML документ', 'kindMarkdown' : 'Markdown текст', // added 20.7.2015 // images 'kindImage' : 'Изображение', 'kindBMP' : 'BMP изображение', 'kindJPEG' : 'JPEG изображение', 'kindGIF' : 'GIF изображение', 'kindPNG' : 'PNG изображение', 'kindTIFF' : 'TIFF изображение', 'kindTGA' : 'TGA изображение', 'kindPSD' : 'Adobe Photoshop изображение', 'kindXBITMAP' : 'X bitmap изображение', 'kindPXM' : 'Pixelmator изображение', // media 'kindAudio' : 'Аудио медия', 'kindAudioMPEG' : 'MPEG звук', 'kindAudioMPEG4' : 'MPEG-4 звук', 'kindAudioMIDI' : 'MIDI звук', 'kindAudioOGG' : 'Ogg Vorbis звук', 'kindAudioWAV' : 'WAV звук', 'AudioPlaylist' : 'MP3 списък за изпълнение', 'kindVideo' : 'Видео медия', 'kindVideoDV' : 'DV филм', 'kindVideoMPEG' : 'MPEG филм', 'kindVideoMPEG4' : 'MPEG-4 филм', 'kindVideoAVI' : 'AVI филм', 'kindVideoMOV' : 'Quick Time филм', 'kindVideoWM' : 'Windows Media филм', 'kindVideoFlash' : 'Flash филм', 'kindVideoMKV' : 'Matroska филм', 'kindVideoOGG' : 'Ogg филм' } }; })); wp-file-manager/lib/js/i18n/elfinder.ca.js000064400000040577151202472330014204 0ustar00/** * Catalan translation * @author Sergio Jovani * @version 2014-12-19 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.ca = { translator : 'Sergio Jovani <lesergi@gmail.com>', language : 'Català', direction : 'ltr', dateFormat : 'M d, Y h:i A', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM messages : { /********************************** errors **********************************/ 'error' : 'Error', 'errUnknown' : 'Error desconegut.', 'errUnknownCmd' : 'Ordre desconeguda.', 'errJqui' : 'La configuració de jQuery UI no és vàlida. S\'han d\'incloure els components "selectable", "draggable" i "droppable".', 'errNode' : 'elFinder necessita crear elements DOM.', 'errURL' : 'La configuració de l\'elFinder no és vàlida! L\'opció URL no està configurada.', 'errAccess' : 'Accés denegat.', 'errConnect' : 'No s\'ha pogut connectar amb el rerefons.', 'errAbort' : 'S\'ha interromput la connexió.', 'errTimeout' : 'Temps de connexió excedit.', 'errNotFound' : 'No s\'ha trobat el rerefons.', 'errResponse' : 'La resposta del rerefons no és vàlida.', 'errConf' : 'La configuració del rerefons no és vàlida.', 'errJSON' : 'No està instal·lat el mòdul JSON del PHP.', 'errNoVolumes' : 'No s\'han trobat volums llegibles.', 'errCmdParams' : 'Els paràmetres per l\'ordre "$1" no són vàlids.', 'errDataNotJSON' : 'Les dades no són JSON.', 'errDataEmpty' : 'Les dades estan buides.', 'errCmdReq' : 'La sol·licitud del rerefons necessita el nom de l\'ordre.', 'errOpen' : 'No s\'ha pogut obrir "$1".', 'errNotFolder' : 'L\'objecte no és una carpeta.', 'errNotFile' : 'L\'objecte no és un fitxer.', 'errRead' : 'No s\'ha pogut llegir "$1".', 'errWrite' : 'No s\'ha pogut escriure a "$1".', 'errPerm' : 'Permís denegat.', 'errLocked' : '"$1" està bloquejat i no podeu canviar-li el nom, moure-lo ni suprimir-lo.', 'errExists' : 'Ja existeix un fitxer anomenat "$1".', 'errInvName' : 'El nom de fitxer no és vàlid.', 'errFolderNotFound' : 'No s\'ha trobat la carpeta.', 'errFileNotFound' : 'No s\'ha trobat el fitxer.', 'errTrgFolderNotFound' : 'No s\'ha trobat la carpeta de destí "$1".', 'errPopup' : 'El navegador ha evitat obrir una finestra emergent. Autoritzeu-la per obrir el fitxer.', 'errMkdir' : 'No s\'ha pogut crear la carpeta "$1".', 'errMkfile' : 'No s\'ha pogut crear el fitxer "$1".', 'errRename' : 'No s\'ha pogut canviar el nom de "$1".', 'errCopyFrom' : 'No està permès copiar fitxers des del volum "$1".', 'errCopyTo' : 'No està permès copiar fitxers al volum "$1".', 'errUpload' : 'S\'ha produït un error en la càrrega.', 'errUploadFile' : 'No s\'ha pogut carregar "$1".', 'errUploadNoFiles' : 'No s\'han trobat fitxers per carregar.', 'errUploadTotalSize' : 'Les dades excedeixen la mida màxima permesa.', 'errUploadFileSize' : 'El fitxer excedeix la mida màxima permesa.', 'errUploadMime' : 'El tipus de fitxer no està permès.', 'errUploadTransfer' : 'S\'ha produït un error en transferir "$1".', 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', 'errReplace' : 'Unable to replace "$1".', 'errSave' : 'No s\'ha pogut desar "$1".', 'errCopy' : 'No s\'ha pogut copiar "$1".', 'errMove' : 'No s\'ha pogut moure "$1".', 'errCopyInItself' : 'No s\'ha pogut copiar "$1" a si mateix.', 'errRm' : 'No s\'ha pogut suprimir "$1".', 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'No s\'han pogut extreure els fitxers de "$1".', 'errArchive' : 'No s\'ha pogut crear l\'arxiu.', 'errArcType' : 'El tipus d\'arxiu no està suportat.', 'errNoArchive' : 'El fitxer no és un arxiu o és un tipus no suportat.', 'errCmdNoSupport' : 'El rerefons no suporta aquesta ordre.', 'errReplByChild' : 'No es pot reemplaçar la carpeta “$1” per un element que conté.', 'errArcSymlinks' : 'Per raons de seguretat, no es permet extreure arxius que contenen enllaços simbòlics.', 'errArcMaxSize' : 'Els fitxers de l\'arxiu excedeixen la mida màxima permesa.', 'errResize' : 'No s\'ha pogut redimensionar "$1".', 'errResizeDegree' : 'Invalid rotate degree.', 'errResizeRotate' : 'Unable to rotate image.', 'errResizeSize' : 'Invalid image size.', 'errResizeNoChange' : 'Image size not changed.', 'errUsupportType' : 'El tipus de fitxer no està suportat.', 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', 'errNetMount' : 'Unable to mount "$1".', 'errNetMountNoDriver' : 'Unsupported protocol.', 'errNetMountFailed' : 'Mount failed.', 'errNetMountHostReq' : 'Host required.', 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', /******************************* commands names ********************************/ 'cmdarchive' : 'Crea arxiu', 'cmdback' : 'Enrere', 'cmdcopy' : 'Copia', 'cmdcut' : 'Retalla', 'cmddownload' : 'Descarrega', 'cmdduplicate' : 'Duplica', 'cmdedit' : 'Edita el fitxer', 'cmdextract' : 'Extreu els fitxers de l\'arxiu', 'cmdforward' : 'Endavant', 'cmdgetfile' : 'Selecciona els fitxers', 'cmdhelp' : 'Quant a aquest programari', 'cmdhome' : 'Inici', 'cmdinfo' : 'Obté informació', 'cmdmkdir' : 'Nova carpeta', 'cmdmkfile' : 'Nou fitxer', 'cmdopen' : 'Obre', 'cmdpaste' : 'Enganxa', 'cmdquicklook' : 'Previsualitza', 'cmdreload' : 'Torna a carregar', 'cmdrename' : 'Canvia el nom', 'cmdrm' : 'Suprimeix', 'cmdsearch' : 'Cerca fitxers', 'cmdup' : 'Vés al directori superior', 'cmdupload' : 'Carrega fitxers', 'cmdview' : 'Visualitza', 'cmdresize' : 'Redimensiona la imatge', 'cmdsort' : 'Ordena', 'cmdnetmount' : 'Mount network volume', /*********************************** buttons ***********************************/ 'btnClose' : 'Tanca', 'btnSave' : 'Desa', 'btnRm' : 'Suprimeix', 'btnApply' : 'Aplica', 'btnCancel' : 'Cancel·la', 'btnNo' : 'No', 'btnYes' : 'Sí', 'btnMount' : 'Mount', /******************************** notifications ********************************/ 'ntfopen' : 'S\'està obrint la carpeta', 'ntffile' : 'S\'està obrint el fitxer', 'ntfreload' : 'S\'està tornant a carregar el contingut de la carpeta', 'ntfmkdir' : 'S\'està creant el directori', 'ntfmkfile' : 'S\'estan creant el fitxers', 'ntfrm' : 'S\'estan suprimint els fitxers', 'ntfcopy' : 'S\'estan copiant els fitxers', 'ntfmove' : 'S\'estan movent els fitxers', 'ntfprepare' : 'S\'està preparant per copiar fitxers', 'ntfrename' : 'S\'estan canviant els noms del fitxers', 'ntfupload' : 'S\'estan carregant els fitxers', 'ntfdownload' : 'S\'estan descarregant els fitxers', 'ntfsave' : 'S\'estan desant els fitxers', 'ntfarchive' : 'S\'està creant l\'arxiu', 'ntfextract' : 'S\'estan extreient els fitxers de l\'arxiu', 'ntfsearch' : 'S\'estan cercant els fitxers', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'S\'estan realitzant operacions', 'ntfloadimg' : 'S\'està carregant la imatge', 'ntfnetmount' : 'Mounting network volume', 'ntfdim' : 'Acquiring image dimension', /************************************ dates **********************************/ 'dateUnknown' : 'desconegut', 'Today' : 'Avui', 'Yesterday' : 'Ahir', 'msJan' : 'gen.', 'msFeb' : 'febr.', 'msMar' : 'març', 'msApr' : 'abr.', 'msMay' : 'maig', 'msJun' : 'juny', 'msJul' : 'jul.', 'msAug' : 'ag.', 'msSep' : 'set.', 'msOct' : 'oct.', 'msNov' : 'nov.', 'msDec' : 'des.', 'January' : 'January', 'February' : 'February', 'March' : 'March', 'April' : 'April', 'May' : 'May', 'June' : 'June', 'July' : 'July', 'August' : 'August', 'September' : 'September', 'October' : 'October', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Sunday', 'Monday' : 'Monday', 'Tuesday' : 'Tuesday', 'Wednesday' : 'Wednesday', 'Thursday' : 'Thursday', 'Friday' : 'Friday', 'Saturday' : 'Saturday', 'Sun' : 'Sun', 'Mon' : 'Mon', 'Tue' : 'Tue', 'Wed' : 'Wed', 'Thu' : 'Thu', 'Fri' : 'Fri', 'Sat' : 'Sat', /******************************** sort variants ********************************/ 'sortname' : 'per nom', 'sortkind' : 'per tipus', 'sortsize' : 'per mida', 'sortdate' : 'per data', 'sortFoldersFirst' : 'Folders first', /********************************** messages **********************************/ 'confirmReq' : 'Es necessita confirmació', 'confirmRm' : 'Voleu suprimir els fitxers?
                      L\'acció es podrà desfer!', 'confirmRepl' : 'Voleu reemplaçar el fitxer antic amb el nou?', 'apllyAll' : 'Aplica a tot', 'name' : 'Nom', 'size' : 'Mida', 'perms' : 'Permisos', 'modify' : 'Modificat', 'kind' : 'Tipus', 'read' : 'llegir', 'write' : 'escriure', 'noaccess' : 'sense accés', 'and' : 'i', 'unknown' : 'desconegut', 'selectall' : 'Selecciona tots els fitxers', 'selectfiles' : 'Selecciona el(s) fitxer(s)', 'selectffile' : 'Selecciona el primer fitxer', 'selectlfile' : 'Selecciona l\'últim fitxer', 'viewlist' : 'Vista en llista', 'viewicons' : 'Vista en icones', 'places' : 'Llocs', 'calc' : 'Calcula', 'path' : 'Camí', 'aliasfor' : 'Àlies per', 'locked' : 'Bloquejat', 'dim' : 'Dimensions', 'files' : 'Fitxers', 'folders' : 'Carpetes', 'items' : 'Elements', 'yes' : 'sí', 'no' : 'no', 'link' : 'Enllaç', 'searcresult' : 'Resultats de la cerca', 'selected' : 'Elements seleccionats', 'about' : 'Quant a', 'shortcuts' : 'Dreceres', 'help' : 'Ajuda', 'webfm' : 'Gestor de fitxers web', 'ver' : 'Versió', 'protocolver' : 'versió de protocol', 'homepage' : 'Pàgina del projecte', 'docs' : 'Documentació', 'github' : 'Bifurca\'ns a GitHub', 'twitter' : 'Segueix-nos a Twitter', 'facebook' : 'Uniu-vos a Facebook', 'team' : 'Equip', 'chiefdev' : 'cap desenvolupador', 'developer' : 'desenvolupador', 'contributor' : 'col·laborador', 'maintainer' : 'mantenidor', 'translator' : 'traductor', 'icons' : 'Icones', 'dontforget' : 'i no oblideu agafar la vostra tovallola', 'shortcutsof' : 'Les dreceres estan inhabilitades', 'dropFiles' : 'Arrossegueu els fitxers aquí', 'or' : 'o', 'selectForUpload' : 'Seleccioneu els fitxer a carregar', 'moveFiles' : 'Mou els fitxers', 'copyFiles' : 'Copia els fitxers', 'rmFromPlaces' : 'Suprimeix dels llocs', 'aspectRatio' : 'Relació d\'aspecte', 'scale' : 'Escala', 'width' : 'Amplada', 'height' : 'Alçada', 'resize' : 'Redimensiona', 'crop' : 'Retalla', 'rotate' : 'Rotate', 'rotate-cw' : 'Rotate 90 degrees CW', 'rotate-ccw' : 'Rotate 90 degrees CCW', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', 'protocol' : 'Protocol', 'host' : 'Host', 'port' : 'Port', 'user' : 'User', 'pass' : 'Password', /********************************** mimetypes **********************************/ 'kindUnknown' : 'Desconegut', 'kindFolder' : 'Carpeta', 'kindAlias' : 'Àlies', 'kindAliasBroken' : 'Àlies no vàlid', // applications 'kindApp' : 'Aplicació', 'kindPostscript' : 'Document Postscript', 'kindMsOffice' : 'Document del Microsoft Office', 'kindMsWord' : 'Document del Microsoft Word', 'kindMsExcel' : 'Document del Microsoft Excel', 'kindMsPP' : 'Presentació del Microsoft Powerpoint', 'kindOO' : 'Document de l\'Open Office', 'kindAppFlash' : 'Aplicació Flash', 'kindPDF' : 'Document PDF', 'kindTorrent' : 'Fitxer Bittorrent', 'kind7z' : 'Arxiu 7z', 'kindTAR' : 'Arxiu TAR', 'kindGZIP' : 'Arxiu GZIP', 'kindBZIP' : 'Arxiu BZIP', 'kindXZ' : 'Arxiu XZ', 'kindZIP' : 'Arxiu ZIP', 'kindRAR' : 'Arxiu RAR', 'kindJAR' : 'Fitxer JAR de Java', 'kindTTF' : 'Tipus de lletra True Type', 'kindOTF' : 'Tipus de lletra Open Type', 'kindRPM' : 'Paquet RPM', // texts 'kindText' : 'Document de text', 'kindTextPlain' : 'Document de text net', 'kindPHP' : 'Codi PHP', 'kindCSS' : 'Full d\'estils CSS', 'kindHTML' : 'Document HTML', 'kindJS' : 'Codi Javascript', 'kindRTF' : 'Document RTF', 'kindC' : 'Codi C', 'kindCHeader' : 'Codi de caçalera C', 'kindCPP' : 'Codi C++', 'kindCPPHeader' : 'Codi de caçalera C++', 'kindShell' : 'Script Unix', 'kindPython' : 'Codi Python', 'kindJava' : 'Codi Java', 'kindRuby' : 'Codi Ruby', 'kindPerl' : 'Script Perl', 'kindSQL' : 'Codi SQL', 'kindXML' : 'Document XML', 'kindAWK' : 'Codi AWK', 'kindCSV' : 'Document CSV', 'kindDOCBOOK' : 'Document XML de Docbook', // images 'kindImage' : 'Imatge', 'kindBMP' : 'Imatge BMP', 'kindJPEG' : 'Imatge JPEG', 'kindGIF' : 'Imatge GIF', 'kindPNG' : 'Imatge PNG', 'kindTIFF' : 'Imatge TIFF', 'kindTGA' : 'Imatge TGA', 'kindPSD' : 'Imatge Adobe Photoshop', 'kindXBITMAP' : 'Imatge X bitmap', 'kindPXM' : 'Imatge Pixelmator', // media 'kindAudio' : 'Fitxer d\'àudio', 'kindAudioMPEG' : 'Fitxer d\'àudio MPEG', 'kindAudioMPEG4' : 'Fitxer d\'àudio MPEG-4', 'kindAudioMIDI' : 'Fitxer d\'àudio MIDI', 'kindAudioOGG' : 'Fitxer d\'àudio Ogg Vorbis', 'kindAudioWAV' : 'Fitxer d\'àudio WAV', 'AudioPlaylist' : 'Llista de reproducció MP3', 'kindVideo' : 'Fitxer de vídeo', 'kindVideoDV' : 'Fitxer de vídeo DV', 'kindVideoMPEG' : 'Fitxer de vídeo MPEG', 'kindVideoMPEG4' : 'Fitxer de vídeo MPEG-4', 'kindVideoAVI' : 'Fitxer de vídeo AVI', 'kindVideoMOV' : 'Fitxer de vídeo Quick Time', 'kindVideoWM' : 'Fitxer de vídeo Windows Media', 'kindVideoFlash' : 'Fitxer de vídeo Flash', 'kindVideoMKV' : 'Fitxer de vídeo Matroska', 'kindVideoOGG' : 'Fitxer de vídeo Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.cs.js000064400000103007151202472330014212 0ustar00/** * Czech translation * @author RobiNN * @author Jay Gridley * @version 2021-06-10 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.cs = { translator : 'RobiNN <robo@kelcak.com>, Jay Gridley <gridley.jay@hotmail.com>', language : 'Čeština', direction : 'ltr', dateFormat : 'd. m. Y H:i', // will show like: 10. 06. 2021 23:37 fancyDateFormat : '$1 H:i', // will show like: Dnes 23:37 nonameDateFormat : 'ymd-His', // noname upload will show like: 210610-233701 messages : { /********************************** errors **********************************/ 'error' : 'Chyba', 'errUnknown' : 'Neznámá chyba.', 'errUnknownCmd' : 'Neznámý příkaz.', 'errJqui' : 'Nedostačující konfigurace jQuery UI. Musí být zahrnuty komponenty Selectable, Draggable a Droppable.', 'errNode' : 'elFinder vyžaduje vytvořený DOM Elementu.', 'errURL' : 'Chybná konfigurace elFinderu! Není nastavena hodnota URL.', 'errAccess' : 'Přístup zamítnut.', 'errConnect' : 'Nepodařilo se připojit k backendu.', 'errAbort' : 'Připojení zrušeno.', 'errTimeout' : 'Vypšel limit pro připojení.', 'errNotFound' : 'Backend nenalezen.', 'errResponse' : 'Nesprávná odpověď backendu.', 'errConf' : 'Nepsrávná konfigurace backendu.', 'errJSON' : 'PHP modul JSON není nainstalován.', 'errNoVolumes' : 'Není dostupný čitelný oddíl.', 'errCmdParams' : 'Nesprávné parametry příkazu "$1".', 'errDataNotJSON' : 'Data nejsou ve formátu JSON.', 'errDataEmpty' : 'Data jsou prázdná.', 'errCmdReq' : 'Dotaz backendu vyžaduje název příkazu.', 'errOpen' : 'Chyba při otevírání "$1".', 'errNotFolder' : 'Objekt není složka.', 'errNotFile' : 'Objekt není soubor.', 'errRead' : 'Chyba při čtení "$1".', 'errWrite' : 'Chyba při zápisu do "$1".', 'errPerm' : 'Přístup odepřen.', 'errLocked' : '"$1" je uzamčený a nemůže být přejmenován, přesunut nebo smazán.', 'errExists' : 'Soubor s názvem "$1" již existuje.', 'errInvName' : 'Nesprávný název souboru.', 'errInvDirname' : 'Neplatný název adresáře.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Složka nenalezena.', 'errFileNotFound' : 'Soubor nenalezen.', 'errTrgFolderNotFound' : 'Cílová složka "$1" nenalezena.', 'errPopup' : 'Prohlížeč zabránil otevření vyskakovacího okna. K otevření souboru, povolte vyskakovací okno v prohlížeči.', 'errMkdir' : 'Nepodařilo se vytvořit složku "$1".', 'errMkfile' : 'Nepodařilo se vytvořit soubor "$1".', 'errRename' : 'Nepodařilo se přejmenovat "$1".', 'errCopyFrom' : 'Kopírování souborů z oddílu "$1" není povoleno.', 'errCopyTo' : 'Kopírování souborů do oddílu "$1" není povoleno.', 'errMkOutLink' : 'Nelze vytvořit odkaz mimo kořenového svazku.', // from v2.1 added 03.10.2015 'errUpload' : 'Chyba nahrávání.', // old name - errUploadCommon 'errUploadFile' : 'Nepodařilo se nahrát "$1".', // old name - errUpload 'errUploadNoFiles' : 'Nejsou vybrány žádné soubory k nahrání.', 'errUploadTotalSize' : 'Překročena maximální povolená velikost dat.', // old name - errMaxSize 'errUploadFileSize' : 'Překročena maximální povolená velikost souboru.', // old name - errFileMaxSize 'errUploadMime' : 'Nepovolený typ souboru.', 'errUploadTransfer' : '"$1" chyba přenosu.', 'errUploadTemp' : 'Nelze vytvořit dočasný soubor pro upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Objekt "$1" v tomto umístění již existuje a nelze jej nahradit s jiným typem objektu.', // new 'errReplace' : 'Nelze nahradit "$1".', 'errSave' : '"$1" nelze uložit.', 'errCopy' : '"$1" nelze zkopírovat.', 'errMove' : '"$1" nelze přemístit.', 'errCopyInItself' : '"$1" nelze zkopírovat do sebe sama.', 'errRm' : '"$1" nelze odstranit.', 'errTrash' : 'Nelze se dostat do koše.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Nelze odstranit zdrojový soubor(y).', 'errExtract' : 'Nelze extrahovat soubory z "$1".', 'errArchive' : 'Nelze vytvořit archív.', 'errArcType' : 'Nepodporovaný typ archívu.', 'errNoArchive' : 'Soubor není archív nebo má nepodporovaný formát.', 'errCmdNoSupport' : 'Backend tento příkaz nepodporuje.', 'errReplByChild' : 'Složka "$1" nemůže být nahrazena souborem, který sama obsahuje.', 'errArcSymlinks' : 'Z bezpečnostních důvodů je zakázáno rozbalit archívy obsahující symlinky.', // edited 24.06.2012 'errArcMaxSize' : 'Soubory archívu překračují maximální povolenou velikost.', 'errResize' : 'Nepodařilo se změnit velikost obrázku "$1".', 'errResizeDegree' : 'Neplatný stupeň rotace.', // added 7.3.2013 'errResizeRotate' : 'Nelze otočit obrázek.', // added 7.3.2013 'errResizeSize' : 'Neplatná velikost obrázku.', // added 7.3.2013 'errResizeNoChange' : 'Velikost obrazu se nezmění.', // added 7.3.2013 'errUsupportType' : 'Nepodporovaný typ souboru.', 'errNotUTF8Content' : 'Soubor "$1" nemá ani obsah kódovaný v UTF-8 a nelze změnit.', // added 9.11.2011 'errNetMount' : 'Není možné se připojit "$ 1".', // added 17.04.2012 'errNetMountNoDriver' : 'Nepodporovaný protokol.', // added 17.04.2012 'errNetMountFailed' : 'Připojení se nezdařilo.', // added 17.04.2012 'errNetMountHostReq' : 'Hostitel se vyžaduje.', // added 18.04.2012 'errSessionExpires' : 'Relace byla ukončena z důvodu nečinnosti.', 'errCreatingTempDir' : 'Nelze vytvořit dočasný adresář: "$1"', 'errFtpDownloadFile' : 'Nelze stáhnout soubor z FTP: "$1"', 'errFtpUploadFile' : 'Nelze nahrát soubor na FTP: "$1"', 'errFtpMkdir' : 'Nepodařilo se vytvořit vzdálený adresář na FTP: "$1"', 'errArchiveExec' : 'Při archivaci do souboru došlo k chybě: "$1"', 'errExtractExec' : 'Chyba při extrahování souboru: "$1"', 'errNetUnMount' : 'Nepodařilo se odpojit', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Nelze převést na UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Chcete-li nahrát složku, zkuste moderní prohlížeč.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Vypršení časového limitu při hledání "$1". Je částečně výsledkem hledání.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Opětovné povolení je nutné.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Maximální počet volitelných předmětů je $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Nelze obnovit z koše. Nelze identifikovat cíl obnovení.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor tohoto typu souboru nebyl nalezen.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Došlo k chybě na straně serveru.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Nelze vyprázdnit složku "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Existují ještě další $1 chyby.', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'Můžete vytvořit až $1 složek najednou.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Vytvořit archív', 'cmdback' : 'Zpět', 'cmdcopy' : 'Kopírovat', 'cmdcut' : 'Vyjmout', 'cmddownload' : 'Stáhnout', 'cmdduplicate' : 'Duplikovat', 'cmdedit' : 'Upravit soubor', 'cmdextract' : 'Rozbalit archív', 'cmdforward' : 'Vpřed', 'cmdgetfile' : 'Vybrat soubory', 'cmdhelp' : 'O softwaru', 'cmdhome' : 'Domů', 'cmdinfo' : 'Zobrazit informace', 'cmdmkdir' : 'Nová složka', 'cmdmkdirin' : 'Do nové složky', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nový soubor', 'cmdopen' : 'Otevřít', 'cmdpaste' : 'Vložit', 'cmdquicklook' : 'Náhled', 'cmdreload' : 'Obnovit', 'cmdrename' : 'Přejmenovat', 'cmdrm' : 'Smazat', 'cmdtrash' : 'Do koše', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Obnovit', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Najít soubory', 'cmdup' : 'Přejít do nadřazené složky', 'cmdupload' : 'Nahrát soubor(y)', 'cmdview' : 'Zobrazit', 'cmdresize' : 'Změnit velikost', 'cmdsort' : 'Seřadit', 'cmdnetmount' : 'Připojit síťovou jednotku', // added 18.04.2012 'cmdnetunmount': 'Odpojit', // from v2.1 added 30.04.2012 'cmdplaces' : 'Umístění', // added 28.12.2014 'cmdchmod' : 'Změnit režim', // from v2.1 added 20.6.2015 'cmdopendir' : 'Otevření složky', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Obnovení šířku sloupce', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Celá obrazovka', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Posouvat', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Vyprázdnit složku', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Krok zpět', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Udělat to znovu', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preference', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Vyberat vše', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Nic nevyberať', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Invertovat výběr', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Otevři v novém okně', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Skrýt (Předvolba)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Zavřít', 'btnSave' : 'Uložit', 'btnRm' : 'Odstranit', 'btnApply' : 'Použít', 'btnCancel' : 'Zrušit', 'btnNo' : 'Ne', 'btnYes' : 'Ano', 'btnMount' : 'Připojit', // added 18.04.2012 'btnApprove': 'Přejít do části 1 $ & schválit', // from v2.1 added 26.04.2012 'btnUnmount': 'Odpojit', // from v2.1 added 30.04.2012 'btnConv' : 'Převést', // from v2.1 added 08.04.2014 'btnCwd' : 'Tu', // from v2.1 added 22.5.2015 'btnVolume' : 'Médium', // from v2.1 added 22.5.2015 'btnAll' : 'Všechno', // from v2.1 added 22.5.2015 'btnMime' : 'MIME typ', // from v2.1 added 22.5.2015 'btnFileName':'Název souboru', // from v2.1 added 22.5.2015 'btnSaveClose': 'Uložit & zavřít', // from v2.1 added 12.6.2015 'btnBackup' : 'Zálohovat', // fromv2.1 added 28.11.2015 'btnRename' : 'Přejmenovat', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Přejmenovat vše', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Předch ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Další ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Uložit jako', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Otevírání složky', 'ntffile' : 'Otevírání souboru', 'ntfreload' : 'Obnovování obsahu složky', 'ntfmkdir' : 'Vytváření složky', 'ntfmkfile' : 'Vytváření souborů', 'ntfrm' : 'Vymazání položek', 'ntfcopy' : 'Kopírování položek', 'ntfmove' : 'Přemístění položek', 'ntfprepare' : 'Kontrola existujících položek', 'ntfrename' : 'Přejmenovávání souborů', 'ntfupload' : 'Nahrávání souborů', 'ntfdownload' : 'Stahování souborů', 'ntfsave' : 'Ukládání souborů', 'ntfarchive' : 'Vytváření archívu', 'ntfextract' : 'Rozbalování souborů z archívu', 'ntfsearch' : 'Vyhledávání souborů', 'ntfresize' : 'Změna velikosti obrázků', 'ntfsmth' : 'Čekejte prosím...', 'ntfloadimg' : 'Načítání obrázků', 'ntfnetmount' : 'Připojení síťového média', // added 18.04.2012 'ntfnetunmount': 'Odpojení síťového média', // from v2.1 added 30.04.2012 'ntfdim' : 'Získejte rozměr obrazu', // added 20.05.2013 'ntfreaddir' : 'Přečtěte si informace o složce', // from v2.1 added 01.07.2013 'ntfurl' : 'Získejte adresu URL odkazu', // from v2.1 added 11.03.2014 'ntfchmod' : 'Změna souboru', // from v2.1 added 20.6.2015 'ntfpreupload': 'Zkontrolujte název nahravaného souboru', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Vytvořit soubor ke stažení', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Získání informací o cestě', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Zpracování nahraného souboru', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Hodit do koše', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Obnova z koše', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Kontrola cílové složky', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Zrušit předchozí operaci', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Obnovit předchozí zrušení', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Kontrola obsahu', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Koš', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'neznámý', 'Today' : 'Dnes', 'Yesterday' : 'Včera', 'msJan' : 'Led', 'msFeb' : 'Úno', 'msMar' : 'Bře', 'msApr' : 'Dub', 'msMay' : 'Kvě', 'msJun' : 'Čer', 'msJul' : 'Čec', 'msAug' : 'Srp', 'msSep' : 'Zář', 'msOct' : 'Říj', 'msNov' : 'Lis', 'msDec' : 'Pro', 'January' : 'Leden', 'February' : 'Únor', 'March' : 'Březen', 'April' : 'Duben', 'May' : 'Květen', 'June' : 'Červen', 'July' : 'Červenec', 'August' : 'Srpen', 'September' : 'Září', 'October' : 'Říjen', 'November' : 'Listopad', 'December' : 'Prosinec', 'Sunday' : 'Neděle', 'Monday' : 'Pondělí', 'Tuesday' : 'Úterý', 'Wednesday' : 'Středa', 'Thursday' : 'Čtvrtek', 'Friday' : 'Pátek', 'Saturday' : 'Sobota', 'Sun' : 'Ne', 'Mon' : 'Po', 'Tue' : 'Út', 'Wed' : 'St', 'Thu' : 'Čt', 'Fri' : 'Pá', 'Sat' : 'So', /******************************** sort variants ********************************/ 'sortname' : 'dle jména', 'sortkind' : 'dle typu', 'sortsize' : 'dle velikosti', 'sortdate' : 'dle data', 'sortFoldersFirst' : 'Napřed složky', 'sortperm' : 'dle povolení', // from v2.1.13 added 13.06.2016 'sortmode' : 'dle módu', // from v2.1.13 added 13.06.2016 'sortowner' : 'dle majitele', // from v2.1.13 added 13.06.2016 'sortgroup' : 'dle skupiny', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Také stromové zobrazení', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'Nový soubor.txt', // added 10.11.2015 'untitled folder' : 'Nová složka', // added 10.11.2015 'Archive' : 'Nový archiv', // from v2.1 added 10.11.2015 'untitled file' : 'Nový soubor.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1 soubor', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Požadováno potvrzení', 'confirmRm' : 'Opravdu chcete odstranit tyto soubory?
                      Operace nelze vrátit!', 'confirmRepl' : 'Nahradit staré soubory novými?', 'confirmRest' : 'Nahradit stávající položku položkou z koše?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Není v UTF-8, převést do UTF-8?
                      Obsah po převodu se stává UTF-8.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Kódování tohoto souboru nemoholo rozpoznán. Pro úpravy je třeba dočasně převést do kódování UTF-8.
                      Prosím, vyberte kódování znaků souboru.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Byl změněn.
                      Pokud obsahuje neuložené změny, dojde ke ztrátě práce.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Opravdu chcete položky přesunout do koše?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Opravdu chcete položky přesunout do "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Pro všechny', 'name' : 'Název', 'size' : 'Velikost', 'perms' : 'Práva', 'modify' : 'Upravený', 'kind' : 'Typ', 'read' : 'čtení', 'write' : 'zápis', 'noaccess' : 'přístup odepřen', 'and' : 'a', 'unknown' : 'neznámý', 'selectall' : 'Vybrat všechny položky', 'selectfiles' : 'Vybrat položku(y)', 'selectffile' : 'Vybrat první položku', 'selectlfile' : 'Vybrat poslední položku', 'viewlist' : 'Seznam', 'viewicons' : 'Ikony', 'viewSmall' : 'Malé ikony', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Střední ikony', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Velké ikony', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Extra velké ikony', // from v2.1.39 added 22.5.2018 'places' : 'Místa', 'calc' : 'Vypočítat', 'path' : 'Cesta', 'aliasfor' : 'Zástupce pro', 'locked' : 'Uzamčený', 'dim' : 'Rozměry', 'files' : 'Soubory', 'folders' : 'Složky', 'items' : 'Položky', 'yes' : 'ano', 'no' : 'ne', 'link' : 'Odkaz', 'searcresult' : 'Výsledky hledání', 'selected' : 'vybrané položky', 'about' : 'O softwaru', 'shortcuts' : 'Zkratky', 'help' : 'Nápověda', 'webfm' : 'Webový správce souborů', 'ver' : 'Verze', 'protocolver' : 'verze protokolu', 'homepage' : 'Domovská stránka projektu', 'docs' : 'Dokumentace', 'github' : 'Najdete nás na Gitgube', 'twitter' : 'Následujte nás na Twitteri', 'facebook' : 'Připojte se k nám na Facebooku', 'team' : 'Tým', 'chiefdev' : 'séf vývojářů', 'developer' : 'vývojár', 'contributor' : 'spolupracovník', 'maintainer' : 'údržba', 'translator' : 'překlad', 'icons' : 'Ikony', 'dontforget' : 'a nezapomeňte si vzít plavky', 'shortcutsof' : 'Zkratky nejsou povoleny', 'dropFiles' : 'Sem přetáhněte soubory', 'or' : 'nebo', 'selectForUpload' : 'Vyberte soubory', 'moveFiles' : 'Přesunout sobory', 'copyFiles' : 'Zkopírovat soubory', 'restoreFiles' : 'Obnovit položky', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Odstranit z míst', 'aspectRatio' : 'Poměr stran', 'scale' : 'Měřítko', 'width' : 'Šířka', 'height' : 'Výška', 'resize' : 'Změnit vel.', 'crop' : 'Ořezat', 'rotate' : 'Otočit', 'rotate-cw' : 'Otočit o +90 stupňů', 'rotate-ccw' : 'Otočit o -90 stupňů', 'degree' : ' stupňů', 'netMountDialogTitle' : 'Připojení síťového média', // added 18.04.2012 'protocol' : 'Protokol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Uživatel', // added 18.04.2012 'pass' : 'Heslo', // added 18.04.2012 'confirmUnmount' : 'Chcete odpojit $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Přemístěte nebo přesuňte soubory z prohlížeče', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Zde přemístěte nebo přesuňte soubory a adresy URL', // from v2.1 added 07.04.2014 'encoding' : 'Kódování', // from v2.1 added 19.12.2014 'locale' : 'Lokalizce', // from v2.1 added 19.12.2014 'searchTarget' : 'Cíl: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Vyhledávání podle vstupního MIME typu', // from v2.1 added 22.5.2015 'owner' : 'Majitel', // from v2.1 added 20.6.2015 'group' : 'Skupina', // from v2.1 added 20.6.2015 'other' : 'Ostatní', // from v2.1 added 20.6.2015 'execute' : 'Spustit', // from v2.1 added 20.6.2015 'perm' : 'Povolení', // from v2.1 added 20.6.2015 'mode' : 'Režim', // from v2.1 added 20.6.2015 'emptyFolder' : 'Složka je prázdná', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Složka je prázdná, přesunout nebo zkontrolovat položky', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Složka je prázdná, dlouhim kliknutím přidáte položky', // from v2.1.6 added 30.12.2015 'quality' : 'Kvalita', // from v2.1.6 added 5.1.2016 'autoSync' : 'Automatická synchronizace', // from v2.1.6 added 10.1.2016 'moveUp' : 'Přesunout nahoru', // from v2.1.6 added 18.1.2016 'getLink' : 'Získat URL odkaz', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Vybrané položky ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID složky', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Povolit přístup offline', // from v2.1.10 added 3.25.2016 'reAuth' : 'Znovu ověřit', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Načítání...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Otevření více souborů', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Pokoušíte se otevřít soubor $1. Chcete jej otevřít v prohlížeči?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Výsledky hledání jsou prázdné', // from v2.1.12 added 5.16.2016 'editingFile' : 'Upravujete soubor.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Vybrali jste $1 položky.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Máte $1 položky v schránce.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Inkrementální hledání je pouze z aktuálního zobrazení.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Obnovit', // from v2.1.15 added 3.8.2016 'complete' : '$1 kompletní', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Kontextové menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Otáčení stránky', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Kořeny média', // from v2.1.16 added 16.9.2016 'reset' : 'Obnovit', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Barva pozadí', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Výběr barvy', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px mřížka', // from v2.1.16 added 4.10.2016 'enabled' : 'Povoleno', // from v2.1.16 added 4.10.2016 'disabled' : 'Zakázáno', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Výsledky hledání jsou prázdné v aktuálním zobrazení.\\Stisknutím tlačítka [Enter] rozšíříte vyhledávání cíle.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Výsledky vyhledávání prvního listu jsou v aktuálním zobrazení prázdné.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Nápis textu', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 minut zůstává', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Otevřít pomocí zvoleného kódování', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Uložit s vybraným kódováním', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Vyberte složku', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Hledání prvního listu', // from v2.1.23 added 24.3.2017 'presets' : 'Předvolby', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Je to příliš mnoho položek, takže se nemohou dostat do koše.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Textarea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Vyprázdnit složku "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Ve složce "$1" nejsou žádné položky.', // from v2.1.25 added 22.6.2017 'preference' : 'Předvolby', // from v2.1.26 added 28.6.2017 'language' : 'Nastavte jazyk', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Inicializujte nastavení uložená v tomto prohlížeči', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Nastavení panelu nástrojů', // from v2.1.27 added 2.8.2017 'charsLeft' : '...$1 znaků zbývá.', // from v2.1.29 added 30.8.2017 'linesLeft' : '...$1 řádků zůstává.', // from v2.1.52 added 16.1.2020 'sum' : 'Součet', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Hrubá velikost souboru', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Zaměření na prvek dialogu s mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Vybrat', // from v2.1.30 added 23.11.2017 'selectAction' : 'Akce při vybraném souboru', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Otevřít pomocí naposledy použitého editoru', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Obrátit výběr položek', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Opravdu chcete přejmenovat $1 vybraných položek, jako například $2
                      Není to možné vrátit zpět!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch přejmenování', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Číslo', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Přidat předponu', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Přidat příponu', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Změnit příponu', // from v2.1.31 added 8.12.2017 'columnPref' : 'Nastavení sloupců (Zobrazení seznamu)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Všechny změny se okamžitě projeví v archivu.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Jakékoliv změny se nebudou odrážet, dokud nebude tento svazek odpojen.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Následující svazky namontované na tomto svazku jsou také odpojeny. Opravdu ji odpojíte?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Informace o výběru', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algoritmy pro zobrazení hashování souborů', // from v2.1.33 added 10.3.2018 'infoItems' : 'Informační položky (panel s informacemi o výběru)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Dalším stisknutím opustíte.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Panel nástrojů', // from v2.1.38 added 4.4.2018 'workspace' : 'Pracovní prostor', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'Všechno', // from v2.1.38 added 4.4.2018 'iconSize' : 'Velikost ikony (zobrazení ikon)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Otevřete maximalizované okno editora', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Protože konverze podle API momentálně není k dispozici, převeďte na webové stránce.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Po konverzi musíte nahrát převeden soubor pomocí URL položky nebo stažený soubor k uložení převedeného souboru.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Převést na stránce $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrace', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Tento elFinder má integrované následující externí služby. Před použitím zkontrolujte podmínky používání, zásady ochrany osobních údajů atd.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Zobrazit skryté položky', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Skrýt skryté položky', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Zobrazit/skrýt skryté položky', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Typy souborů, jež mají být povoleny pomocí "Nový soubor"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Typ textového souboru', // from v2.1.41 added 7.8.2018 'add' : 'Přidat', // from v2.1.41 added 7.8.2018 'theme' : 'Téma', // from v2.1.43 added 19.10.2018 'default' : 'Výchozí', // from v2.1.43 added 19.10.2018 'description' : 'Popis', // from v2.1.43 added 19.10.2018 'website' : 'Stránka', // from v2.1.43 added 19.10.2018 'author' : 'Autor', // from v2.1.43 added 19.10.2018 'email' : 'E-mail', // from v2.1.43 added 19.10.2018 'license' : 'Licence', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Tuto položku nelze uložit. Abyste se vyhnuli ztrátě úprav, musíte je exportovat do počítače.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Poklepáním na soubor jej vyberte.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Použít režim celé obrazovky', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Neznámý', 'kindRoot' : 'Kořen média', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Složka', 'kindSelects' : 'Výběry', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Zlomený alias', // applications 'kindApp' : 'Aplikace', 'kindPostscript' : 'Dokument Postscriptu', 'kindMsOffice' : 'Dokument Microsoft Office', 'kindMsWord' : 'Dokument Microsoft Word', 'kindMsExcel' : 'Dokument Microsoft Excel', 'kindMsPP' : 'Prezentace Microsoft Powerpoint', 'kindOO' : 'Otevřít dokument Office', 'kindAppFlash' : 'Flash aplikace', 'kindPDF' : 'PDF', 'kindTorrent' : 'Soubor BitTorrent', 'kind7z' : 'Archív 7z', 'kindTAR' : 'Archív TAR', 'kindGZIP' : 'Archív GZIP', 'kindBZIP' : 'Archív BZIP', 'kindXZ' : 'Archív XZ', 'kindZIP' : 'Archív ZIP', 'kindRAR' : 'Archív RAR', 'kindJAR' : 'Soubor Java JAR', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM balíček', // texts 'kindText' : 'Textový dokument', 'kindTextPlain' : 'Čistý text', 'kindPHP' : 'PHP zdrojový kód', 'kindCSS' : 'Kaskádové styly', 'kindHTML' : 'HTML dokument', 'kindJS' : 'Javascript zdrojový kód', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C zdrojový kód', 'kindCHeader' : 'C hlavička', 'kindCPP' : 'C++ zdrojový kód', 'kindCPPHeader' : 'C++ hlavička', 'kindShell' : 'Unix shell skript', 'kindPython' : 'Python zdrojový kód', 'kindJava' : 'Java zdrojový kód', 'kindRuby' : 'Ruby zdrojový kód', 'kindPerl' : 'Perl skript', 'kindSQL' : 'SQL zdrojový kód', 'kindXML' : 'Dokument XML', 'kindAWK' : 'AWK zdrojový kód', 'kindCSV' : 'CSV', 'kindDOCBOOK' : 'Docbook XML dokument', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Obrázek', 'kindBMP' : 'Obrázek BMP', 'kindJPEG' : 'Obrázek JPEG', 'kindGIF' : 'Obrázek GIF', 'kindPNG' : 'Obrázek PNG', 'kindTIFF' : 'Obrázek TIFF', 'kindTGA' : 'Obrázek TGA', 'kindPSD' : 'Obrázek Adobe Photoshop', 'kindXBITMAP' : 'Obrázek X bitmapa', 'kindPXM' : 'Obrázek Pixelmator', // media 'kindAudio' : 'Audio sobory', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video sobory', 'kindVideoDV' : 'DV video', 'kindVideoMPEG' : 'MPEG video', 'kindVideoMPEG4' : 'MPEG-4 video', 'kindVideoAVI' : 'AVI video', 'kindVideoMOV' : 'Quick Time video', 'kindVideoWM' : 'Windows Media video', 'kindVideoFlash' : 'Flash video', 'kindVideoMKV' : 'Matroska video', 'kindVideoOGG' : 'Ogg video' } }; })); wp-file-manager/lib/js/i18n/elfinder.da.js000064400000100447151202472330014176 0ustar00/** * Danish translation * @author Mark Topper (webman.io) * @author Helmuth Mikkelsen * @version 2020-11-27 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.da = { translator : 'Mark Topper (webman.io), Helmuth Mikkelsen <helmuthm@gmail.com>', language : 'Danish', direction : 'ltr', dateFormat : 'd.m.Y H:i', // will show like: 27.11.2020 11:50 fancyDateFormat : '$1 H:i', // will show like: I dag 11:50 nonameDateFormat : 'Ymd-His', // noname upload will show like: 20201127-115006 messages : { /********************************** errors **********************************/ 'error' : 'Fejl', 'errUnknown' : 'Ukendt fejl.', 'errUnknownCmd' : 'Ukendt kommando.', 'errJqui' : 'Ugyldig jQuery UI-konfiguration. Valgbare, trækbare og dropbare komponenter skal medtages.', 'errNode' : 'elFinder kræver DOM Element oprettet.', 'errURL' : 'Ugyldig elFinder konfiguration! URL option er ikke sat.', 'errAccess' : 'Adgang nægtet.', 'errConnect' : 'Kan ikke få kontatkt med backend.', 'errAbort' : 'Forbindelse afbrudt.', 'errTimeout' : 'Forbindelse timeout.', 'errNotFound' : 'Backend ikke fundet.', 'errResponse' : 'Ugyldigt backend svar.', 'errConf' : 'Ugyldig backend konfiguration.', 'errJSON' : 'PHP JSON modul ikke installeret.', 'errNoVolumes' : 'Læsbare diskenheder er ikke tilgængelige.', 'errCmdParams' : 'Ugyldige parametre for kommando "$1".', 'errDataNotJSON' : 'Data er ikke JSON.', 'errDataEmpty' : 'Data er tom.', 'errCmdReq' : 'Backend-anmodning kræver kommandonavn.', 'errOpen' : 'Kunne ikke åbne "$1".', 'errNotFolder' : 'Objektet er ikke en mappe.', 'errNotFile' : 'Objektet er ikke en fil.', 'errRead' : 'Kunne ikke læse "$1".', 'errWrite' : 'Kunne ikke skrive til "$1".', 'errPerm' : 'Adgang nægtet.', 'errLocked' : '"$1" er låst og kan ikke blive omdøbt, flyttet eller slettet.', 'errExists' : 'Der findes allerede en fil ved navn "$1".', 'errInvName' : 'Ugyldigt filnavn.', 'errInvDirname' : 'Ugyldigt mappenavn.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Mappe ikke fundet.', 'errFileNotFound' : 'Fil ikke fundet.', 'errTrgFolderNotFound' : 'Mappen "$1" blev ikke fundet.', 'errPopup' : 'Browser forhindrede åbning af pop up-vindue. For at åbne filen skal du aktivere den i browserindstillinger.', 'errMkdir' : 'Kunne ikke oprette mappen "$1".', 'errMkfile' : 'Kunne ikke oprette filen "$1".', 'errRename' : 'Kunne ikke omdøbe "$1".', 'errCopyFrom' : 'Kopiering af filer fra diskenhed "$1" er ikke tilladt.', 'errCopyTo' : 'Kopiering af filer til diskenhed "$1" er ikke tilladt.', 'errMkOutLink' : 'Kan ikke oprette et link til uden for diskenhedsroden.', // from v2.1 added 03.10.2015 'errUpload' : 'Upload fejl.', // old name - errUploadCommon 'errUploadFile' : 'Kunne ikke uploade "$1".', // old name - errUpload 'errUploadNoFiles' : 'Ingen filer fundet til upload.', 'errUploadTotalSize' : 'Data overskrider den maksimalt tilladte størrelse.', // old name - errMaxSize 'errUploadFileSize' : 'Fil overskrider den maksimalt tilladte størrelse.', // old name - errFileMaxSize 'errUploadMime' : 'Filtype ikke godkendt.', 'errUploadTransfer' : '"$1" overførselsfejl.', 'errUploadTemp' : 'Kan ikke oprette midlertidig fil til upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Objekt "$1" findes allerede på dette sted og kan ikke erstattes af objekt med en anden type.', // new 'errReplace' : 'Kan ikke erstatte "$1".', 'errSave' : 'Kunne ikke gemme "$1".', 'errCopy' : 'Kunne ikke kopiere "$1".', 'errMove' : 'Kunne ikke flytte "$1".', 'errCopyInItself' : 'Kunne ikke kopiere "$1" til sig selv.', 'errRm' : 'Kunne ikke slette "$1".', 'errTrash' : 'Kan ikke komme i papirkurven.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Kunne ikke fjerne kildefil(er).', 'errExtract' : 'Kunne ikke udpakke filer fra "$1".', 'errArchive' : 'Kunne ikke oprette arkiv.', 'errArcType' : 'Arkivtypen er ikke understøttet.', 'errNoArchive' : 'Filen er ikke et arkiv eller har ien kke-understøttet arkivtype.', 'errCmdNoSupport' : 'Backend understøtter ikke denne kommando.', 'errReplByChild' : 'Mappen "$1" kan ikke erstattes af et element, den indeholder.', 'errArcSymlinks' : 'Af sikkerhedsmæssige årsager nægtes at udpakke arkiver der indeholder symlinks eller filer med ikke-tilladte navne.', // edited 24.06.2012 'errArcMaxSize' : 'Arkivfiler overskrider den maksimalt tilladte størrelse.', 'errResize' : 'Kunne ikke ændre størrelsen på "$1".', 'errResizeDegree' : 'Ugyldig rotationsgrad.', // added 7.3.2013 'errResizeRotate' : 'Kunne ikke rotere billedet.', // added 7.3.2013 'errResizeSize' : 'Ugyldig billedstørrelse.', // added 7.3.2013 'errResizeNoChange' : 'Billedstørrelse ikke ændret.', // added 7.3.2013 'errUsupportType' : 'Ikke-understøttet filtype.', 'errNotUTF8Content' : 'Filen "$1" er ikke i UTF-8 og kan ikke blive redigeret.', // added 9.11.2011 'errNetMount' : 'Kunne ikke mounte "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Ikke-understøttet protokol.', // added 17.04.2012 'errNetMountFailed' : 'Mount mislykkedes.', // added 17.04.2012 'errNetMountHostReq' : 'Værten kræves.', // added 18.04.2012 'errSessionExpires' : 'Din session er udløbet på grund af inaktivitet.', 'errCreatingTempDir' : 'Kunne ikke oprette midlertidig mappe: "$1"', 'errFtpDownloadFile' : 'Kunne ikke downloade filen fra FTP: "$1"', 'errFtpUploadFile' : 'Kunne ikke uploade filen til FTP: "$1"', 'errFtpMkdir' : 'Kunne ikke oprette fjernmappe på FTP: "$1"', 'errArchiveExec' : 'Fejl under arkivering af filer: "$1"', 'errExtractExec' : 'Fejl under udpakning af filer: "$1"', 'errNetUnMount' : 'Kan ikke unmounte.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Kan ikke konverteres til UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Prøv den nyeste browser, hvis du vil uploade mappen.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Time out under søgning på "$1". Søgeresultatet er delvis.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Re-autorisation er påkrævet.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Maksimalt antal valgbare emner er $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Kan ikke gendannes fra papirkurven. Kan ikke identificere gendannelsesdestinationen.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor blev ikke fundet til denne filtype.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Der opstod en fejl på serversiden.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Kunne ikke tømme mappen "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Der er $1 flere fejl.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Opret arkiv', 'cmdback' : 'Tilbage', 'cmdcopy' : 'Kopier', 'cmdcut' : 'Klip', 'cmddownload' : 'Download', 'cmdduplicate' : 'Dupliker', 'cmdedit' : 'Rediger fil', 'cmdextract' : 'Udpak filer fra arkiv', 'cmdforward' : 'Frem', 'cmdgetfile' : 'Vælg filer', 'cmdhelp' : 'Om denne software', 'cmdhome' : 'Hjem', 'cmdinfo' : 'Information', 'cmdmkdir' : 'Ny mappe', 'cmdmkdirin' : 'I en ny mappe', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Ny fil', 'cmdopen' : 'Åben', 'cmdpaste' : 'Indsæt', 'cmdquicklook' : 'Vis', 'cmdreload' : 'Genindlæs', 'cmdrename' : 'Omdøb', 'cmdrm' : 'Slet', 'cmdtrash' : 'I papirkurven', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Gendan', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Find filer', 'cmdup' : 'Gå til overordnet mappe', 'cmdupload' : 'Upload filer', 'cmdview' : 'Vis', 'cmdresize' : 'Tilpas størrelse & Roter', 'cmdsort' : 'Sorter', 'cmdnetmount' : 'Mount netværksdrev', // added 18.04.2012 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012 'cmdplaces' : 'Til steder', // added 28.12.2014 'cmdchmod' : 'Skift tilstand', // from v2.1 added 20.6.2015 'cmdopendir' : 'Åbn en mappe', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Nulstil søjlebredde', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Fuld skærm', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Flyt', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Tøm mappe', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Fortryd', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Gentag igen', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Præferencer', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Vælg alle', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Vælg ingen', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Inverter valg', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Åbn i nyt vindue', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Skjul (præference)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Luk', 'btnSave' : 'Gem', 'btnRm' : 'Slet', 'btnApply' : 'Anvend', 'btnCancel' : 'Annuler', 'btnNo' : 'Nej', 'btnYes' : 'Ja', 'btnMount' : 'Mount', // added 18.04.2012 'btnApprove': 'Gå til $1 & godkend', // from v2.1 added 26.04.2012 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Konverter', // from v2.1 added 08.04.2014 'btnCwd' : 'Her', // from v2.1 added 22.5.2015 'btnVolume' : 'Diskenhed', // from v2.1 added 22.5.2015 'btnAll' : 'Alle', // from v2.1 added 22.5.2015 'btnMime' : 'MIME-type', // from v2.1 added 22.5.2015 'btnFileName':'Filnavn', // from v2.1 added 22.5.2015 'btnSaveClose': 'Gem & Luk', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Omdøb', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Omdøb(Alle)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Forrige ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Næste ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Gem som', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Åben mappe', 'ntffile' : 'Åben fil', 'ntfreload' : 'Genindlæs mappeindhold', 'ntfmkdir' : 'Opretter mappe', 'ntfmkfile' : 'Opretter filer', 'ntfrm' : 'Sletter filer', 'ntfcopy' : 'Kopier filer', 'ntfmove' : 'Flytter filer', 'ntfprepare' : 'Kontrol af eksisterende emner', 'ntfrename' : 'Omdøb filer', 'ntfupload' : 'Uploader filer', 'ntfdownload' : 'Downloader filer', 'ntfsave' : 'Gemmer filer', 'ntfarchive' : 'Opretter arkiv', 'ntfextract' : 'Udpakker filer fra arkiv', 'ntfsearch' : 'Søger filer', 'ntfresize' : 'Ændring af størrelsen på billeder', 'ntfsmth' : 'Gør noget', 'ntfloadimg' : 'Henter billede', 'ntfnetmount' : 'Mounter netværksdrev', // added 18.04.2012 'ntfnetunmount': 'Unmounter netværksdrev', // from v2.1 added 30.04.2012 'ntfdim' : 'Henter billeddimension', // added 20.05.2013 'ntfreaddir' : 'Læser folderinfomation', // from v2.1 added 01.07.2013 'ntfurl' : 'Får URL til link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Ændring af filtilstand', // from v2.1 added 20.6.2015 'ntfpreupload': 'Bekræftelse af upload filnavn', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Oprettelse af en fil til download', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Få stiinformation', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Behandler den uploadede fil', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Smider i papirkurv', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Udfører gendannelse fra papirkurven', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Kontrollerer destinationsmappe', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Fortryder tidligere handling', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Gentager tidligere fortryd', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Kontrol af indhold', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Papirkurv', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'ukendt', 'Today' : 'I dag', 'Yesterday' : 'I går', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Maj', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'Januar', 'February' : 'Februar', 'March' : 'Marts', 'April' : 'April', 'May' : 'Maj', 'June' : 'Juni', 'July' : 'Juli', 'August' : 'August', 'September' : 'September', 'October' : 'Oktober', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Søndag', 'Monday' : 'Mandag', 'Tuesday' : 'Tirsdag', 'Wednesday' : 'Onsdag', 'Thursday' : 'Torsdag', 'Friday' : 'Fredag', 'Saturday' : 'Lørdag', 'Sun' : 'Søn', 'Mon' : 'Man', 'Tue' : 'Tir', 'Wed' : 'Ons', 'Thu' : 'Tor', 'Fri' : 'Fre', 'Sat' : 'Lør', /******************************** sort variants ********************************/ 'sortname' : 'efter navn', 'sortkind' : 'efter type', 'sortsize' : 'efter størrelse', 'sortdate' : 'efter dato', 'sortFoldersFirst' : 'Mapper først', 'sortperm' : 'efter tilladelse', // from v2.1.13 added 13.06.2016 'sortmode' : 'efter mode', // from v2.1.13 added 13.06.2016 'sortowner' : 'efter ejer', // from v2.1.13 added 13.06.2016 'sortgroup' : 'efter gruppe', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Også Treeview', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NyFil.txt', // added 10.11.2015 'untitled folder' : 'NyFolder', // added 10.11.2015 'Archive' : 'NytArkiv', // from v2.1 added 10.11.2015 'untitled file' : 'NyFil.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: Fil', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Bekræftelse påkrævet', 'confirmRm' : 'Er du sikker på du vil slette valgte filer?
                      Dette kan ikke fortrydes!', 'confirmRepl' : 'Erstat gammel fil med ny fil?', 'confirmRest' : 'Erstat eksisterende element med elementet i papirkurven?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Ikke i UTF-8
                      Konverter til UTF-8?
                      Indholdet bliver UTF-8 ved at gemme efter konvertering.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Tegnkodning af denne fil kunne ikke registreres. Det er nødvendigt at konvertere midlertidigt til UTF-8 til redigering.
                      Vælg tegnkodning af denne fil.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Det er blevet ændret.
                      Du mister arbejde, hvis du ikke gemmer ændringer.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Er du sikker på, at du vil flytte emner til papirkurven?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Er du sikker på, at du vil flytte emner til "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Anvend ved alle', 'name' : 'Navn', 'size' : 'Størrelse', 'perms' : 'Rettigheder', 'modify' : 'Ændret', 'kind' : 'Type', 'read' : 'læse', 'write' : 'skrive', 'noaccess' : 'ingen adgang', 'and' : 'og', 'unknown' : 'ukendt', 'selectall' : 'Vælg alle filer', 'selectfiles' : 'Vælg fil(er)', 'selectffile' : 'Vælg første fil', 'selectlfile' : 'Vælg sidste fil', 'viewlist' : 'Listevisning', 'viewicons' : 'Ikonvisning', 'viewSmall' : 'Små ikoner', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Medium ikoner', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Store ikoner', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Ekstra store ikoner', // from v2.1.39 added 22.5.2018 'places' : 'Placeringer', 'calc' : 'Beregn', 'path' : 'Sti', 'aliasfor' : 'Alias for', 'locked' : 'Låst', 'dim' : 'Størrelser', 'files' : 'Filer', 'folders' : 'Mapper', 'items' : 'Emner', 'yes' : 'ja', 'no' : 'nej', 'link' : 'Link', 'searcresult' : 'Søgeresultater', 'selected' : 'valgte emner', 'about' : 'Om', 'shortcuts' : 'Genveje', 'help' : 'Hjælp', 'webfm' : 'Internet filmanager', 'ver' : 'Version', 'protocolver' : 'protokol version', 'homepage' : 'Projektside', 'docs' : 'Dokumentation', 'github' : 'Fork os på Github', 'twitter' : 'Følg os på Twitter', 'facebook' : 'Følg os på Facebook', 'team' : 'Hold', 'chiefdev' : 'hovedudvikler', 'developer' : 'udvikler', 'contributor' : 'bidragyder', 'maintainer' : 'vedligeholder', 'translator' : 'oversætter', 'icons' : 'Ikoner', 'dontforget' : 'og glem ikke at tage dit håndklæde', 'shortcutsof' : 'Gemveje deaktiveret', 'dropFiles' : 'Drop filer hertil', 'or' : 'eller', 'selectForUpload' : 'Vælg filer', 'moveFiles' : 'Flyt filer', 'copyFiles' : 'Kopier filer', 'restoreFiles' : 'Gendan emner', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Slet fra placering', 'aspectRatio' : 'Skærmformat', 'scale' : 'Skala', 'width' : 'Bredde', 'height' : 'Højde', 'resize' : 'Tilpas størrelse', 'crop' : 'Beskær', 'rotate' : 'Roter', 'rotate-cw' : 'Roter 90 grader med uret', 'rotate-ccw' : 'Roter 90 grader mod uret', 'degree' : 'Grader', 'netMountDialogTitle' : 'Mount netwærkdrev', // added 18.04.2012 'protocol' : 'Protokol', // added 18.04.2012 'host' : 'Vært', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Bruger', // added 18.04.2012 'pass' : 'Kodeord', // added 18.04.2012 'confirmUnmount' : 'Unmounter du $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Slip eller indsæt filer fra browseren', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Slip filer, indsæt webadresser eller billeder (udklipsholder) her', // from v2.1 added 07.04.2014 'encoding' : 'Encoding', // from v2.1 added 19.12.2014 'locale' : 'Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Søg efter input MIME-type', // from v2.1 added 22.5.2015 'owner' : 'Ejer', // from v2.1 added 20.6.2015 'group' : 'Gruppe', // from v2.1 added 20.6.2015 'other' : 'Andet', // from v2.1 added 20.6.2015 'execute' : 'Udfør', // from v2.1 added 20.6.2015 'perm' : 'Tilladelse', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'Mappe er tom', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Mappe er tom\\A Drop for at tilføje enmer', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Mappen er tom\\A Langt tryk for at tilføje emner', // from v2.1.6 added 30.12.2015 'quality' : 'Kvalitet', // from v2.1.6 added 5.1.2016 'autoSync' : 'Autosync', // from v2.1.6 added 10.1.2016 'moveUp' : 'Flyt op', // from v2.1.6 added 18.1.2016 'getLink' : 'Hent URL-link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Valgte emner ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Folder-ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Tillad offline adgang', // from v2.1.10 added 3.25.2016 'reAuth' : 'For at godkende igen', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Indlæser nu...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Åben flere filer', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Du prøver at åbne $1-filerne. Er du sikker på, at du vil åbne i browseren?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Søgeresultaterne er tomme i søgemålet.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Redigerer en fil.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Du har valgt $1 emner.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Du har $1 emner i udklipsholder.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Inkrementel søgning er kun fra den aktuelle visning.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Genindsæt', // from v2.1.15 added 3.8.2016 'complete' : '$1 færdig', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Kontekstmenu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Sidevending', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Diskenheds rødder', // from v2.1.16 added 16.9.2016 'reset' : 'Nulstil', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Baggrundsfarve', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Farvevælger', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px grid', // from v2.1.16 added 4.10.2016 'enabled' : 'Aktiveret', // from v2.1.16 added 4.10.2016 'disabled' : 'Deaktiveret', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Søgeresultaterne er tomme i den aktuelle visning.\\ATryk på [Enter] for at udvide søgemålet.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Førstebogstavs søgeresultater er tomme i den aktuelle visning.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Tekstlabel', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 minutter tilbage', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Åbn igen med valgt encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Gem med valgt encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Vælg mappe', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Førstebogstavs søgning', // from v2.1.23 added 24.3.2017 'presets' : 'Forudindstillinger', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Det er for mange emner, så det kan ikke komme i papirkurven.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Tøm mappen "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Der er ingen emner i mappen "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Præference', // from v2.1.26 added 28.6.2017 'language' : 'Sprog', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialiser de indstillinger, der er gemt i denne browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Værktøjslinjens indstillinger', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 tegn tilbage.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 linjer tilbage.', // from v2.1.52 added 16.1.2020 'sum' : 'Sum', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Omtrentlig filstørrelse', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Fokuser på elementet i dialog med musemarkering', // from v2.1.30 added 2.11.2017 'select' : 'Vælg', // from v2.1.30 added 23.11.2017 'selectAction' : 'Handling, når du vælger fil', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Åbn med den editor, der blev brugt sidst', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Inverter valg', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Er du sikker på, at du vil omdøbe $1 valgte emner som $2?
                      Dette kan ikke fortrydes!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch omdøbning', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Tal', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Tilføj prefix', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Tilføj suffix', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Skift filendelse', // from v2.1.31 added 8.12.2017 'columnPref' : 'Kolonneindstillinger (listevisning)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Alle ændringer påvirker straks arkivet.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Eventuelle ændringer gennemføres ikke, før denne enhed fjernes.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Følgende disk(e) mounted på denne enhed unmountes også. Er du sikker på at unmounte den?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Valg info', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algoritmer, der viser filens hash', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info-emner (panelet til valg af info)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Tryk igen for at afslutte.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Værktøjslinje', // from v2.1.38 added 4.4.2018 'workspace' : 'Arbejdsområde', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'Alle', // from v2.1.38 added 4.4.2018 'iconSize' : 'Ikonstørrelse (ikonvisning)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Åbn det maksimerede editorvindue', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Da konvertering via API ikke er tilgængelig i øjeblikket, bedes du konvertere på webstedet.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Efter konvertering skal du uploade med elementets URL eller en downloadet fil for at gemme den konverterede fil.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Konverter på stedet på $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrationer', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Denne elFinder har følgende eksterne tjenester integreret. Kontroller venligst vilkårene for brug, fortrolighedspolitik osv. inden du bruger det.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Vis skjulte emner', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Skjul skjulte emner', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Vis / Skjul skjulte emner', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Filtyper, der skal aktiveres med "Ny fil"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type af tekstfilen', // from v2.1.41 added 7.8.2018 'add' : 'Tilføj', // from v2.1.41 added 7.8.2018 'theme' : 'Tema', // from v2.1.43 added 19.10.2018 'default' : 'Standard', // from v2.1.43 added 19.10.2018 'description' : 'Beskrivelse', // from v2.1.43 added 19.10.2018 'website' : 'Hjemmeside', // from v2.1.43 added 19.10.2018 'author' : 'Forfatter', // from v2.1.43 added 19.10.2018 'email' : 'Mail', // from v2.1.43 added 19.10.2018 'license' : 'Licens', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Dette element kan ikke gemmes. For at undgå at miste redigeringerne skal du eksportere til din pc.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Dobbeltklik på filen for at vælge den.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Brug fuldskærmstilstand', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Ukendt', 'kindRoot' : 'Diskenheds rod', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Mappe', 'kindSelects' : 'Valg', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Ødelagt alias', // applications 'kindApp' : 'Applikation', 'kindPostscript' : 'Postscript dokument', 'kindMsOffice' : 'Microsoft Office dokument', 'kindMsWord' : 'Microsoft Word dokument', 'kindMsExcel' : 'Microsoft Excel dokument', 'kindMsPP' : 'Microsoft Powerpoint præsentation', 'kindOO' : 'Open Office dokument', 'kindAppFlash' : 'Flash applikation', 'kindPDF' : 'Flytbart Dokument Format (PDF)', 'kindTorrent' : 'Bittorrent fil', 'kind7z' : '7z arkiv', 'kindTAR' : 'TAR arkiv', 'kindGZIP' : 'GZIP arkiv', 'kindBZIP' : 'BZIP arkiv', 'kindXZ' : 'XZ arkiv', 'kindZIP' : 'ZIP arkiv', 'kindRAR' : 'RAR arkiv', 'kindJAR' : 'Java JAR fil', 'kindTTF' : 'True Type skrift', 'kindOTF' : 'Open Type skrift', 'kindRPM' : 'RPM pakke', // texts 'kindText' : 'Tekstdokument', 'kindTextPlain' : 'Ren tekst', 'kindPHP' : 'PHP-kode', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML-dokument', 'kindJS' : 'Javascript-kode', 'kindRTF' : 'Rich Text Format', 'kindC' : 'Ckkode', 'kindCHeader' : 'C header-kode', 'kindCPP' : 'C++-kode', 'kindCPPHeader' : 'C++ header-kode', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python-kode', 'kindJava' : 'Java-kode', 'kindRuby' : 'Ruby-kode', 'kindPerl' : 'Perlscript', 'kindSQL' : 'SQ- kode', 'kindXML' : 'XML-dokument', 'kindAWK' : 'AWK-kode', 'kindCSV' : 'Komma seperarede værdier', 'kindDOCBOOK' : 'Docbook XML-dokument', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Billede', 'kindBMP' : 'BMP-billede', 'kindJPEG' : 'JPEG-billede', 'kindGIF' : 'GIF-billede', 'kindPNG' : 'PNG-billede', 'kindTIFF' : 'TIFF-billede', 'kindTGA' : 'TGA-billede', 'kindPSD' : 'Adobe Photoshop-billede', 'kindXBITMAP' : 'X bitmap-billede', 'kindPXM' : 'Pixelmator-billede', // media 'kindAudio' : 'Lydmedie', 'kindAudioMPEG' : 'MPEG-lyd', 'kindAudioMPEG4' : 'MPEG-4-lyd', 'kindAudioMIDI' : 'MIDI-lyd', 'kindAudioOGG' : 'Ogg Vorbis-lyd', 'kindAudioWAV' : 'WAV-lyd', 'AudioPlaylist' : 'MP3-spilleliste', 'kindVideo' : 'Videomedie', 'kindVideoDV' : 'DV-video', 'kindVideoMPEG' : 'MPEG-video', 'kindVideoMPEG4' : 'MPEG-4-video', 'kindVideoAVI' : 'AVI-video', 'kindVideoMOV' : 'Quick Time-video', 'kindVideoWM' : 'Windows Media-video', 'kindVideoFlash' : 'Flash-video', 'kindVideoMKV' : 'Matroska-video', 'kindVideoOGG' : 'Ogg-video' } }; })); wp-file-manager/lib/js/i18n/elfinder.de.js000064400000103274151202472330014203 0ustar00/** * German Translation / Deutsche Übersetzung * @author JPG & Mace * @author tora60 from pragmaMx.org * @author Timo-Linde * @author OSWorX * @author Maximilian Schwarz * @author SF Webdesign * @version 2019-12-13 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.de = { translator : 'JPG & Mace <dev@flying-datacenter.de>, tora60 from pragmaMx.org, Timo-Linde <info@timo-linde.de>, OSWorX <info@osworx.net>, Maximilian Schwarz <info@deefuse.de>, SF Webdesign <webdesign@stephan-frank.de>', language : 'Deutsch', direction : 'ltr', dateFormat : 'j. F Y H:i', // 3. März 2020 14:58 fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM nonameDateFormat : 'ymd-His', // to apply if upload file is noname: 120513172700 messages : { /********************************** errors **********************************/ 'error' : 'Fehler', 'errUnknown' : 'Unbekannter Fehler.', 'errUnknownCmd' : 'Unbekannter Befehl.', 'errJqui' : 'Ungültige jQuery UI-Konfiguration. Die Komponenten Selectable, Draggable und Droppable müssen inkludiert sein.', 'errNode' : 'Für elFinder muss das DOM-Element erstellt werden.', 'errURL' : 'Ungültige elFinder-Konfiguration! Die URL-Option ist nicht gesetzt.', 'errAccess' : 'Zugriff verweigert.', 'errConnect' : 'Verbindung zum Backend fehlgeschlagen.', 'errAbort' : 'Verbindung abgebrochen.', 'errTimeout' : 'Zeitüberschreitung der Verbindung.', 'errNotFound' : 'Backend nicht gefunden.', 'errResponse' : 'Ungültige Backend-Antwort.', 'errConf' : 'Ungültige Backend-Konfiguration.', 'errJSON' : 'PHP JSON-Modul nicht vorhanden.', 'errNoVolumes' : 'Keine lesbaren Laufwerke vorhanden.', 'errCmdParams' : 'Ungültige Parameter für Befehl: "$1".', 'errDataNotJSON' : 'Daten nicht im JSON-Format.', 'errDataEmpty' : 'Daten sind leer.', 'errCmdReq' : 'Backend-Anfrage benötigt Befehl.', 'errOpen' : 'Kann "$1" nicht öffnen.', 'errNotFolder' : 'Objekt ist kein Ordner.', 'errNotFile' : 'Objekt ist keine Datei.', 'errRead' : 'Kann "$1" nicht öffnen.', 'errWrite' : 'Kann nicht in "$1" schreiben.', 'errPerm' : 'Zugriff verweigert.', 'errLocked' : '"$1" ist gesperrt und kann nicht umbenannt, verschoben oder gelöscht werden.', 'errExists' : 'Die Datei "$1" existiert bereits.', 'errInvName' : 'Ungültiger Dateiname.', 'errInvDirname' : 'Ungültiger Ordnername.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Ordner nicht gefunden.', 'errFileNotFound' : 'Datei nicht gefunden.', 'errTrgFolderNotFound' : 'Zielordner "$1" nicht gefunden.', 'errPopup' : 'Der Browser hat das Pop-Up-Fenster unterbunden. Um die Datei zu öffnen, Pop-Ups in den Browsereinstellungen aktivieren.', 'errMkdir' : 'Kann Ordner "$1" nicht erstellen.', 'errMkfile' : 'Kann Datei "$1" nicht erstellen.', 'errRename' : 'Kann "$1" nicht umbenennen.', 'errCopyFrom' : 'Kopieren von Dateien von "$1" nicht erlaubt.', 'errCopyTo' : 'Kopieren von Dateien nach "$1" nicht erlaubt.', 'errMkOutLink' : 'Der Link kann nicht außerhalb der Partition führen.', // from v2.1 added 03.10.2015 'errUpload' : 'Upload-Fehler.', // old name - errUploadCommon 'errUploadFile' : 'Kann "$1" nicht hochladen.', // old name - errUpload 'errUploadNoFiles' : 'Keine Dateien zum Hochladen gefunden.', 'errUploadTotalSize' : 'Gesamtgröße überschreitet die Maximalgröße.', // old name - errMaxSize 'errUploadFileSize' : 'Die Datei überschreitet die Maximalgröße.', // old name - errFileMaxSize 'errUploadMime' : 'Dateiart (mime) nicht zulässig.', 'errUploadTransfer' : '"$1" Übertragungsfehler.', 'errUploadTemp' : 'Kann temporäre Datei nicht erstellen.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Das Objekt "$1" existiert bereits an dieser Stelle und kann nicht durch ein Objekt eines anderen Typs ersetzt werden.', // new 'errReplace' : 'Kann "$1" nicht ersetzen.', 'errSave' : 'Kann "$1" nicht speichern.', 'errCopy' : 'Kann "$1" nicht kopieren.', 'errMove' : 'Kann "$1" nicht verschieben.', 'errCopyInItself' : '"$1" kann sich nicht in sich selbst kopieren.', 'errRm' : 'Kann "$1" nicht entfernen.', 'errTrash' : 'Kann Objekt nicht in Mülleimer legen.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Kann Quelldatei(en) nicht entfernen.', 'errExtract' : 'Kann "$1" nicht entpacken.', 'errArchive' : 'Archiv konnte nicht erstellt werden.', 'errArcType' : 'Archivtyp nicht untersützt.', 'errNoArchive' : 'Bei der Datei handelt es sich nicht um ein Archiv, oder die Archivart wird nicht unterstützt.', 'errCmdNoSupport' : 'Das Backend unterstützt diesen Befehl nicht.', 'errReplByChild' : 'Der Ordner "$1" kann nicht durch etwas ersetzt werden, das ihn selbst enthält.', 'errArcSymlinks' : 'Aus Sicherheitsgründen ist es verboten, ein Archiv mit symbolischen Links zu extrahieren.', // edited 24.06.2012 'errArcMaxSize' : 'Die Archivdateien übersteigen die maximal erlaubte Größe.', 'errResize' : 'Größe von "$1" kann nicht geändert werden.', 'errResizeDegree' : 'Ungültiger Rotationswert.', // added 7.3.2013 'errResizeRotate' : 'Bild konnte nicht gedreht werden.', // added 7.3.2013 'errResizeSize' : 'Ungültige Bildgröße.', // added 7.3.2013 'errResizeNoChange' : 'Bildmaße nicht geändert.', // added 7.3.2013 'errUsupportType' : 'Nicht unterstützte Dateiart.', 'errNotUTF8Content' : 'Die Datei "$1" ist nicht im UTF-8-Format und kann nicht bearbeitet werden.', // added 9.11.2011 'errNetMount' : 'Verbindung mit "$1" nicht möglich.', // added 17.04.2012 'errNetMountNoDriver' : 'Nicht unterstütztes Protokoll.', // added 17.04.2012 'errNetMountFailed' : 'Verbindung fehlgeschlagen.', // added 17.04.2012 'errNetMountHostReq' : 'Host benötigt.', // added 18.04.2012 'errSessionExpires' : 'Diese Sitzung ist aufgrund von Inaktivität abgelaufen.', 'errCreatingTempDir' : 'Erstellung des temporären Ordners nicht möglich: "$1"', 'errFtpDownloadFile' : 'Download der Datei über FTP nicht möglich: "$1"', 'errFtpUploadFile' : 'Upload der Datei zu FTP nicht möglich: "$1"', 'errFtpMkdir' : 'Erstellung des Remote-Ordners mit FTP nicht möglich: "$1"', 'errArchiveExec' : 'Fehler beim Archivieren der Dateien: "$1"', 'errExtractExec' : 'Fehler beim Extrahieren der Dateien: "$1"', 'errNetUnMount' : 'Kann nicht ausgehängt werden.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Kann nicht zu UTF-8 konvertiert werden.', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Ordner kann nich hochladen werden, eventuell mit Google Chrome versuchen.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Zeitüberschreitung während der Suche nach "$1". Suchergebnis ist unvollständig.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Erneutes Anmelden ist erforderlich.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Die maximale Anzahl auswählbarer Elemente ist $1', // from v2.1.17 added 17.10.2016 'errRestore' : 'Datei konnte nicht aus Mülleimer wieder hergestellt werden bzw. Ziel für Wiederherstellung nicht gefunden.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Kein Editor für diesen Dateityp gefunden.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Ein serverseitiger Fehler trat auf.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Konnte Ordner "$1" nicht Leeren.', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Es sind noch $1 weitere Fehler.', // from v2.1.44 added 13.12.2019 /******************************* commands names ********************************/ 'cmdarchive' : 'Archiv erstellen', 'cmdback' : 'Zurück', 'cmdcopy' : 'Kopieren', 'cmdcut' : 'Ausschneiden', 'cmddownload' : 'Herunterladen', 'cmdduplicate' : 'Duplizieren', 'cmdedit' : 'Datei bearbeiten', 'cmdextract' : 'Archiv entpacken', 'cmdforward' : 'Vorwärts', 'cmdgetfile' : 'Datei auswählen', 'cmdhelp' : 'Über diese Software', 'cmdhome' : 'Startordner', 'cmdinfo' : 'Informationen', 'cmdmkdir' : 'Neuer Ordner', 'cmdmkdirin' : 'In neuen Ordner', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Neuer Datei', 'cmdopen' : 'Öffnen', 'cmdpaste' : 'Einfügen', 'cmdquicklook' : 'Vorschau', 'cmdreload' : 'Aktualisieren', 'cmdrename' : 'Umbenennen', 'cmdrm' : 'Löschen', 'cmdtrash' : 'In den Mülleimer legen', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Wiederherstellen', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Suchen', 'cmdup' : 'In übergeordneten Ordner wechseln', 'cmdupload' : 'Datei hochladen', 'cmdview' : 'Ansehen', 'cmdresize' : 'Größe ändern & drehen', 'cmdsort' : 'Sortieren', 'cmdnetmount' : 'Verbinde mit Netzwerkspeicher', // added 18.04.2012 'cmdnetunmount': 'Abhängen', // from v2.1 added 30.04.2012 'cmdplaces' : 'Favoriten', // added 28.12.2014 'cmdchmod' : 'Berechtigung ändern', // from v2.1 added 20.6.2015 'cmdopendir' : 'Einen Ordner öffnen', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Spaltenbreite zurücksetzen', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Vollbild', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Verschieben', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Ordner Leeren', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Rückgängig', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Wiederholen', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Einstellungen', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Alle auswählen', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Keine auswählen', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Auswahl rückgängig machen', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'In neuem Fenster öffnen', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Verstecken', // from v2.1.41 added 13.12.2019 /*********************************** buttons ***********************************/ 'btnClose' : 'Schließen', 'btnSave' : 'Speichern', 'btnRm' : 'Entfernen', 'btnApply' : 'Anwenden', 'btnCancel' : 'Abbrechen', 'btnNo' : 'Nein', 'btnYes' : 'Ja', 'btnMount' : 'Verbinden', // added 18.04.2012 'btnApprove': 'Gehe zu $1 und genehmige', // from v2.1 added 26.04.2012 'btnUnmount': 'Auswerfen', // from v2.1 added 30.04.2012 'btnConv' : 'Konvertieren', // from v2.1 added 08.04.2014 'btnCwd' : 'Arbeitspfad', // from v2.1 added 22.5.2015 'btnVolume' : 'Partition', // from v2.1 added 22.5.2015 'btnAll' : 'Alle', // from v2.1 added 22.5.2015 'btnMime' : 'MIME-Typ', // from v2.1 added 22.5.2015 'btnFileName':'Dateiname', // from v2.1 added 22.5.2015 'btnSaveClose': 'Speichern & Schließen', // from v2.1 added 12.6.2015 'btnBackup' : 'Sicherung', // fromv2.1 added 28.11.2015 'btnRename' : 'Umbenennen', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Alle Umbenennen', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Zurück ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Weiter ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Speichern als', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Öffne Ordner', 'ntffile' : 'Öffne Datei', 'ntfreload' : 'Ordnerinhalt neu', 'ntfmkdir' : 'Erstelle Ordner', 'ntfmkfile' : 'Erstelle Dateien', 'ntfrm' : 'Lösche Dateien', 'ntfcopy' : 'Kopiere Dateien', 'ntfmove' : 'Verschiebe Dateien', 'ntfprepare' : 'Kopiervorgang initialisieren', 'ntfrename' : 'Benenne Dateien um', 'ntfupload' : 'Dateien hochladen', 'ntfdownload' : 'Dateien herunterladen', 'ntfsave' : 'Speichere Datei', 'ntfarchive' : 'Erstelle Archiv', 'ntfextract' : 'Entpacke Dateien', 'ntfsearch' : 'Suche', 'ntfresize' : 'Bildgrößen ändern', 'ntfsmth' : 'Bin beschäftigt ..', 'ntfloadimg' : 'Lade Bild ..', 'ntfnetmount' : 'Mit Netzwerkspeicher verbinden', // added 18.04.2012 'ntfnetunmount': 'Netzwerkspeicher auswerfen', // from v2.1 added 30.04.2012 'ntfdim' : 'Bildgröße erfassen', // added 20.05.2013 'ntfreaddir' : 'Lese Ordnerinformationen', // from v2.1 added 01.07.2013 'ntfurl' : 'Hole URL von Link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Ändere Dateiberechtigungen', // from v2.1 added 20.6.2015 'ntfpreupload': 'Upload-Dateinamen überprüfen', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Erstelle Datei zum Download', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Beziehe Pfad Informationen', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Upload läuft', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Bewege in den Mülleimer', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Wiederherstellung aus Mülleimer', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Prüfe Zielordner', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Vorherige Operation rückgängig machen', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Wiederherstellen', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Überprüfe Inhalte', // from v2.1.41 added 13.12.2019 /*********************************** volumes *********************************/ 'volume_Trash' : 'Mülleimer', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'unbekannt', 'Today' : 'Heute', 'Yesterday' : 'Gestern', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mär', 'msApr' : 'Apr', 'msMay' : 'Mai', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Dez', 'January' : 'Januar', 'February' : 'Februar', 'March' : 'März', 'April' : 'April', 'May' : 'Mai', 'June' : 'Juni', 'July' : 'Juli', 'August' : 'August', 'September' : 'September', 'October' : 'Oktober', 'November' : 'November', 'December' : 'Dezember', 'Sunday' : 'Sonntag', 'Monday' : 'Montag', 'Tuesday' : 'Dienstag', 'Wednesday' : 'Mittwoch', 'Thursday' : 'Donnerstag', 'Friday' : 'Freitag', 'Saturday' : 'Samstag', 'Sun' : 'So', 'Mon' : 'Mo', 'Tue' : 'Di', 'Wed' : 'Mi', 'Thu' : 'Do', 'Fri' : 'Fr', 'Sat' : 'Sa', /******************************** sort variants ********************************/ 'sortname' : 'nach Name', 'sortkind' : 'nach Art', 'sortsize' : 'nach Größe', 'sortdate' : 'nach Datum', 'sortFoldersFirst' : 'Ordner zuerst', 'sortperm' : 'nach Berechtigung', // from v2.1.13 added 13.06.2016 'sortmode' : 'nach Modus', // from v2.1.13 added 13.06.2016 'sortowner' : 'nach Besitzer', // from v2.1.13 added 13.06.2016 'sortgroup' : 'nach Gruppe', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'auch Baumansicht', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'Neues Textdokument (.txt)', // added 10.11.2015 'untitled folder' : 'Neuer Ordner', // added 10.11.2015 'Archive' : 'Neues Archiv', // from v2.1 added 10.11.2015 'untitled file' : 'Neue Datei $1', // from v2.1.41 added 13.12.2019 'extentionfile' : '$1: Datei', // from v2.1.41 added 13.12.2019 'extentiontype' : '$1: $2', // from v2.1.43 added 13.12.2018 /********************************** messages **********************************/ 'confirmReq' : 'Bestätigung benötigt', 'confirmRm' : 'Sollen die Dateien gelöscht werden?
                      Vorgang ist endgültig!', 'confirmRepl' : 'Datei ersetzen?', 'confirmRest' : 'Vorhandenes Element durch das Element aus Mülleimer ersetzen?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Nicht UTF-8 kodiert
                      Zu UTF-8 konvertieren?
                      Inhalte werden zu UTF-8 konvertiert bei Speicherung.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Die Zeichencodierung dieser Datei konnte nicht erkannt werden. Es muss vorübergehend in UTF-8 zur Bearbeitung konvertiert werden.
                      Bitte eine Zeichenkodierung dieser Datei auswählen.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Die Datei wurde geändert.
                      Änderungen gehen verloren wenn nicht gespeichert wird.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Sicher diese Elemente in den Mülleimer verschieben?', // from v2.1.24 added 29.4.2017 'confirmMove' : 'Sicher alle Elemente nach "$1" verschieben?', // from v2.1.50 added 13.12.2019 'apllyAll' : 'Alles bestätigen', 'name' : 'Name', 'size' : 'Größe', 'perms' : 'Berechtigungen', 'modify' : 'Geändert', 'kind' : 'Typ', 'read' : 'Lesen', 'write' : 'Schreiben', 'noaccess' : 'Kein Zugriff', 'and' : 'und', 'unknown' : 'unbekannt', 'selectall' : 'Alle Dateien auswählen', 'selectfiles' : 'Dateien auswählen', 'selectffile' : 'Erste Datei auswählen', 'selectlfile' : 'Letzte Datei auswählen', 'viewlist' : 'Spaltenansicht', 'viewicons' : 'Symbolansicht', 'viewSmall' : 'Kleine Icons', // from v2.1.39 added 13.12.2019 'viewMedium' : 'Medium Icons', // from v2.1.39 added 13.12.2019 'viewLarge' : 'Große Icons', // from v2.1.39 added 13.12.2019 'viewExtraLarge' : 'Extragroße Icons', // from v2.1.39 added 13.12.2019 'places' : 'Favoriten', 'calc' : 'Berechne', 'path' : 'Pfad', 'aliasfor' : 'Verknüpfung zu', 'locked' : 'Gesperrt', 'dim' : 'Bildgröße', 'files' : 'Dateien', 'folders' : 'Ordner', 'items' : 'Objekte', 'yes' : 'ja', 'no' : 'nein', 'link' : 'Link', 'searcresult' : 'Suchergebnisse', 'selected' : 'Objekte ausgewählt', 'about' : 'Über', 'shortcuts' : 'Tastenkombinationen', 'help' : 'Hilfe', 'webfm' : 'Web-Dateiverwaltung', 'ver' : 'Version', 'protocolver' : 'Protokoll-Version', 'homepage' : 'Projekt-Webseite', 'docs' : 'Dokumentation', 'github' : 'Forke uns auf Github', 'twitter' : 'Folge uns auf twitter', 'facebook' : 'Begleite uns auf facebook', 'team' : 'Team', 'chiefdev' : 'Chefentwickler', 'developer' : 'Entwickler', 'contributor' : 'Unterstützer', 'maintainer' : 'Maintainer', 'translator' : 'Übersetzer', 'icons' : 'Icons', 'dontforget' : 'und vergiss nicht .. morgen ist auch noch ein Tag ..', 'shortcutsof' : 'Tastenkombinationen deaktiviert', 'dropFiles' : 'Dateien hier ablegen', 'or' : 'oder', 'selectForUpload' : 'Dateien zum Upload auswählen', 'moveFiles' : 'Dateien verschieben', 'copyFiles' : 'Dateien kopieren', 'restoreFiles' : 'Elemente wiederherstellen', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Lösche von Favoriten', 'aspectRatio' : 'Seitenverhältnis', 'scale' : 'Maßstab', 'width' : 'Breite', 'height' : 'Höhe', 'resize' : 'Größe ändern', 'crop' : 'Zuschneiden', 'rotate' : 'Drehen', 'rotate-cw' : 'Drehe 90° im Uhrzeigersinn', 'rotate-ccw' : 'Drehe 90° gegen Uhrzeigersinn', 'degree' : '°', 'netMountDialogTitle' : 'verbinde Netzwerkspeicher', // added 18.04.2012 'protocol' : 'Protokoll', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Benutzer', // added 18.04.2012 'pass' : 'Passwort', // added 18.04.2012 'confirmUnmount' : 'Soll "$1" ausgehängt werden', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Dateien in den Browser ziehen', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Dateien hier loslassen', // from v2.1 added 07.04.2014 'encoding' : 'Kodierung', // from v2.1 added 19.12.2014 'locale' : 'Lokal', // from v2.1 added 19.12.2014 'searchTarget' : 'Ziel: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Suche nach MIME-Typ', // from v2.1 added 22.5.2015 'owner' : 'Besitzer', // from v2.1 added 20.6.2015 'group' : 'Gruppe', // from v2.1 added 20.6.2015 'other' : 'Andere', // from v2.1 added 20.6.2015 'execute' : 'Ausführen', // from v2.1 added 20.6.2015 'perm' : 'Berechtigung', // from v2.1 added 20.6.2015 'mode' : 'Modus', // from v2.1 added 20.6.2015 'emptyFolder' : 'Der Ordner ist leer', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Der Ordner ist leer\\A Elemente durch Ziehen hinzufügen', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Der Ordner ist leer\\A Elemente durch langes Tippen hinzufügen', // from v2.1.6 added 30.12.2015 'quality' : 'Qualität', // from v2.1.6 added 5.1.2016 'autoSync' : 'Automatische Synchronisation', // from v2.1.6 added 10.1.2016 'moveUp' : 'Nach oben bewegen', // from v2.1.6 added 18.1.2016 'getLink' : 'URL-Link holen', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Ausgewählte Objekte ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Ordner-ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Offline-Zugriff erlauben', // from v2.1.10 added 3.25.2016 'reAuth' : 'Erneut anmelden', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Wird geladen...', // from v2.1.12 added 4.26.2016 'openMulti' : 'mehrere Dateien öffnen', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Es wird versucht die $1 Dateien zu öffnen .. sicher im Browser öffnen?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Kein Suchergebnis', // from v2.1.12 added 5.16.2016 'editingFile' : 'Datei wird bearbeitet.', // from v2.1.13 added 6.3.2016 'hasSelected' : '$1 Objekt(e) ausgewählt.', // from v2.1.13 added 6.3.2016 'hasClipboard' : '$1 Objekte im Clipboard.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Inkrementelle Suche bezieht sich nur auf die aktuelle Ansicht.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Wiederherstellen', // from v2.1.15 added 3.8.2016 'complete' : '$1 abgeschlossen', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Kontextmenü', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Seite umblättern', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume-Rootverzeichnisse', // from v2.1.16 added 16.9.2016 'reset' : 'Neustart', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Hintergrund Farbe', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Farbauswahl', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Raster', // from v2.1.16 added 4.10.2016 'enabled' : 'Ein', // from v2.1.16 added 4.10.2016 'disabled' : 'Aus', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Keine Ergebnisse in der aktuellen Anzeige', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Die Ergebnisse der ersten Buchstabensuche sind in der aktuellen Ansicht leer.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Text Bezeichnung', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 Minuten übrig', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Wiedereröffnen mit ausgewählter Codierung', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Speichern mit der gewählten Kodierung', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Verzeichnis auswählen', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Erster Buchstabe suche', // from v2.1.23 added 24.3.2017 'presets' : 'Voreinstellungen', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Zu viele Elemente auf einmal für den Mülleimer.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Textbereich', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Leere Ordner "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Es befinden sich keine Elemente im Ordner "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Einstellungen', // from v2.1.26 added 28.6.2017 'language' : 'Spracheinstellungen', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialisiere die Einstellungen, welche in diesem Browser gespeichert sind', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Toolbareinstellung', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 Zeichen übrig', // from v2.1.29 added 30.8.2017 'sum' : 'Summe', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Ungefähre Dateigröße', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Fokussierung auf das Element Dialog mit Mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Auswählen', // from v2.1.30 added 23.11.2017 'selectAction' : 'Aktion bei der Auswahl der Datei', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Öffnen mit dem zuletzt verwendeten Editor', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Auswahl umkehren', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Sicher $1 ausgewählte Elemente in $2 umbenennen?
                      Rückgängig nicht möglich!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Stapelumbenennung', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Nummer', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Vorzeichen hinzufügen', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Nachzeichen hinzufügen', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Erweiterung ändern', // from v2.1.31 added 8.12.2017 'columnPref' : 'Spalteneinstellungen (Listenansicht)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Alle Änderungen werden sofort im Archiv angewendet.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Alle Änderungen werden nicht angewendet bis dieses Volume entfernt wird.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Die folgenden Datenträger, die auf diesem Datenträger eingehängt sind, werden ebenfalls ausgehängt. Sicher dass alle aushängt werden sollen?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Auswahl Info', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Datei-Hash-Algorithmen', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info-Elemente (Auswahl-Info-Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Drücken Sie erneut, um zu beenden.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Symbolleiste', // from v2.1.38 added 4.4.2018 'workspace' : 'Arbeitsplatz', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'Alle', // from v2.1.38 added 4.4.2018 'iconSize' : 'Icongröße (Symbolansicht)', // form v2.1.39 added 7.5.2018 'editorMaximized' : 'Öffne Editorfenster in voller Größe', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Aktuell keine API zur Bearbeitung verfügbar, bitte auf Webseite bearbeiten', //from v2.1.40 added 13.12.2019 'editorConvNeedUpload' : 'Um zu speichern nach der Bearbeitung Element entweder mit URL hochladen oder mit herunter geladener Datei', // from v2.1.40 added 13.12.2019 'convertOn' : 'Bearbeiten auf Seite $1', // from v2.1.40 added 13.12.2019 'integrations' : 'Integrationen', // from v2.1.40 added 13.12.2019 'integrationWith' : 'Diese Software hat folgende externe Dienste integriert. Vor Anwendung bitte die jeweiligen Nutzungsbedingungen usw. beachten', // from v2.1.40 added 13.12.2019 'showHidden' : 'Zeige versteckte Elemente', // from v2.1.41 added 13.12.2019 'hideHidden' : 'Verberge versteckte Elemente', // from v2.1.41 added 13.12.2019 'toggleHidden' : 'Zeige/Verberge versteckte Elemente', // from v2.1.41 added 13.12.2019 'makefileTypes' : 'Dateiarten bei "Neue Datei" aktivieren', // from v2.1.41 added 13.12.2019 'typeOfTextfile' : 'Art der Textdatei', // from v2.1.41 added 13.12.2019 'add' : 'Neu', // from v2.1.41 added 13.12.2019 'theme' : 'Thema', // from v2.1.43 added 13.12.2019 'default' : 'Standard', // from v2.1.43 added 13.12.2019 'description' : 'Beschreibung', // from v2.1.43 added 13.12.2019 'website' : 'Webseite', // from v2.1.43 added 13.12.2019 'author' : 'Autor', // from v2.1.43 added 13.12.2019 'email' : 'Email', // from v2.1.43 added 13.12.2019 'license' : 'Lizenz', // from v2.1.43 added 13.12.2019 'exportToSave' : 'Dieses Element kann nicht gespeichert werden. Um Änderungen nicht zu verlieren, muss es auf den lokalen PC exportiert werden', // from v2.1.44 added 13.12.2019 'dblclickToSelect': 'Doppelt auf Datei klicken um auszuwählen', // from v2.1.47 added 13.12.2019 'useFullscreen' : 'Gesamter Bildschirm', // from v2.1.47 added 13.12.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Unbekannt', 'kindRoot' : 'Stammverzeichnis', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Ordner', 'kindSelects' : 'Auswahlkriterien', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Verknüpfung', 'kindAliasBroken' : 'Defekte Verknüpfung', // applications 'kindApp' : 'Programm', 'kindPostscript' : 'Postscript-Dokument', 'kindMsOffice' : 'MS Office-Dokument', 'kindMsWord' : 'MS Word-Dokument', 'kindMsExcel' : 'MS Excel-Dokument', 'kindMsPP' : 'MS Powerpoint-Präsentation', 'kindOO' : 'Open Office-Dokument', 'kindAppFlash' : 'Flash', 'kindPDF' : 'Portables Dokumentenformat (PDF)', 'kindTorrent' : 'Bittorrent-Datei', 'kind7z' : '7z-Archiv', 'kindTAR' : 'TAR-Archiv', 'kindGZIP' : 'GZIP-Archiv', 'kindBZIP' : 'BZIP-Archiv', 'kindXZ' : 'XZ-Archiv', 'kindZIP' : 'ZIP-Archiv', 'kindRAR' : 'RAR-Archiv', 'kindJAR' : 'Java JAR-Datei', 'kindTTF' : 'True Type-Schrift', 'kindOTF' : 'Open Type-Schrift', 'kindRPM' : 'RPM-Paket', // texts 'kindText' : 'Text-Dokument', 'kindTextPlain' : 'Text-Dokument', 'kindPHP' : 'PHP-Quelltext', 'kindCSS' : 'CSS Stilvorlage', 'kindHTML' : 'HTML-Dokument', 'kindJS' : 'Javascript-Quelltext', 'kindRTF' : 'Formatierte Textdatei', 'kindC' : 'C-Quelltext', 'kindCHeader' : 'C Header-Quelltext', 'kindCPP' : 'C++ Quelltext', 'kindCPPHeader' : 'C++ Header-Quelltext', 'kindShell' : 'Unix-Shell-Skript', 'kindPython' : 'Python-Quelltext', 'kindJava' : 'Java-Quelltext', 'kindRuby' : 'Ruby-Quelltext', 'kindPerl' : 'Perl Script', 'kindSQL' : 'SQL-Quelltext', 'kindXML' : 'XML-Dokument', 'kindAWK' : 'AWK-Quelltext', 'kindCSV' : 'Kommagetrennte Daten', 'kindDOCBOOK' : 'Docbook XML-Dokument', 'kindMarkdown' : 'Markdown-Text', // added 20.7.2015 // images 'kindImage' : 'Bild', 'kindBMP' : 'Bitmap-Bild', 'kindJPEG' : 'JPEG-Bild', 'kindGIF' : 'GIF-Bild', 'kindPNG' : 'PNG-Bild', 'kindTIFF' : 'TIFF-Bild', 'kindTGA' : 'TGA-Bild', 'kindPSD' : 'Adobe Photoshop-Dokument', 'kindXBITMAP' : 'X Bitmap-Bild', 'kindPXM' : 'Pixelmator-Bild', // media 'kindAudio' : 'Audiodatei', 'kindAudioMPEG' : 'MPEG Audio', 'kindAudioMPEG4' : 'MPEG-4 Audio', 'kindAudioMIDI' : 'MIDI Audio', 'kindAudioOGG' : 'Ogg Vorbis Audio', 'kindAudioWAV' : 'WAV Audio', 'AudioPlaylist' : 'MP3-Playlist', 'kindVideo' : 'Videodatei', 'kindVideoDV' : 'DV Film', 'kindVideoMPEG' : 'MPEG Film', 'kindVideoMPEG4' : 'MPEG4 Film', 'kindVideoAVI' : 'AVI Film', 'kindVideoMOV' : 'QuickTime Film', 'kindVideoWM' : 'Windows Media Film', 'kindVideoFlash' : 'Flash Film', 'kindVideoMKV' : 'Matroska Film', 'kindVideoOGG' : 'Ogg Film' } }; })); wp-file-manager/lib/js/i18n/elfinder.el.js000064400000052137151202472330014214 0ustar00/** * Greek translation * @author yawd , Romanos * @version 2014-12-19 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.el = { translator : 'yawd <ingo@yawd.eu>', language : 'Ελληνικά', direction : 'ltr', dateFormat : 'd.m.Y H:i', fancyDateFormat : '$1 H:i', messages : { /********************************** errors **********************************/ 'error' : 'Πρόβλημα', 'errUnknown' : 'Άγνωστο πρόβλημα.', 'errUnknownCmd' : 'Άγνωστη εντολή.', 'errJqui' : 'Μη έγκυρη ρύθμιση του jQuery UI. Τα components "selectable", "draggable" και "droppable" πρέπει να περιληφούν.', 'errNode' : 'το elFinder χρειάζεται να έχει δημιουργηθεί το DOM Element.', 'errURL' : 'Μη έγκυρες ρυθμίσεις για το elFinder! η επιλογή URL δεν έχει οριστεί.', 'errAccess' : 'Απαγορεύεται η πρόσβαση.', 'errConnect' : 'Δεν ήταν δυνατή η σύνδεση με το backend.', 'errAbort' : 'Η σύνδεση εγκαταλείφθηκε.', 'errTimeout' : 'Η σύνδεση έληξε.', 'errNotFound' : 'Δε βρέθηκε το backend.', 'errResponse' : 'Μή έγκυρη απάντηση από το backend.', 'errConf' : 'Μη έγκυρες ρυθμίσεις για το backend.', 'errJSON' : 'Το PHP JSON module δεν είναι εγκατεστημένο.', 'errNoVolumes' : 'Δεν βρέθηκαν αναγνώσιμα volumes.', 'errCmdParams' : 'Μη έγκυρες παράμετροι για την εντολή "$1".', 'errDataNotJSON' : 'Τα δεδομένα δεν είναι JSON.', 'errDataEmpty' : 'Τα δεδομένα είναι άδεια.', 'errCmdReq' : 'Το Backend request χρειάζεται όνομα εντολής.', 'errOpen' : 'Δεν ήταν δυνατό να ανοίξει το "$1".', 'errNotFolder' : 'Το αντικείμενο δεν είναι φάκελος.', 'errNotFile' : 'Το αντικείμενο δεν είναι αρχείο.', 'errRead' : 'Δεν ήταν δυνατόν να διαβαστεί το "$1".', 'errWrite' : 'Δεν ήταν δυνατή η εγγραφή στο "$1".', 'errPerm' : 'Απαγορεύεται η πρόσβαση.', 'errLocked' : '"$1" είναι κλειδωμένο και δεν μπορεί να μετονομαστεί, μετακινηθεί ή διαγραφεί.', 'errExists' : 'Το αρχείο με όνομα "$1" υπάρχει ήδη.', 'errInvName' : 'Μη έγκυρο όνομα αρχείου.', 'errFolderNotFound' : 'Ο φάκελος δε βρέθηκε.', 'errFileNotFound' : 'Το αρχείο δε βρέθηκε.', 'errTrgFolderNotFound' : 'Ο φάκελος "$1" δε βρέθηκε.', 'errPopup' : 'Το πρόγραμμα πλήγησης εμπόδισε το άνοιγμα αναδυόμενου παραθύρου. Για ανοίξετε το αρχείο ενεργοποιήστε το στις επιλογές του περιηγητή.', 'errMkdir' : 'Η δυμιουργία του φακέλου "$1" δεν ήταν δυνατή.', 'errMkfile' : 'Η δημιουργία του αρχείου "$1" δεν ήταν δυνατή.', 'errRename' : 'Η μετονομασία του αρχείου "$1" δεν ήταν δυνατή.', 'errCopyFrom' : 'Δεν επιτρέπεται η αντιγραφή αρχείων από το volume "$1".', 'errCopyTo' : 'Δεν επιτρέπεται η αντιγραφή αρχείων στο volume "$1".', 'errUpload' : 'Πρόβλημα κατά το upload.', 'errUploadFile' : 'Το αρχείο "$1" δεν μπόρεσε να γίνει upload.', 'errUploadNoFiles' : 'Δεν βρέθηκαν αρχεία για upload.', 'errUploadTotalSize' : 'Τα δεδομένα υπερβαίνουν το επιτρεπόμενο μέγιστο μέγεθος δεδομένων.', 'errUploadFileSize' : 'Το αρχείο υπερβαίνει το επιτρεπόμενο μέγιστο μέγεθος.', 'errUploadMime' : 'Ο τύπος αρχείου δεν επιτρέπεται.', 'errUploadTransfer' : 'Πρόβλημα μεταφοράς για το "$1".', 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', 'errReplace' : 'Unable to replace "$1".', 'errSave' : 'Το "$1" δεν ήταν δυνατόν να αποθηκευτεί.', 'errCopy' : 'Δεν ήταν δυνατή η αντιγραφή του "$1".', 'errMove' : 'Δεν ήταν δυνατή η μετακίνηση του "$1".', 'errCopyInItself' : 'Δεν είναι δυνατή η αντιγραφή του "$1" στον εαυτό του.', 'errRm' : 'Δεν ήταν δυνατή η αφαίρεση του "$1".', 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'Δεν ήταν δυνατή η ανάγνωση των αρχείων από "$1".', 'errArchive' : 'Δεν ήταν δυνατή η δημιουργία του αρχείου.', 'errArcType' : 'Ο τύπος αρχείου δεν υποστηρίζεται.', 'errNoArchive' : 'Το αρχείο δεν είναι έγκυρο ή δεν υποστηρίζεται ο τύπος του.', 'errCmdNoSupport' : 'Το backend δεν υποστηρίζει αυτή την εντολή.', 'errReplByChild' : 'Ο φάκελος “$1” δεν μπορεί να αντικατασταθεί από οποιοδήποτε αρχείο περιέχεται σε αυτόν.', 'errArcSymlinks' : 'Για λόγους ασφαλείας δεν είναι δυνατόν να διαβαστούν αρχεία που περιέχουν symlinks orη αρχεία με μη επιτρεπτά ονόματα.', // edited 24.06.2012 'errArcMaxSize' : 'Το μέγεθος του αρχείου υπερβαίνει το μέγιστο επιτρεπτό όριο.', 'errResize' : 'Δεν ήταν δυνατή η αλλαγή μεγέθους του "$1".', 'errResizeDegree' : 'Invalid rotate degree.', 'errResizeRotate' : 'Unable to rotate image.', 'errResizeSize' : 'Invalid image size.', 'errResizeNoChange' : 'Image size not changed.', 'errUsupportType' : 'Ο τύπος αρχείου δεν υποστηρίζεται.', 'errNotUTF8Content' : 'Το αρχείο "$1" δεν είναι UTF-8 και δεν μπορεί να επεξεργασθεί.', // added 9.11.2011 'errNetMount' : 'Δεν ήταν δυνατή η φόρτωση του "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Μη υποστηριζόμενο πρωτόκολο.', // added 17.04.2012 'errNetMountFailed' : 'Η φόρτωση απέτυχε.', // added 17.04.2012 'errNetMountHostReq' : 'Απαιτείται host εξυπηρετητής.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', /******************************* commands names ********************************/ 'cmdarchive' : 'Δημιουργία archive αρχείου', 'cmdback' : 'Πίσω', 'cmdcopy' : 'Αντιγραφή', 'cmdcut' : 'Αφαίρεση', 'cmddownload' : 'Μεταφόρτωση', 'cmdduplicate' : 'Αντίγραφο', 'cmdedit' : 'Επεξεργασία αρχείου', 'cmdextract' : 'Εξαγωγή αρχείων από archive', 'cmdforward' : 'Προώθηση', 'cmdgetfile' : 'Επιλέξτε αρχεία', 'cmdhelp' : 'Σχετικά με αυτό το λογισμικό', 'cmdhome' : 'Home', 'cmdinfo' : 'Πληροφορίες', 'cmdmkdir' : 'Νέος φάκελος', 'cmdmkfile' : 'Νέος αρχείο', 'cmdopen' : 'Άνοιγμα', 'cmdpaste' : 'Επικόλληση', 'cmdquicklook' : 'Προεπισκόπηση', 'cmdreload' : 'Ανανέωση', 'cmdrename' : 'Μετονομασία', 'cmdrm' : 'Διαγραφή', 'cmdsearch' : 'Έυρεση αρχείων', 'cmdup' : 'Μετάβαση στο γονικό φάκελο', 'cmdupload' : 'Ανέβασμα αρχείων', 'cmdview' : 'Προβολή', 'cmdresize' : 'Αλλαγή μεγέθους εικόνας', 'cmdsort' : 'Ταξινόμηση', 'cmdnetmount' : 'Mount network volume', /*********************************** buttons ***********************************/ 'btnClose' : 'Κλείσιμο', 'btnSave' : 'Αποθήκευση', 'btnRm' : 'Αφαίρεση', 'btnApply' : 'Εφαρμογή', 'btnCancel' : 'Ακύρωση', 'btnNo' : 'Όχι', 'btnYes' : 'Ναι', 'btnMount' : 'Mount', /******************************** notifications ********************************/ 'ntfopen' : 'Άνοιγμα φακέλου', 'ntffile' : 'Άνοιγμα αρχείου', 'ntfreload' : 'Ανανέωση περιεχομένων φακέλου', 'ntfmkdir' : 'Δημιουργία φακέλου', 'ntfmkfile' : 'Δημιουργία αρχείων', 'ntfrm' : 'Διαγραφή αρχείων', 'ntfcopy' : 'Αντιγραφή αρχείων', 'ntfmove' : 'Μετακίνηση αρχείων', 'ntfprepare' : 'Προετοιμασία αντιγραφής αρχείων', 'ntfrename' : 'Μετονομασία αρχείων', 'ntfupload' : 'Ανέβασμα αρχείων', 'ntfdownload' : 'Μεταφόρτωση αρχείων', 'ntfsave' : 'Αποθήκευση αρχείων', 'ntfarchive' : 'Δημιουργία αρχείου', 'ntfextract' : 'Εξαγωγή αρχείων από το archive', 'ntfsearch' : 'Αναζήτηση αρχείων', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Σύστημα απασχολημένο>_<', 'ntfloadimg' : 'Φόρτωση εικόνας', 'ntfnetmount' : 'Φόρτωση δικτυακού δίσκου', // added 18.04.2012 'ntfdim' : 'Acquiring image dimension', /************************************ dates **********************************/ 'dateUnknown' : 'άγνωστο', 'Today' : 'Σήμερα', 'Yesterday' : 'Χθές', 'msJan' : 'Ιαν', 'msFeb' : 'Φεβ', 'msMar' : 'Μαρ', 'msApr' : 'Απρ', 'msMay' : 'Μαϊ', 'msJun' : 'Ιουν', 'msJul' : 'Ιουλ', 'msAug' : 'Αυγ', 'msSep' : 'Σεπ', 'msOct' : 'Οκτ', 'msNov' : 'Νοεμ', 'msDec' : 'Δεκ', 'January' : 'Ιανουάριος', 'February' : 'Φεβρουάριος', 'March' : 'Μάρτιος', 'April' : 'Απρίλιος', 'May' : 'Μάϊος', 'June' : 'Ιούνιος', 'July' : 'Ιούλιος', 'August' : 'Αύγουστος', 'September' : 'Σεπτέμβριος', 'October' : 'Οκτώβριος', 'November' : 'Νοέμβριος', 'December' : 'Δεκέμβριος', 'Sunday' : 'Κυριακή', 'Monday' : 'Δευτέρα', 'Tuesday' : 'Τρίτη', 'Wednesday' : 'Τετάρτη', 'Thursday' : 'Πέμπτη', 'Friday' : 'Παρασκευή', 'Saturday' : 'Σάββατο', 'Sun' : 'Κυρ', 'Mon' : 'Δευ', 'Tue' : 'Τρ', 'Wed' : 'Τετ', 'Thu' : 'Πεμ', 'Fri' : 'Παρ', 'Sat' : 'Σαβ', /******************************** sort variants ********************************/ 'sortname' : 'κατά όνομα', 'sortkind' : 'κατά είδος', 'sortsize' : 'κατά μέγεθος', 'sortdate' : 'κατά ημερομηνία', 'sortFoldersFirst' : 'Πρώτα οι φάκελοι', // added 22.06.2012 /********************************** messages **********************************/ 'confirmReq' : 'Απαιτείται επιβεβαίωση', 'confirmRm' : 'Είστε σίγουροι πως θέλετε να διαγράψετε τα αρχεία?
                      Οι αλλαγές θα είναι μόνιμες!', 'confirmRepl' : 'Αντικατάσταση του παλιού αρχείου με το νέο?', 'apllyAll' : 'Εφαρμογή σε όλα', 'name' : 'Όνομα', 'size' : 'Μέγεθος', 'perms' : 'Δικαιώματα', 'modify' : 'Τροποποιήθηκε', 'kind' : 'Είδος', 'read' : 'ανάγνωση', 'write' : 'εγγραφή', 'noaccess' : 'δεν υπάρχει πρόσβαση', 'and' : 'και', 'unknown' : 'άγνωστο', 'selectall' : 'Επιλογή όλων', 'selectfiles' : 'Επιλογή αρχείων', 'selectffile' : 'Επιλογή πρώτου αρχείου', 'selectlfile' : 'Επιλογή τελευταίου αρχείου', 'viewlist' : 'Προβολή λίστας', 'viewicons' : 'Προβολή εικονιδίων', 'places' : 'Τοποθεσίες', 'calc' : 'Υπολογισμός', 'path' : 'Διαδρομή', 'aliasfor' : 'Ψευδώνυμο για', 'locked' : 'Κλειδωμένο', 'dim' : 'Διαστάσεις', 'files' : 'Αρχεία', 'folders' : 'Φάκελοι', 'items' : 'Αντικείμενα', 'yes' : 'ναι', 'no' : 'όχι', 'link' : 'Σύνδεσμος', 'searcresult' : 'Αποτελέσματα αναζήτησης', 'selected' : 'επιλεγμένα αντικείμενα', 'about' : 'Σχετικά', 'shortcuts' : 'Συντομεύσεις', 'help' : 'Βοήθεια', 'webfm' : 'εργαλείο διαχείρισης αρχείων από το web', 'ver' : 'Έκδοση', 'protocolver' : 'έκδοση πρωτοκόλλου', 'homepage' : 'Σελίδα του project', 'docs' : 'Τεκμηρίωση (documentation)', 'github' : 'Κάντε μας fork στο Github', 'twitter' : 'Ακολουθήστε μας στο twitter', 'facebook' : 'Βρείτε μας στο facebook', 'team' : 'Ομάδα', 'chiefdev' : 'κύριος προγραμματιστής', 'developer' : 'προγραμματιστής', 'contributor' : 'συνεισφορά', 'maintainer' : 'συντηρητής', 'translator' : 'μεταφραστής', 'icons' : 'Εικονίδια', 'dontforget' : 'και μην ξεχάσεις την πετσέτα σου!', 'shortcutsof' : 'Οι συντομεύσεις είναι απενεργοποιημένες', 'dropFiles' : 'Κάντε drop τα αρχεία εδώ', 'or' : 'ή', 'selectForUpload' : 'Επιλογή αρχείων για ανέβασμα', 'moveFiles' : 'Μετακίνηση αρχείων', 'copyFiles' : 'Αντιγραφή αρχείων', 'rmFromPlaces' : 'Αντιγραφή από τοποθεσίες', 'aspectRatio' : 'Αναλογία διαστάσεων', 'scale' : 'Κλίμακα', 'width' : 'Πλάτος', 'height' : 'Ύψος', 'resize' : 'Αλλαγή μεγέθους', 'crop' : 'Crop', 'rotate' : 'Περιστροφή', 'rotate-cw' : 'Περιστροφή κατά 90 βαθμούς CW', 'rotate-ccw' : 'Περιστροφή κατά 90 βαθμούς CCW', 'degree' : 'Βαθμός', 'netMountDialogTitle' : 'Φορτώστε δικτυακό δίσκο', // added 18.04.2012 'protocol' : 'Πρωτόκολλο', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Χρήστης', // added 18.04.2012 'pass' : 'Κωδικός', // added 18.04.2012 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Άγνωστο', 'kindFolder' : 'Φάκελος', 'kindAlias' : 'Ψευδώνυμο (alias)', 'kindAliasBroken' : 'Μη έγκυρο ψευδώνυμο', // applications 'kindApp' : 'Εφαρμογή', 'kindPostscript' : 'Έγγραφο Postscript', 'kindMsOffice' : 'Έγγραφο Microsoft Office', 'kindMsWord' : 'Έγγραφο Microsoft Word', 'kindMsExcel' : 'Έγγραφο Microsoft Excel', 'kindMsPP' : 'Παρουσίαση Microsoft Powerpoint', 'kindOO' : 'Έγγραφο Open Office', 'kindAppFlash' : 'Εφαρμογή Flash', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Αρχείο Bittorrent', 'kind7z' : 'Αρχείο 7z', 'kindTAR' : 'Αρχείο TAR', 'kindGZIP' : 'Αρχείο GZIP', 'kindBZIP' : 'Αρχείο BZIP', 'kindXZ' : 'Αρχείο XZ', 'kindZIP' : 'Αρχείο ZIP', 'kindRAR' : 'Αρχείο RAR', 'kindJAR' : 'Αρχείο Java JAR', 'kindTTF' : 'Γραμματοσειρά True Type', 'kindOTF' : 'Γραμματοσειρά Open Type', 'kindRPM' : 'Πακέτο RPM', // texts 'kindText' : 'Έγγραφο κειμένου', 'kindTextPlain' : 'Απλό κείμενο', 'kindPHP' : 'Κώδικας PHP', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'Έγγραφο HTML', 'kindJS' : 'Κώδικας Javascript', 'kindRTF' : 'Rich Text Format', 'kindC' : 'Κώδικας C', 'kindCHeader' : 'Κώδικας κεφαλίδας C', 'kindCPP' : 'Κώδικας C++', 'kindCPPHeader' : 'Κώδικας κεφαλίδας C++', 'kindShell' : 'Unix shell script', 'kindPython' : 'Κώδικας Python', 'kindJava' : 'Κώδικας Java', 'kindRuby' : 'Κώδικας Ruby', 'kindPerl' : 'Perl script', 'kindSQL' : 'Κώδικας SQL', 'kindXML' : 'Έγγραφο XML', 'kindAWK' : 'Κώδικας AWK', 'kindCSV' : 'Τιμές χωρισμένες με κόμμα', 'kindDOCBOOK' : 'Έγγραφο Docbook XML', // images 'kindImage' : 'Εικόνα', 'kindBMP' : 'Εικόνα BMP', 'kindJPEG' : 'Εικόνα JPEG', 'kindGIF' : 'Εικόνα GIF', 'kindPNG' : 'Εικόνα PNG', 'kindTIFF' : 'Εικόνα TIFF', 'kindTGA' : 'Εικόνα TGA', 'kindPSD' : 'Εικόνα Adobe Photoshop', 'kindXBITMAP' : 'Εικόνα X bitmap', 'kindPXM' : 'Εικόνα Pixelmator', // media 'kindAudio' : 'Αρχεία ήχου', 'kindAudioMPEG' : 'Ήχος MPEG', 'kindAudioMPEG4' : 'Εικόνα MPEG-4', 'kindAudioMIDI' : 'Εικόνα MIDI', 'kindAudioOGG' : 'Εικόνα Ogg Vorbis', 'kindAudioWAV' : 'Εικόνα WAV', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Αρχεία media', 'kindVideoDV' : 'Ταινία DV', 'kindVideoMPEG' : 'Ταινία MPEG', 'kindVideoMPEG4' : 'Ταινία MPEG-4', 'kindVideoAVI' : 'Ταινία AVI', 'kindVideoMOV' : 'Ταινία Quick Time', 'kindVideoWM' : 'Ταινία Windows Media', 'kindVideoFlash' : 'Ταινία flash', 'kindVideoMKV' : 'Ταινία matroska', 'kindVideoOGG' : 'Ταινία ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.en.js000064400000077325151202472330014224 0ustar00/** * English translation * @author Troex Nevelin * @author Naoki Sawada * @version 2021-06-02 */ // elfinder.en.js is integrated into elfinder.(full|min).js by jake build if (typeof elFinder === 'function' && elFinder.prototype.i18) { elFinder.prototype.i18.en = { translator : 'Troex Nevelin <troex@fury.scancode.ru>, Naoki Sawada <hypweb+elfinder@gmail.com>', language : 'English', direction : 'ltr', dateFormat : 'M d, Y h:i A', // will show like: Aug 24, 2018 04:39 PM fancyDateFormat : '$1 h:i A', // will show like: Today 04:39 PM nonameDateFormat : 'ymd-His', // noname upload will show like: 180824-163916 messages : { /********************************** errors **********************************/ 'error' : 'Error', 'errUnknown' : 'Unknown error.', 'errUnknownCmd' : 'Unknown command.', 'errJqui' : 'Invalid jQuery UI configuration. Selectable, draggable and droppable components must be included.', 'errNode' : 'elFinder requires DOM Element to be created.', 'errURL' : 'Invalid elFinder configuration! URL option is not set.', 'errAccess' : 'Access denied.', 'errConnect' : 'Unable to connect to backend.', 'errAbort' : 'Connection aborted.', 'errTimeout' : 'Connection timeout.', 'errNotFound' : 'Backend not found.', 'errResponse' : 'Invalid backend response.', 'errConf' : 'Invalid backend configuration.', 'errJSON' : 'PHP JSON module not installed.', 'errNoVolumes' : 'Readable volumes not available.', 'errCmdParams' : 'Invalid parameters for command "$1".', 'errDataNotJSON' : 'Data is not JSON.', 'errDataEmpty' : 'Data is empty.', 'errCmdReq' : 'Backend request requires command name.', 'errOpen' : 'Unable to open "$1".', 'errNotFolder' : 'Object is not a folder.', 'errNotFile' : 'Object is not a file.', 'errRead' : 'Unable to read "$1".', 'errWrite' : 'Unable to write into "$1".', 'errPerm' : 'Permission denied.', 'errLocked' : '"$1" is locked and can not be renamed, moved or removed.', 'errExists' : 'Item named "$1" already exists.', 'errInvName' : 'Invalid file name.', 'errInvDirname' : 'Invalid folder name.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Folder not found.', 'errFileNotFound' : 'File not found.', 'errTrgFolderNotFound' : 'Target folder "$1" not found.', 'errPopup' : 'Browser prevented opening popup window. To open file enable it in browser options.', 'errMkdir' : 'Unable to create folder "$1".', 'errMkfile' : 'Unable to create file "$1".', 'errRename' : 'Unable to rename "$1".', 'errCopyFrom' : 'Copying files from volume "$1" not allowed.', 'errCopyTo' : 'Copying files to volume "$1" not allowed.', 'errMkOutLink' : 'Unable to create a link to outside the volume root.', // from v2.1 added 03.10.2015 'errUpload' : 'Upload error.', // old name - errUploadCommon 'errUploadFile' : 'Unable to upload "$1".', // old name - errUpload 'errUploadNoFiles' : 'No files found for upload.', 'errUploadTotalSize' : 'Data exceeds the maximum allowed size.', // old name - errMaxSize 'errUploadFileSize' : 'File exceeds maximum allowed size.', // old name - errFileMaxSize 'errUploadMime' : 'File type not allowed.', 'errUploadTransfer' : '"$1" transfer error.', 'errUploadTemp' : 'Unable to make temporary file for upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', // new 'errReplace' : 'Unable to replace "$1".', 'errSave' : 'Unable to save "$1".', 'errCopy' : 'Unable to copy "$1".', 'errMove' : 'Unable to move "$1".', 'errCopyInItself' : 'Unable to copy "$1" into itself.', 'errRm' : 'Unable to remove "$1".', 'errTrash' : 'Unable into trash.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'Unable to extract files from "$1".', 'errArchive' : 'Unable to create archive.', 'errArcType' : 'Unsupported archive type.', 'errNoArchive' : 'File is not archive or has unsupported archive type.', 'errCmdNoSupport' : 'Backend does not support this command.', 'errReplByChild' : 'The folder "$1" can\'t be replaced by an item it contains.', 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.', 'errResize' : 'Unable to resize "$1".', 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013 'errResizeSize' : 'Invalid image size.', // added 7.3.2013 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013 'errUsupportType' : 'Unsupported file type.', 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012 'errNetMountHostReq' : 'Host required.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', 'errNetUnMount' : 'Unable to unmount.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Not convertible to UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Try the modern browser, If you\'d like to upload the folder.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Timed out while searching "$1". Search result is partial.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Re-authorization is required.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Max number of selectable items is $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Unable to restore from the trash. Can\'t identify the restore destination.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor not found to this file type.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Error occurred on the server side.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Unable to empty folder "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'There are $1 more errors.', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'You can create up to $1 folders at one time.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Create archive', 'cmdback' : 'Back', 'cmdcopy' : 'Copy', 'cmdcut' : 'Cut', 'cmddownload' : 'Download', 'cmdduplicate' : 'Duplicate', 'cmdedit' : 'Edit file', 'cmdextract' : 'Extract files from archive', 'cmdforward' : 'Forward', 'cmdgetfile' : 'Select files', 'cmdhelp' : 'About this software', 'cmdhome' : 'Root', 'cmdinfo' : 'Get info', 'cmdmkdir' : 'New folder', 'cmdmkdirin' : 'Into New Folder', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'New file', 'cmdopen' : 'Open', 'cmdpaste' : 'Paste', 'cmdquicklook' : 'Preview', 'cmdreload' : 'Reload', 'cmdrename' : 'Rename', 'cmdrm' : 'Delete', 'cmdtrash' : 'Into trash', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restore', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Find files', 'cmdup' : 'Go to parent folder', 'cmdupload' : 'Upload files', 'cmdview' : 'View', 'cmdresize' : 'Resize & Rotate', 'cmdsort' : 'Sort', 'cmdnetmount' : 'Mount network volume', // added 18.04.2012 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012 'cmdplaces' : 'To Places', // added 28.12.2014 'cmdchmod' : 'Change mode', // from v2.1 added 20.6.2015 'cmdopendir' : 'Open a folder', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Reset column width', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Full Screen', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Move', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Empty the folder', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Undo', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Redo', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferences', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Select all', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Select none', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Invert selection', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Open in new window', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Hide (Preference)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Close', 'btnSave' : 'Save', 'btnRm' : 'Remove', 'btnApply' : 'Apply', 'btnCancel' : 'Cancel', 'btnNo' : 'No', 'btnYes' : 'Yes', 'btnMount' : 'Mount', // added 18.04.2012 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Convert', // from v2.1 added 08.04.2014 'btnCwd' : 'Here', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'All', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015 'btnFileName':'Filename', // from v2.1 added 22.5.2015 'btnSaveClose': 'Save & Close', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Rename', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Rename(All)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Prev ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Next ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Save As', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Open folder', 'ntffile' : 'Open file', 'ntfreload' : 'Reload folder content', 'ntfmkdir' : 'Creating folder', 'ntfmkfile' : 'Creating files', 'ntfrm' : 'Delete items', 'ntfcopy' : 'Copy items', 'ntfmove' : 'Move items', 'ntfprepare' : 'Checking existing items', 'ntfrename' : 'Rename files', 'ntfupload' : 'Uploading files', 'ntfdownload' : 'Downloading files', 'ntfsave' : 'Save files', 'ntfarchive' : 'Creating archive', 'ntfextract' : 'Extracting files from archive', 'ntfsearch' : 'Searching files', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Doing something', 'ntfloadimg' : 'Loading image', 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013 'ntfreaddir' : 'Reading folder infomation', // from v2.1 added 01.07.2013 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Changing file mode', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Getting path infomation', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Processing the uploaded file', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Doing throw in the trash', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Doing restore from the trash', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Checking destination folder', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Undoing previous operation', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Redoing previous undone', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Checking contents', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Trash', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'unknown', 'Today' : 'Today', 'Yesterday' : 'Yesterday', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'May', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Oct', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'January', 'February' : 'February', 'March' : 'March', 'April' : 'April', 'May' : 'May', 'June' : 'June', 'July' : 'July', 'August' : 'August', 'September' : 'September', 'October' : 'October', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Sunday', 'Monday' : 'Monday', 'Tuesday' : 'Tuesday', 'Wednesday' : 'Wednesday', 'Thursday' : 'Thursday', 'Friday' : 'Friday', 'Saturday' : 'Saturday', 'Sun' : 'Sun', 'Mon' : 'Mon', 'Tue' : 'Tue', 'Wed' : 'Wed', 'Thu' : 'Thu', 'Fri' : 'Fri', 'Sat' : 'Sat', /******************************** sort variants ********************************/ 'sortname' : 'by name', 'sortkind' : 'by kind', 'sortsize' : 'by size', 'sortdate' : 'by date', 'sortFoldersFirst' : 'Folders first', 'sortperm' : 'by permission', // from v2.1.13 added 13.06.2016 'sortmode' : 'by mode', // from v2.1.13 added 13.06.2016 'sortowner' : 'by owner', // from v2.1.13 added 13.06.2016 'sortgroup' : 'by group', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015 'untitled folder' : 'NewFolder', // added 10.11.2015 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015 'untitled file' : 'NewFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: File', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Confirmation required', 'confirmRm' : 'Are you sure you want to permanently remove items?
                      This cannot be undone!', 'confirmRepl' : 'Replace old file with new one? (If it contains folders, it will be merged. To backup and replace, select Backup.)', 'confirmRest' : 'Replace existing item with the item in trash?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Not in UTF-8
                      Convert to UTF-8?
                      Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Character encoding of this file couldn\'t be detected. It need to temporarily convert to UTF-8 for editting.
                      Please select character encoding of this file.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'It has been modified.
                      Losing work if you do not save changes.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Are you sure you want to move items to trash bin?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Are you sure you want to move items to "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Apply to all', 'name' : 'Name', 'size' : 'Size', 'perms' : 'Permissions', 'modify' : 'Modified', 'kind' : 'Kind', 'read' : 'read', 'write' : 'write', 'noaccess' : 'no access', 'and' : 'and', 'unknown' : 'unknown', 'selectall' : 'Select all items', 'selectfiles' : 'Select item(s)', 'selectffile' : 'Select first item', 'selectlfile' : 'Select last item', 'viewlist' : 'List view', 'viewicons' : 'Icons view', 'viewSmall' : 'Small icons', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Medium icons', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Large icons', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Extra large icons', // from v2.1.39 added 22.5.2018 'places' : 'Places', 'calc' : 'Calculate', 'path' : 'Path', 'aliasfor' : 'Alias for', 'locked' : 'Locked', 'dim' : 'Dimensions', 'files' : 'Files', 'folders' : 'Folders', 'items' : 'Items', 'yes' : 'yes', 'no' : 'no', 'link' : 'Link', 'searcresult' : 'Search results', 'selected' : 'selected items', 'about' : 'About', 'shortcuts' : 'Shortcuts', 'help' : 'Help', 'webfm' : 'Web file manager', 'ver' : 'Version', 'protocolver' : 'protocol version', 'homepage' : 'Project home', 'docs' : 'Documentation', 'github' : 'Fork us on GitHub', 'twitter' : 'Follow us on Twitter', 'facebook' : 'Join us on Facebook', 'team' : 'Team', 'chiefdev' : 'chief developer', 'developer' : 'developer', 'contributor' : 'contributor', 'maintainer' : 'maintainer', 'translator' : 'translator', 'icons' : 'Icons', 'dontforget' : 'and don\'t forget to take your towel', 'shortcutsof' : 'Shortcuts disabled', 'dropFiles' : 'Drop files here', 'or' : 'or', 'selectForUpload' : 'Select files', 'moveFiles' : 'Move items', 'copyFiles' : 'Copy items', 'restoreFiles' : 'Restore items', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Remove from places', 'aspectRatio' : 'Aspect ratio', 'scale' : 'Scale', 'width' : 'Width', 'height' : 'Height', 'resize' : 'Resize', 'crop' : 'Crop', 'rotate' : 'Rotate', 'rotate-cw' : 'Rotate 90 degrees CW', 'rotate-ccw' : 'Rotate 90 degrees CCW', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'User', // added 18.04.2012 'pass' : 'Password', // added 18.04.2012 'confirmUnmount' : 'Are you sure to unmount $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Drop files, Paste URLs or images(clipboard) here', // from v2.1 added 07.04.2014 'encoding' : 'Encoding', // from v2.1 added 19.12.2014 'locale' : 'Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Owner', // from v2.1 added 20.6.2015 'group' : 'Group', // from v2.1 added 20.6.2015 'other' : 'Other', // from v2.1 added 20.6.2015 'execute' : 'Execute', // from v2.1 added 20.6.2015 'perm' : 'Permission', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'Folder is empty', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Folder is empty\\A Drop to add items', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Folder is empty\\A Long tap to add items', // from v2.1.6 added 30.12.2015 'quality' : 'Quality', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016 'moveUp' : 'Move up', // from v2.1.6 added 18.1.2016 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Open multiple files', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'You are trying to open the $1 files. Are you sure you want to open in browser?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Search results is empty in search target.', // from v2.1.12 added 5.16.2016 'editingFile' : 'It is editing a file.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'You have selected $1 items.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Incremental search is only from the current view.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Reinstate', // from v2.1.15 added 3.8.2016 'complete' : '$1 complete', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016 'reset' : 'Reset', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Background color', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Color picker', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016 'enabled' : 'Enabled', // from v2.1.16 added 4.10.2016 'disabled' : 'Disabled', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Search results is empty in current view.\\A Press [Enter] to expand search target.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'First letter search results is empty in current view.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Text label', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 mins left', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reopen with selected encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Save with the selected encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Select folder', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'First letter search', // from v2.1.23 added 24.3.2017 'presets' : 'Presets', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'It\'s too many items so it can\'t into trash.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Empty the folder "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'There are no items in a folder "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preference', // from v2.1.26 added 28.6.2017 'language' : 'Language', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialize the settings saved in this browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Toolbar settings', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 chars left.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 lines left.', // from v2.1.52 added 16.1.2020 'sum' : 'Sum', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Rough file size', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focus on the element of dialog with mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Select', // from v2.1.30 added 23.11.2017 'selectAction' : 'Action when select file', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Open with the editor used last time', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Invert selection', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Are you sure you want to rename $1 selected items like $2?
                      This cannot be undone!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch rename', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Number', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Add prefix', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Add suffix', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Change extention', // from v2.1.31 added 8.12.2017 'columnPref' : 'Columns settings (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'All changes will reflect immediately to the archive.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Any changes will not reflect until un-mount this volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'The following volume(s) mounted on this volume also unmounted. Are you sure to unmount it?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Selection Info', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorithms to show the file hash', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info Items (Selection Info Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Press again to exit.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Toolbar', // from v2.1.38 added 4.4.2018 'workspace' : 'Work Space', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'All', // from v2.1.38 added 4.4.2018 'iconSize' : 'Icon Size (Icons view)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Open the maximized editor window', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Because conversion by API is not currently available, please convert on the website.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'After conversion, you must be upload with the item URL or a downloaded file to save the converted file.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Convert on the site of $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrations', // from v2.1.40 added 11.7.2018 'integrationWith' : 'This elFinder has the following external services integrated. Please check the terms of use, privacy policy, etc. before using it.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Show hidden items', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Hide hidden items', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Show/Hide hidden items', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'File types to enable with "New file"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type of the Text file', // from v2.1.41 added 7.8.2018 'add' : 'Add', // from v2.1.41 added 7.8.2018 'theme' : 'Theme', // from v2.1.43 added 19.10.2018 'default' : 'Default', // from v2.1.43 added 19.10.2018 'description' : 'Description', // from v2.1.43 added 19.10.2018 'website' : 'Website', // from v2.1.43 added 19.10.2018 'author' : 'Author', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'License', // from v2.1.43 added 19.10.2018 'exportToSave' : 'This item can\'t be saved. To avoid losing the edits you need to export to your PC.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Double click on the file to select it.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Use fullscreen mode', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Unknown', 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Folder', 'kindSelects' : 'Selections', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Broken alias', // applications 'kindApp' : 'Application', 'kindPostscript' : 'Postscript document', 'kindMsOffice' : 'Microsoft Office document', 'kindMsWord' : 'Microsoft Word document', 'kindMsExcel' : 'Microsoft Excel document', 'kindMsPP' : 'Microsoft Powerpoint presentation', 'kindOO' : 'Open Office document', 'kindAppFlash' : 'Flash application', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent file', 'kind7z' : '7z archive', 'kindTAR' : 'TAR archive', 'kindGZIP' : 'GZIP archive', 'kindBZIP' : 'BZIP archive', 'kindXZ' : 'XZ archive', 'kindZIP' : 'ZIP archive', 'kindRAR' : 'RAR archive', 'kindJAR' : 'Java JAR file', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM package', // texts 'kindText' : 'Text document', 'kindTextPlain' : 'Plain text', 'kindPHP' : 'PHP source', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML document', 'kindJS' : 'Javascript source', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C source', 'kindCHeader' : 'C header source', 'kindCPP' : 'C++ source', 'kindCPPHeader' : 'C++ header source', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python source', 'kindJava' : 'Java source', 'kindRuby' : 'Ruby source', 'kindPerl' : 'Perl script', 'kindSQL' : 'SQL source', 'kindXML' : 'XML document', 'kindAWK' : 'AWK source', 'kindCSV' : 'Comma separated values', 'kindDOCBOOK' : 'Docbook XML document', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Image', 'kindBMP' : 'BMP image', 'kindJPEG' : 'JPEG image', 'kindGIF' : 'GIF Image', 'kindPNG' : 'PNG Image', 'kindTIFF' : 'TIFF image', 'kindTGA' : 'TGA image', 'kindPSD' : 'Adobe Photoshop image', 'kindXBITMAP' : 'X bitmap image', 'kindPXM' : 'Pixelmator image', // media 'kindAudio' : 'Audio media', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video media', 'kindVideoDV' : 'DV movie', 'kindVideoMPEG' : 'MPEG movie', 'kindVideoMPEG4' : 'MPEG-4 movie', 'kindVideoAVI' : 'AVI movie', 'kindVideoMOV' : 'Quick Time movie', 'kindVideoWM' : 'Windows Media movie', 'kindVideoFlash' : 'Flash movie', 'kindVideoMKV' : 'Matroska movie', 'kindVideoOGG' : 'Ogg movie' } }; } wp-file-manager/lib/js/i18n/elfinder.es.js000064400000076214151202472330014225 0ustar00/** * Español internacional translation * @author Julián Torres * @author Luis Faura * @author Adrià Vilanova * @author Wilman Marín Duran * @version 2018-04-10 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.es = { translator : 'Julián Torres <julian.torres@pabernosmatao.com>, Luis Faura <luis@luisfaura.es>, Adrià Vilanova <me@avm99963.tk>, Wilman Marín Duran <fuclo05@hotmail.com>', language : 'Español internacional', direction : 'ltr', dateFormat : 'M d, Y h:i A', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM nonameDateFormat : 'ymd-His', // to apply if upload file is noname: 120513172700 messages : { /********************************** errors **********************************/ 'error' : 'Error', 'errUnknown' : 'Error desconocido.', 'errUnknownCmd' : 'Comando desconocido.', 'errJqui' : 'Configuración no válida de jQuery UI. Deben estar incluidos los componentes selectable, draggable y droppable.', 'errNode' : 'elFinder necesita crear elementos DOM.', 'errURL' : '¡Configuración no válida de elFinder! La opción URL no está configurada.', 'errAccess' : 'Acceso denegado.', 'errConnect' : 'No se ha podido conectar con el backend.', 'errAbort' : 'Conexión cancelada.', 'errTimeout' : 'Conexión cancelada por timeout.', 'errNotFound' : 'Backend no encontrado.', 'errResponse' : 'Respuesta no válida del backend.', 'errConf' : 'Configuración no válida del backend .', 'errJSON' : 'El módulo PHP JSON no está instalado.', 'errNoVolumes' : 'No hay disponibles volúmenes legibles.', 'errCmdParams' : 'Parámetros no válidos para el comando "$1".', 'errDataNotJSON' : 'los datos no están en formato JSON.', 'errDataEmpty' : 'No hay datos.', 'errCmdReq' : 'La petición del backend necesita un nombre de comando.', 'errOpen' : 'No se puede abrir "$1".', 'errNotFolder' : 'El objeto no es una carpeta.', 'errNotFile' : 'El objeto no es un archivo.', 'errRead' : 'No se puede leer "$1".', 'errWrite' : 'No se puede escribir en "$1".', 'errPerm' : 'Permiso denegado.', 'errLocked' : '"$1" está bloqueado y no puede ser renombrado, movido o borrado.', 'errExists' : 'Ya existe un archivo llamado "$1".', 'errInvName' : 'Nombre de archivo no válido.', 'errInvDirname' : 'Nombre de carpeta inválido.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Carpeta no encontrada.', 'errFileNotFound' : 'Archivo no encontrado.', 'errTrgFolderNotFound' : 'Carpeta de destino "$1" no encontrada.', 'errPopup' : 'El navegador impide abrir nuevas ventanas. Puede activarlo en las opciones del navegador.', 'errMkdir' : 'No se puede crear la carpeta "$1".', 'errMkfile' : 'No se puede crear el archivo "$1".', 'errRename' : 'No se puede renombrar "$1".', 'errCopyFrom' : 'No se permite copiar archivos desde el volumen "$1".', 'errCopyTo' : 'No se permite copiar archivos al volumen "$1".', 'errMkOutLink' : 'No se ha podido crear el enlace fuera del volumen raíz.', // from v2.1 added 03.10.2015 'errUpload' : 'Error en el envío.', // old name - errUploadCommon 'errUploadFile' : 'No se ha podido cargar "$1".', // old name - errUpload 'errUploadNoFiles' : 'No hay archivos para subir.', 'errUploadTotalSize' : 'El tamaño de los datos excede el máximo permitido.', // old name - errMaxSize 'errUploadFileSize' : 'El tamaño del archivo excede el máximo permitido.', // old name - errFileMaxSize 'errUploadMime' : 'Tipo de archivo no permitido.', 'errUploadTransfer' : 'Error al transferir "$1".', 'errUploadTemp' : 'No se ha podido crear el archivo temporal para la subida.', // from v2.1 added 26.09.2015 'errNotReplace' : 'El objeto "$1" ya existe y no puede ser reemplazado por otro con otro tipo.', // new 'errReplace' : 'No se puede reemplazar "$1".', 'errSave' : 'No se puede guardar "$1".', 'errCopy' : 'No se puede copiar "$1".', 'errMove' : 'No se puede mover "$1".', 'errCopyInItself' : 'No se puede copiar "$1" en si mismo.', 'errRm' : 'No se puede borrar "$1".', 'errTrash' : 'No se puede enviar a la papelera.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'No se puede(n) borrar los archivo(s).', 'errExtract' : 'No se puede extraer archivos desde "$1".', 'errArchive' : 'No se puede crear el archivo.', 'errArcType' : 'Tipo de archivo no soportado.', 'errNoArchive' : 'El archivo no es de tipo archivo o es de un tipo no soportado.', 'errCmdNoSupport' : 'El backend no soporta este comando.', 'errReplByChild' : 'La carpeta “$1” no puede ser reemplazada por un elemento contenido en ella.', 'errArcSymlinks' : 'Por razones de seguridad no se pueden descomprimir archivos que contengan enlaces simbólicos.', // edited 24.06.2012 'errArcMaxSize' : 'El tamaño del archivo excede el máximo permitido.', 'errResize' : 'Error al redimensionar "$1".', 'errResizeDegree' : 'Grado de rotación inválido.', // added 7.3.2013 'errResizeRotate' : 'Error al rotar la imagen.', // added 7.3.2013 'errResizeSize' : 'Tamaño de imagen inválido.', // added 7.3.2013 'errResizeNoChange' : 'No se puede cambiar el tamaño de la imagen.', // added 7.3.2013 'errUsupportType' : 'Tipo de archivo no soportado.', 'errNotUTF8Content' : 'El archivo "$1" no está en formato UTF-8 y no puede ser editado.', // added 9.11.2011 'errNetMount' : 'Fallo al montar "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protocolo no soportado.', // added 17.04.2012 'errNetMountFailed' : 'Fallo al montar.', // added 17.04.2012 'errNetMountHostReq' : 'Dominio requerido.', // added 18.04.2012 'errSessionExpires' : 'La sesión ha expirado por inactividad', 'errCreatingTempDir' : 'No se ha podido crear al directorio temporal: "$1"', 'errFtpDownloadFile' : 'No se ha podido descargar el archivo desde FTP: "$1"', 'errFtpUploadFile' : 'No se ha podido cargar el archivo a FTP: "$1"', 'errFtpMkdir' : 'No se ha podido crear el directorio remoto en FTP: "$1"', 'errArchiveExec' : 'Se ha producido un error durante el archivo: "$1"', 'errExtractExec' : 'Se ha producido un error durante la extracción de archivos: "$1"', 'errNetUnMount' : 'Imposible montar', // from v2.1 added 30.04.2012 'errConvUTF8' : 'No es convertible a UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Prueba con un navegador moderno, si quieres subir la carpeta completa.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Se agotó el tiempo de espera buscando "$1". Los resultados de búsqueda son parciales.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Se requiere autorizar de nuevo.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Número máximo de elementos seleccionables es $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'No se puede restaurar desde la papelera. No se puede identificar el destino de restauración.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor no encontrado para este tipo de archivo.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Error ocurrido en el lado del servidor.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'No es posible vaciar la carpeta "$1".', // from v2.1.25 added 22.6.2017 /******************************* commands names ********************************/ 'cmdarchive' : 'Crear archivo', 'cmdback' : 'Atrás', 'cmdcopy' : 'Copiar', 'cmdcut' : 'Cortar', 'cmddownload' : 'Descargar', 'cmdduplicate' : 'Duplicar', 'cmdedit' : 'Editar archivo', 'cmdextract' : 'Extraer elementos del archivo', 'cmdforward' : 'Adelante', 'cmdgetfile' : 'Seleccionar archivos', 'cmdhelp' : 'Acerca de este software', 'cmdhome' : 'Inicio', 'cmdinfo' : 'Obtener información', 'cmdmkdir' : 'Nueva carpeta', 'cmdmkdirin' : 'En una nueva carpeta', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nueva archivo', 'cmdopen' : 'Abrir', 'cmdpaste' : 'Pegar', 'cmdquicklook' : 'Previsualizar', 'cmdreload' : 'Recargar', 'cmdrename' : 'Cambiar nombre', 'cmdrm' : 'Eliminar', 'cmdtrash' : 'Enviar a la papelera', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restaurar', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Buscar archivos', 'cmdup' : 'Ir a la carpeta raíz', 'cmdupload' : 'Subir archivos', 'cmdview' : 'Ver', 'cmdresize' : 'Redimensionar y rotar', 'cmdsort' : 'Ordenar', 'cmdnetmount' : 'Montar volumen en red', // added 18.04.2012 'cmdnetunmount': 'Desmontar', // from v2.1 added 30.04.2012 'cmdplaces' : 'A Lugares', // added 28.12.2014 'cmdchmod' : 'Cambiar modo', // from v2.1 added 20.6.2015 'cmdopendir' : 'Abrir una carpeta', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Restablecer ancho de columna', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Pantalla completa', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Mover', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Vaciar la carpeta', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Deshacer', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Rehacer', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferencias', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Seleccionar todo', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Seleccionar ninguno', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Invertir selección', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Abrir en nueva ventana', // from v2.1.38 added 3.4.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Cerrar', 'btnSave' : 'Guardar', 'btnRm' : 'Eliminar', 'btnApply' : 'Aplicar', 'btnCancel' : 'Cancelar', 'btnNo' : 'No', 'btnYes' : 'Sí', 'btnMount' : 'Montar', // added 18.04.2012 'btnApprove': 'Ir a $1 y aprobar', // from v2.1 added 26.04.2012 'btnUnmount': 'Desmontar', // from v2.1 added 30.04.2012 'btnConv' : 'Convertir', // from v2.1 added 08.04.2014 'btnCwd' : 'Aquí', // from v2.1 added 22.5.2015 'btnVolume' : 'Volumen', // from v2.1 added 22.5.2015 'btnAll' : 'Todos', // from v2.1 added 22.5.2015 'btnMime' : 'Tipo MIME', // from v2.1 added 22.5.2015 'btnFileName':'Nombre de archivo', // from v2.1 added 22.5.2015 'btnSaveClose': 'Guardar y cerrar', // from v2.1 added 12.6.2015 'btnBackup' : 'Copia de seguridad', // fromv2.1 added 28.11.2015 'btnRename' : 'Renombrar', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Renombrar(Todo)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Ant ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Sig ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Guardar como', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Abrir carpeta', 'ntffile' : 'Abrir archivo', 'ntfreload' : 'Actualizar contenido de la carpeta', 'ntfmkdir' : 'Creando directorio', 'ntfmkfile' : 'Creando archivos', 'ntfrm' : 'Eliminando archivos', 'ntfcopy' : 'Copiar archivos', 'ntfmove' : 'Mover archivos', 'ntfprepare' : 'Preparar copia de archivos', 'ntfrename' : 'Renombrar archivos', 'ntfupload' : 'Subiendo archivos', 'ntfdownload' : 'Descargando archivos', 'ntfsave' : 'Guardar archivos', 'ntfarchive' : 'Creando archivo', 'ntfextract' : 'Extrayendo elementos del archivo', 'ntfsearch' : 'Buscando archivos', 'ntfresize' : 'Redimensionando imágenes', 'ntfsmth' : 'Haciendo algo', 'ntfloadimg' : 'Cargando imagen', 'ntfnetmount' : 'Montando volumen en red', // added 18.04.2012 'ntfnetunmount': 'Desmontando volumen en red', // from v2.1 added 30.04.2012 'ntfdim' : 'Adquiriendo tamaño de imagen', // added 20.05.2013 'ntfreaddir' : 'Leyendo información de la carpeta', // from v2.1 added 01.07.2013 'ntfurl' : 'Obteniendo URL del enlace', // from v2.1 added 11.03.2014 'ntfchmod' : 'Cambiando el modo de archivo', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verificando nombre del archivo subido', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Creando un archivo para descargar', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Obteniendo información de la ruta', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Procesando el archivo cargado', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Enviando a la papelera', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Restaurando desde la papelera', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Comprobando carpeta de destino', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Deshaciendo operación previa', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Rehaciendo previo deshacer', // from v2.1.27 added 31.07.2017 /*********************************** volumes *********************************/ 'volume_Trash' : 'Papelera', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'desconocida', 'Today' : 'Hoy', 'Yesterday' : 'Ayer', 'msJan' : 'Ene', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Abr', 'msMay' : 'May', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Ago', 'msSep' : 'Sep', 'msOct' : 'Oct', 'msNov' : 'Nov', 'msDec' : 'Dic', 'January' : 'Enero', 'February' : 'Febrero', 'March' : 'Marzo', 'April' : 'Abril', 'May' : 'Mayo', 'June' : 'Junio', 'July' : 'Julio', 'August' : 'Agosto', 'September' : 'Septiembre', 'October' : 'Octubre', 'November' : 'Noviembre', 'December' : 'Diciembre', 'Sunday' : 'Domingo', 'Monday' : 'Lunes', 'Tuesday' : 'Martes', 'Wednesday' : 'Miércoles', 'Thursday' : 'Jueves', 'Friday' : 'Viernes', 'Saturday' : 'Sábado', 'Sun' : 'Dom', 'Mon' : 'Lun', 'Tue' : 'Mar', 'Wed' : 'Mie', 'Thu' : 'Jue', 'Fri' : 'Vie', 'Sat' : 'Sab', /******************************** sort variants ********************************/ 'sortname' : 'por nombre', 'sortkind' : 'por tipo', 'sortsize' : 'por tamaño', 'sortdate' : 'por fecha', 'sortFoldersFirst' : 'Las carpetas primero', 'sortperm' : 'por permiso', // from v2.1.13 added 13.06.2016 'sortmode' : 'por modo', // from v2.1.13 added 13.06.2016 'sortowner' : 'por propietario', // from v2.1.13 added 13.06.2016 'sortgroup' : 'por grupo', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'También árbol de directorios', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NuevoArchivo.txt', // added 10.11.2015 'untitled folder' : 'NuevaCarpeta', // added 10.11.2015 'Archive' : 'NuevoArchivo', // from v2.1 added 10.11.2015 /********************************** messages **********************************/ 'confirmReq' : 'Se necesita confirmación', 'confirmRm' : '¿Está seguro de querer eliminar archivos?
                      ¡Esto no se puede deshacer!', 'confirmRepl' : '¿Reemplazar el antiguo archivo con el nuevo?', 'confirmRest' : '¿Reemplazar elemento existente con el elemento en la papelera?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'No está en UTF-8
                      Convertir a UTF-8?
                      Los contenidos se guardarán en UTF-8 tras la conversión.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Codificación de caracteres de este archivo no pudo ser detectada. Es necesario convertir temporalmente a UTF-8 para editarlo.
                      Por favor, seleccione la codificación de caracteres de este archivo.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Ha sido modificado.
                      Perderás los cambios si no los guardas.', // from v2.1 added 15.7.2015 'confirmTrash' : '¿Estás seguro que quieres mover los elementos a la papelera?', //from v2.1.24 added 29.4.2017 'apllyAll' : 'Aplicar a todo', 'name' : 'Nombre', 'size' : 'Tamaño', 'perms' : 'Permisos', 'modify' : 'Modificado', 'kind' : 'Tipo', 'read' : 'lectura', 'write' : 'escritura', 'noaccess' : 'sin acceso', 'and' : 'y', 'unknown' : 'desconocido', 'selectall' : 'Seleccionar todos los archivos', 'selectfiles' : 'Seleccionar archivo(s)', 'selectffile' : 'Seleccionar primer archivo', 'selectlfile' : 'Seleccionar último archivo', 'viewlist' : 'ver como lista', 'viewicons' : 'Ver como iconos', 'places' : 'Lugares', 'calc' : 'Calcular', 'path' : 'Ruta', 'aliasfor' : 'Alias para', 'locked' : 'Bloqueado', 'dim' : 'Dimensiones', 'files' : 'Archivos', 'folders' : 'Carpetas', 'items' : 'Elementos', 'yes' : 'sí', 'no' : 'no', 'link' : 'Enlace', 'searcresult' : 'Resultados de la búsqueda', 'selected' : 'elementos seleccionados', 'about' : 'Acerca', 'shortcuts' : 'Accesos directos', 'help' : 'Ayuda', 'webfm' : 'Administrador de archivos web', 'ver' : 'Versión', 'protocolver' : 'versión del protocolo', 'homepage' : 'Inicio', 'docs' : 'Documentación', 'github' : 'Bifúrcanos en Github', 'twitter' : 'Síguenos en Twitter', 'facebook' : 'Únete a nosotros en Facebook', 'team' : 'Equipo', 'chiefdev' : 'desarrollador jefe', 'developer' : 'desarrollador', 'contributor' : 'contribuyente', 'maintainer' : 'mantenedor', 'translator' : 'traductor', 'icons' : 'Iconos', 'dontforget' : 'y no olvide traer su toalla', 'shortcutsof' : 'Accesos directos desactivados', 'dropFiles' : 'Arrastre archivos aquí', 'or' : 'o', 'selectForUpload' : 'Seleccione archivos para subir', 'moveFiles' : 'Mover archivos', 'copyFiles' : 'Copiar archivos', 'restoreFiles' : 'Restaurar elementos', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Eliminar en sus ubicaciones', 'aspectRatio' : 'Relación de aspecto', 'scale' : 'Escala', 'width' : 'Ancho', 'height' : 'Alto', 'resize' : 'Redimensionar', 'crop' : 'Recortar', 'rotate' : 'Rotar', 'rotate-cw' : 'Rotar 90 grados en sentido horario', 'rotate-ccw' : 'Rotar 90 grados en sentido anti-horario', 'degree' : '°', 'netMountDialogTitle' : 'Montar volumen en red', // added 18.04.2012 'protocol' : 'Protocolo', // added 18.04.2012 'host' : 'Dominio', // added 18.04.2012 'port' : 'Puerto', // added 18.04.2012 'user' : 'Usuario', // added 18.04.2012 'pass' : 'Contraseña', // added 18.04.2012 'confirmUnmount' : '¿Desmontar $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Arrastra o pega archivos del navegador', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Arrastra o pega enlaces URL aquí', // from v2.1 added 07.04.2014 'encoding' : 'Codificando', // from v2.1 added 19.12.2014 'locale' : 'Local', // from v2.1 added 19.12.2014 'searchTarget' : 'Destino: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Buscar entrada por tipo MIME', // from v2.1 added 22.5.2015 'owner' : 'Propietario', // from v2.1 added 20.6.2015 'group' : 'Grupo', // from v2.1 added 20.6.2015 'other' : 'Otro', // from v2.1 added 20.6.2015 'execute' : 'Ejecutar', // from v2.1 added 20.6.2015 'perm' : 'Permiso', // from v2.1 added 20.6.2015 'mode' : 'Modo', // from v2.1 added 20.6.2015 'emptyFolder' : 'La carpeta está vacía', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'La carpeta está vacía\\A Arrastrar para añadir elementos', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'La carpeta está vacía\\A Presiona durante un rato para añadir elementos', // from v2.1.6 added 30.12.2015 'quality' : 'Calidad', // from v2.1.6 added 5.1.2016 'autoSync' : 'Sincronización automática', // from v2.1.6 added 10.1.2016 'moveUp' : 'Mover arriba', // from v2.1.6 added 18.1.2016 'getLink' : 'Obtener enlace', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Elementos seleccionados ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID carpeta', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Permitir acceso sin conexión', // from v2.1.10 added 3.25.2016 'reAuth' : 'Para volver a autenticarse', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Cargando ahora...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Abrir múltiples archivos', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Estás tratando de abrir los $1 archivos. ¿Estás seguro que quieres abrir en el navegador?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'No se encontraron resultados en el objetivo de búsqueda.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Está editando un archivo.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Has seleccionado $1 elementos.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Posees $1 elementos en el portapapeles.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'La búsqueda incremental solo se realiza desde la vista actual.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Reinstanciar', // from v2.1.15 added 3.8.2016 'complete' : '$1 completo', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Menú contextual', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Cambio de página', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Raíces del volumen', // from v2.1.16 added 16.9.2016 'reset' : 'Reiniciar', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Color de fondo', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Selector de color', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Cuadricula', // from v2.1.16 added 4.10.2016 'enabled' : 'Habilitado', // from v2.1.16 added 4.10.2016 'disabled' : 'Deshabilitado', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Los resultados de la búsqueda están vacíos en la vista actual. \\ APulse [Intro] para expandir el objetivo de búsqueda.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'La primera letra de los resultados de búsqueda está vacía en la vista actual.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Etiqueta de texto', // from v2.1.17 added 13.10.2016 'minsLeft' : 'Falta $1 minuto(s)', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Abrir nuevamente con la codificación seleccionada', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Guardar con la codificación seleccionada', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Seleccionar carpeta', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Primera letra de búsqueda', // from v2.1.23 added 24.3.2017 'presets' : 'Preestablecidos', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Son demasiados elementos, por lo que no puede enviarse a la papelera.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Área de texto', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Vaciar la carpeta "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'No hay elementos en la carpeta "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preferencia', // from v2.1.26 added 28.6.2017 'language' : 'Lenguaje', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Inicializa la configuración guardada en este navegador', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Configuración de la barra de herramientas', // from v2.1.27 added 2.8.2017 'charsLeft' : '...falta $1 caracteres.', // from v2.1.29 added 30.8.2017 'sum' : 'Suma', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Tamaño de archivo aproximado', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Centrado en el elemento de diálogo con \'mouseover\'', // from v2.1.30 added 2.11.2017 'select' : 'Seleccionar', // from v2.1.30 added 23.11.2017 'selectAction' : 'Acción cuando selecciona un archivo', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Abrir con el editor utilizado la última vez', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Invertir selección', // from v2.1.30 added 25.11.2017 'renameMultiple' : '¿Estás seguro que quieres renombrar $1 elementos seleccionados como $2?
                      ¡Esto no puede ser deshecho!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Cambiar el nombre del lote', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Número', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Añadir prefijo', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Añadir sufijo', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Cambiar extensión', // from v2.1.31 added 8.12.2017 'columnPref' : 'Configuración de columnas (Vista de lista)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Todos los cambios se reflejarán inmediatamente en el archivo.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Cualquier cambio no se reflejará hasta que no se desmonte este volumen.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Los siguientes volúmenes montados en este volumen también se desmontaron. ¿Estás seguro de desmontarlo?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Información de la selección', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algoritmos para mostrar el hash de archivos', // from v2.1.33 added 10.3.2018 'infoItems' : 'Elementos de información (Panel de información de selección)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Presiona de nuevo para salir.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Barra de herramienta', // from v2.1.38 added 4.4.2018 'workspace' : 'Espacio de trabajo', // from v2.1.38 added 4.4.2018 'dialog' : 'Diálogo', // from v2.1.38 added 4.4.2018 'all' : 'Todo', // from v2.1.38 added 4.4.2018 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Desconocido', 'kindRoot' : 'Raíces del volumen', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Carpeta', 'kindSelects' : 'Selecciones', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Alias roto', // applications 'kindApp' : 'Aplicación', 'kindPostscript' : 'Documento Postscript', 'kindMsOffice' : 'Documento Microsoft Office', 'kindMsWord' : 'Documento Microsoft Word', 'kindMsExcel' : 'Documento Microsoft Excel', 'kindMsPP' : 'Presentación Microsoft Powerpoint', 'kindOO' : 'Documento Open Office', 'kindAppFlash' : 'Aplicación Flash', 'kindPDF' : 'Documento PDF', 'kindTorrent' : 'Archivo Bittorrent', 'kind7z' : 'Archivo 7z', 'kindTAR' : 'Archivo TAR', 'kindGZIP' : 'Archivo GZIP', 'kindBZIP' : 'Archivo BZIP', 'kindXZ' : 'Archivo XZ', 'kindZIP' : 'Archivo ZIP', 'kindRAR' : 'Archivo RAR', 'kindJAR' : 'Archivo Java JAR', 'kindTTF' : 'Fuente True Type', 'kindOTF' : 'Fuente Open Type', 'kindRPM' : 'Paquete RPM', // texts 'kindText' : 'Documento de texto', 'kindTextPlain' : 'Texto plano', 'kindPHP' : 'Código PHP', 'kindCSS' : 'Hoja de estilos CSS', 'kindHTML' : 'Documento HTML', 'kindJS' : 'Código Javascript', 'kindRTF' : 'Documento RTF', 'kindC' : 'Código C', 'kindCHeader' : 'Código C cabeceras', 'kindCPP' : 'Código C++', 'kindCPPHeader' : 'Código C++ cabeceras', 'kindShell' : 'Script de terminal de Unix', 'kindPython' : 'Código Python', 'kindJava' : 'Código Java', 'kindRuby' : 'Código Ruby', 'kindPerl' : 'Código Perl', 'kindSQL' : 'Código QL', 'kindXML' : 'Documento XML', 'kindAWK' : 'Código AWK', 'kindCSV' : 'Documento CSV (valores separados por comas)', 'kindDOCBOOK' : 'Documento Docbook XML', 'kindMarkdown' : 'Texto Markdown', // added 20.7.2015 // images 'kindImage' : 'Imagen', 'kindBMP' : 'Imagen BMP', 'kindJPEG' : 'Imagen JPEG', 'kindGIF' : 'Imagen GIF', 'kindPNG' : 'Imagen PNG', 'kindTIFF' : 'Imagen TIFF', 'kindTGA' : 'Imagen TGA', 'kindPSD' : 'Imagen Adobe Photoshop', 'kindXBITMAP' : 'Imagen X bitmap', 'kindPXM' : 'Imagen Pixelmator', // media 'kindAudio' : 'Archivo de audio', 'kindAudioMPEG' : 'Audio MPEG', 'kindAudioMPEG4' : 'Audio MPEG-4', 'kindAudioMIDI' : 'Audio MIDI', 'kindAudioOGG' : 'Audio Ogg Vorbis', 'kindAudioWAV' : 'Audio WAV', 'AudioPlaylist' : 'Lista de reproducción MP3', 'kindVideo' : 'Archivo de vídeo', 'kindVideoDV' : 'Película DV', 'kindVideoMPEG' : 'Película MPEG', 'kindVideoMPEG4' : 'Película MPEG-4', 'kindVideoAVI' : 'Película AVI', 'kindVideoMOV' : 'Película Quick Time', 'kindVideoWM' : 'Película Windows Media', 'kindVideoFlash' : 'Película Flash', 'kindVideoMKV' : 'Película Matroska MKV', 'kindVideoOGG' : 'Película Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.fa.js000064400000122465151202472330014204 0ustar00/** * فارسی translation * @author Keyhan Mohammadpour * @author mhs prog * @version 2021-04-14 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.fa = { translator : 'Keyhan Mohammadpour <keyhan_universityworks@yahoo.com>, Farhad Zare <farhad@persianoc.com>', language : 'فارسی', direction : 'rtl', dateFormat : 'd.m.Y H:i', // will show like: 14.04.2021 19:24 fancyDateFormat : '$1 H:i', // will show like: امروز 19:24 nonameDateFormat : 'ymd-His', // noname upload will show like: 210414-192445 messages : { /********************************** errors **********************************/ 'error' : 'خطا', 'errUnknown' : 'خطای ناشناخته.', 'errUnknownCmd' : 'دستور ناشناخته.', 'errJqui' : 'تنظیمات کتابخانه JQuery UI شما به درستی انجام نشده است. این کتابخانه بایستی شامل Resizable ،Draggable و Droppable باشد.', 'errNode' : 'elfinder به درستی ایجاد نشده است.', 'errURL' : 'تنظیمات elfinder شما به درستی انجام نشده است. تنظیم Url را اصلاح نمایید.', 'errAccess' : 'محدودیت سطح دسترسی', 'errConnect' : 'امکان اتصال به مدیریت وجود ندارد.', 'errAbort' : 'ارتباط قطع شده است.', 'errTimeout' : 'مهلت زمانی ارتباط شما به اتمام رسیده است.', 'errNotFound' : 'تنظیم مدیریت یافت نشد.', 'errResponse' : 'پاسخ دریافتی از مدیریت صحیح نمی باشد.', 'errConf' : 'تنطیمات مدیریت به درستی انجام نشده است.', 'errJSON' : 'ماژول PHP JSON نصب نیست.', 'errNoVolumes' : 'درایوهای قابل خواندن یافت نشدند.', 'errCmdParams' : 'پارامترهای دستور "$1" به صورت صحیح ارسال نشده است.', 'errDataNotJSON' : 'داده ها در قالب JSON نمی باشند.', 'errDataEmpty' : 'داده دریافتی خالی است.', 'errCmdReq' : 'درخواست از سمت مدیریت نیازمند نام دستور می باشد.', 'errOpen' : 'امکان باز نمودن "$1" وجود ندارد.', 'errNotFolder' : 'آیتم موردنظر پوشه نیست.', 'errNotFile' : 'آیتم موردنظر فایل نیست.', 'errRead' : 'امکان خواندن "$1" وجود ندارد.', 'errWrite' : 'امکان نوشتن در درون "$1" وجود ندارد.', 'errPerm' : 'شما مجاز به انجام این عمل نمی باشید.', 'errLocked' : '"$1" قفل گردیده است و شما قادر به تغییر نام ، حذف و یا جابجایی آن نمی باشید.', 'errExists' : 'فایلی با نام "$1" هم اکنون وجود دارد.', 'errInvName' : 'نام انتخابی شما صحیح نمی باشد.', 'errInvDirname' : 'نام پوشه غیرمعتبر می باشد.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'پوشه مورد نظر یافت نشد.', 'errFileNotFound' : 'فایل مورد نظر یافت نشد.', 'errTrgFolderNotFound' : 'پوشه مقصد با نام "$1" یافت نشد.', 'errPopup' : 'مرورگر شما ار باز شدن پنجره popup جلوگیری می کند، لطفا تنظیمات مربوطه را در مرورگر خود فعال نمایید.', 'errMkdir' : 'امکان ایجاد پوشه ای با نام "$1" وجود ندارد.', 'errMkfile' : 'امکان ایجاد فایلی با نام "$1" وجود ندارد.', 'errRename' : 'امکان تغییر نام فایل "$1" وجود ندارد.', 'errCopyFrom' : 'کپی نمودن از درایو با نام "$1" ممکن نمی باشد.', 'errCopyTo' : 'کپی نمودن به درایو با نام "$1" ممکن نمی باشد.', 'errMkOutLink' : 'امکان ایجاد لینک به خارج از مسیر ریشه وجود ندارد.', // from v2.1 added 03.10.2015 'errUpload' : 'خطای آپلود', // old name - errUploadCommon 'errUploadFile' : 'امکان آپلود "$1" وجود ندارد.', // old name - errUpload 'errUploadNoFiles' : 'فایلی برای آپلود یافت نشد.', 'errUploadTotalSize' : 'حجم داده بیش از حد مجاز می باشد.', // old name - errMaxSize 'errUploadFileSize' : 'حجم فایل بیش از حد مجاز می باشد.', // old name - errFileMaxSize 'errUploadMime' : 'نوع فایل انتخابی مجاز نمی باشد.', 'errUploadTransfer' : 'در انتقال "$1" خطایی رخ داده است.', 'errUploadTemp' : 'امکان ایجاد فایل موقت جهت آپلود وجود ندارد.', // from v2.1 added 26.09.2015 'errNotReplace' : 'آیتم "$1" از قبل وجود دارد و امکان جایگزینی آن با آیتمی از نوع دیگر وجود ندارد.', // new 'errReplace' : 'امکان جایگزینی "$1" وجود ندارد.', 'errSave' : 'امکان ذخیره کردن "$1" وجود ندارد.', 'errCopy' : 'امکان کپی کردن "$1" وجود ندارد.', 'errMove' : 'امکان جابجایی "$1" وجود ندارد.', 'errCopyInItself' : 'امکان کپی کردن "$1" در درون خودش وجود ندارد.', 'errRm' : 'امکان حذف کردن "$1" وجود ندارد.', 'errTrash' : 'امکان حذف وجود ندارد.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'امکان حذف فایل(ها) از مبدا وجود ندارد.', 'errExtract' : 'امکان استخراج فایل فشرده "$1" وجود ندارد.', 'errArchive' : 'امکان ایجاد فایل فشرده وجود ندارد.', 'errArcType' : 'نوع ناشناخته برای فایل فشرده.', 'errNoArchive' : 'این فایل فشرده نیست یا اینکه این نوع فایل فشرده پشتیبانی نمی شود.', 'errCmdNoSupport' : 'مدیریت از این دستور پشتیبانی نمی کند.', 'errReplByChild' : 'امکان جایگزینی پوشه "$1" با یک آیتم از درون خودش وجود ندارد.', 'errArcSymlinks' : 'به دلایل مسائل امنیتی امکان باز کردن فایل فشرده دارای symlinks وجود ندارد.', // edited 24.06.2012 'errArcMaxSize' : 'فایل های فشرده به حداکثر اندازه تعیین شده رسیده اند.', 'errResize' : 'امکان تغییر اندازه "$1" وجود ندارد.', 'errResizeDegree' : 'درجه چرخش نامعتبر است.', // added 7.3.2013 'errResizeRotate' : 'امکان چرخش تصویر وجود ندارد.', // added 7.3.2013 'errResizeSize' : 'اندازه تصویر نامعتبر است.', // added 7.3.2013 'errResizeNoChange' : 'تغییری در اندازه تصویر ایجاد نشده است.', // added 7.3.2013 'errUsupportType' : 'این نوع فایل پشتیبانی نمی شود.', 'errNotUTF8Content' : 'فایل "$1" به صورت UTF-8 ذخیره نشده و امکان ویرایش آن وجود ندارد.', // added 9.11.2011 'errNetMount' : 'امکان اتصال "$1" وجود ندارد.', // added 17.04.2012 'errNetMountNoDriver' : 'این پروتکل پشتیبانی نمی شود.', // added 17.04.2012 'errNetMountFailed' : 'اتصال ناموفق بود.', // added 17.04.2012 'errNetMountHostReq' : 'میزبان موردنیاز است.', // added 18.04.2012 'errSessionExpires' : 'اعتبار جلسه کاری شما بدلیل عدم فعالیت برای مدت زمان طولانی به اتمام رسیده است.', 'errCreatingTempDir' : 'امکان ایجاد دایرکتوری موقت وجود ندارد: "$1"', 'errFtpDownloadFile' : 'امکان دریافت فایل از FTP وجود ندارد: "$1"', 'errFtpUploadFile' : 'امکان آپلود فایل به FTP وجود ندارد: "$1"', 'errFtpMkdir' : 'امکان ایجاد دایرکتوری برروی FTP وجود ندارد: "$1"', 'errArchiveExec' : 'خطا در زمان فشرده سازی این فایل‌ها: "$1"', 'errExtractExec' : 'خطا در زمان بازگشایی این فایل‌ها: "$1"', 'errNetUnMount' : 'امکان قطع اتصال وجود ندارد.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'امکان تبدیل به UTF-8 وجود ندارد', // from v2.1 added 08.04.2014 'errFolderUpload' : 'جهت آپلود کردن پوشه، از یک مرورگر مدرن استفاده نمایید.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'در هنگان جستجو برای "$1" خطایی رخ داده است. نتیجه جستجو به صورت ناتمام می باشد.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'اعتبارسنجی مجدد موردنیاز است.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'حداکثر تعداد انتخاب قابل قبول $1 می‌باشد.', // from v2.1.17 added 17.10.2016 'errRestore' : 'امکان بازیابی وجود ندارد. مقصد بازیابی نامشخص است.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'ویرایشگری برای این نوع فایل یافت نشد.', // from v2.1.25 added 23.5.2017 'errServerError' : 'خطایی در سمت سرور به وجود آمده است.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'امکان خالی کردن پوشه "$1" وجود ندارد.', // from v2.1.25 added 22.6.2017 'moreErrors' : '$1 خطای دیگر نیز وجود دارد.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'ایجاد فایل فشرده', 'cmdback' : 'بازگشت به عقب', 'cmdcopy' : 'کپی', 'cmdcut' : 'بریدن', 'cmddownload' : 'دانلود', 'cmdduplicate' : 'تکثیر فایل', 'cmdedit' : 'ویرایش محتوای فایل', 'cmdextract' : 'بازگشایی فایل فشرده', 'cmdforward' : 'حرکت به جلو', 'cmdgetfile' : 'انتخاب فایل‌ها', 'cmdhelp' : 'درباره این نرم‌افزار', 'cmdhome' : 'ریشه', 'cmdinfo' : 'مشاهده مشخصات', 'cmdmkdir' : 'پوشه جدید', 'cmdmkdirin' : 'انتقال به پوشه جدید', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'فایل جدید', 'cmdopen' : 'باز کردن', 'cmdpaste' : 'چسباندن', 'cmdquicklook' : 'پیش نمایش', 'cmdreload' : 'بارگذاری مجدد', 'cmdrename' : 'تغییر نام', 'cmdrm' : 'حذف', 'cmdtrash' : 'انتقال به سطل بازیافت', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'بازیابی', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'جستجوی فایل', 'cmdup' : 'رفتن به سطح بالاتر', 'cmdupload' : 'آپلود فایل', 'cmdview' : 'مشاهده', 'cmdresize' : 'تغییر اندازه و چرخش', 'cmdsort' : 'مرتب سازی', 'cmdnetmount' : 'اتصال درایو شبکه', // added 18.04.2012 'cmdnetunmount': 'قطع اتصال', // from v2.1 added 30.04.2012 'cmdplaces' : 'به مسیرهای', // added 28.12.2014 'cmdchmod' : 'تغییر حالت', // from v2.1 added 20.6.2015 'cmdopendir' : 'بازکردن یک پوشه', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'بازنشانی عرض ستون', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'حالت نمایش تمام صفحه', // from v2.1.15 added 03.08.2016 'cmdmove' : 'انتقال', // from v2.1.15 added 21.08.2016 'cmdempty' : 'خالی کردن پوشه', // from v2.1.25 added 22.06.2017 'cmdundo' : 'خنثی‌سازی', // from v2.1.27 added 31.07.2017 'cmdredo' : 'انجام مجدد', // from v2.1.27 added 31.07.2017 'cmdpreference': 'تنظیمات', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'انتخاب همه موارد', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'لغو انتخاب', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'انتخاب معکوس', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'باز کردن در پنجره جدید', // from v2.1.38 added 3.4.2018 'cmdhide' : 'مخفی (پیشنهادی)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'بستن', 'btnSave' : 'ذخیره', 'btnRm' : 'حذف', 'btnApply' : 'اعمال', 'btnCancel' : 'انصراف', 'btnNo' : 'خیر', 'btnYes' : 'بلی', 'btnMount' : 'اتصال', // added 18.04.2012 'btnApprove': 'رفتن به $1 و تایید', // from v2.1 added 26.04.2012 'btnUnmount': 'قطع اتصال', // from v2.1 added 30.04.2012 'btnConv' : 'تبدیل', // from v2.1 added 08.04.2014 'btnCwd' : 'اینجا', // from v2.1 added 22.5.2015 'btnVolume' : 'درایو', // from v2.1 added 22.5.2015 'btnAll' : 'همه', // from v2.1 added 22.5.2015 'btnMime' : 'نوع فایل', // from v2.1 added 22.5.2015 'btnFileName':'نام فایل', // from v2.1 added 22.5.2015 'btnSaveClose': 'ذخیره و بستن', // from v2.1 added 12.6.2015 'btnBackup' : 'پشتیبان‌گیری', // fromv2.1 added 28.11.2015 'btnRename' : 'تغییر نام', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'تغییر نام(همه)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'قبلی ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'بعدی ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'ذخیره با نام جدید', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'در حال باز کردن پوشه', 'ntffile' : 'در حال باز کردن فایل', 'ntfreload' : 'بارگذاری مجدد محتویات پوشه', 'ntfmkdir' : 'در حال ایجاد پوشه', 'ntfmkfile' : 'در حال ایجاد فایل', 'ntfrm' : 'در حال حذف موارد موردنظر', 'ntfcopy' : 'در حال کپی موارد موردنظر', 'ntfmove' : 'در حال انتقال موارد موردنظر', 'ntfprepare' : 'بررسی موارد موجود', 'ntfrename' : 'در حال تغییر نام فایل', 'ntfupload' : 'در حال آپلود فایل', 'ntfdownload' : 'در حال دانلود فایل', 'ntfsave' : 'در حال ذخیره فایل', 'ntfarchive' : 'در حال ایجاد فایل فشرده', 'ntfextract' : 'در حال استخراج فایل ها از حالت فشرده', 'ntfsearch' : 'در حال جستجوی فایل', 'ntfresize' : 'در حال تغییر اندازه تصاویر', 'ntfsmth' : 'درحال انجام عملیات ....', 'ntfloadimg' : 'در حال بارگذاری تصویر', 'ntfnetmount' : 'در حال اتصال درایو شبکه', // added 18.04.2012 'ntfnetunmount': 'قطع اتصال درایو شبکه', // from v2.1 added 30.04.2012 'ntfdim' : 'در حال محاسبه ابعاد تصویر', // added 20.05.2013 'ntfreaddir' : 'در حال دریافت مشخصات پوشه', // from v2.1 added 01.07.2013 'ntfurl' : 'در حال دریافت URL', // from v2.1 added 11.03.2014 'ntfchmod' : 'در حال تغییر نوع فایل', // from v2.1 added 20.6.2015 'ntfpreupload': 'در حال تایید نام فایل جهت آپلود', // from v2.1 added 31.11.2015 'ntfzipdl' : 'در حال ایجاد فایل جهت دانلود', // from v2.1.7 added 23.1.2016 'ntfparents' : 'در حال دریافت اطلاعات مسیر', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'در حال پردازش فایل آپلود شده', // from v2.1.17 added 2.11.2016 'ntftrash' : 'در حال انتقال به سطل بازیافت', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'در حال بازیابی از سطل بازیافت', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'بررسی پوشه مقصد', // from v2.1.24 added 3.5.2017 'ntfundo' : 'در حال خنثی‌سازی آخرین عملیات', // from v2.1.27 added 31.07.2017 'ntfredo' : 'در حال انجام مجدد آخرین عملیات', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'در حال بررسی مطالب', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'سطل بازیافت', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'نامعلوم', 'Today' : 'امروز', 'Yesterday' : 'دیروز', 'msJan' : 'ژانویه', 'msFeb' : 'فوریه', 'msMar' : 'مارس', 'msApr' : 'آوریل', 'msMay' : 'می', 'msJun' : 'جون', 'msJul' : 'جولای', 'msAug' : 'آگوست', 'msSep' : 'سپتامبر', 'msOct' : 'اکتبر', 'msNov' : 'نوامبر', 'msDec' : 'دسامبر', 'January' : 'ژانویه', 'February' : 'فوریه', 'March' : 'مارس', 'April' : 'آوریل', 'May' : 'می', 'June' : 'جون', 'July' : 'جولای', 'August' : 'آگوست', 'September' : 'سپتامبر', 'October' : 'اکتبر', 'November' : 'نوامبر', 'December' : 'دسامبر', 'Sunday' : 'یک‌شنبه', 'Monday' : 'دوشنبه', 'Tuesday' : 'سه‌شنبه', 'Wednesday' : 'چهارشنبه', 'Thursday' : 'پنج‌شنبه', 'Friday' : 'جمعه', 'Saturday' : 'شنبه', 'Sun' : 'یک‌شنبه', 'Mon' : 'دوشنبه', 'Tue' : 'سه‌شنبه', 'Wed' : 'چهارشنبه', 'Thu' : 'پنج‌شنبه', 'Fri' : 'جمعه', 'Sat' : 'شنبه', /******************************** sort variants ********************************/ 'sortname' : 'بر اساس نام', 'sortkind' : 'بر اساس نوع', 'sortsize' : 'بر اساس اندازه', 'sortdate' : 'بر اساس تاریخ', 'sortFoldersFirst' : 'پوشه‌ها در ابتدای لیست', 'sortperm' : 'براساس سطح دسترسی', // from v2.1.13 added 13.06.2016 'sortmode' : 'براساس مد دسترسی', // from v2.1.13 added 13.06.2016 'sortowner' : 'براساس مالک', // from v2.1.13 added 13.06.2016 'sortgroup' : 'براساس گروه', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'همچنین نمای درختی', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'فایل .txt جدید', // added 10.11.2015 'untitled folder' : 'پوشه جدید', // added 10.11.2015 'Archive' : 'بایگانی جدید', // from v2.1 added 10.11.2015 'untitled file' : '$1 فایل جدید', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: فایل', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'تایید نهایی عملیات ضروری است.', 'confirmRm' : 'آیا مطمئنید که موارد انتخابی حذف شوند؟ موارد حدف شده قابل بازیابی نخواهند بود!', 'confirmRepl' : 'مالیلد جایگزینی فایل قدیمی با فایل جدید انجام شود؟ (برای جایگزینی پوشه محتوای قدیمی با محتوای پوشه جدید ادغام خواهد شد. برای تهیه پشتیبانی و سپس جایگزینی گزینه پشتیبان‌گیری را انتخاب نمایید)', 'confirmRest' : 'آیا مایلید موارد موجود با موارد بازیابی شده از سطل بازیافت جایگزین شود؟', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'UTF-8 نیست
                      تبدیل به UTF-8 انجام شود؟
                      پس از ذخیره سازی محتوا به صورت UTF-8 خواهد بود.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'encoding این فایل قابل تشخیص نیست. جهت ویرایش نیاز است که به صورت موقت به UTF-8 تبدیل شود.
                      لطفا encoding فایل را انتخاب نمایید.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'تغییراتی اعمال شده است.
                      در صورت عدم ذخیره تغییرات از بین خواهد رفت.', // from v2.1 added 15.7.2015 'confirmTrash' : 'آیا مطمئنید که این موارد به سطل بازیافت منتقل شوند؟', //from v2.1.24 added 29.4.2017 'confirmMove' : 'آیا مطمئن هستید که می خواهید موارد را به "$1" منتقل کنید؟', //from v2.1.50 added 27.7.2019 'apllyAll' : 'اعمال تغییرات به همه موارد', 'name' : 'نام', 'size' : 'اندازه', 'perms' : 'سطح دسترسی', 'modify' : 'آخرین تغییرات', 'kind' : 'نوع', 'read' : 'خواندن', 'write' : 'نوشتن', 'noaccess' : 'دسترسی وجود ندارد', 'and' : 'و', 'unknown' : 'نامعلوم', 'selectall' : 'انتخاب همه موارد', 'selectfiles' : 'انتخاب یک یا چند مورد', 'selectffile' : 'انتخاب اولین مورد', 'selectlfile' : 'انتخاب آخرین مورد', 'viewlist' : 'حالت نمایش لیست', 'viewicons' : 'نمایش با آیکون', 'viewSmall' : 'آیکون‌های کوچک', // from v2.1.39 added 22.5.2018 'viewMedium' : 'آیکون‌های متوسط', // from v2.1.39 added 22.5.2018 'viewLarge' : 'آیکون‌های بزرگ', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'آیکون‌های خیلی بزرگ', // from v2.1.39 added 22.5.2018 'places' : 'مسیرها', 'calc' : 'محاسبه', 'path' : 'مسیر', 'aliasfor' : 'نام مستعار برای', 'locked' : 'قفل شده', 'dim' : 'ابعاد', 'files' : 'فایل‌ها', 'folders' : 'پوشه‌ها', 'items' : 'آیتم‌ها', 'yes' : 'بلی', 'no' : 'خیر', 'link' : 'لینک', 'searcresult' : 'نتایج جستجو', 'selected' : 'موارد انتخاب شده', 'about' : 'درباره', 'shortcuts' : 'میانبرها', 'help' : 'راهنمایی', 'webfm' : 'مدیر فایل تحت وب', 'ver' : 'نسخه', 'protocolver' : 'نسخه پروتکل', 'homepage' : 'صفحه اصلی پروژه', 'docs' : 'مستندات', 'github' : 'صفحه پروژه را در Github مشاهده کنید', 'twitter' : 'ما را در Twitter دنبال کنید', 'facebook' : 'به ما در facebook ملحق شوید', 'team' : 'تیم', 'chiefdev' : 'توسعه دهنده اصلی', 'developer' : 'توسعه دهنده', 'contributor' : 'مشارکت کننده', 'maintainer' : 'پشتیبان', 'translator' : 'مترجم', 'icons' : 'آیکون‌ها', 'dontforget' : 'and don\'t forget to take your towel', 'shortcutsof' : 'میانبرها غیرفعال شده‌اند.', 'dropFiles' : 'فایل ها در این بخش رها کنید.', 'or' : 'یا', 'selectForUpload' : 'انتخاب فایل جهت آپلود', 'moveFiles' : 'انتقال موارد', 'copyFiles' : 'کپی موارد', 'restoreFiles' : 'بازیابی موارد', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'حذف', 'aspectRatio' : 'نسبت تصویر', 'scale' : 'مقیاس', 'width' : 'طول', 'height' : 'ارتفاع', 'resize' : 'تغییر اندازه', 'crop' : 'بریدن', 'rotate' : 'چرخاندن', 'rotate-cw' : 'چرخاندن 90 درجه در جهت عقربه‌های ساعت', 'rotate-ccw' : 'چرخاندن 90 درجه در جهت خلاف عقربه‌های ساعت', 'degree' : '°', 'netMountDialogTitle' : 'اتصال درایو شبکه', // added 18.04.2012 'protocol' : 'پروتکل', // added 18.04.2012 'host' : 'میزبان', // added 18.04.2012 'port' : 'پورت', // added 18.04.2012 'user' : 'نام کاربری', // added 18.04.2012 'pass' : 'کلمه عبور', // added 18.04.2012 'confirmUnmount' : 'مطمئن به قطع اتصال $1 می باشد؟', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'فایل‌ها را به داخل این کادر بیندازید یا از حافظه paste کنید', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'فایل‌ها را به داخل این کادر بیندازید یا از داخل حافظه آدرس URL/تصاویر را paste کنید', // from v2.1 added 07.04.2014 'encoding' : 'نوع کد گذاری', // from v2.1 added 19.12.2014 'locale' : 'نوع Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'مقصد: $1', // from v2.1 added 22.5.2015 'searchMime' : 'جستجو براساس MIME Type وارد شده', // from v2.1 added 22.5.2015 'owner' : 'مالک', // from v2.1 added 20.6.2015 'group' : 'گروه', // from v2.1 added 20.6.2015 'other' : 'سایر', // from v2.1 added 20.6.2015 'execute' : 'قابل اجرا', // from v2.1 added 20.6.2015 'perm' : 'سطح دسترسی', // from v2.1 added 20.6.2015 'mode' : 'مد دسترسی', // from v2.1 added 20.6.2015 'emptyFolder' : 'پوشه خالی است', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'پوشه خالی است، فایل‌ها را جهت افزودن کشیده و رها کنید', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'پوشه خالی است، یک اشاره طولانی برای افزودن فایل کافی است', // from v2.1.6 added 30.12.2015 'quality' : 'کیفیت', // from v2.1.6 added 5.1.2016 'autoSync' : 'همگام‌سازی خودکار', // from v2.1.6 added 10.1.2016 'moveUp' : 'حرکت به بالا', // from v2.1.6 added 18.1.2016 'getLink' : 'دریافت URL لینک', // from v2.1.7 added 9.2.2016 'selectedItems' : 'موارد انتخاب شده ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'شناسه پوشه', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'اجازه دسترسی به صورت آفلاین', // from v2.1.10 added 3.25.2016 'reAuth' : 'جهت اعتبارسنجی مجدد', // from v2.1.10 added 3.25.2016 'nowLoading' : 'در حال بازگذاری...', // from v2.1.12 added 4.26.2016 'openMulti' : 'بازکردن چندین فایل', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'شما قصد باز کردن $1 فایل را دارید. آیا مایلید همه موارد در مرورگر باز شود؟', // from v2.1.12 added 5.14.2016 'emptySearch' : 'موردی یافت نشد.', // from v2.1.12 added 5.16.2016 'editingFile' : 'در حال ویرایش یک فایل.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'شما $1 مورد را انتخاب کرده‌اید.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'در حافظه $1 مورد وجود دارد.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'جستجوی افزایش فقط از نمای فعلی.', // from v2.1.13 added 6.30.2016 'reinstate' : 'بازگرداندن', // from v2.1.15 added 3.8.2016 'complete' : 'عملیات $1 انجام شد', // from v2.1.15 added 21.8.2016 'contextmenu' : 'منو راست', // from v2.1.15 added 9.9.2016 'pageTurning' : 'چرخش صفحه', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'ریشه‌های درایو', // from v2.1.16 added 16.9.2016 'reset' : 'بازنشانی', // from v2.1.16 added 1.10.2016 'bgcolor' : 'رنگ پس زمینه', // from v2.1.16 added 1.10.2016 'colorPicker' : 'انتخابگر رنگ', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'گرید 8px', // from v2.1.16 added 4.10.2016 'enabled' : 'فعال شده', // from v2.1.16 added 4.10.2016 'disabled' : 'غیرفعال شده', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'در نمای فعلی موردی یافت نشد.\\Aبا فشردن کلید Enter مسیر جستجو را تغییر دهید.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'برای جستجوی تک حرفی در نمایش فعلی موردی یافت نشد.', // from v2.1.23 added 24.3.2017 'textLabel' : 'عنوان متنی', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 دقیقه باقیمانده', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'باز کردن مجدد با کد گذاری انتخاب شده', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'ذخیره با کد گذاری انتخاب شده', // from v2.1.19 added 2.12.2016 'selectFolder' : 'انتخاب پوشه', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'جستجوی تک حرفی', // from v2.1.23 added 24.3.2017 'presets' : 'از پیش تعیین شده', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'موارد زیاد است و امکان انتقال به سطل بازیافت وجود ندارد.', // from v2.1.25 added 9.6.2017 'TextArea' : 'ویرایش محتوا', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'خالی کردن پوشه "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'پوشه "$1" ‌ذاتا خالی است.', // from v2.1.25 added 22.6.2017 'preference' : 'تنظیمات', // from v2.1.26 added 28.6.2017 'language' : 'زبان', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'بازبینی تنظیمات ذخیره شده در این مرورگر', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'تنظیمات نوار ابزار', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 کاراکتر باقیمانده.', // from v2.1.29 added 30.8.2017 'linesLeft' : '$1 خط مانده است', // from v2.1.52 added 16.1.2020 'sum' : 'مجموع', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'اندازه فایل نامتعارف', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'انتخاب عناصر داخل دیالوگ با mouseover', // from v2.1.30 added 2.11.2017 'select' : 'انتخاب', // from v2.1.30 added 23.11.2017 'selectAction' : 'عملیات به هنگام انتخاب فایل', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'باز کردن با ویرایشگر مورداستفاده در آخرین دفعه', // from v2.1.30 added 23.11.2017 'selectinvert' : 'انتخاب معکوس', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'آیا مایل به تغییر نام $1 مورد انتخاب شده همانند $2 هستید؟
                      امکان بازگرداندن این تغییر پس از اعمالو جود ندارد!', // from v2.1.31 added 4.12.2017 'batchRename' : 'تغییرنام گروهی', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ عدد', // from v2.1.31 added 8.12.2017 'asPrefix' : 'افزودن پیشوند', // from v2.1.31 added 8.12.2017 'asSuffix' : 'افزودن پسوند', // from v2.1.31 added 8.12.2017 'changeExtention' : 'تغییر پسوند فایل', // from v2.1.31 added 8.12.2017 'columnPref' : 'تنظیمات ستون‌ها (حالت نمایش لیست)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'تمامی تغییرات به صورت آنی برروی فایل فشرده اعمال خواهد شد.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'تمامی تغییرات تا زمانی که اتصال این درایو قطع نشده است اعمال نخواهند شد.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'اتصال به درایوهای زیر قطع خواهد شد. آیا مطمئن به ادامه عملیات هستید؟', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'مشخصات', // from v2.1.33 added 7.3.2018 'hashChecker' : 'الگوریتم های نمایش hash فایل', // from v2.1.33 added 10.3.2018 'infoItems' : 'موارد اطلاعات', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'جهت خروج مجدد فشار دهید.', // from v2.1.38 added 1.4.2018 'toolbar' : 'نوار ابزار', // from v2.1.38 added 4.4.2018 'workspace' : 'فضای کاری', // from v2.1.38 added 4.4.2018 'dialog' : 'پنجره دیالوگ', // from v2.1.38 added 4.4.2018 'all' : 'همه', // from v2.1.38 added 4.4.2018 'iconSize' : 'اندازه آیکون‌ها (نمایش به صورت آیکون)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'باز کردن پنجره ویرایشگر به صورت تمام صفحه', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'بدلیل در دسترسی نبودن تبدیل از طریق API، لطفا برروی وب سایت تبدیل را انجام دهید.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'پس از تبدیل, شما بایستی از طریق آدرس URL یا فایل دریافت شده آپلود را انجاد دهید تا فایل تبدیل شده ذخیره گردد.', //from v2.1.40 added 8.7.2018 'convertOn' : 'تبدیل برروی سایت از $1', // from v2.1.40 added 10.7.2018 'integrations' : 'هماهنگ سازی‌ها', // from v2.1.40 added 11.7.2018 'integrationWith' : 'elFinder با سرویس های زیر هماهنگ شده است. لطفا ابتدا شرایط استفاده، مقررات حریم خصوصی و سایر موارد را مطالعه بفرمایید.', // from v2.1.40 added 11.7.2018 'showHidden' : 'نمایش موارد پنهان', // from v2.1.41 added 24.7.2018 'hideHidden' : 'موارد مخفی را پنهان کنید', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'نمایش / پنهان کردن موارد پنهان', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'File types to enable with "New file"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'نوع فایل نوشتاری', // from v2.1.41 added 7.8.2018 'add' : 'اضافه کردن', // from v2.1.41 added 7.8.2018 'theme' : 'Theme', // from v2.1.43 added 19.10.2018 'default' : 'پیش فرض', // from v2.1.43 added 19.10.2018 'description' : 'توضیحات', // from v2.1.43 added 19.10.2018 'website' : 'وب سایت', // from v2.1.43 added 19.10.2018 'author' : 'نویستده', // from v2.1.43 added 19.10.2018 'email' : 'ایمیل', // from v2.1.43 added 19.10.2018 'license' : 'لایسنس', // from v2.1.43 added 19.10.2018 'exportToSave' : 'این مورد ذخیره نمی شود برای جلوگیری از دست دادن ویرایش ها ، آنها را به رایانه خود منتقل کنید.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'برای انتخاب پرونده ، دوبار کلیک کنید.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'از حالت تمام صفحه استفاده کنید', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'نامعلوم', 'kindRoot' : 'ریشه درایو', // from v2.1.16 added 16.10.2016 'kindFolder' : 'پوشه', 'kindSelects' : 'انتخاب شده‌ها', // from v2.1.29 added 29.8.2017 'kindAlias' : 'اسم مستعار', 'kindAliasBroken' : 'اسم مستعار ناقص', // applications 'kindApp' : 'برنامه', 'kindPostscript' : 'سند Postscript', 'kindMsOffice' : 'سند Microsoft Office', 'kindMsWord' : 'سند Microsoft Word', 'kindMsExcel' : 'سند Microsoft Excel', 'kindMsPP' : 'فایل ارایه Microsoft Powerpoint', 'kindOO' : 'سند Open Office', 'kindAppFlash' : 'برنامه فلش', 'kindPDF' : 'سند قابل حمل (PDF)', 'kindTorrent' : 'فایل تورنت', 'kind7z' : 'فایل فشرده 7z', 'kindTAR' : 'فایل فشرده TAR', 'kindGZIP' : 'فایل فشرده GZIP', 'kindBZIP' : 'فایل فشرده BZIP', 'kindXZ' : 'فایل فشرده XZ', 'kindZIP' : 'فایل فشرده ZIP', 'kindRAR' : 'فایل فشرده RAR', 'kindJAR' : 'فایل JAR مربوط به جاوا', 'kindTTF' : 'فونت True Type', 'kindOTF' : 'فونت Open Type', 'kindRPM' : 'بسته RPM', // texts 'kindText' : 'سند متنی', 'kindTextPlain' : 'سند متنی ساده', 'kindPHP' : 'سورس کد PHP', 'kindCSS' : 'فایل style sheet', 'kindHTML' : 'سند HTML', 'kindJS' : 'سورس کد Javascript', 'kindRTF' : 'سند متنی غنی', 'kindC' : 'سورس کد C', 'kindCHeader' : 'سورس کد C header', 'kindCPP' : 'سورس کد C++', 'kindCPPHeader' : 'سورس کد C++ header', 'kindShell' : 'اسکریپت شل یونیکس', 'kindPython' : 'سورس کد Python', 'kindJava' : 'سورس کد Java', 'kindRuby' : 'سورس کد Ruby', 'kindPerl' : 'اسکریپت Perl', 'kindSQL' : 'سورس کد SQL', 'kindXML' : 'سند XML', 'kindAWK' : 'سورس کد AWK', 'kindCSV' : 'مقادیر جداشده با کامل', 'kindDOCBOOK' : 'سند Docbook XML', 'kindMarkdown' : 'سند متنی Markdown', // added 20.7.2015 // images 'kindImage' : 'تصویر', 'kindBMP' : 'تصویر BMP', 'kindJPEG' : 'تصویر JPEG', 'kindGIF' : 'تصویر GIF', 'kindPNG' : 'تصویر PNG', 'kindTIFF' : 'تصویر TIFF', 'kindTGA' : 'تصویر TGA', 'kindPSD' : 'تصویر Adobe Photoshop', 'kindXBITMAP' : 'تصویر X bitmap', 'kindPXM' : 'تصویر Pixelmator', // media 'kindAudio' : 'فایل صوتی', 'kindAudioMPEG' : 'فایل صوتی MPEG', 'kindAudioMPEG4' : 'فایل صوتی MPEG-4', 'kindAudioMIDI' : 'فایل صوتی MIDI', 'kindAudioOGG' : 'فایل صوتی Ogg Vorbis', 'kindAudioWAV' : 'فایل صوتی WAV', 'AudioPlaylist' : 'لیست پخش MP3', 'kindVideo' : 'فایل ویدیویی', 'kindVideoDV' : 'فایل ویدیویی DV', 'kindVideoMPEG' : 'فایل ویدیویی MPEG', 'kindVideoMPEG4' : 'فایل ویدیویی MPEG-4', 'kindVideoAVI' : 'فایل ویدیویی AVI', 'kindVideoMOV' : 'فایل ویدیویی Quick Time', 'kindVideoWM' : 'فایل ویدیویی Windows Media', 'kindVideoFlash' : 'فایل ویدیویی Flash', 'kindVideoMKV' : 'فایل ویدیویی Matroska', 'kindVideoOGG' : 'فایل ویدیویی Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.fallback.js000064400000000353151202472330015344 0ustar00(function(factory) { if (typeof define === 'function' && define.amd) { define(factory); } else if (typeof exports !== 'undefined') { module.exports = factory(); } else { factory(); } }(this, function() { return void 0; })); wp-file-manager/lib/js/i18n/elfinder.fo.js000064400000046357151202472330014227 0ustar00/** * Faroese translation * @author Marius Hammer * @version 2015-12-03 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.fo = { translator : 'Marius Hammer <marius@vrg.fo>', language : 'Faroese', direction : 'ltr', dateFormat : 'd.m.Y H:i', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM messages : { /********************************** errors **********************************/ 'error' : 'Villa íkomin', 'errUnknown' : 'Ókend villa.', 'errUnknownCmd' : 'Ókend boð.', 'errJqui' : 'Ógildig jQuery UI konfiguratión. Vælbærar, sum kunnu hálast runt og kunnu sleppast skulu takast við.', 'errNode' : 'elFinder krevur DOM Element stovna.', 'errURL' : 'Ugyldig elFinder konfiguration! URL stilling er ikki ásett.', 'errAccess' : 'Atgongd nokta.', 'errConnect' : 'Far ikki samband við backend.', 'errAbort' : 'Sambandi avbrotið.', 'errTimeout' : 'Sambandi broti av.', 'errNotFound' : 'Backend ikki funnið.', 'errResponse' : 'Ógildugt backend svar.', 'errConf' : 'Ógildugt backend konfiguratión.', 'errJSON' : 'PHP JSON modulið er ikki innstallera.', 'errNoVolumes' : 'Lesiligar mappur er ikki atkomulig.', 'errCmdParams' : 'Ógildigar stillingar fyri kommando "$1".', 'errDataNotJSON' : 'Dáta er ikki JSON.', 'errDataEmpty' : 'Dáta er tømt.', 'errCmdReq' : 'Backend krevur eitt kommando navn.', 'errOpen' : 'Kundi ikki opna "$1".', 'errNotFolder' : 'Luturin er ikki ein mappa.', 'errNotFile' : 'Luturin er ikki ein fíla.', 'errRead' : 'Kundi ikki lesa til "$1".', 'errWrite' : 'Kundi ikki skriva til "$1".', 'errPerm' : 'Atgongd nokta.', 'errLocked' : '"$1" er løst og kann ikki umdoybast, flytast ella strikast.', 'errExists' : 'Tað finst longu ein fíla við navn "$1".', 'errInvName' : 'Ógildugt fíla navn.', 'errFolderNotFound' : 'Mappa ikki funnin.', 'errFileNotFound' : 'Fíla ikki funnin.', 'errTrgFolderNotFound' : 'Mappan "$1" bleiv ikke funnin.', 'errPopup' : 'Kagin forðaði í at opna eitt popup-vindeyga. Fyri at opna fíluna, aktivera popup-vindeygu í tínum kaga stillingum.', 'errMkdir' : '\'Kundi ikki stovna mappu "$1".', 'errMkfile' : 'Kundi ikki stovna mappu "$1".', 'errRename' : 'Kundi ikki umdoyba "$1".', 'errCopyFrom' : 'Kopiering av fílum frá mappuni "$1" er ikke loyvt.', 'errCopyTo' : 'Kopiering av fílum til mappuna "$1" er ikke loyvt.', 'errMkOutLink' : 'Ikki ført fyri at stovna leinkju til uttanfyri \'volume\' rót.', // from v2.1 added 03.10.2015 'errUpload' : 'Innlegginar feilur.', // old name - errUploadCommon 'errUploadFile' : 'Kundi ikki leggja "$1" inn.', // old name - errUpload 'errUploadNoFiles' : 'Ongar fílar funnir at leggja inn.', 'errUploadTotalSize' : 'Dátain er størri enn mest loyvda støddin.', // old name - errMaxSize 'errUploadFileSize' : 'Fíla er størri enn mest loyvda støddin.', // old name - errFileMaxSize 'errUploadMime' : 'Fílu slag ikki góðkent.', 'errUploadTransfer' : '"$1" innleggingar feilur.', 'errUploadTemp' : 'Ikki ført fyri at gera fyribils fílu fyri innlegging.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Lutur "$1" finst longu á hesum stað og can ikki skiftast út av lutið av øðrum slag.', // new 'errReplace' : 'Ikki ført fyri at erstattae "$1".', 'errSave' : 'Kundi ikki goyma "$1".', 'errCopy' : 'Kundi ikki kopiera "$1".', 'errMove' : 'Kundi ikki flyta "$1".', 'errCopyInItself' : 'Kundi ikki kopiera "$1" inn í seg sjálva.', 'errRm' : 'Kundi ikki strika "$1".', 'errRmSrc' : 'Ikki ført fyri at strika keldu fíla(r).', 'errExtract' : 'Kundi ikki útpakka fílar frá "$1".', 'errArchive' : 'Kundi ikki stovna arkiv.', 'errArcType' : 'Arkiv slagið er ikki stuðla.', 'errNoArchive' : 'Fílan er ikki eitt arkiv ella er ikki eitt stuðla arkiva slag.', 'errCmdNoSupport' : 'Backend stuðlar ikki hesi boð.', 'errReplByChild' : 'appan "$1" kann ikki erstattast av einari vøru, hon inniheldur.', 'errArcSymlinks' : 'Av trygdarávum grundum, noktaði skipanin at pakka út arkivir ið innihalda symlinks ella fílur við nøvn ið ikki eru loyvd.', // edited 24.06.2012 'errArcMaxSize' : 'Arkiv fílar fylla meir enn mest loyvda støddin.', 'errResize' : 'Kundi ikki broyta støddina á "$1".', 'errResizeDegree' : 'Ógildugt roterings stig.', // added 7.3.2013 'errResizeRotate' : 'Ikki ført fyri at rotera mynd.', // added 7.3.2013 'errResizeSize' : 'Ógildug myndastødd.', // added 7.3.2013 'errResizeNoChange' : 'Mynda stødd ikki broytt.', // added 7.3.2013 'errUsupportType' : 'Ikki stuðla fíla slag.', 'errNotUTF8Content' : 'Fílan "$1" er ikki í UTF-8 og kann ikki vera rættað.', // added 9.11.2011 'errNetMount' : 'Kundi ikki "mounta" "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Ikki stuðla protokol.', // added 17.04.2012 'errNetMountFailed' : 'Mount miseydnaðist.', // added 17.04.2012 'errNetMountHostReq' : 'Host kravt.', // added 18.04.2012 'errSessionExpires' : 'Tín seta er útgingin vegna óvirkniy.', 'errCreatingTempDir' : 'Ikki ført fyri at stovna fyribils fíluskrá: "$1"', 'errFtpDownloadFile' : 'Ikki ført fyri at taka fílu niður frá FTP: "$1"', 'errFtpUploadFile' : 'Ikki ført fyri at leggja fílu til FTP: "$1"', 'errFtpMkdir' : 'Ikki ført fyri at stovna fjar-fílaskrá á FTP: "$1"', 'errArchiveExec' : 'Villa íkomin undir arkiveran af fílar: "$1"', 'errExtractExec' : 'Villa íkomin undir útpakking af fílum: "$1"', 'errNetUnMount' : 'Unable to unmount', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Kann ikki broytast til UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Royn Google Chrome, um tú ynskir at leggja mappu innn.', // from v2.1 added 26.6.2015 /******************************* commands names ********************************/ 'cmdarchive' : 'Stovna arkiv', 'cmdback' : 'Aftur\'', 'cmdcopy' : 'Kopier', 'cmdcut' : 'Klipp', 'cmddownload' : 'Tak niður', 'cmdduplicate' : 'Tvífalda', 'cmdedit' : 'Rætta fílu', 'cmdextract' : 'Pakka út fílar úr arkiv', 'cmdforward' : 'Fram', 'cmdgetfile' : 'Vel fílar', 'cmdhelp' : 'Um hesa software', 'cmdhome' : 'Heim', 'cmdinfo' : 'Fá upplýsingar', 'cmdmkdir' : 'Nýggja mappu', 'cmdmkfile' : 'Nýggja fílu', 'cmdopen' : 'Opna', 'cmdpaste' : 'Set inn', 'cmdquicklook' : 'Forsýning', 'cmdreload' : 'Les inn umaftur', 'cmdrename' : 'Umdoyp', 'cmdrm' : 'Strika', 'cmdsearch' : 'Finn fílar', 'cmdup' : 'Eitt stig upp', 'cmdupload' : 'Legg fílar inn', 'cmdview' : 'Síggj', 'cmdresize' : 'Tillaga stødd & Roter', 'cmdsort' : 'Raða', 'cmdnetmount' : 'Mount network volume', // added 18.04.2012 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012 'cmdplaces' : 'Til støð', // added 28.12.2014 'cmdchmod' : 'Broytir stíl', // from v2.1 added 20.6.2015 /*********************************** buttons ***********************************/ 'btnClose' : 'Lat aftur', 'btnSave' : 'Goym', 'btnRm' : 'Strika', 'btnApply' : 'Brúka', 'btnCancel' : 'Angra', 'btnNo' : 'Nei', 'btnYes' : 'Ja', 'btnMount' : 'Mount', // added 18.04.2012 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Konverter', // from v2.1 added 08.04.2014 'btnCwd' : 'Her', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'Øll', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Slag', // from v2.1 added 22.5.2015 'btnFileName':'Fílunavn', // from v2.1 added 22.5.2015 'btnSaveClose': 'Goym & Lat aftur', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 /******************************** notifications ********************************/ 'ntfopen' : 'Opna mappu', 'ntffile' : '\'Opna fílu', 'ntfreload' : 'Les innaftur mappu innihald', 'ntfmkdir' : 'Stovnar mappu', 'ntfmkfile' : 'Stovnar fílur', 'ntfrm' : 'Strikar fílur', 'ntfcopy' : 'Kopierar fílur', 'ntfmove' : 'Flytur fílar', 'ntfprepare' : 'Ger klárt at kopiera fílar', 'ntfrename' : 'Umdoyp fílar', 'ntfupload' : 'Leggur inn fílar', 'ntfdownload' : 'Tekur fílar niður', 'ntfsave' : 'Goymir fílar', 'ntfarchive' : 'Stovnar arkiv', 'ntfextract' : 'Útpakkar fílar frá arkiv', 'ntfsearch' : 'Leitar eftir fílum', 'ntfresize' : 'Broytir stødd á fílur', 'ntfsmth' : '\'Ger okkurt >_<', 'ntfloadimg' : 'Lesur mynd inn', 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012 'ntfdim' : 'Tekur mynda vídd', // added 20.05.2013 'ntfreaddir' : 'Lesur mappu upplýsingar', // from v2.1 added 01.07.2013 'ntfurl' : 'Far URL af leinkju', // from v2.1 added 11.03.2014 'ntfchmod' : 'Broyti fílu stíl', // from v2.1 added 20.6.2015 'ntfpreupload': 'Kannar fílunavnið á fílu', // from v2.1 added 31.11.2015 /************************************ dates **********************************/ 'dateUnknown' : 'ókent', 'Today' : 'Í dag', 'Yesterday' : 'Í gjár', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Mai', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Des', 'January' : 'Januar', 'February' : 'Februar', 'March' : 'Mars', 'April' : 'Apríl', 'May' : 'Mai', 'June' : 'Juni', 'July' : 'Juli', 'August' : 'August', 'September' : 'September', 'October' : 'Oktober', 'November' : 'November', 'December' : 'Desember', 'Sunday' : 'Sunnudag', 'Monday' : 'Mánadag', 'Tuesday' : 'Týsdag', 'Wednesday' : 'Mikudag', 'Thursday' : 'Hósdag', 'Friday' : 'Fríggjadag', 'Saturday' : 'Leygardag', 'Sun' : 'Sun', 'Mon' : 'Mán', 'Tue' : 'Týs', 'Wed' : 'Mik', 'Thu' : 'Hós', 'Fri' : 'Frí', 'Sat' : 'Ley', /******************************** sort variants ********************************/ 'sortname' : 'eftir navn', 'sortkind' : 'eftir slag', 'sortsize' : 'eftir stødd', 'sortdate' : 'eftir dato', 'sortFoldersFirst' : 'mappur fyrst', /********************************** new items **********************************/ 'untitled file.txt' : 'NýggjaFílu.txt', // added 10.11.2015 'untitled folder' : 'NýggjaMappu', // added 10.11.2015 'Archive' : 'NýtArkiv', // from v2.1 added 10.11.2015 /********************************** messages **********************************/ 'confirmReq' : 'Váttan kravd', 'confirmRm' : 'Ert tú vísur í at tú ynskir at strika fílarnar?
                      Hetta kann ikki angrast!', 'confirmRepl' : 'Erstatta gomlu fílu við nýggja?', 'confirmConvUTF8' : 'Brúka á øll', // from v2.1 added 08.04.2014 'confirmNotSave' : 'Er blivi rættað.
                      Missir sínar broytingar um tú ikki goymir.', // from v2.1 added 15.7.2015 'apllyAll' : 'Brúka til øll', 'name' : 'Navn', 'size' : 'Stødd', 'perms' : 'Rættindi', 'modify' : 'Rættað', 'kind' : 'Slag', 'read' : 'síggja', 'write' : 'broyta', 'noaccess' : 'onga atgongd', 'and' : 'og', 'unknown' : 'ókent', 'selectall' : 'Vel allar fílur', 'selectfiles' : 'Vel fílu(r)', 'selectffile' : 'Vel fyrstu fílu', 'selectlfile' : 'Vel síðstu fílu', 'viewlist' : 'Lista vísing', 'viewicons' : 'Ikon vísing', 'places' : 'Støð', 'calc' : 'Rokna', 'path' : 'Stiga', 'aliasfor' : 'Hjánavn fyri', 'locked' : 'Læst', 'dim' : 'Vídd', 'files' : 'Fílur', 'folders' : 'Mappur', 'items' : 'Myndir', 'yes' : 'ja', 'no' : 'nei', 'link' : 'Leinkja', 'searcresult' : 'Leiti úrslit', 'selected' : 'valdar myndir', 'about' : 'Um', 'shortcuts' : 'Snarvegir', 'help' : 'Hjálp', 'webfm' : 'Web fílu umsitan', 'ver' : 'Útgáva', 'protocolver' : 'protokol versión', 'homepage' : 'Verkætlan heim', 'docs' : 'Skjalfesting', 'github' : 'Mynda okkum á Github', 'twitter' : 'Fylg okkum á twitter', 'facebook' : 'Fylg okkum á facebook', 'team' : 'Lið', 'chiefdev' : 'forritaleiðari', 'developer' : 'forritari', 'contributor' : 'stuðulsveitari', 'maintainer' : 'viðlíkahaldari', 'translator' : 'umsetari', 'icons' : 'Ikonir', 'dontforget' : 'and don\'t forget to take your towel', 'shortcutsof' : 'Snarvegir sligi frá', 'dropFiles' : 'Slepp fílur her', 'or' : 'ella', 'selectForUpload' : 'Vel fílur at leggja inn', 'moveFiles' : 'Flyt fílur', 'copyFiles' : 'Kopier fílur', 'rmFromPlaces' : 'Flyt frá støð', 'aspectRatio' : 'Skermformat', 'scale' : 'Skalera', 'width' : 'Longd', 'height' : 'Hædd', 'resize' : 'Tilliga stødd', 'crop' : 'Sker til', 'rotate' : 'Rotera', 'rotate-cw' : 'Rotera 90 gradir við urið', 'rotate-ccw' : 'otera 90 gradir móti urið', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protokol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Brúkari', // added 18.04.2012 'pass' : 'Loyniorð', // added 18.04.2012 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Hála ella set innn fílar frá kaga', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Hála ella set inn fílar frá URls her', // from v2.1 added 07.04.2014 'encoding' : 'Encoding', // from v2.1 added 19.12.2014 'locale' : 'Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Leita við input MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Eigari', // from v2.1 added 20.6.2015 'group' : 'Bólkur', // from v2.1 added 20.6.2015 'other' : 'Annað', // from v2.1 added 20.6.2015 'execute' : 'Útfør', // from v2.1 added 20.6.2015 'perm' : 'Rættindi', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Ókent', 'kindFolder' : 'Mappa', 'kindAlias' : 'Hjánavn', 'kindAliasBroken' : 'Óvirki hjánavn', // applications 'kindApp' : 'Applikatión', 'kindPostscript' : 'Postscript skjal', 'kindMsOffice' : 'Microsoft Office skjal', 'kindMsWord' : 'Microsoft Word skjal', 'kindMsExcel' : 'Microsoft Excel skjal', 'kindMsPP' : 'Microsoft Powerpoint framløga', 'kindOO' : 'Open Office skjal', 'kindAppFlash' : 'Flash applikatión', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent fíla', 'kind7z' : '7z arkiv', 'kindTAR' : 'TAR arkiv', 'kindGZIP' : 'GZIP arkiv', 'kindBZIP' : 'BZIP arkiv', 'kindXZ' : 'XZ arkiv', 'kindZIP' : 'ZIP arkiv', 'kindRAR' : 'RAR arkiv', 'kindJAR' : 'Java JAR ffílaile', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM pakki', // texts 'kindText' : 'Text skjal', 'kindTextPlain' : 'Reinur tekstur', 'kindPHP' : 'PHP kelda', 'kindCSS' : 'Cascading style sheet (CSS)', 'kindHTML' : 'HTML skjal', 'kindJS' : 'Javascript kelda', 'kindRTF' : 'Rich Text Format (RTF)', 'kindC' : 'C kelda', 'kindCHeader' : 'C header kelda', 'kindCPP' : 'C++ kelda', 'kindCPPHeader' : 'C++ header kelda', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python kelda', 'kindJava' : 'Java kelda', 'kindRuby' : 'Ruby kelda', 'kindPerl' : 'Perl script', 'kindSQL' : 'SQL kelda', 'kindXML' : 'XML skjal', 'kindAWK' : 'AWK kelda', 'kindCSV' : 'Comma separated values (CSV)', 'kindDOCBOOK' : 'Docbook XML skjal', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Mynd', 'kindBMP' : 'BMP mynd', 'kindJPEG' : 'JPEG mynd', 'kindGIF' : 'GIF mynd', 'kindPNG' : 'PNG mynd', 'kindTIFF' : 'TIFF mynd', 'kindTGA' : 'TGA mynd', 'kindPSD' : 'Adobe Photoshop mynd', 'kindXBITMAP' : 'X bitmap mynd', 'kindPXM' : 'Pixelmator mynd', // media 'kindAudio' : 'Audio media', 'kindAudioMPEG' : 'MPEG ljóðfíla', 'kindAudioMPEG4' : 'MPEG-4 ljóðfíla', 'kindAudioMIDI' : 'MIDI ljóðfíla', 'kindAudioOGG' : 'Ogg Vorbis ljóðfíla', 'kindAudioWAV' : 'WAV ljóðfíla', 'AudioPlaylist' : 'MP3 playlisti', 'kindVideo' : 'Video media', 'kindVideoDV' : 'DV filmur', 'kindVideoMPEG' : 'MPEG filmur', 'kindVideoMPEG4' : 'MPEG-4 filmur', 'kindVideoAVI' : 'AVI filmur', 'kindVideoMOV' : 'Quick Time filmur', 'kindVideoWM' : 'Windows Media filmur', 'kindVideoFlash' : 'Flash filmur', 'kindVideoMKV' : 'Matroska filmur', 'kindVideoOGG' : 'Ogg filmur' } }; })); wp-file-manager/lib/js/i18n/elfinder.fr_CA.js000064400000105055151202472330014564 0ustar00/** * Traduction canadienne française (identique à la traduction française) * @author Régis Guyomarch * @author Benoit Delachaux * @author Jonathan Grunder * @version 2019-10-15 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.fr_CA = { translator : 'Régis Guyomarch <regisg@gmail.com>, Benoit Delachaux <benorde33@gmail.com>, Jonathan Grunder <jonathan.grunder@gmail.com>', language : 'française', direction : 'ltr', dateFormat : 'd/M/Y H:i', // will show like: 15/Oct/2019 14:47 fancyDateFormat : '$1 H:i', // will show like: Aujourd'hui 14:47 nonameDateFormat : 'ymd-His', // noname upload will show like: 191015-144704 messages : { /********************************** errors **********************************/ 'error' : 'Erreur', 'errUnknown' : 'Erreur inconnue.', 'errUnknownCmd' : 'Commande inconnue.', 'errJqui' : 'Mauvaise configuration de jQuery UI. Les composants Selectable, draggable et droppable doivent être inclus.', 'errNode' : 'elFinder requiert que l\'élément DOM ait été créé.', 'errURL' : 'Mauvaise configuration d\'elFinder ! L\'option URL n\'a pas été définie.', 'errAccess' : 'Accès refusé.', 'errConnect' : 'Impossible de se connecter au backend.', 'errAbort' : 'Connexion interrompue.', 'errTimeout' : 'Délai de connexion dépassé.', 'errNotFound' : 'Backend non trouvé.', 'errResponse' : 'Mauvaise réponse du backend.', 'errConf' : 'Mauvaise configuration du backend.', 'errJSON' : 'Le module PHP JSON n\'est pas installé.', 'errNoVolumes' : 'Aucun volume lisible.', 'errCmdParams' : 'Mauvais paramétrage de la commande "$1".', 'errDataNotJSON' : 'Les données ne sont pas au format JSON.', 'errDataEmpty' : 'Données inexistantes.', 'errCmdReq' : 'La requête au Backend doit comporter le nom de la commande.', 'errOpen' : 'Impossible d\'ouvrir "$1".', 'errNotFolder' : 'Cet objet n\'est pas un dossier.', 'errNotFile' : 'Cet objet n\'est pas un fichier.', 'errRead' : 'Impossible de lire "$1".', 'errWrite' : 'Impossible d\'écrire dans "$1".', 'errPerm' : 'Permission refusée.', 'errLocked' : '"$1" est verrouillé et ne peut être déplacé ou supprimé.', 'errExists' : 'Un élément nommé "$1" existe déjà.', 'errInvName' : 'Nom de fichier incorrect.', 'errInvDirname' : 'Nom de dossier incorrect.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Dossier non trouvé.', 'errFileNotFound' : 'Fichier non trouvé.', 'errTrgFolderNotFound' : 'Dossier destination "$1" non trouvé.', 'errPopup' : 'Le navigateur web a empêché l\'ouverture d\'une fenêtre "popup". Pour ouvrir le fichier, modifiez les options du navigateur web.', 'errMkdir' : 'Impossible de créer le dossier "$1".', 'errMkfile' : 'Impossible de créer le fichier "$1".', 'errRename' : 'Impossible de renommer "$1".', 'errCopyFrom' : 'Interdiction de copier des fichiers depuis le volume "$1".', 'errCopyTo' : 'Interdiction de copier des fichiers vers le volume "$1".', 'errMkOutLink' : 'Impossible de créer un lien en dehors du volume principal.', // from v2.1 added 03.10.2015 'errUpload' : 'Erreur lors de l\'envoi du fichier.', // old name - errUploadCommon 'errUploadFile' : 'Impossible d\'envoyer "$1".', // old name - errUpload 'errUploadNoFiles' : 'Aucun fichier à envoyer.', 'errUploadTotalSize' : 'Les données dépassent la taille maximale allouée.', // old name - errMaxSize 'errUploadFileSize' : 'Le fichier dépasse la taille maximale allouée.', // old name - errFileMaxSize 'errUploadMime' : 'Type de fichier non autorisé.', 'errUploadTransfer' : '"$1" erreur transfert.', 'errUploadTemp' : 'Impossible de créer un fichier temporaire pour transférer les fichiers.', // from v2.1 added 26.09.2015 'errNotReplace' : 'L\'objet "$1" existe déjà à cet endroit et ne peut être remplacé par un objet d\'un type différent.', // new 'errReplace' : 'Impossible de remplacer "$1".', 'errSave' : 'Impossible de sauvegarder "$1".', 'errCopy' : 'Impossible de copier "$1".', 'errMove' : 'Impossible de déplacer "$1".', 'errCopyInItself' : 'Impossible de copier "$1" sur lui-même.', 'errRm' : 'Impossible de supprimer "$1".', 'errTrash' : 'Impossible de déplacer dans la corbeille', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Impossible de supprimer le(s) fichier(s) source(s).', 'errExtract' : 'Imbossible d\'extraire les fichiers à partir de "$1".', 'errArchive' : 'Impossible de créer l\'archive.', 'errArcType' : 'Type d\'archive non supporté.', 'errNoArchive' : 'Le fichier n\'est pas une archive, ou c\'est un type d\'archive non supporté.', 'errCmdNoSupport' : 'Le Backend ne prend pas en charge cette commande.', 'errReplByChild' : 'Le dossier “$1” ne peut pas être remplacé par un élément qu\'il contient.', 'errArcSymlinks' : 'Par mesure de sécurité, il est défendu d\'extraire une archive contenant des liens symboliques ou des noms de fichier non autorisés.', // edited 24.06.2012 'errArcMaxSize' : 'Les fichiers de l\'archive excèdent la taille maximale autorisée.', 'errResize' : 'Impossible de redimensionner "$1".', 'errResizeDegree' : 'Degré de rotation invalide.', // added 7.3.2013 'errResizeRotate' : 'L\'image ne peut pas être tournée.', // added 7.3.2013 'errResizeSize' : 'Dimension de l\'image non-valide.', // added 7.3.2013 'errResizeNoChange' : 'L\'image n\'est pas redimensionnable.', // added 7.3.2013 'errUsupportType' : 'Type de fichier non supporté.', 'errNotUTF8Content' : 'Le fichier "$1" n\'est pas en UTF-8, il ne peut être édité.', // added 9.11.2011 'errNetMount' : 'Impossible de monter "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protocole non supporté.', // added 17.04.2012 'errNetMountFailed' : 'Echec du montage.', // added 17.04.2012 'errNetMountHostReq' : 'Hôte requis.', // added 18.04.2012 'errSessionExpires' : 'Votre session a expiré en raison de son inactivité.', 'errCreatingTempDir' : 'Impossible de créer le répertoire temporaire : "$1"', 'errFtpDownloadFile' : 'Impossible de télécharger le file depuis l\'accès FTP : "$1"', 'errFtpUploadFile' : 'Impossible d\'envoyer le fichier vers l\'accès FTP : "$1"', 'errFtpMkdir' : 'Impossible de créer un répertoire distant sur l\'accès FTP :"$1"', 'errArchiveExec' : 'Erreur lors de l\'archivage des fichiers : "$1"', 'errExtractExec' : 'Erreur lors de l\'extraction des fichiers : "$1"', 'errNetUnMount' : 'Impossible de démonter.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Conversion en UTF-8 impossible', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Essayez Google Chrome, si voulez envoyer le dossier.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Délai d’attente dépassé pour la recherche "$1". Le résultat de la recherche est partiel.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Réauthorisation requise.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Le nombre maximal d\'éléments pouvant être sélectionnés est $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Impossible de restaurer la corbeille. La destination de la restauration n\'a pu être identifiée.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Aucun éditeur n\'a été trouvé pour ce type de fichier.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Une erreur est survenue du côté serveur.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Impossible de vider le dossier "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'There are $1 more errors.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Créer une archive', 'cmdback' : 'Précédent', 'cmdcopy' : 'Copier', 'cmdcut' : 'Couper', 'cmddownload' : 'Télécharger', 'cmdduplicate' : 'Dupliquer', 'cmdedit' : 'Éditer le fichier', 'cmdextract' : 'Extraire les fichiers de l\'archive', 'cmdforward' : 'Suivant', 'cmdgetfile' : 'Sélectionner les fichiers', 'cmdhelp' : 'À propos de ce logiciel', 'cmdhome' : 'Accueil', 'cmdinfo' : 'Informations', 'cmdmkdir' : 'Nouveau dossier', 'cmdmkdirin' : 'Dans un nouveau dossier', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nouveau fichier', 'cmdopen' : 'Ouvrir', 'cmdpaste' : 'Coller', 'cmdquicklook' : 'Prévisualiser', 'cmdreload' : 'Actualiser', 'cmdrename' : 'Renommer', 'cmdrm' : 'Supprimer', 'cmdtrash' : 'À la corbeille', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restaurer', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Trouver les fichiers', 'cmdup' : 'Remonter au dossier parent', 'cmdupload' : 'Envoyer les fichiers', 'cmdview' : 'Vue', 'cmdresize' : 'Redimensionner l\'image', 'cmdsort' : 'Trier', 'cmdnetmount' : 'Monter un volume réseau', // added 18.04.2012 'cmdnetunmount': 'Démonter', // from v2.1 added 30.04.2012 'cmdplaces' : 'Vers Favoris', // added 28.12.2014 'cmdchmod' : 'Changer de mode', // from v2.1 added 20.6.2015 'cmdopendir' : 'Ouvrir un dossier', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Réinitialiser largeur colone', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Plein écran', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Déplacer', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Vider le dossier', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Annuler', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Refaire', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Préférences', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Tout sélectionner', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Tout désélectionner', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Inverser la sélection', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Ouvrir dans une nouvelle fenêtre', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Hide (Preference)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Fermer', 'btnSave' : 'Sauvegarder', 'btnRm' : 'Supprimer', 'btnApply' : 'Confirmer', 'btnCancel' : 'Annuler', 'btnNo' : 'Non', 'btnYes' : 'Oui', 'btnMount' : 'Monter', // added 18.04.2012 'btnApprove': 'Aller à $1 & approuver', // from v2.1 added 26.04.2012 'btnUnmount': 'Démonter', // from v2.1 added 30.04.2012 'btnConv' : 'Convertir', // from v2.1 added 08.04.2014 'btnCwd' : 'Ici', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'Tous', // from v2.1 added 22.5.2015 'btnMime' : 'Type MIME', // from v2.1 added 22.5.2015 'btnFileName':'Nom du fichier', // from v2.1 added 22.5.2015 'btnSaveClose': 'Enregistrer & Ferme', // from v2.1 added 12.6.2015 'btnBackup' : 'Sauvegarde', // fromv2.1 added 28.11.2015 'btnRename' : 'Renommer', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Renommer (tous)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Préc. ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Suiv. ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Sauvegarder sous', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Ouvrir le dossier', 'ntffile' : 'Ouvrir le fichier', 'ntfreload' : 'Actualiser le contenu du dossier', 'ntfmkdir' : 'Création du dossier', 'ntfmkfile' : 'Création des fichiers', 'ntfrm' : 'Supprimer les éléments', 'ntfcopy' : 'Copier les éléments', 'ntfmove' : 'Déplacer les éléments', 'ntfprepare' : 'Préparation de la copie des éléments', 'ntfrename' : 'Renommer les fichiers', 'ntfupload' : 'Envoi des fichiers', 'ntfdownload' : 'Téléchargement des fichiers', 'ntfsave' : 'Sauvegarder les fichiers', 'ntfarchive' : 'Création de l\'archive', 'ntfextract' : 'Extraction des fichiers de l\'archive', 'ntfsearch' : 'Recherche des fichiers', 'ntfresize' : 'Redimensionner les images', 'ntfsmth' : 'Fait quelque chose', 'ntfloadimg' : 'Chargement de l\'image', 'ntfnetmount' : 'Monte le volume réseau', // added 18.04.2012 'ntfnetunmount': 'Démonte le volume réseau', // from v2.1 added 30.04.2012 'ntfdim' : 'Calcule la dimension de l\'image', // added 20.05.2013 'ntfreaddir' : 'Lecture des informations du dossier', // from v2.1 added 01.07.2013 'ntfurl' : 'Récupération de l’URL du lien', // from v2.1 added 11.03.2014 'ntfchmod' : 'Changement de mode', // from v2.1 added 20.6.2015 'ntfpreupload': 'Vérification du nom du fichier envoyé', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Création d’un fichier pour le téléchargement', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Traitement de l\'information du chemin', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Traitement du fichier envoyé', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Mettre à la corbeille', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Restaurer depuis la corbeille', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Validation du dossier de destination', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Annuler l\'opération précédente', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Refaire l\'opération annulée', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Checking contents', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Corbeille', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'Inconnue', 'Today' : 'Aujourd\'hui', 'Yesterday' : 'Hier', 'msJan' : 'Jan', 'msFeb' : 'Fév', 'msMar' : 'Mar', 'msApr' : 'Avr', 'msMay' : 'Mai', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aoû', 'msSep' : 'Sep', 'msOct' : 'Oct', 'msNov' : 'Nov', 'msDec' : 'Déc', 'January' : 'Janvier', 'February' : 'Février', 'March' : 'Mars', 'April' : 'Avril', 'May' : 'Mai', 'June' : 'Juin', 'July' : 'Huillet', 'August' : 'Août', 'September' : 'Septembre', 'October' : 'Octobre', 'November' : 'Novembre', 'December' : 'Décembre', 'Sunday' : 'Dimanche', 'Monday' : 'Lundi', 'Tuesday' : 'Mardi', 'Wednesday' : 'Mercredi', 'Thursday' : 'Jeudi', 'Friday' : 'Vendredi', 'Saturday' : 'Samedi', 'Sun' : 'Dim', 'Mon' : 'Lun', 'Tue' : 'Mar', 'Wed' : 'Mer', 'Thu' : 'Jeu', 'Fri' : 'Ven', 'Sat' : 'Sam', /******************************** sort variants ********************************/ 'sortname' : 'par nom', 'sortkind' : 'par type', 'sortsize' : 'par taille', 'sortdate' : 'par date', 'sortFoldersFirst' : 'Dossiers en premier', 'sortperm' : 'par permission', // from v2.1.13 added 13.06.2016 'sortmode' : 'par mode', // from v2.1.13 added 13.06.2016 'sortowner' : 'par propriétaire', // from v2.1.13 added 13.06.2016 'sortgroup' : 'par groupe', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Egalement arborescence', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NouveauFichier.txt', // added 10.11.2015 'untitled folder' : 'NouveauDossier', // added 10.11.2015 'Archive' : 'NouvelleArchive', // from v2.1 added 10.11.2015 'untitled file' : 'NewFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: File', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Confirmation requise', 'confirmRm' : 'Êtes-vous certain de vouloir supprimer les éléments ?
                      Cela ne peut être annulé !', 'confirmRepl' : 'Supprimer l\'ancien fichier par le nouveau ?', 'confirmRest' : 'Remplacer l\'élément existant par l\'élément de la corbeille ?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'L\'encodage n\'est pas UTf-8
                      Convertir en UTF-8 ?
                      Les contenus deviendront UTF-8 en sauvegardant après la conversion.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Impossible de détecter l\'encodage de ce fichier. Pour être modifié, il doit être temporairement convertit en UTF-8.
                      Veuillez s\'il vous plaît sélectionner un encodage pour ce fichier.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Ce fichier a été modifié.
                      Les données seront perdues si les changements ne sont pas sauvegardés.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Êtes-vous certain de vouloir déplacer les éléments vers la corbeille?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Are you sure you want to move items to "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Appliquer à tous', 'name' : 'Nom', 'size' : 'Taille', 'perms' : 'Permissions', 'modify' : 'Modifié', 'kind' : 'Type', 'read' : 'Lecture', 'write' : 'Écriture', 'noaccess' : 'Pas d\'accès', 'and' : 'et', 'unknown' : 'inconnu', 'selectall' : 'Sélectionner tous les éléments', 'selectfiles' : 'Sélectionner le(s) élément(s)', 'selectffile' : 'Sélectionner le premier élément', 'selectlfile' : 'Sélectionner le dernier élément', 'viewlist' : 'Vue par liste', 'viewicons' : 'Vue par icônes', 'viewSmall' : 'Petites icônes', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Moyennes icônes', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Grandes icônes', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Très grandes icônes', // from v2.1.39 added 22.5.2018 'places' : 'Favoris', 'calc' : 'Calculer', 'path' : 'Chemin', 'aliasfor' : 'Raccourcis pour', 'locked' : 'Verrouiller', 'dim' : 'Dimensions', 'files' : 'Fichiers', 'folders' : 'Dossiers', 'items' : 'Éléments', 'yes' : 'oui', 'no' : 'non', 'link' : 'Lien', 'searcresult' : 'Résultats de la recherche', 'selected' : 'Éléments sélectionnés', 'about' : 'À propos', 'shortcuts' : 'Raccourcis', 'help' : 'Aide', 'webfm' : 'Gestionnaire de fichier Web', 'ver' : 'Version', 'protocolver' : 'Version du protocole', 'homepage' : 'Page du projet', 'docs' : 'Documentation', 'github' : 'Forkez-nous sur Github', 'twitter' : 'Suivez nous sur twitter', 'facebook' : 'Joignez-nous facebook', 'team' : 'Équipe', 'chiefdev' : 'Développeur en chef', 'developer' : 'Développeur', 'contributor' : 'Contributeur', 'maintainer' : 'Mainteneur', 'translator' : 'Traducteur', 'icons' : 'Icônes', 'dontforget' : 'et n\'oubliez pas votre serviette', 'shortcutsof' : 'Raccourcis désactivés', 'dropFiles' : 'Déposez les fichiers ici', 'or' : 'ou', 'selectForUpload' : 'Sélectionner les fichiers à envoyer', 'moveFiles' : 'Déplacer les éléments', 'copyFiles' : 'Copier les éléments', 'restoreFiles' : 'Restaurer les éléments', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Retirer des favoris', 'aspectRatio' : 'Ratio d’affichage', 'scale' : 'Mise à l\'échelle', 'width' : 'Largeur', 'height' : 'Hauteur', 'resize' : 'Redimensionner', 'crop' : 'Recadrer', 'rotate' : 'Rotation', 'rotate-cw' : 'Rotation de 90 degrés horaire', 'rotate-ccw' : 'Rotation de 90 degrés antihoraire', 'degree' : '°', 'netMountDialogTitle' : 'Monter un volume réseau', // added 18.04.2012 'protocol' : 'Protocole', // added 18.04.2012 'host' : 'Hôte', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Utilisateur', // added 18.04.2012 'pass' : 'Mot de passe', // added 18.04.2012 'confirmUnmount' : 'Démonter $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Glissez-déposez depuis le navigateur de fichier', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Glissez-déposez les fichiers ici', // from v2.1 added 07.04.2014 'encoding' : 'Encodage', // from v2.1 added 19.12.2014 'locale' : 'Encodage régional', // from v2.1 added 19.12.2014 'searchTarget' : 'Destination: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Recherche par type MIME', // from v2.1 added 22.5.2015 'owner' : 'Propriétaire', // from v2.1 added 20.6.2015 'group' : 'Groupe', // from v2.1 added 20.6.2015 'other' : 'Autre', // from v2.1 added 20.6.2015 'execute' : 'Exécuter', // from v2.1 added 20.6.2015 'perm' : 'Permission', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'Le dossier est vide', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Le dossier est vide.\\ Glissez-déposez pour ajouter des éléments.', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Le dossier est vide.\\ Appuyez longuement pour ajouter des éléments.', // from v2.1.6 added 30.12.2015 'quality' : 'Qualité', // from v2.1.6 added 5.1.2016 'autoSync' : 'Synchronisation automatique', // from v2.1.6 added 10.1.2016 'moveUp' : 'Déplacer vers le haut', // from v2.1.6 added 18.1.2016 'getLink' : 'Obtenir le lien d’URL', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Éléments sélectionnés ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID du dossier', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Permettre l\'accès hors-ligne', // from v2.1.10 added 3.25.2016 'reAuth' : 'Pour se réauthentifier', // from v2.1.10 added 3.25.2016 'nowLoading' : 'En cours de chargement...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Ouvrir multiples fichiers', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Vous allez ouvrir $1 fichiers. Êtes-vous sûr de vouloir les ouvrir dans le navigateur ?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Aucun résultat trouvé avec les paramètres de recherche.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Modification d\'un fichier.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Vous avez sélectionné $1 éléments.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Vous avez $1 éléments dans le presse-papier.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Recherche incrémentale disponible uniquement pour la vue active.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Rétablir', // from v2.1.15 added 3.8.2016 'complete' : '$1 complété', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Menu contextuel', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Tourner la page', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volumes principaux', // from v2.1.16 added 16.9.2016 'reset' : 'Réinitialiser', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Couleur de fond', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Sélecteur de couleur', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'Grille 8px', // from v2.1.16 added 4.10.2016 'enabled' : 'Actif', // from v2.1.16 added 4.10.2016 'disabled' : 'Inactif', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Aucun résultat trouvé.\\AAppuyez sur [Entrée] pour développer la cible de recherche.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Aucun résultat trouvé pour la recherche par première lettre.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Label texte', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 mins restantes', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Réouvrir avec l\'encodage sélectionné', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Sauvegarder avec l\'encodage sélectionné', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Choisir le dossier', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Recherche par première lettre', // from v2.1.23 added 24.3.2017 'presets' : 'Présélections', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Impossible de mettre autant d\'éléments à la corbeille.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Zone de texte', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Vider le dossier "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Il n\'y a pas d\'élément dans le dossier "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Préférence', // from v2.1.26 added 28.6.2017 'language' : 'Configuration de langue', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialisation des configurations sauvegardées dans ce navigateur', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Paramètres de la barre d\'outils', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 caractères restants.', // from v2.1.29 added 30.8.2017 'sum' : 'Somme', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Taille de fichier brute', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focus on the element of dialog with mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Sélectionner', // from v2.1.30 added 23.11.2017 'selectAction' : 'Action lors de la sélection d\'un fichier', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Ouvrir avec le dernier éditeur utilisé', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Inverser la sélection', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Êtes-vous sûr de vouloir renommer les éléments sélectionnés $1 en $2 ?
                      L\'action est définitive !', // from v2.1.31 added 4.12.2017 'batchRename' : 'Renommer le Batch', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Nombre', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Ajouter un préfixe', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Ajouter un suffixe', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Modifier l\'extention', // from v2.1.31 added 8.12.2017 'columnPref' : 'Paramètres des colonnes (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Les changements seront immédiatement appliqués à l\'archive.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Aucun changement ne sera appliqué tant que ce volume n\'a pas été démonté.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Le(s) volume(s) suivant(s) montés sur ce volume seront également démontés. Êtes-vous sûr de vouloir le démonter ?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Informations sur la sélection', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorithme de hachage de fichier', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info Items (Selection Info Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Appuyez à nouveau pour quitter.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Barre d\'outils', // from v2.1.38 added 4.4.2018 'workspace' : 'Espace de travail', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialogue', // from v2.1.38 added 4.4.2018 'all' : 'Tout', // from v2.1.38 added 4.4.2018 'iconSize' : 'Icon Size (Icons view)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Open the maximized editor window', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Because conversion by API is not currently available, please convert on the website.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'After conversion, you must be upload with the item URL or a downloaded file to save the converted file.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Convert on the site of $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrations', // from v2.1.40 added 11.7.2018 'integrationWith' : 'This elFinder has the following external services integrated. Please check the terms of use, privacy policy, etc. before using it.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Show hidden items', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Hide hidden items', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Show/Hide hidden items', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'File types to enable with "New file"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type of the Text file', // from v2.1.41 added 7.8.2018 'add' : 'Add', // from v2.1.41 added 7.8.2018 'theme' : 'Theme', // from v2.1.43 added 19.10.2018 'default' : 'Default', // from v2.1.43 added 19.10.2018 'description' : 'Description', // from v2.1.43 added 19.10.2018 'website' : 'Website', // from v2.1.43 added 19.10.2018 'author' : 'Author', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'License', // from v2.1.43 added 19.10.2018 'exportToSave' : 'This item can\'t be saved. To avoid losing the edits you need to export to your PC.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Double click on the file to select it.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Use fullscreen mode', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Inconnu', 'kindRoot' : 'Volume principal', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Dossier', 'kindSelects' : 'Sélections', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Raccourci', 'kindAliasBroken' : 'Raccourci cassé', // applications 'kindApp' : 'Application', 'kindPostscript' : 'Document Postscript', 'kindMsOffice' : 'Document Microsoft Office', 'kindMsWord' : 'Document Microsoft Word', 'kindMsExcel' : 'Document Microsoft Excel', 'kindMsPP' : 'Présentation Microsoft PowerPoint', 'kindOO' : 'Document OpenOffice', 'kindAppFlash' : 'Application Flash', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Fichier BitTorrent', 'kind7z' : 'Archive 7z', 'kindTAR' : 'Archive TAR', 'kindGZIP' : 'Archive GZIP', 'kindBZIP' : 'Archive BZIP', 'kindXZ' : 'Archive XZ', 'kindZIP' : 'Archive ZIP', 'kindRAR' : 'Archive RAR', 'kindJAR' : 'Fichier Java JAR', 'kindTTF' : 'Police True Type', 'kindOTF' : 'Police Open Type', 'kindRPM' : 'Package RPM', // texts 'kindText' : 'Document Text', 'kindTextPlain' : 'Texte non formaté', 'kindPHP' : 'Source PHP', 'kindCSS' : 'Feuille de style en cascade', 'kindHTML' : 'Document HTML', 'kindJS' : 'Source JavaScript', 'kindRTF' : 'Format de texte enrichi (Rich Text Format)', 'kindC' : 'Source C', 'kindCHeader' : 'Source header C', 'kindCPP' : 'Source C++', 'kindCPPHeader' : 'Source header C++', 'kindShell' : 'Shell script Unix', 'kindPython' : 'Source Python', 'kindJava' : 'Source Java', 'kindRuby' : 'Source Ruby', 'kindPerl' : 'Script Perl', 'kindSQL' : 'Source SQL', 'kindXML' : 'Document XML', 'kindAWK' : 'Source AWK', 'kindCSV' : 'CSV', 'kindDOCBOOK' : 'Document Docbook XML', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Image', 'kindBMP' : 'Image BMP', 'kindJPEG' : 'Image JPEG', 'kindGIF' : 'Image GIF', 'kindPNG' : 'Image PNG', 'kindTIFF' : 'Image TIFF', 'kindTGA' : 'Image TGA', 'kindPSD' : 'Image Adobe Photoshop', 'kindXBITMAP' : 'Image X bitmap', 'kindPXM' : 'Image Pixelmator', // media 'kindAudio' : 'Son', 'kindAudioMPEG' : 'Son MPEG', 'kindAudioMPEG4' : 'Son MPEG-4', 'kindAudioMIDI' : 'Son MIDI', 'kindAudioOGG' : 'Son Ogg Vorbis', 'kindAudioWAV' : 'Son WAV', 'AudioPlaylist' : 'Liste de lecture audio', 'kindVideo' : 'Vidéo', 'kindVideoDV' : 'Vidéo DV', 'kindVideoMPEG' : 'Vidéo MPEG', 'kindVideoMPEG4' : 'Vidéo MPEG-4', 'kindVideoAVI' : 'Vidéo AVI', 'kindVideoMOV' : 'Vidéo Quick Time', 'kindVideoWM' : 'Vidéo Windows Media', 'kindVideoFlash' : 'Vidéo Flash', 'kindVideoMKV' : 'Vidéo Matroska', 'kindVideoOGG' : 'Vidéo Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.fr.js000064400000106105151202472330014216 0ustar00/** * française translation * @author Régis Guyomarch * @author Benoit Delachaux * @author Jonathan Grunder * @version 2023-04-16 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.fr = { translator : 'Régis Guyomarch <regisg@gmail.com>, Benoit Delachaux <benorde33@gmail.com>, Jonathan Grunder <jonathan.grunder@gmail.com>', language : 'française', direction : 'ltr', dateFormat : 'd/M/Y H:i', // will show like: 16/Avr/2023 12:36 fancyDateFormat : '$1 H:i', // will show like: Aujourd'hui 12:36 nonameDateFormat : 'ymd-His', // noname upload will show like: 230416-123657 messages : { /********************************** errors **********************************/ 'error' : 'Erreur', 'errUnknown' : 'Erreur inconnue.', 'errUnknownCmd' : 'Commande inconnue.', 'errJqui' : 'Mauvaise configuration de jQuery UI. Les composants Selectable, draggable et droppable doivent être inclus.', 'errNode' : 'elFinder requiert que l\'élément DOM ait été créé.', 'errURL' : 'Mauvaise configuration d\'elFinder ! L\'option URL n\'a pas été définie.', 'errAccess' : 'Accès refusé.', 'errConnect' : 'Impossible de se connecter au backend.', 'errAbort' : 'Connexion interrompue.', 'errTimeout' : 'Délai de connexion dépassé.', 'errNotFound' : 'Backend non trouvé.', 'errResponse' : 'Mauvaise réponse du backend.', 'errConf' : 'Mauvaise configuration du backend.', 'errJSON' : 'Le module PHP JSON n\'est pas installé.', 'errNoVolumes' : 'Aucun volume lisible.', 'errCmdParams' : 'Mauvais paramétrage de la commande "$1".', 'errDataNotJSON' : 'Les données ne sont pas au format JSON.', 'errDataEmpty' : 'Données inexistantes.', 'errCmdReq' : 'La requête au Backend doit comporter le nom de la commande.', 'errOpen' : 'Impossible d\'ouvrir "$1".', 'errNotFolder' : 'Cet objet n\'est pas un dossier.', 'errNotFile' : 'Cet objet n\'est pas un fichier.', 'errRead' : 'Impossible de lire "$1".', 'errWrite' : 'Impossible d\'écrire dans "$1".', 'errPerm' : 'Permission refusée.', 'errLocked' : '"$1" est verrouillé et ne peut être déplacé ou supprimé.', 'errExists' : 'Un élément nommé "$1" existe déjà.', 'errInvName' : 'Nom de fichier incorrect.', 'errInvDirname' : 'Nom de dossier incorrect.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Dossier non trouvé.', 'errFileNotFound' : 'Fichier non trouvé.', 'errTrgFolderNotFound' : 'Dossier destination "$1" non trouvé.', 'errPopup' : 'Le navigateur web a empêché l\'ouverture d\'une fenêtre "popup". Pour ouvrir le fichier, modifiez les options du navigateur web.', 'errMkdir' : 'Impossible de créer le dossier "$1".', 'errMkfile' : 'Impossible de créer le fichier "$1".', 'errRename' : 'Impossible de renommer "$1".', 'errCopyFrom' : 'Interdiction de copier des fichiers depuis le volume "$1".', 'errCopyTo' : 'Interdiction de copier des fichiers vers le volume "$1".', 'errMkOutLink' : 'Impossible de créer un lien en dehors du volume principal.', // from v2.1 added 03.10.2015 'errUpload' : 'Erreur lors de l\'envoi du fichier.', // old name - errUploadCommon 'errUploadFile' : 'Impossible d\'envoyer "$1".', // old name - errUpload 'errUploadNoFiles' : 'Aucun fichier à envoyer.', 'errUploadTotalSize' : 'Les données dépassent la taille maximale allouée.', // old name - errMaxSize 'errUploadFileSize' : 'Le fichier dépasse la taille maximale allouée.', // old name - errFileMaxSize 'errUploadMime' : 'Type de fichier non autorisé.', 'errUploadTransfer' : '"$1" erreur de transfert.', 'errUploadTemp' : 'Impossible de créer un fichier temporaire pour transférer les fichiers.', // from v2.1 added 26.09.2015 'errNotReplace' : 'L\'objet "$1" existe déjà à cet endroit et ne peut être remplacé par un objet d\'un type différent.', // new 'errReplace' : 'Impossible de remplacer "$1".', 'errSave' : 'Impossible de sauvegarder "$1".', 'errCopy' : 'Impossible de copier "$1".', 'errMove' : 'Impossible de déplacer "$1".', 'errCopyInItself' : 'Impossible de copier "$1" sur lui-même.', 'errRm' : 'Impossible de supprimer "$1".', 'errTrash' : 'Impossible de déplacer dans la corbeille', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Impossible de supprimer le(s) fichier(s) source(s).', 'errExtract' : 'Imbossible d\'extraire les fichiers à partir de "$1".', 'errArchive' : 'Impossible de créer l\'archive.', 'errArcType' : 'Type d\'archive non supporté.', 'errNoArchive' : 'Le fichier n\'est pas une archive, ou c\'est un type d\'archive non supporté.', 'errCmdNoSupport' : 'Le Backend ne prend pas en charge cette commande.', 'errReplByChild' : 'Le dossier “$1” ne peut pas être remplacé par un élément qu\'il contient.', 'errArcSymlinks' : 'Par mesure de sécurité, il est défendu d\'extraire une archive contenant des liens symboliques ou des noms de fichier non autorisés.', // edited 24.06.2012 'errArcMaxSize' : 'Les fichiers de l\'archive excèdent la taille maximale autorisée.', 'errResize' : 'Impossible de redimensionner "$1".', 'errResizeDegree' : 'Degré de rotation invalide.', // added 7.3.2013 'errResizeRotate' : 'L\'image ne peut pas être tournée.', // added 7.3.2013 'errResizeSize' : 'Dimension de l\'image non-valide.', // added 7.3.2013 'errResizeNoChange' : 'L\'image n\'est pas redimensionnable.', // added 7.3.2013 'errUsupportType' : 'Type de fichier non supporté.', 'errNotUTF8Content' : 'Le fichier "$1" n\'est pas en UTF-8, il ne peut être édité.', // added 9.11.2011 'errNetMount' : 'Impossible de monter "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protocole non supporté.', // added 17.04.2012 'errNetMountFailed' : 'Echec du montage.', // added 17.04.2012 'errNetMountHostReq' : 'Hôte requis.', // added 18.04.2012 'errSessionExpires' : 'Votre session a expiré en raison de son inactivité.', 'errCreatingTempDir' : 'Impossible de créer le répertoire temporaire : "$1"', 'errFtpDownloadFile' : 'Impossible de télécharger le file depuis l\'accès FTP : "$1"', 'errFtpUploadFile' : 'Impossible d\'envoyer le fichier vers l\'accès FTP : "$1"', 'errFtpMkdir' : 'Impossible de créer un répertoire distant sur l\'accès FTP :"$1"', 'errArchiveExec' : 'Erreur lors de l\'archivage des fichiers : "$1"', 'errExtractExec' : 'Erreur lors de l\'extraction des fichiers : "$1"', 'errNetUnMount' : 'Impossible de démonter.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Conversion en UTF-8 impossible', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Essayez Google Chrome, si voulez envoyer le dossier.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Délai d’attente dépassé pour la recherche "$1". Le résultat de la recherche est partiel.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Réauthorisation requise.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Le nombre maximal d\'éléments pouvant être sélectionnés est $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Impossible de restaurer la corbeille. La destination de la restauration n\'a pu être identifiée.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Aucun éditeur n\'a été trouvé pour ce type de fichier.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Une erreur est survenue du côté serveur.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Impossible de vider le dossier "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Il y a encore $1 erreur(s).', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'Vous ne pouvez créer que $1 dossier au même moment.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Créer une archive', 'cmdback' : 'Précédent', 'cmdcopy' : 'Copier', 'cmdcut' : 'Couper', 'cmddownload' : 'Télécharger', 'cmdduplicate' : 'Dupliquer', 'cmdedit' : 'Éditer le fichier', 'cmdextract' : 'Extraire les fichiers de l\'archive', 'cmdforward' : 'Suivant', 'cmdgetfile' : 'Sélectionner les fichiers', 'cmdhelp' : 'À propos de ce logiciel', 'cmdhome' : 'Accueil', 'cmdinfo' : 'Informations', 'cmdmkdir' : 'Nouveau dossier', 'cmdmkdirin' : 'Dans un nouveau dossier', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nouveau fichier', 'cmdopen' : 'Ouvrir', 'cmdpaste' : 'Coller', 'cmdquicklook' : 'Prévisualiser', 'cmdreload' : 'Actualiser', 'cmdrename' : 'Renommer', 'cmdrm' : 'Supprimer', 'cmdtrash' : 'À la corbeille', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restaurer', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Trouver les fichiers', 'cmdup' : 'Remonter au dossier parent', 'cmdupload' : 'Envoyer les fichiers', 'cmdview' : 'Vue', 'cmdresize' : 'Redimensionner l\'image', 'cmdsort' : 'Trier', 'cmdnetmount' : 'Monter un volume réseau', // added 18.04.2012 'cmdnetunmount': 'Démonter', // from v2.1 added 30.04.2012 'cmdplaces' : 'Vers Favoris', // added 28.12.2014 'cmdchmod' : 'Changer de mode', // from v2.1 added 20.6.2015 'cmdopendir' : 'Ouvrir un dossier', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Réinitialiser largeur colone', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Plein écran', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Déplacer', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Vider le dossier', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Annuler', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Refaire', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Préférences', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Tout sélectionner', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Tout désélectionner', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Inverser la sélection', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Ouvrir dans une nouvelle fenêtre', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Cacher (Préférence)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Fermer', 'btnSave' : 'Enregistrer', 'btnRm' : 'Supprimer', 'btnApply' : 'Appliquer', 'btnCancel' : 'Annuler', 'btnNo' : 'Non', 'btnYes' : 'Oui', 'btnMount' : 'Monter', // added 18.04.2012 'btnApprove': 'Aller à $1 & approuver', // from v2.1 added 26.04.2012 'btnUnmount': 'Démonter', // from v2.1 added 30.04.2012 'btnConv' : 'Convertir', // from v2.1 added 08.04.2014 'btnCwd' : 'Ici', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'Tous', // from v2.1 added 22.5.2015 'btnMime' : 'Type MIME', // from v2.1 added 22.5.2015 'btnFileName':'Nom du fichier', // from v2.1 added 22.5.2015 'btnSaveClose': 'Sauvegarder & Fermer', // from v2.1 added 12.6.2015 'btnBackup' : 'Sauvegarde', // fromv2.1 added 28.11.2015 'btnRename' : 'Renommer', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Renommer (tous)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Préc. ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Suiv. ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Sauvegarder sous', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Ouvrir le dossier', 'ntffile' : 'Ouvrir le fichier', 'ntfreload' : 'Actualiser le contenu du dossier', 'ntfmkdir' : 'Création du dossier', 'ntfmkfile' : 'Création des fichiers', 'ntfrm' : 'Supprimer les éléments', 'ntfcopy' : 'Copier les éléments', 'ntfmove' : 'Déplacer les éléments', 'ntfprepare' : 'Préparation de la copie des éléments', 'ntfrename' : 'Renommer les fichiers', 'ntfupload' : 'Envoi des fichiers', 'ntfdownload' : 'Téléchargement des fichiers', 'ntfsave' : 'Sauvegarder les fichiers', 'ntfarchive' : 'Création de l\'archive', 'ntfextract' : 'Extraction des fichiers de l\'archive', 'ntfsearch' : 'Recherche des fichiers', 'ntfresize' : 'Redimensionner les images', 'ntfsmth' : 'Fait quelque chose', 'ntfloadimg' : 'Chargement de l\'image', 'ntfnetmount' : 'Monte le volume réseau', // added 18.04.2012 'ntfnetunmount': 'Démonte le volume réseau', // from v2.1 added 30.04.2012 'ntfdim' : 'Calcule la dimension de l\'image', // added 20.05.2013 'ntfreaddir' : 'Lecture des informations du dossier', // from v2.1 added 01.07.2013 'ntfurl' : 'Récupération de l’URL du lien', // from v2.1 added 11.03.2014 'ntfchmod' : 'Changement de mode', // from v2.1 added 20.6.2015 'ntfpreupload': 'Vérification du nom du fichier envoyé', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Création d’un fichier pour le téléchargement', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Traitement de l\'information du chemin', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Traitement du fichier envoyé', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Mettre à la corbeille', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Restaurer depuis la corbeille', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Validation du dossier de destination', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Annuler l\'opération précédente', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Refaire l\'opération annulée', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Vérification du contenu', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Corbeille', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'Inconnue', 'Today' : 'Aujourd\'hui', 'Yesterday' : 'Hier', 'msJan' : 'Jan', 'msFeb' : 'Fév', 'msMar' : 'Mar', 'msApr' : 'Avr', 'msMay' : 'Mai', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aoû', 'msSep' : 'Sep', 'msOct' : 'Oct', 'msNov' : 'Nov', 'msDec' : 'Déc', 'January' : 'Janvier', 'February' : 'Février', 'March' : 'Mars', 'April' : 'Avril', 'May' : 'Mai', 'June' : 'Juin', 'July' : 'Juillet', 'August' : 'Août', 'September' : 'Septembre', 'October' : 'Octobre', 'November' : 'Novembre', 'December' : 'Décembre', 'Sunday' : 'Dimanche', 'Monday' : 'Lundi', 'Tuesday' : 'Mardi', 'Wednesday' : 'Mercredi', 'Thursday' : 'Jeudi', 'Friday' : 'Vendredi', 'Saturday' : 'Samedi', 'Sun' : 'Dim', 'Mon' : 'Lun', 'Tue' : 'Mar', 'Wed' : 'Mer', 'Thu' : 'Jeu', 'Fri' : 'Ven', 'Sat' : 'Sam', /******************************** sort variants ********************************/ 'sortname' : 'par nom', 'sortkind' : 'par type', 'sortsize' : 'par taille', 'sortdate' : 'par date', 'sortFoldersFirst' : 'Dossiers en premier', 'sortperm' : 'par permission', // from v2.1.13 added 13.06.2016 'sortmode' : 'par mode', // from v2.1.13 added 13.06.2016 'sortowner' : 'par propriétaire', // from v2.1.13 added 13.06.2016 'sortgroup' : 'par groupe', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Egalement arborescence', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NouveauFichier.txt', // added 10.11.2015 'untitled folder' : 'NouveauDossier', // added 10.11.2015 'Archive' : 'NouvelleArchive', // from v2.1 added 10.11.2015 'untitled file' : 'NewFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: Fichier', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Confirmation requise', 'confirmRm' : 'Êtes-vous certain de vouloir supprimer les éléments ?
                      Cela ne peut être annulé !', 'confirmRepl' : 'Remplacer l\'ancien fichier par le nouveau ?', 'confirmRest' : 'Remplacer l\'élément existant par l\'élément de la corbeille ?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'L\'encodage n\'est pas UTf-8
                      Convertir en UTF-8 ?
                      Les contenus deviendront UTF-8 en sauvegardant après la conversion.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Impossible de détecter l\'encodage de ce fichier. Pour être modifié, il doit être temporairement convertit en UTF-8.
                      Veuillez s\'il vous plaît sélectionner un encodage pour ce fichier.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Ce fichier a été modifié.
                      Les données seront perdues si les changements ne sont pas sauvegardés.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Êtes-vous certain de vouloir déplacer les éléments vers la corbeille?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Etes-vous sûr de vouloir déplacer ces éléments vers "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Appliquer à tous', 'name' : 'Nom', 'size' : 'Taille', 'perms' : 'Permissions', 'modify' : 'Modifié', 'kind' : 'Type', 'read' : 'Lecture', 'write' : 'Écriture', 'noaccess' : 'Pas d\'accès', 'and' : 'et', 'unknown' : 'inconnu', 'selectall' : 'Sélectionner tous les éléments', 'selectfiles' : 'Sélectionner le(s) élément(s)', 'selectffile' : 'Sélectionner le premier élément', 'selectlfile' : 'Sélectionner le dernier élément', 'viewlist' : 'Vue par liste', 'viewicons' : 'Vue par icônes', 'viewSmall' : 'Petites icônes', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Moyennes icônes', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Grandes icônes', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Très grandes icônes', // from v2.1.39 added 22.5.2018 'places' : 'Favoris', 'calc' : 'Calculer', 'path' : 'Chemin', 'aliasfor' : 'Raccourcis pour', 'locked' : 'Verrouiller', 'dim' : 'Dimensions', 'files' : 'Fichiers', 'folders' : 'Dossiers', 'items' : 'Éléments', 'yes' : 'oui', 'no' : 'non', 'link' : 'Lien', 'searcresult' : 'Résultats de la recherche', 'selected' : 'Éléments sélectionnés', 'about' : 'À propos', 'shortcuts' : 'Raccourcis', 'help' : 'Aide', 'webfm' : 'Gestionnaire de fichier Web', 'ver' : 'Version', 'protocolver' : 'Version du protocole', 'homepage' : 'Page du projet', 'docs' : 'Documentation', 'github' : 'Forkez-nous sur Github', 'twitter' : 'Suivez nous sur Twitter', 'facebook' : 'Joignez-nous sur Facebook', 'team' : 'Équipe', 'chiefdev' : 'Développeur en chef', 'developer' : 'Développeur', 'contributor' : 'Contributeur', 'maintainer' : 'Mainteneur', 'translator' : 'Traducteur', 'icons' : 'Icônes', 'dontforget' : 'et n\'oubliez pas votre serviette', 'shortcutsof' : 'Raccourcis désactivés', 'dropFiles' : 'Déposez les fichiers ici', 'or' : 'ou', 'selectForUpload' : 'Sélectionner les fichiers à envoyer', 'moveFiles' : 'Déplacer les éléments', 'copyFiles' : 'Copier les éléments', 'restoreFiles' : 'Restaurer les éléments', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Retirer des favoris', 'aspectRatio' : 'Ratio d’affichage', 'scale' : 'Mise à l\'échelle', 'width' : 'Largeur', 'height' : 'Hauteur', 'resize' : 'Redimensionner', 'crop' : 'Recadrer', 'rotate' : 'Rotation', 'rotate-cw' : 'Rotation de 90 degrés horaire', 'rotate-ccw' : 'Rotation de 90 degrés antihoraire', 'degree' : '°', 'netMountDialogTitle' : 'Monter un volume réseau', // added 18.04.2012 'protocol' : 'Protocole', // added 18.04.2012 'host' : 'Hôte', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Utilisateur', // added 18.04.2012 'pass' : 'Mot de passe', // added 18.04.2012 'confirmUnmount' : 'Démonter $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Glissez-déposez depuis le navigateur de fichier', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Glissez-déposez les fichiers ici', // from v2.1 added 07.04.2014 'encoding' : 'Encodage', // from v2.1 added 19.12.2014 'locale' : 'Encodage régional', // from v2.1 added 19.12.2014 'searchTarget' : 'Destination: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Recherche par type MIME', // from v2.1 added 22.5.2015 'owner' : 'Propriétaire', // from v2.1 added 20.6.2015 'group' : 'Groupe', // from v2.1 added 20.6.2015 'other' : 'Autre', // from v2.1 added 20.6.2015 'execute' : 'Exécuter', // from v2.1 added 20.6.2015 'perm' : 'Permission', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'Le dossier est vide', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Le dossier est vide.\\ Glissez-déposez pour ajouter des éléments.', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Le dossier est vide.\\ Appuyez longuement pour ajouter des éléments.', // from v2.1.6 added 30.12.2015 'quality' : 'Qualité', // from v2.1.6 added 5.1.2016 'autoSync' : 'Synchronisation automatique', // from v2.1.6 added 10.1.2016 'moveUp' : 'Déplacer vers le haut', // from v2.1.6 added 18.1.2016 'getLink' : 'Obtenir le lien d’URL', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Éléments sélectionnés ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID du dossier', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Permettre l\'accès hors-ligne', // from v2.1.10 added 3.25.2016 'reAuth' : 'Pour se réauthentifier', // from v2.1.10 added 3.25.2016 'nowLoading' : 'En cours de chargement...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Ouvrir multiples fichiers', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Vous allez ouvrir $1 fichiers. Êtes-vous sûr de vouloir les ouvrir dans le navigateur ?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Aucun résultat trouvé avec les paramètres de recherche.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Modification d\'un fichier.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Vous avez sélectionné $1 éléments.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Vous avez $1 éléments dans le presse-papier.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Recherche incrémentale disponible uniquement pour la vue active.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Rétablir', // from v2.1.15 added 3.8.2016 'complete' : '$1 complété', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Menu contextuel', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Tourner la page', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volumes principaux', // from v2.1.16 added 16.9.2016 'reset' : 'Réinitialiser', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Couleur de fond', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Sélecteur de couleur', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'Grille 8px', // from v2.1.16 added 4.10.2016 'enabled' : 'Actif', // from v2.1.16 added 4.10.2016 'disabled' : 'Inactif', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Aucun résultat trouvé.\\Appuyez sur [Entrée] pour développer la cible de recherche.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Aucun résultat trouvé pour la recherche par première lettre.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Label texte', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 mins restantes', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Réouvrir avec l\'encodage sélectionné', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Sauvegarder avec l\'encodage sélectionné', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Choisir le dossier', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Recherche par première lettre', // from v2.1.23 added 24.3.2017 'presets' : 'Présélections', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Impossible de mettre autant d\'éléments à la corbeille.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Zone de texte', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Vider le dossier "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Il n\'y a pas d\'élément dans le dossier "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Préférences', // from v2.1.26 added 28.6.2017 'language' : 'Configuration de langue', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialisation des configurations sauvegardées dans ce navigateur', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Paramètres de la barre d\'outils', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 caractère(s) restant(s).', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 ligne(s) restante(s).', // from v2.1.52 added 16.1.2020 'sum' : 'Somme', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Taille de fichier brute', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Concentrez-vous sur l\'élément de dialogue avec le survol de la souris', // from v2.1.30 added 2.11.2017 'select' : 'Sélectionner', // from v2.1.30 added 23.11.2017 'selectAction' : 'Action lors de la sélection d\'un fichier', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Ouvrir avec le dernier éditeur utilisé', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Inverser la sélection', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Êtes-vous sûr de vouloir renommer les éléments sélectionnés $1 en $2 ?
                      L\'action est définitive !', // from v2.1.31 added 4.12.2017 'batchRename' : 'Renommer le Batch', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Nombre', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Ajouter un préfixe', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Ajouter un suffixe', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Modifier l\'extention', // from v2.1.31 added 8.12.2017 'columnPref' : 'Paramètres des colonnes (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Les changements seront immédiatement appliqués à l\'archive.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Aucun changement ne sera appliqué tant que ce volume n\'a pas été démonté.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Le(s) volume(s) suivant(s) montés sur ce volume seront également démontés. Êtes-vous sûr de vouloir le démonter ?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Informations sur la sélection', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorithme de hachage de fichier', // from v2.1.33 added 10.3.2018 'infoItems' : 'Éléments d\'information (panneau de sélection d\'informations )', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Appuyez à nouveau pour quitter.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Barre d\'outils', // from v2.1.38 added 4.4.2018 'workspace' : 'Espace de travail', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialogue', // from v2.1.38 added 4.4.2018 'all' : 'Tout', // from v2.1.38 added 4.4.2018 'iconSize' : 'Dimensions de l\'icône (Aperçu)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Ouvrir la fenêtre d\'édition à la taille maximale', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Étant donné que la conversion par API n\'est pas disponible actuellement, veuillez effectuer la conversion sur le site Web.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Après la conversion, vous devez ajouter l\'URL de l\'élément ou un fichier téléchargé pour enregistrer le fichier converti.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Convertir sur le site de $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Intégrations', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Cet elFinder intègre les services externes suivants. Veuillez vérifier les conditions d\'utilisation, la politique de confidentialité, etc. avant de l\'utiliser.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Afficher les élément cachés', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Ne pas afficher les élément cachés', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Afficher/Cacher les éléments cachés', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Type de ficher autorisé avec "Nouveau fichier"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type du fichier de texte', // from v2.1.41 added 7.8.2018 'add' : 'Ajouter', // from v2.1.41 added 7.8.2018 'theme' : 'Thème', // from v2.1.43 added 19.10.2018 'default' : 'Par Défaut', // from v2.1.43 added 19.10.2018 'description' : 'Description', // from v2.1.43 added 19.10.2018 'website' : 'Site Web', // from v2.1.43 added 19.10.2018 'author' : 'Aauteur', // from v2.1.43 added 19.10.2018 'email' : 'E-mail', // from v2.1.43 added 19.10.2018 'license' : 'License', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Cet élément ne peut être enregistrer. Pour éviter de perdre les modifications, vous devez exporter vers votre ordinateur.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Double-cliquez sur le fichier pour le sélectionner.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Utiliser le mode plein écran', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Inconnu', 'kindRoot' : 'Volume principal', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Dossier', 'kindSelects' : 'Sélections', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Raccourci', 'kindAliasBroken' : 'Raccourci cassé', // applications 'kindApp' : 'Application', 'kindPostscript' : 'Document Postscript', 'kindMsOffice' : 'Document Microsoft Office', 'kindMsWord' : 'Document Microsoft Word', 'kindMsExcel' : 'Document Microsoft Excel', 'kindMsPP' : 'Présentation Microsoft PowerPoint', 'kindOO' : 'Document OpenOffice', 'kindAppFlash' : 'Application Flash', 'kindPDF' : 'Format de document portable (PDF)', 'kindTorrent' : 'Fichier BitTorrent', 'kind7z' : 'Archive 7z', 'kindTAR' : 'Archive TAR', 'kindGZIP' : 'Archive GZIP', 'kindBZIP' : 'Archive BZIP', 'kindXZ' : 'Archive XZ', 'kindZIP' : 'Archive ZIP', 'kindRAR' : 'Archive RAR', 'kindJAR' : 'Fichier Java JAR', 'kindTTF' : 'Police True Type', 'kindOTF' : 'Police Open Type', 'kindRPM' : 'Package RPM', // texts 'kindText' : 'Document Text', 'kindTextPlain' : 'Texte non formaté', 'kindPHP' : 'Source PHP', 'kindCSS' : 'Feuille de style en cascade', 'kindHTML' : 'Document HTML', 'kindJS' : 'Source JavaScript', 'kindRTF' : 'Format de texte enrichi (Rich Text Format)', 'kindC' : 'Source C', 'kindCHeader' : 'Source header C', 'kindCPP' : 'Source C++', 'kindCPPHeader' : 'Source header C++', 'kindShell' : 'Shell script Unix', 'kindPython' : 'Source Python', 'kindJava' : 'Source Java', 'kindRuby' : 'Source Ruby', 'kindPerl' : 'Script Perl', 'kindSQL' : 'Source SQL', 'kindXML' : 'Document XML', 'kindAWK' : 'Source AWK', 'kindCSV' : 'CSV', 'kindDOCBOOK' : 'Document Docbook XML', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Image', 'kindBMP' : 'Image BMP', 'kindJPEG' : 'Image JPEG', 'kindGIF' : 'Image GIF', 'kindPNG' : 'Image PNG', 'kindTIFF' : 'Image TIFF', 'kindTGA' : 'Image TGA', 'kindPSD' : 'Image Adobe Photoshop', 'kindXBITMAP' : 'Image X bitmap', 'kindPXM' : 'Image Pixelmator', // media 'kindAudio' : 'Son', 'kindAudioMPEG' : 'Son MPEG', 'kindAudioMPEG4' : 'Son MPEG-4', 'kindAudioMIDI' : 'Son MIDI', 'kindAudioOGG' : 'Son Ogg Vorbis', 'kindAudioWAV' : 'Son WAV', 'AudioPlaylist' : 'Liste de lecture audio', 'kindVideo' : 'Vidéo', 'kindVideoDV' : 'Vidéo DV', 'kindVideoMPEG' : 'Vidéo MPEG', 'kindVideoMPEG4' : 'Vidéo MPEG-4', 'kindVideoAVI' : 'Vidéo AVI', 'kindVideoMOV' : 'Vidéo Quick Time', 'kindVideoWM' : 'Vidéo Windows Media', 'kindVideoFlash' : 'Vidéo Flash', 'kindVideoMKV' : 'Vidéo Matroska', 'kindVideoOGG' : 'Vidéo Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.he.js000064400000045000151202472330014177 0ustar00/** * עברית translation * @author Yaron Shahrabani * @version 2015-11-02 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.he = { translator : 'Yaron Shahrabani ', language : 'עברית', direction : 'rtl', dateFormat : 'd.m.Y H:i', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM messages : { /********************************** errors **********************************/ 'error' : 'שגיאה', 'errUnknown' : 'שגיאה בלתי מוכרת.', 'errUnknownCmd' : 'פקודה בלתי מוכרת.', 'errJqui' : 'תצורת ה־jQuery UI שגויה. יש לכלול רכיבים הניתנים לבחירה, גרירה והשלכה.', 'errNode' : 'elFinder דורש יצירה של רכיב DOM.', 'errURL' : 'התצורה של elFinder שגויה! אפשרות הכתובת (URL) לא הוגדרה.', 'errAccess' : 'הגישה נדחית.', 'errConnect' : 'לא ניתן להתחבר למנגנון.', 'errAbort' : 'החיבור בוטל.', 'errTimeout' : 'זמן החיבור פג.', 'errNotFound' : 'לא נמצא מנגנון.', 'errResponse' : 'תגובת המנגנון שגויה.', 'errConf' : 'תצורת המנגנון שגויה.', 'errJSON' : 'המודול PHP JSON לא מותקן.', 'errNoVolumes' : 'אין כוננים זמינים לקריאה.', 'errCmdParams' : 'פרמטרים שגויים לפקודה „$1“.', 'errDataNotJSON' : 'הנתונים אינם JSON.', 'errDataEmpty' : 'הנתונים ריקים.', 'errCmdReq' : 'בקשה למנגנון דורשת שם פקודה.', 'errOpen' : 'לא ניתן לפתוח את „$1“.', 'errNotFolder' : 'הפריט אינו תיקייה.', 'errNotFile' : 'הפריט אינו קובץ.', 'errRead' : 'לא ניתן לקרוא את „$1“.', 'errWrite' : 'לא ניתן לכתוב אל „$1“.', 'errPerm' : 'ההרשאה נדחתה.', 'errLocked' : '„$1“ נעול ואין אפשרות לשנות את שמו, להעבירו או להסירו.', 'errExists' : 'קובץ בשם „$1“ כבר קיים.', 'errInvName' : 'שם הקובץ שגוי.', 'errFolderNotFound' : 'התיקייה לא נמצאה.', 'errFileNotFound' : 'הקובץ לא נמצא.', 'errTrgFolderNotFound' : 'תיקיית היעד „$1“ לא נמצאה.', 'errPopup' : 'הדפדפן מנע פתיחת חלון קובץ. כדי לפתוח קובץ יש לאפשר זאת בהגדרות הדפדפן.', 'errMkdir' : 'לא ניתן ליצור את התיקייה „$1“.', 'errMkfile' : 'לא ניתן ליצור את הקובץ „$1“.', 'errRename' : 'לא ניתן לשנות את השם של „$1“.', 'errCopyFrom' : 'העתקת קבצים מהכונן „$1“ אינה מאופשרת.', 'errCopyTo' : 'העתקת קבצים אל הכונן „$1“ אינה מאופשרת.', 'errUpload' : 'שגיאת העלאה.', // old name - errUploadCommon 'errUploadFile' : 'לא ניתן להעלות את „$1“.', // old name - errUpload 'errUploadNoFiles' : 'לא נמצאו קבצים להעלאה.', 'errUploadTotalSize' : 'הנתונים חורגים מהגודל המרבי המותר.', // old name - errMaxSize 'errUploadFileSize' : 'הקובץ חורג מהגודל המרבי המותר.', // old name - errFileMaxSize 'errUploadMime' : 'סוג הקובץ אינו מורשה.', 'errUploadTransfer' : 'שגיאת העברה „$1“.', 'errNotReplace' : 'הפריט „$1“ כבר קיים במיקום זה ואי אפשר להחליפו בפריט מסוג אחר.', // new 'errReplace' : 'לא ניתן להחליף את „$1“.', 'errSave' : 'לא ניתן לשמור את „$1“.', 'errCopy' : 'לא ניתן להעתיק את „$1“.', 'errMove' : 'לא ניתן להעביר את „$1“.', 'errCopyInItself' : 'לא ניתן להעתיק את „$1“ לתוך עצמו.', 'errRm' : 'לא ניתן להסיר את „$1“.', 'errRmSrc' : 'לא ניתן להסיר את קובצי המקור.', 'errExtract' : 'לא ניתן לחלץ קבצים מהארכיון „$1“.', 'errArchive' : 'לא ניתן ליצור ארכיון.', 'errArcType' : 'סוג הארכיון אינו נתמך.', 'errNoArchive' : 'הקובץ אינו ארכיון או שסוג הקובץ שלו אינו נתמך.', 'errCmdNoSupport' : 'המנגנון אינו תומך בפקודה זו.', 'errReplByChild' : 'לא ניתן להחליף את התיקייה „$1“ בפריט מתוכה.', 'errArcSymlinks' : 'מטעמי אבטחה לא ניתן לחלץ ארכיונים שמכילים קישורים סימבוליים או קבצים עם שמות בלתי מורשים.', // edited 24.06.2012 'errArcMaxSize' : 'הארכיון חורג מהגודל המרבי המותר.', 'errResize' : 'לא ניתן לשנות את הגודל של „$1“.', 'errResizeDegree' : 'מעלות ההיפוך שגויות.', // added 7.3.2013 'errResizeRotate' : 'לא ניתן להפוך את התמונה.', // added 7.3.2013 'errResizeSize' : 'גודל התמונה שגוי.', // added 7.3.2013 'errResizeNoChange' : 'גודל התמונה לא השתנה.', // added 7.3.2013 'errUsupportType' : 'סוג הקובץ אינו נתמך.', 'errNotUTF8Content' : 'הקובץ „$1“ הוא לא בתסדיר UTF-8 ולא ניתן לערוך אותו.', // added 9.11.2011 'errNetMount' : 'לא ניתן לעגן את „$1“.', // added 17.04.2012 'errNetMountNoDriver' : 'פרוטוקול בלתי נתמך.', // added 17.04.2012 'errNetMountFailed' : 'העיגון נכשל.', // added 17.04.2012 'errNetMountHostReq' : 'נדרש מארח.', // added 18.04.2012 'errSessionExpires' : 'ההפעלה שלך פגה עקב חוסר פעילות.', 'errCreatingTempDir' : 'לא ניתן ליצור תיקייה זמנית: „$1“', 'errFtpDownloadFile' : 'לא ניתן להוריד קובץ מ־ FTP: „$1“', 'errFtpUploadFile' : 'לא ניתן להעלות קובץ ל־FTP: „$1“', 'errFtpMkdir' : 'לא ניתן ליצור תיקייה מרוחקת ב־FTP: „$1“', 'errArchiveExec' : 'שמירת הקבצים בארכיון נכשלה: „$1“', 'errExtractExec' : 'חילוץ קבצים נכשל: „$1“', /******************************* commands names ********************************/ 'cmdarchive' : 'יצירת ארכיון', 'cmdback' : 'חזרה', 'cmdcopy' : 'העתקה', 'cmdcut' : 'גזירה', 'cmddownload' : 'הורדה', 'cmdduplicate' : 'שכפול', 'cmdedit' : 'עריכת קובץ', 'cmdextract' : 'חילוץ קבצים מארכיון', 'cmdforward' : 'העברה', 'cmdgetfile' : 'בחירת קבצים', 'cmdhelp' : 'פרטים על התכנית הזו', 'cmdhome' : 'בית', 'cmdinfo' : 'קבלת מידע', 'cmdmkdir' : 'תיקייה חדשה', 'cmdmkfile' : 'קובץ חדש', 'cmdopen' : 'פתיחה', 'cmdpaste' : 'הדבקה', 'cmdquicklook' : 'תצוגה מקדימה', 'cmdreload' : 'רענון', 'cmdrename' : 'שינוי שם', 'cmdrm' : 'מחיקה', 'cmdsearch' : 'חיפוש קבצים', 'cmdup' : 'מעבר לתיקיית ההורה', 'cmdupload' : 'העלאת קבצים', 'cmdview' : 'תצוגה', 'cmdresize' : 'שינוי גודל והיפוך', 'cmdsort' : 'מיון', 'cmdnetmount' : 'עיגון כונן רשת', // added 18.04.2012 /*********************************** buttons ***********************************/ 'btnClose' : 'סגירה', 'btnSave' : 'שמירה', 'btnRm' : 'הסרה', 'btnApply' : 'החלה', 'btnCancel' : 'ביטול', 'btnNo' : 'לא', 'btnYes' : 'כן', 'btnMount' : 'עיגון', // added 18.04.2012 /******************************** notifications ********************************/ 'ntfopen' : 'פתיחת תיקייה', 'ntffile' : 'פתיחת קובץ', 'ntfreload' : 'רענון תוכן התיקייה', 'ntfmkdir' : 'תיקייה נוצרת', 'ntfmkfile' : 'קבצים נוצרים', 'ntfrm' : 'קבצים נמחקים', 'ntfcopy' : 'קבצים מועתקים', 'ntfmove' : 'קבצים מועברים', 'ntfprepare' : 'העתקת קבצים בהכנה', 'ntfrename' : 'שמות קבצים משתנים', 'ntfupload' : 'קבצים נשלחים', 'ntfdownload' : 'קבצים מתקבלים', 'ntfsave' : 'שמירת קבצים', 'ntfarchive' : 'ארכיון נוצר', 'ntfextract' : 'מחולצים קבצים מארכיון', 'ntfsearch' : 'קבצים בחיפוש', 'ntfresize' : 'גודל קבצים משתנה', 'ntfsmth' : 'מתבצעת פעולה', 'ntfloadimg' : 'נטענת תמונה', 'ntfnetmount' : 'כונן רשת מעוגן', // added 18.04.2012 'ntfdim' : 'ממדי תמונה מתקבלים', // added 20.05.2013 /************************************ dates **********************************/ 'dateUnknown' : 'לא ידוע', 'Today' : 'היום', 'Yesterday' : 'מחר', 'msJan' : 'ינו׳', 'msFeb' : 'פבר׳', 'msMar' : 'מרץ', 'msApr' : 'אפר׳', 'msMay' : 'מאי', 'msJun' : 'יונ׳', 'msJul' : 'יול׳', 'msAug' : 'אוג׳', 'msSep' : 'ספט׳', 'msOct' : 'אוק׳', 'msNov' : 'נוב׳', 'msDec' : 'דצמ׳', 'January' : 'ינואר', 'February' : 'פברואר', 'March' : 'מרץ', 'April' : 'אפריל', 'May' : 'מאי', 'June' : 'יוני', 'July' : 'יולי', 'August' : 'אוגוסט', 'September' : 'ספטמבר', 'October' : 'אוקטובר', 'November' : 'נובמבר', 'December' : 'דצמבר', 'Sunday' : 'יום ראשון', 'Monday' : 'יום שני', 'Tuesday' : 'יום שלישי', 'Wednesday' : 'יום רביעי', 'Thursday' : 'יום חמישי', 'Friday' : 'יום שישי', 'Saturday' : 'שבת', 'Sun' : 'א׳', 'Mon' : 'ב׳', 'Tue' : 'ג׳', 'Wed' : 'ד׳', 'Thu' : 'ה', 'Fri' : 'ו׳', 'Sat' : 'ש׳', /******************************** sort variants ********************************/ 'sortname' : 'לפי שם', 'sortkind' : 'לפי סוג', 'sortsize' : 'לפי גודל', 'sortdate' : 'לפי תאריך', 'sortFoldersFirst' : 'תיקיות תחילה', /********************************** messages **********************************/ 'confirmReq' : 'נדרש אישור', 'confirmRm' : 'להסיר את הקבצים?
                      פעולה זו בלתי הפיכה!', 'confirmRepl' : 'להחליף קובץ ישן בקובץ חדש?', 'apllyAll' : 'להחיל על הכול', 'name' : 'שם', 'size' : 'גודל', 'perms' : 'הרשאות', 'modify' : 'שינוי', 'kind' : 'סוג', 'read' : 'קריאה', 'write' : 'כתיבה', 'noaccess' : 'אין גישה', 'and' : 'וגם', 'unknown' : 'לא ידוע', 'selectall' : 'בחירת כל הקבצים', 'selectfiles' : 'בחירת קובץ אחד ומעלה', 'selectffile' : 'בחירת הקובץ הראשון', 'selectlfile' : 'בחירת הקובץ האחרון', 'viewlist' : 'תצוגת רשימה', 'viewicons' : 'תצוגת סמלים', 'places' : 'מיקומים', 'calc' : 'חישוב', 'path' : 'נתיב', 'aliasfor' : 'כינוי עבור', 'locked' : 'נעול', 'dim' : 'ממדים', 'files' : 'קבצים', 'folders' : 'תיקיות', 'items' : 'פריטים', 'yes' : 'כן', 'no' : 'לא', 'link' : 'קישור', 'searcresult' : 'תוצאות חיפוש', 'selected' : 'קבצים נבחרים', 'about' : 'על אודות', 'shortcuts' : 'קיצורי דרך', 'help' : 'עזרה', 'webfm' : 'מנהל קבצים בדפדפן', 'ver' : 'גרסה', 'protocolver' : 'גרסת פרוטוקול', 'homepage' : 'דף הבית של המיזם', 'docs' : 'תיעוד', 'github' : 'פילוג עותק ב־Github', 'twitter' : 'לעקוב אחרינו בטוויטר', 'facebook' : 'להצטרף אלינו בפייסבוק', 'team' : 'צוות', 'chiefdev' : 'מפתח ראשי', 'developer' : 'מתכנת', 'contributor' : 'תורם', 'maintainer' : 'מתחזק', 'translator' : 'מתרגם', 'icons' : 'סמלים', 'dontforget' : 'לא לשכוח לקחת את המגבת שלך', 'shortcutsof' : 'קיצורי הדרך מנוטרלים', 'dropFiles' : 'ניתן להשליך את הקבצים לכאן', 'or' : 'או', 'selectForUpload' : 'לבחור קבצים להעלאה', 'moveFiles' : 'העברת קבצים', 'copyFiles' : 'העתקת קבצים', 'rmFromPlaces' : 'הסרה ממיקומים', 'aspectRatio' : 'יחס תצוגה', 'scale' : 'מתיחה', 'width' : 'רוחב', 'height' : 'גובה', 'resize' : 'שינוי הגודל', 'crop' : 'חיתוך', 'rotate' : 'היפוך', 'rotate-cw' : 'היפוך ב־90 מעלות נגד השעון', 'rotate-ccw' : 'היפוך ב־90 מעלות עם השעון CCW', 'degree' : '°', 'netMountDialogTitle' : 'עיגון כונן רשת', // added 18.04.2012 'protocol' : 'פרוטוקול', // added 18.04.2012 'host' : 'מארח', // added 18.04.2012 'port' : 'פתחה', // added 18.04.2012 'user' : 'משתמש', // added 18.04.2012 'pass' : 'ססמה', // added 18.04.2012 /********************************** mimetypes **********************************/ 'kindUnknown' : 'בלתי ידוע', 'kindFolder' : 'תיקייה', 'kindAlias' : 'כינוי', 'kindAliasBroken' : 'כינוי שבור', // applications 'kindApp' : 'יישום', 'kindPostscript' : 'מסמך Postscript', 'kindMsOffice' : 'מסמך Microsoft Office', 'kindMsWord' : 'מסמך Microsoft Word', 'kindMsExcel' : 'מסמך Microsoft Excel', 'kindMsPP' : 'מצגת Microsoft Powerpoint', 'kindOO' : 'מסמך Open Office', 'kindAppFlash' : 'יישום Flash', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'קובץ Bittorrent', 'kind7z' : 'ארכיון 7z', 'kindTAR' : 'ארכיון TAR', 'kindGZIP' : 'ארכיון GZIP', 'kindBZIP' : 'ארכיון BZIP', 'kindXZ' : 'ארכיון XZ', 'kindZIP' : 'ארכיון ZIP', 'kindRAR' : 'ארכיון RAR', 'kindJAR' : 'קובץ JAR של Java', 'kindTTF' : 'גופן True Type', 'kindOTF' : 'גופן Open Type', 'kindRPM' : 'חבילת RPM', // texts 'kindText' : 'מסמך טקסט', 'kindTextPlain' : 'טקסט פשוט', 'kindPHP' : 'מקור PHP', 'kindCSS' : 'גיליון סגנון מדורג', 'kindHTML' : 'מסמך HTML', 'kindJS' : 'מקור Javascript', 'kindRTF' : 'תבנית טקסט עשיר', 'kindC' : 'מקור C', 'kindCHeader' : 'מקור כותרת C', 'kindCPP' : 'מקור C++', 'kindCPPHeader' : 'מקור כותרת C++', 'kindShell' : 'תסריט מעטפת יוניקס', 'kindPython' : 'מקור Python', 'kindJava' : 'מקור Java', 'kindRuby' : 'מקור Ruby', 'kindPerl' : 'תסריט Perl', 'kindSQL' : 'מקור SQL', 'kindXML' : 'מקור XML', 'kindAWK' : 'מקור AWK', 'kindCSV' : 'ערכים מופרדים בפסיקים', 'kindDOCBOOK' : 'מסמךDocbook XML', // images 'kindImage' : 'תמונה', 'kindBMP' : 'תמונת BMP', 'kindJPEG' : 'תמונת JPEG', 'kindGIF' : 'תמונת GIF', 'kindPNG' : 'תמונת PNG', 'kindTIFF' : 'תמונת TIFF', 'kindTGA' : 'תמונת TGA', 'kindPSD' : 'תמונת Adobe Photoshop', 'kindXBITMAP' : 'תמונת מפת סיביות X', 'kindPXM' : 'תמונת Pixelmator', // media 'kindAudio' : 'מדיה מסוג שמע', 'kindAudioMPEG' : 'שמע MPEG', 'kindAudioMPEG4' : 'שמע MPEG-4', 'kindAudioMIDI' : 'שמע MIDI', 'kindAudioOGG' : 'שמע Ogg Vorbis', 'kindAudioWAV' : 'שמע WAV', 'AudioPlaylist' : 'רשימת נגינה MP3', 'kindVideo' : 'מדיה מסוג וידאו', 'kindVideoDV' : 'סרטון DV', 'kindVideoMPEG' : 'סרטון MPEG', 'kindVideoMPEG4' : 'סרטון MPEG-4', 'kindVideoAVI' : 'סרטון AVI', 'kindVideoMOV' : 'סרטון Quick Time', 'kindVideoWM' : 'סרטון Windows Media', 'kindVideoFlash' : 'סרטון Flash', 'kindVideoMKV' : 'סרטון Matroska', 'kindVideoOGG' : 'סרטון Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.hr.js000064400000050306151202472330014221 0ustar00/** * hr translation * @version 2016-04-18 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.hr = { translator : '', language : 'Croatian', direction : 'ltr', dateFormat : 'd.m.Y. H:i', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM messages : { /********************************** errors **********************************/ 'error' : 'Greška', 'errUnknown' : 'Nepoznata greška.', 'errUnknownCmd' : 'Nepoznata naredba.', 'errJqui' : 'Kriva jQuery UI konfiguracija. Selectable, draggable, i droppable komponente moraju biti uključene.', 'errNode' : 'elFinder zahtjeva DOM element da bi bio stvoren.', 'errURL' : 'Krivo konfiguriran elFinder. Opcija URL nije postavljena.', 'errAccess' : 'Zabranjen pristup.', 'errConnect' : 'Nije moguće spajanje na server.', 'errAbort' : 'Prekinuta veza.', 'errTimeout' : 'Veza je istekla.', 'errNotFound' : 'Server nije pronađen.', 'errResponse' : 'Krivi odgovor servera.', 'errConf' : 'Krivo konfiguriran server', 'errJSON' : 'Nije instaliran PHP JSON modul.', 'errNoVolumes' : 'Disk nije dostupan.', 'errCmdParams' : 'Krivi parametri za naredbu "$1".', 'errDataNotJSON' : 'Podaci nisu tipa JSON.', 'errDataEmpty' : 'Nema podataka.', 'errCmdReq' : 'Backend request requires command name.', 'errOpen' : 'Ne mogu otvoriti "$1".', 'errNotFolder' : 'Objekt nije mapa.', 'errNotFile' : 'Objekt nije dokument.', 'errRead' : 'Ne mogu pročitati "$1".', 'errWrite' : 'Ne mogu pisati u "$1".', 'errPerm' : 'Pristup zabranjen', 'errLocked' : '"$1" je zaključan i ne može biti preimenovan, premješten ili obrisan.', 'errExists' : 'Dokument s imenom "$1" već postoji.', 'errInvName' : 'Krivo ime dokumenta', 'errFolderNotFound' : 'Mapa nije pronađena', 'errFileNotFound' : 'Dokument nije pronađen', 'errTrgFolderNotFound' : 'Mapa "$1" nije pronađena', 'errPopup' : 'Browser prevented opening popup window. To open file enable it in browser options.', 'errMkdir' : 'Ne mogu napraviti mapu "$1".', 'errMkfile' : 'Ne mogu napraviti dokument "$1".', 'errRename' : 'Ne mogu preimenovati "$1".', 'errCopyFrom' : 'Kopiranje s diska "$1" nije dozvoljeno.', 'errCopyTo' : 'Kopiranje na disk "$1" nije dozvoljeno.', 'errMkOutLink' : 'Unable to create a link to outside the volume root.', // from v2.1 added 03.10.2015 'errUpload' : 'Greška pri prebacivanju dokumenta na server.', // old name - errUploadCommon 'errUploadFile' : 'Ne mogu prebaciti "$1" na server', // old name - errUpload 'errUploadNoFiles' : 'Nema dokumenata za prebacivanje na server', 'errUploadTotalSize' : 'Dokumenti prelaze maksimalnu dopuštenu veličinu.', // old name - errMaxSize 'errUploadFileSize' : 'Dokument je prevelik.', // old name - errFileMaxSize 'errUploadMime' : 'Ovaj tip dokumenta nije dopušten.', 'errUploadTransfer' : '"$1" greška pri prebacivanju', 'errUploadTemp' : 'Ne mogu napraviti privremeni dokument za prijenos na server', // from v2.1 added 26.09.2015 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', // new 'errReplace' : 'Ne mogu zamijeniti "$1".', 'errSave' : 'Ne mogu spremiti "$1".', 'errCopy' : 'Ne mogu kopirati "$1".', 'errMove' : 'Ne mogu premjestiti "$1".', 'errCopyInItself' : 'Ne mogu kopirati "$1" na isto mjesto.', 'errRm' : 'Ne mogu ukloniti "$1".', 'errRmSrc' : 'Ne mogu ukloniti izvorni kod.', 'errExtract' : 'Unable to extract files from "$1".', 'errArchive' : 'Unable to create archive.', 'errArcType' : 'Unsupported archive type.', 'errNoArchive' : 'File is not archive or has unsupported archive type.', 'errCmdNoSupport' : 'Backend does not support this command.', 'errReplByChild' : 'The folder "$1" can\'t be replaced by an item it contains.', 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.', 'errResize' : 'Unable to resize "$1".', 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013 'errResizeSize' : 'Invalid image size.', // added 7.3.2013 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013 'errUsupportType' : 'Unsupported file type.', 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012 'errNetMountHostReq' : 'Host required.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', 'errNetUnMount' : 'Unable to unmount', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Not convertible to UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Try Google Chrome, If you\'d like to upload the folder.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Timed out while searching "$1". Search result is partial.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Re-authorization is required.', // from v2.1.10 added 3.24.2016 /******************************* commands names ********************************/ 'cmdarchive' : 'Arhiviraj', 'cmdback' : 'Nazad', 'cmdcopy' : 'Kopiraj', 'cmdcut' : 'Izreži', 'cmddownload' : 'Preuzmi', 'cmdduplicate' : 'Dupliciraj', 'cmdedit' : 'Uredi dokument', 'cmdextract' : 'Raspakiraj arhivu', 'cmdforward' : 'Naprijed', 'cmdgetfile' : 'Odaberi dokumente', 'cmdhelp' : 'O programu', 'cmdhome' : 'Početak', 'cmdinfo' : 'Info', 'cmdmkdir' : 'Nova mapa', 'cmdmkdirin' : 'U novu mapu', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nova файл', 'cmdopen' : 'Otvori', 'cmdpaste' : 'Zalijepi', 'cmdquicklook' : 'Pregled', 'cmdreload' : 'Ponovo učitaj', 'cmdrename' : 'Preimenuj', 'cmdrm' : 'Obriši', 'cmdsearch' : 'Pronađi', 'cmdup' : 'Roditeljska mapa', 'cmdupload' : 'Prebaci dokumente na server', 'cmdview' : 'Pregledaj', 'cmdresize' : 'Promjeni veličinu i rotiraj', 'cmdsort' : 'Sortiraj', 'cmdnetmount' : 'Spoji se na mrežni disk', // added 18.04.2012 'cmdnetunmount': 'Odspoji disk', // from v2.1 added 30.04.2012 'cmdplaces' : 'To Places', // added 28.12.2014 'cmdchmod' : 'Change mode', // from v2.1 added 20.6.2015 'cmdopendir' : 'Otvori mapu', // from v2.1 added 13.1.2016 /*********************************** buttons ***********************************/ 'btnClose' : 'Zatvori', 'btnSave' : 'Spremi', 'btnRm' : 'Ukloni', 'btnApply' : 'Primjeni', 'btnCancel' : 'Odustani', 'btnNo' : 'Ne', 'btnYes' : 'Da', 'btnMount' : 'Mount', // added 18.04.2012 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Convert', // from v2.1 added 08.04.2014 'btnCwd' : 'Here', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'All', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015 'btnFileName':'Filename', // from v2.1 added 22.5.2015 'btnSaveClose': 'Spremi i zatvori', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 /******************************** notifications ********************************/ 'ntfopen' : 'Otvori mapu', 'ntffile' : 'Otvori dokument', 'ntfreload' : 'Ponovo učitaj sadržaj mape', 'ntfmkdir' : 'Radim mapu', 'ntfmkfile' : 'Radim dokumente', 'ntfrm' : 'Brišem dokumente', 'ntfcopy' : 'Kopiram dokumente', 'ntfmove' : 'Mičem dokumente', 'ntfprepare' : 'Priprema za kopiranje dokumenata', 'ntfrename' : 'Preimenuj dokumente', 'ntfupload' : 'Pohranjujem dokumente na server', 'ntfdownload' : 'Preuzimam dokumente', 'ntfsave' : 'Spremi dokumente', 'ntfarchive' : 'Radim arhivu', 'ntfextract' : 'Extracting files from archive', 'ntfsearch' : 'Tražim dokumente', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Doing something', 'ntfloadimg' : 'Učitavam sliku', 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013 'ntfreaddir' : 'Reading folder infomation', // from v2.1 added 01.07.2013 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Changing file mode', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016 /************************************ dates **********************************/ 'dateUnknown' : 'nepoznato', 'Today' : 'Danas', 'Yesterday' : 'Jučer', 'msJan' : 'Sij', 'msFeb' : 'Vel', 'msMar' : 'Ožu', 'msApr' : 'Tra', 'msMay' : 'Svi', 'msJun' : 'Lip', 'msJul' : 'Srp', 'msAug' : 'Kol', 'msSep' : 'Ruj', 'msOct' : 'Lis', 'msNov' : 'Stu', 'msDec' : 'Pro', 'January' : 'Siječanj', 'February' : 'Veljača', 'March' : 'Ožujak', 'April' : 'Travanj', 'May' : 'Svibanj', 'June' : 'Lipanj', 'July' : 'Srpanj', 'August' : 'Kolovoz', 'September' : 'Rujan', 'October' : 'Listopad', 'November' : 'Studeni', 'December' : 'Prosinac', 'Sunday' : 'Nedjelja', 'Monday' : 'Ponedjeljak', 'Tuesday' : 'Utorak', 'Wednesday' : 'Srijeda', 'Thursday' : 'Četvrtak', 'Friday' : 'Petak', 'Saturday' : 'Subota', 'Sun' : 'Ned', 'Mon' : 'Pon', 'Tue' : 'Uto', 'Wed' : 'Sri', 'Thu' : 'Čet', 'Fri' : 'Pet', 'Sat' : 'Sub', /******************************** sort variants ********************************/ 'sortname' : 'po imenu', 'sortkind' : 'po tipu', 'sortsize' : 'po veličini', 'sortdate' : 'po datumu', 'sortFoldersFirst' : 'Prvo mape', /********************************** new items **********************************/ 'untitled file.txt' : 'NoviDokument.txt', // added 10.11.2015 'untitled folder' : 'NovaMapa', // added 10.11.2015 'Archive' : 'NovaArhiva', // from v2.1 added 10.11.2015 /********************************** messages **********************************/ 'confirmReq' : 'Potvrda', 'confirmRm' : 'Jeste li sigurni?', 'confirmRepl' : 'Zamijeni stare dokumente novima?', 'confirmConvUTF8' : 'Not in UTF-8
                      Convert to UTF-8?
                      Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014 'confirmNotSave' : 'It has been modified.
                      Losing work if you do not save changes.', // from v2.1 added 15.7.2015 'apllyAll' : 'Primjeni na sve ', 'name' : 'Ime', 'size' : 'Veličina', 'perms' : 'Dozvole', 'modify' : 'Modificiran', 'kind' : 'Tip', 'read' : 'čitanje', 'write' : 'pisanje', 'noaccess' : 'bez pristupa', 'and' : 'i', 'unknown' : 'nepoznato', 'selectall' : 'Odaberi sve', 'selectfiles' : 'Odaberi dokument(e)', 'selectffile' : 'Odaberi prvi dokument', 'selectlfile' : 'Odaberi zadnji dokument', 'viewlist' : 'Lista', 'viewicons' : 'Ikone', 'places' : 'Mjesta', 'calc' : 'Računaj', 'path' : 'Put', 'aliasfor' : 'Drugo ime za', 'locked' : 'Zaključano', 'dim' : 'Dimenzije', 'files' : 'Dokumenti', 'folders' : 'Mape', 'items' : 'Items', 'yes' : 'da', 'no' : 'ne', 'link' : 'poveznica', 'searcresult' : 'Rezultati pretrage', 'selected' : 'selected items', 'about' : 'Info', 'shortcuts' : 'Prečaci', 'help' : 'Pomoć', 'webfm' : 'Web file manager', 'ver' : 'Verzija', 'protocolver' : 'protocol version', 'homepage' : 'Project home', 'docs' : 'Dokumentacija', 'github' : 'Fork us on Github', 'twitter' : 'Follow us on twitter', 'facebook' : 'Join us on facebook', 'team' : 'Tim', 'chiefdev' : 'glavni developer', 'developer' : 'developer', 'contributor' : 'contributor', 'maintainer' : 'maintainer', 'translator' : 'translator', 'icons' : 'Ikone', 'dontforget' : 'and don\'t forget to take your towel', 'shortcutsof' : 'Prečaci isključeni', 'dropFiles' : 'Ovdje ispusti dokumente', 'or' : 'ili', 'selectForUpload' : 'Odaberi dokumente koje prebacuješ na server', 'moveFiles' : 'Premjesti dokumente', 'copyFiles' : 'Kopiraj dokumente', 'rmFromPlaces' : 'Remove from places', 'aspectRatio' : 'Aspect ratio', 'scale' : 'Skaliraj', 'width' : 'Širina', 'height' : 'Visina', 'resize' : 'Resize', 'crop' : 'Crop', 'rotate' : 'Rotate', 'rotate-cw' : 'Rotate 90 degrees CW', 'rotate-ccw' : 'Rotate 90 degrees CCW', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'User', // added 18.04.2012 'pass' : 'Password', // added 18.04.2012 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Drop or Paste files and URLs here', // from v2.1 added 07.04.2014 'encoding' : 'Encoding', // from v2.1 added 19.12.2014 'locale' : 'Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Vlasnik', // from v2.1 added 20.6.2015 'group' : 'Grupa', // from v2.1 added 20.6.2015 'other' : 'Other', // from v2.1 added 20.6.2015 'execute' : 'Izvrši', // from v2.1 added 20.6.2015 'perm' : 'Dozvole', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'Mapa je prazna', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Mapa je prazna\\A Dovuci dokumente koje želiš dodati', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Mapa je prazna\\A Pritisni dugo za dodavanje dokumenata', // from v2.1.6 added 30.12.2015 'quality' : 'Kvaliteta', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016 'moveUp' : 'Gore', // from v2.1.6 added 18.1.2016 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Unknown', 'kindFolder' : 'Mapa', 'kindAlias' : 'Drugo ime', 'kindAliasBroken' : 'Broken alias', // applications 'kindApp' : 'Aplikacija', 'kindPostscript' : 'Postscript document', 'kindMsOffice' : 'Microsoft Office dokument', 'kindMsWord' : 'Microsoft Word dokument', 'kindMsExcel' : 'Microsoft Excel dokument', 'kindMsPP' : 'Microsoft Powerpoint prezentacija', 'kindOO' : 'Open Office dokument', 'kindAppFlash' : 'Flash aplikacija', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent dokument', 'kind7z' : '7z arhiva', 'kindTAR' : 'TAR arhiva', 'kindGZIP' : 'GZIP arhiva', 'kindBZIP' : 'BZIP arhiva', 'kindXZ' : 'XZ arhiva', 'kindZIP' : 'ZIP arhiva', 'kindRAR' : 'RAR arhiva', 'kindJAR' : 'Java JAR dokument', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM paket', // texts 'kindText' : 'Tekst arhiva', 'kindTextPlain' : 'Obični tekst', 'kindPHP' : 'PHP source', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML document', 'kindJS' : 'Javascript source', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C source', 'kindCHeader' : 'C header source', 'kindCPP' : 'C++ source', 'kindCPPHeader' : 'C++ header source', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python source', 'kindJava' : 'Java source', 'kindRuby' : 'Ruby source', 'kindPerl' : 'Perl skripta', 'kindSQL' : 'SQL source', 'kindXML' : 'XML dokument', 'kindAWK' : 'AWK source', 'kindCSV' : 'vrijednosti razdvojene zarezom', 'kindDOCBOOK' : 'Docbook XML dokument', 'kindMarkdown' : 'Markdown tekst', // added 20.7.2015 // images 'kindImage' : 'slika', 'kindBMP' : 'BMP slika', 'kindJPEG' : 'JPEG slika', 'kindGIF' : 'GIF slika', 'kindPNG' : 'PNG slika', 'kindTIFF' : 'TIFF slika', 'kindTGA' : 'TGA slika', 'kindPSD' : 'Adobe Photoshop slika', 'kindXBITMAP' : 'X bitmap slika', 'kindPXM' : 'Pixelmator slika', // media 'kindAudio' : 'Audio', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 lista', 'kindVideo' : 'Video ', 'kindVideoDV' : 'DV video', 'kindVideoMPEG' : 'MPEG video', 'kindVideoMPEG4' : 'MPEG-4 video', 'kindVideoAVI' : 'AVI video', 'kindVideoMOV' : 'Quick Time video', 'kindVideoWM' : 'Windows Media video', 'kindVideoFlash' : 'Flash video', 'kindVideoMKV' : 'Matroska video', 'kindVideoOGG' : 'Ogg video' } }; })); wp-file-manager/lib/js/i18n/elfinder.hu.js000064400000102371151202472330014224 0ustar00/** * Hungarian translation * @author Gáspár Lajos * @author karrak1 * @version 2020-11-27 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.hu = { translator : 'Gáspár Lajos <info@glsys.eu>, karrak1', language : 'Hungarian', direction : 'ltr', dateFormat : 'Y.F.d H:i:s', // will show like: 2020.November.27 20:52:18 fancyDateFormat : '$1 H:i', // will show like: Ma 20:52 nonameDateFormat : 'ymd-His', // noname upload will show like: 201127-205218 messages : { /********************************** errors **********************************/ 'error' : 'Hiba', 'errUnknown' : 'Ismeretlen hiba.', 'errUnknownCmd' : 'Ismeretlen parancs.', 'errJqui' : 'Hibás jQuery UI konfiguráció. A "selectable", "draggable" és a "droppable" komponensek szükségesek.', 'errNode' : 'Az elFinder "DOM" elem létrehozását igényli.', 'errURL' : 'Hibás elFinder konfiguráció! "URL" paraméter nincs megadva.', 'errAccess' : 'Hozzáférés megtagadva.', 'errConnect' : 'Nem sikerült csatlakozni a kiszolgálóhoz.', 'errAbort' : 'Kapcsolat megszakítva.', 'errTimeout' : 'Kapcsolat időtúllépés.', 'errNotFound' : 'A backend nem elérhető.', 'errResponse' : 'Hibás backend válasz.', 'errConf' : 'Hibás backend konfiguráció.', 'errJSON' : 'PHP JSON modul nincs telepítve.', 'errNoVolumes' : 'Nem állnak rendelkezésre olvasható kötetek.', 'errCmdParams' : 'érvénytelen paraméterek a parancsban. ("$1")', 'errDataNotJSON' : 'A válasz nem JSON típusú adat.', 'errDataEmpty' : 'Nem érkezett adat.', 'errCmdReq' : 'A backend kérelem parancsnevet igényel.', 'errOpen' : '"$1" megnyitása nem sikerült.', 'errNotFolder' : 'Az objektum nem egy mappa.', 'errNotFile' : 'Az objektum nem egy fájl.', 'errRead' : '"$1" olvasása nem sikerült.', 'errWrite' : '"$1" írása nem sikerült.', 'errPerm' : 'Engedély megtagadva.', 'errLocked' : '"$1" zárolás alatt van, és nem lehet átnevezni, mozgatni vagy eltávolítani.', 'errExists' : '"$1" nevű fájl már létezik.', 'errInvName' : 'Érvénytelen fáljnév.', 'errInvDirname' : 'Invalid folder name.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Mappa nem található.', 'errFileNotFound' : 'Fájl nem található.', 'errTrgFolderNotFound' : 'Cél mappa nem található. ("$1")', 'errPopup' : 'A böngésző megakadályozta egy felugró ablak megnyitását. A fájl megnyitását tegye lehetővé a böngésző beállitásaiban.', 'errMkdir' : '"$1" mappa létrehozása sikertelen.', 'errMkfile' : '"$1" fájl létrehozása sikertelen.', 'errRename' : '"$1" átnevezése sikertelen.', 'errCopyFrom' : 'Fájlok másolása a kötetről nem megengedett. ("$1")', 'errCopyTo' : 'Fájlok másolása a kötetre nem megengedett. ("$1")', 'errMkOutLink' : 'Hivatkozás létrehozása a root köteten kívül nem megengedett.', // from v2.1 added 03.10.2015 'errUpload' : 'Feltöltési hiba.', // old name - errUploadCommon 'errUploadFile' : 'Nem sikerült a fájlt feltölteni. ($1)', // old name - errUpload 'errUploadNoFiles' : 'Nem található fájl feltöltéshez.', 'errUploadTotalSize' : 'Az adat meghaladja a maximálisan megengedett méretet.', // old name - errMaxSize 'errUploadFileSize' : 'A fájl meghaladja a maximálisan megengedett méretet.', // old name - errFileMaxSize 'errUploadMime' : 'A fájltípus nem engedélyezett.', 'errUploadTransfer' : '"$1" transzfer hiba.', 'errUploadTemp' : 'Sikertelen az ideiglenes fájl léterhezozása feltöltéshez.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Az objektum "$1" már létezik ezen a helyen, és nem lehet cserélni másik típusra', // new 'errReplace' : '"$1" nem cserélhető.', 'errSave' : '"$1" mentése nem sikerült.', 'errCopy' : '"$1" másolása nem sikerült.', 'errMove' : '"$1" áthelyezése nem sikerült.', 'errCopyInItself' : '"$1" nem másolható saját magára.', 'errRm' : '"$1" törlése nem sikerült.', 'errTrash' : 'Unable into trash.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Forrásfájl(ok) eltávolítása sikertelen.', 'errExtract' : 'Nem sikerült kikibontani a "$1" fájlokat.', 'errArchive' : 'Nem sikerült létrehozni az archívumot.', 'errArcType' : 'Nem támogatott archívum típus.', 'errNoArchive' : 'A fájl nem archív, vagy nem támogatott archívumtípust tartalmaz.', 'errCmdNoSupport' : 'A backend nem támogatja ezt a parancsot.', 'errReplByChild' : 'Az „$1” mappát nem lehet helyettesíteni egy abban található elemmel.', 'errArcSymlinks' : 'Biztonsági okokból az archívumok kicsomagolásának megtagadása szimbolikus linkeket vagy fájlokat tartalmaz, amelyek nem engedélyezettek.', // edited 24.06.2012 'errArcMaxSize' : 'Az archív fájlok meghaladják a megengedett legnagyobb méretet.', 'errResize' : 'Nem lehet átméretezni a (z) "$1".', 'errResizeDegree' : 'Érvénytelen forgatási fok.', // added 7.3.2013 'errResizeRotate' : 'Nem lehet elforgatni a képet.', // added 7.3.2013 'errResizeSize' : 'Érvénytelen képméret.', // added 7.3.2013 'errResizeNoChange' : 'A kép mérete nem változott.', // added 7.3.2013 'errUsupportType' : 'Nem támogatott fájl típus', 'errNotUTF8Content' : 'Az "$1" fájl nincs az UTF-8-ban, és nem szerkeszthető.', // added 9.11.2011 'errNetMount' : 'Nem lehet beilleszteni a(z) "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Nem támogatott protokoll.', // added 17.04.2012 'errNetMountFailed' : 'A csatlakozás nem sikerült.', // added 17.04.2012 'errNetMountHostReq' : 'Host szükséges.', // added 18.04.2012 'errSessionExpires' : 'A session inaktivitás miatt lejárt.', 'errCreatingTempDir' : 'Nem lehet ideiglenes könyvtárat létrehozni: "$1"', 'errFtpDownloadFile' : 'Nem lehet letölteni a fájlt az FTP-ről: "$1"', 'errFtpUploadFile' : 'Nem lehet feltölteni a fájlt az FTP-re: "$1"', 'errFtpMkdir' : 'Nem sikerült távoli könyvtárat létrehozni az FTP-n: "$1"', 'errArchiveExec' : 'Hiba a fájlok archiválásakor: "$1"', 'errExtractExec' : 'Hiba a fájlok kibontásakor: "$1"', 'errNetUnMount' : 'Nem lehet leválasztani', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Nem konvertálható UTF-8-ra', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Próbálja ki a Google Chrome-ot, ha szeretné feltölteni a mappát.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Dőtúllépés a(z) "$1" keresése közben. A keresési eredmény részleges.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Új engedélyre van szükség.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Max number of selectable items is $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Unable to restore from the trash. Can\'t identify the restore destination.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor not found to this file type.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Error occurred on the server side.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Unable to empty folder "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'There are $1 more errors.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Archívum létrehozása', 'cmdback' : 'Vissza', 'cmdcopy' : 'Másolás', 'cmdcut' : 'Kivágás', 'cmddownload' : 'Letöltés', 'cmdduplicate' : 'Másolat készítés', 'cmdedit' : 'Szerkesztés', 'cmdextract' : 'Kibontás', 'cmdforward' : 'Előre', 'cmdgetfile' : 'Fájlok kijelölése', 'cmdhelp' : 'Erről a programról...', 'cmdhome' : 'Főkönyvtár', 'cmdinfo' : 'Tulajdonságok', 'cmdmkdir' : 'Új mappa', 'cmdmkdirin' : 'Új mappába', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Új fájl', 'cmdopen' : 'Megnyitás', 'cmdpaste' : 'Beillesztés', 'cmdquicklook' : 'Előnézet', 'cmdreload' : 'Frissítés', 'cmdrename' : 'Átnevezés', 'cmdrm' : 'Törlés', 'cmdtrash' : 'Into trash', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restore', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Keresés', 'cmdup' : 'Ugrás a szülőmappába', 'cmdupload' : 'Feltöltés', 'cmdview' : 'Nézet', 'cmdresize' : 'Átméretezés és forgatás', 'cmdsort' : 'Rendezés', 'cmdnetmount' : 'Csatlakoztassa a hálózat hangerejét', // added 18.04.2012 'cmdnetunmount': 'Leválaszt', // from v2.1 added 30.04.2012 'cmdplaces' : 'Helyekhez', // added 28.12.2014 'cmdchmod' : 'Módváltás', // from v2.1 added 20.6.2015 'cmdopendir' : 'Mappa megnyitása', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Állítsa vissza az oszlop szélességét', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Full Screen', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Move', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Empty the folder', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Undo', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Redo', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferences', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Select all', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Select none', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Invert selection', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Open in new window', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Hide (Preference)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Bezár', 'btnSave' : 'Ment', 'btnRm' : 'Töröl', 'btnApply' : 'Alkalmaz', 'btnCancel' : 'Mégsem', 'btnNo' : 'Nem', 'btnYes' : 'Igen', 'btnMount' : 'Csatlakoztat', // added 18.04.2012 'btnApprove': 'Tovább $1 és jóváhagyás', // from v2.1 added 26.04.2012 'btnUnmount': 'Leválaszt', // from v2.1 added 30.04.2012 'btnConv' : 'Átalakít', // from v2.1 added 08.04.2014 'btnCwd' : 'Itt', // from v2.1 added 22.5.2015 'btnVolume' : 'Hangerő', // from v2.1 added 22.5.2015 'btnAll' : 'Összes', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Tipus', // from v2.1 added 22.5.2015 'btnFileName':'Fájl név', // from v2.1 added 22.5.2015 'btnSaveClose': 'Mentés és Kilépés', // from v2.1 added 12.6.2015 'btnBackup' : 'Biztonsági mentés', // fromv2.1 added 28.11.2015 'btnRename' : 'Rename', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Rename(All)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Prev ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Next ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Save As', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Mappa megnyitás', 'ntffile' : 'Fájl megnyitás', 'ntfreload' : 'A mappa tartalmának újratöltése', 'ntfmkdir' : 'Mappa létrehozása', 'ntfmkfile' : 'Fájlok létrehozása', 'ntfrm' : 'Fájlok törélse', 'ntfcopy' : 'Fájlok másolása', 'ntfmove' : 'Fájlok áthelyezése', 'ntfprepare' : 'Checking existing items', 'ntfrename' : 'Fájlok átnevezése', 'ntfupload' : 'Fájlok feltöltése', 'ntfdownload' : 'Fájlok letöltése', 'ntfsave' : 'Fájlok mentése', 'ntfarchive' : 'Archívum létrehozása', 'ntfextract' : 'Kibontás archívumból', 'ntfsearch' : 'Fájlok keresése', 'ntfresize' : 'Képek átméretezése', 'ntfsmth' : 'Csinál valamit >_<', 'ntfloadimg' : 'Kép betöltése', 'ntfnetmount' : 'Hálózati meghajtó hozzáadása', // added 18.04.2012 'ntfnetunmount': 'Hálózati meghajtó leválasztása', // from v2.1 added 30.04.2012 'ntfdim' : 'Képméret megállapítása', // added 20.05.2013 'ntfreaddir' : 'A mappa adatainak olvasása', // from v2.1 added 01.07.2013 'ntfurl' : 'A link URL-jének lekérdezése', // from v2.1 added 11.03.2014 'ntfchmod' : 'A fájlmód megváltoztatása', // from v2.1 added 20.6.2015 'ntfpreupload': 'A feltöltött fájlnév ellenőrzése', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Fájl létrehozása letöltésre', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Getting path infomation', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Processing the uploaded file', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Doing throw in the trash', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Doing restore from the trash', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Checking destination folder', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Undoing previous operation', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Redoing previous undone', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Checking contents', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Trash', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'Ismeretlen', 'Today' : 'Ma', 'Yesterday' : 'Tegnap', 'msJan' : 'jan', 'msFeb' : 'febr', 'msMar' : 'márc', 'msApr' : 'ápr', 'msMay' : 'máj', 'msJun' : 'jún', 'msJul' : 'júl', 'msAug' : 'aug', 'msSep' : 'szept', 'msOct' : 'okt', 'msNov' : 'nov', 'msDec' : 'dec', 'January' : 'Január', 'February' : 'Február', 'March' : 'Március', 'April' : 'Április', 'May' : 'Május', 'June' : 'Június', 'July' : 'Július', 'August' : 'Augusztus', 'September' : 'Szeptember', 'October' : 'Október', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Vasárnap', 'Monday' : 'Hétfő', 'Tuesday' : 'Kedd', 'Wednesday' : 'Szerda', 'Thursday' : 'Csütörtök', 'Friday' : 'Péntek', 'Saturday' : 'Szombat', 'Sun' : 'V', 'Mon' : 'H', 'Tue' : 'K', 'Wed' : 'Sz', 'Thu' : 'Cs', 'Fri' : 'P', 'Sat' : 'Szo', /******************************** sort variants ********************************/ 'sortname' : 'név szerint', 'sortkind' : 'by kind', 'sortsize' : 'méret szerint', 'sortdate' : 'dátum szerint', 'sortFoldersFirst' : 'Először a mappák', 'sortperm' : 'engedély alapján', // from v2.1.13 added 13.06.2016 'sortmode' : 'mód szerint', // from v2.1.13 added 13.06.2016 'sortowner' : 'tulajdonos alapján', // from v2.1.13 added 13.06.2016 'sortgroup' : 'csoportok szerint', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015 'untitled folder' : 'NewFolder', // added 10.11.2015 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015 'untitled file' : 'NewFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: File', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Megerősítés szükséges', 'confirmRm' : 'Valóban törölni akarja a kijelölt adatokat?
                      Ez később nem fordítható vissza!', 'confirmRepl' : 'Replace old file with new one? (If it contains folders, it will be merged. To backup and replace, select Backup.)', 'confirmRest' : 'Replace existing item with the item in trash?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Nem UTF-8.
                      Átalakítsam UTF-8-ra?
                      A tartalom mentés után UTF-8 lesz..', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Character encoding of this file couldn\'t be detected. It need to temporarily convert to UTF-8 for editting.
                      Please select character encoding of this file.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Megváltozott.
                      Módosítások elvesznek, ha nem menti el azokat.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Are you sure you want to move items to trash bin?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Are you sure you want to move items to "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Mindenre vonatkozik', 'name' : 'Név', 'size' : 'Méret', 'perms' : 'Jogok', 'modify' : 'Módosítva', 'kind' : 'Típus', 'read' : 'olvasás', 'write' : 'írás', 'noaccess' : '-', 'and' : 'és', 'unknown' : 'ismeretlen', 'selectall' : 'Összes kijelölése', 'selectfiles' : 'Fájlok kijelölése', 'selectffile' : 'Első fájl kijelölése', 'selectlfile' : 'Utolsó fájl kijelölése', 'viewlist' : 'Lista nézet', 'viewicons' : 'Ikon nézet', 'viewSmall' : 'Small icons', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Medium icons', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Large icons', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Extra large icons', // from v2.1.39 added 22.5.2018 'places' : 'Helyek', 'calc' : 'Kiszámítja', 'path' : 'Útvonal', 'aliasfor' : 'Cél', 'locked' : 'Zárolt', 'dim' : 'Méretek', 'files' : 'Fájlok', 'folders' : 'Mappák', 'items' : 'Elemek', 'yes' : 'igen', 'no' : 'nem', 'link' : 'Parancsikon', 'searcresult' : 'Keresés eredménye', 'selected' : 'kijelölt elemek', 'about' : 'Névjegy', 'shortcuts' : 'Gyorsbillenytyűk', 'help' : 'Súgó', 'webfm' : 'Web file manager', 'ver' : 'Verzió', 'protocolver' : 'protokol verzió', 'homepage' : 'Projekt honlap', 'docs' : 'Dokumentáció', 'github' : 'Hozz létre egy új verziót a Github-on', 'twitter' : 'Kövess minket a twitter-en', 'facebook' : 'Csatlakozz hozzánk a facebook-on', 'team' : 'Csapat', 'chiefdev' : 'vezető fejlesztő', 'developer' : 'fejlesztő', 'contributor' : 'külsős hozzájáruló', 'maintainer' : 'karbantartó', 'translator' : 'fordító', 'icons' : 'Ikonok', 'dontforget' : 'törölközőt ne felejts el hozni!', 'shortcutsof' : 'Shortcuts disabled', 'dropFiles' : 'Fájlok dobása ide', 'or' : 'vagy', 'selectForUpload' : 'fájlok böngészése', 'moveFiles' : 'Fájlok áthelyezése', 'copyFiles' : 'Fájlok másolása', 'restoreFiles' : 'Restore items', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Távolítsa el a helyekről', 'aspectRatio' : 'Oldalarány', 'scale' : 'Skála', 'width' : 'Szélesség', 'height' : 'Magasság', 'resize' : 'Átméretezés', 'crop' : 'Vág', 'rotate' : 'Forgat', 'rotate-cw' : 'Forgassa el 90 fokkal', 'rotate-ccw' : 'Forgassa el 90 fokkal CCW irányban', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protokoll', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Felhasználó', // added 18.04.2012 'pass' : 'Jelszó', // added 18.04.2012 'confirmUnmount' : 'Leválasztod $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Fájlok dobása vagy beillesztése a böngészőből', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Drop files, Paste URLs or images(clipboard) here', // from v2.1 added 07.04.2014 'encoding' : 'Kódolás', // from v2.1 added 19.12.2014 'locale' : 'Nyelv', // from v2.1 added 19.12.2014 'searchTarget' : 'Cél: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Keresés a MIME típus bevitele alapján', // from v2.1 added 22.5.2015 'owner' : 'Tulajdonos', // from v2.1 added 20.6.2015 'group' : 'Csoport', // from v2.1 added 20.6.2015 'other' : 'Egyéb', // from v2.1 added 20.6.2015 'execute' : 'Végrehajt', // from v2.1 added 20.6.2015 'perm' : 'Engedély', // from v2.1 added 20.6.2015 'mode' : 'Mód', // from v2.1 added 20.6.2015 'emptyFolder' : 'A mappa üres', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'A mappa üres\\Elem eldobása', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'A mappa üres\\Hosszú koppintás elemek hozzáadásához', // from v2.1.6 added 30.12.2015 'quality' : 'Minőség', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016 'moveUp' : 'Mozgatás fel', // from v2.1.6 added 18.1.2016 'getLink' : 'URL-link letöltése', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Kiválasztott elemek ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Mappa ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Offline hozzáférés engedélyezése', // from v2.1.10 added 3.25.2016 'reAuth' : 'Újrahitelesítéshez', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Most betölt...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Több fájl megnyitása', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Megpróbálja megnyitni a $1 fájlokat. Biztosan meg akarja nyitni a böngészőben?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Search results is empty in search target.', // from v2.1.12 added 5.16.2016 'editingFile' : 'It is editing a file.', // from v2.1.13 added 6.3.2016 'hasSelected' : '$1 elemet választott ki.', // from v2.1.13 added 6.3.2016 'hasClipboard' : '$1 elem van a vágólapon.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Incremental search is only from the current view.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Reinstate', // from v2.1.15 added 3.8.2016 'complete' : '$1 complete', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016 'reset' : 'Reset', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Background color', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Color picker', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016 'enabled' : 'Enabled', // from v2.1.16 added 4.10.2016 'disabled' : 'Disabled', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Search results is empty in current view.\\APress [Enter] to expand search target.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'First letter search results is empty in current view.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Text label', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 mins left', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reopen with selected encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Save with the selected encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Select folder', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'First letter search', // from v2.1.23 added 24.3.2017 'presets' : 'Presets', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'It\'s too many items so it can\'t into trash.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Empty the folder "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'There are no items in a folder "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preference', // from v2.1.26 added 28.6.2017 'language' : 'Language', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialize the settings saved in this browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Toolbar settings', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 chars left.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 lines left.', // from v2.1.52 added 16.1.2020 'sum' : 'Sum', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Rough file size', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focus on the element of dialog with mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Select', // from v2.1.30 added 23.11.2017 'selectAction' : 'Action when select file', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Open with the editor used last time', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Invert selection', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Are you sure you want to rename $1 selected items like $2?
                      This cannot be undone!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch rename', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Number', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Add prefix', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Add suffix', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Change extention', // from v2.1.31 added 8.12.2017 'columnPref' : 'Columns settings (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'All changes will reflect immediately to the archive.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Any changes will not reflect until un-mount this volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'The following volume(s) mounted on this volume also unmounted. Are you sure to unmount it?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Selection Info', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorithms to show the file hash', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info Items (Selection Info Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Press again to exit.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Toolbar', // from v2.1.38 added 4.4.2018 'workspace' : 'Work Space', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'All', // from v2.1.38 added 4.4.2018 'iconSize' : 'Icon Size (Icons view)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Open the maximized editor window', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Because conversion by API is not currently available, please convert on the website.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'After conversion, you must be upload with the item URL or a downloaded file to save the converted file.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Convert on the site of $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrations', // from v2.1.40 added 11.7.2018 'integrationWith' : 'This elFinder has the following external services integrated. Please check the terms of use, privacy policy, etc. before using it.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Show hidden items', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Hide hidden items', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Show/Hide hidden items', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'File types to enable with "New file"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type of the Text file', // from v2.1.41 added 7.8.2018 'add' : 'Add', // from v2.1.41 added 7.8.2018 'theme' : 'Theme', // from v2.1.43 added 19.10.2018 'default' : 'Default', // from v2.1.43 added 19.10.2018 'description' : 'Description', // from v2.1.43 added 19.10.2018 'website' : 'Website', // from v2.1.43 added 19.10.2018 'author' : 'Author', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'License', // from v2.1.43 added 19.10.2018 'exportToSave' : 'This item can\'t be saved. To avoid losing the edits you need to export to your PC.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Double click on the file to select it.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Use fullscreen mode', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Ismeretlen', 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Mappa', 'kindSelects' : 'Selections', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Parancsikon', 'kindAliasBroken' : 'Hibás parancsikon', // applications 'kindApp' : 'Alkalmazás', 'kindPostscript' : 'Postscript dokumentum', 'kindMsOffice' : 'Microsoft Office dokumentum', 'kindMsWord' : 'Microsoft Word dokumentum', 'kindMsExcel' : 'Microsoft Excel dokumentum', 'kindMsPP' : 'Microsoft Powerpoint bemutató', 'kindOO' : 'Open Office dokumentum', 'kindAppFlash' : 'Flash alkalmazás', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent fájl', 'kind7z' : '7z archívum', 'kindTAR' : 'TAR archívum', 'kindGZIP' : 'GZIP archívum', 'kindBZIP' : 'BZIP archívum', 'kindXZ' : 'XZ archívum', 'kindZIP' : 'ZIP archívum', 'kindRAR' : 'RAR archívum', 'kindJAR' : 'Java JAR fájl', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM csomag', // texts 'kindText' : 'Szöveges dokumentum', 'kindTextPlain' : 'Plain text', 'kindPHP' : 'PHP forráskód', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML dokumentum', 'kindJS' : 'Javascript forráskód', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C forráskód', 'kindCHeader' : 'C header forráskód', 'kindCPP' : 'C++ forráskód', 'kindCPPHeader' : 'C++ header forráskód', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python forráskód', 'kindJava' : 'Java forráskód', 'kindRuby' : 'Ruby forráskód', 'kindPerl' : 'Perl script', 'kindSQL' : 'SQL forráskód', 'kindXML' : 'XML dokumentum', 'kindAWK' : 'AWK forráskód', 'kindCSV' : 'Comma separated values', 'kindDOCBOOK' : 'Docbook XML dokumentum', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Kép', 'kindBMP' : 'BMP kép', 'kindJPEG' : 'JPEG kép', 'kindGIF' : 'GIF kép', 'kindPNG' : 'PNG kép', 'kindTIFF' : 'TIFF kép', 'kindTGA' : 'TGA kép', 'kindPSD' : 'Adobe Photoshop kép', 'kindXBITMAP' : 'X bitmap image', 'kindPXM' : 'Pixelmator image', // media 'kindAudio' : 'Hangfájl', 'kindAudioMPEG' : 'MPEG hangfájl', 'kindAudioMPEG4' : 'MPEG-4 hangfájl', 'kindAudioMIDI' : 'MIDI hangfájl', 'kindAudioOGG' : 'Ogg Vorbis hangfájl', 'kindAudioWAV' : 'WAV hangfájl', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Film', 'kindVideoDV' : 'DV film', 'kindVideoMPEG' : 'MPEG film', 'kindVideoMPEG4' : 'MPEG-4 film', 'kindVideoAVI' : 'AVI film', 'kindVideoMOV' : 'Quick Time film', 'kindVideoWM' : 'Windows Media film', 'kindVideoFlash' : 'Flash film', 'kindVideoMKV' : 'Matroska film', 'kindVideoOGG' : 'Ogg film' } }; })); wp-file-manager/lib/js/i18n/elfinder.id.js000064400000063753151202472330014216 0ustar00/** * Bahasa Indonesia translation * @author Suyadi <1441177004009@student.unsika.ac.id> * @author Ammar Faizi * @version 2017-05-28 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.id = { translator : 'Suyadi <1441177004009@student.unsika.ac.id>, Ammar Faizi <ammarfaizi2@gmail.com>', language : 'Bahasa Indonesia', direction : 'ltr', dateFormat : 'j F, Y H:i', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM nonameDateFormat : 'd m Y - H : i : s', // to apply if upload file is noname: 120513172700 messages : { /********************************** errors **********************************/ 'error' : 'Kesalahan', 'errUnknown' : 'Kesalahan tak dikenal.', 'errUnknownCmd' : 'Perintah tak dikenal.', 'errJqui' : 'Konfigurasi jQuery UI tidak valid. Komponen pemilih, penyeret dan penaruh harus disertakan.', 'errNode' : 'elFinder membutuhkan pembuatan elemen DOM.', 'errURL' : 'Konfigurasi elFinder tidak valid! opsi URL belum diatur.', 'errAccess' : 'Akses ditolak.', 'errConnect' : 'Tidak dapat tersambung ke backend.', 'errAbort' : 'Koneksi dibatalkan.', 'errTimeout' : 'Waktu koneksi habis.', 'errNotFound' : 'Backend tidak ditemukan.', 'errResponse' : 'Respon backend tidak valid.', 'errConf' : 'Konfigurasi elFinder tidak valid.', 'errJSON' : 'Modul PHP JSON belum terpasang.', 'errNoVolumes' : 'Tidak tersedia ruang kosong.', 'errCmdParams' : 'Parameter perintah "$1" tidak valid.', 'errDataNotJSON' : 'Data bukan merupakan JSON.', 'errDataEmpty' : 'Data masih kosong.', 'errCmdReq' : 'Permintaan ke backend membutuhkan nama perintah.', 'errOpen' : 'Tidak dapat membuka "$1".', 'errNotFolder' : 'Obyek ini bukan folder.', 'errNotFile' : 'Obyek ini bukan berkas.', 'errRead' : 'Tidak dapat membaca "$1".', 'errWrite' : 'Tidak dapat menulis ke "$1".', 'errPerm' : 'Ijin ditolak.', 'errLocked' : '"$1" ini terkunci dan tak dapat dipidahkan, diubah atau dihapus.', 'errExists' : 'Berkas bernama "$1" sudah ada.', 'errInvName' : 'Nama berkas tidak valid.', 'errInvDirname' : 'Nama folder salah.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Folder tidak ditemukan.', 'errFileNotFound' : 'Berkas tidak ditemukan.', 'errTrgFolderNotFound' : 'Folder tujuan "$1" tidak ditemukan.', 'errPopup' : 'Peramban anda mencegah untuk membuka jendela munculan. Untuk dapat membuka berkas ini ubah pengaturan pada peramban anda.', 'errMkdir' : 'Tidak dapat membuat folder "$1".', 'errMkfile' : 'Tidak dapat membuat berkas "$1".', 'errRename' : 'Tidak dapat mengubah nama "$1".', 'errCopyFrom' : 'Tidak diizinkan menyalin berkas dari volume "$1".', 'errCopyTo' : 'tidak diizinkan menyalin berkas ke volume "$1".', 'errMkOutLink' : 'Tidak dapat membuat tautan diluar volume root.', // from v2.1 added 03.10.2015 'errUpload' : 'Kesalahan saat mengunggah.', // old name - errUploadCommon 'errUploadFile' : 'Tidak dapat mengunggah "$1".', // old name - errUpload 'errUploadNoFiles' : 'Tak ada berkas untuk diunggah.', 'errUploadTotalSize' : 'Data melampaui ukuran yang diperbolehkan.', // old name - errMaxSize 'errUploadFileSize' : 'Berkas melampaui ukuran yang diperbolehkan.', // old name - errFileMaxSize 'errUploadMime' : 'Jenis berkas ini tidak diijinkan.', 'errUploadTransfer' : 'Kesalahan transfer "$1".', 'errUploadTemp' : 'Tidak dapat membuat file sementara untuk diupload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Obyek "$1" sudah ada di lokasi ini dan tidak dapat ditimpa oleh obyek jenis lain.', // new 'errReplace' : 'Tidak dapat menimpa "$1".', 'errSave' : 'Tidak dapat menyimpan "$1".', 'errCopy' : 'Tidak dapat menyalin "$1".', 'errMove' : 'Tidak dapat memindahkan "$1".', 'errCopyInItself' : 'Tidak dapat menyalin "$1" ke dirinya sendiri.', 'errRm' : 'Tidak dapat menghapus "$1".', 'errTrash' : 'Tidak dapat masuk ke tempat sampah.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Tidak dapat menghapus sumber berkas.', 'errExtract' : 'Tidak dapat mengekstrak berkas dari "$1".', 'errArchive' : 'Tidak dapat membuat arsip.', 'errArcType' : 'Jenis arsip tidak didukung.', 'errNoArchive' : 'Berkas ini bukan arsip atau arsip jenis ini tidak didukung.', 'errCmdNoSupport' : 'Backend tidak mendukung perintah ini.', 'errReplByChild' : 'Folder “$1” tidak dapat ditimpa dengan berkas didalamnya.', 'errArcSymlinks' : 'Untuk keamanan tak diijinkan mengekstrak arsip berisi symlink atau jenis berkas yang tak diijinkan.', // edited 24.06.2012 'errArcMaxSize' : 'Arsip ini melampaui ukuran yang diijinkan.', 'errResize' : 'Tidak dapat mengubah ukuran "$1".', 'errResizeDegree' : 'Derajat putaran tidak valid.', // added 7.3.2013 'errResizeRotate' : 'Citra tidak diputar.', // added 7.3.2013 'errResizeSize' : 'Ukuran citra tidak valid.', // added 7.3.2013 'errResizeNoChange' : 'Ukuran citra tidak diubah.', // added 7.3.2013 'errUsupportType' : 'Jenis berkas tidak didukung.', 'errNotUTF8Content' : 'Berkas "$1" tidak dalam format UTF-8 dan tidak dapat disunting.', // added 9.11.2011 'errNetMount' : 'Tidak dapat membaca susunan "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protokol tidak didukung.', // added 17.04.2012 'errNetMountFailed' : 'Tidak dapat membaca susunannya.', // added 17.04.2012 'errNetMountHostReq' : 'Host harus ada.', // added 18.04.2012 'errSessionExpires' : 'Sesi anda telah kadaluwarsa karena lama tidak aktif.', 'errCreatingTempDir' : 'Tidak dapat membuat direktori sementara: "$1"', 'errFtpDownloadFile' : 'Tidak dapat mengunduh berkas dari FTP: "$1"', 'errFtpUploadFile' : 'Tidak dapat mengunggah berkas dari FTP: "$1"', 'errFtpMkdir' : 'Tidak dapat membuat remot direktori dari FTP: "$1"', 'errArchiveExec' : 'Kesalahan saat mengarsipkan berkas: "$1"', 'errExtractExec' : 'Kesalahan saat mengekstrak berkas: "$1"', 'errNetUnMount' : 'Tidak dapat melakukan mount.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Tidak cocok untuk konversi ke UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Coba dengan browser yang modern, Jika akan mengupload folder.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Waktu habis selama melakukan pencarian "$1". Hasil sementara.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Re-authorization dibutuhkan.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Berkas maksimal yang dipilih adalah $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Tidak dapat mengembalikan berkas dari tempat sampah. Tujuan tidak ditemukan.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Tidak ditemukan editor untuk file tipe ini.', // from v2.1.25 added 23.5.2017 /******************************* commands names ********************************/ 'cmdarchive' : 'Buat arsip', 'cmdback' : 'Kembali', 'cmdcopy' : 'Salin', 'cmdcut' : 'Potong', 'cmddownload' : 'Unduh', 'cmdduplicate' : 'Gandakan', 'cmdedit' : 'Sunting berkas', 'cmdextract' : 'Ekstrak berkas dari arsip', 'cmdforward' : 'Maju', 'cmdgetfile' : 'Pilih berkas', 'cmdhelp' : 'Tentang software ini', 'cmdhome' : 'Rumah', 'cmdinfo' : 'Dapatkan info', 'cmdmkdir' : 'Buat folder', 'cmdmkdirin' : 'Masuk ke folder baru', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Buat fail', 'cmdopen' : 'Buka', 'cmdpaste' : 'Tempel', 'cmdquicklook' : 'Pratinjau', 'cmdreload' : 'Muat-ulang', 'cmdrename' : 'Ganti nama', 'cmdrm' : 'Hapus', 'cmdtrash' : 'Sampahkan', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Kembalikan', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Cari berkas', 'cmdup' : 'Ke direktori utama', 'cmdupload' : 'Unggah berkas', 'cmdview' : 'Lihat', 'cmdresize' : 'Ubah ukuran & Putar', 'cmdsort' : 'Urutkan', 'cmdnetmount' : 'Baca-susun volume jaringan', // added 18.04.2012 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012 'cmdplaces' : 'Ke Tempat', // added 28.12.2014 'cmdchmod' : 'Mode mengubah', // from v2.1 added 20.6.2015 'cmdopendir' : 'Membuka folder', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Reset column width', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Layar Penuh', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Pindah', // from v2.1.15 added 21.08.2016 /*********************************** buttons ***********************************/ 'btnClose' : 'Tutup', 'btnSave' : 'Simpan', 'btnRm' : 'Buang', 'btnApply' : 'Terapkan', 'btnCancel' : 'Batal', 'btnNo' : 'Tidak', 'btnYes' : 'Ya', 'btnMount' : 'Baca susunan', // added 18.04.2012 'btnApprove': 'Menuju ke $1 & setujui', // from v2.1 added 26.04.2012 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Konversi', // from v2.1 added 08.04.2014 'btnCwd' : 'Disini', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'Semua', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015 'btnFileName':'Nama file', // from v2.1 added 22.5.2015 'btnSaveClose': 'Simpan & Tutup', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Ubah nama', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Ubah nama(Semua)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Sebelumnya ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Selanjutnya ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Simpan sebagai', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Buka folder', 'ntffile' : 'Buka berkas', 'ntfreload' : 'Muat-ulang isi folder', 'ntfmkdir' : 'Membuat direktori', 'ntfmkfile' : 'Membuat berkas', 'ntfrm' : 'Menghapus berkas', 'ntfcopy' : 'Salin berkas', 'ntfmove' : 'Pindahkan berkas', 'ntfprepare' : 'Persiapan menyalin berkas', 'ntfrename' : 'Ubah nama berkas', 'ntfupload' : 'Unggah berkas', 'ntfdownload' : 'Mengunduh berkas', 'ntfsave' : 'Simpan berkas', 'ntfarchive' : 'Membuat arsip', 'ntfextract' : 'Mengekstrak berkas dari arsip', 'ntfsearch' : 'Mencari berkas', 'ntfresize' : 'Mengubah ukuran citra', 'ntfsmth' : 'Melakukan sesuatu', 'ntfloadimg' : 'Memuat citra', 'ntfnetmount' : 'Membaca susunan volume jaringan', // added 18.04.2012 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012 'ntfdim' : 'Mendapatkan dimensi citra', // added 20.05.2013 'ntfreaddir' : 'Membaca informasi folder', // from v2.1 added 01.07.2013 'ntfurl' : 'Mendapatkan URL dari link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Dalam mode mengubah', // from v2.1 added 20.6.2015 'ntfpreupload': 'Sedang memverifikasi nama file yang diupload', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Membuat file untuk didownload', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Mengambil informasi path', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Sedang mengupload file', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Sedang melempar ke tempat sampah', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Sedang mengembalikan dari tempat sampah', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Mengecek folder tujuan', // from v2.1.24 added 3.5.2017 /*********************************** volumes *********************************/ 'volume_Trash' : 'Sampah', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'tak diketahui', 'Today' : 'Hari ini', 'Yesterday' : 'Kemarin', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Mei', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Agt', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nop', 'msDec' : 'Des', 'January' : 'Januari', 'February' : 'Pebruari', 'March' : 'Maret', 'April' : 'April', 'May' : 'Mei', 'June' : 'Juni', 'July' : 'Juli', 'August' : 'Agustus', 'September' : 'September', 'October' : 'Oktober', 'November' : 'Nopember', 'December' : 'Desember', 'Sunday' : 'Minggu', 'Monday' : 'Senin', 'Tuesday' : 'Selasa', 'Wednesday' : 'Rabu', 'Thursday' : 'Kamis', 'Friday' : 'Jum \'at', 'Saturday' : 'Sabtu', 'Sun' : 'Min', 'Mon' : 'Sen', 'Tue' : 'Sel', 'Wed' : 'Rab', 'Thu' : 'Kam', 'Fri' : 'Jum', 'Sat' : 'Sab', /******************************** sort variants ********************************/ 'sortname' : 'menurut nama', 'sortkind' : 'menurut jenis', 'sortsize' : 'menurut ukuran', 'sortdate' : 'menurut tanggal', 'sortFoldersFirst' : 'Utamakan folder', 'sortperm' : 'menurut perizinan', // from v2.1.13 added 13.06.2016 'sortmode' : 'menurut mode', // from v2.1.13 added 13.06.2016 'sortowner' : 'menurut pemilik', // from v2.1.13 added 13.06.2016 'sortgroup' : 'menurut grup', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'FileBaru.txt', // added 10.11.2015 'untitled folder' : 'FolderBaru', // added 10.11.2015 'Archive' : 'ArsipBaru', // from v2.1 added 10.11.2015 /********************************** messages **********************************/ 'confirmReq' : 'Diperlukan konfirmasi', 'confirmRm' : 'Anda yakin akan menghapus berkas?
                      Ini tidak dapat kembalikan!', 'confirmRepl' : 'Timpa berkas lama dengan yang baru?', 'confirmRest' : 'Timpa berkas yang ada dengan berkas dari sampah?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Bukan UTF-8
                      Konversi ke UTF-8?
                      Konten akan berubah menjadi UTF-8 ketika disimpan dengan konversi.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Character encoding of this file couldn\'t be detected. It need to temporarily convert to UTF-8 for editting.
                      Please select character encoding of this file.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Telah terjadi perubahan.
                      Kehilangan perkerjaan jika kamu tidak menyimpan.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Anda yakin untuk membuang berkas ke tempat sampah?', //from v2.1.24 added 29.4.2017 'apllyAll' : 'Terapkan ke semua', 'name' : 'Nama', 'size' : 'Ukuran', 'perms' : 'Perijinan', 'modify' : 'Diubah', 'kind' : 'Jenis', 'read' : 'baca', 'write' : 'tulis', 'noaccess' : 'tidak ada akses', 'and' : 'dan', 'unknown' : 'tak diketahui', 'selectall' : 'Pilih semua berkas', 'selectfiles' : 'Pilih berkas', 'selectffile' : 'Pilih berkas pertama', 'selectlfile' : 'Pilih berkas terakhir', 'viewlist' : 'Tampilan daftar', 'viewicons' : 'Tampilan ikon', 'places' : 'Lokasi', 'calc' : 'Hitung', 'path' : 'Alamat', 'aliasfor' : 'Nama lain untuk', 'locked' : 'Dikunci', 'dim' : 'Dimensi', 'files' : 'Berkas', 'folders' : 'Folder', 'items' : 'Pokok', 'yes' : 'ya', 'no' : 'tidak', 'link' : 'Tautan', 'searcresult' : 'Hasil pencarian', 'selected' : 'Pokok terpilih', 'about' : 'Tentang', 'shortcuts' : 'Pintasan', 'help' : 'Bantuan', 'webfm' : 'Pengelola berkas web', 'ver' : 'Versi', 'protocolver' : 'versi protokol', 'homepage' : 'Rumah proyek', 'docs' : 'Dokumentasi', 'github' : 'Ambil kami di Github', 'twitter' : 'Ikuti kami di twitter', 'facebook' : 'Gabung dengan kami di facebook', 'team' : 'Tim', 'chiefdev' : 'kepala pengembang', 'developer' : 'pengembang', 'contributor' : 'kontributor', 'maintainer' : 'pengurus', 'translator' : 'penerjemah', 'icons' : 'Ikon', 'dontforget' : 'dan jangan lupa pakai handukmu', 'shortcutsof' : 'Pintasan dimatikan', 'dropFiles' : 'Seret berkas anda kesini', 'or' : 'atau', 'selectForUpload' : 'Pilih berkas untuk diunggah', 'moveFiles' : 'Pindahkan berkas', 'copyFiles' : 'Salin berkas', 'restoreFiles' : 'Kembalikan berkas', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Hapus dari lokasi', 'aspectRatio' : 'Aspek rasio', 'scale' : 'Skala', 'width' : 'Lebar', 'height' : 'Tinggi', 'resize' : 'Ubah ukuran', 'crop' : 'Potong', 'rotate' : 'Putar', 'rotate-cw' : 'Putar 90 derajat ke kanan', 'rotate-ccw' : 'Putar 90 derajat ke kiri', 'degree' : '°', 'netMountDialogTitle' : 'Baca susunan volume jaringan', // added 18.04.2012 'protocol' : 'Protokol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Pengguna', // added 18.04.2012 'pass' : 'Sandi', // added 18.04.2012 'confirmUnmount' : 'Apakah anda unmount $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Seret atau Tempel file dari browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Seret file, Tempel URL atau gambar dari clipboard', // from v2.1 added 07.04.2014 'encoding' : 'Encoding', // from v2.1 added 19.12.2014 'locale' : 'Lokasi', // from v2.1 added 19.12.2014 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Mencari berdasarkan inpu MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Pemilik', // from v2.1 added 20.6.2015 'group' : 'Grup', // from v2.1 added 20.6.2015 'other' : 'Lainnya', // from v2.1 added 20.6.2015 'execute' : 'Eksekusi', // from v2.1 added 20.6.2015 'perm' : 'Izin', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'Folder kosong', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Folder kosong\\A Seret untuk tambahkan berkas', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Folder kosong\\A Tekan yang lama untuk tambahkan berkas', // from v2.1.6 added 30.12.2015 'quality' : 'Kualitas', // from v2.1.6 added 5.1.2016 'autoSync' : 'Sinkronasi Otomatis', // from v2.1.6 added 10.1.2016 'moveUp' : 'Pindah ke atas', // from v2.1.6 added 18.1.2016 'getLink' : 'Mendepatkan URL link', // from v2.1.7 added 9.2.2016 'selectedItems' : '($1) berkas dipilih', // from v2.1.7 added 2.19.2016 'folderId' : 'ID Folder', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Izin akses offline', // from v2.1.10 added 3.25.2016 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Sedang memuat...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Membuka file bersamaan', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Anda mencoba membuka file $1. Apakah anda ingin membuka di browser?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Hasil pencarian kosong dalam target', // from v2.1.12 added 5.16.2016 'editingFile' : 'Sedang mengedit file', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Anda memilih $1 berkas', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Kamu mempunyai $i berkas di clipboard', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Hanya pencarian bertamah untuk menampilkan tampilan sekarang', // from v2.1.13 added 6.30.2016 'reinstate' : 'Reinstate', // from v2.1.15 added 3.8.2016 'complete' : '$1 selesai', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016 'reset' : 'Reset', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Warna background', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Mengambil warna', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016 'enabled' : 'Diaktifkan', // from v2.1.16 added 4.10.2016 'disabled' : 'Nonaktifkan', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Search results is empty in current view.\\APress [Enter] to expand search target.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'First letter search results is empty in current view.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Text label', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 mins left', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reopen with selected encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Save with the selected encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Select folder', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'First letter search', // from v2.1.23 added 24.3.2017 'presets' : 'Presets', // from v2.1.25 added 26.5.2017 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Tak diketahui', 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Folder', 'kindAlias' : 'Nama lain', 'kindAliasBroken' : 'Nama lain rusak', // applications 'kindApp' : 'Aplikasi', 'kindPostscript' : 'Dokumen postscript', 'kindMsOffice' : 'Dokumen Ms. Office', 'kindMsWord' : 'Dokumen Ms. Word', 'kindMsExcel' : 'Dokumen Ms. Excel', 'kindMsPP' : 'Dokumen Ms. Powerpoint', 'kindOO' : 'Dokumen Open Office', 'kindAppFlash' : 'Aplikasi Flash', 'kindPDF' : 'Portable Dokumen Format (PDF)', 'kindTorrent' : 'Berkas Bittorrent', 'kind7z' : 'Arsip 7z', 'kindTAR' : 'Arsip TAR', 'kindGZIP' : 'Arsip GZIP', 'kindBZIP' : 'Arsip BZIP', 'kindXZ' : 'Arsip XZ', 'kindZIP' : 'Arsip ZIP', 'kindRAR' : 'Arsip RAR', 'kindJAR' : 'Berkas Java JAR', 'kindTTF' : 'Huruf True Type', 'kindOTF' : 'Huruf Open Type', 'kindRPM' : 'Paket RPM', // texts 'kindText' : 'Dokumen teks', 'kindTextPlain' : 'Berkas teks biasa', 'kindPHP' : 'Kode-sumber PHP', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'Dokumen HTML', 'kindJS' : 'Kode-sumber Javascript', 'kindRTF' : 'Berkas Rich Text', 'kindC' : 'Kode-sumber C', 'kindCHeader' : 'Kode-sumber header C', 'kindCPP' : 'Kode-sumber C++', 'kindCPPHeader' : 'Kode-sumber header C++', 'kindShell' : 'Berkas shell Unix', 'kindPython' : 'Kode-sumber Python', 'kindJava' : 'Kode-sumber Java', 'kindRuby' : 'Kode-sumber Ruby', 'kindPerl' : 'Kode-sumber Perl', 'kindSQL' : 'Kode-sumber SQL', 'kindXML' : 'Dokumen XML', 'kindAWK' : 'Kode-sumber AWK', 'kindCSV' : 'Dokumen CSV', 'kindDOCBOOK' : 'Dokumen Docbook XML', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Citra', 'kindBMP' : 'Citra BMP', 'kindJPEG' : 'Citra JPEG', 'kindGIF' : 'Citra GIF', 'kindPNG' : 'Citra PNG', 'kindTIFF' : 'Citra TIFF', 'kindTGA' : 'Citra TGA', 'kindPSD' : 'Citra Adobe Photoshop', 'kindXBITMAP' : 'Citra X bitmap', 'kindPXM' : 'Citra Pixelmator', // media 'kindAudio' : 'Berkas audio', 'kindAudioMPEG' : 'Berkas audio MPEG', 'kindAudioMPEG4' : 'Berkas audio MPEG-4', 'kindAudioMIDI' : 'Berkas audio MIDI', 'kindAudioOGG' : 'Berkas audio Ogg Vorbis', 'kindAudioWAV' : 'Berkas audio WAV', 'AudioPlaylist' : 'Berkas daftar putar MP3', 'kindVideo' : 'Berkas video', 'kindVideoDV' : 'Berkas video DV', 'kindVideoMPEG' : 'Berkas video MPEG', 'kindVideoMPEG4' : 'Berkas video MPEG-4', 'kindVideoAVI' : 'Berkas video AVI', 'kindVideoMOV' : 'Berkas video Quick Time', 'kindVideoWM' : 'Berkas video Windows Media', 'kindVideoFlash' : 'Berkas video Flash', 'kindVideoMKV' : 'Berkas video Matroska', 'kindVideoOGG' : 'Berkas video Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.it.js000064400000104123151202472330014221 0ustar00/** * Italiano translation * @author Alberto Tocci (alberto.tocci@gmail.com) * @author Claudio Nicora (coolsoft.ita@gmail.com) * @author Stefano Galeazzi * @author Thomas Camaran * @author Fabio Ferrero * @version 2023-04-21 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.it = { translator : 'Alberto Tocci (alberto.tocci@gmail.com), Claudio Nicora (coolsoft.ita@gmail.com), Stefano Galeazzi <stefano.galeazzi@probanet.it>, Thomas Camaran <camaran@gmail.com>, Fabio Ferrero <fabioferrero@gmail.com>', language : 'Italiano', direction : 'ltr', dateFormat : 'd/m/Y H:i', // will show like: 21/04/2023 16:21 fancyDateFormat : '$1 H:i', // will show like: Oggi 16:21 nonameDateFormat : 'ymd-His', // noname upload will show like: 230421-162111 messages : { /********************************** errors **********************************/ 'error' : 'Errore', 'errUnknown' : 'Errore sconosciuto.', 'errUnknownCmd' : 'Comando sconosciuto.', 'errJqui' : 'Configurazione JQuery UI non valida. Devono essere inclusi i plugin Selectable, Draggable e Droppable.', 'errNode' : 'elFinder necessita dell\'elemento DOM per essere inizializzato.', 'errURL' : 'Configurazione non valida.Il parametro URL non è settato.', 'errAccess' : 'Accesso negato.', 'errConnect' : 'Impossibile collegarsi al backend.', 'errAbort' : 'Connessione annullata.', 'errTimeout' : 'Timeout di connessione.', 'errNotFound' : 'Backend non trovato.', 'errResponse' : 'Risposta non valida dal backend.', 'errConf' : 'Configurazione backend non valida.', 'errJSON' : 'Modulo PHP JSON non installato.', 'errNoVolumes' : 'Non è stato possibile leggere i volumi.', 'errCmdParams' : 'Parametri non validi per il comando "$1".', 'errDataNotJSON' : 'I dati non sono nel formato JSON.', 'errDataEmpty' : 'Stringa vuota.', 'errCmdReq' : 'La richiesta al backend richiede il nome del comando.', 'errOpen' : 'Impossibile aprire "$1".', 'errNotFolder' : 'L\'oggetto non è una cartella..', 'errNotFile' : 'L\'oggetto non è un file.', 'errRead' : 'Impossibile leggere "$1".', 'errWrite' : 'Non è possibile scrivere in "$1".', 'errPerm' : 'Permesso negato.', 'errLocked' : '"$1" è bloccato e non può essere rinominato, spostato o eliminato.', 'errExists' : 'Il file "$1" è già esistente.', 'errInvName' : 'Nome file non valido.', 'errInvDirname' : 'Nome cartella non valido.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Cartella non trovata.', 'errFileNotFound' : 'File non trovato.', 'errTrgFolderNotFound' : 'La cartella di destinazione"$1" non è stata trovata.', 'errPopup' : 'Il tuo Browser non consente di aprire finestre di pop-up. Per aprire il file abilita questa opzione nelle impostazioni del tuo Browser.', 'errMkdir' : 'Impossibile creare la cartella "$1".', 'errMkfile' : 'Impossibile creare il file "$1".', 'errRename' : 'Impossibile rinominare "$1".', 'errCopyFrom' : 'Non è possibile copiare file da "$1".', 'errCopyTo' : 'Non è possibile copiare file in "$1".', 'errMkOutLink' : 'Impossibile creare un link all\'esterno della radice del volume.', // from v2.1 added 03.10.2015 'errUpload' : 'Errore di Caricamento.', // old name - errUploadCommon 'errUploadFile' : 'Impossibile Caricare "$1".', // old name - errUpload 'errUploadNoFiles' : 'Non sono stati specificati file da caricare.', 'errUploadTotalSize' : 'La dimensione totale dei file supera il limite massimo consentito.', // old name - errMaxSize 'errUploadFileSize' : 'Le dimensioni del file superano il massimo consentito.', // old name - errFileMaxSize 'errUploadMime' : 'FileType non consentito.', 'errUploadTransfer' : 'Trasferimento errato del file "$1".', 'errUploadTemp' : 'Impossibile creare il file temporaneo per l\'upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'L\'oggetto "$1" esiste già in questa cartella e non può essere sostituito con un oggetto di un tipo differente.', // new 'errReplace' : 'Impossibile sostituire "$1".', 'errSave' : 'Impossibile salvare "$1".', 'errCopy' : 'Impossibile copiare "$1".', 'errMove' : 'Impossibile spostare "$1".', 'errCopyInItself' : 'Sorgente e destinazione risultato essere uguali.', 'errRm' : 'Impossibile rimuovere "$1".', 'errTrash' : 'Impossibile cestinare.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Impossibile eliminare i file origine.', 'errExtract' : 'Impossibile estrarre file da "$1".', 'errArchive' : 'Impossibile creare archivio.', 'errArcType' : 'Tipo di archivio non supportato.', 'errNoArchive' : 'Il file non è un archivio o contiene file non supportati.', 'errCmdNoSupport' : 'Il Backend non supporta questo comando.', 'errReplByChild' : 'La cartella $1 non può essere sostituita da un oggetto in essa contenuto.', 'errArcSymlinks' : 'Per questioni di sicurezza non è possibile estrarre archivi che contengono collegamenti..', // edited 24.06.2012 'errArcMaxSize' : 'La dimensione dell\'archivio supera le massime dimensioni consentite.', 'errResize' : 'Impossibile ridimensionare "$1".', 'errResizeDegree' : 'Angolo di rotazione non valido.', // added 7.3.2013 'errResizeRotate' : 'Impossibile ruotare l\'immagine.', // added 7.3.2013 'errResizeSize' : 'Dimensione dell\'immagine non valida.', // added 7.3.2013 'errResizeNoChange' : 'Dimensione dell\'immagine non modificata.', // added 7.3.2013 'errUsupportType' : 'Tipo di file non supportato.', 'errNotUTF8Content' : 'Il file "$1" non è nel formato UTF-8 e non può essere modificato.', // added 9.11.2011 'errNetMount' : 'Impossibile montare "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protocollo non supportato.', // added 17.04.2012 'errNetMountFailed' : 'Mount fallito.', // added 17.04.2012 'errNetMountHostReq' : 'Host richiesto.', // added 18.04.2012 'errSessionExpires' : 'La sessione è scaduta a causa di inattività.', 'errCreatingTempDir' : 'Impossibile creare la cartella temporanea: "$1"', 'errFtpDownloadFile' : 'Impossibile scaricare il file tramite FTP: "$1"', 'errFtpUploadFile' : 'Impossibile caricare il file tramite FTP: "$1"', 'errFtpMkdir' : 'Impossibile creare la cartella remota tramite FTP: "$1"', 'errArchiveExec' : 'Errore durante l\'archiviazione dei file: "$1"', 'errExtractExec' : 'Errore durante l\'estrazione dei file: "$1"', 'errNetUnMount' : 'Impossibile smontare', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Non convertibile nel formato UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Per uploadare l0intera cartella usare Google Chrome.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Timeout durante la ricerca di "$1". I risultati della ricerca sono parziali.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'E\' necessaria la riautorizzazione.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Il numero massimo di oggetti selezionabili è $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Impossibile ripristinare dal cestino: destinazione di ripristino non trovata.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Impossibile trovare un editor per questo tipo di file.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Si è verificato un errore lato server.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Impossibile svuotare la cartella "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Ci sono $1 ulteriori errori.', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'Puoi creare fino a $1 cartelle alla volta.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Crea archivio', 'cmdback' : 'Indietro', 'cmdcopy' : 'Copia', 'cmdcut' : 'Taglia', 'cmddownload' : 'Scarica', 'cmdduplicate' : 'Duplica', 'cmdedit' : 'Modifica File', 'cmdextract' : 'Estrai Archivio', 'cmdforward' : 'Avanti', 'cmdgetfile' : 'Seleziona File', 'cmdhelp' : 'Informazioni su...', 'cmdhome' : 'Home', 'cmdinfo' : 'Informazioni', 'cmdmkdir' : 'Nuova cartella', 'cmdmkdirin' : 'In una nuova cartella', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nuovo file', 'cmdopen' : 'Apri', 'cmdpaste' : 'Incolla', 'cmdquicklook' : 'Anteprima', 'cmdreload' : 'Ricarica', 'cmdrename' : 'Rinomina', 'cmdrm' : 'Elimina', 'cmdtrash' : 'Nel cestino', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Ripristina', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Ricerca file', 'cmdup' : 'Vai alla directory padre', 'cmdupload' : 'Carica File', 'cmdview' : 'Visualizza', 'cmdresize' : 'Ridimensiona Immagine', 'cmdsort' : 'Ordina', 'cmdnetmount' : 'Monta disco di rete', // added 18.04.2012 'cmdnetunmount': 'Smonta', // from v2.1 added 30.04.2012 'cmdplaces' : 'Aggiungi ad Accesso rapido', // added 28.12.2014 'cmdchmod' : 'Cambia modalità', // from v2.1 added 20.6.2015 'cmdopendir' : 'Apri una cartella', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Reimposta dimensione colonne', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Schermo intero', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Sposta', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Svuota la cartella', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Annulla', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Ripeti', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferenze', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Seleziona tutto', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Annulla selezione', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Inverti selezione', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Apri in una nuova finestra', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Nascondi (Preference)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Chiudi', 'btnSave' : 'Salva', 'btnRm' : 'Elimina', 'btnApply' : 'Applica', 'btnCancel' : 'Annulla', 'btnNo' : 'No', 'btnYes' : 'Sì', 'btnMount' : 'Monta', // added 18.04.2012 'btnApprove': 'Vai a $1 & approva', // from v2.1 added 26.04.2012 'btnUnmount': 'Smonta', // from v2.1 added 30.04.2012 'btnConv' : 'Converti', // from v2.1 added 08.04.2014 'btnCwd' : 'Qui', // from v2.1 added 22.5.2015 'btnVolume' : 'Disco', // from v2.1 added 22.5.2015 'btnAll' : 'Tutti', // from v2.1 added 22.5.2015 'btnMime' : 'Tipo MIME', // from v2.1 added 22.5.2015 'btnFileName':'Nome file', // from v2.1 added 22.5.2015 'btnSaveClose': 'Salva & Chiudi', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Rinomina', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Rinomina (tutto)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Indietro ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Avanti ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Salva come', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Apri cartella', 'ntffile' : 'Apri file', 'ntfreload' : 'Ricarica il contenuto della cartella', 'ntfmkdir' : 'Creazione delle directory in corso', 'ntfmkfile' : 'Creazione dei files in corso', 'ntfrm' : 'Eliminazione dei files in corso', 'ntfcopy' : 'Copia file in corso', 'ntfmove' : 'Spostamento file in corso', 'ntfprepare' : 'Preparazione della copia dei file.', 'ntfrename' : 'Sto rinominando i file', 'ntfupload' : 'Caricamento file in corso', 'ntfdownload' : 'Downloading file in corso', 'ntfsave' : 'Salvataggio file in corso', 'ntfarchive' : 'Creazione archivio in corso', 'ntfextract' : 'Estrazione file dall\'archivio in corso', 'ntfsearch' : 'Ricerca files in corso', 'ntfresize' : 'Ridimensionamento immagini', 'ntfsmth' : 'Operazione in corso. Attendere...', 'ntfloadimg' : 'Caricamento immagine in corso', 'ntfnetmount' : 'Montaggio disco di rete', // added 18.04.2012 'ntfnetunmount': 'Smontaggio disco di rete', // from v2.1 added 30.04.2012 'ntfdim' : 'Lettura dimensioni immagine', // added 20.05.2013 'ntfreaddir' : 'Lettura informazioni cartella', // from v2.1 added 01.07.2013 'ntfurl' : 'Lettura URL del collegamento', // from v2.1 added 11.03.2014 'ntfchmod' : 'Modifica della modalità del file', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verifica del nome del file caricato', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Creazione del file da scaricare', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Ottenimento informazioni percorso', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Processazione file caricato', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Spostamento nel cestino', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Ripristino dal cestino', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Controllo cartella destinazione', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Annullamento operazione precedente', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Rifacimento precedente annullamento', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Controllo contenuto', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Cestino', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'Sconosciuto', 'Today' : 'Oggi', 'Yesterday' : 'Ieri', 'msJan' : 'Gen', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Mag', 'msJun' : 'Giu', 'msJul' : 'Lug', 'msAug' : 'Ago', 'msSep' : 'Set', 'msOct' : 'Ott', 'msNov' : 'Nov', 'msDec' : 'Dic', 'January' : 'Gennaio', 'February' : 'Febbraio', 'March' : 'Marzo', 'April' : 'Aprile', 'May' : 'Maggio', 'June' : 'Giugno', 'July' : 'Luglio', 'August' : 'Agosto', 'September' : 'Settembre', 'October' : 'Ottobre', 'November' : 'Novembre', 'December' : 'Dicembre', 'Sunday' : 'Domenica', 'Monday' : 'Lunedì', 'Tuesday' : 'Martedì', 'Wednesday' : 'Mercoledì', 'Thursday' : 'Giovedì', 'Friday' : 'Venerdì', 'Saturday' : 'Sabato', 'Sun' : 'Dom', 'Mon' : 'Lun', 'Tue' : 'Mar', 'Wed' : 'Mer', 'Thu' : 'Gio', 'Fri' : 'Ven', 'Sat' : 'Sab', /******************************** sort variants ********************************/ 'sortname' : 'per nome', 'sortkind' : 'per tipo', 'sortsize' : 'per dimensione', 'sortdate' : 'per data', 'sortFoldersFirst' : 'cartelle in testa', 'sortperm' : 'per permessi', // from v2.1.13 added 13.06.2016 'sortmode' : 'per modalità', // from v2.1.13 added 13.06.2016 'sortowner' : 'per possessore', // from v2.1.13 added 13.06.2016 'sortgroup' : 'per gruppo', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Anche vista ad albero', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NuovoFile.txt', // added 10.11.2015 'untitled folder' : 'NuovaCartella', // added 10.11.2015 'Archive' : 'NuovoArchivio', // from v2.1 added 10.11.2015 'untitled file' : 'NuovoFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: File', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Conferma richiesta', 'confirmRm' : 'Sei sicuro di voler eliminare i file?
                      L\'operazione non è reversibile!', 'confirmRepl' : 'Sostituire i file ?', 'confirmRest' : 'Rimpiazza l\'oggetto esistente con quello nel cestino?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Non in formato UTF-8
                      Convertire in UTF-8?
                      Il contenuto diventerà UTF-8 salvando dopo la conversione.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'La codifica caratteri di questo file non può essere determinata. Sarà temporaneamente convertito in UTF-8 per l\'editting.
                      Per cortesia, selezionare la codifica caratteri per il file.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Il contenuto è stato modificato.
                      Le modifiche andranno perse se non si salveranno.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Sei sicuro di voler cestinare gli oggetti?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Sei sicuro di voler spostare gli oggetti in "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Applica a tutti', 'name' : 'Nome', 'size' : 'Dimensione', 'perms' : 'Permessi', 'modify' : 'Modificato il', 'kind' : 'Tipo', 'read' : 'lettura', 'write' : 'scrittura', 'noaccess' : 'nessun accesso', 'and' : 'e', 'unknown' : 'sconosciuto', 'selectall' : 'Seleziona tutti i file', 'selectfiles' : 'Seleziona file', 'selectffile' : 'Seleziona il primo file', 'selectlfile' : 'Seleziona l\'ultimo file', 'viewlist' : 'Visualizza Elenco', 'viewicons' : 'Visualizza Icone', 'viewSmall' : 'Icone piccole', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Icone medie', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Icone grandi', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Icone molto grandi', // from v2.1.39 added 22.5.2018 'places' : 'Accesso rapido', 'calc' : 'Calcola', 'path' : 'Percorso', 'aliasfor' : 'Alias per', 'locked' : 'Bloccato', 'dim' : 'Dimensioni', 'files' : 'File', 'folders' : 'Cartelle', 'items' : 'Oggetti', 'yes' : 'sì', 'no' : 'no', 'link' : 'Collegamento', 'searcresult' : 'Risultati ricerca', 'selected' : 'oggetti selezionati', 'about' : 'Informazioni', 'shortcuts' : 'Scorciatoie', 'help' : 'Aiuto', 'webfm' : 'Gestore file WEB', 'ver' : 'Versione', 'protocolver' : 'versione protocollo', 'homepage' : 'Home del progetto', 'docs' : 'Documentazione', 'github' : 'Seguici su Github', 'twitter' : 'Seguici su Twitter', 'facebook' : 'Seguici su Facebook', 'team' : 'Gruppo', 'chiefdev' : 'sviluppatore capo', 'developer' : 'sviluppatore', 'contributor' : 'collaboratore', 'maintainer' : 'manutentore', 'translator' : 'traduttore', 'icons' : 'Icone', 'dontforget' : 'e non dimenticate di portare l\'asciugamano', 'shortcutsof' : 'Scorciatoie disabilitate', 'dropFiles' : 'Trascina i file qui', 'or' : 'o', 'selectForUpload' : 'Seleziona file da caricare', 'moveFiles' : 'Sposta file', 'copyFiles' : 'Copia file', 'restoreFiles' : 'Ripristina oggetti', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Rimuovi da Accesso rapido', 'aspectRatio' : 'Proporzioni', 'scale' : 'Scala', 'width' : 'Larghezza', 'height' : 'Altezza', 'resize' : 'Ridimensione', 'crop' : 'Ritaglia', 'rotate' : 'Ruota', 'rotate-cw' : 'Ruota di 90° in senso orario', 'rotate-ccw' : 'Ruota di 90° in senso antiorario', 'degree' : 'Gradi', 'netMountDialogTitle' : 'Monta disco di rete', // added 18.04.2012 'protocol' : 'Protocollo', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Porta', // added 18.04.2012 'user' : 'Utente', // added 18.04.2012 'pass' : 'Password', // added 18.04.2012 'confirmUnmount' : 'Vuoi smontare $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Rilascia o incolla dal browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Rilascia o incolla files e indirizzi URL qui', // from v2.1 added 07.04.2014 'encoding' : 'Codifica', // from v2.1 added 19.12.2014 'locale' : 'Lingua', // from v2.1 added 19.12.2014 'searchTarget' : 'Destinazione: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Cerca per MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Possessore', // from v2.1 added 20.6.2015 'group' : 'Gruppo', // from v2.1 added 20.6.2015 'other' : 'Altri', // from v2.1 added 20.6.2015 'execute' : 'Esegui', // from v2.1 added 20.6.2015 'perm' : 'Permessi', // from v2.1 added 20.6.2015 'mode' : 'Modalità', // from v2.1 added 20.6.2015 'emptyFolder' : 'La cartella è vuota', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'La cartella è vuota\\A Trascina e rilascia per aggiungere elementi', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'La cartella è vuota\\A Premi a lungo per aggiungere elementi', // from v2.1.6 added 30.12.2015 'quality' : 'Qualità', // from v2.1.6 added 5.1.2016 'autoSync' : 'Sincr. automatica', // from v2.1.6 added 10.1.2016 'moveUp' : 'Sposta in alto', // from v2.1.6 added 18.1.2016 'getLink' : 'Mostra URL link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Elementi selezionati ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID cartella', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Permetti accesso non in linea', // from v2.1.10 added 3.25.2016 'reAuth' : 'Per ri-autenticarsi', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Caricamento...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Apri più files', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Stai cercando di aprire $1 files. Sei sicuro di volerli aprire nel browser?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Nessun risultato soddisfa i criteri di ricerca', // from v2.1.12 added 5.16.2016 'editingFile' : 'Il file è in modifica.', // from v2.1.13 added 6.3.2016 'hasSelected' : '$1 elementi sono selezionati.', // from v2.1.13 added 6.3.2016 'hasClipboard' : '$1 elementi negli appunti.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'La ricerca incrementale è solo dalla vista corrente.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Reistanzia', // from v2.1.15 added 3.8.2016 'complete' : '$1 completato', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Menu contestuale', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Orientamento pagina', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Percorsi base del volume', // from v2.1.16 added 16.9.2016 'reset' : 'Resetta', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Colore di sfondo', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Selettore colori', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'Griglia di 8px', // from v2.1.16 added 4.10.2016 'enabled' : 'Abilitato', // from v2.1.16 added 4.10.2016 'disabled' : 'Disabilitato', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Nessun risultato di ricerca nella vista corrente\\APremere [Invio] per espandere l\'oggetto della ricerca.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Nessun risultato di ricerca tramite prima lettera nella vista corrente.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Etichetta di testo', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 minuti rimanenti', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Riapri con la codifica di caratteri selezionata', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Salva con la codifica di caratteri selezionata', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Seleziona cartella', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Cerca tramite la prima lettera', // from v2.1.23 added 24.3.2017 'presets' : 'Opzioni predefinite', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Troppi oggetti da spostare nel cestino', // from v2.1.25 added 9.6.2017 'TextArea' : 'Area di testo', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Svuota la cartella "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Non ci sono oggetti nella cartella "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preferenze', // from v2.1.26 added 28.6.2017 'language' : 'Impostazioni Lingua', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Inizializza le impostazioni salvate nel browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Impostazioni ToolBar', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 caratteri rimanenti.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 linee rimaste.', // from v2.1.52 added 16.1.2020 'sum' : 'Somma', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Dimensione file approssimativa', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Fuoco sull\'elemento sotto al mouse', // from v2.1.30 added 2.11.2017 'select' : 'Seleziona', // from v2.1.30 added 23.11.2017 'selectAction' : 'Azione quando un file è selezionato', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Apri con l\'editor usato l\'ultima volta', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Inverti selezione', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Sei sicuro di voler rinominare $1 selezionati come $2?
                      Questo non può essere annullato!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Rinomina gruppo', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Numero', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Aggiungi prefisso', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Aggiungi sufisso', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Cambia estensione', // from v2.1.31 added 8.12.2017 'columnPref' : 'Impostazioni delle colonne (visualizzazione elenco)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Tutti i cambiamenti saranno immeditamente applicati.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Qualsiasi modifica non sarà visibile fino a quando non si monta questo volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'I seguenti volumi montati su questo volume saranno smontati. Sei sicuro di volerlo smontare?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Seleziona Info', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algoritmi per visualizzare l\'hash del file', // from v2.1.33 added 10.3.2018 'infoItems' : 'Informazioni (pannello di informazioni sulla selezione)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Premi di nuovo per uscire.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Toolbar', // from v2.1.38 added 4.4.2018 'workspace' : 'Spazio di lavoro', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialogo', // from v2.1.38 added 4.4.2018 'all' : 'Tutti', // from v2.1.38 added 4.4.2018 'iconSize' : 'Dimensione icona (Visualizzazione icone)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Apri la finestra di modifica massimizzata', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Dato che le API di conversione non sono disponibili, effettua la conversione sul sito web.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Dopo la conversione, devi caricarlo con l\'URL o con il file scaricato per salvare il file convertito.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Converti sul sito di $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrazioni', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Questo elFinder ha i seguenti servizi esterni integrati. Controlla i termini di utilizzo, le politiche sulla privacy, etc, prima di utilizzarli.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Mostra oggetti nascosti', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Nascondi oggetti nascosti', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Visualizza/Nascondi oggetti nascosti', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Tipi di file da abilitare con "Nuovo file"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Tipo del file di testo', // from v2.1.41 added 7.8.2018 'add' : 'Aggiungi', // from v2.1.41 added 7.8.2018 'theme' : 'Tema', // from v2.1.43 added 19.10.2018 'default' : 'Default', // from v2.1.43 added 19.10.2018 'description' : 'Descrizione', // from v2.1.43 added 19.10.2018 'website' : 'Website', // from v2.1.43 added 19.10.2018 'author' : 'Autore', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'Licenza', // from v2.1.43 added 19.10.2018 'exportToSave' : 'L\'oggetto non può essere salvato. Per non perdere le modifiche, devi esportarlo sul tuo computer.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Doppio click sul file per selezionarlo.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Usa schermo intero', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Sconosciuto', 'kindRoot' : 'Percorso base del volume', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Cartella', 'kindSelects' : 'Selezioni', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Alias guasto', // applications 'kindApp' : 'Applicazione', 'kindPostscript' : 'Documento Postscript', 'kindMsOffice' : 'Documento Microsoft Office', 'kindMsWord' : 'Documento Microsoft Word', 'kindMsExcel' : 'Documento Microsoft Excel', 'kindMsPP' : 'Presentazione Microsoft Powerpoint', 'kindOO' : 'Documento Open Office', 'kindAppFlash' : 'Applicazione Flash', 'kindPDF' : 'Documento PDF', 'kindTorrent' : 'File Bittorrent', 'kind7z' : 'Archivio 7z', 'kindTAR' : 'Archivio TAR', 'kindGZIP' : 'Archivio GZIP', 'kindBZIP' : 'Archivio BZIP', 'kindXZ' : 'Archivio XZ', 'kindZIP' : 'Archivio ZIP', 'kindRAR' : 'Archivio RAR', 'kindJAR' : 'File Java JAR', 'kindTTF' : 'Font True Type', 'kindOTF' : 'Font Open Type', 'kindRPM' : 'Pacchetto RPM', // texts 'kindText' : 'Documento di testo', 'kindTextPlain' : 'Testo Semplice', 'kindPHP' : 'File PHP', 'kindCSS' : 'File CSS (Cascading Style Sheet)', 'kindHTML' : 'Documento HTML', 'kindJS' : 'File Javascript', 'kindRTF' : 'File RTF (Rich Text Format)', 'kindC' : 'File C', 'kindCHeader' : 'File C (header)', 'kindCPP' : 'File C++', 'kindCPPHeader' : 'File C++ (header)', 'kindShell' : 'Script Unix shell', 'kindPython' : 'File Python', 'kindJava' : 'File Java', 'kindRuby' : 'File Ruby', 'kindPerl' : 'File Perl', 'kindSQL' : 'File SQL', 'kindXML' : 'File XML', 'kindAWK' : 'File AWK', 'kindCSV' : 'File CSV (Comma separated values)', 'kindDOCBOOK' : 'File Docbook XML', 'kindMarkdown' : 'Testo markdown', // added 20.7.2015 // images 'kindImage' : 'Immagine', 'kindBMP' : 'Immagine BMP', 'kindJPEG' : 'Immagine JPEG', 'kindGIF' : 'Immagine GIF', 'kindPNG' : 'Immagine PNG', 'kindTIFF' : 'Immagine TIFF', 'kindTGA' : 'Immagine TGA', 'kindPSD' : 'Immagine Adobe Photoshop', 'kindXBITMAP' : 'Immagine X bitmap', 'kindPXM' : 'Immagine Pixelmator', // media 'kindAudio' : 'File Audio', 'kindAudioMPEG' : 'Audio MPEG', 'kindAudioMPEG4' : 'Audio MPEG-4', 'kindAudioMIDI' : 'Audio MIDI', 'kindAudioOGG' : 'Audio Ogg Vorbis', 'kindAudioWAV' : 'Audio WAV', 'AudioPlaylist' : 'Playlist MP3', 'kindVideo' : 'File Video', 'kindVideoDV' : 'Filmato DV', 'kindVideoMPEG' : 'Filmato MPEG', 'kindVideoMPEG4' : 'Filmato MPEG-4', 'kindVideoAVI' : 'Filmato AVI', 'kindVideoMOV' : 'Filmato Quick Time', 'kindVideoWM' : 'Filmato Windows Media', 'kindVideoFlash' : 'Filmato Flash', 'kindVideoMKV' : 'Filmato Matroska', 'kindVideoOGG' : 'Filmato Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.ja.js000064400000114315151202472330014203 0ustar00/** * Japanese translation * @author Tomoaki Yoshida * @author Naoki Sawada * @version 2021-06-02 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.ja = { translator : 'Tomoaki Yoshida <info@yoshida-studio.jp>, Naoki Sawada <hypweb+elfinder@gmail.com>', language : 'Japanese', direction : 'ltr', dateFormat : 'Y/m/d h:i A', // will show like: 2018/08/24 04:37 PM fancyDateFormat : '$1 h:i A', // will show like: 今日 04:37 PM nonameDateFormat : 'ymd-His', // noname upload will show like: 180824-163717 messages : { /********************************** errors **********************************/ 'error' : 'エラー', 'errUnknown' : '不明なエラーです。', 'errUnknownCmd' : '不明なコマンドです。', 'errJqui' : '無効な jQuery UI 設定です。Selectable, Draggable, Droppable コンポーネントを含める必要があります。', 'errNode' : 'elFinder は DOM Element が必要です。', 'errURL' : '無効な elFinder 設定です! URLを設定されていません。', 'errAccess' : 'アクセスが拒否されました。', 'errConnect' : 'バックエンドとの接続ができません。', 'errAbort' : '接続が中断されました。', 'errTimeout' : '接続がタイムアウトしました。', 'errNotFound' : 'バックエンドが見つかりません。', 'errResponse' : '無効なバックエンドレスポンスです。', 'errConf' : 'バックエンドの設定が有効ではありません。', 'errJSON' : 'PHP JSON モジュールがインストールされていません。', 'errNoVolumes' : '読み込み可能なボリュームがありません。', 'errCmdParams' : 'コマンド "$1"のパラメーターが無効です。', 'errDataNotJSON' : 'JSONデータではありません。', 'errDataEmpty' : '空のデータです。', 'errCmdReq' : 'バックエンドリクエストはコマンド名が必要です。', 'errOpen' : '"$1" を開くことができません。', 'errNotFolder' : 'オブジェクトがフォルダではありません。', 'errNotFile' : 'オブジェクトがファイルではありません。', 'errRead' : '"$1" を読み込むことができません。', 'errWrite' : '"$1" に書き込むことができません。', 'errPerm' : '権限がありません。', 'errLocked' : '"$1" はロックされているので名前の変更、移動、削除ができません。', 'errExists' : '"$1" というアイテム名はすでに存在しています。', 'errInvName' : '無効なファイル名です。', 'errInvDirname' : '無効なフォルダ名です。', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'フォルダが見つかりません。', 'errFileNotFound' : 'ファイルが見つかりません。', 'errTrgFolderNotFound' : 'ターゲットとするフォルダ "$1" が見つかりません。', 'errPopup' : 'ポップアップウィンドウが開けません。ファイルを開くにはブラウザの設定を変更してください。', 'errMkdir' : 'フォルダ "$1" を作成することができません。', 'errMkfile' : 'ファイル "$1" を作成することができません。', 'errRename' : '"$1" の名前を変更することができません。', 'errCopyFrom' : '"$1" からのファイルコピーは許可されていません。', 'errCopyTo' : '"$1" へのファイルコピーは許可されていません。', 'errMkOutLink' : 'ボリュームルート外へのリンクを作成することはできません。', // from v2.1 added 03.10.2015 'errUpload' : 'アップロードエラー', // old name - errUploadCommon 'errUploadFile' : '"$1" をアップロードすることができません。', // old name - errUpload 'errUploadNoFiles' : 'アップロードされたファイルはありません。', 'errUploadTotalSize' : 'データが許容サイズを超えています。', // old name - errMaxSize 'errUploadFileSize' : 'ファイルが許容サイズを超えています。', // old name - errFileMaxSize 'errUploadMime' : '許可されていないファイル形式です。', 'errUploadTransfer' : '"$1" 転送エラーです。', 'errUploadTemp' : 'アップロード用一時ファイルを作成できません。', // from v2.1 added 26.09.2015 'errNotReplace' : 'アイテム "$1" はすでにこの場所にあり、アイテムのタイプが違うので置き換えることはできません。', // new 'errReplace' : '"$1" を置き換えることができません。', 'errSave' : '"$1" を保存することができません。', 'errCopy' : '"$1" をコピーすることができません。', 'errMove' : '"$1" を移動することができません。', 'errCopyInItself' : '"$1" をそれ自身の中にコピーすることはできません。', 'errRm' : '"$1" を削除することができません。', 'errTrash' : 'ごみ箱に入れることができません。', // from v2.1.24 added 30.4.2017 'errRmSrc' : '元ファイルを削除することができません。', 'errExtract' : '"$1" を解凍することができません。', 'errArchive' : 'アーカイブを作成することができません。', 'errArcType' : 'サポート外のアーカイブ形式です。', 'errNoArchive' : 'アーカイブでないかサポートされていないアーカイブ形式です。', 'errCmdNoSupport' : 'サポートされていないコマンドです。', 'errReplByChild' : 'フォルダ "$1" に含まれてるアイテムを置き換えることはできません。', 'errArcSymlinks' : 'シンボリックリンクまたは許容されないファイル名を含むアーカイブはセキュリティ上、解凍できません。', // edited 24.06.2012 'errArcMaxSize' : 'アーカイブが許容されたサイズを超えています。', 'errResize' : '"$1" のリサイズまたは回転ができません。', 'errResizeDegree' : 'イメージの回転角度が不正です。', // added 7.3.2013 'errResizeRotate' : 'イメージを回転できません。', // added 7.3.2013 'errResizeSize' : '指定されたイメージサイズが不正です。', // added 7.3.2013 'errResizeNoChange' : 'イメージサイズなどの変更点がありません。', // added 7.3.2013 'errUsupportType' : 'このファイルタイプはサポートされていません。', 'errNotUTF8Content' : 'ファイル "$1" には UTF-8 以外の文字が含まれているので編集できません。', // added 9.11.2011 'errNetMount' : '"$1" をマウントできません。', // added 17.04.2012 'errNetMountNoDriver' : 'サポートされていないプロトコルです。', // added 17.04.2012 'errNetMountFailed' : 'マウントに失敗しました。', // added 17.04.2012 'errNetMountHostReq' : 'ホスト名は必須です。', // added 18.04.2012 'errSessionExpires' : 'アクションがなかったため、セッションが期限切れになりました。', 'errCreatingTempDir' : '一時ディレクトリを作成できません:"$1"', 'errFtpDownloadFile' : 'FTP からファイルをダウンロードできません:"$1"', 'errFtpUploadFile' : 'FTP へファイルをアップロードできません:"$1"', 'errFtpMkdir' : 'FTP にリモートディレクトリを作成できません:"$1"', 'errArchiveExec' : 'ファイルのアーカイブ中にエラーが発生しました:"$1"', 'errExtractExec' : 'ファイルの抽出中にエラーが発生しました:"$1"', 'errNetUnMount' : 'アンマウントできません。', // from v2.1 added 30.04.2012 'errConvUTF8' : 'UTF-8 に変換できませんでした。', // from v2.1 added 08.04.2014 'errFolderUpload' : 'フォルダをアップロードしたいのであれば、モダンブラウザを試してください。', // from v2.1 added 26.6.2015 'errSearchTimeout' : '"$1" を検索中にタイムアウトしました。検索結果は部分的です。', // from v2.1 added 12.1.2016 'errReauthRequire' : '再認可が必要です。', // from v2.1.10 added 24.3.2016 'errMaxTargets' : '選択可能な最大アイテム数は $1 個です。', // from v2.1.17 added 17.10.2016 'errRestore' : '宛先の特定ができないため、ごみ箱から戻せません。', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'このファイルタイプのエディターがありません。', // from v2.1.25 added 23.5.2017 'errServerError' : 'サーバー側でエラーが発生しました。', // from v2.1.25 added 16.6.2017 'errEmpty' : 'フォルダ"$1"を空にすることができません。', // from v2.1.25 added 22.6.2017 'moreErrors' : 'さらに $1 件のエラーがあります。', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : '一度に作成できるフォルダーは $1 個までです。', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'アーカイブ作成', 'cmdback' : '戻る', 'cmdcopy' : 'コピー', 'cmdcut' : 'カット', 'cmddownload' : 'ダウンロード', 'cmdduplicate' : '複製', 'cmdedit' : 'ファイル編集', 'cmdextract' : 'アーカイブを解凍', 'cmdforward' : '進む', 'cmdgetfile' : 'ファイル選択', 'cmdhelp' : 'このソフトウェアについて', 'cmdhome' : 'ルート', 'cmdinfo' : '情報', 'cmdmkdir' : '新規フォルダ', 'cmdmkdirin' : '新規フォルダへ', // from v2.1.7 added 19.2.2016 'cmdmkfile' : '新規ファイル', 'cmdopen' : '開く', 'cmdpaste' : 'ペースト', 'cmdquicklook' : 'プレビュー', 'cmdreload' : 'リロード', 'cmdrename' : 'リネーム', 'cmdrm' : '削除', 'cmdtrash' : 'ごみ箱へ', //from v2.1.24 added 29.4.2017 'cmdrestore' : '復元', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'ファイルを探す', 'cmdup' : '親フォルダへ移動', 'cmdupload' : 'ファイルアップロード', 'cmdview' : 'ビュー', 'cmdresize' : 'リサイズと回転', 'cmdsort' : 'ソート', 'cmdnetmount' : 'ネットワークボリュームをマウント', // added 18.04.2012 'cmdnetunmount': 'アンマウント', // from v2.1 added 30.04.2012 'cmdplaces' : 'よく使う項目へ', // added 28.12.2014 'cmdchmod' : '属性変更', // from v2.1 added 20.6.2015 'cmdopendir' : 'フォルダを開く', // from v2.1 added 13.1.2016 'cmdcolwidth' : '列幅リセット', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'フルスクリーン', // from v2.1.15 added 03.08.2016 'cmdmove' : '移動', // from v2.1.15 added 21.08.2016 'cmdempty' : 'フォルダを空に', // from v2.1.25 added 22.06.2017 'cmdundo' : '元に戻す', // from v2.1.27 added 31.07.2017 'cmdredo' : 'やり直し', // from v2.1.27 added 31.07.2017 'cmdpreference': '個人設定', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'すべて選択', // from v2.1.28 added 15.08.2017 'cmdselectnone': '選択解除', // from v2.1.28 added 15.08.2017 'cmdselectinvert': '選択を反転', // from v2.1.28 added 15.08.2017 'cmdopennew' : '新しいウィンドウで開く', // from v2.1.38 added 3.4.2018 'cmdhide' : '非表示 (個人設定)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : '閉じる', 'btnSave' : '保存', 'btnRm' : '削除', 'btnApply' : '適用', 'btnCancel' : 'キャンセル', 'btnNo' : 'いいえ', 'btnYes' : 'はい', 'btnMount' : 'マウント', // added 18.04.2012 'btnApprove': '$1へ行き認可する', // from v2.1 added 26.04.2012 'btnUnmount': 'アンマウント', // from v2.1 added 30.04.2012 'btnConv' : '変換', // from v2.1 added 08.04.2014 'btnCwd' : 'この場所', // from v2.1 added 22.5.2015 'btnVolume' : 'ボリューム', // from v2.1 added 22.5.2015 'btnAll' : '全て', // from v2.1 added 22.5.2015 'btnMime' : 'MIMEタイプ', // from v2.1 added 22.5.2015 'btnFileName':'ファイル名', // from v2.1 added 22.5.2015 'btnSaveClose': '保存して閉じる', // from v2.1 added 12.6.2015 'btnBackup' : 'バックアップ', // fromv2.1 added 28.11.2015 'btnRename' : 'リネーム', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'リネーム(全て)', // from v2.1.24 added 6.4.2017 'btnPrevious' : '前へ ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : '次へ ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : '別名保存', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'フォルダを開いています', 'ntffile' : 'ファイルを開いています', 'ntfreload' : 'フォルダを再読込しています', 'ntfmkdir' : 'フォルダを作成しています', 'ntfmkfile' : 'ファイルを作成しています', 'ntfrm' : 'アイテムを削除しています', 'ntfcopy' : 'アイテムをコピーしています', 'ntfmove' : 'アイテムを移動しています', 'ntfprepare' : '既存アイテムを確認しています', 'ntfrename' : 'ファイル名を変更しています', 'ntfupload' : 'ファイルをアップロードしています', 'ntfdownload' : 'ファイルをダウンロードしています', 'ntfsave' : 'ファイルを保存しています', 'ntfarchive' : 'アーカイブ作成しています', 'ntfextract' : 'アーカイブを解凍しています', 'ntfsearch' : 'ファイル検索中', 'ntfresize' : 'リサイズしています', 'ntfsmth' : '処理をしています', 'ntfloadimg' : 'イメージを読み込んでいます', 'ntfnetmount' : 'ネットボリュームをマウント中', // added 18.04.2012 'ntfnetunmount': 'ネットボリュームをアンマウント中', // from v2.1 added 30.04.2012 'ntfdim' : '画像サイズを取得しています', // added 20.05.2013 'ntfreaddir' : 'フォルダ情報を読み取っています', // from v2.1 added 01.07.2013 'ntfurl' : 'リンクURLを取得しています', // from v2.1 added 11.03.2014 'ntfchmod' : 'ファイル属性を変更しています', // from v2.1 added 20.6.2015 'ntfpreupload': 'アップロードファイル名を検証中', // from v2.1 added 31.11.2015 'ntfzipdl' : 'ダウンロード用ファイルを作成中', // from v2.1.7 added 23.1.2016 'ntfparents' : 'パス情報を取得しています', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'アップロード済みファイルを処理中', // from v2.1.17 added 2.11.2016 'ntftrash' : 'ごみ箱に入れています', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'ごみ箱から元に戻しています', // from v2.1.24 added 3.5.2017 'ntfchkdir' : '宛先フォルダを確認しています', // from v2.1.24 added 3.5.2017 'ntfundo' : '前の操作を取り消して元に戻しています', // from v2.1.27 added 31.07.2017 'ntfredo' : '元に戻した操作をやり直しています', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'コンテンツをチェックしています', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'ごみ箱', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : '不明', 'Today' : '今日', 'Yesterday' : '昨日', 'msJan' : '1月', 'msFeb' : '2月', 'msMar' : '3月', 'msApr' : '4月', 'msMay' : '5月', 'msJun' : '6月', 'msJul' : '7月', 'msAug' : '8月', 'msSep' : '9月', 'msOct' : '10月', 'msNov' : '11月', 'msDec' : '12月', 'January' : '1月', 'February' : '2月', 'March' : '3月', 'April' : '4月', 'May' : '5月', 'June' : '6月', 'July' : '7月', 'August' : '8月', 'September' : '9月', 'October' : '10月', 'November' : '11月', 'December' : '12月', 'Sunday' : '日曜日', 'Monday' : '月曜日', 'Tuesday' : '火曜日', 'Wednesday' : '水曜日', 'Thursday' : '木曜日', 'Friday' : '金曜日', 'Saturday' : '土曜日', 'Sun' : '(日)', 'Mon' : '(月)', 'Tue' : '(火)', 'Wed' : '(水)', 'Thu' : '(木)', 'Fri' : '(金)', 'Sat' : '(土)', /******************************** sort variants ********************************/ 'sortname' : '名前順', 'sortkind' : '種類順', 'sortsize' : 'サイズ順', 'sortdate' : '日付順', 'sortFoldersFirst' : 'フォルダ優先', 'sortperm' : '権限順', // from v2.1.13 added 13.06.2016 'sortmode' : '属性順', // from v2.1.13 added 13.06.2016 'sortowner' : 'オーナー順', // from v2.1.13 added 13.06.2016 'sortgroup' : 'グループ順', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'ツリービューも', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : '新規ファイル.txt', // added 10.11.2015 'untitled folder' : '新規フォルダ', // added 10.11.2015 'Archive' : '新規アーカイブ', // from v2.1 added 10.11.2015 'untitled file' : '新規ファイル.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: ファイル', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : '処理を実行しますか?', 'confirmRm' : 'アイテムを完全に削除してもよろしいですか?
                      この操作は取り消しできません!', 'confirmRepl' : '古いファイルを新しいファイルで上書きしますか? (フォルダが含まれている場合は統合されます。置き換える場合は「バックアップ」選択してください。)', 'confirmRest' : '既存のアイテムをごみ箱のアイテムで上書きしますか?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'UTF-8 以外の文字が含まれています。
                      UTF-8 に変換しますか?
                      変換後の保存でコンテンツは UTF-8 になります。', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'このファイルの文字エンコーディングを判別できませんでした。編集するには一時的に UTF-8 に変換する必要があります。
                      文字エンコーディングを指定してください。', // from v2.1.19 added 28.11.2016 'confirmNotSave' : '変更されています。
                      保存せずに閉じると編集内容が失われます。', // from v2.1 added 15.7.2015 'confirmTrash' : 'アイテムをごみ箱に移動してもよろしいですか?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'アイテムを"$1"に移動してもよろしいですか?', //from v2.1.50 added 27.7.2019 'apllyAll' : '全てに適用します', 'name' : '名前', 'size' : 'サイズ', 'perms' : '権限', 'modify' : '更新', 'kind' : '種類', 'read' : '読み取り', 'write' : '書き込み', 'noaccess' : 'アクセス禁止', 'and' : ',', 'unknown' : '不明', 'selectall' : 'すべてのアイテムを選択', 'selectfiles' : 'アイテム選択', 'selectffile' : '最初のアイテムを選択', 'selectlfile' : '最後のアイテムを選択', 'viewlist' : 'リスト形式で表示', 'viewicons' : 'アイコン形式で表示', 'viewSmall' : '小アイコン', // from v2.1.39 added 22.5.2018 'viewMedium' : '中アイコン', // from v2.1.39 added 22.5.2018 'viewLarge' : '大アイコン', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : '特大アイコン', // from v2.1.39 added 22.5.2018 'places' : 'よく使う項目', 'calc' : '計算中', 'path' : 'パス', 'aliasfor' : 'エイリアス', 'locked' : 'ロック', 'dim' : '画素数', 'files' : 'ファイル', 'folders' : 'フォルダ', 'items' : 'アイテム', 'yes' : 'はい', 'no' : 'いいえ', 'link' : 'リンク', 'searcresult' : '検索結果', 'selected' : '選択されたアイテム', 'about' : '概要', 'shortcuts' : 'ショートカット', 'help' : 'ヘルプ', 'webfm' : 'ウェブファイルマネージャー', 'ver' : 'バージョン', 'protocolver' : 'プロトコルバージョン', 'homepage' : 'プロジェクトホーム', 'docs' : 'ドキュメンテーション', 'github' : 'Github でフォーク', 'twitter' : 'Twitter でフォロー', 'facebook' : 'Facebookグループ に参加', 'team' : 'チーム', 'chiefdev' : 'チーフデベロッパー', 'developer' : 'デベロッパー', 'contributor' : 'コントリビュータ', 'maintainer' : 'メインテナー', 'translator' : '翻訳者', 'icons' : 'アイコン', 'dontforget' : 'タオル忘れちゃだめよ~', 'shortcutsof' : 'ショートカットは利用できません', 'dropFiles' : 'ここにファイルをドロップ', 'or' : 'または', 'selectForUpload' : 'ファイルを選択', 'moveFiles' : 'アイテムを移動', 'copyFiles' : 'アイテムをコピー', 'restoreFiles' : 'アイテムを元に戻す', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'ここから削除', 'aspectRatio' : '縦横比維持', 'scale' : '表示縮尺', 'width' : '幅', 'height' : '高さ', 'resize' : 'リサイズ', 'crop' : '切り抜き', 'rotate' : '回転', 'rotate-cw' : '90度左回転', 'rotate-ccw' : '90度右回転', 'degree' : '度', 'netMountDialogTitle' : 'ネットワークボリュームのマウント', // added 18.04.2012 'protocol' : 'プロトコル', // added 18.04.2012 'host' : 'ホスト名', // added 18.04.2012 'port' : 'ポート', // added 18.04.2012 'user' : 'ユーザー名', // added 18.04.2012 'pass' : 'パスワード', // added 18.04.2012 'confirmUnmount' : '$1をアンマウントしますか?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'ブラウザからファイルをドロップまたは貼り付け', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'ここにファイルをドロップ または URLリスト, 画像(クリップボード) を貼り付け', // from v2.1 added 07.04.2014 'encoding' : 'エンコーディング', // from v2.1 added 19.12.2014 'locale' : 'ロケール', // from v2.1 added 19.12.2014 'searchTarget' : '検索範囲: $1', // from v2.1 added 22.5.2015 'searchMime' : '指定した MIME タイプで検索', // from v2.1 added 22.5.2015 'owner' : 'オーナー', // from v2.1 added 20.6.2015 'group' : 'グループ', // from v2.1 added 20.6.2015 'other' : 'その他', // from v2.1 added 20.6.2015 'execute' : '実行', // from v2.1 added 20.6.2015 'perm' : 'パーミッション', // from v2.1 added 20.6.2015 'mode' : '属性', // from v2.1 added 20.6.2015 'emptyFolder' : '空のフォルダ', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : '空のフォルダ\\Aアイテムを追加するにはここへドロップ', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : '空のフォルダ\\Aアイテムを追加するにはここをロングタップ', // from v2.1.6 added 30.12.2015 'quality' : '品質', // from v2.1.6 added 5.1.2016 'autoSync' : '自動更新', // from v2.1.6 added 10.1.2016 'moveUp' : '上へ移動', // from v2.1.6 added 18.1.2016 'getLink' : 'リンクURLを取得', // from v2.1.7 added 9.2.2016 'selectedItems' : '選択アイテム ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'フォルダID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'オフライン アクセスを可能にする', // from v2.1.10 added 3.25.2016 'reAuth' : '再認証する', // from v2.1.10 added 3.25.2016 'nowLoading' : '読み込んでいます...', // from v2.1.12 added 4.26.2016 'openMulti' : '複数ファイルオープン', // from v2.1.12 added 5.14.2016 'openMultiConfirm': '$1 個のファイルを開こうとしています。このままブラウザで開きますか?', // from v2.1.12 added 5.14.2016 'emptySearch' : '検索対象に該当するアイテムはありません。', // from v2.1.12 added 5.16.2016 'editingFile' : 'ファイルを編集中です。', // from v2.1.13 added 6.3.2016 'hasSelected' : '$1 個のアイテムを選択中です。', // from v2.1.13 added 6.3.2016 'hasClipboard' : '$1 個のアイテムがクリップボードに入っています。', // from v2.1.13 added 6.3.2016 'incSearchOnly' : '逐次検索対象は現在のビューのみです。', // from v2.1.13 added 6.30.2016 'reinstate' : '元に戻す', // from v2.1.15 added 3.8.2016 'complete' : '$1 完了', // from v2.1.15 added 21.8.2016 'contextmenu' : 'コンテキストメニュー', // from v2.1.15 added 9.9.2016 'pageTurning' : 'ページめくり', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'ボリュームルート', // from v2.1.16 added 16.9.2016 'reset' : 'リセット', // from v2.1.16 added 1.10.2016 'bgcolor' : '背景色', // from v2.1.16 added 1.10.2016 'colorPicker' : 'カラーピッカー', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8pxグリッド', // from v2.1.16 added 4.10.2016 'enabled' : '有効', // from v2.1.16 added 4.10.2016 'disabled' : '無効', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : '現在のビュー内に該当するアイテムはありません。\\A[Enter]キーで検索対象を拡げます。', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : '現在のビュー内に指定された文字で始まるアイテムはありません。', // from v2.1.23 added 24.3.2017 'textLabel' : 'テキストラベル', // from v2.1.17 added 13.10.2016 'minsLeft' : '残り$1分', // from v2.1.17 added 13.11.2016 'openAsEncoding' : '選択したエンコーディングで開き直す', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : '選択したエンコーディングで保存', // from v2.1.19 added 2.12.2016 'selectFolder' : 'フォルダを選択', // from v2.1.20 added 13.12.2016 'firstLetterSearch': '一文字目で検索', // from v2.1.23 added 24.3.2017 'presets' : 'プリセット', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'アイテム数が多すぎるのでごみ箱に入れられません。', // from v2.1.25 added 9.6.2017 'TextArea' : 'テキストエリア', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'フォルダ"$1"を空にします。', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'フォルダ"$1"にアイテムはありません。', // from v2.1.25 added 22.6.2017 'preference' : '個人設定', // from v2.1.26 added 28.6.2017 'language' : '言語', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'ブラウザに保存された設定を初期化する', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'ツールバー設定', // from v2.1.27 added 2.8.2017 'charsLeft' : '... 残り $1 文字', // from v2.1.29 added 30.8.2017 'linesLeft' : '... 残り $1 行', // from v2.1.52 added 16.1.2020 'sum' : '合計', // from v2.1.29 added 28.9.2017 'roughFileSize' : '大まかなファイルサイズ', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'マウスオーバーでダイアログの要素にフォーカスする', // from v2.1.30 added 2.11.2017 'select' : '選択', // from v2.1.30 added 23.11.2017 'selectAction' : 'ファイル選択時の動作', // from v2.1.30 added 23.11.2017 'useStoredEditor' : '前回使用したエディターで開く', // from v2.1.30 added 23.11.2017 'selectinvert' : '選択アイテムを反転', // from v2.1.30 added 25.11.2017 'renameMultiple' : '選択した $1 個のアイテムを $2 のようにリネームしますか?
                      この操作は取り消しできません!', // from v2.1.31 added 4.12.2017 'batchRename' : '一括リネーム', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ 連番', // from v2.1.31 added 8.12.2017 'asPrefix' : '先頭に追加', // from v2.1.31 added 8.12.2017 'asSuffix' : '末尾に追加', // from v2.1.31 added 8.12.2017 'changeExtention' : '拡張子変更', // from v2.1.31 added 8.12.2017 'columnPref' : '列項目設定(リストビュー)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : '全ての変更は、直ちにアーカイブに反映されます。', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'このボリュームをアンマウントするまで、変更は反映されません。', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'このボリュームにマウントされている以下のボリュームもアンマウントされます。アンマウントしますか?', // from v2.1.33 added 5.3.2018 'selectionInfo' : '選択情報', // from v2.1.33 added 7.3.2018 'hashChecker' : 'ファイルハッシュを表示するアルゴリズム', // from v2.1.33 added 10.3.2018 'infoItems' : '情報項目 (選択情報パネル)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'もう一度押すと終了します。', // from v2.1.38 added 1.4.2018 'toolbar' : 'ツールバー', // from v2.1.38 added 4.4.2018 'workspace' : 'ワークスペース', // from v2.1.38 added 4.4.2018 'dialog' : 'ダイアログ', // from v2.1.38 added 4.4.2018 'all' : 'すべて', // from v2.1.38 added 4.4.2018 'iconSize' : 'アイコンサイズ (アイコンビュー)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'エディターウィンドウを最大化して開く', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : '現在 API による変換は利用できないので、Web サイトで変換を行ってください。', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : '変換後に変換されたファイルを保存するには、アイテムの URL またはダウンロードしたファイルをアップロードする必要があります。', //from v2.1.40 added 8.7.2018 'convertOn' : '$1 のサイト上で変換する', // from v2.1.40 added 10.7.2018 'integrations' : '統合', // from v2.1.40 added 11.7.2018 'integrationWith' : 'この elFinder は次の外部サービスが統合されています。それらの利用規約、プライバシーポリシーなどをご確認の上、ご利用ください。', // from v2.1.40 added 11.7.2018 'showHidden' : '非表示アイテムを表示', // from v2.1.41 added 24.7.2018 'hideHidden' : '非表示アイテムを隠す', // from v2.1.41 added 24.7.2018 'toggleHidden' : '非表示アイテムの表示/非表示', // from v2.1.41 added 24.7.2018 'makefileTypes' : '「新しいファイル」で有効にするファイルタイプ', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'テキストファイルのタイプ', // from v2.1.41 added 7.8.2018 'add' : '追加', // from v2.1.41 added 7.8.2018 'theme' : 'テーマ', // from v2.1.43 added 19.10.2018 'default' : 'デフォルト', // from v2.1.43 added 19.10.2018 'description' : '説明', // from v2.1.43 added 19.10.2018 'website' : 'ウェブサイト', // from v2.1.43 added 19.10.2018 'author' : '作者', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'ライセンス', // from v2.1.43 added 19.10.2018 'exportToSave' : 'このアイテムは保存できません。 編集内容を失わないようにするには、PCにエクスポートする必要があります。', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'ファイルをダブルクリックして選択します。', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'フルスクリーンモードの利用', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : '不明', 'kindRoot' : 'ボリュームルート', // from v2.1.16 added 16.10.2016 'kindFolder' : 'フォルダ', 'kindSelects' : '複数選択', // from v2.1.29 added 29.8.2017 'kindAlias' : '別名', 'kindAliasBroken' : '宛先不明の別名', // applications 'kindApp' : 'アプリケーション', 'kindPostscript' : 'Postscript ドキュメント', 'kindMsOffice' : 'Microsoft Office ドキュメント', 'kindMsWord' : 'Microsoft Word ドキュメント', 'kindMsExcel' : 'Microsoft Excel ドキュメント', 'kindMsPP' : 'Microsoft Powerpoint プレゼンテーション', 'kindOO' : 'Open Office ドキュメント', 'kindAppFlash' : 'Flash アプリケーション', 'kindPDF' : 'PDF', 'kindTorrent' : 'Bittorrent ファイル', 'kind7z' : '7z アーカイブ', 'kindTAR' : 'TAR アーカイブ', 'kindGZIP' : 'GZIP アーカイブ', 'kindBZIP' : 'BZIP アーカイブ', 'kindXZ' : 'XZ アーカイブ', 'kindZIP' : 'ZIP アーカイブ', 'kindRAR' : 'RAR アーカイブ', 'kindJAR' : 'Java JAR ファイル', 'kindTTF' : 'True Type フォント', 'kindOTF' : 'Open Type フォント', 'kindRPM' : 'RPM パッケージ', // texts 'kindText' : 'Text ドキュメント', 'kindTextPlain' : 'プレインテキスト', 'kindPHP' : 'PHP ソース', 'kindCSS' : 'スタイルシート', 'kindHTML' : 'HTML ドキュメント', 'kindJS' : 'Javascript ソース', 'kindRTF' : 'Rich Text フォーマット', 'kindC' : 'C ソース', 'kindCHeader' : 'C ヘッダーソース', 'kindCPP' : 'C++ ソース', 'kindCPPHeader' : 'C++ ヘッダーソース', 'kindShell' : 'Unix shell スクリプト', 'kindPython' : 'Python ソース', 'kindJava' : 'Java ソース', 'kindRuby' : 'Ruby ソース', 'kindPerl' : 'Perl スクリプト', 'kindSQL' : 'SQL ソース', 'kindXML' : 'XML ドキュメント', 'kindAWK' : 'AWK ソース', 'kindCSV' : 'CSV', 'kindDOCBOOK' : 'Docbook XML ドキュメント', 'kindMarkdown' : 'Markdown テキスト', // added 20.7.2015 // images 'kindImage' : 'イメージ', 'kindBMP' : 'BMP イメージ', 'kindJPEG' : 'JPEG イメージ', 'kindGIF' : 'GIF イメージ', 'kindPNG' : 'PNG イメージ', 'kindTIFF' : 'TIFF イメージ', 'kindTGA' : 'TGA イメージ', 'kindPSD' : 'Adobe Photoshop イメージ', 'kindXBITMAP' : 'X bitmap イメージ', 'kindPXM' : 'Pixelmator イメージ', // media 'kindAudio' : 'オーディオメディア', 'kindAudioMPEG' : 'MPEG オーディオ', 'kindAudioMPEG4' : 'MPEG-4 オーディオ', 'kindAudioMIDI' : 'MIDI オーディオ', 'kindAudioOGG' : 'Ogg Vorbis オーディオ', 'kindAudioWAV' : 'WAV オーディオ', 'AudioPlaylist' : 'MP3 プレイリスト', 'kindVideo' : 'ビデオメディア', 'kindVideoDV' : 'DV ムービー', 'kindVideoMPEG' : 'MPEG ムービー', 'kindVideoMPEG4' : 'MPEG-4 ムービー', 'kindVideoAVI' : 'AVI ムービー', 'kindVideoMOV' : 'Quick Time ムービー', 'kindVideoWM' : 'Windows Media ムービー', 'kindVideoFlash' : 'Flash ムービー', 'kindVideoMKV' : 'Matroska ムービー', 'kindVideoOGG' : 'Ogg ムービー' } }; })); wp-file-manager/lib/js/i18n/elfinder.ko.js000064400000106047151202472330014225 0ustar00/** * Korea-한국어 translation * @author Hwang Ahreum; * @author Park Sungyong; * @author Yeonjeong Woo * @author Kwon Hyungjoo * @version 2024-03-19 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.ko = { translator : 'Hwang Ahreum; <luckmagic@naver.com>, Park Sungyong; <sungyong@gmail.com>, Yeonjeong Woo <eat_sweetly@naver.com>, Kwon Hyungjoo <hyung778@gmail.com>', language : 'Korea-한국어', direction : 'ltr', dateFormat : 'Y-m-d H:i', // will show like: 2024-03-19 16:27 fancyDateFormat : '$1 H:i', // will show like: 오늘 16:27 nonameDateFormat : 'ymd-His', // noname upload will show like: 240319-162748 messages : { /********************************** errors **********************************/ 'error' : '오류', 'errUnknown' : '알 수 없는 오류.', 'errUnknownCmd' : '알 수 없는 명령어.', 'errJqui' : 'jQuery UI 설정이 올바르지 않습니다. Selectable, draggable 및 droppable 구성 요소가 포함되어 있어야 합니다.', 'errNode' : 'elFinder를 생성하기 위해서는 DOM Element를 요구합니다.', 'errURL' : 'elFinder 환경설정이 올바르지 않습니다! URL 옵션이 설정되지 않았습니다.', 'errAccess' : '접근 제한.', 'errConnect' : 'Backend에 연결할 수 없습니다.', 'errAbort' : '연결 실패.', 'errTimeout' : '연결시간 초과.', 'errNotFound' : 'Backend를 찾을 수 없습니다.', 'errResponse' : 'Backend가 응답하지 않습니다.', 'errConf' : 'Backend 환경설정이 올바르지 않습니다.', 'errJSON' : 'PHP JSON 모듈이 설치되지 않았습니다.', 'errNoVolumes' : '읽을 수 있는 볼륨이 없습니다.', 'errCmdParams' : '"$1" 명령에 잘못된 매개 변수가 있습니다.', 'errDataNotJSON' : '데이터가 JSON이 아닙니다.', 'errDataEmpty' : '데이터가 비어있습니다.', 'errCmdReq' : 'Backend 요청에는 명령어 이름이 필요합니다.', 'errOpen' : '"$1"을(를) 열 수 없습니다.', 'errNotFolder' : '폴더가 아닙니다.', 'errNotFile' : '파일이 아닙니다.', 'errRead' : '"$1"을(를) 읽을 수 없습니다.', 'errWrite' : '"$1"에 쓸 수 없습니다.', 'errPerm' : '권한이 없습니다.', 'errLocked' : '"$1"이(가) 잠겨 있습니다, 이동, 삭제가 불가능합니다', 'errExists' : '이미 "$1"파일이 존재합니다.', 'errInvName' : '파일명에 올바르지 않은 문자가 포함되었습니다.', 'errInvDirname' : '폴더명에 올바르지 않은 문자가 포함되었습니다.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : '폴더를 찾을 수 없습니다.', 'errFileNotFound' : '파일을 찾을 수 없습니다.', 'errTrgFolderNotFound' : '"$1" 폴더를 찾을 수 없습니다.', 'errPopup' : '브라우저에서 팝업을 차단하였습니다. 팝업을 허용하려면 브라우저 옵션을 변경하세요.', 'errMkdir' : '"$1" 폴더를 생성할 수 없습니다.', 'errMkfile' : '"$1" 파일을 생성할 수 없습니다.', 'errRename' : '"$1"의 이름을 변경할 수 없습니다.', 'errCopyFrom' : '볼률 "$1"으(로)부터 파일을 복사할 수 없습니다.', 'errCopyTo' : '볼률 "$1"에 파일을 복사할 수 없습니다.', 'errMkOutLink' : 'root 볼륨 외부에 링크를 만들 수 없습니다.', // from v2.1 added 03.10.2015 'errUpload' : '업로드 오류.', // old name - errUploadCommon 'errUploadFile' : '"$1"을(를) 업로드할 수 없습니다.', // old name - errUpload 'errUploadNoFiles' : '업로드할 파일이 없습니다.', 'errUploadTotalSize' : '데이터가 허용된 최대크기를 초과하였습니다.', // old name - errMaxSize 'errUploadFileSize' : '파일이 허용된 최대크기를 초과하였습니다.', // old name - errFileMaxSize 'errUploadMime' : '잘못된 파일형식입니다.', 'errUploadTransfer' : '"$1" 전송 오류.', 'errUploadTemp' : '업로드에 필요한 임시파일 생성을 할 수 없습니다.', // from v2.1 added 26.09.2015 'errNotReplace' : '"$1"개체가 현재 위치에 이미 존재하며 다른 유형의 개체로 대체 할 수 없습니다.', // new 'errReplace' : '"$1"을(를) 변경할 수 없습니다.', 'errSave' : '"$1"을(를) 저장할 수 없습니다.', 'errCopy' : '"$1"을(를) 복사할 수 없습니다.', 'errMove' : '"$1"을(를) 이동할 수 없습니다.', 'errCopyInItself' : '"$1"을(를) 자기 자신에게 복사할 수 없습니다.', 'errRm' : '"$1"의 이름을 변경할 수 없습니다.', 'errTrash' : '휴지통으로 보낼 수 없습니다.', // from v2.1.24 added 30.4.2017 'errRmSrc' : '원본 파일을 제거할 수 없습니다.', 'errExtract' : '"$1"에 압축을 풀 수 없습니다.', 'errArchive' : '압축파일을 생성할 수 없습니다.', 'errArcType' : '지원하지 않는 압축파일 형식입니다.', 'errNoArchive' : '압축파일이 아니거나 지원하지 않는 압축파일 형식입니다.', 'errCmdNoSupport' : 'Backend에서 이 명령을 지원하지 않습니다.', 'errReplByChild' : '"$1" 폴더에 덮어쓸수 없습니다.', 'errArcSymlinks' : '보안상의 이유로 압축파일이 심볼릭 링크를 포함하거나 허용되지 않는 이름이 있을 경우 압축 해제가 불가능합니다.', // edited 24.06.2012 'errArcMaxSize' : '압축파일이 허용된 최대크기를 초과하였습니다.', 'errResize' : '"$1"의 크기 변경을 할 수 없습니다.', 'errResizeDegree' : '회전가능한 각도가 아닙니다.', // added 7.3.2013 'errResizeRotate' : '이미지를 회전할 수 없습니다.', // added 7.3.2013 'errResizeSize' : '올바르지 않은 크기의 이미지입니다.', // added 7.3.2013 'errResizeNoChange' : '이미지 크기가 변경되지 않았습니다.', // added 7.3.2013 'errUsupportType' : '지원하지 않는 파일 형식.', 'errNotUTF8Content' : '파일 "$1"은 UTF-8 형식이 아니어서 편집할 수 없습니다.', // added 9.11.2011 'errNetMount' : '"$1"을(를) 마운트할 수 없습니다.', // added 17.04.2012 'errNetMountNoDriver' : '지원되지 않는 프로토콜.', // added 17.04.2012 'errNetMountFailed' : '마운드 실패.', // added 17.04.2012 'errNetMountHostReq' : '호스트가 필요합니다.', // added 18.04.2012 'errSessionExpires' : '활동이 없어 세션이 만료되었습니다.', 'errCreatingTempDir' : '임시 폴더 생성에 실패했습니다: "$1"', 'errFtpDownloadFile' : 'FTP를 통한 다운로드에 실패했습니다: "$1"', 'errFtpUploadFile' : 'FTP에 업로드 실패했습니다: "$1"', 'errFtpMkdir' : 'FTP에서 폴더 생성에 실패했습니다: "$1"', 'errArchiveExec' : '압축중 오류가 발생했습니다: "$1"', 'errExtractExec' : '압축해제중 오류가 발생했습니다: "$1"', 'errNetUnMount' : '마운트를 해제할 수 없습니다.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'UTF-8로 변환할 수 없습니다.', // from v2.1 added 08.04.2014 'errFolderUpload' : '폴더를 업로드 하려면 최신 브라우저를 사용하세요.', // from v2.1 added 26.6.2015 'errSearchTimeout' : '"$1" 검색중 시간을 초과하였습니다. 일부 결과만 표시됩니다.', // from v2.1 added 12.1.2016 'errReauthRequire' : '재인증이 필요합니다.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : '선택 가능한 최대 개수는 $1개입니다.', // from v2.1.17 added 17.10.2016 'errRestore' : '휴지통에서 복원할 수 없습니다. 복원할 위치를 확인할 수 없습니다.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : '이 파일 형식을 위한 편집기를 찾지 못했습니다.', // from v2.1.25 added 23.5.2017 'errServerError' : '서버측에서 오류가 발생했습니다.', // from v2.1.25 added 16.6.2017 'errEmpty' : '"$1" 폴더를 비울 수 없습니다.', // from v2.1.25 added 22.6.2017 'moreErrors' : '$1개의 오류가 더 발생했습니다.', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'You can create up to $1 folders at one time.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : '압축파일생성', 'cmdback' : '뒤로', 'cmdcopy' : '복사', 'cmdcut' : '자르기', 'cmddownload' : '다운로드', 'cmdduplicate' : '사본', 'cmdedit' : '편집', 'cmdextract' : '압축풀기', 'cmdforward' : '앞으로', 'cmdgetfile' : '선택', 'cmdhelp' : '이 소프트웨어는', 'cmdhome' : '홈', 'cmdinfo' : '파일정보', 'cmdmkdir' : '새 폴더', 'cmdmkdirin' : '새 폴더로', // from v2.1.7 added 19.2.2016 'cmdmkfile' : '새 파일', 'cmdopen' : '열기', 'cmdpaste' : '붙여넣기', 'cmdquicklook' : '미리보기', 'cmdreload' : '새로고침', 'cmdrename' : '이름바꾸기', 'cmdrm' : '삭제', 'cmdtrash' : '휴지통으로', //from v2.1.24 added 29.4.2017 'cmdrestore' : '복원', //from v2.1.24 added 3.5.2017 'cmdsearch' : '파일찾기', 'cmdup' : '상위폴더', 'cmdupload' : '업로드', 'cmdview' : '보기', 'cmdresize' : '이미지 크기 변경 & 회전', 'cmdsort' : '정렬', 'cmdnetmount' : '네트워크 볼륨 마운트', // added 18.04.2012 'cmdnetunmount': '마운트 해제', // from v2.1 added 30.04.2012 'cmdplaces' : '즐겨찾기로', // added 28.12.2014 'cmdchmod' : '모드 변경', // from v2.1 added 20.6.2015 'cmdopendir' : '폴더 열기', // from v2.1 added 13.1.2016 'cmdcolwidth' : '컬럼 넓이 초기화', // from v2.1.13 added 12.06.2016 'cmdfullscreen': '전체 화면', // from v2.1.15 added 03.08.2016 'cmdmove' : '이동', // from v2.1.15 added 21.08.2016 'cmdempty' : '폴더 비우기', // from v2.1.25 added 22.06.2017 'cmdundo' : '실행 취소', // from v2.1.27 added 31.07.2017 'cmdredo' : '다시 실행', // from v2.1.27 added 31.07.2017 'cmdpreference': '환경설정', // from v2.1.27 added 03.08.2017 'cmdselectall' : '전체 선택', // from v2.1.28 added 15.08.2017 'cmdselectnone': '선택 취소', // from v2.1.28 added 15.08.2017 'cmdselectinvert': '선택 반전', // from v2.1.28 added 15.08.2017 'cmdopennew' : '새 창으로 열기', // from v2.1.38 added 3.4.2018 'cmdhide' : '숨기기 (환경설정)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : '닫기', 'btnSave' : '저장', 'btnRm' : '삭제', 'btnApply' : '적용', 'btnCancel' : '취소', 'btnNo' : '아니오', 'btnYes' : '예', 'btnMount' : '마운트', // added 18.04.2012 'btnApprove': '$1로 이동 및 승인', // from v2.1 added 26.04.2012 'btnUnmount': '마운트 해제', // from v2.1 added 30.04.2012 'btnConv' : '변환', // from v2.1 added 08.04.2014 'btnCwd' : '여기', // from v2.1 added 22.5.2015 'btnVolume' : '볼륨', // from v2.1 added 22.5.2015 'btnAll' : '전체', // from v2.1 added 22.5.2015 'btnMime' : 'MIME 타입', // from v2.1 added 22.5.2015 'btnFileName':'파일 이름', // from v2.1 added 22.5.2015 'btnSaveClose': '저장후 닫기', // from v2.1 added 12.6.2015 'btnBackup' : '백업', // fromv2.1 added 28.11.2015 'btnRename' : '이름변경', // from v2.1.24 added 6.4.2017 'btnRenameAll' : '전체이름 변경', // from v2.1.24 added 6.4.2017 'btnPrevious' : '이전 ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : '다음 ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : '다른 이름으로 저장하기', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : '폴더 열기', 'ntffile' : '파일 열기', 'ntfreload' : '새로고침', 'ntfmkdir' : '폴더 생성', 'ntfmkfile' : '파일 생성', 'ntfrm' : '삭제', 'ntfcopy' : '복사', 'ntfmove' : '이동', 'ntfprepare' : '복사 준비', 'ntfrename' : '이름바꾸기', 'ntfupload' : '업로드', 'ntfdownload' : '다운로드', 'ntfsave' : '저장하기', 'ntfarchive' : '압축파일만들기', 'ntfextract' : '압축풀기', 'ntfsearch' : '검색', 'ntfresize' : '이미지 크기 변경', 'ntfsmth' : '작업중 >_<', 'ntfloadimg' : '이미지 불러오는 중', 'ntfnetmount' : '네트워크 볼륨 마운트 중', // added 18.04.2012 'ntfnetunmount': '네트워크 볼륨 마운트 해제 중', // from v2.1 added 30.04.2012 'ntfdim' : '이미지 해상도 가져오는 중', // added 20.05.2013 'ntfreaddir' : '폴더 정보 읽는 중', // from v2.1 added 01.07.2013 'ntfurl' : '링크 URL 가져오는 중', // from v2.1 added 11.03.2014 'ntfchmod' : '파일 모드 변경하는 중', // from v2.1 added 20.6.2015 'ntfpreupload': '업로드된 파일명 검증 중', // from v2.1 added 31.11.2015 'ntfzipdl' : '다운로드할 파일 생성 중', // from v2.1.7 added 23.1.2016 'ntfparents' : '경로 정보 가져오는 중', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': '업로드된 파일 처리 중', // from v2.1.17 added 2.11.2016 'ntftrash' : '휴지통으로 이동 중', // from v2.1.24 added 2.5.2017 'ntfrestore' : '휴지통에서 복원 중', // from v2.1.24 added 3.5.2017 'ntfchkdir' : '대상 폴더 점검 중', // from v2.1.24 added 3.5.2017 'ntfundo' : '이전 작업 취소 중', // from v2.1.27 added 31.07.2017 'ntfredo' : '취소된 작업 다시 하는 중', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : '내용 확인 중', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : '휴지통', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : '알 수 없음', 'Today' : '오늘', 'Yesterday' : '어제', 'msJan' : '1월', 'msFeb' : '2월', 'msMar' : '3월', 'msApr' : '4월', 'msMay' : '5월', 'msJun' : '6월', 'msJul' : '7월', 'msAug' : '8월', 'msSep' : '9월', 'msOct' : '10월', 'msNov' : '11월', 'msDec' : '12월', 'January' : '1월', 'February' : '2월', 'March' : '3월', 'April' : '4월', 'May' : '5월', 'June' : '6월', 'July' : '7월', 'August' : '8월', 'September' : '9월', 'October' : '10월', 'November' : '11월', 'December' : '12월', 'Sunday' : '일요일', 'Monday' : '월요일', 'Tuesday' : '화요일', 'Wednesday' : '수요일', 'Thursday' : '목요일', 'Friday' : '금요일', 'Saturday' : '토요일', 'Sun' : '일', 'Mon' : '월', 'Tue' : '화', 'Wed' : '수', 'Thu' : '목', 'Fri' : '금', 'Sat' : '토', /******************************** sort variants ********************************/ 'sortname' : '이름', 'sortkind' : '종류', 'sortsize' : '크기', 'sortdate' : '날짜', 'sortFoldersFirst' : '폴더 먼저', 'sortperm' : '퍼미션별', // from v2.1.13 added 13.06.2016 'sortmode' : '모드별', // from v2.1.13 added 13.06.2016 'sortowner' : '소유자별', // from v2.1.13 added 13.06.2016 'sortgroup' : '그룹별', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : '트리뷰도 같이', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : '새파일.txt', // added 10.11.2015 'untitled folder' : '새폴더', // added 10.11.2015 'Archive' : '새아카이브', // from v2.1 added 10.11.2015 'untitled file' : '새파일.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: 파일', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : '확인', 'confirmRm' : '이 파일을 정말로 삭제 하겠습니까?
                      실행 후 되돌릴 수 없습니다!', 'confirmRepl' : '오래된 파일을 새 파일로 바꾸시겠습니까? (폴더가 포함되어 있으면 병합됩니다. 백업 및 교체하려면 백업을 선택하세요.)', 'confirmRest' : '이미 있는 파일을 휴지통에 있는 파일로 교체하시겠습니까?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'UTF-8이 아닙니다
                      UTF-8로 변환할까요?
                      변환후 저장하면 UTF-8로 바뀝니다.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : '이 파일의 인코딩 타입을 알아내지 못했습니다. 편집하려면 임시로 UTF-8로 변환해야 합니다.
                      이 파일의 인코딩을 선택해주세요.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : '변경된 부분이 있습니다.
                      저장하지 않는다면 현재 작업중인 내용을 잃을 수 있습니다.', // from v2.1 added 15.7.2015 'confirmTrash' : '휴지통으로 이동하시겠습니까?', //from v2.1.24 added 29.4.2017 'confirmMove' : '이 파일을 정말 "$1"(으)로 이동하시겠습니까?', //from v2.1.50 added 27.7.2019 'apllyAll' : '모두 적용', 'name' : '이름', 'size' : '크기', 'perms' : '권한', 'modify' : '수정된 시간', 'kind' : '종류', 'read' : '읽기', 'write' : '쓰기', 'noaccess' : '액세스 불가', 'and' : '와', 'unknown' : '알 수 없음', 'selectall' : '모든 파일 선택', 'selectfiles' : '파일 선택', 'selectffile' : '첫번째 파일 선택', 'selectlfile' : '마지막 파일 선택', 'viewlist' : '리스트 보기', 'viewicons' : '아이콘 보기', 'viewSmall' : '작은 아이콘', // from v2.1.39 added 22.5.2018 'viewMedium' : '중간 아이콘', // from v2.1.39 added 22.5.2018 'viewLarge' : '큰 아이콘', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : '아주 큰 아이콘', // from v2.1.39 added 22.5.2018 'places' : '즐겨찾기', 'calc' : '계산', 'path' : '경로', 'aliasfor' : '별명', 'locked' : '잠금', 'dim' : '크기', 'files' : '파일', 'folders' : '폴더', 'items' : '아이템', 'yes' : '예', 'no' : '아니오', 'link' : '링크', 'searcresult' : '검색 결과', 'selected' : '아이템 선택', 'about' : '이 프로그램은..', 'shortcuts' : '단축아이콘', 'help' : '도움말', 'webfm' : '웹 파일매니저', 'ver' : '버전', 'protocolver' : '프로토콜 버전', 'homepage' : '홈페이지', 'docs' : '문서', 'github' : 'Github에서 포크하기', 'twitter' : '트위터에서 팔로우하기', 'facebook' : '페이스북에서 가입하기', 'team' : '팀', 'chiefdev' : '개발팀장', 'developer' : '개발자', 'contributor' : '공헌자', 'maintainer' : '관리자', 'translator' : '번역', 'icons' : '아이콘', 'dontforget' : '그리고 수건 가져가는 것을 잊지 마세요', 'shortcutsof' : '단축아이콘 사용불가', 'dropFiles' : '여기로 이동하기', 'or' : '또는', 'selectForUpload' : '업로드 파일 선택', 'moveFiles' : '파일 이동', 'copyFiles' : '파일 복사', 'restoreFiles' : '복원하기', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : '현재 폴더에서 삭제하기', 'aspectRatio' : '화면비율', 'scale' : '크기', 'width' : '가로', 'height' : '세로', 'resize' : '사이즈 변경', 'crop' : '자르기', 'rotate' : '회전', 'rotate-cw' : '반시계방향 90도 회전', 'rotate-ccw' : '시계방향 90도 회전', 'degree' : '도', 'netMountDialogTitle' : '네트워크 볼륨 마운트', // added 18.04.2012 'protocol' : '프로토콜', // added 18.04.2012 'host' : '호스트', // added 18.04.2012 'port' : '포트', // added 18.04.2012 'user' : '사용자', // added 18.04.2012 'pass' : '비밀번호', // added 18.04.2012 'confirmUnmount' : '$1을(를) 마운트 해제하시겠습니까?', // from v2.1 added 30.04.2012 'dropFilesBrowser': '브라우저에서 파일을 끌어오거나 붙여넣으세요', // from v2.1 added 30.05.2012 'dropPasteFiles' : '파일을 끌어오거나, 클립보드의 URL이나 이미지들을 붙여넣으세요', // from v2.1 added 07.04.2014 'encoding' : '인코딩', // from v2.1 added 19.12.2014 'locale' : '로케일', // from v2.1 added 19.12.2014 'searchTarget' : '대상: $1', // from v2.1 added 22.5.2015 'searchMime' : '입력한 MIME 타입으로 검색하기', // from v2.1 added 22.5.2015 'owner' : '소유자', // from v2.1 added 20.6.2015 'group' : '그룹', // from v2.1 added 20.6.2015 'other' : '그외', // from v2.1 added 20.6.2015 'execute' : '실행', // from v2.1 added 20.6.2015 'perm' : '권한', // from v2.1 added 20.6.2015 'mode' : '모드', // from v2.1 added 20.6.2015 'emptyFolder' : '빈 폴더입니다', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : '빈 폴더입니다\\A 드래드 앤 드롭으로 파일을 추가하세요', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : '빈 폴더입니다\\A 길게 눌러 파일을 추가하세요', // from v2.1.6 added 30.12.2015 'quality' : '품질', // from v2.1.6 added 5.1.2016 'autoSync' : '자동 동기', // from v2.1.6 added 10.1.2016 'moveUp' : '위로 이동', // from v2.1.6 added 18.1.2016 'getLink' : 'URL 링크 가져오기', // from v2.1.7 added 9.2.2016 'selectedItems' : '선택된 항목 ($1)', // from v2.1.7 added 2.19.2016 'folderId' : '폴더 ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : '오프라인 접근 허용', // from v2.1.10 added 3.25.2016 'reAuth' : '재인증하기', // from v2.1.10 added 3.25.2016 'nowLoading' : '로딩중...', // from v2.1.12 added 4.26.2016 'openMulti' : '여러 파일 열기', // from v2.1.12 added 5.14.2016 'openMultiConfirm': '$1 파일을 열려고 합니다. 브라우저에서 열겠습니까?', // from v2.1.12 added 5.14.2016 'emptySearch' : '검색결과가 없습니다.', // from v2.1.12 added 5.16.2016 'editingFile' : '편집중인 파일입니다.', // from v2.1.13 added 6.3.2016 'hasSelected' : '$1개를 선택했습니다.', // from v2.1.13 added 6.3.2016 'hasClipboard' : '클립보드에 $1개가 있습니다.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : '증분 검색은 현재 보기에서만 가능합니다.', // from v2.1.13 added 6.30.2016 'reinstate' : '복원', // from v2.1.15 added 3.8.2016 'complete' : '$1 완료', // from v2.1.15 added 21.8.2016 'contextmenu' : '컨텍스트 메뉴', // from v2.1.15 added 9.9.2016 'pageTurning' : '페이지 전환', // from v2.1.15 added 10.9.2016 'volumeRoots' : '볼륨 루트', // from v2.1.16 added 16.9.2016 'reset' : '초기화', // from v2.1.16 added 1.10.2016 'bgcolor' : '배경색', // from v2.1.16 added 1.10.2016 'colorPicker' : '색 선택기', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px 그리드', // from v2.1.16 added 4.10.2016 'enabled' : '활성', // from v2.1.16 added 4.10.2016 'disabled' : '비활성', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : '현재 보기에는 검색결과가 없습니다.\\A[Enter]를 눌러 검색 대상을 확장하세요.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : '현재 보기에는 첫 글자 검색 결과가 없습니다.', // from v2.1.23 added 24.3.2017 'textLabel' : '텍스트 라벨', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 분 남았습니다', // from v2.1.17 added 13.11.2016 'openAsEncoding' : '선택한 인코딩으로 다시 열기', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : '선택한 인코딩으로 저장하기', // from v2.1.19 added 2.12.2016 'selectFolder' : '폴더 선택', // from v2.1.20 added 13.12.2016 'firstLetterSearch': '첫 글자 검색', // from v2.1.23 added 24.3.2017 'presets' : '프리셋', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : '휴지통으로 옮기기엔 항목이 너무 많습니다.', // from v2.1.25 added 9.6.2017 'TextArea' : '글자영역', // from v2.1.25 added 14.6.2017 'folderToEmpty' : '"$1" 폴더를 비우세요.', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : '"$1" 폴더에 아무것도 없습니다.', // from v2.1.25 added 22.6.2017 'preference' : '환경설정', // from v2.1.26 added 28.6.2017 'language' : '언어 설정', // from v2.1.26 added 28.6.2017 'clearBrowserData': '이 브라우저에 저장된 설정값 초기화하기', // from v2.1.26 added 28.6.2017 'toolbarPref' : '툴바 설정', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 글자 남았습니다.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 줄 남았습니다.', // from v2.1.52 added 16.1.2020 'sum' : '합계', // from v2.1.29 added 28.9.2017 'roughFileSize' : '대략적인 파일 크기', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : '마우스를 가져갈 때 대화창 요소에 초점 맞추기', // from v2.1.30 added 2.11.2017 'select' : '선택', // from v2.1.30 added 23.11.2017 'selectAction' : '파일 선택시 동작', // from v2.1.30 added 23.11.2017 'useStoredEditor' : '마지막 사용한 편집기로 열기', // from v2.1.30 added 23.11.2017 'selectinvert' : '선택 반전', // from v2.1.30 added 25.11.2017 'renameMultiple' : '선택한 $1을(를) $2와 같이 바꾸겠습니까?
                      이 작업은 되돌릴 수 없습니다!', // from v2.1.31 added 4.12.2017 'batchRename' : '일괄 이름 바꾸기', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ 숫자', // from v2.1.31 added 8.12.2017 'asPrefix' : '접두사 추가', // from v2.1.31 added 8.12.2017 'asSuffix' : '접미사 추가', // from v2.1.31 added 8.12.2017 'changeExtention' : '확장자 변경', // from v2.1.31 added 8.12.2017 'columnPref' : '사이드바 설정 (리스트 보기)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : '모든 변경은 아카이브에 즉시 반영됩니다.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : '이 볼륨의 마운트를 해제할 때까지는 어떠한 변경사항도 반영되지 않습니다.', // from v2.1.33 added 2.3.2018 'unmountChildren' : '아래의 볼륨들도 이 볼륨과 함께 마운트가 해제됩니다. 계속하시겠습니까?', // from v2.1.33 added 5.3.2018 'selectionInfo' : '선택 정보', // from v2.1.33 added 7.3.2018 'hashChecker' : '파일 해쉬 알고리즘', // from v2.1.33 added 10.3.2018 'infoItems' : '정보 (선택 정보 패널)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': '나가기 위해서 한 번 더 누르세요.', // from v2.1.38 added 1.4.2018 'toolbar' : '툴바', // from v2.1.38 added 4.4.2018 'workspace' : '작업공간', // from v2.1.38 added 4.4.2018 'dialog' : '대화상자', // from v2.1.38 added 4.4.2018 'all' : '전체', // from v2.1.38 added 4.4.2018 'iconSize' : '아이콘 크기 (아이콘 보기)', // from v2.1.39 added 7.5.2018 'editorMaximized' : '최대화된 편집기 창을 엽니다', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : '현재 API를 통한 변환이 불가능하므로 웹 사이트에서 변환하시기 바랍니다.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : '변환 후 변환된 파일을 저장하기 위해서는 파일 URL이나 다운로드받은 파일을 업로드 해야 합니다.', //from v2.1.40 added 8.7.2018 'convertOn' : '$1 사이트에서 변환하시기 바랍니다.', // from v2.1.40 added 10.7.2018 'integrations' : '통합', // from v2.1.40 added 11.7.2018 'integrationWith' : 'elFinder에는 다음과 같은 외부 서비스가 통합되어 있습니다. 이용하기 전에 이용 약관, 개인정보 보호정책 등을 확인하시기 바랍니다.', // from v2.1.40 added 11.7.2018 'showHidden' : '숨겨진 파일 표시', // from v2.1.41 added 24.7.2018 'hideHidden' : '숨겨진 파일 숨기기', // from v2.1.41 added 24.7.2018 'toggleHidden' : '숨겨진 항목 표시/숨기기', // from v2.1.41 added 24.7.2018 'makefileTypes' : '"새 파일"에서 사용할 파일 형식', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : '텍스트 파일 유형', // from v2.1.41 added 7.8.2018 'add' : '추가', // from v2.1.41 added 7.8.2018 'theme' : '테마', // from v2.1.43 added 19.10.2018 'default' : '기본값', // from v2.1.43 added 19.10.2018 'description' : '설명', // from v2.1.43 added 19.10.2018 'website' : '웹사이트', // from v2.1.43 added 19.10.2018 'author' : '저자', // from v2.1.43 added 19.10.2018 'email' : '이메일', // from v2.1.43 added 19.10.2018 'license' : '라이선스', // from v2.1.43 added 19.10.2018 'exportToSave' : '이 파일은 저장될 수 없습니다. 편집한 내용을 유지하려면 PC로 내보내시기 바랍니다.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': '파일을 두 번 클릭하여 선택하세요.', // from v2.1.47 added 22.1.2019 'useFullscreen' : '전체 화면 모드 사용', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : '알 수 없음', 'kindRoot' : 'Root 볼륨', // from v2.1.16 added 16.10.2016 'kindFolder' : '폴더', 'kindSelects' : '선택', // from v2.1.29 added 29.8.2017 'kindAlias' : '별칭', 'kindAliasBroken' : '손상된 별칭', // applications 'kindApp' : '응용프로그램', 'kindPostscript' : 'Postscript 문서', 'kindMsOffice' : 'Microsoft Office 문서', 'kindMsWord' : 'Microsoft Word 문서', 'kindMsExcel' : 'Microsoft Excel 문서', 'kindMsPP' : 'Microsoft Powerpoint 프레젠테이션', 'kindOO' : 'Open Office 문서', 'kindAppFlash' : '플래쉬 파일', 'kindPDF' : 'PDF 문서', 'kindTorrent' : '비트토렌트 파일', 'kind7z' : '7z 압축파일', 'kindTAR' : 'TAR 압축파일', 'kindGZIP' : 'GZIP 압축파일', 'kindBZIP' : 'BZIP 압축파일', 'kindXZ' : 'XZ 압축파일', 'kindZIP' : 'ZIP 압축파일', 'kindRAR' : 'RAR 압축파일', 'kindJAR' : '자바 JAR 파일', 'kindTTF' : '트루 타입 글꼴', 'kindOTF' : '오픈 타입 글꼴', 'kindRPM' : 'RPM 패키지', // texts 'kindText' : '텍스트 문서', 'kindTextPlain' : '일반 텍스트', 'kindPHP' : 'PHP 소스', 'kindCSS' : 'CSS 문서', 'kindHTML' : 'HTML 문서', 'kindJS' : '자바스크립트 소스', 'kindRTF' : 'RTF 형식', 'kindC' : 'C 소스', 'kindCHeader' : 'C 헤더 소스', 'kindCPP' : 'C++ 소스', 'kindCPPHeader' : 'C++ 헤더 소스', 'kindShell' : '유닉스 쉘 스크립트', 'kindPython' : '파이썬 소스', 'kindJava' : '자바 소스', 'kindRuby' : '루비 소스', 'kindPerl' : '펄 스크립트', 'kindSQL' : 'SQL 소스', 'kindXML' : 'XML 문서', 'kindAWK' : 'AWK 소스', 'kindCSV' : 'CSV 파일', 'kindDOCBOOK' : '닥북 XML 문서', 'kindMarkdown' : '마크다운 문서', // added 20.7.2015 // images 'kindImage' : '이미지', 'kindBMP' : 'BMP 이미지', 'kindJPEG' : 'JPEG 이미지', 'kindGIF' : 'GIF 이미지', 'kindPNG' : 'PNG 이미지', 'kindTIFF' : 'TIFF 이미지', 'kindTGA' : 'TGA 이미지', 'kindPSD' : 'Adobe Photoshop 이미지', 'kindXBITMAP' : 'X 비트맵 이미지', 'kindPXM' : 'Pixelmator 이미지', // media 'kindAudio' : '오디오 미디어', 'kindAudioMPEG' : 'MPEG 오디오', 'kindAudioMPEG4' : 'MPEG-4 오디오', 'kindAudioMIDI' : 'MIDI 오디오', 'kindAudioOGG' : 'Ogg Vorbis 오디오', 'kindAudioWAV' : 'WAV 오디오', 'AudioPlaylist' : 'MP3 플레이 리스트', 'kindVideo' : '동영상 미디어', 'kindVideoDV' : 'DV 동영상', 'kindVideoMPEG' : 'MPEG 동영상', 'kindVideoMPEG4' : 'MPEG-4 동영상', 'kindVideoAVI' : 'AVI 동영상', 'kindVideoMOV' : '퀵 타임 동영상', 'kindVideoWM' : '윈도우 미디어 플레이어 동영상', 'kindVideoFlash' : '플래쉬 동영상', 'kindVideoMKV' : 'Matroska 동영상', 'kindVideoOGG' : 'Ogg 동영상' } }; })); wp-file-manager/lib/js/i18n/elfinder.LANG.js000064400000077754151202472330014351 0ustar00/** * elFinder translation template * use this file to create new translation * submit new translation via https://github.com/Studio-42/elFinder/issues * or make a pull request */ /** * XXXXX translation * @author Translator Name * @version 201x-xx-xx */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.REPLACE_WITH_xx_OR_xx_YY_LANG_CODE = { translator : 'Translator name <translator@email.tld>', language : 'Language of translation in your language', direction : 'ltr', dateFormat : 'M d, Y h:i A', // will show like: Mar 13, 2012 05:27 PM fancyDateFormat : '$1 h:i A', // will show like: Today 12:25 PM nonameDateFormat : 'ymd-His', // noname upload will show like: 120513-172700 messages : { /********************************** errors **********************************/ 'error' : 'Error', 'errUnknown' : 'Unknown error.', 'errUnknownCmd' : 'Unknown command.', 'errJqui' : 'Invalid jQuery UI configuration. Selectable, draggable and droppable components must be included.', 'errNode' : 'elFinder requires DOM Element to be created.', 'errURL' : 'Invalid elFinder configuration! URL option is not set.', 'errAccess' : 'Access denied.', 'errConnect' : 'Unable to connect to backend.', 'errAbort' : 'Connection aborted.', 'errTimeout' : 'Connection timeout.', 'errNotFound' : 'Backend not found.', 'errResponse' : 'Invalid backend response.', 'errConf' : 'Invalid backend configuration.', 'errJSON' : 'PHP JSON module not installed.', 'errNoVolumes' : 'Readable volumes not available.', 'errCmdParams' : 'Invalid parameters for command "$1".', 'errDataNotJSON' : 'Data is not JSON.', 'errDataEmpty' : 'Data is empty.', 'errCmdReq' : 'Backend request requires command name.', 'errOpen' : 'Unable to open "$1".', 'errNotFolder' : 'Object is not a folder.', 'errNotFile' : 'Object is not a file.', 'errRead' : 'Unable to read "$1".', 'errWrite' : 'Unable to write into "$1".', 'errPerm' : 'Permission denied.', 'errLocked' : '"$1" is locked and can not be renamed, moved or removed.', 'errExists' : 'Item named "$1" already exists.', 'errInvName' : 'Invalid file name.', 'errInvDirname' : 'Invalid folder name.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Folder not found.', 'errFileNotFound' : 'File not found.', 'errTrgFolderNotFound' : 'Target folder "$1" not found.', 'errPopup' : 'Browser prevented opening popup window. To open file enable it in browser options.', 'errMkdir' : 'Unable to create folder "$1".', 'errMkfile' : 'Unable to create file "$1".', 'errRename' : 'Unable to rename "$1".', 'errCopyFrom' : 'Copying files from volume "$1" not allowed.', 'errCopyTo' : 'Copying files to volume "$1" not allowed.', 'errMkOutLink' : 'Unable to create a link to outside the volume root.', // from v2.1 added 03.10.2015 'errUpload' : 'Upload error.', // old name - errUploadCommon 'errUploadFile' : 'Unable to upload "$1".', // old name - errUpload 'errUploadNoFiles' : 'No files found for upload.', 'errUploadTotalSize' : 'Data exceeds the maximum allowed size.', // old name - errMaxSize 'errUploadFileSize' : 'File exceeds maximum allowed size.', // old name - errFileMaxSize 'errUploadMime' : 'File type not allowed.', 'errUploadTransfer' : '"$1" transfer error.', 'errUploadTemp' : 'Unable to make temporary file for upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', // new 'errReplace' : 'Unable to replace "$1".', 'errSave' : 'Unable to save "$1".', 'errCopy' : 'Unable to copy "$1".', 'errMove' : 'Unable to move "$1".', 'errCopyInItself' : 'Unable to copy "$1" into itself.', 'errRm' : 'Unable to remove "$1".', 'errTrash' : 'Unable into trash.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'Unable to extract files from "$1".', 'errArchive' : 'Unable to create archive.', 'errArcType' : 'Unsupported archive type.', 'errNoArchive' : 'File is not archive or has unsupported archive type.', 'errCmdNoSupport' : 'Backend does not support this command.', 'errReplByChild' : 'The folder "$1" can\'t be replaced by an item it contains.', 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.', 'errResize' : 'Unable to resize "$1".', 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013 'errResizeSize' : 'Invalid image size.', // added 7.3.2013 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013 'errUsupportType' : 'Unsupported file type.', 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012 'errNetMountHostReq' : 'Host required.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', 'errNetUnMount' : 'Unable to unmount.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Not convertible to UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Try the modern browser, If you\'d like to upload the folder.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Timed out while searching "$1". Search result is partial.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Re-authorization is required.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Max number of selectable items is $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Unable to restore from the trash. Can\'t identify the restore destination.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor not found to this file type.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Error occurred on the server side.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Unable to empty folder "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'There are $1 more errors.', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'You can create up to $1 folders at one time.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Create archive', 'cmdback' : 'Back', 'cmdcopy' : 'Copy', 'cmdcut' : 'Cut', 'cmddownload' : 'Download', 'cmdduplicate' : 'Duplicate', 'cmdedit' : 'Edit file', 'cmdextract' : 'Extract files from archive', 'cmdforward' : 'Forward', 'cmdgetfile' : 'Select files', 'cmdhelp' : 'About this software', 'cmdhome' : 'Root', 'cmdinfo' : 'Get info', 'cmdmkdir' : 'New folder', 'cmdmkdirin' : 'Into New Folder', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'New file', 'cmdopen' : 'Open', 'cmdpaste' : 'Paste', 'cmdquicklook' : 'Preview', 'cmdreload' : 'Reload', 'cmdrename' : 'Rename', 'cmdrm' : 'Delete', 'cmdtrash' : 'Into trash', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restore', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Find files', 'cmdup' : 'Go to parent folder', 'cmdupload' : 'Upload files', 'cmdview' : 'View', 'cmdresize' : 'Resize & Rotate', 'cmdsort' : 'Sort', 'cmdnetmount' : 'Mount network volume', // added 18.04.2012 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012 'cmdplaces' : 'To Places', // added 28.12.2014 'cmdchmod' : 'Change mode', // from v2.1 added 20.6.2015 'cmdopendir' : 'Open a folder', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Reset column width', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Full Screen', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Move', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Empty the folder', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Undo', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Redo', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferences', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Select all', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Select none', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Invert selection', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Open in new window', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Hide (Preference)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Close', 'btnSave' : 'Save', 'btnRm' : 'Remove', 'btnApply' : 'Apply', 'btnCancel' : 'Cancel', 'btnNo' : 'No', 'btnYes' : 'Yes', 'btnMount' : 'Mount', // added 18.04.2012 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Convert', // from v2.1 added 08.04.2014 'btnCwd' : 'Here', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'All', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015 'btnFileName':'Filename', // from v2.1 added 22.5.2015 'btnSaveClose': 'Save & Close', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Rename', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Rename(All)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Prev ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Next ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Save As', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Open folder', 'ntffile' : 'Open file', 'ntfreload' : 'Reload folder content', 'ntfmkdir' : 'Creating folder', 'ntfmkfile' : 'Creating files', 'ntfrm' : 'Delete items', 'ntfcopy' : 'Copy items', 'ntfmove' : 'Move items', 'ntfprepare' : 'Checking existing items', 'ntfrename' : 'Rename files', 'ntfupload' : 'Uploading files', 'ntfdownload' : 'Downloading files', 'ntfsave' : 'Save files', 'ntfarchive' : 'Creating archive', 'ntfextract' : 'Extracting files from archive', 'ntfsearch' : 'Searching files', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Doing something', 'ntfloadimg' : 'Loading image', 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013 'ntfreaddir' : 'Reading folder infomation', // from v2.1 added 01.07.2013 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Changing file mode', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Getting path infomation', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Processing the uploaded file', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Doing throw in the trash', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Doing restore from the trash', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Checking destination folder', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Undoing previous operation', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Redoing previous undone', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Checking contents', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Trash', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'unknown', 'Today' : 'Today', 'Yesterday' : 'Yesterday', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'May', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Oct', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'January', 'February' : 'February', 'March' : 'March', 'April' : 'April', 'May' : 'May', 'June' : 'June', 'July' : 'July', 'August' : 'August', 'September' : 'September', 'October' : 'October', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Sunday', 'Monday' : 'Monday', 'Tuesday' : 'Tuesday', 'Wednesday' : 'Wednesday', 'Thursday' : 'Thursday', 'Friday' : 'Friday', 'Saturday' : 'Saturday', 'Sun' : 'Sun', 'Mon' : 'Mon', 'Tue' : 'Tue', 'Wed' : 'Wed', 'Thu' : 'Thu', 'Fri' : 'Fri', 'Sat' : 'Sat', /******************************** sort variants ********************************/ 'sortname' : 'by name', 'sortkind' : 'by kind', 'sortsize' : 'by size', 'sortdate' : 'by date', 'sortFoldersFirst' : 'Folders first', 'sortperm' : 'by permission', // from v2.1.13 added 13.06.2016 'sortmode' : 'by mode', // from v2.1.13 added 13.06.2016 'sortowner' : 'by owner', // from v2.1.13 added 13.06.2016 'sortgroup' : 'by group', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015 'untitled folder' : 'NewFolder', // added 10.11.2015 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015 'untitled file' : 'NewFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: File', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Confirmation required', 'confirmRm' : 'Are you sure you want to permanently remove items?
                      This cannot be undone!', 'confirmRepl' : 'Replace old file with new one? (If it contains folders, it will be merged. To backup and replace, select Backup.)', 'confirmRest' : 'Replace existing item with the item in trash?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Not in UTF-8
                      Convert to UTF-8?
                      Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Character encoding of this file couldn\'t be detected. It need to temporarily convert to UTF-8 for editting.
                      Please select character encoding of this file.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'It has been modified.
                      Losing work if you do not save changes.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Are you sure you want to move items to trash bin?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Are you sure you want to move items to "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Apply to all', 'name' : 'Name', 'size' : 'Size', 'perms' : 'Permissions', 'modify' : 'Modified', 'kind' : 'Kind', 'read' : 'read', 'write' : 'write', 'noaccess' : 'no access', 'and' : 'and', 'unknown' : 'unknown', 'selectall' : 'Select all items', 'selectfiles' : 'Select item(s)', 'selectffile' : 'Select first item', 'selectlfile' : 'Select last item', 'viewlist' : 'List view', 'viewicons' : 'Icons view', 'viewSmall' : 'Small icons', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Medium icons', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Large icons', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Extra large icons', // from v2.1.39 added 22.5.2018 'places' : 'Places', 'calc' : 'Calculate', 'path' : 'Path', 'aliasfor' : 'Alias for', 'locked' : 'Locked', 'dim' : 'Dimensions', 'files' : 'Files', 'folders' : 'Folders', 'items' : 'Items', 'yes' : 'yes', 'no' : 'no', 'link' : 'Link', 'searcresult' : 'Search results', 'selected' : 'selected items', 'about' : 'About', 'shortcuts' : 'Shortcuts', 'help' : 'Help', 'webfm' : 'Web file manager', 'ver' : 'Version', 'protocolver' : 'protocol version', 'homepage' : 'Project home', 'docs' : 'Documentation', 'github' : 'Fork us on GitHub', 'twitter' : 'Follow us on Twitter', 'facebook' : 'Join us on Facebook', 'team' : 'Team', 'chiefdev' : 'chief developer', 'developer' : 'developer', 'contributor' : 'contributor', 'maintainer' : 'maintainer', 'translator' : 'translator', 'icons' : 'Icons', 'dontforget' : 'and don\'t forget to take your towel', 'shortcutsof' : 'Shortcuts disabled', 'dropFiles' : 'Drop files here', 'or' : 'or', 'selectForUpload' : 'Select files', 'moveFiles' : 'Move items', 'copyFiles' : 'Copy items', 'restoreFiles' : 'Restore items', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Remove from places', 'aspectRatio' : 'Aspect ratio', 'scale' : 'Scale', 'width' : 'Width', 'height' : 'Height', 'resize' : 'Resize', 'crop' : 'Crop', 'rotate' : 'Rotate', 'rotate-cw' : 'Rotate 90 degrees CW', 'rotate-ccw' : 'Rotate 90 degrees CCW', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'User', // added 18.04.2012 'pass' : 'Password', // added 18.04.2012 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Drop files, Paste URLs or images(clipboard) here', // from v2.1 added 07.04.2014 'encoding' : 'Encoding', // from v2.1 added 19.12.2014 'locale' : 'Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Owner', // from v2.1 added 20.6.2015 'group' : 'Group', // from v2.1 added 20.6.2015 'other' : 'Other', // from v2.1 added 20.6.2015 'execute' : 'Execute', // from v2.1 added 20.6.2015 'perm' : 'Permission', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'Folder is empty', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Folder is empty\\A Drop to add items', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Folder is empty\\A Long tap to add items', // from v2.1.6 added 30.12.2015 'quality' : 'Quality', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016 'moveUp' : 'Move up', // from v2.1.6 added 18.1.2016 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Open multiple files', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'You are trying to open the $1 files. Are you sure you want to open in browser?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Search results is empty in search target.', // from v2.1.12 added 5.16.2016 'editingFile' : 'It is editing a file.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'You have selected $1 items.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Incremental search is only from the current view.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Reinstate', // from v2.1.15 added 3.8.2016 'complete' : '$1 complete', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016 'reset' : 'Reset', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Background color', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Color picker', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016 'enabled' : 'Enabled', // from v2.1.16 added 4.10.2016 'disabled' : 'Disabled', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Search results is empty in current view.\\APress [Enter] to expand search target.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'First letter search results is empty in current view.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Text label', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 mins left', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reopen with selected encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Save with the selected encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Select folder', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'First letter search', // from v2.1.23 added 24.3.2017 'presets' : 'Presets', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'It\'s too many items so it can\'t into trash.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Empty the folder "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'There are no items in a folder "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preference', // from v2.1.26 added 28.6.2017 'language' : 'Language', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialize the settings saved in this browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Toolbar settings', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 chars left.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 lines left.', // from v2.1.52 added 16.1.2020 'sum' : 'Sum', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Rough file size', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focus on the element of dialog with mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Select', // from v2.1.30 added 23.11.2017 'selectAction' : 'Action when select file', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Open with the editor used last time', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Invert selection', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Are you sure you want to rename $1 selected items like $2?
                      This cannot be undone!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch rename', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Number', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Add prefix', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Add suffix', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Change extention', // from v2.1.31 added 8.12.2017 'columnPref' : 'Columns settings (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'All changes will reflect immediately to the archive.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Any changes will not reflect until un-mount this volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'The following volume(s) mounted on this volume also unmounted. Are you sure to unmount it?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Selection Info', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorithms to show the file hash', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info Items (Selection Info Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Press again to exit.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Toolbar', // from v2.1.38 added 4.4.2018 'workspace' : 'Work Space', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'All', // from v2.1.38 added 4.4.2018 'iconSize' : 'Icon Size (Icons view)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Open the maximized editor window', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Because conversion by API is not currently available, please convert on the website.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'After conversion, you must be upload with the item URL or a downloaded file to save the converted file.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Convert on the site of $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrations', // from v2.1.40 added 11.7.2018 'integrationWith' : 'This elFinder has the following external services integrated. Please check the terms of use, privacy policy, etc. before using it.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Show hidden items', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Hide hidden items', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Show/Hide hidden items', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'File types to enable with "New file"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type of the Text file', // from v2.1.41 added 7.8.2018 'add' : 'Add', // from v2.1.41 added 7.8.2018 'theme' : 'Theme', // from v2.1.43 added 19.10.2018 'default' : 'Default', // from v2.1.43 added 19.10.2018 'description' : 'Description', // from v2.1.43 added 19.10.2018 'website' : 'Website', // from v2.1.43 added 19.10.2018 'author' : 'Author', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'License', // from v2.1.43 added 19.10.2018 'exportToSave' : 'This item can\'t be saved. To avoid losing the edits you need to export to your PC.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Double click on the file to select it.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Use fullscreen mode', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Unknown', 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Folder', 'kindSelects' : 'Selections', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Broken alias', // applications 'kindApp' : 'Application', 'kindPostscript' : 'Postscript document', 'kindMsOffice' : 'Microsoft Office document', 'kindMsWord' : 'Microsoft Word document', 'kindMsExcel' : 'Microsoft Excel document', 'kindMsPP' : 'Microsoft Powerpoint presentation', 'kindOO' : 'Open Office document', 'kindAppFlash' : 'Flash application', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent file', 'kind7z' : '7z archive', 'kindTAR' : 'TAR archive', 'kindGZIP' : 'GZIP archive', 'kindBZIP' : 'BZIP archive', 'kindXZ' : 'XZ archive', 'kindZIP' : 'ZIP archive', 'kindRAR' : 'RAR archive', 'kindJAR' : 'Java JAR file', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM package', // texts 'kindText' : 'Text document', 'kindTextPlain' : 'Plain text', 'kindPHP' : 'PHP source', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML document', 'kindJS' : 'Javascript source', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C source', 'kindCHeader' : 'C header source', 'kindCPP' : 'C++ source', 'kindCPPHeader' : 'C++ header source', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python source', 'kindJava' : 'Java source', 'kindRuby' : 'Ruby source', 'kindPerl' : 'Perl script', 'kindSQL' : 'SQL source', 'kindXML' : 'XML document', 'kindAWK' : 'AWK source', 'kindCSV' : 'Comma separated values', 'kindDOCBOOK' : 'Docbook XML document', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Image', 'kindBMP' : 'BMP image', 'kindJPEG' : 'JPEG image', 'kindGIF' : 'GIF Image', 'kindPNG' : 'PNG Image', 'kindTIFF' : 'TIFF image', 'kindTGA' : 'TGA image', 'kindPSD' : 'Adobe Photoshop image', 'kindXBITMAP' : 'X bitmap image', 'kindPXM' : 'Pixelmator image', // media 'kindAudio' : 'Audio media', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video media', 'kindVideoDV' : 'DV movie', 'kindVideoMPEG' : 'MPEG movie', 'kindVideoMPEG4' : 'MPEG-4 movie', 'kindVideoAVI' : 'AVI movie', 'kindVideoMOV' : 'Quick Time movie', 'kindVideoWM' : 'Windows Media movie', 'kindVideoFlash' : 'Flash movie', 'kindVideoMKV' : 'Matroska movie', 'kindVideoOGG' : 'Ogg movie' } }; })); wp-file-manager/lib/js/i18n/elfinder.nl.js000064400000105745151202472330014231 0ustar00/** * Dutch translation * @author Barry vd. Heuvel * @author Patrick Tingen * @version 2019-04-17 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.nl = { translator : 'Barry vd. Heuvel <barry@fruitcakestudio.nl>, Patrick Tingen <patrick@tingen.net>', language : 'Nederlands', direction : 'ltr', dateFormat : 'd-m-Y H:i', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM nonameDateFormat : 'ymd-His', // noname upload will show like: 120513-172700 messages : { /********************************** errors **********************************/ 'error' : 'Fout', 'errUnknown' : 'Onbekend fout', 'errUnknownCmd' : 'Onbekend commando', 'errJqui' : 'Ongeldige jQuery UI configuratie. Selectable, draggable en droppable componenten moeten aanwezig zijn', 'errNode' : 'Voor elFinder moet een DOM Element gemaakt worden', 'errURL' : 'Ongeldige elFinder configuratie! URL optie is niet ingesteld', 'errAccess' : 'Toegang geweigerd', 'errConnect' : 'Kan geen verbinding met de backend maken', 'errAbort' : 'Verbinding afgebroken', 'errTimeout' : 'Verbinding time-out', 'errNotFound' : 'Backend niet gevonden', 'errResponse' : 'Ongeldige reactie van de backend', 'errConf' : 'Ongeldige backend configuratie', 'errJSON' : 'PHP JSON module niet geïnstalleerd', 'errNoVolumes' : 'Leesbaar volume is niet beschikbaar', 'errCmdParams' : 'Ongeldige parameters voor commando "$1"', 'errDataNotJSON' : 'Data is niet JSON', 'errDataEmpty' : 'Data is leeg', 'errCmdReq' : 'Backend verzoek heeft een commando naam nodig', 'errOpen' : 'Kan "$1" niet openen', 'errNotFolder' : 'Object is geen map', 'errNotFile' : 'Object is geen bestand', 'errRead' : 'Kan "$1" niet lezen', 'errWrite' : 'Kan niet schrijven in "$1"', 'errPerm' : 'Toegang geweigerd', 'errLocked' : '"$1" is vergrendeld en kan niet hernoemd, verplaats of verwijderd worden', 'errExists' : 'Bestand "$1" bestaat al', 'errInvName' : 'Ongeldige bestandsnaam', 'errFolderNotFound' : 'Map niet gevonden', 'errFileNotFound' : 'Bestand niet gevonden', 'errTrgFolderNotFound' : 'Doelmap "$1" niet gevonden', 'errPopup' : 'De browser heeft voorkomen dat de pop-up is geopend. Pas de browser instellingen aan om de popup te kunnen openen', 'errMkdir' : 'Kan map "$1" niet aanmaken', 'errMkfile' : 'Kan bestand "$1" niet aanmaken', 'errRename' : 'Kan "$1" niet hernoemen', 'errCopyFrom' : 'Bestanden kopiëren van "$1" is niet toegestaan', 'errCopyTo' : 'Bestanden kopiëren naar "$1" is niet toegestaan', 'errMkOutLink' : 'Kan geen link maken buiten de hoofdmap', // from v2.1 added 03.10.2015 'errUpload' : 'Upload fout', // old name - errUploadCommon 'errUploadFile' : 'Kan "$1" niet uploaden', // old name - errUpload 'errUploadNoFiles' : 'Geen bestanden gevonden om te uploaden', 'errUploadTotalSize' : 'Data overschrijdt de maximale grootte', // old name - errMaxSize 'errUploadFileSize' : 'Bestand overschrijdt de maximale grootte', // old name - errFileMaxSize 'errUploadMime' : 'Bestandstype niet toegestaan', 'errUploadTransfer' : '"$1" overdrachtsfout', 'errUploadTemp' : 'Kan geen tijdelijk bestand voor de upload maken', // from v2.1 added 26.09.2015 'errNotReplace' : 'Object "$1" bestaat al op deze locatie en kan niet vervangen worden door een ander type object', // new 'errReplace' : 'Kan "$1" niet vervangen', 'errSave' : 'Kan "$1" niet opslaan', 'errCopy' : 'Kan "$1" niet kopiëren', 'errMove' : 'Kan "$1" niet verplaatsen', 'errCopyInItself' : 'Kan "$1" niet in zichzelf kopiëren', 'errRm' : 'Kan "$1" niet verwijderen', 'errRmSrc' : 'Kan bronbestanden niet verwijderen', 'errExtract' : 'Kan de bestanden van "$1" niet uitpakken', 'errArchive' : 'Kan het archief niet maken', 'errArcType' : 'Archief type is niet ondersteund', 'errNoArchive' : 'Bestand is geen archief of geen ondersteund archief type', 'errCmdNoSupport' : 'Backend ondersteund dit commando niet', 'errReplByChild' : 'De map "$1" kan niet vervangen worden door een item uit die map', 'errArcSymlinks' : 'Om veiligheidsredenen kan een bestand met symlinks of bestanden met niet toegestane namen niet worden uitgepakt ', // edited 24.06.2012 'errArcMaxSize' : 'Archief overschrijdt de maximale bestandsgrootte', 'errResize' : 'Kan het formaat van "$1" niet wijzigen', 'errResizeDegree' : 'Ongeldig aantal graden om te draaien', // added 7.3.2013 'errResizeRotate' : 'Afbeelding kan niet gedraaid worden', // added 7.3.2013 'errResizeSize' : 'Ongeldig afbeelding formaat', // added 7.3.2013 'errResizeNoChange' : 'Afbeelding formaat is niet veranderd', // added 7.3.2013 'errUsupportType' : 'Bestandstype wordt niet ondersteund', 'errNotUTF8Content' : 'Bestand "$1" is niet in UTF-8 and kan niet aangepast worden', // added 9.11.2011 'errNetMount' : 'Kan "$1" niet mounten', // added 17.04.2012 'errNetMountNoDriver' : 'Niet ondersteund protocol', // added 17.04.2012 'errNetMountFailed' : 'Mount mislukt', // added 17.04.2012 'errNetMountHostReq' : 'Host is verplicht', // added 18.04.2012 'errSessionExpires' : 'Uw sessie is verlopen vanwege inactiviteit', 'errCreatingTempDir' : 'Kan de tijdelijke map niet aanmaken: "$1" ', 'errFtpDownloadFile' : 'Kan het bestand niet downloaden vanaf FTP: "$1"', 'errFtpUploadFile' : 'Kan het bestand niet uploaden naar FTP: "$1"', 'errFtpMkdir' : 'Kan het externe map niet aanmaken op de FTP-server: "$1"', 'errArchiveExec' : 'Er is een fout opgetreden bij het archivering van de bestanden: "$1" ', 'errExtractExec' : 'Er is een fout opgetreden bij het uitpakken van de bestanden: "$1" ', 'errNetUnMount' : 'Kan niet unmounten', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Niet om te zetten naar UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Probeer een moderne browser als je bestanden wil uploaden', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Time-out bij zoeken naar "$1". Zoekresulataat is niet compleet', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Je moet je opnieuw aanmelden', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Max aantal selecteerbare items is $1', // from v2.1.17 added 17.10.2016 'errRestore' : 'Kan niet herstellen uit prullenbak, weet niet waar het heen moet', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Geen editor voor dit type bestand', // from v2.1.25 added 23.5.2017 'errServerError' : 'Fout opgetreden op de server', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Kan folder "$1" niet legen', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Er zijn nog $1 fouten', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Maak archief', 'cmdback' : 'Vorige', 'cmdcopy' : 'Kopieer', 'cmdcut' : 'Knip', 'cmddownload' : 'Download', 'cmdduplicate' : 'Dupliceer', 'cmdedit' : 'Pas bestand aan', 'cmdextract' : 'Bestanden uit archief uitpakken', 'cmdforward' : 'Volgende', 'cmdgetfile' : 'Kies bestanden', 'cmdhelp' : 'Over deze software', 'cmdhome' : 'Home', 'cmdinfo' : 'Bekijk info', 'cmdmkdir' : 'Nieuwe map', 'cmdmkdirin' : 'In nieuwe map', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nieuw bestand', 'cmdopen' : 'Open', 'cmdpaste' : 'Plak', 'cmdquicklook' : 'Voorbeeld', 'cmdreload' : 'Vernieuwen', 'cmdrename' : 'Naam wijzigen', 'cmdrm' : 'Verwijder', 'cmdtrash' : 'Naar prullenbak', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Herstellen', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Zoek bestanden', 'cmdup' : 'Ga een map hoger', 'cmdupload' : 'Upload bestanden', 'cmdview' : 'Bekijk', 'cmdresize' : 'Formaat wijzigen', 'cmdsort' : 'Sorteren', 'cmdnetmount' : 'Mount netwerk volume', // added 18.04.2012 'cmdnetunmount' : 'Unmount', // from v2.1 added 30.04.2012 'cmdplaces' : 'Naar Plaatsen', // added 28.12.2014 'cmdchmod' : 'Wijzig modus', // from v2.1 added 20.6.2015 'cmdopendir' : 'Open een map', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Herstel kolombreedtes', // from v2.1.13 added 12.06.2016 'cmdfullscreen' : 'Volledig scherm', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Verplaatsen', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Map leegmaken', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Undo', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Redo', // from v2.1.27 added 31.07.2017 'cmdpreference' : 'Voorkeuren', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Selecteer alles', // from v2.1.28 added 15.08.2017 'cmdselectnone' : 'Deselecteer alles', // from v2.1.28 added 15.08.2017 'cmdselectinvert' : 'Selectie omkeren', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Open in nieuw venster', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Verberg (voorkeur)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Sluit', 'btnSave' : 'Opslaan', 'btnRm' : 'Verwijder', 'btnApply' : 'Toepassen', 'btnCancel' : 'Annuleren', 'btnNo' : 'Nee', 'btnYes' : 'Ja', 'btnMount' : 'Mount', // added 18.04.2012 'btnApprove' : 'Ga naar $1 & keur goed', // from v2.1 added 26.04.2012 'btnUnmount' : 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Converteer', // from v2.1 added 08.04.2014 'btnCwd' : 'Hier', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'Alles', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015 'btnFileName' : 'Bestandsnaam', // from v2.1 added 22.5.2015 'btnSaveClose' : 'Opslaan & Sluiten', // from v2.1 added 12.6.2015 'btnBackup' : 'Back-up', // fromv2.1 added 28.11.2015 'btnRename' : 'Hernoemen', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Hernoem alles', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Vorige ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Volgende ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Opslaan als', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Bezig met openen van map', 'ntffile' : 'Bezig met openen bestand', 'ntfreload' : 'Herladen map inhoud', 'ntfmkdir' : 'Bezig met map maken', 'ntfmkfile' : 'Bezig met Bestanden maken', 'ntfrm' : 'Verwijderen bestanden', 'ntfcopy' : 'Kopieer bestanden', 'ntfmove' : 'Verplaats bestanden', 'ntfprepare' : 'Voorbereiden kopiëren', 'ntfrename' : 'Hernoem bestanden', 'ntfupload' : 'Bestanden uploaden actief', 'ntfdownload' : 'Bestanden downloaden actief', 'ntfsave' : 'Bestanden opslaan', 'ntfarchive' : 'Archief aan het maken', 'ntfextract' : 'Bestanden uitpakken actief', 'ntfsearch' : 'Zoeken naar bestanden', 'ntfresize' : 'Formaat wijzigen van afbeeldingen', 'ntfsmth' : 'Iets aan het doen', 'ntfloadimg' : 'Laden van plaatje', 'ntfnetmount' : 'Mounten van netwerk volume', // added 18.04.2012 'ntfnetunmount' : 'Unmounten van netwerk volume', // from v2.1 added 30.04.2012 'ntfdim' : 'Opvragen afbeeldingen dimensies', // added 20.05.2013 'ntfreaddir' : 'Map informatie lezen', // from v2.1 added 01.07.2013 'ntfurl' : 'URL van link ophalen', // from v2.1 added 11.03.2014 'ntfchmod' : 'Bestandsmodus wijzigen', // from v2.1 added 20.6.2015 'ntfpreupload' : 'Upload bestandsnaam verifiëren', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Zipbestand aan het maken', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Verzamelen padinformatie', // from v2.1.17 added 2.11.2016 'ntfchunkmerge' : 'Aan het verwerken', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Aan het verwijderen', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Aan het herstellen', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Controleren doelmap', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Vorige bewerking ongedaan maken', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Opnieuw doen', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Inhoud controleren', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Prullenbak', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'onbekend', 'Today' : 'Vandaag', 'Yesterday' : 'Gisteren', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Mei', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'Januari', 'February' : 'Februari', 'March' : 'Maart', 'April' : 'April', 'May' : 'Mei', 'June' : 'Juni', 'July' : 'Juli', 'August' : 'Augustus', 'September' : 'September', 'October' : 'Oktober', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Zondag', 'Monday' : 'Maandag', 'Tuesday' : 'Dinsdag', 'Wednesday' : 'Woensdag', 'Thursday' : 'Donderdag', 'Friday' : 'Vrijdag', 'Saturday' : 'Zaterdag', 'Sun' : 'Zo', 'Mon' : 'Ma', 'Tue' : 'Di', 'Wed' : 'Wo', 'Thu' : 'Do', 'Fri' : 'Vr', 'Sat' : 'Za', /******************************** sort variants ********************************/ 'sortname' : 'op naam', 'sortkind' : 'op type', 'sortsize' : 'op grootte', 'sortdate' : 'op datum', 'sortFoldersFirst' : 'Mappen eerst', 'sortperm' : 'op rechten', // from v2.1.13 added 13.06.2016 'sortmode' : 'op mode', // from v2.1.13 added 13.06.2016 'sortowner' : 'op eigenaar', // from v2.1.13 added 13.06.2016 'sortgroup' : 'op groep', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Als boom', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NieuwBestand.txt', // added 10.11.2015 'untitled folder' : 'NieuweMap', // added 10.11.2015 'Archive' : 'NieuwArchief', // from v2.1 added 10.11.2015 'untitled file' : 'NieuwBestand.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: Bestand', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Bevestiging nodig', 'confirmRm' : 'Weet u zeker dat u deze bestanden wil verwijderen?
                      Deze actie kan niet ongedaan gemaakt worden!', 'confirmRepl' : 'Oud bestand vervangen door het nieuwe bestand?', 'confirmRest' : 'Replace existing item with the item in trash?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Niet in UTF-8
                      Converteren naar UTF-8?
                      De inhoud wordt UTF-8 door op te slaan na de conversie', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Character encoding of this file couldn\'t be detected. It need to temporarily convert to UTF-8 for editting.
                      Please select character encoding of this file.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Het is aangepast.
                      Wijzigingen gaan verloren als je niet opslaat', // from v2.1 added 15.7.2015 'confirmTrash' : 'Are you sure you want to move items to trash bin?', //from v2.1.24 added 29.4.2017 'apllyAll' : 'Toepassen op alles', 'name' : 'Naam', 'size' : 'Grootte', 'perms' : 'Rechten', 'modify' : 'Aangepast', 'kind' : 'Type', 'read' : 'lees', 'write' : 'schrijf', 'noaccess' : 'geen toegang', 'and' : 'en', 'unknown' : 'onbekend', 'selectall' : 'Selecteer alle bestanden', 'selectfiles' : 'Selecteer bestand(en)', 'selectffile' : 'Selecteer eerste bestand', 'selectlfile' : 'Selecteer laatste bestand', 'viewlist' : 'Lijst weergave', 'viewicons' : 'Icoon weergave', 'viewSmall' : 'Klein', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Middelgroot', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Groot', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Extra groot', // from v2.1.39 added 22.5.2018 'places' : 'Plaatsen', 'calc' : 'Bereken', 'path' : 'Pad', 'aliasfor' : 'Alias voor', 'locked' : 'Vergrendeld', 'dim' : 'Dimensies', 'files' : 'Bestanden', 'folders' : 'Mappen', 'items' : 'Items', 'yes' : 'ja', 'no' : 'nee', 'link' : 'Link', 'searcresult' : 'Zoek resultaten', 'selected' : 'geselecteerde items', 'about' : 'Over', 'shortcuts' : 'Snelkoppelingen', 'help' : 'Help', 'webfm' : 'Web bestandsmanager', 'ver' : 'Versie', 'protocolver' : 'protocol versie', 'homepage' : 'Project home', 'docs' : 'Documentatie', 'github' : 'Fork ons op Github', 'twitter' : 'Volg ons op twitter', 'facebook' : 'Wordt lid op facebook', 'team' : 'Team', 'chiefdev' : 'Hoofd ontwikkelaar', 'developer' : 'ontwikkelaar', 'contributor' : 'bijdrager', 'maintainer' : 'onderhouder', 'translator' : 'vertaler', 'icons' : 'Iconen', 'dontforget' : 'En vergeet je handdoek niet!', 'shortcutsof' : 'Snelkoppelingen uitgeschakeld', 'dropFiles' : 'Sleep hier uw bestanden heen', 'or' : 'of', 'selectForUpload' : 'Selecteer bestanden om te uploaden', 'moveFiles' : 'Verplaats bestanden', 'copyFiles' : 'Kopieer bestanden', 'restoreFiles' : 'Items herstellen', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Verwijder uit Plaatsen', 'aspectRatio' : 'Aspect ratio', 'scale' : 'Schaal', 'width' : 'Breedte', 'height' : 'Hoogte', 'resize' : 'Verkleinen', 'crop' : 'Bijsnijden', 'rotate' : 'Draaien', 'rotate-cw' : 'Draai 90 graden rechtsom', 'rotate-ccw' : 'Draai 90 graden linksom', 'degree' : '°', 'netMountDialogTitle' : 'Mount netwerk volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Poort', // added 18.04.2012 'user' : 'Gebruikersnaams', // added 18.04.2012 'pass' : 'Wachtwoord', // added 18.04.2012 'confirmUnmount' : 'Weet u zeker dat u $1 wil unmounten?', // from v2.1 added 30.04.2012 'dropFilesBrowser' : 'Sleep of plak bestanden vanuit de browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Sleep of plak bestanden hier', // from v2.1 added 07.04.2014 'encoding' : 'Encodering', // from v2.1 added 19.12.2014 'locale' : 'Localisatie', // from v2.1 added 19.12.2014 'searchTarget' : 'Doel: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Zoek op invoer MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Eigenaar', // from v2.1 added 20.6.2015 'group' : 'Groep', // from v2.1 added 20.6.2015 'other' : 'Overig', // from v2.1 added 20.6.2015 'execute' : 'Uitvoeren', // from v2.1 added 20.6.2015 'perm' : 'Rechten', // from v2.1 added 20.6.2015 'mode' : 'Modus', // from v2.1 added 20.6.2015 'emptyFolder' : 'Map is leeg', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Map is leeg\\A Sleep hier naar toe om toe te voegen', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Map is leeg\\A Lang ingedrukt houden om toe te voegen', // from v2.1.6 added 30.12.2015 'quality' : 'Kwaliteit', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016 'moveUp' : 'Omhoog', // from v2.1.6 added 18.1.2016 'getLink' : 'Geef link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Geselecteerde items ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Map ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Toestaan offline toegang', // from v2.1.10 added 3.25.2016 'reAuth' : 'Opnieuw autenticeren', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Laden..', // from v2.1.12 added 4.26.2016 'openMulti' : 'Open meerdere bestanden', // from v2.1.12 added 5.14.2016 'openMultiConfirm' : 'Je probeert het $1 bestanden te openen. Weet je zeker dat je dat in je browser wil doen?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Geen zoekresultaten', // from v2.1.12 added 5.16.2016 'editingFile' : 'Bestand wordt bewerkt', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Je hebt $1 items geselecteerd', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Je hebt $1 items op het clipboard', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Verder zoeken kan alleen vanuit huidige view', // from v2.1.13 added 6.30.2016 'reinstate' : 'Herstellen', // from v2.1.15 added 3.8.2016 'complete' : '$1 compleet', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Pagina omslaan', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016 'reset' : 'Reset', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Achtergrondkleur', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Kleurkiezer', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016 'enabled' : 'Actief', // from v2.1.16 added 4.10.2016 'disabled' : 'Inactief', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Zoekresultaten zijn leeg in actuele view\\ADruk [Enter] om zoekgebied uit te breiden', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Zoeken op eerste letter is leeg in actuele view', // from v2.1.23 added 24.3.2017 'textLabel' : 'Tekstlabel', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 minuten over', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Opnieuw openen met geselecteerde encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Opslaan met geselecteerde encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Selecteer map', // from v2.1.20 added 13.12.2016 'firstLetterSearch' : 'Zoeken op eerste letter', // from v2.1.23 added 24.3.2017 'presets' : 'Voorkeuren', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Teveel voor in de prullenbak', // from v2.1.25 added 9.6.2017 'TextArea' : 'Tekstgebied', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Map "$1" legen', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Er zijn geen items in map "$1"', // from v2.1.25 added 22.6.2017 'preference' : 'Voorkeur', // from v2.1.26 added 28.6.2017 'language' : 'Taal', // from v2.1.26 added 28.6.2017 'clearBrowserData' : 'Initialiseer instellingen van deze browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Toolbar instellingen', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 tekens over', // from v2.1.29 added 30.8.2017 'sum' : 'Totaal', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Geschatte bestandsgrootte', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focus op het dialoogelement met mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Selecteren', // from v2.1.30 added 23.11.2017 'selectAction' : 'Actie als bestand is geselecteerd', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Open met laatstgebruikte editor', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Selectie omkeren', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Weet je zeker dat je $1 items wil hernoemen naar $2?
                      Dit kan niet ongedaan worden gemaakt!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch hernoemen', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Nummer', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Voeg prefix toe', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Voeg suffix toe', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Verander extentie', // from v2.1.31 added 8.12.2017 'columnPref' : 'Kolominstelllingen (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Aanpassingen worden direct toegepast op het archief', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Aanpassingen worden pas toegepast na re-mount van dit volume', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Deze volume(s) worden ook unmounted. Weet je het zeker?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Selectie informatie', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algoritmes voor file hash', // from v2.1.33 added 10.3.2018 'infoItems' : 'Informatie Items (Selectie Info Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit' : 'Druk nogmaals om te eindigen', // from v2.1.38 added 1.4.2018 'toolbar' : 'Toolbar', // from v2.1.38 added 4.4.2018 'workspace' : 'Work Space', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialoog', // from v2.1.38 added 4.4.2018 'all' : 'Alles', // from v2.1.38 added 4.4.2018 'iconSize' : 'Icoongrootte (Icons view)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Open de maximale editor', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Conversie via API is niet beschikbaar, converteer aub op de website', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'After conversion, you must be upload with the item URL or a downloaded file to save the converted file', //from v2.1.40 added 8.7.2018 'convertOn' : 'Converteer op de site $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integratie', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Deze elFinder heeft de volgende externe services. Controleer de voorwaarden, privacy policy, etc. voor gebruik', // from v2.1.40 added 11.7.2018 'showHidden' : 'Toon verborgen items', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Verberg verborgen items', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Toon/verberg verborgen items', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'File types die aangemaakt mogen worden', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type voor tekstbestand', // from v2.1.41 added 7.8.2018 'add' : 'Toevoegen', // from v2.1.41 added 7.8.2018 'theme' : 'Thema', // from v2.1.43 added 19.10.2018 'default' : 'Default', // from v2.1.43 added 19.10.2018 'description' : 'Beschrijving', // from v2.1.43 added 19.10.2018 'website' : 'Website', // from v2.1.43 added 19.10.2018 'author' : 'Auteur', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'Licensie', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Dit item kan niet worden opgeslagen, exporteer naar je pc om wijzingen te bewaren', // from v2.1.44 added 1.12.2018 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Onbekend', 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Map', 'kindSelects' : 'Selecties', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Verbroken alias', /********************************** applications **********************************/ 'kindApp' : 'Applicatie', 'kindPostscript' : 'Postscript document', 'kindMsOffice' : 'Microsoft Office document', 'kindMsWord' : 'Microsoft Word document', 'kindMsExcel' : 'Microsoft Excel document', 'kindMsPP' : 'Microsoft Powerpoint presentation', 'kindOO' : 'Open Office document', 'kindAppFlash' : 'Flash applicatie', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent bestand', 'kind7z' : '7z archief', 'kindTAR' : 'TAR archief', 'kindGZIP' : 'GZIP archief', 'kindBZIP' : 'BZIP archief', 'kindXZ' : 'XZ archief', 'kindZIP' : 'ZIP archief', 'kindRAR' : 'RAR archief', 'kindJAR' : 'Java JAR bestand', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM package', /********************************** texts **********************************/ 'kindText' : 'Tekst bestand', 'kindTextPlain' : 'Tekst', 'kindPHP' : 'PHP bronbestand', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML document', 'kindJS' : 'Javascript bronbestand', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C bronbestand', 'kindCHeader' : 'C header bronbestand', 'kindCPP' : 'C++ bronbestand', 'kindCPPHeader' : 'C++ header bronbestand', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python bronbestand', 'kindJava' : 'Java bronbestand', 'kindRuby' : 'Ruby bronbestand', 'kindPerl' : 'Perl bronbestand', 'kindSQL' : 'SQL bronbestand', 'kindXML' : 'XML document', 'kindAWK' : 'AWK bronbestand', 'kindCSV' : 'Komma gescheiden waardes', 'kindDOCBOOK' : 'Docbook XML document', 'kindMarkdown' : 'Markdown tekst', // added 20.7.2015 /********************************** images **********************************/ // 'kindImage' : 'Afbeelding', 'kindBMP' : 'BMP afbeelding', 'kindJPEG' : 'JPEG afbeelding', 'kindGIF' : 'GIF afbeelding', 'kindPNG' : 'PNG afbeelding', 'kindTIFF' : 'TIFF afbeelding', 'kindTGA' : 'TGA afbeelding', 'kindPSD' : 'Adobe Photoshop afbeelding', 'kindXBITMAP' : 'X bitmap afbeelding', 'kindPXM' : 'Pixelmator afbeelding', /********************************** media **********************************/ 'kindAudio' : 'Audio media', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video media', 'kindVideoDV' : 'DV video', 'kindVideoMPEG' : 'MPEG video', 'kindVideoMPEG4' : 'MPEG-4 video', 'kindVideoAVI' : 'AVI video', 'kindVideoMOV' : 'Quick Time video', 'kindVideoWM' : 'Windows Media video', 'kindVideoFlash' : 'Flash video', 'kindVideoMKV' : 'Matroska video', 'kindVideoOGG' : 'Ogg video' } }; })); wp-file-manager/lib/js/i18n/elfinder.no.js000064400000037156151202472330014234 0ustar00/** * Norwegian translation * @author Stian Jacobsen * @version 2014-12-19 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.no = { translator : 'Stian Jacobsen <stian@promonorge.no>', language : 'Norwegian Bokmål', dateFormat : 'M d, Y h:i A', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM direction : 'ltr', messages : { /********************************** errors **********************************/ 'error' : 'Feil', 'errUnknown' : 'Ukjent feil.', 'errUnknownCmd' : 'Ukjent kommando.', 'errJqui' : 'Ugyldig jQuery UI konfigurasjon. Selectable, draggable og droppable komponentene må være inkludert.', 'errNode' : 'elFinder påkrever at DOM Elementer kan opprettes.', 'errURL' : 'Ugyldig elFinder konfigurasjon! URL-valget er ikke satt.', 'errAccess' : 'Ingen adgang.', 'errConnect' : 'Kunne ikke koble til.', 'errAbort' : 'Tilkoblingen avbrutt.', 'errTimeout' : 'Tilkoblingen tidsavbrudd.', 'errNotFound' : 'Backend ble ikke funnet', 'errResponse' : 'Ugyldig backend respons.', 'errConf' : 'Ugyldig backend konfigurasjon.', 'errJSON' : 'PHP JSON modul er ikke installert.', 'errNoVolumes' : 'Lesbar volum er ikke tilgjennelig.', 'errCmdParams' : 'Ugyldig parameter for kommando "$1".', 'errDataNotJSON' : 'Innhold er ikke JSON.', 'errDataEmpty' : 'Innholdet er tomt.', 'errCmdReq' : 'Backend spørringen påkrever kommando.', 'errOpen' : 'Kunne ikke åpne "$1".', 'errNotFolder' : 'Objektet er ikke en mappe.', 'errNotFile' : 'Objektet er ikke en fil.', 'errRead' : 'Kunne ikke lese "$1".', 'errWrite' : 'Kunne ikke skrive til "$1".', 'errPerm' : 'Du har ikke rettigheter.', 'errLocked' : '"$1" er låst og kan ikke flyttes, slettes eller endres', 'errExists' : 'Filen "$1" finnes allerede.', 'errInvName' : 'Ugyldig filnavn.', 'errFolderNotFound' : 'Mappen finnes ikke.', 'errFileNotFound' : 'Filen finnes ikke.', 'errTrgFolderNotFound' : 'Målmappen "$1" ble ikke funnet.', 'errPopup' : 'Nettleseren din blokkerte et pop-up vindu. For å åpne filen må du aktivere pop-up i din nettlesers innstillinger.', 'errMkdir' : 'Kunne ikke opprette mappen "$1".', 'errMkfile' : 'Kunne ikke opprette filen "$1".', 'errRename' : 'Kunne ikke gi nytt navn til "$1".', 'errCopyFrom' : 'Kopiere filer fra "$1" er ikke tillatt.', 'errCopyTo' : 'Kopiere filer til "$1" er ikke tillatt.', 'errUpload' : 'Feil under opplasting.', 'errUploadFile' : 'Kunne ikke laste opp "$1".', 'errUploadNoFiles' : 'Ingen filer funnet til opplasting.', 'errUploadTotalSize' : 'Innholdet overgår maksimum tillatt størrelse.', 'errUploadFileSize' : 'Filen vergår maksimum tillatt størrelse.', 'errUploadMime' : 'Filtypen ikke tillatt.', 'errUploadTransfer' : '"$1" overførings feil.', 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', 'errReplace' : 'Unable to replace "$1".', 'errSave' : 'Kunne ikke lagre "$1".', 'errCopy' : 'Kunne ikke kopiere "$1".', 'errMove' : 'Kunne ikke flytte "$1".', 'errCopyInItself' : 'Kunne ikke kopiere "$1" til seg selv.', 'errRm' : 'Kunne ikke slette "$1".', 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'Kunne ikke pakke ut filer fra "$1".', 'errArchive' : 'Kunne ikke opprette arkiv.', 'errArcType' : 'akriv-typen er ikke støttet.', 'errNoArchive' : 'Filen er ikke et arkiv eller et arkiv som ikke er støttet.', 'errCmdNoSupport' : 'Backend støtter ikke denne kommandoen.', 'errReplByChild' : 'The folder “$1” can’t be replaced by an item it contains.', 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.', 'errResize' : 'Unable to resize "$1".', 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013 'errResizeSize' : 'Invalid image size.', // added 7.3.2013 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013 'errUsupportType' : 'Unsupported file type.', 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012 'errNetMountHostReq' : 'Host required.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', /******************************* commands names ********************************/ 'cmdarchive' : 'Opprett arkiv', 'cmdback' : 'Tilbake', 'cmdcopy' : 'Kopier', 'cmdcut' : 'Klipp ut', 'cmddownload' : 'Last ned', 'cmdduplicate' : 'Dupliser', 'cmdedit' : 'Rediger fil', 'cmdextract' : 'Pakk ut filer fra arkiv', 'cmdforward' : 'Frem', 'cmdgetfile' : 'Velg filer', 'cmdhelp' : 'Om', 'cmdhome' : 'Hjem', 'cmdinfo' : 'Vis info', 'cmdmkdir' : 'Ny mappe', 'cmdmkfile' : 'Ny fil', 'cmdopen' : 'Åpne', 'cmdpaste' : 'Lim inn', 'cmdquicklook' : 'Forhåndsvis', 'cmdreload' : 'Last inn på nytt', 'cmdrename' : 'Gi nytt navn', 'cmdrm' : 'Slett', 'cmdsearch' : 'Find filer', 'cmdup' : 'Opp et nivå', 'cmdupload' : 'Last opp filer', 'cmdview' : 'Vis', 'cmdresize' : 'Resize & Rotate', 'cmdsort' : 'Sort', 'cmdnetmount' : 'Mount network volume', /*********************************** buttons ***********************************/ 'btnClose' : 'Lukk', 'btnSave' : 'Lagre', 'btnRm' : 'Slett', 'btnApply' : 'Apply', 'btnCancel' : 'Avbryt', 'btnNo' : 'Nei', 'btnYes' : 'Ja', 'btnMount' : 'Mount', /******************************** notifications ********************************/ 'ntfopen' : 'Åpne mappe', 'ntffile' : 'Åpne fil', 'ntfreload' : 'Last inn mappen på nytt', 'ntfmkdir' : 'Oppretter mappe', 'ntfmkfile' : 'Oppretter filer', 'ntfrm' : 'Sletter filer', 'ntfcopy' : 'Kopierer filer', 'ntfmove' : 'Flytter filer', 'ntfprepare' : 'Gjør klar til kopiering av filer', 'ntfrename' : 'Gir nytt navn til filer', 'ntfupload' : 'Laster opp filer', 'ntfdownload' : 'Laster ned filer', 'ntfsave' : 'Lagrer filer', 'ntfarchive' : 'Oppretter arkiv', 'ntfextract' : 'Pakker ut filer fra arkiv', 'ntfsearch' : 'Søker i filer', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Gjør noe... >_<', 'ntfloadimg' : 'Loading image', 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013 /************************************ dates **********************************/ 'dateUnknown' : 'Ukjent', 'Today' : 'I dag', 'Yesterday' : 'I går', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Mai', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Des', 'January' : 'January', 'February' : 'February', 'March' : 'March', 'April' : 'April', 'May' : 'May', 'June' : 'June', 'July' : 'July', 'August' : 'August', 'September' : 'September', 'October' : 'October', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Sunday', 'Monday' : 'Monday', 'Tuesday' : 'Tuesday', 'Wednesday' : 'Wednesday', 'Thursday' : 'Thursday', 'Friday' : 'Friday', 'Saturday' : 'Saturday', 'Sun' : 'Sun', 'Mon' : 'Mon', 'Tue' : 'Tue', 'Wed' : 'Wed', 'Thu' : 'Thu', 'Fri' : 'Fri', 'Sat' : 'Sat', /******************************** sort variants ********************************/ 'sortname' : 'by name', 'sortkind' : 'by kind', 'sortsize' : 'by size', 'sortdate' : 'by date', 'sortFoldersFirst' : 'Folders first', /********************************** messages **********************************/ 'confirmReq' : 'Bekreftelse nødvendig', 'confirmRm' : 'Er du sikker på at du ønsker å slette filene?', 'confirmRepl' : 'Erstatt fil?', 'apllyAll' : 'Apply to all', 'name' : 'Navn', 'size' : 'Størrelse', 'perms' : 'Rettigheter', 'modify' : 'Endret', 'kind' : 'Type', 'read' : 'les', 'write' : 'skriv', 'noaccess' : 'ingen adgang', 'and' : 'og', 'unknown' : 'ukjent', 'selectall' : 'Velg alle filene', 'selectfiles' : 'Velg fil(er)', 'selectffile' : 'Velg første fil', 'selectlfile' : 'Velg siste fil', 'viewlist' : 'Listevisning', 'viewicons' : 'Ikoner', 'places' : 'Områder', 'calc' : 'Beregn', 'path' : 'Bane', 'aliasfor' : 'Alias for', 'locked' : 'Låst', 'dim' : 'Størrelser', 'files' : 'Filer', 'folders' : 'Mapper', 'items' : 'objekter', 'yes' : 'ja', 'no' : 'nei', 'link' : 'Link', 'searcresult' : 'Søkeresultater', 'selected' : 'valgte filer', 'about' : 'Om', 'shortcuts' : 'Snarveier', 'help' : 'Hjelp', 'webfm' : 'Web-filbehandler', 'ver' : 'Versjon', 'protocolver' : 'protokol versjon', 'homepage' : 'Project home', 'docs' : 'dokumentasjon', 'github' : 'Fork us on Github', 'twitter' : 'Follow us on twitter', 'facebook' : 'Join us on facebook', 'team' : 'Team', 'chiefdev' : 'chief developer', 'developer' : 'developer', 'contributor' : 'contributor', 'maintainer' : 'maintainer', 'translator' : 'translator', 'icons' : 'Ikoner', 'dontforget' : 'and don\'t forget to bring a towel', 'shortcutsof' : 'Snarveier avslått', 'dropFiles' : 'Slipp filer her', 'or' : 'eller', 'selectForUpload' : 'Velg filer til opplasting', 'moveFiles' : 'Flytt filer', 'copyFiles' : 'Kopier filer', 'rmFromPlaces' : 'Remove from places', 'aspectRatio' : 'Aspect ratio', 'scale' : 'Scale', 'width' : 'Width', 'height' : 'Height', 'resize' : 'Resize', 'crop' : 'Crop', 'rotate' : 'Rotate', 'rotate-cw' : 'Rotate 90 degrees CW', 'rotate-ccw' : 'Rotate 90 degrees CCW', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'User', // added 18.04.2012 'pass' : 'Password', // added 18.04.2012 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Ukjent', 'kindFolder' : 'Mappe', 'kindAlias' : 'Snarvei', 'kindAliasBroken' : 'Ugyldig snarvei', // applications 'kindApp' : 'Programfil', 'kindPostscript' : 'Postscript dokument', 'kindMsOffice' : 'Microsoft Office dokument', 'kindMsWord' : 'Microsoft Word dokument', 'kindMsExcel' : 'Microsoft Excel dokument', 'kindMsPP' : 'Microsoft Powerpoint presentation', 'kindOO' : 'Open Office dokument', 'kindAppFlash' : 'Flash', 'kindPDF' : 'Portabelt dokument (PDF)', 'kindTorrent' : 'Bittorrent file', 'kind7z' : '7z arkiv', 'kindTAR' : 'TAR arkiv', 'kindGZIP' : 'GZIP arkiv', 'kindBZIP' : 'BZIP arkiv', 'kindXZ' : 'XZ arkiv', 'kindZIP' : 'ZIP arkiv', 'kindRAR' : 'RAR ar', 'kindJAR' : 'Java JAR file', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM package', // texts 'kindText' : 'Tekst dokument', 'kindTextPlain' : 'Plain text', 'kindPHP' : 'PHP kilde', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML dokument', 'kindJS' : 'Javascript', 'kindRTF' : 'Rikt Tekst Format', 'kindC' : 'C kilde', 'kindCHeader' : 'C header kilde', 'kindCPP' : 'C++ kilde', 'kindCPPHeader' : 'C++ header kilde', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python kilde', 'kindJava' : 'Java kilde', 'kindRuby' : 'Ruby kilde', 'kindPerl' : 'Perl script', 'kindSQL' : 'SQL skilde', 'kindXML' : 'XML dokument', 'kindAWK' : 'AWK kilde', 'kindCSV' : 'Comma separated values', 'kindDOCBOOK' : 'Docbook XML dokument', // Images 'kindImage' : 'Bilde', 'kindBMP' : 'BMP bilde', 'kindJPEG' : 'JPEG bilde', 'kindGIF' : 'GIF bilde', 'kindPNG' : 'PNG bilde', 'kindTIFF' : 'TIFF bilde', 'kindTGA' : 'TGA bilde', 'kindPSD' : 'Adobe Photoshop bilde', 'kindXBITMAP' : 'X bitmap bilde', 'kindPXM' : 'Pixelmator bilde', // media 'kindAudio' : 'Audio media', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 spilleliste', 'kindVideo' : 'Video media', 'kindVideoDV' : 'DV film', 'kindVideoMPEG' : 'MPEG film', 'kindVideoMPEG4' : 'MPEG-4 film', 'kindVideoAVI' : 'AVI film', 'kindVideoMOV' : 'Quick Time film', 'kindVideoWM' : 'Windows Media film', 'kindVideoFlash' : 'Flash film', 'kindVideoMKV' : 'Matroska film', 'kindVideoOGG' : 'Ogg film' } }; })); wp-file-manager/lib/js/i18n/elfinder.pl.js000064400000103204151202472330014217 0ustar00/** * Polskie tłumaczenie * @author Marcin Mikołajczyk * @author Bogusław Zięba * @version 2020-03-29 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.pl = { translator : 'Marcin Mikołajczyk <marcin@pjwstk.edu.pl>, Bogusław Zięba <bobi@poczta.fm>, Bogusław Zięba <bobi@poczta.fm>', language : 'Polski', direction : 'ltr', dateFormat : 'd.m.Y H:i', // will show like: 29.03.2020 06:58 fancyDateFormat : '$1 H:i', // will show like: Dzisiaj 06:58 nonameDateFormat : 'ymd-His', // noname upload will show like: 200329-065813 messages : { /********************************** errors **********************************/ 'error' : 'Błąd', 'errUnknown' : 'Nieznany błąd.', 'errUnknownCmd' : 'Nieznane polecenie.', 'errJqui' : 'Niepoprawna konfiguracja jQuery UI. Muszą być zawarte komponenty selectable, draggable i droppable.', 'errNode' : 'elFinder wymaga utworzenia obiektu DOM.', 'errURL' : 'Niepoprawna konfiguracja elFinder! Pole URL nie jest ustawione.', 'errAccess' : 'Dostęp zabroniony.', 'errConnect' : 'Błąd połączenia z zapleczem.', 'errAbort' : 'Połączenie zostało przerwane.', 'errTimeout' : 'Upłynął czas oczekiwania na połączenie.', 'errNotFound' : 'Zaplecze nie zostało znalezione.', 'errResponse' : 'Nieprawidłowa odpowiedź zaplecza.', 'errConf' : 'Niepoprawna konfiguracja zaplecza.', 'errJSON' : 'Moduł PHP JSON nie jest zainstalowany.', 'errNoVolumes' : 'Brak możliwości odczytu katalogów.', 'errCmdParams' : 'Nieprawidłowe parametry dla polecenia "$1".', 'errDataNotJSON' : 'Dane nie są JSON.', 'errDataEmpty' : 'Dane są puste.', 'errCmdReq' : 'Zaplecze wymaga podania nazwy polecenia.', 'errOpen' : 'Nie można otworzyć "$1".', 'errNotFolder' : 'Obiekt nie jest katalogiem.', 'errNotFile' : 'Obiekt nie jest plikiem.', 'errRead' : 'Nie można odczytać "$1".', 'errWrite' : 'Nie można zapisać do "$1".', 'errPerm' : 'Brak uprawnień.', 'errLocked' : '"$1" jest zablokowany i nie może zostać zmieniony, przeniesiony lub usunięty.', 'errExists' : 'Plik "$1" już istnieje.', 'errInvName' : 'Nieprawidłowa nazwa pliku.', 'errInvDirname' : 'Nieprawidłowa nazwa folderu.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Nie znaleziono folderu.', 'errFileNotFound' : 'Plik nie został znaleziony.', 'errTrgFolderNotFound' : 'Katalog docelowy "$1" nie został znaleziony.', 'errPopup' : 'Przeglądarka zablokowała otwarcie nowego okna. Aby otworzyć plik, zmień ustawienia przeglądarki.', 'errMkdir' : 'Nie można utworzyć katalogu "$1".', 'errMkfile' : 'Nie można utworzyć pliku "$1".', 'errRename' : 'Nie można zmienić nazwy "$1".', 'errCopyFrom' : 'Kopiowanie z katalogu "$1" nie jest możliwe.', 'errCopyTo' : 'Kopiowanie do katalogu "$1" nie jest możliwe.', 'errMkOutLink' : 'Nie można utworzyć link do zewnętrznego katalogu głównego.', // from v2.1 added 03.10.2015 'errUpload' : 'Błąd wysyłania.', // old name - errUploadCommon 'errUploadFile' : 'Nie można wysłać "$1".', // old name - errUpload 'errUploadNoFiles' : 'Nie znaleziono plików do wysłania.', 'errUploadTotalSize' : 'Przekroczono dopuszczalny rozmiar wysyłanych plików.', // old name - errMaxSize 'errUploadFileSize' : 'Plik przekracza dopuszczalny rozmiar.', // old name - errFileMaxSize 'errUploadMime' : 'Niedozwolony typ pliku.', 'errUploadTransfer' : 'Błąd przesyłania "$1".', 'errUploadTemp' : 'Nie można wykonać tymczasowego pliku do przesłania.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Obiekt "$1" istnieje już w tej lokalizacji i nie może być zastąpiony przez inny typ obiektu.', // new 'errReplace' : 'Nie można zastąpić "$1".', 'errSave' : 'Nie można zapisać "$1".', 'errCopy' : 'Nie można skopiować "$1".', 'errMove' : 'Nie można przenieść "$1".', 'errCopyInItself' : 'Nie można skopiować "$1" w miejsce jego samego.', 'errRm' : 'Nie można usunąć "$1".', 'errTrash' : 'Nie można do kosza.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Nie należy usunąć pliku(s) źródłowy.', 'errExtract' : 'Nie można wypakować plików z "$1".', 'errArchive' : 'Nie można utworzyć archiwum.', 'errArcType' : 'Nieobsługiwany typ archiwum.', 'errNoArchive' : 'Plik nie jest prawidłowym typem archiwum.', 'errCmdNoSupport' : 'Zaplecze nie obsługuje tego polecenia.', 'errReplByChild' : 'Nie można zastąpić katalogu "$1" elementem w nim zawartym', 'errArcSymlinks' : 'Ze względów bezpieczeństwa rozpakowywanie archiwów zawierających dowiązania symboliczne (symlinks) jest niedozwolone.', // edited 24.06.2012 'errArcMaxSize' : 'Archiwum przekracza maksymalny dopuszczalny rozmiar.', 'errResize' : 'Nie można zmienić rozmiaru "$1".', 'errResizeDegree' : 'Nieprawidłowy stopień obracania.', // added 7.3.2013 'errResizeRotate' : 'Nie można obrócić obrazu.', // added 7.3.2013 'errResizeSize' : 'Nieprawidłowy rozmiar obrazu.', // added 7.3.2013 'errResizeNoChange' : 'Nie zmieniono rozmiaru obrazu.', // added 7.3.2013 'errUsupportType' : 'Nieobsługiwany typ pliku.', 'errNotUTF8Content' : 'Plik "$1" nie jest UTF-8 i nie może być edytowany.', // added 9.11.2011 'errNetMount' : 'Nie można zamontować "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Nieobsługiwany protokół.', // added 17.04.2012 'errNetMountFailed' : 'Montowanie nie powiodło się.', // added 17.04.2012 'errNetMountHostReq' : 'Host wymagany.', // added 18.04.2012 'errSessionExpires' : 'Twoja sesja wygasła z powodu nieaktywności.', 'errCreatingTempDir' : 'Nie można utworzyć katalogu tymczasowego: "$1"', 'errFtpDownloadFile' : 'Nie można pobrać pliku z FTP: "$1"', 'errFtpUploadFile' : 'Nie można przesłać pliku na serwer FTP: "$1"', 'errFtpMkdir' : 'Nie można utworzyć zdalnego katalogu FTP: "$1"', 'errArchiveExec' : 'Błąd podczas archiwizacji plików: "$1"', 'errExtractExec' : 'Błąd podczas wyodrębniania plików: "$1"', 'errNetUnMount' : 'Nie można odmontować', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Nie wymienialne na UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Wypróbuj Google Chrome, jeśli chcesz przesłać katalog.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Upłynął limit czasu podczas wyszukiwania "$1". Wynik wyszukiwania jest częściowy.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Wymagana jest ponowna autoryzacja.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Maks. liczba elementów do wyboru to $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Nie można przywrócić z kosza. Nie można zidentyfikować przywrócić docelowego.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Nie znaleziono edytora tego typu pliku.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Wystąpił błąd po stronie serwera .', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Nie można do pustego folderu "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Jest jeszcze $1 błąd/błędy.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Utwórz archiwum', 'cmdback' : 'Wstecz', 'cmdcopy' : 'Kopiuj', 'cmdcut' : 'Wytnij', 'cmddownload' : 'Pobierz', 'cmdduplicate' : 'Duplikuj', 'cmdedit' : 'Edytuj plik', 'cmdextract' : 'Wypakuj pliki z archiwum', 'cmdforward' : 'Dalej', 'cmdgetfile' : 'Wybierz pliki', 'cmdhelp' : 'Informacje o programie', 'cmdhome' : 'Główny', 'cmdinfo' : 'Właściwości', 'cmdmkdir' : 'Nowy katalog', 'cmdmkdirin' : 'Do nowego katalogu', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nowy plik', 'cmdopen' : 'Otwórz', 'cmdpaste' : 'Wklej', 'cmdquicklook' : 'Podgląd', 'cmdreload' : 'Odśwież', 'cmdrename' : 'Zmień nazwę', 'cmdrm' : 'Usuń', 'cmdtrash' : 'Do kosza', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Przywróć', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Wyszukaj pliki', 'cmdup' : 'Przejdź do katalogu nadrzędnego', 'cmdupload' : 'Wyślij pliki', 'cmdview' : 'Widok', 'cmdresize' : 'Zmień rozmiar i Obróć', 'cmdsort' : 'Sortuj', 'cmdnetmount' : 'Zamontuj wolumin sieciowy', // added 18.04.2012 'cmdnetunmount': 'Odmontuj', // from v2.1 added 30.04.2012 'cmdplaces' : 'Do Miejsc', // added 28.12.2014 'cmdchmod' : 'Zmiana trybu', // from v2.1 added 20.6.2015 'cmdopendir' : 'Otwórz katalog', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Resetuj szerokość kolumny', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Pełny ekran', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Przenieś', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Opróżnij folder', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Cofnij', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Ponów', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferencje', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Zaznacz wszystko', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Odznacz wszystko', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Odwróć wybór', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Otwórz w nowym oknie', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Ukryj (osobiste)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Zamknij', 'btnSave' : 'Zapisz', 'btnRm' : 'Usuń', 'btnApply' : 'Zastosuj', 'btnCancel' : 'Anuluj', 'btnNo' : 'Nie', 'btnYes' : 'Tak', 'btnMount' : 'Montuj', // added 18.04.2012 'btnApprove': 'Idź do $1 & zatwierdź', // from v2.1 added 26.04.2012 'btnUnmount': 'Odmontuj', // from v2.1 added 30.04.2012 'btnConv' : 'Konwertuj', // from v2.1 added 08.04.2014 'btnCwd' : 'Tutaj', // from v2.1 added 22.5.2015 'btnVolume' : 'Wolumin', // from v2.1 added 22.5.2015 'btnAll' : 'Wszystko', // from v2.1 added 22.5.2015 'btnMime' : 'Typ MIME', // from v2.1 added 22.5.2015 'btnFileName':'Nazwa pliku', // from v2.1 added 22.5.2015 'btnSaveClose': 'Zapisz & Zamknij', // from v2.1 added 12.6.2015 'btnBackup' : 'Kopia zapasowa', // fromv2.1 added 28.11.2015 'btnRename' : 'Zmień nazwę', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Zmień nazwę(Wszystkie)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Poprz ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Nast ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Zapisz Jako', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Otwieranie katalogu', 'ntffile' : 'Otwórz plik', 'ntfreload' : 'Odśwież zawartość katalogu', 'ntfmkdir' : 'Tworzenie katalogu', 'ntfmkfile' : 'Tworzenie plików', 'ntfrm' : 'Usuwanie plików', 'ntfcopy' : 'Kopiowanie plików', 'ntfmove' : 'Przenoszenie plików', 'ntfprepare' : 'Przygotowanie do kopiowania plików', 'ntfrename' : 'Zmiana nazw plików', 'ntfupload' : 'Wysyłanie plików', 'ntfdownload' : 'Pobieranie plików', 'ntfsave' : 'Zapisywanie plików', 'ntfarchive' : 'Tworzenie archiwum', 'ntfextract' : 'Wypakowywanie plików z archiwum', 'ntfsearch' : 'Wyszukiwanie plików', 'ntfresize' : 'Zmiana rozmiaru obrazów', 'ntfsmth' : 'Robienie czegoś >_<', 'ntfloadimg' : 'Ładowanie obrazu', 'ntfnetmount' : 'Montaż woluminu sieciowego', // added 18.04.2012 'ntfnetunmount': 'Odłączanie woluminu sieciowego', // from v2.1 added 30.04.2012 'ntfdim' : 'Pozyskiwanie wymiaru obrazu', // added 20.05.2013 'ntfreaddir' : 'Odczytywanie informacji katalogu', // from v2.1 added 01.07.2013 'ntfurl' : 'Pobieranie URL linku', // from v2.1 added 11.03.2014 'ntfchmod' : 'Zmiana trybu pliku', // from v2.1 added 20.6.2015 'ntfpreupload': 'Weryfikacja nazwy przesłanego pliku', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Tworzenie pliku do pobrania', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Uzyskiwanie informacji o ścieżce', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Przetwarzanie przesłanego pliku', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Wykonuje wrzucanie do kosza', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Wykonuje przywracanie z kosza', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Sprawdzanie folderu docelowego', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Cofanie poprzedniej operacji', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Ponownie poprzednio cofnięte', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Sprawdzanie zawartości', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Śmieci', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'nieznana', 'Today' : 'Dzisiaj', 'Yesterday' : 'Wczoraj', 'msJan' : 'Sty', 'msFeb' : 'Lut', 'msMar' : 'Mar', 'msApr' : 'Kwi', 'msMay' : 'Maj', 'msJun' : 'Cze', 'msJul' : 'Lip', 'msAug' : 'Sie', 'msSep' : 'Wrz', 'msOct' : 'Paź', 'msNov' : 'Lis', 'msDec' : 'Gru', 'January' : 'Styczeń', 'February' : 'Luty', 'March' : 'Marzec', 'April' : 'Kwiecień', 'May' : 'Maj', 'June' : 'Czerwiec', 'July' : 'Lipiec', 'August' : 'Sierpień', 'September' : 'Wrzesień', 'October' : 'Październik', 'November' : 'Listopad', 'December' : 'Grudzień', 'Sunday' : 'Niedziela', 'Monday' : 'Poniedziałek', 'Tuesday' : 'Wtorek', 'Wednesday' : 'Środa', 'Thursday' : 'Czwartek', 'Friday' : 'Piątek', 'Saturday' : 'Sobota', 'Sun' : 'Nie', 'Mon' : 'Pon', 'Tue' : 'Wto', 'Wed' : 'Śro', 'Thu' : 'Czw', 'Fri' : 'Pią', 'Sat' : 'Sob', /******************************** sort variants ********************************/ 'sortname' : 'w/g nazwy', 'sortkind' : 'w/g typu', 'sortsize' : 'w/g rozmiaru', 'sortdate' : 'w/g daty', 'sortFoldersFirst' : 'katalogi pierwsze', 'sortperm' : 'wg/nazwy', // from v2.1.13 added 13.06.2016 'sortmode' : 'wg/trybu', // from v2.1.13 added 13.06.2016 'sortowner' : 'wg/właściciela', // from v2.1.13 added 13.06.2016 'sortgroup' : 'wg/grup', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Również drzewa katalogów', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NowyPlik.txt', // added 10.11.2015 'untitled folder' : 'NowyFolder', // added 10.11.2015 'Archive' : 'NoweArchiwum', // from v2.1 added 10.11.2015 'untitled file' : 'NowyPlik.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1 Plik', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Wymagane potwierdzenie', 'confirmRm' : 'Czy na pewno chcesz usunąć pliki?
                      Tej operacji nie można cofnąć!', 'confirmRepl' : 'Zastąpić stary plik nowym?', 'confirmRest' : 'Zamienić istniejący element na pozycję w koszu?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Nie w UTF-8
                      Konwertować na UTF-8?
                      Zawartość stanie się UTF-8 poprzez zapisanie po konwersji.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Nie można wykryć kodowania tego pliku. Musi być tymczasowo przekształcony do UTF-8.
                      Proszę wybrać kodowanie znaków tego pliku.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Został zmodyfikowany.
                      Utracisz pracę, jeśli nie zapiszesz zmian.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Czy na pewno chcesz przenieść elementy do kosza?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Czy na pewno chcesz przenieść elementy do "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Zastosuj do wszystkich', 'name' : 'Nazwa', 'size' : 'Rozmiar', 'perms' : 'Uprawnienia', 'modify' : 'Zmodyfikowany', 'kind' : 'Typ', 'read' : 'odczyt', 'write' : 'zapis', 'noaccess' : 'brak dostępu', 'and' : 'i', 'unknown' : 'nieznany', 'selectall' : 'Zaznacz wszystkie pliki', 'selectfiles' : 'Zaznacz plik(i)', 'selectffile' : 'Zaznacz pierwszy plik', 'selectlfile' : 'Zaznacz ostatni plik', 'viewlist' : 'Widok listy', 'viewicons' : 'Widok ikon', 'viewSmall' : 'Małe ikony', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Średnie ikony', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Duże ikony', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Bardzo duże ikony', // from v2.1.39 added 22.5.2018 'places' : 'Ulubione', 'calc' : 'Obliczanie', 'path' : 'Ścieżka', 'aliasfor' : 'Alias do', 'locked' : 'Zablokowany', 'dim' : 'Wymiary', 'files' : 'Plik(ów)', 'folders' : 'Katalogi', 'items' : 'Element(ów)', 'yes' : 'tak', 'no' : 'nie', 'link' : 'Odnośnik', 'searcresult' : 'Wyniki wyszukiwania', 'selected' : 'zaznaczonych obiektów', 'about' : 'O programie', 'shortcuts' : 'Skróty klawiaturowe', 'help' : 'Pomoc', 'webfm' : 'Menedżer plików sieciowych', 'ver' : 'Wersja', 'protocolver' : 'wersja protokołu', 'homepage' : 'Strona projektu', 'docs' : 'Dokumentacja', 'github' : 'Obserwuj rozwój projektu na Github', 'twitter' : 'Śledź nas na Twitterze', 'facebook' : 'Dołącz do nas na Facebooku', 'team' : 'Zespół', 'chiefdev' : 'główny programista', 'developer' : 'programista', 'contributor' : 'współautor', 'maintainer' : 'koordynator', 'translator' : 'tłumacz', 'icons' : 'Ikony', 'dontforget' : 'i nie zapomnij zabrać ręcznika', 'shortcutsof' : 'Skróty klawiaturowe są wyłączone', 'dropFiles' : 'Upuść pliki tutaj', 'or' : 'lub', 'selectForUpload' : 'Wybierz pliki', 'moveFiles' : 'Przenieś pliki', 'copyFiles' : 'Kopiuj pliki', 'restoreFiles' : 'Przywróć elementy', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Usuń z miejsc', 'aspectRatio' : 'Zachowaj proporcje', 'scale' : 'Skala', 'width' : 'Szerokość', 'height' : 'Wysokość', 'resize' : 'Zmień rozmiar', 'crop' : 'Przytnij', 'rotate' : 'Obróć', 'rotate-cw' : 'Obróć 90° w lewo', 'rotate-ccw' : 'Obróć 90° w prawo', 'degree' : '°', 'netMountDialogTitle' : 'Montaż woluminu sieciowego', // added 18.04.2012 'protocol' : 'Protokół', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Użytkownik', // added 18.04.2012 'pass' : 'Hasło', // added 18.04.2012 'confirmUnmount' : 'Czy chcesz odmontować $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Upuść lub Wklej pliki z przeglądarki', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Upuść lub Wklej tutaj pliki i adresy URL', // from v2.1 added 07.04.2014 'encoding' : 'Kodowanie', // from v2.1 added 19.12.2014 'locale' : 'Lokalne', // from v2.1 added 19.12.2014 'searchTarget' : 'Docelowo: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Wyszukiwanie poprzez wpisanie typu MIME', // from v2.1 added 22.5.2015 'owner' : 'Właściciel', // from v2.1 added 20.6.2015 'group' : 'Grupa', // from v2.1 added 20.6.2015 'other' : 'Inne', // from v2.1 added 20.6.2015 'execute' : 'Wykonaj', // from v2.1 added 20.6.2015 'perm' : 'Uprawnienia', // from v2.1 added 20.6.2015 'mode' : 'Tryb', // from v2.1 added 20.6.2015 'emptyFolder' : 'Katalog jest pusty', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Katalog jest pusty\\AUpuść aby dodać pozycje', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Katalog jest pusty\\ADotknij dłużej aby dodać pozycje', // from v2.1.6 added 30.12.2015 'quality' : 'Jakość', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto synchronizacja', // from v2.1.6 added 10.1.2016 'moveUp' : 'Przenieś w górę', // from v2.1.6 added 18.1.2016 'getLink' : 'Pobierz URL linku', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Wybrane pozycje ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID Katalogu', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Zezwól na dostęp offline', // from v2.1.10 added 3.25.2016 'reAuth' : 'Aby ponownie uwierzytelnić', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Teraz ładuję...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Otwieranie wielu plików', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Próbujesz otworzyć $1 plików. Czy na pewno chcesz, aby otworzyć w przeglądarce?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Wynik wyszukiwania jest pusty', // from v2.1.12 added 5.16.2016 'editingFile' : 'Edytujesz plik.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Masz wybranych $1 pozycji.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Masz $1 pozycji w schowku.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Wyszukiwanie przyrostowe jest wyłącznie z bieżącego widoku.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Przywracanie', // from v2.1.15 added 3.8.2016 'complete' : '$1 zakończone', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Menu kontekstowe', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Obracanie strony', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Wolumin główny', // from v2.1.16 added 16.9.2016 'reset' : 'Resetuj', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Kolor tła', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Wybierania kolorów', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Kratka', // from v2.1.16 added 4.10.2016 'enabled' : 'Włączone', // from v2.1.16 added 4.10.2016 'disabled' : 'Wyłączone', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Wyniki wyszukiwania są puste w bieżącym widoku.\\AWciśnij [Enter] aby poszerzyć zakres wyszukiwania.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Wyszukiwanie pierwszej litery brak wyników w bieżącym widoku.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Etykieta tekstowa', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 min pozostało', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Otwórz ponownie z wybranym kodowaniem', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Zapisz z wybranym kodowaniem', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Wybierz katalog', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Wyszukiwanie pierwszej litery', // from v2.1.23 added 24.3.2017 'presets' : 'Wstępnie ustalone', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'To zbyt wiele rzeczy, więc nie mogą być w koszu.', // from v2.1.25 added 9.6.2017 'TextArea' : 'PoleTekstowe', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Opróżnij folder "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Brak elementów w folderze "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preferencje', // from v2.1.26 added 28.6.2017 'language' : 'Ustawienie języka', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Zainicjuj ustawienia zapisane w tej przeglądarce', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Ustawienia paska narzędzi', // from v2.1.27 added 2.8.2017 'charsLeft' : '... pozostało $1 znak(ów).', // from v2.1.29 added 30.8.2017 'linesLeft' : '... pozostało $1 lini.', // from v2.1.52 added 16.1.2020 'sum' : 'Suma', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Przybliżony rozmiar pliku', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Skoncentruj się na elemencie dialogowym po najechaniu myszą', // from v2.1.30 added 2.11.2017 'select' : 'Wybierz', // from v2.1.30 added 23.11.2017 'selectAction' : 'Działanie po wybraniu pliku', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Otwórz za pomocą ostatnio używanego edytora', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Odwróć zaznaczenie', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Czy na pewno chcesz zmienić nazwę $1 wybranych elementów takich jak $2?
                      Tego nie da się cofnąć!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Zmień partiami', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Liczba', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Dodaj prefix', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Dodaj suffix', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Zmień rozszerzenie', // from v2.1.31 added 8.12.2017 'columnPref' : 'Ustawienia kolumn (Widok listy)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Wszystkie zmiany widoczne natychmiast w archiwum.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Wszelkie zmiany nie będą widoczne, dopóki nie odłączysz tego woluminu.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Następujący wolumin (y), zamontowany na tym urządzeniu również niezamontowany. Czy na pewno chcesz go odmontować?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Informacje Wyboru', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorytmy do pokazywania hash pliku', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info Elementów (Wybór Panelu Informacyjnego)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Naciśnij ponownie, aby wyjść.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Pasek narzędziowy', // from v2.1.38 added 4.4.2018 'workspace' : 'Obszar Pracy', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'Wszystko', // from v2.1.38 added 4.4.2018 'iconSize' : 'Rozmiar Ikony (Podgląd ikon)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Otwórz zmaksymalizowane okno edytora', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Ponieważ konwersja przez API nie jest obecnie dostępna, należy dokonać konwersji w witrynie.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Po konwersji musisz przesłać z adresem URL pozycji lub pobranym plikiem, aby zapisać przekonwertowany plik.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Konwertuj na stronie $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integracje', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Ten elFinder ma zintegrowane następujące usługi zewnętrzne. Przed użyciem ich sprawdź warunki użytkowania, politykę prywatności itp.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Pokaż ukryte pozycje', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Ukryj ukryte pozycje', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Pokaż/Ukryj ukryte pozycje', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Typy plików, które można włączyć za pomocą "Nowy plik"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Typ pliku tekstowego', // from v2.1.41 added 7.8.2018 'add' : 'Dodaj', // from v2.1.41 added 7.8.2018 'theme' : 'Motyw', // from v2.1.43 added 19.10.2018 'default' : 'Domyślnie', // from v2.1.43 added 19.10.2018 'description' : 'Opis', // from v2.1.43 added 19.10.2018 'website' : 'Witryna', // from v2.1.43 added 19.10.2018 'author' : 'Autor', // from v2.1.43 added 19.10.2018 'email' : 'E-mail', // from v2.1.43 added 19.10.2018 'license' : 'Licencja', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Tego elementu nie można zapisać. Aby uniknąć utraty zmian, musisz wyeksportować go na swój komputer.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Kliknij dwukrotnie plik, aby go wybrać.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Użyj trybu pełnoekranowego', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Nieznany', 'kindRoot' : 'Główny Wolumin', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Katalog', 'kindSelects' : 'Zaznaczenie', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Utracony alias', // applications 'kindApp' : 'Aplikacja', 'kindPostscript' : 'Dokument Postscript', 'kindMsOffice' : 'Dokument Office', 'kindMsWord' : 'Dokument Word', 'kindMsExcel' : 'Dokument Excel', 'kindMsPP' : 'Prezentacja PowerPoint', 'kindOO' : 'Dokument OpenOffice', 'kindAppFlash' : 'Aplikacja Flash', 'kindPDF' : 'Dokument przenośny PDF', 'kindTorrent' : 'Plik BitTorrent', 'kind7z' : 'Archiwum 7z', 'kindTAR' : 'Archiwum TAR', 'kindGZIP' : 'Archiwum GZIP', 'kindBZIP' : 'Archiwum BZIP', 'kindXZ' : 'Archiwum XZ', 'kindZIP' : 'Archiwum ZIP', 'kindRAR' : 'Archiwum RAR', 'kindJAR' : 'Plik Java JAR', 'kindTTF' : 'Czcionka TrueType', 'kindOTF' : 'Czcionka OpenType', 'kindRPM' : 'Pakiet RPM', // texts 'kindText' : 'Dokument tekstowy', 'kindTextPlain' : 'Zwykły tekst', 'kindPHP' : 'Kod źródłowy PHP', 'kindCSS' : 'Kaskadowe arkusze stylów', 'kindHTML' : 'Dokument HTML', 'kindJS' : 'Kod źródłowy Javascript', 'kindRTF' : 'Tekst sformatowany RTF', 'kindC' : 'Kod źródłowy C', 'kindCHeader' : 'Plik nagłówka C', 'kindCPP' : 'Kod źródłowy C++', 'kindCPPHeader' : 'Plik nagłówka C++', 'kindShell' : 'Skrypt powłoki Unix', 'kindPython' : 'Kod źródłowy Python', 'kindJava' : 'Kod źródłowy Java', 'kindRuby' : 'Kod źródłowy Ruby', 'kindPerl' : 'Skrypt Perl', 'kindSQL' : 'Kod źródłowy SQL', 'kindXML' : 'Dokument XML', 'kindAWK' : 'Kod źródłowy AWK', 'kindCSV' : 'Tekst rozdzielany przecinkami CSV', 'kindDOCBOOK' : 'Dokument Docbook XML', 'kindMarkdown' : 'Tekst promocyjny', // added 20.7.2015 // images 'kindImage' : 'Obraz', 'kindBMP' : 'Obraz BMP', 'kindJPEG' : 'Obraz JPEG', 'kindGIF' : 'Obraz GIF', 'kindPNG' : 'Obraz PNG', 'kindTIFF' : 'Obraz TIFF', 'kindTGA' : 'Obraz TGA', 'kindPSD' : 'Obraz Adobe Photoshop', 'kindXBITMAP' : 'Obraz X BitMap', 'kindPXM' : 'Obraz Pixelmator', // media 'kindAudio' : 'Plik dźwiękowy', 'kindAudioMPEG' : 'Plik dźwiękowy MPEG', 'kindAudioMPEG4' : 'Plik dźwiękowy MPEG-4', 'kindAudioMIDI' : 'Plik dźwiękowy MIDI', 'kindAudioOGG' : 'Plik dźwiękowy Ogg Vorbis', 'kindAudioWAV' : 'Plik dźwiękowy WAV', 'AudioPlaylist' : 'Lista odtwarzania MP3', 'kindVideo' : 'Plik wideo', 'kindVideoDV' : 'Plik wideo DV', 'kindVideoMPEG' : 'Plik wideo MPEG', 'kindVideoMPEG4' : 'Plik wideo MPEG-4', 'kindVideoAVI' : 'Plik wideo AVI', 'kindVideoMOV' : 'Plik wideo Quick Time', 'kindVideoWM' : 'Plik wideo Windows Media', 'kindVideoFlash' : 'Plik wideo Flash', 'kindVideoMKV' : 'Plik wideo Matroska', 'kindVideoOGG' : 'Plik wideo Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.pt_BR.js000064400000103364151202472330014621 0ustar00/** * Português translation * @author Leandro Carvalho * @author Wesley Osorio * @author Fernando H. Bandeira * @author Gustavo Brito * @version 2019-10-22 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.pt_BR = { translator : 'Leandro Carvalho <contato@leandrowebdev.net>, Wesley Osorio<wesleyfosorio@hotmail.com>, Fernando H. Bandeira <fernando.bandeira94@gmail.com>, Gustavo Brito <britopereiragustavo@gmail.com>', language : 'Português', direction : 'ltr', dateFormat : 'd M Y H:i', // will show like: 22 Out 2019 11:34 fancyDateFormat : '$1 H:i', // will show like: Hoje 11:34 nonameDateFormat : 'ymd-His', // noname upload will show like: 191022-113433 messages : { /********************************** errors **********************************/ 'error' : 'Erro', 'errUnknown' : 'Erro desconhecido.', 'errUnknownCmd' : 'Comando desconhecido.', 'errJqui' : 'Configuração inválida do JQuery UI. Verifique se os componentes selectable, draggable e droppable estão incluídos.', 'errNode' : 'elFinder requer um elemento DOM para ser criado.', 'errURL' : 'Configuração inválida do elFinder! Você deve setar a opção da URL.', 'errAccess' : 'Acesso negado.', 'errConnect' : 'Incapaz de conectar ao backend.', 'errAbort' : 'Conexão abortada.', 'errTimeout' : 'Tempo de conexão excedido', 'errNotFound' : 'Backend não encontrado.', 'errResponse' : 'Resposta inválida do backend.', 'errConf' : 'Configuração inválida do backend.', 'errJSON' : 'Módulo PHP JSON não está instalado.', 'errNoVolumes' : 'Não existe nenhum volume legível disponivel.', 'errCmdParams' : 'Parâmetro inválido para o comando "$1".', 'errDataNotJSON' : 'Dados não estão no formato JSON.', 'errDataEmpty' : 'Dados vazios.', 'errCmdReq' : 'Requisição do Backend requer nome de comando.', 'errOpen' : 'Incapaz de abrir "$1".', 'errNotFolder' : 'Objeto não é uma pasta.', 'errNotFile' : 'Objeto não é um arquivo.', 'errRead' : 'Incapaz de ler "$1".', 'errWrite' : 'Incapaz de escrever em "$1".', 'errPerm' : 'Permissão negada.', 'errLocked' : '"$1" está bloqueado e não pode ser renomeado, movido ou removido.', 'errExists' : 'O nome do arquivo "$1" já existe neste local.', 'errInvName' : 'Nome do arquivo inválido.', 'errInvDirname' : 'Nome da pasta inválida.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Pasta não encontrada.', 'errFileNotFound' : 'Arquivo não encontrado.', 'errTrgFolderNotFound' : 'Pasta de destino "$1" não encontrada.', 'errPopup' : 'O seu navegador está bloqueando popup\'s. Para abrir o arquivo, altere esta opção no seu Navegador.', 'errMkdir' : 'Incapaz de criar a pasta "$1".', 'errMkfile' : 'Incapaz de criar o arquivo "$1".', 'errRename' : 'Incapaz de renomear "$1".', 'errCopyFrom' : 'Copia dos arquivos do volume "$1" não permitida.', 'errCopyTo' : 'Copia dos arquivos para o volume "$1" não permitida.', 'errMkOutLink' : 'Incapaz de criar um link fora da unidade raiz.', // from v2.1 added 03.10.2015 'errUpload' : 'Erro no upload.', // old name - errUploadCommon 'errUploadFile' : 'Não foi possível fazer o upload "$1".', // old name - errUpload 'errUploadNoFiles' : 'Não foi encontrado nenhum arquivo para upload.', 'errUploadTotalSize' : 'Os dados excedem o tamanho máximo permitido.', // old name - errMaxSize 'errUploadFileSize' : 'Arquivo excede o tamanho máximo permitido.', // old name - errFileMaxSize 'errUploadMime' : 'Tipo de arquivo não permitido.', 'errUploadTransfer' : '"$1" erro na transferência.', 'errUploadTemp' : 'Incapaz de criar um arquivo temporário para upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Objeto "$1" já existe neste local e não pode ser substituído por um objeto com outro tipo.', // new 'errReplace' : 'Incapaz de substituir "$1".', 'errSave' : 'Incapaz de salvar "$1".', 'errCopy' : 'Incapaz de copiar "$1".', 'errMove' : 'Incapaz de mover "$1".', 'errCopyInItself' : 'Incapaz de copiar "$1" nele mesmo.', 'errRm' : 'Incapaz de remover "$1".', 'errTrash' : 'Incapaz de deletar.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Incapaz de remover o(s) arquivo(s) fonte.', 'errExtract' : 'Incapaz de extrair os arquivos de "$1".', 'errArchive' : 'Incapaz de criar o arquivo.', 'errArcType' : 'Tipo de arquivo não suportado.', 'errNoArchive' : 'Arquivo inválido ou é de um tipo não suportado.', 'errCmdNoSupport' : 'Backend não suporta este comando.', 'errReplByChild' : 'A pasta “$1” não pode ser substituída por um item que contém.', 'errArcSymlinks' : 'Por razões de segurança, negada a permissão para descompactar arquivos que contenham links ou arquivos com nomes não permitidos.', // edited 24.06.2012 'errArcMaxSize' : 'Arquivo excede o tamanho máximo permitido.', 'errResize' : 'Incapaz de redimensionar "$1".', 'errResizeDegree' : 'Grau de rotação inválido.', // added 7.3.2013 'errResizeRotate' : 'Incapaz de rotacionar a imagem.', // added 7.3.2013 'errResizeSize' : 'Tamanho inválido de imagem.', // added 7.3.2013 'errResizeNoChange' : 'Tamanho da imagem não alterado.', // added 7.3.2013 'errUsupportType' : 'Tipo de arquivo não suportado.', 'errNotUTF8Content' : 'Arquivo "$1" não está em UTF-8 e não pode ser editado.', // added 9.11.2011 'errNetMount' : 'Incapaz de montar montagem "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protocolo não suportado.', // added 17.04.2012 'errNetMountFailed' : 'Montagem falhou.', // added 17.04.2012 'errNetMountHostReq' : 'Servidor requerido.', // added 18.04.2012 'errSessionExpires' : 'Sua sessão expirou por inatividade.', 'errCreatingTempDir' : 'Não foi possível criar um diretório temporário: "$1"', 'errFtpDownloadFile' : 'Não foi possível fazer o download do arquivo do FTP: "$1"', 'errFtpUploadFile' : 'Não foi possível fazer o upload do arquivo para o FTP: "$1"', 'errFtpMkdir' : 'Não foi possível criar um diretório remoto no FTP: "$1"', 'errArchiveExec' : 'Erro ao arquivar os arquivos: "$1"', 'errExtractExec' : 'Erro na extração dos arquivos: "$1"', 'errNetUnMount' : 'Incapaz de desmontar', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Não conversivel para UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Tente utilizar o Google Chrome, se você deseja enviar uma pasta.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Tempo limite atingido para a busca "$1". O resultado da pesquisa é parcial.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Re-autorização é necessária.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'O número máximo de itens selecionáveis ​​é $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Não foi possível restaurar a partir do lixo. Não é possível identificar o destino da restauração.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor não encontrado para este tipo de arquivo.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Ocorreu um erro no lado do servidor.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Não foi possível esvaziar a pasta "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Existem mais $1 erros.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Criar arquivo', 'cmdback' : 'Voltar', 'cmdcopy' : 'Copiar', 'cmdcut' : 'Cortar', 'cmddownload' : 'Baixar', 'cmdduplicate' : 'Duplicar', 'cmdedit' : 'Editar arquivo', 'cmdextract' : 'Extrair arquivo de ficheiros', 'cmdforward' : 'Avançar', 'cmdgetfile' : 'Selecionar arquivos', 'cmdhelp' : 'Sobre este software', 'cmdhome' : 'Home', 'cmdinfo' : 'Propriedades', 'cmdmkdir' : 'Nova pasta', 'cmdmkdirin' : 'Em uma nova pasta', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Novo arquivo', 'cmdopen' : 'Abrir', 'cmdpaste' : 'Colar', 'cmdquicklook' : 'Pré-vizualização', 'cmdreload' : 'Recarregar', 'cmdrename' : 'Renomear', 'cmdrm' : 'Deletar', 'cmdtrash' : 'Mover para a lixeira', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restaurar', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Achar arquivos', 'cmdup' : 'Ir para o diretório pai', 'cmdupload' : 'Fazer upload de arquivo', 'cmdview' : 'Vizualizar', 'cmdresize' : 'Redimencionar & Rotacionar', 'cmdsort' : 'Ordenar', 'cmdnetmount' : 'Montar unidade de rede', // added 18.04.2012 'cmdnetunmount': 'Desmontar', // from v2.1 added 30.04.2012 'cmdplaces' : 'Para locais', // added 28.12.2014 'cmdchmod' : 'Alterar permissão', // from v2.1 added 20.6.2015 'cmdopendir' : 'Abrir pasta', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Redefinir largura da coluna', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Tela cheia', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Mover', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Esvaziar a pasta', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Desfazer', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Refazer', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferências', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Selecionar tudo', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Selecionar nenhum', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Inverter seleção', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Abrir em nova janela', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Ocultar (preferência)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Fechar', 'btnSave' : 'Salvar', 'btnRm' : 'Remover', 'btnApply' : 'Aplicar', 'btnCancel' : 'Cancelar', 'btnNo' : 'Não', 'btnYes' : 'Sim', 'btnMount' : 'Montar', // added 18.04.2012 'btnApprove': 'Vá para $1 & aprove', // from v2.1 added 26.04.2012 'btnUnmount': 'Desmontar', // from v2.1 added 30.04.2012 'btnConv' : 'Converter', // from v2.1 added 08.04.2014 'btnCwd' : 'Aqui', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'Todos', // from v2.1 added 22.5.2015 'btnMime' : 'Tipo MIME', // from v2.1 added 22.5.2015 'btnFileName':'Nome do arquivo', // from v2.1 added 22.5.2015 'btnSaveClose': 'Salvar & Fechar', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Renomear', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Renomear (tudo)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Anterior ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Próximo ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Salvar como', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Abrir pasta', 'ntffile' : 'Abrir arquivo', 'ntfreload' : 'Recarregar conteudo da pasta', 'ntfmkdir' : 'Criar diretório', 'ntfmkfile' : 'Criar arquivos', 'ntfrm' : 'Deletar arquivos', 'ntfcopy' : 'Copiar arquivos', 'ntfmove' : 'Mover arquivos', 'ntfprepare' : 'Preparando para copiar arquivos', 'ntfrename' : 'Renomear arquivos', 'ntfupload' : 'Subindo os arquivos', 'ntfdownload' : 'Baixando os arquivos', 'ntfsave' : 'Salvando os arquivos', 'ntfarchive' : 'Criando os arquivos', 'ntfextract' : 'Extraindo arquivos compactados', 'ntfsearch' : 'Procurando arquivos', 'ntfresize' : 'Redimensionando imagens', 'ntfsmth' : 'Fazendo alguma coisa', 'ntfloadimg' : 'Carregando Imagem', 'ntfnetmount' : 'Montando unidade de rede', // added 18.04.2012 'ntfnetunmount': 'Desmontando unidade de rede', // from v2.1 added 30.04.2012 'ntfdim' : 'Adquirindo dimensão da imagem', // added 20.05.2013 'ntfreaddir' : 'Lendo informações da pasta', // from v2.1 added 01.07.2013 'ntfurl' : 'Recebendo URL do link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Alterando permissões do arquivo', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verificando o nome do arquivo de upload', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Criando um arquivo para download', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Obtendo informações do caminho', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Processando o arquivo carregado', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Movendo para a lixeira', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Restaurando da lixeira', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Verificando a pasta de destino', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Desfazendo a operação anterior', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Refazendo o desfazer anterior', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Verificando conteúdos', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Lixo', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'Desconhecido', 'Today' : 'Hoje', 'Yesterday' : 'Ontem', 'msJan' : 'Jan', 'msFeb' : 'Fev', 'msMar' : 'Mar', 'msApr' : 'Abr', 'msMay' : 'Mai', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Ago', 'msSep' : 'Set', 'msOct' : 'Out', 'msNov' : 'Nov', 'msDec' : 'Dez', 'January' : 'Janeiro', 'February' : 'Fevereiro', 'March' : 'Março', 'April' : 'Abril', 'May' : 'Maio', 'June' : 'Junho', 'July' : 'Julho', 'August' : 'Agosto', 'September' : 'Setembro', 'October' : 'Outubro', 'November' : 'Novembro', 'December' : 'Dezembro', 'Sunday' : 'Domingo', 'Monday' : 'Segunda-feira', 'Tuesday' : 'Terça-feira', 'Wednesday' : 'Quarta-feira', 'Thursday' : 'Quinta-feira', 'Friday' : 'Sexta-feira', 'Saturday' : 'Sábado', 'Sun' : 'Dom', 'Mon' : 'Seg', 'Tue' : 'Ter', 'Wed' : 'Qua', 'Thu' : 'Qui', 'Fri' : 'Sex', 'Sat' : 'Sáb', /******************************** sort variants ********************************/ 'sortname' : 'por nome', 'sortkind' : 'por tipo', 'sortsize' : 'por tam.', 'sortdate' : 'por data', 'sortFoldersFirst' : 'Pastas primeiro', 'sortperm' : 'Com permissão', // from v2.1.13 added 13.06.2016 'sortmode' : 'Por modo', // from v2.1.13 added 13.06.2016 'sortowner' : 'Por proprietário', // from v2.1.13 added 13.06.2016 'sortgroup' : 'Por grupo', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Vizualizar em árvore', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NovoArquivo.txt', // added 10.11.2015 'untitled folder' : 'NovaPasta', // added 10.11.2015 'Archive' : 'NovoArquivo', // from v2.1 added 10.11.2015 'untitled file' : 'NovoArquivo.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: Arquivo', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Confirmação requerida', 'confirmRm' : 'Você tem certeza que deseja remover os arquivos?
                      Isto não pode ser desfeito!', 'confirmRepl' : 'Substituir arquivo velho com este novo?', 'confirmRest' : 'Substituir o item existente pelo item na lixeira?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Não está em UTF-8
                      Converter para UTF-8?
                      Conteúdo se torna UTF-8 após salvar as conversões.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Não foi possível detectar a codificação de caracteres deste arquivo. Ele precisa ser convertido temporariamente em UTF-8 para edição. Por favor, selecione a codificação de caracteres deste arquivo.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Isto foi modificado.
                      Você vai perder seu trabalho caso não salve as mudanças.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Tem certeza de que deseja mover itens para a lixeira?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Tem certeza de que deseja mover itens para "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Aplicar a todos', 'name' : 'Nome', 'size' : 'Tamanho', 'perms' : 'Permissões', 'modify' : 'Modificado', 'kind' : 'Tipo', 'read' : 'Ler', 'write' : 'Escrever', 'noaccess' : 'Inacessível', 'and' : 'e', 'unknown' : 'Desconhecido', 'selectall' : 'Selecionar todos arquivos', 'selectfiles' : 'Selecionar arquivo(s)', 'selectffile' : 'Selecionar primeiro arquivo', 'selectlfile' : 'Slecionar último arquivo', 'viewlist' : 'Exibir como lista', 'viewicons' : 'Exibir como ícones', 'viewSmall' : 'Ícones pequenos', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Ícones médios', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Ícones grandes', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Ícones gigantes', // from v2.1.39 added 22.5.2018 'places' : 'Lugares', 'calc' : 'Calcular', 'path' : 'Caminho', 'aliasfor' : 'Alias para', 'locked' : 'Bloqueado', 'dim' : 'Dimesões', 'files' : 'Arquivos', 'folders' : 'Pastas', 'items' : 'Itens', 'yes' : 'sim', 'no' : 'não', 'link' : 'Link', 'searcresult' : 'Resultados da pesquisa', 'selected' : 'itens selecionados', 'about' : 'Sobre', 'shortcuts' : 'Atalhos', 'help' : 'Ajuda', 'webfm' : 'Gerenciador de arquivos web', 'ver' : 'Versão', 'protocolver' : 'Versão do protocolo', 'homepage' : 'Home do projeto', 'docs' : 'Documentação', 'github' : 'Fork us on Github', 'twitter' : 'Siga-nos no twitter', 'facebook' : 'Junte-se a nós no Facebook', 'team' : 'Time', 'chiefdev' : 'Desenvolvedor chefe', 'developer' : 'Desenvolvedor', 'contributor' : 'Contribuinte', 'maintainer' : 'Mantenedor', 'translator' : 'Tradutor', 'icons' : 'Ícones', 'dontforget' : 'e não se esqueça de levar a sua toalha', 'shortcutsof' : 'Atalhos desabilitados', 'dropFiles' : 'Solte os arquivos aqui', 'or' : 'ou', 'selectForUpload' : 'Selecione arquivos para upload', 'moveFiles' : 'Mover arquivos', 'copyFiles' : 'Copiar arquivos', 'restoreFiles' : 'Restaurar itens', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Remover de Lugares', 'aspectRatio' : 'Manter aspecto', 'scale' : 'Tamanho', 'width' : 'Largura', 'height' : 'Altura', 'resize' : 'Redimencionar', 'crop' : 'Cortar', 'rotate' : 'Rotacionar', 'rotate-cw' : 'Girar 90 graus CW', 'rotate-ccw' : 'Girar 90 graus CCW', 'degree' : '°', 'netMountDialogTitle' : 'Montar Unidade de rede', // added 18.04.2012 'protocol' : 'Protocolo', // added 18.04.2012 'host' : 'Servidor', // added 18.04.2012 'port' : 'Porta', // added 18.04.2012 'user' : 'Usuário', // added 18.04.2012 'pass' : 'Senha', // added 18.04.2012 'confirmUnmount' : 'Deseja desmontar $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Soltar ou colar arquivos do navegador', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Solte ou cole arquivos aqui', // from v2.1 added 07.04.2014 'encoding' : 'Codificação', // from v2.1 added 19.12.2014 'locale' : 'Local', // from v2.1 added 19.12.2014 'searchTarget' : 'Alvo: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Perquisar por input MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Dono', // from v2.1 added 20.6.2015 'group' : 'Grupo', // from v2.1 added 20.6.2015 'other' : 'Outro', // from v2.1 added 20.6.2015 'execute' : 'Executar', // from v2.1 added 20.6.2015 'perm' : 'Permissão', // from v2.1 added 20.6.2015 'mode' : 'Modo', // from v2.1 added 20.6.2015 'emptyFolder' : 'Pasta vazia', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Pasta vazia\\A Arraste itens para os adicionar', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Pasta vazia\\A De um toque longo para adicionar itens', // from v2.1.6 added 30.12.2015 'quality' : 'Qualidade', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sincronização', // from v2.1.6 added 10.1.2016 'moveUp' : 'Mover para cima', // from v2.1.6 added 18.1.2016 'getLink' : 'Obter link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Itens selecionados ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID da pasta', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Permitir acesso offline', // from v2.1.10 added 3.25.2016 'reAuth' : 'Se autenticar novamente', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Carregando...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Abrir múltiplos arquivos', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Você está tentando abrir os arquivos $1. Tem certeza de que deseja abrir no navegador?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Os resultados da pesquisa estão vazios no destino da pesquisa.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Arquivo sendo editado.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Voce selecionou $1 itens.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Você tem $1 itens na área de transferência.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'A pesquisa incremental é apenas da visualização atual.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Restabelecer', // from v2.1.15 added 3.8.2016 'complete' : '$1 completo', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Menu contextual', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Virar página', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Raízes de volume', // from v2.1.16 added 16.9.2016 'reset' : 'Resetar', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Cor de fundo', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Seletor de cores', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'Grade 8px', // from v2.1.16 added 4.10.2016 'enabled' : 'Ativado', // from v2.1.16 added 4.10.2016 'disabled' : 'Desativado', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Os resultados da pesquisa estão vazios na exibição atual.\\APressione [Enter] para expandir o alvo da pesquisa.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Os resultados da pesquisa da primeira letra estão vazios na exibição atual.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Texto do rótulo', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 minutos restantes', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reabrir com a codificação selecionada', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Salvar com a codificação selecionada', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Selecione a pasta', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Buscar primeira letra', // from v2.1.23 added 24.3.2017 'presets' : 'Predefinições', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'São muitos itens, portanto não podem ser jogados no lixo.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Esvaziar a pasta "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Não há itens em uma pasta "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preferência', // from v2.1.26 added 28.6.2017 'language' : 'Língua', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Inicialize as configurações salvas neste navegador', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Barra de ferramentas', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 caracteres restantes.', // from v2.1.29 added 30.8.2017 'sum' : 'Somar', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Tamanho aproximado do arquivo', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focar no elemento do diálogo com o mouse por cima', // from v2.1.30 added 2.11.2017 'select' : 'Selecione', // from v2.1.30 added 23.11.2017 'selectAction' : 'Ação ao selecionar arquivo', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Abrir com o editor usado pela última vez', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Inverter seleção', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Tem certeza de que deseja renomear $1 itens selecionados como $2?
                      Isto não poderá ser desfeito!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Renomear Batch', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Número', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Adicionar prefixo', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Adicionar sufixo', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Alterar extensão', // from v2.1.31 added 8.12.2017 'columnPref' : 'Configurações de colunas (exibição em lista)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Todas as alterações serão refletidas imediatamente no arquivo.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Quaisquer alterações não serão refletidas até desmontar este volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'O(s) seguinte(s) volume(s) montado neste volume também desmontado. Você tem certeza que quer desmontá-lo(s)?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Informações da seleção', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algoritmos para mostrar o hash do arquivo', // from v2.1.33 added 10.3.2018 'infoItems' : 'Itens de informação (painel Informações de seleção)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Pressione novamente para sair.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Barra de ferramentas', // from v2.1.38 added 4.4.2018 'workspace' : 'Área de trabalho', // from v2.1.38 added 4.4.2018 'dialog' : 'Diálogo', // from v2.1.38 added 4.4.2018 'all' : 'Tudo', // from v2.1.38 added 4.4.2018 'iconSize' : 'Tamanho do ícone (Visualização de ícones)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Abra a janela maximizada do editor', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Como a conversão por API não está disponível no momento, faça a conversão no site.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Após a conversão, você deve fazer o upload com o URL do item ou um arquivo baixado para salvar o arquivo convertido.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Converter no site $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrações', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Este elFinder possui os seguintes serviços externos integrados. Por favor, verifique os termos de uso, política de privacidade, etc. antes de usá-lo.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Mostrar itens ocultos', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Ocultar itens ocultos', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Mostrar/Ocultar itens ocultos', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Tipos de arquivo para ativar com "Novo arquivo"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Tipo do arquivo de texto', // from v2.1.41 added 7.8.2018 'add' : 'Adicionar', // from v2.1.41 added 7.8.2018 'theme' : 'Tema', // from v2.1.43 added 19.10.2018 'default' : 'Padrão', // from v2.1.43 added 19.10.2018 'description' : 'Descrição', // from v2.1.43 added 19.10.2018 'website' : 'Site da internet', // from v2.1.43 added 19.10.2018 'author' : 'Autor', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'Licença', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Este item não pode ser salvo. Para evitar perder as edições, você precisa exportar para o seu PC.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Clique duas vezes no arquivo para selecioná-lo.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Usar o modo de tela cheia', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Desconhecio', 'kindRoot' : 'Raiz do volume', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Pasta', 'kindSelects' : 'Seleções', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Alias inválido', // applications 'kindApp' : 'Aplicação', 'kindPostscript' : 'Documento Postscript', 'kindMsOffice' : 'Documento Microsoft Office', 'kindMsWord' : 'Documento Microsoft Word', 'kindMsExcel' : 'Documento Microsoft Excel', 'kindMsPP' : 'Apresentação Microsoft Powerpoint', 'kindOO' : 'Documento Open Office', 'kindAppFlash' : 'Aplicação Flash', 'kindPDF' : 'Formato de Documento Portátil (PDF)', 'kindTorrent' : 'Arquivo Bittorrent', 'kind7z' : 'Arquivo 7z', 'kindTAR' : 'Arquivo TAR', 'kindGZIP' : 'Arquivo GZIP', 'kindBZIP' : 'Arquivo BZIP', 'kindXZ' : 'Arquivo XZ', 'kindZIP' : 'Arquivo ZIP', 'kindRAR' : 'Arquivo RAR', 'kindJAR' : 'Arquivo JAR', 'kindTTF' : 'Tipo verdadeiro da fonte', 'kindOTF' : 'Abrir tipo de fonte', 'kindRPM' : 'Pacote RPM', // texts 'kindText' : 'Arquivo de texto', 'kindTextPlain' : 'Texto simples', 'kindPHP' : 'PHP', 'kindCSS' : 'CSS', 'kindHTML' : 'Documento HTML', 'kindJS' : 'Javascript', 'kindRTF' : 'Formato Rich Text', 'kindC' : 'C', 'kindCHeader' : 'C cabeçalho', 'kindCPP' : 'C++', 'kindCPPHeader' : 'C++ cabeçalho', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python', 'kindJava' : 'Java', 'kindRuby' : 'Ruby', 'kindPerl' : 'Perl', 'kindSQL' : 'SQL', 'kindXML' : 'Documento XML', 'kindAWK' : 'AWK', 'kindCSV' : 'Valores separados por vírgula', 'kindDOCBOOK' : 'Documento Docbook XML', 'kindMarkdown' : 'Texto Markdown', // added 20.7.2015 // images 'kindImage' : 'Imagem', 'kindBMP' : 'Imagem BMP', 'kindJPEG' : 'Imagem JPEG', 'kindGIF' : 'Imagem GIF', 'kindPNG' : 'Imagem PNG', 'kindTIFF' : 'Imagem TIFF', 'kindTGA' : 'Imagem TGA', 'kindPSD' : 'Imagem Adobe Photoshop', 'kindXBITMAP' : 'Imagem X bitmap', 'kindPXM' : 'Imagem Pixelmator', // media 'kindAudio' : 'Arquivo de audio', 'kindAudioMPEG' : 'Audio MPEG', 'kindAudioMPEG4' : 'Audio MPEG-4', 'kindAudioMIDI' : 'Audio MIDI', 'kindAudioOGG' : 'Audio Ogg Vorbis', 'kindAudioWAV' : 'Audio WAV', 'AudioPlaylist' : 'Lista de reprodução MP3 ', 'kindVideo' : 'Arquivo de video', 'kindVideoDV' : 'DV filme', 'kindVideoMPEG' : 'Video MPEG', 'kindVideoMPEG4' : 'Video MPEG-4', 'kindVideoAVI' : 'Video AVI', 'kindVideoMOV' : 'Filme rápido', 'kindVideoWM' : 'Video Windows Media', 'kindVideoFlash' : 'Video Flash', 'kindVideoMKV' : 'MKV', 'kindVideoOGG' : 'Video Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.ro.js000064400000047423151202472330014236 0ustar00/** * Română translation * @author Cristian Tabacitu * @version 2015-11-13 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.ro = { translator : 'Cristian Tabacitu <hello@tabacitu.ro>', language : 'Română', direction : 'ltr', dateFormat : 'd M Y h:i', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM messages : { /********************************** errors **********************************/ 'error' : 'Eroare', 'errUnknown' : 'Eroare necunoscută.', 'errUnknownCmd' : 'Comandă necunoscuta.', 'errJqui' : 'Configurație jQuery UI necunoscută. Componentele selectable, draggable și droppable trebuie să fie incluse.', 'errNode' : 'elFinder necesită ca DOM Element să fie creat.', 'errURL' : 'Configurație elFinder nevalidă! URL option nu este setat.', 'errAccess' : 'Acces interzis.', 'errConnect' : 'Nu ne-am putut conecta la backend.', 'errAbort' : 'Conexiunea a fost oprită.', 'errTimeout' : 'Conexiunea a fost întreruptă.', 'errNotFound' : 'Nu am gasit backend-ul.', 'errResponse' : 'Răspuns backend greșit.', 'errConf' : 'Configurație backend greșită.', 'errJSON' : 'Modulul PHP JSON nu este instalat.', 'errNoVolumes' : 'Volumele citibile nu sunt disponibile.', 'errCmdParams' : 'Parametri greșiți pentru comanda "$1".', 'errDataNotJSON' : 'Datele nu sunt în format JSON.', 'errDataEmpty' : 'Datele sunt goale.', 'errCmdReq' : 'Cererea către backend necesită un nume de comandă.', 'errOpen' : 'Nu am putut deschide "$1".', 'errNotFolder' : 'Obiectul nu este un dosar.', 'errNotFile' : 'Obiectul nu este un fișier.', 'errRead' : 'Nu am putut citi "$1".', 'errWrite' : 'Nu am putu scrie în "$1".', 'errPerm' : 'Nu ai permisiunea necesară.', 'errLocked' : '"$1" este blocat și nu poate fi redenumit, mutat sau șters.', 'errExists' : 'Un fișier cu numele "$1" există deja.', 'errInvName' : 'Numele pentru fișier este greșit.', 'errFolderNotFound' : 'Nu am găsit dosarul.', 'errFileNotFound' : 'Nu am găsit fișierul.', 'errTrgFolderNotFound' : 'Nu am găsit dosarul pentru destinație "$1".', 'errPopup' : 'Browserul tău a prevenit deschiderea ferestrei popup. Pentru a deschide fișierul permite deschidere ferestrei.', 'errMkdir' : 'Nu am putut crea dosarul "$1".', 'errMkfile' : 'Nu am putut crea fișierul "$1".', 'errRename' : 'Nu am putut redenumi "$1".', 'errCopyFrom' : 'Copierea fișierelor de pe volumul "$1" este interzisă.', 'errCopyTo' : 'Copierea fișierelor către volumul "$1" este interzisă.', 'errMkOutLink' : 'Nu am putut crea linkul în afara volumului rădăcină.', // from v2.1 added 03.10.2015 'errUpload' : 'Eroare de upload.', // old name - errUploadCommon 'errUploadFile' : 'Nu am putut urca "$1".', // old name - errUpload 'errUploadNoFiles' : 'Nu am găsit fișiere pentru a le urca.', 'errUploadTotalSize' : 'Datele depâșest limita maximă de mărime.', // old name - errMaxSize 'errUploadFileSize' : 'Fișierul este prea mare.', // old name - errFileMaxSize 'errUploadMime' : 'Acest tip de fișier nu este permis.', 'errUploadTransfer' : 'Eroare la transferarea "$1".', 'errUploadTemp' : 'Nu am putut crea fișierul temporar pentru upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Obiectul "$1" există deja în acest loc și nu poate fi înlocuit de un obiect de alt tip.', // new 'errReplace' : 'Nu am putut înlocui "$1".', 'errSave' : 'Nu am putut salva "$1".', 'errCopy' : 'Nu am putut copia "$1".', 'errMove' : 'Nu am putut muta "$1".', 'errCopyInItself' : 'Nu am putut copia "$1" în el însuși.', 'errRm' : 'Nu am putut șterge "$1".', 'errRmSrc' : 'Nu am putut șterge fișierul sursă.', 'errExtract' : 'Nu am putut extrage fișierele din "$1".', 'errArchive' : 'Nu am putut crea arhiva.', 'errArcType' : 'Arhiva este de un tip nesuportat.', 'errNoArchive' : 'Fișierul nu este o arhiva sau este o arhivă de un tip necunoscut.', 'errCmdNoSupport' : 'Backend-ul nu suportă această comandă.', 'errReplByChild' : 'Dosarul “$1” nu poate fi înlocuit de un element pe care el îl conține.', 'errArcSymlinks' : 'Din motive de securitate, arhiva nu are voie să conțină symlinks sau fișiere cu nume interzise.', // edited 24.06.2012 'errArcMaxSize' : 'Fișierul arhivei depășește mărimea maximă permisă.', 'errResize' : 'Nu am putut redimensiona "$1".', 'errResizeDegree' : 'Grad de rotație nevalid.', // added 7.3.2013 'errResizeRotate' : 'Imaginea nu a fost rotită.', // added 7.3.2013 'errResizeSize' : 'Mărimea imaginii este nevalidă.', // added 7.3.2013 'errResizeNoChange' : 'Mărimea imaginii nu a fost schimbată.', // added 7.3.2013 'errUsupportType' : 'Tipul acesta de fișier nu este suportat.', 'errNotUTF8Content' : 'Fișierul "$1" nu folosește UTF-8 și nu poate fi editat.', // added 9.11.2011 'errNetMount' : 'Nu am putut încărca "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protocol nesuportat.', // added 17.04.2012 'errNetMountFailed' : 'Încărcare eșuată.', // added 17.04.2012 'errNetMountHostReq' : 'Gazda este necesară.', // added 18.04.2012 'errSessionExpires' : 'Sesiunea a expirat datorită lipsei de activitate.', 'errCreatingTempDir' : 'Nu am putut crea fișierul temporar: "$1"', 'errFtpDownloadFile' : 'Nu am putut descarca fișierul de pe FTP: "$1"', 'errFtpUploadFile' : 'Nu am putut încărca fișierul pe FTP: "$1"', 'errFtpMkdir' : 'Nu am putut crea acest dosar pe FTP: "$1"', 'errArchiveExec' : 'Eroare la arhivarea fișierelor: "$1"', 'errExtractExec' : 'Eroare la dezarhivarea fișierelor: "$1"', 'errNetUnMount' : 'Nu am putut elimina volumul', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Nu poate fi convertit la UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Pentru a urca dosare încearcă Google Chrome.', // from v2.1 added 26.6.2015 /******************************* commands names ********************************/ 'cmdarchive' : 'Creeaza arhivă', 'cmdback' : 'Înapoi', 'cmdcopy' : 'Copiază', 'cmdcut' : 'Taie', 'cmddownload' : 'Descarcă', 'cmdduplicate' : 'Creează duplicat', 'cmdedit' : 'Modifică fișier', 'cmdextract' : 'Extrage fișierele din arhivă', 'cmdforward' : 'Înainte', 'cmdgetfile' : 'Alege fișiere', 'cmdhelp' : 'Despre acest software', 'cmdhome' : 'Acasă', 'cmdinfo' : 'Informații', 'cmdmkdir' : 'Dosar nou', 'cmdmkfile' : 'Fișier nou', 'cmdopen' : 'Deschide', 'cmdpaste' : 'Lipește', 'cmdquicklook' : 'Previzualizează', 'cmdreload' : 'Reîncarcă', 'cmdrename' : 'Redenumește', 'cmdrm' : 'Șterge', 'cmdsearch' : 'Găsește fișiere', 'cmdup' : 'Mergi la dosarul părinte', 'cmdupload' : 'Urcă fișiere', 'cmdview' : 'Vezi', 'cmdresize' : 'Redimensionează & rotește', 'cmdsort' : 'Sortează', 'cmdnetmount' : 'Încarcă volum din rețea', // added 18.04.2012 'cmdnetunmount': 'Elimină volum', // from v2.1 added 30.04.2012 'cmdplaces' : 'La Locuri', // added 28.12.2014 'cmdchmod' : 'Schimbă mod', // from v2.1 added 20.6.2015 /*********************************** buttons ***********************************/ 'btnClose' : 'Închide', 'btnSave' : 'Salvează', 'btnRm' : 'Șterge', 'btnApply' : 'Aplică', 'btnCancel' : 'Anulează', 'btnNo' : 'Nu', 'btnYes' : 'Da', 'btnMount' : 'Încarcă', // added 18.04.2012 'btnApprove': 'Mergi la $1 și aprobă', // from v2.1 added 26.04.2012 'btnUnmount': 'Elimină volum', // from v2.1 added 30.04.2012 'btnConv' : 'Convertește', // from v2.1 added 08.04.2014 'btnCwd' : 'Aici', // from v2.1 added 22.5.2015 'btnVolume' : 'Volum', // from v2.1 added 22.5.2015 'btnAll' : 'Toate', // from v2.1 added 22.5.2015 'btnMime' : 'Tipuri MIME', // from v2.1 added 22.5.2015 'btnFileName':'Nume fișier', // from v2.1 added 22.5.2015 'btnSaveClose': 'Salvează și închide', // from v2.1 added 12.6.2015 /******************************** notifications ********************************/ 'ntfopen' : 'Deschide dosar', 'ntffile' : 'Deschide fișier', 'ntfreload' : 'Actualizează conținutul dosarului', 'ntfmkdir' : 'Se creează dosarul', 'ntfmkfile' : 'Se creează fișierele', 'ntfrm' : 'Șterge fișiere', 'ntfcopy' : 'Copiază fișiere', 'ntfmove' : 'Mută fișiere', 'ntfprepare' : 'Pregătește copierea fișierelor', 'ntfrename' : 'Redenumește fișiere', 'ntfupload' : 'Se urcă fișierele', 'ntfdownload' : 'Se descarcă fișierele', 'ntfsave' : 'Salvează fișiere', 'ntfarchive' : 'Se creează arhiva', 'ntfextract' : 'Se extrag fișierele din arhivă', 'ntfsearch' : 'Se caută fișierele', 'ntfresize' : 'Se redimnesionează imaginile', 'ntfsmth' : 'Se întamplă ceva', 'ntfloadimg' : 'Se încarcă imaginea', 'ntfnetmount' : 'Se încarcă volumul din rețea', // added 18.04.2012 'ntfnetunmount': 'Se elimină volumul din rețea', // from v2.1 added 30.04.2012 'ntfdim' : 'Se preiau dimensiunile imaginii', // added 20.05.2013 'ntfreaddir' : 'Se citesc informațiile dosarului', // from v2.1 added 01.07.2013 'ntfurl' : 'Se preia URL-ul din link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Se schimba modul de fișier', // from v2.1 added 20.6.2015 /************************************ dates **********************************/ 'dateUnknown' : 'necunoscută', 'Today' : 'Astăzi', 'Yesterday' : 'Ieri', 'msJan' : 'Ian', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Mai', 'msJun' : 'Iun', 'msJul' : 'Iul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Oct', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'Ianuarie', 'February' : 'Februarie', 'March' : 'Martie', 'April' : 'Aprilie', 'May' : 'Mai', 'June' : 'Iunie', 'July' : 'Iulie', 'August' : 'August', 'September' : 'Septembrie', 'October' : 'Octombrie', 'November' : 'Noiembrie', 'December' : 'Decembrie', 'Sunday' : 'Duminică', 'Monday' : 'Luni', 'Tuesday' : 'Marți', 'Wednesday' : 'Miercuri', 'Thursday' : 'Joi', 'Friday' : 'Vineri', 'Saturday' : 'Sâmbătă', 'Sun' : 'Du', 'Mon' : 'Lu', 'Tue' : 'Ma', 'Wed' : 'Mi', 'Thu' : 'Jo', 'Fri' : 'Vi', 'Sat' : 'Sâ', /******************************** sort variants ********************************/ 'sortname' : 'după nume', 'sortkind' : 'după tip', 'sortsize' : 'după mărime', 'sortdate' : 'după dată', 'sortFoldersFirst' : 'Dosarele primele', /********************************** new items **********************************/ 'untitled file.txt' : 'FisierNou.txt', // added 10.11.2015 'untitled folder' : 'DosarNou', // added 10.11.2015 'Archive' : 'ArhivaNoua', // from v2.1 added 10.11.2015 /********************************** messages **********************************/ 'confirmReq' : 'Este necesară confirmare', 'confirmRm' : 'Ești sigur că vrei să ștergi fișierele?
                      Acțiunea este ireversibilă!', 'confirmRepl' : 'Înlocuiește fișierul vechi cu cel nou?', 'confirmConvUTF8' : 'Nu este în UTF-8
                      Convertim la UTF-8?
                      Conținutul devine UTF-8 după salvarea conversiei.', // from v2.1 added 08.04.2014 'confirmNotSave' : 'Au avut loc modificări.
                      Dacă nu salvezi se vor pierde modificările.', // from v2.1 added 15.7.2015 'apllyAll' : 'Aplică pentru toate', 'name' : 'Nume', 'size' : 'Mărime', 'perms' : 'Permisiuni', 'modify' : 'Modificat la', 'kind' : 'Tip', 'read' : 'citire', 'write' : 'scriere', 'noaccess' : 'acces interzis', 'and' : 'și', 'unknown' : 'necunoscut', 'selectall' : 'Alege toate fișierele', 'selectfiles' : 'Alege fișier(e)', 'selectffile' : 'Alege primul fișier', 'selectlfile' : 'Alege ultimul fișier', 'viewlist' : 'Vezi ca listă', 'viewicons' : 'Vezi ca icoane', 'places' : 'Locuri', 'calc' : 'Calculează', 'path' : 'Cale', 'aliasfor' : 'Alias pentru', 'locked' : 'Securizat', 'dim' : 'Dimensiuni', 'files' : 'Fișiere', 'folders' : 'Dosare', 'items' : 'Elemente', 'yes' : 'da', 'no' : 'nu', 'link' : 'Link', 'searcresult' : 'Rezultatele căutării', 'selected' : 'elemente alese', 'about' : 'Despre', 'shortcuts' : 'Scurtături', 'help' : 'Ajutor', 'webfm' : 'Manager web pentru fișiere', 'ver' : 'Versiune', 'protocolver' : 'versiune protocol', 'homepage' : 'Pagina proiectului', 'docs' : 'Documentație', 'github' : 'Fork nou pe Github', 'twitter' : 'Urmărește-ne pe twitter', 'facebook' : 'Alătura-te pe facebook', 'team' : 'Echipa', 'chiefdev' : 'chief developer', 'developer' : 'developer', 'contributor' : 'contributor', 'maintainer' : 'maintainer', 'translator' : 'translator', 'icons' : 'Icoane', 'dontforget' : 'și nu uita să-ți iei prosopul', 'shortcutsof' : 'Scurtăturile sunt dezactivate', 'dropFiles' : 'Dă drumul fișierelor aici', 'or' : 'sau', 'selectForUpload' : 'Alege fișiere pentru a le urca', 'moveFiles' : 'Mută fișiere', 'copyFiles' : 'Copiază fișiere', 'rmFromPlaces' : 'Șterge din locuri', 'aspectRatio' : 'Aspect ratio', 'scale' : 'Scală', 'width' : 'Lățime', 'height' : 'Înălțime', 'resize' : 'Redimensionează', 'crop' : 'Decupează', 'rotate' : 'Rotește', 'rotate-cw' : 'Rotește cu 90° în sensul ceasului', 'rotate-ccw' : 'Rotește cu 90° în sensul invers ceasului', 'degree' : '°', 'netMountDialogTitle' : 'Încarcă volum din rețea', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Gazdă', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Utilizator', // added 18.04.2012 'pass' : 'Parolă', // added 18.04.2012 'confirmUnmount' : 'Vrei să elimini volumul $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Drag&drop sau lipește din browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Drag&drop sau lipește fișiere aici', // from v2.1 added 07.04.2014 'encoding' : 'Encodare', // from v2.1 added 19.12.2014 'locale' : 'Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'Țintă: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Caută după tipul MIME', // from v2.1 added 22.5.2015 'owner' : 'Owner', // from v2.1 added 20.6.2015 'group' : 'Group', // from v2.1 added 20.6.2015 'other' : 'Other', // from v2.1 added 20.6.2015 'execute' : 'Execute', // from v2.1 added 20.6.2015 'perm' : 'Permission', // from v2.1 added 20.6.2015 'mode' : 'Mod', // from v2.1 added 20.6.2015 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Necunoscut', 'kindFolder' : 'Dosar', 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Alias stricat', // applications 'kindApp' : 'Aplicație', 'kindPostscript' : 'Document Postscript', 'kindMsOffice' : 'Document Microsoft Office', 'kindMsWord' : 'Document Microsoft Word', 'kindMsExcel' : 'Document Microsoft Excel', 'kindMsPP' : 'Prezentare Microsoft Powerpoint', 'kindOO' : 'Document Open Office', 'kindAppFlash' : 'Aplicație Flash', 'kindPDF' : 'Document Portabil (PDF)', 'kindTorrent' : 'Fișier Bittorrent', 'kind7z' : 'Arhivă 7z', 'kindTAR' : 'Arhivă TAR', 'kindGZIP' : 'Arhivă GZIP', 'kindBZIP' : 'Arhivă BZIP', 'kindXZ' : 'Arhivă XZ', 'kindZIP' : 'Arhivă ZIP', 'kindRAR' : 'Arhivă RAR', 'kindJAR' : 'Fișier Java JAR', 'kindTTF' : 'Font True Type', 'kindOTF' : 'Font Open Type', 'kindRPM' : 'Pachet RPM', // texts 'kindText' : 'Document text', 'kindTextPlain' : 'Text simplu', 'kindPHP' : 'Sursă PHP', 'kindCSS' : 'Fișier de stil (CSS)', 'kindHTML' : 'Document HTML', 'kindJS' : 'Sursă Javascript', 'kindRTF' : 'Text formatat (rich text)', 'kindC' : 'Sursă C', 'kindCHeader' : 'Sursă C header', 'kindCPP' : 'Sursă C++', 'kindCPPHeader' : 'Sursă C++ header', 'kindShell' : 'Script terminal Unix', 'kindPython' : 'Sursă Python', 'kindJava' : 'Sursă Java', 'kindRuby' : 'Sursă Ruby', 'kindPerl' : 'Script Perl', 'kindSQL' : 'Sursă SQL', 'kindXML' : 'Document XML', 'kindAWK' : 'Sursă AWK', 'kindCSV' : 'Valori separate de virgulă (CSV)', 'kindDOCBOOK' : 'Document Docbook XML', 'kindMarkdown' : 'Text Markdown', // added 20.7.2015 // images 'kindImage' : 'Imagine', 'kindBMP' : 'Imagine BMP', 'kindJPEG' : 'Imagine JPEG', 'kindGIF' : 'Imagine GIF', 'kindPNG' : 'Imagine PNG', 'kindTIFF' : 'Imagine TIFF', 'kindTGA' : 'Imagine TGA', 'kindPSD' : 'Imagine Adobe Photoshop', 'kindXBITMAP' : 'Imagine X bitmap', 'kindPXM' : 'Imagine Pixelmator', // media 'kindAudio' : 'Audio', 'kindAudioMPEG' : 'Audio MPEG', 'kindAudioMPEG4' : 'Audio MPEG-4', 'kindAudioMIDI' : 'Audio MIDI', 'kindAudioOGG' : 'Audio Ogg Vorbis', 'kindAudioWAV' : 'Audio WAV', 'AudioPlaylist' : 'Playlist MP3', 'kindVideo' : 'Video', 'kindVideoDV' : 'Video DV', 'kindVideoMPEG' : 'Video MPEG', 'kindVideoMPEG4' : 'Video MPEG-4', 'kindVideoAVI' : 'Video AVI', 'kindVideoMOV' : 'Video Quick Time', 'kindVideoWM' : 'Video Windows Media', 'kindVideoFlash' : 'Video Flash', 'kindVideoMKV' : 'Video Matroska', 'kindVideoOGG' : 'Video Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.ru.js000064400000123311151202472330014233 0ustar00/** * Русский язык translation * @author Dmitry "dio" Levashov * @author Andrew Berezovsky * @author Alex Yashkin * @author Aleev Ruslan * @version 2024-11-05 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.ru = { translator : 'Dmitry "dio" Levashov <dio@std42.ru>, Andrew Berezovsky <andrew.berezovsky@gmail.com>, Alex Yashkin <alex@yashkin.by>, Aleev Ruslan <info@cat-art.ru>', language : 'Русский язык', direction : 'ltr', dateFormat : 'd M Y H:i', // will show like: 05 Ноя 2024 21:08 fancyDateFormat : '$1 H:i', // will show like: Сегодня 21:08 nonameDateFormat : 'ymd-His', // noname upload will show like: 241105-210850 messages : { /********************************** errors **********************************/ 'error' : 'Ошибка', 'errUnknown' : 'Неизвестная ошибка.', 'errUnknownCmd' : 'Неизвестная команда.', 'errJqui' : 'Отсутствуют необходимые компоненты jQuery UI - selectable, draggable и droppable.', 'errNode' : 'Отсутствует DOM элемент для инициализации elFinder.', 'errURL' : 'Неверная конфигурация elFinder! Не указан URL.', 'errAccess' : 'Доступ запрещен.', 'errConnect' : 'Не удалось соединиться с сервером.', 'errAbort' : 'Соединение прервано.', 'errTimeout' : 'Таймаут соединения.', 'errNotFound' : 'Сервер не найден.', 'errResponse' : 'Некорректный ответ сервера.', 'errConf' : 'Некорректная настройка сервера.', 'errJSON' : 'Модуль PHP JSON не установлен.', 'errNoVolumes' : 'Отсутствуют корневые директории достуные для чтения.', 'errCmdParams' : 'Некорректные параметры команды "$1".', 'errDataNotJSON' : 'Данные не в формате JSON.', 'errDataEmpty' : 'Данные отсутствуют.', 'errCmdReq' : 'Для запроса к серверу необходимо указать имя команды.', 'errOpen' : 'Не удалось открыть "$1".', 'errNotFolder' : 'Объект не является папкой.', 'errNotFile' : 'Объект не является файлом.', 'errRead' : 'Ошибка чтения "$1".', 'errWrite' : 'Ошибка записи в "$1".', 'errPerm' : 'Доступ запрещен.', 'errLocked' : '"$1" защищен и не может быть переименован, перемещен или удален.', 'errExists' : 'В папке уже существует файл с именем "$1".', 'errInvName' : 'Недопустимое имя файла.', 'errInvDirname' : 'Недопустимое имя папки.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Папка не найдена.', 'errFileNotFound' : 'Файл не найден.', 'errTrgFolderNotFound' : 'Целевая папка "$1" не найдена.', 'errPopup' : 'Браузер заблокировал открытие нового окна. Чтобы открыть файл, измените настройки браузера.', 'errMkdir' : 'Ошибка создания папки "$1".', 'errMkfile' : 'Ошибка создания файла "$1".', 'errRename' : 'Ошибка переименования "$1".', 'errCopyFrom' : 'Копирование файлов из директории "$1" запрещено.', 'errCopyTo' : 'Копирование файлов в директорию "$1" запрещено.', 'errMkOutLink' : 'Невозможно создать ссылку вне корня раздела.', // from v2.1 added 03.10.2015 'errUpload' : 'Ошибка загрузки.', // old name - errUploadCommon 'errUploadFile' : 'Невозможно загрузить "$1".', // old name - errUpload 'errUploadNoFiles' : 'Нет файлов для загрузки.', 'errUploadTotalSize' : 'Превышен допустимый размер загружаемых данных.', // old name - errMaxSize 'errUploadFileSize' : 'Размер файла превышает допустимый.', // old name - errFileMaxSize 'errUploadMime' : 'Недопустимый тип файла.', 'errUploadTransfer' : 'Ошибка передачи файла "$1".', 'errUploadTemp' : 'Невозможно создать временный файл для загрузки.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Объект "$1" по этому адресу уже существует и не может быть заменен объектом другого типа.', // new 'errReplace' : 'Невозможно заменить "$1".', 'errSave' : 'Невозможно сохранить "$1".', 'errCopy' : 'Невозможно скопировать "$1".', 'errMove' : 'Невозможно переместить "$1".', 'errCopyInItself' : 'Невозможно скопировать "$1" в самого себя.', 'errRm' : 'Невозможно удалить "$1".', 'errTrash' : 'Невозможно переместить в корзину.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Невозможно удалить файлы источника.', 'errExtract' : 'Невозможно извлечь фалы из "$1".', 'errArchive' : 'Невозможно создать архив.', 'errArcType' : 'Неподдерживаемый тип архива.', 'errNoArchive' : 'Файл не является архивом или неподдерживаемый тип архива.', 'errCmdNoSupport' : 'Сервер не поддерживает эту команду.', 'errReplByChild' : 'Невозможно заменить папку "$1" содержащимся в ней объектом.', 'errArcSymlinks' : 'По соображениям безопасности запрещена распаковка архивов, содержащих ссылки (symlinks) или файлы с недопустимыми именами.', // edited 24.06.2012 'errArcMaxSize' : 'Размер файлов в архиве превышает максимально разрешенный.', 'errResize' : 'Не удалось изменить размер "$1".', 'errResizeDegree' : 'Некорректный градус поворота.', // added 7.3.2013 'errResizeRotate' : 'Невозможно повернуть изображение.', // added 7.3.2013 'errResizeSize' : 'Некорректный размер изображения.', // added 7.3.2013 'errResizeNoChange' : 'Размер изображения не изменился.', // added 7.3.2013 'errUsupportType' : 'Неподдерживаемый тип файла.', 'errNotUTF8Content' : 'Файл "$1" содержит текст в кодировке отличной от UTF-8 и не может быть отредактирован.', // added 9.11.2011 'errNetMount' : 'Невозможно подключить "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Неподдерживаемый протокол.', // added 17.04.2012 'errNetMountFailed' : 'Ошибка монтирования.', // added 17.04.2012 'errNetMountHostReq' : 'Требуется указать хост.', // added 18.04.2012 'errSessionExpires' : 'Сессия была завершена так как превышено время отсутствия активности.', 'errCreatingTempDir' : 'Невозможно создать временную директорию: "$1"', 'errFtpDownloadFile' : 'Невозможно скачать файл с FTP: "$1"', 'errFtpUploadFile' : 'Невозможно загрузить файл на FTP: "$1"', 'errFtpMkdir' : 'Невозможно создать директорию на FTP: "$1"', 'errArchiveExec' : 'Ошибка при выполнении архивации: "$1"', 'errExtractExec' : 'Ошибка при выполнении распаковки: "$1"', 'errNetUnMount' : 'Невозможно отключить', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Не конвертируется в UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Если вы хотите загружать папки, попробуйте Google Chrome.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Превышено время ожидания при поиске "$1". Результаты поиска частичные.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Требуется повторная авторизация.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Максимальное число выбираемых файлов: $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Невозможно восстановить из корзины. Не удалось определить путь для восстановления.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Не найден редактор для этого типа файлов.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Возникла ошибка на стороне сервера.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Невозможно очистить папку "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Еще ошибок: $1', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'Вы можете создать за один раз папок: $1.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Создать архив', 'cmdback' : 'Назад', 'cmdcopy' : 'Копировать', 'cmdcut' : 'Вырезать', 'cmddownload' : 'Скачать', 'cmdduplicate' : 'Сделать копию', 'cmdedit' : 'Редактировать файл', 'cmdextract' : 'Распаковать архив', 'cmdforward' : 'Вперед', 'cmdgetfile' : 'Выбрать файлы', 'cmdhelp' : 'О программе', 'cmdhome' : 'Домой', 'cmdinfo' : 'Свойства', 'cmdmkdir' : 'Новая папка', 'cmdmkdirin' : 'В новую папку', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Новый файл', 'cmdopen' : 'Открыть', 'cmdpaste' : 'Вставить', 'cmdquicklook' : 'Быстрый просмотр', 'cmdreload' : 'Обновить', 'cmdrename' : 'Переименовать', 'cmdrm' : 'Удалить', 'cmdtrash' : 'Переместить в корзину', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Восстановить', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Поиск файлов', 'cmdup' : 'Наверх', 'cmdupload' : 'Загрузить файлы', 'cmdview' : 'Вид', 'cmdresize' : 'Изменить размер и повернуть', 'cmdsort' : 'Сортировать', 'cmdnetmount' : 'Подключить сетевой раздел', // added 18.04.2012 'cmdnetunmount': 'Отключить', // from v2.1 added 30.04.2012 'cmdplaces' : 'В избранное', // added 28.12.2014 'cmdchmod' : 'Изменить права доступа', // from v2.1 added 20.6.2015 'cmdopendir' : 'Открыть папку', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Сбросить ширину колонок', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Полный экран', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Переместить', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Очистить папку', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Отменить', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Вернуть', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Настройки', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Выбрать все', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Отменить выбор', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Инвертировать выбор', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Открыть в новом окне', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Скрыть (персонально)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Закрыть', 'btnSave' : 'Сохранить', 'btnRm' : 'Удалить', 'btnApply' : 'Применить', 'btnCancel' : 'Отмена', 'btnNo' : 'Нет', 'btnYes' : 'Да', 'btnMount' : 'Подключить', // added 18.04.2012 'btnApprove': 'Перейти в $1 и применить', // from v2.1 added 26.04.2012 'btnUnmount': 'Отключить', // from v2.1 added 30.04.2012 'btnConv' : 'Конвертировать', // from v2.1 added 08.04.2014 'btnCwd' : 'Здесь', // from v2.1 added 22.5.2015 'btnVolume' : 'Раздел', // from v2.1 added 22.5.2015 'btnAll' : 'Все', // from v2.1 added 22.5.2015 'btnMime' : 'MIME тип', // from v2.1 added 22.5.2015 'btnFileName':'Имя файла', // from v2.1 added 22.5.2015 'btnSaveClose': 'Сохранить и закрыть', // from v2.1 added 12.6.2015 'btnBackup' : 'Резервная копия', // fromv2.1 added 28.11.2015 'btnRename' : 'Переименовать', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Переименовать (все)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Пред. ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'След. ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Сохранить как', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Открыть папку', 'ntffile' : 'Открыть файл', 'ntfreload' : 'Обновить текущую папку', 'ntfmkdir' : 'Создание папки', 'ntfmkfile' : 'Создание файлов', 'ntfrm' : 'Удалить файлы', 'ntfcopy' : 'Скопировать файлы', 'ntfmove' : 'Переместить файлы', 'ntfprepare' : 'Подготовка к копированию файлов', 'ntfrename' : 'Переименовать файлы', 'ntfupload' : 'Загрузка файлов', 'ntfdownload' : 'Скачивание файлов', 'ntfsave' : 'Сохранить файлы', 'ntfarchive' : 'Создание архива', 'ntfextract' : 'Распаковка архива', 'ntfsearch' : 'Поиск файлов', 'ntfresize' : 'Изменение размеров изображений', 'ntfsmth' : 'Занят важным делом', 'ntfloadimg' : 'Загрузка изображения', 'ntfnetmount' : 'Подключение сетевого диска', // added 18.04.2012 'ntfnetunmount': 'Отключение сетевого диска', // from v2.1 added 30.04.2012 'ntfdim' : 'Получение размеров изображения', // added 20.05.2013 'ntfreaddir' : 'Чтение информации о папке', // from v2.1 added 01.07.2013 'ntfurl' : 'Получение URL ссылки', // from v2.1 added 11.03.2014 'ntfchmod' : 'Изменение прав доступа к файлу', // from v2.1 added 20.6.2015 'ntfpreupload': 'Проверка измени загруженного файла', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Создание файла для скачки', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Получение информации о пути', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Обработка загруженного файла', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Перемещение в корзину', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Восстановление из корзины', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Проверка папки назначения', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Отмена предыдущей операции', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Восстановление предыдущей операции', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Проверка содержимого', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Корзина', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'неизвестно', 'Today' : 'Сегодня', 'Yesterday' : 'Вчера', 'msJan' : 'Янв', 'msFeb' : 'Фев', 'msMar' : 'Мар', 'msApr' : 'Апр', 'msMay' : 'Май', 'msJun' : 'Июн', 'msJul' : 'Июл', 'msAug' : 'Авг', 'msSep' : 'Сен', 'msOct' : 'Окт', 'msNov' : 'Ноя', 'msDec' : 'Дек', 'January' : 'Январь', 'February' : 'Февраль', 'March' : 'Март', 'April' : 'Апрель', 'May' : 'Май', 'June' : 'Июнь', 'July' : 'Июль', 'August' : 'Август', 'September' : 'Сентябрь', 'October' : 'Октябрь', 'November' : 'Ноябрь', 'December' : 'Декабрь', 'Sunday' : 'Воскресенье', 'Monday' : 'Понедельник', 'Tuesday' : 'Вторник', 'Wednesday' : 'Среда', 'Thursday' : 'Четверг', 'Friday' : 'Пятница', 'Saturday' : 'Суббота', 'Sun' : 'Вск', 'Mon' : 'Пнд', 'Tue' : 'Втр', 'Wed' : 'Срд', 'Thu' : 'Чтв', 'Fri' : 'Птн', 'Sat' : 'Сбт', /******************************** sort variants ********************************/ 'sortname' : 'по имени', 'sortkind' : 'по типу', 'sortsize' : 'по размеру', 'sortdate' : 'по дате', 'sortFoldersFirst' : 'Папки в начале', 'sortperm' : 'по разрешениям', // from v2.1.13 added 13.06.2016 'sortmode' : 'по режиму', // from v2.1.13 added 13.06.2016 'sortowner' : 'по владельцу', // from v2.1.13 added 13.06.2016 'sortgroup' : 'по группе', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Также и дерево каталогов', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'НовыйФайл.txt', // added 10.11.2015 'untitled folder' : 'НоваяПапка', // added 10.11.2015 'Archive' : 'НовыйАрхив', // from v2.1 added 10.11.2015 'untitled file' : 'НовыйФайл.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1 Файл', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Необходимо подтверждение', 'confirmRm' : 'Вы уверены, что хотите удалить файлы?
                      Действие необратимо!', 'confirmRepl' : 'Заменить старый файл новым?', 'confirmRest' : 'Заменить существующий файл файлом из корзины?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Не UTF-8
                      Сконвертировать в UTF-8?
                      Данные станут UTF-8 при сохранении после конвертации.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Невозможно определить кодировку файла. Необходима предварительная конвертация файла в UTF-8 для дальнейшего редактирования.
                      Выберите кодировку файла.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Произошли изменения.
                      Если не сохраните изменения, то потеряете их.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Вы уверены, что хотите переместить файлы в корзину?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Вы уверены, что хотите переместить файлы в "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Применить для всех', 'name' : 'Имя', 'size' : 'Размер', 'perms' : 'Доступ', 'modify' : 'Изменен', 'kind' : 'Тип', 'read' : 'чтение', 'write' : 'запись', 'noaccess' : 'нет доступа', 'and' : 'и', 'unknown' : 'неизвестно', 'selectall' : 'Выбрать все файлы', 'selectfiles' : 'Выбрать файл(ы)', 'selectffile' : 'Выбрать первый файл', 'selectlfile' : 'Выбрать последний файл', 'viewlist' : 'В виде списка', 'viewicons' : 'В виде иконок', 'viewSmall' : 'Маленькие иконки', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Средние иконки', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Большие иконки', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Очень большие иконки', // from v2.1.39 added 22.5.2018 'places' : 'Избранное', 'calc' : 'Вычислить', 'path' : 'Путь', 'aliasfor' : 'Указывает на', 'locked' : 'Защита', 'dim' : 'Размеры', 'files' : 'Файлы', 'folders' : 'Папки', 'items' : 'Объекты', 'yes' : 'да', 'no' : 'нет', 'link' : 'Ссылка', 'searcresult' : 'Результаты поиска', 'selected' : 'выбрано', 'about' : 'О программе', 'shortcuts' : 'Горячие клавиши', 'help' : 'Помощь', 'webfm' : 'Файловый менеджер для Web', 'ver' : 'Версия', 'protocolver' : 'версия протокола', 'homepage' : 'Сайт проекта', 'docs' : 'Документация', 'github' : 'Форкните на GitHub', 'twitter' : 'Следите в Twitter', 'facebook' : 'Присоединяйтесь на Facebook', 'team' : 'Команда', 'chiefdev' : 'ведущий разработчик', 'developer' : 'разработчик', 'contributor' : 'участник', 'maintainer' : 'сопровождение проекта', 'translator' : 'переводчик', 'icons' : 'Иконки', 'dontforget' : 'и не забудьте взять своё полотенце', 'shortcutsof' : 'Горячие клавиши отключены', 'dropFiles' : 'Перетащите файлы сюда', 'or' : 'или', 'selectForUpload' : 'Выбрать файлы для загрузки', 'moveFiles' : 'Переместить файлы', 'copyFiles' : 'Скопировать файлы', 'restoreFiles' : 'Восстановить файлы', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Удалить из избранного', 'aspectRatio' : 'Соотношение сторон', 'scale' : 'Масштаб', 'width' : 'Ширина', 'height' : 'Высота', 'resize' : 'Изменить размер', 'crop' : 'Обрезать', 'rotate' : 'Повернуть', 'rotate-cw' : 'Повернуть на 90 градусов по часовой стрелке', 'rotate-ccw' : 'Повернуть на 90 градусов против часовой стрелке', 'degree' : '°', 'netMountDialogTitle' : 'Подключить сетевой диск', // added 18.04.2012 'protocol' : 'Протокол', // added 18.04.2012 'host' : 'Хост', // added 18.04.2012 'port' : 'Порт', // added 18.04.2012 'user' : 'Пользователь', // added 18.04.2012 'pass' : 'Пароль', // added 18.04.2012 'confirmUnmount' : 'Вы хотите отключить $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Перетащите или вставьте файлы из браузера', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Перетащите или вставьте файлы и ссылки сюда', // from v2.1 added 07.04.2014 'encoding' : 'Кодировка', // from v2.1 added 19.12.2014 'locale' : 'Локаль', // from v2.1 added 19.12.2014 'searchTarget' : 'Цель: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Поиск по введенному MIME типу', // from v2.1 added 22.5.2015 'owner' : 'Владелец', // from v2.1 added 20.6.2015 'group' : 'Группа', // from v2.1 added 20.6.2015 'other' : 'Остальные', // from v2.1 added 20.6.2015 'execute' : 'Исполнить', // from v2.1 added 20.6.2015 'perm' : 'Разрешение', // from v2.1 added 20.6.2015 'mode' : 'Режим', // from v2.1 added 20.6.2015 'emptyFolder' : 'Папка пуста', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Папка пуста\\A Перетащите чтобы добавить', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Папка пуста\\A Долгое нажатие чтобы добавить', // from v2.1.6 added 30.12.2015 'quality' : 'Качество', // from v2.1.6 added 5.1.2016 'autoSync' : 'Авто синхронизация', // from v2.1.6 added 10.1.2016 'moveUp' : 'Передвинуть вверх', // from v2.1.6 added 18.1.2016 'getLink' : 'Получить URL ссылку', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Выбранные объекты ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID папки', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Позволить автономный доступ', // from v2.1.10 added 3.25.2016 'reAuth' : 'Авторизоваться повторно', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Загружается...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Открыть несколько файлов', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Вы пытаетесь открыть $1 файл(а/ов). Вы уверены, что хотите открыть их в браузере?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Ничего не найдено', // from v2.1.12 added 5.16.2016 'editingFile' : 'Это редактируемый файл.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Вы выбрали $1 файл(-ов).', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'У вас $1 файл(-ов) в буфере обмена.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Инкрементный поиск возможен только из текущего вида.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Восстановить', // from v2.1.15 added 3.8.2016 'complete' : '$1 завершен', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Контекстное меню', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Переключение страницы', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Корни томов', // from v2.1.16 added 16.9.2016 'reset' : 'Сбросить', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Фоновый цвет', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Выбор цвета', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px сетка', // from v2.1.16 added 4.10.2016 'enabled' : 'Включено', // from v2.1.16 added 4.10.2016 'disabled' : 'Отключено', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Ничего не найдено в текущем виде.\\AНажмите [Enter] для развертывания цели поиска.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Поиск по первому символу не дал результатов в текущем виде.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Текстовая метка', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 минут осталось', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Переоткрыть с выбранной кодировкой', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Сохранить с выбранной кодировкой', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Выбрать папку', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Поиск по первому символу', // from v2.1.23 added 24.3.2017 'presets' : 'Пресеты', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Слишком много файлов для перемещения в корзину.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Текстовая область', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Очистить папку "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Нет файлов в паке "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Настройка', // from v2.1.26 added 28.6.2017 'language' : 'Язык', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Сбросить настройки для этого браузера', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Настройки панели', // from v2.1.27 added 2.8.2017 'charsLeft' : '... еще символов: $1.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... еще строк: $1.', // from v2.1.52 added 16.1.2020 'sum' : 'Общий размер', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Приблизительный размер файла', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Фокус на элементе диалога при наведении мыши', // from v2.1.30 added 2.11.2017 'select' : 'Выбрать', // from v2.1.30 added 23.11.2017 'selectAction' : 'Действие при выборе файла', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Открывать в редакторе, выбранном в прошлый раз', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Выбрать элементы с инвертированием', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Переименовать выбранные элементы ($1 шт.) в $2?
                      Действие нельзя отменить!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Групповое переименование', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Число', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Добавить префикс', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Добавить суффикс', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Изменить расширение', // from v2.1.31 added 8.12.2017 'columnPref' : 'Настройки колонок (для просмотра в виде списка)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Все изменения будут немедленно отражены в архиве.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Изменения не вступят в силу до тех пор, пока вы не размонтируете этот том.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Тома, смонтированные на этом томе, также будут размонтированы. Вы хотите отключить его?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Свойства', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Алгоритмы для отображения хеш-сумм файлов', // from v2.1.33 added 10.3.2018 'infoItems' : 'Элементы в панели свойств', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Нажмите снова для выхода.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Панель', // from v2.1.38 added 4.4.2018 'workspace' : 'Рабочая область', // from v2.1.38 added 4.4.2018 'dialog' : 'Диалог', // from v2.1.38 added 4.4.2018 'all' : 'Все', // from v2.1.38 added 4.4.2018 'iconSize' : 'Размер иконок (В виде иконок)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Открывать редактор в развернутом виде', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Так как конвертация с помощью API недоступно, произведите конвертацию на веб-сайте.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'После конвертации вы должны загрузить скачанный файл, чтобы сохранить его.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Конвертировать на сайте $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Интеграции', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Менеджер elFinder интегрирован со следующими внешними сервисами. Ознакомьтесь с правилами пользования, политиками безопасности и др. перед их использованием.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Показать скрытые элементы', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Скрыть скрытые элементы', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Показать/скрыть скрытые элементы', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Типы файлов в меню "Новый файл"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Тип текстового файла', // from v2.1.41 added 7.8.2018 'add' : 'Добавить', // from v2.1.41 added 7.8.2018 'theme' : 'Тема', // from v2.1.43 added 19.10.2018 'default' : 'По умолчанию', // from v2.1.43 added 19.10.2018 'description' : 'Описание', // from v2.1.43 added 19.10.2018 'website' : 'Веб-сайт', // from v2.1.43 added 19.10.2018 'author' : 'Автор', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'Лицензия', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Невозможно сохранить файл. Чтобы не потерять изменения, экспортируйте их на свой ПК.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Двойной клик по файлу для его выбора.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Использовать полноэкранный режим', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Неизвестный', 'kindRoot' : 'Корень тома', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Папка', 'kindSelects' : 'Выбор', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Ссылка', 'kindAliasBroken' : 'Битая ссылка', // applications 'kindApp' : 'Приложение', 'kindPostscript' : 'Документ Postscript', 'kindMsOffice' : 'Документ Microsoft Office', 'kindMsWord' : 'Документ Microsoft Word', 'kindMsExcel' : 'Документ Microsoft Excel', 'kindMsPP' : 'Презентация Microsoft Powerpoint', 'kindOO' : 'Документ Open Office', 'kindAppFlash' : 'Приложение Flash', 'kindPDF' : 'Документ PDF', 'kindTorrent' : 'Файл Bittorrent', 'kind7z' : 'Архив 7z', 'kindTAR' : 'Архив TAR', 'kindGZIP' : 'Архив GZIP', 'kindBZIP' : 'Архив BZIP', 'kindXZ' : 'Архив XZ', 'kindZIP' : 'Архив ZIP', 'kindRAR' : 'Архив RAR', 'kindJAR' : 'Файл Java JAR', 'kindTTF' : 'Шрифт True Type', 'kindOTF' : 'Шрифт Open Type', 'kindRPM' : 'Пакет RPM', // texts 'kindText' : 'Текстовый документ', 'kindTextPlain' : 'Простой текст', 'kindPHP' : 'Исходник PHP', 'kindCSS' : 'Таблицы стилей CSS', 'kindHTML' : 'Документ HTML', 'kindJS' : 'Исходник Javascript', 'kindRTF' : 'Rich Text Format', 'kindC' : 'Исходник C', 'kindCHeader' : 'Заголовочный файл C', 'kindCPP' : 'Исходник C++', 'kindCPPHeader' : 'Заголовочный файл C++', 'kindShell' : 'Скрипт Unix shell', 'kindPython' : 'Исходник Python', 'kindJava' : 'Исходник Java', 'kindRuby' : 'Исходник Ruby', 'kindPerl' : 'Исходник Perl', 'kindSQL' : 'Исходник SQL', 'kindXML' : 'Документ XML', 'kindAWK' : 'Исходник AWK', 'kindCSV' : 'Текст с разделителями', 'kindDOCBOOK' : 'Документ Docbook XML', 'kindMarkdown' : 'Текст Markdown', // added 20.7.2015 // images 'kindImage' : 'Изображение', 'kindBMP' : 'Изображение BMP', 'kindJPEG' : 'Изображение JPEG', 'kindGIF' : 'Изображение GIF', 'kindPNG' : 'Изображение PNG', 'kindTIFF' : 'Изображение TIFF', 'kindTGA' : 'Изображение TGA', 'kindPSD' : 'Изображение Adobe Photoshop', 'kindXBITMAP' : 'Изображение X bitmap', 'kindPXM' : 'Изображение Pixelmator', // media 'kindAudio' : 'Аудио файл', 'kindAudioMPEG' : 'Аудио MPEG', 'kindAudioMPEG4' : 'Аудио MPEG-4', 'kindAudioMIDI' : 'Аудио MIDI', 'kindAudioOGG' : 'Аудио Ogg Vorbis', 'kindAudioWAV' : 'Аудио WAV', 'AudioPlaylist' : 'Плейлист MP3', 'kindVideo' : 'Видео файл', 'kindVideoDV' : 'Видео DV', 'kindVideoMPEG' : 'Видео MPEG', 'kindVideoMPEG4' : 'Видео MPEG-4', 'kindVideoAVI' : 'Видео AVI', 'kindVideoMOV' : 'Видео Quick Time', 'kindVideoWM' : 'Видео Windows Media', 'kindVideoFlash' : 'Видео Flash', 'kindVideoMKV' : 'Видео Matroska', 'kindVideoOGG' : 'Видео Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.si.js000064400000126147151202472330014232 0ustar00/** * Sinhala translation * @author CodeLyokoXtEAM * @version 2018-03-26 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.si = { translator : 'CodeLyokoXtEAM <XcodeLyokoTEAM@gmail.com>', language : 'Sinhala', direction : 'ltr', dateFormat : 'Y.m.d h:i A', // Mar 13, 2012 05:27 PM fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM nonameDateFormat : 'Ymd-His', // to apply if upload file is noname: 120513172700 messages : { /********************************** errors **********************************/ 'error' : 'දෝෂයකි.', 'errUnknown' : 'නොදන්නා දෝෂයකි.', 'errUnknownCmd' : 'නොදන්නා විධානයකි.', 'errJqui' : 'වලංගු නොවන jQuery UI සැකැස්මකි. තේරිය හැකි, ඇදගෙන යාම සහ ඇද දැමිය හැකි කොටස් ඇතුළත් කළ යුතුය.', 'errNode' : 'ElFinder විසින් DOM Element නිර්මාණය කිරීමට අවශ්‍යව අැත.', 'errURL' : 'වලංගු නොවන elFinder සැකැස්මකි! URL විකල්පය සැකසා නැත.', 'errAccess' : 'භාවිතය අත්හිටුවා ඇත.', 'errConnect' : 'පසුබිම(Backend) වෙත සම්බන්ධ වීමට නොහැකිය.', 'errAbort' : 'සම්බන්ධතාවය වසාදමා ඇත.', 'errTimeout' : 'සම්බන්ධතා කල් ඉකුත්වී ඇත.', 'errNotFound' : 'පසුබිම(Backend) සොයාගත නොහැකි විය.', 'errResponse' : 'වලංගු නොවන පසුබිම(Backend) ප්‍රතිචාරය.', 'errConf' : 'වලංගු නොවන Backend සැකැස්මකි.', 'errJSON' : 'PHP JSON මොඩියුලය ස්ථාපනය කර නැත.', 'errNoVolumes' : 'කියවිය හැකි එ්කක(volumes) නොමැත.', 'errCmdParams' : '"$1" නම් විධානය වලංගු නොවන පරාමිතියකි.', 'errDataNotJSON' : 'JSON දත්ත නොවේ.', 'errDataEmpty' : 'හිස් දත්තයකි.', 'errCmdReq' : 'Backend සඳහා ඉල්ලන ලද විධානයේ නම අවශ්‍ය වේ.', 'errOpen' : '"$1" විවෘත කළ නොහැක.', 'errNotFolder' : 'අායිත්තම(object) ෆොල්ඩරයක් නොවේ.', 'errNotFile' : 'අායිත්තම(object) ගොනුවක් නොවේ.', 'errRead' : '"$1" කියවීමට නොහැක.', 'errWrite' : '"$1" තුල ලිවීමට නොහැකිය.', 'errPerm' : 'අවසරය නොමැත.', 'errLocked' : '"$1" අගුළු දමා ඇති අතර එය නැවත නම් කිරීම, සම්පූර්ණයෙන් විස්ථාපනය කිරීම හෝ ඉවත් කිරීම කළ නොහැක.', 'errExists' : '"$1" නම් ගොනුව දැනටමත් පවතී.', 'errInvName' : 'ගොනු නම වලංගු නොවේ.', 'errInvDirname' : 'ෆෝල්ඩර් නම වලංගු නොවේ.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'ෆෝල්ඩරය හමු නොවිණි.', 'errFileNotFound' : 'ගොනුව හමු නොවිණි.', 'errTrgFolderNotFound' : 'ඉලක්කගත ෆෝල්ඩරය "$1" හමු නොවිනි.', 'errPopup' : 'බ්‍රවුසරය උත්පතන කවුළුව විවෘත කිරීම වළක්වයි. ගොනු විවෘත කිරීම සඳහා බ්‍රවුසරයේ විකල්ප තුළ එය සක්රිය කරන්න.', 'errMkdir' : '"$1" ෆෝල්ඩරය සෑදීමට නොහැකිය.', 'errMkfile' : '"$1" ගොනුව සෑදිය නොහැක.', 'errRename' : '"$1" නැවත නම් කිරීමට නොහැකි විය.', 'errCopyFrom' : '"$1" volume යෙන් ගොනු පිටපත් කිරීම තහනම්ය.', 'errCopyTo' : '"$1" volume යට ගොනු පිටපත් කිරීම තහනම්ය.', 'errMkOutLink' : 'volume root යෙන් පිටතට සබැඳිය(link) නිර්මාණය කිරීමට නොහැකි විය.', // from v2.1 added 03.10.2015 'errUpload' : 'උඩුගත(upload) කිරීමේ දෝෂයකි.', // old name - errUploadCommon 'errUploadFile' : '"$1" උඩුගත(upload) කිරීමට නොහැකි විය.', // old name - errUpload 'errUploadNoFiles' : 'උඩුගත(upload) කිරීම සඳහා ගොනු කිසිවක් සොයාගත නොහැකි විය.', 'errUploadTotalSize' : 'දත්ත අවසර දී අැති උපරිම ප්‍රමාණය ඉක්මවා ඇත.', // old name - errMaxSize 'errUploadFileSize' : 'ගොනු අවසර දී අැති උපරිම ප්‍රමාණය ඉක්මවා ඇත.', // old name - errFileMaxSize 'errUploadMime' : 'ගොනු වර්ගයට අවසර නැත.', 'errUploadTransfer' : '"$1" ව මාරු කිරීමේ දෝෂයකි.', 'errUploadTemp' : 'upload කිරීම සඳහා තාවකාලික ගොනුව සෑදිය නොහැක.', // from v2.1 added 26.09.2015 'errNotReplace' : '"$1" අායිත්තම(object) දැනටමත් මෙම ස්ථානයේ පවතී, වෙනත් වර්ගයකිනි ප්‍රතිස්ථාපනය කළ නොහැක.', // new 'errReplace' : '"$1" ප්‍රතිස්ථාපනය කළ නොහැක.', 'errSave' : '"$1" සුරැකීමට නොහැක.', 'errCopy' : '"$1" පිටපත් කිරීමට නොහැක.', 'errMove' : '"$1" සම්පූර්ණයෙන් විස්ථාපනය කිරීමට නොහැක.', 'errCopyInItself' : '"$1" තුලට පිටපත් කිරීමට නොහැක.', 'errRm' : '"$1" ඉවත් කිරීමට නොහැකි විය.', 'errTrash' : 'කුණු-කූඩය තුලට දැමීමට නොහැක.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'මූලාශ්‍රය ගොනු(ව) ඉවත් කළ නොහැක.', 'errExtract' : '"$1" වෙතින් ගොනු දිග හැරීමට නොහැක.', 'errArchive' : 'සංරක්ෂිතය සෑදීමට නොහැකි විය.', 'errArcType' : 'නොගැලපෙන සංරක්ෂණ වර්ගයකි.', 'errNoArchive' : 'ගොනුව නොගැලපෙන සංරක්ෂණ වර්ගයක් හෝ සංරක්ෂිතයක් නොවේ.', 'errCmdNoSupport' : 'පසුබිම(Backend) මෙම විධානය නොදනී.', 'errReplByChild' : '"$1" ෆෝල්ඩරය එහිම අඩංගු අයිතමයක් මගින් ප්‍රතිස්ථාපනය කළ නොහැක.', 'errArcSymlinks' : 'ආරක්ෂිත හේතුව නිසා අනුමත නොකෙරෙන සබැඳි සම්බන්දතා හෝ ලිපිගොනු නම් අඩංගු බැවින් සංරක්ෂිතය දිග හැරීම කිරීමට ඉඩ නොදෙන.', // edited 24.06.2012 'errArcMaxSize' : 'සංරක්ෂිතය ලිපිගොනු උපරිම ප්‍රමාණය ඉක්මවා ඇත.', 'errResize' : 'ප්‍රතිප්‍රමාණය කිරීමට නොහැකි විය.', 'errResizeDegree' : 'වලංගු නොවන භ්‍රමණ කෝණයකි.', // added 7.3.2013 'errResizeRotate' : 'රූපය භ්‍රමණය කිරීමට නොහැකි විය.', // added 7.3.2013 'errResizeSize' : 'රූපයේ ප්‍රමාණය වලංගු නොවේ.', // added 7.3.2013 'errResizeNoChange' : 'රූපයේ ප්‍රමාණය වෙනස් නොවුණි.', // added 7.3.2013 'errUsupportType' : 'නොගැලපෙන ගොනු වර්ගයකි.', 'errNotUTF8Content' : '"$1" ගොනුව UTF-8 හි නොමැති අතර සංස්කරණය කළ නොහැක.', // added 9.11.2011 'errNetMount' : '"$1" සවි(mount) කිරීමට නොහැක.', // added 17.04.2012 'errNetMountNoDriver' : 'ප්‍රොටොකෝලය(protocol) නොගැලපේ.', // added 17.04.2012 'errNetMountFailed' : 'සවි කිරීම(mount කිරීම) අසාර්ථක විය.', // added 17.04.2012 'errNetMountHostReq' : 'ධාරකය(Host) අවශ්‍ය වේ.', // added 18.04.2012 'errSessionExpires' : 'ඔබේ අක්‍රියතාව හේතුවෙන් සැසිය(session) කල් ඉකුත් වී ඇත.', 'errCreatingTempDir' : 'තාවකාලික ඩිරෙක්ටරයක්(directory) ​​සෑදිය නොහැක: "$1"', 'errFtpDownloadFile' : 'FTP වලින් ගොනුව බාගත(download) කිරීමට නොහැකි විය: "$1"', 'errFtpUploadFile' : 'ගොනුව FTP වෙත උඩුගත(upload) කිරීමට නොහැකි විය: "$1"', 'errFtpMkdir' : 'FTP මත දුරස්ථ නාමාවලියක්(remote directory) නිර්මාණය කිරීමට නොහැකි විය: "$1"', 'errArchiveExec' : 'ගොනු සංරක්ෂණය(archiving) කිරීමේදී දෝෂයක් ඇතිවිය: "$1"', 'errExtractExec' : 'ගොනු දිගහැරීමේදී(extracting) දෝෂයක් ඇතිවිය: "$1"', 'errNetUnMount' : 'විසන්ධි කිරීමට(unmount) නොහැක.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'UTF-8 වෙත පරිවර්තනය කළ නොහැක.', // from v2.1 added 08.04.2014 'errFolderUpload' : 'ඔබ ෆෝල්ඩරය උඩුගත(upload) කිරීමට කැමති නම් නවීන බ්‍රවුසරයකින් උත්සාහ කරන්න.', // from v2.1 added 26.6.2015 'errSearchTimeout' : '"$1" සෙවීම කල් ඉකුත්වී ඇත. සෙවුම් ප්‍රතිඵල අර්ධ වශයෙන් දිස්වේ.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'නැවත බලය(Re-authorization) ලබා දීම අවශ්‍ය වේ.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'තෝරා ගත හැකි උපරිම අයිතම සංඛ්‍යාව $1 ක් වේ.', // from v2.1.17 added 17.10.2016 'errRestore' : 'කුණු කූඩයෙන් නැවත ලබා ගත නොහැක. යළි පිහිටුවීමේ ගමනාන්තය(restore destination) හඳුනාගත නොහැක.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'මෙම ගොනු වර්ගයේ සංස්කාරකය හමු නොවිණි.', // from v2.1.25 added 23.5.2017 'errServerError' : 'සේවාදායකයේ පැත්තෙන්(server side) දෝශයක් ඇතිවිය.', // from v2.1.25 added 16.6.2017 'errEmpty' : '"$1" ෆෝල්ඩරය හිස් කිරීමට නොහැක.', // from v2.1.25 added 22.6.2017 /******************************* commands names ********************************/ 'cmdarchive' : 'සංරක්ෂිතය(archive) නිර්මාණය කරන්න', 'cmdback' : 'ආපසු', 'cmdcopy' : 'පිටපත් කරන්න', 'cmdcut' : 'මුළුමනින්ම පිටපත් කරන්න(Cut)', 'cmddownload' : 'බාගත කරන්න(Download)', 'cmdduplicate' : 'අනුපිටපත් කරන්න(Duplicate)', 'cmdedit' : 'ගොනුව සංස්කරණය කරන්න', 'cmdextract' : 'සංරක්ෂිතයේ ගොනු දිගහරින්න(Extract)', 'cmdforward' : 'ඉදිරියට', 'cmdgetfile' : 'ගොනු තෝරන්න', 'cmdhelp' : 'මෙම මෘදුකාංගය පිළිබඳව', 'cmdhome' : 'නිවහන(Home)', 'cmdinfo' : 'තොරතුරු ලබාගන්න', 'cmdmkdir' : 'අළුත් ෆෝල්ඩරයක්', 'cmdmkdirin' : 'අළුත් ෆෝල්ඩරයක් තුළට', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'නව ගොනුවක්', 'cmdopen' : 'විවෘත කරන්න', 'cmdpaste' : 'දමන්න(Paste)', 'cmdquicklook' : 'පූර්ව දර්ශනයක්(Preview)', 'cmdreload' : 'නැවත අළුත් කරන්න(Reload)', 'cmdrename' : 'නම වෙනස් කරන්න', 'cmdrm' : 'මකන්න', 'cmdtrash' : 'කුණු කූඩයට දමන්න', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'යළි පිහිටුවන්න(Restore)', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'ගොනු සොයන්න', 'cmdup' : 'ප්‍ර්‍රධාන නාමාවලිය(parent directory) වෙත යන්න', 'cmdupload' : 'ගොනු උඩුගත(Upload) කරන්න', 'cmdview' : 'දර්ශනය(View)', 'cmdresize' : 'ප්‍රථිප්‍රමාණය සහ භ්‍රමණය', 'cmdsort' : 'වර්ගීකරණය කරන්න', 'cmdnetmount' : 'ජාල එ්කකයක් සවි කරන්න(Mount network volume)', // added 18.04.2012 'cmdnetunmount': 'ගලවන්න(Unmount)', // from v2.1 added 30.04.2012 'cmdplaces' : 'පහසු ස්ථානයට(To Places)', // added 28.12.2014 'cmdchmod' : 'ක්‍රමය වෙනස් කරන්න', // from v2.1 added 20.6.2015 'cmdopendir' : 'ෆෝල්ඩරය විවෘත කරන්න', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'නැවත තීරු පළල පිහිටුවන්න', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'පුළුල් තිරය', // from v2.1.15 added 03.08.2016 'cmdmove' : 'මාරු කරන්න(Move)', // from v2.1.15 added 21.08.2016 'cmdempty' : 'ෆෝල්ඩරය හිස් කරන්න', // from v2.1.25 added 22.06.2017 'cmdundo' : 'නිෂ්ප්‍රභ කරන්න', // from v2.1.27 added 31.07.2017 'cmdredo' : 'නැවත කරන්න', // from v2.1.27 added 31.07.2017 'cmdpreference': 'අභිමතයන් (Preferences)', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'සියල්ල තෝරන්න', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'කිසිවක් තෝරන්න එපා', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'විරුද්ධ අාකාරයට තෝරන්න', // from v2.1.28 added 15.08.2017 /*********************************** buttons ***********************************/ 'btnClose' : 'වසන්න', 'btnSave' : 'සුරකින්න', 'btnRm' : 'ඉවත් කරන්න', 'btnApply' : 'යොදන්න(Apply)', 'btnCancel' : 'අවලංගු කරන්න', 'btnNo' : 'නැත', 'btnYes' : 'ඔව්', 'btnMount' : 'සවිකිරීම(Mount)', // added 18.04.2012 'btnApprove': 'කරුණාකර $1 අනුමත කරන්න', // from v2.1 added 26.04.2012 'btnUnmount': 'ගලවන්න(Unmount)', // from v2.1 added 30.04.2012 'btnConv' : 'පරිවර්තනය කරන්න', // from v2.1 added 08.04.2014 'btnCwd' : 'මෙතන', // from v2.1 added 22.5.2015 'btnVolume' : 'එ්කකය(Volume)', // from v2.1 added 22.5.2015 'btnAll' : 'සියල්ල', // from v2.1 added 22.5.2015 'btnMime' : 'MIME වර්ගය', // from v2.1 added 22.5.2015 'btnFileName':'ගොනුවේ නම', // from v2.1 added 22.5.2015 'btnSaveClose': 'සුරකින්න සහ වසන්න', // from v2.1 added 12.6.2015 'btnBackup' : 'උපස්ථ(Backup) කරන්න', // fromv2.1 added 28.11.2015 'btnRename' : 'නම වෙනස් කරන්න', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'නම වෙනස් කරන්න(සියල්ල)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'පෙර ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'ඊළඟ ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'වෙනත් නමකින් සුරකිමින්(Save As)', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'ෆෝල්ඩරය විවෘත කරමින්', 'ntffile' : 'ගොනුව විවෘත කරමින්', 'ntfreload' : 'ෆෝල්ඩර් අන්තර්ගතය නැවත අළුත් කරමින්(Reloading)', 'ntfmkdir' : 'ෆෝල්ඩරයක් නිර්මාණය කරමින්', 'ntfmkfile' : 'ගොනුව නිර්මාණය කරමින්', 'ntfrm' : 'අයිතමයන් මකමින්', 'ntfcopy' : 'අයිතමයන් පිටපත් කරමින්', 'ntfmove' : 'අයිතමයන් සම්පූර්ණයෙන් විස්ථාපනය කරමින්', 'ntfprepare' : 'පවතින අයිතම පිරික්සමින්', 'ntfrename' : 'ගොනු නැවත නම් කරමින්', 'ntfupload' : 'ගොනු උඩුගත(uploading) කරමින්', 'ntfdownload' : 'ගොනු බාගත(downloading) කරමින්', 'ntfsave' : 'ගොනු සුරකිමින්', 'ntfarchive' : 'සංරක්ෂණය(archive) සාදමින්', 'ntfextract' : 'සංරක්ෂණයෙන්(archive) ගොනු දිගහරිමින්(Extracting)', 'ntfsearch' : 'ගොනු සොයමින්', 'ntfresize' : 'රූප ප්‍රමාණය වෙනස් කරමින්', 'ntfsmth' : 'දෙයක් කරමින්', 'ntfloadimg' : 'පින්තූරය පූරණය කරමින්(Loading)', 'ntfnetmount' : 'ජාල එ්කකයක් සවිකරමින්(Mounting network volume)', // added 18.04.2012 'ntfnetunmount': 'ජාල එ්කකයක් ගලවමින්(Unmounting network volume)', // from v2.1 added 30.04.2012 'ntfdim' : 'පිංතූරයේ මානය(dimension) ලබාගනිමින්', // added 20.05.2013 'ntfreaddir' : 'ෆෝල්ඩරයේ තොරතුරු කියවමින්', // from v2.1 added 01.07.2013 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014 'ntfchmod' : 'ගොනු ආකරය වෙනස් කරමින්', // from v2.1 added 20.6.2015 'ntfpreupload': 'උඩුගත(upload) කරන ලද ගොනු නාමය සත්‍යාපනය කරමින්(Verifying)', // from v2.1 added 31.11.2015 'ntfzipdl' : 'බාගත කරගැනීම(download) සඳහා ගොනුවක් නිර්මාණය කරමින්', // from v2.1.7 added 23.1.2016 'ntfparents' : 'මාර්ග(path) තොරතුරු ලබා ගනිමින්', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'උඩුගත කරන ලද(uploaded) ගොනුව සකසමින්', // from v2.1.17 added 2.11.2016 'ntftrash' : 'කුණු කූඩයට දමමින්', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'කුණු කූඩයට දැමීම යළි පිහිටුවමින්(Doing restore)', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'ගමනාන්ත(destination) ෆෝල්ඩරය පරීක්ෂා කරමින්', // from v2.1.24 added 3.5.2017 'ntfundo' : 'පෙර මෙහෙයුම(operation) ඉවත් කරමින්', // from v2.1.27 added 31.07.2017 'ntfredo' : 'පෙර ආපසු හැරවීම යළි සැකසමින්', // from v2.1.27 added 31.07.2017 /*********************************** volumes *********************************/ 'volume_Trash' : 'කුණු කූඩය', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'නොදනී', 'Today' : 'අද', 'Yesterday' : 'ඊයේ', 'msJan' : 'ජනවා.', 'msFeb' : 'පෙබ.', 'msMar' : 'මාර්.', 'msApr' : 'අප්‍රේ.', 'msMay' : 'මැයි', 'msJun' : 'ජූනි', 'msJul' : 'ජුලි', 'msAug' : 'අගෝ.', 'msSep' : 'සැප්.', 'msOct' : 'ඔක්තෝ.', 'msNov' : 'නොවැ.', 'msDec' : 'දෙසැ.', 'January' : 'ජනවාරි', 'February' : 'පෙබරවාරි', 'March' : 'මාර්තු', 'April' : 'අප්‍රේල්', 'May' : 'මැයි', 'June' : 'ජූනි', 'July' : 'ජුලි', 'August' : 'අගෝස්තු', 'September' : 'සැප්තැම්බර්', 'October' : 'ඔක්තෝම්බර්', 'November' : 'නොවැම්බර්', 'December' : 'දෙසැම්බර්', 'Sunday' : 'ඉරිදා', 'Monday' : 'සඳුදා', 'Tuesday' : 'අඟහරුවාදා', 'Wednesday' : 'බදාදා', 'Thursday' : 'බ්‍රහස්පතින්දා', 'Friday' : 'සිකුරාදා', 'Saturday' : 'සෙනසුරාදා', 'Sun' : 'ඉරිදා', 'Mon' : 'සඳු.', 'Tue' : 'අඟහ.', 'Wed' : 'බදාදා', 'Thu' : 'බ්‍රහස්.', 'Fri' : 'සිකු.', 'Sat' : 'සෙන.', /******************************** sort variants ********************************/ 'sortname' : 'නම අනුව', 'sortkind' : 'වර්ගය අනුව', 'sortsize' : 'ප්‍රමාණය අනුව', 'sortdate' : 'දිනය අනුව', 'sortFoldersFirst' : 'ෆෝල්ඩර වලට පළමු තැන', 'sortperm' : 'අවසරය අනුව', // from v2.1.13 added 13.06.2016 'sortmode' : 'අාකාරය අනුව', // from v2.1.13 added 13.06.2016 'sortowner' : 'හිමිකරු අනුව', // from v2.1.13 added 13.06.2016 'sortgroup' : 'කණ්ඩායම අනුව', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'එලෙසටම රුක්සටහනත්(Treeview)', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015 'untitled folder' : 'නව ෆෝල්ඩරයක්', // added 10.11.2015 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015 /********************************** messages **********************************/ 'confirmReq' : 'තහවුරු කිරීම අවශ්‍යයි', 'confirmRm' : 'අයිතමයන් සදහටම ඉවත් කිරීමට අවශ්‍ය බව ඔබට විශ්වාසද?
                      මෙය අාපසු හැරවිය නොහැකිය!', 'confirmRepl' : 'පැරණි අයිතමය නව එකක මගින් ප්‍රතිස්ථාපනය කරන්නද?', 'confirmRest' : 'දැනට පවතින අයිතමය කුණු කූඩය තුළ පවතින අයිතමය මගින් ප්‍රතිස්ථාපනය කරන්නද?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'UTF-8 හි නොවේ
                      UTF-8 වෙත පරිවර්තනය කරන්න ද?
                      සුරැකීමෙන් පසු අන්තර්ගතය UTF-8 බවට පරිවර්තනය වේ.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'මෙම ගොනුවෙහි කේතන කේත(Character encoding) හඳුනාගත නොහැකි විය. සංස්කරණ කිරීමට එය තාවකාලිකව UTF-8 වෙත පරිවර්තනය කිරීම අවශ්‍ය වේ.
                      කරුණාකර මෙම ගොනුවෙහි අක්ෂර කේතන කේත(character encoding) තෝරන්න.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'මෙය වෙනස් කර ඇත.
                      ඔබට වෙනස්කම් සුරැකීමට නොහැකි නම් සිදු කරනු ලැබූ වෙනස්කම් අහිමි වේ.', // from v2.1 added 15.7.2015 'confirmTrash' : 'කුණු කූඩය තුලට අයිතමය යැවීමට ඔබට අවශ්‍ය ද?', //from v2.1.24 added 29.4.2017 'apllyAll' : 'සියල්ලටම යොදන්න', 'name' : 'නම', 'size' : 'ප්‍රමාණය', 'perms' : 'අවසරය', 'modify' : 'නවීකරණය කෙරුණ ලද්දේ', 'kind' : 'ජාතිය', 'read' : 'කියවන්න', 'write' : 'ලියන්න', 'noaccess' : 'ප්‍රවේශයක් නොමැත', 'and' : 'සහ', 'unknown' : 'නොහඳුනයි', 'selectall' : 'සියලු ගොනු තෝරන්න', 'selectfiles' : 'ගොනු(ව) තෝරන්න', 'selectffile' : 'පළමු ගොනුව තෝරන්න', 'selectlfile' : 'අවසාන ගොනුව තෝරන්න', 'viewlist' : 'ලැයිස්තු අාකාරය', 'viewicons' : 'අයිකන අාකාරය', 'places' : 'Places', 'calc' : 'ගණනය කරන්න', 'path' : 'මාර්ගය', 'aliasfor' : 'Alias for', 'locked' : 'අගුළු දමා ඇත', 'dim' : 'මාන(Dimensions)', 'files' : 'ගොනු', 'folders' : 'ෆෝල්ඩර', 'items' : 'අයිතම(Items)', 'yes' : 'ඔව්', 'no' : 'නැත', 'link' : 'සබැඳිය(Link)', 'searcresult' : 'සෙවුම් ප්‍රතිඵල', 'selected' : 'තෝරාගත් අයිතම', 'about' : 'මේ ගැන', 'shortcuts' : 'කෙටිමං', 'help' : 'උදව්', 'webfm' : 'වෙබ් ගොනු කළමනාකරු', 'ver' : 'අනුවාදය(version)', 'protocolver' : 'ප්‍රොටොකෝලය අනුවාදය(protocol version)', 'homepage' : 'ව්‍යාපෘතිය නිවහන', 'docs' : 'ලේඛනගත කිරීම', 'github' : 'Github හරහා සංවාදයේ යෙදෙන්න', 'twitter' : 'Twitter හරහා අපව සම්බන්ධ වන්න', 'facebook' : 'Facebook හරහා අප සමඟ එකතු වන්න', 'team' : 'කණ්ඩායම', 'chiefdev' : 'ප්‍රධාන සංස්කරු(chief developer)', 'developer' : 'සංස්කරු(developer)', 'contributor' : 'දායකයා(contributor)', 'maintainer' : 'නඩත්තු කරන්නා(maintainer)', 'translator' : 'පරිවර්තකයා', 'icons' : 'අයිකන', 'dontforget' : 'and don\'t forget to take your towel', 'shortcutsof' : 'කෙටිමං අක්‍රීය කර ඇත', 'dropFiles' : 'ගොනු මෙතැනට ඇද දමන්න', 'or' : 'හෝ', 'selectForUpload' : 'ගොනු තෝරන්න', 'moveFiles' : 'අායිත්තම සම්පූර්ණයෙන් විස්ථාපනය', 'copyFiles' : 'අයිතමයන් පිටපත් කරන්න', 'restoreFiles' : 'Restore items', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Remove from places', 'aspectRatio' : 'දර්ශන අනුපාතය(Aspect ratio)', 'scale' : 'පරිමාණය', 'width' : 'පළල', 'height' : 'උස', 'resize' : 'ප්‍රතිප්‍රමානණය', 'crop' : 'Crop', 'rotate' : 'කැරකැවීම', 'rotate-cw' : 'අංශක 90කින් කරකවන්න CW', 'rotate-ccw' : 'අංශක 90කින් කරකවන්න CCW', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'පරිශීලක', // added 18.04.2012 'pass' : 'මුරපදය', // added 18.04.2012 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Drop files, Paste URLs or images(clipboard) here', // from v2.1 added 07.04.2014 'encoding' : 'කේතීකරණය(Encoding)', // from v2.1 added 19.12.2014 'locale' : 'Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'ඉලක්කය: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015 'owner' : 'හිමිකරු', // from v2.1 added 20.6.2015 'group' : 'සමූහය', // from v2.1 added 20.6.2015 'other' : 'වෙනත්', // from v2.1 added 20.6.2015 'execute' : 'ක්‍රයාත්මක කරන්න', // from v2.1 added 20.6.2015 'perm' : 'අවසරය', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'ෆෝල්ඩරය හිස්', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'ෆාේල්ඩරය හිස්\\A අායිත්තම අතහැරීමෙන් අැතුලු කරන්න', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'ෆාේල්ඩරය හිස්\\A දිර්ඝ එබීමෙන් අායිත්තම අැතුලු කරන්න', // from v2.1.6 added 30.12.2015 'quality' : 'ගුණාත්මකභාවය', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016 'moveUp' : 'Move up', // from v2.1.6 added 18.1.2016 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'තෝරාගත් අයිතම ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016 'openMulti' : 'බහු ගොනු විවෘත කරන්න', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'ඔබ $1 ගොනු විවෘත කිරීමට උත්සාහ කරයි. බ්‍රව්සරයෙන් ඔබට විවෘත කිරීමට අවශ්‍ය බව ඔබට විශ්වාසද?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'සෙවුම් ඉලක්කයේ ගවේෂණ ප්‍රතිඵල නොමැත.', // from v2.1.12 added 5.16.2016 'editingFile' : 'එය ගොනුව සංස්කරණය කිරීමකි.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'ඔබ අයිතම $1 ප්‍රමාණයක් තෝරාගෙන ඇත.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Incremental search is only from the current view.', // from v2.1.13 added 6.30.2016 'reinstate' : 'යථා තත්ත්වයට පත් කරන්න', // from v2.1.15 added 3.8.2016 'complete' : '$1 සම්පූර්ණයි', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016 'reset' : 'යළි පිහිටුවන්න(Reset)', // from v2.1.16 added 1.10.2016 'bgcolor' : 'පසුබිම් වර්ණය', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Color picker', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'පික්සල් 8ක දැල', // from v2.1.16 added 4.10.2016 'enabled' : 'සක්‍රීයයි', // from v2.1.16 added 4.10.2016 'disabled' : 'අක්‍රීයයි', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'වර්තමාන දර්ශනය තුළ සෙවුම් ප්‍රතිපල හිස්ව ඇත. \\A සෙවුම් ඉලක්කය පුළුල් කිරීම සඳහා [Enter] යතුර ඔබන්න.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'වර්තමාන දර්ශනයේ පළමු අකුර සෙවුම් ප්‍රතිපල හිස්ව පවතී.', // from v2.1.23 added 24.3.2017 'textLabel' : 'ලේබල්වල නම්', // from v2.1.17 added 13.10.2016 'minsLeft' : 'විනාඩි $1 ක් ගතවේ', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reopen with selected encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Save with the selected encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'ෆෝල්ඩරය තෝරන්න', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'පළමු අකුරෙන් සෙවීම', // from v2.1.23 added 24.3.2017 'presets' : 'Presets', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'It\'s too many items so it can\'t into trash.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Empty the folder "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'There are no items in a folder "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preference', // from v2.1.26 added 28.6.2017 'language' : 'Language setting', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialize the settings saved in this browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Toolbar setting', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 ක් අකුරු ඉතිරිව පවතී', // from v2.1.29 added 30.8.2017 'sum' : 'එකතුව', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Rough file size', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focus on the element of dialog with mouseover', // from v2.1.30 added 2.11.2017 'select' : 'තෝරන්න', // from v2.1.30 added 23.11.2017 'selectAction' : 'ගොනුවක් තේරූ විට සිදුකල යුතු දේ', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Open with the editor used last time', // from v2.1.30 added 23.11.2017 'selectinvert' : 'ප්‍රතිවිරුද්ධ අාකාරයට තෝරන්න', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Are you sure you want to rename $1 selected items like $2?
                      This cannot be undone!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch rename', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Number', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Add prefix', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Add suffix', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Change extention', // from v2.1.31 added 8.12.2017 'columnPref' : 'Columns settings (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'All changes will reflect immediately to the archive.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Any changes will not reflect until un-mount this volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'The following volume(s) mounted on this volume also unmounted. Are you sure to unmount it?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'තෝරාගැනීම්වල තොරතුරු', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorithms to show the file hash', // from v2.1.33 added 10.3.2018 /********************************** mimetypes **********************************/ 'kindUnknown' : 'නොදන්නා', 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016 'kindFolder' : 'ෆෝල්ඩරය', 'kindSelects' : 'තේරීම්', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Broken alias', // applications 'kindApp' : 'Application', 'kindPostscript' : 'Postscript ලේඛනය', 'kindMsOffice' : 'Microsoft Office ලේඛනය', 'kindMsWord' : 'Microsoft Word ලේඛනය', 'kindMsExcel' : 'Microsoft Excel ලේඛනය', 'kindMsPP' : 'Microsoft Powerpoint presentation', 'kindOO' : 'Open Office ලේඛනය', 'kindAppFlash' : 'Flash application', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent file', 'kind7z' : '7z archive', 'kindTAR' : 'TAR archive', 'kindGZIP' : 'GZIP archive', 'kindBZIP' : 'BZIP archive', 'kindXZ' : 'XZ archive', 'kindZIP' : 'ZIP archive', 'kindRAR' : 'RAR archive', 'kindJAR' : 'Java JAR file', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM package', // texts 'kindText' : 'Text ලේඛනය', 'kindTextPlain' : 'Plain text', 'kindPHP' : 'PHP මූලාශ්‍රය', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML ලේඛනය', 'kindJS' : 'Javascript මූලාශ්‍රය', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C මූලාශ්‍රය', 'kindCHeader' : 'C header මූලාශ්‍රය', 'kindCPP' : 'C++ මූලාශ්‍රය', 'kindCPPHeader' : 'C++ header මූලාශ්‍රය', 'kindShell' : 'Unix shell රචනයකි', 'kindPython' : 'Python මූලාශ්‍රය', 'kindJava' : 'Java මූලාශ්‍රය', 'kindRuby' : 'Ruby මූලාශ්‍රය', 'kindPerl' : 'Perl රචනයකි', 'kindSQL' : 'SQL මූලාශ්‍රය', 'kindXML' : 'XML ලේඛනය', 'kindAWK' : 'AWK මූලාශ්‍රය', 'kindCSV' : 'කොමාවන් වෙන් කළ අගයන්', 'kindDOCBOOK' : 'Docbook XML ලේඛනය', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'පින්තූරය', 'kindBMP' : 'BMP පින්තූරය', 'kindJPEG' : 'JPEG පින්තූරය', 'kindGIF' : 'GIF පින්තූරය', 'kindPNG' : 'PNG පින්තූරය', 'kindTIFF' : 'TIFF පින්තූරය', 'kindTGA' : 'TGA පින්තූරය', 'kindPSD' : 'Adobe Photoshop පින්තූරය', 'kindXBITMAP' : 'X bitmap පින්තූරය', 'kindPXM' : 'Pixelmator පින්තූරය', // media 'kindAudio' : 'ශබ්ධ මාධ්‍ය', 'kindAudioMPEG' : 'MPEG ශබ්ධපටය', 'kindAudioMPEG4' : 'MPEG-4 ශබ්ධපටය', 'kindAudioMIDI' : 'MIDI ශබ්ධපටය', 'kindAudioOGG' : 'Ogg Vorbis ශබ්ධපටය', 'kindAudioWAV' : 'WAV ශබ්ධපටය', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video මාධ්‍ය', 'kindVideoDV' : 'DV චිත්‍රපටය', 'kindVideoMPEG' : 'MPEG චිත්‍රපටය', 'kindVideoMPEG4' : 'MPEG-4 චිත්‍රපටය', 'kindVideoAVI' : 'AVI චිත්‍රපටය', 'kindVideoMOV' : 'Quick Time චිත්‍රපටය', 'kindVideoWM' : 'Windows Media චිත්‍රපටය', 'kindVideoFlash' : 'Flash චිත්‍රපටය', 'kindVideoMKV' : 'Matroska චිත්‍රපටය', 'kindVideoOGG' : 'Ogg චිත්‍රපටය' } }; })); wp-file-manager/lib/js/i18n/elfinder.sk.js000064400000104305151202472330014224 0ustar00/** * Slovak translation * @author RobiNN * @author Jakub Ďuraš * @version 2021-06-10 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.sk = { translator : 'RobiNN <robo@kelcak.com>, Jakub Ďuraš <jkblmr@gmail.com>', language : 'Slovenčina', direction : 'ltr', dateFormat : 'd.m.Y H:i', // will show like: 10.06.2021 23:35 fancyDateFormat : '$1 H:i', // will show like: Dnes 23:35 nonameDateFormat : 'ymd-His', // noname upload will show like: 210610-233522 messages : { /********************************** errors **********************************/ 'error' : 'Chyba', 'errUnknown' : 'Neznáma chyba.', 'errUnknownCmd' : 'Neznámy príkaz.', 'errJqui' : 'Nesprávna jQuery UI konfigurácia. Selectable, draggable a droppable musia byť načítané.', 'errNode' : 'elFinder vyžaduje vytvorenie DOM elementu.', 'errURL' : 'Nesprávna elFinder konfigurácia! URL nie je definovaná.', 'errAccess' : 'Prístup zamietnutý.', 'errConnect' : 'Nepodarilo sa pripojiť do backendu.', 'errAbort' : 'Spojenie bolo prerušené.', 'errTimeout' : 'Časový limit vypršal.', 'errNotFound' : 'Backend nenájdený.', 'errResponse' : 'Nesprávna backend odpoveď.', 'errConf' : 'Nesprávna backend konfigurácia.', 'errJSON' : 'PHP JSON modul nie je nainštalovaný.', 'errNoVolumes' : 'Nie sú dostupné žiadne čitateľné média.', 'errCmdParams' : 'Nesprávne parametre pre príkaz "$1".', 'errDataNotJSON' : 'Dáta nie sú formátu JSON.', 'errDataEmpty' : 'Prázdne dáta.', 'errCmdReq' : 'Backend požiadavka požaduje názov príkazu.', 'errOpen' : 'Nie je možné otvoriť "$1".', 'errNotFolder' : 'Objekt nie je priečinok.', 'errNotFile' : 'Objekt nie je súbor.', 'errRead' : 'Nie je možné prečítať "$1".', 'errWrite' : 'Nie je možné písať do "$1".', 'errPerm' : 'Prístup zamietnutý.', 'errLocked' : '"$1" je uzamknutý a nemôže byť premenovaný, presunutý alebo odstránený.', 'errExists' : 'Položka s názvom "$1" už existuje.', 'errInvName' : 'Neplatný názov súboru.', 'errInvDirname' : 'Neplatný názov priečinka.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Priečinok nebol nájdený.', 'errFileNotFound' : 'Súbor nenájdený.', 'errTrgFolderNotFound' : 'Cieľový priečinok "$1" sa nenašiel.', 'errPopup' : 'Prehliadač zabránil otvoreniu vyskakovacieho okna. Pre otvorenie súboru povoľte vyskakovacie okná.', 'errMkdir' : 'Nepodarilo sa vytvoriť priečinok "$1".', 'errMkfile' : 'Nepodarilo sa vytvoriť súbor "$1".', 'errRename' : 'Nepodarilo sa premenovať "$1".', 'errCopyFrom' : 'Kopírovanie súborov z média "$1" nie je povolené.', 'errCopyTo' : 'Kopírovanie súborov na médium "$1" nie je povolené.', 'errMkOutLink' : 'Nie je možné vytvoriť odkaz mimo koreňového zväzku.', // from v2.1 added 03.10.2015 'errUpload' : 'Chyba pri nahrávaní.', // old name - errUploadCommon 'errUploadFile' : 'Nepodarilo sa nahrať "$1".', // old name - errUpload 'errUploadNoFiles' : 'Neboli nájdené žiadne súbory na nahranie.', 'errUploadTotalSize' : 'Dáta prekračujú maximálnu povolenú veľkosť.', // old name - errMaxSize 'errUploadFileSize' : 'Súbor prekračuje maximálnu povolenú veľkosť.', // old name - errFileMaxSize 'errUploadMime' : 'Nepovolený typ súboru.', 'errUploadTransfer' : 'Problém s nahrávaním "$1".', 'errUploadTemp' : 'Nepodarilo sa vytvoriť dočasný súbor na nahranie.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Objekt "$1" na tomto mieste už existuje a nemôže byť nahradený objektom iného typu.', // new 'errReplace' : 'Nie je možné nahradiť "$1".', 'errSave' : 'Nie je možné uložiť "$1".', 'errCopy' : 'Nie je možné kopírovať "$1".', 'errMove' : 'Nie je možné preniesť "$1".', 'errCopyInItself' : 'Nie je možné kopírovať "$1" do seba.', 'errRm' : 'Nie je možné vymazať "$1".', 'errTrash' : 'Nie je možné presunúť do koša.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Nie je možné odstrániť zdrojový/é súbor/y.', 'errExtract' : 'Nie je možné extrahovať súbory z "$1".', 'errArchive' : 'Nie je možné vytvoriť archív.', 'errArcType' : 'Nepodporovaný typ archívu.', 'errNoArchive' : 'Súbor nie je archív alebo má nepodporovaný typ archívu.', 'errCmdNoSupport' : 'Backend nepodporuje tento príkaz.', 'errReplByChild' : 'Priečinok "$1" nemôže byť nahradený položkou, ktorú už obsahuje.', 'errArcSymlinks' : 'Z bezpečnostných dôvodov bolo zakázané extrahovanie archívov obsahujúcich symlinky, alebo súborov s nepovolenými názvami.', // edited 24.06.2012 'errArcMaxSize' : 'Súbory archívu prekračujú maximálnu povolenú veľkosť.', 'errResize' : 'Nie je možné zmeniť veľkosť "$1".', 'errResizeDegree' : 'Neplatný stupeň otočenia.', // added 7.3.2013 'errResizeRotate' : 'Nie je možné otočiť obrázok.', // added 7.3.2013 'errResizeSize' : 'Neplatná veľkosť obrázka.', // added 7.3.2013 'errResizeNoChange' : 'Veľkosť obrázku sa nezmenila.', // added 7.3.2013 'errUsupportType' : 'Nepodporovaný typ súboru.', 'errNotUTF8Content' : 'Súbor "$1" nie je v UTF-8 a nemôže byť upravený.', // added 9.11.2011 'errNetMount' : 'Nie je možné pripojiť "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Nepodporovaný protokol.', // added 17.04.2012 'errNetMountFailed' : 'Pripájanie zlyhalo.', // added 17.04.2012 'errNetMountHostReq' : 'Hosť je požadovaný.', // added 18.04.2012 'errSessionExpires' : 'Vaša relácia vypršala kvôli nečinnosti.', 'errCreatingTempDir' : 'Nepodarilo sa vytvoriť dočasný adresár: "$1"', 'errFtpDownloadFile' : 'Nie je možné stiahnuť súbor z FTP: "$1"', 'errFtpUploadFile' : 'Nie je možné nahrať súbor na FTP: "$1"', 'errFtpMkdir' : 'Nedá sa vytvoriť vzdialený adresár na FTP: "$1"', 'errArchiveExec' : 'Chyba pri archivácii súborov: "$1"', 'errExtractExec' : 'Chyba pri extrahovaní súborov: "$1"', 'errNetUnMount' : 'Nepodarilo sa odpojiť', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Nie je prevoditeľný na UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Vyskúšajte moderný prehliadač, ak chcete nahrať priečinok.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Vypršal časový limit pri hľadaní "$1". Výsledok vyhľadávania je čiastočný.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Opätovné povolenie je potrebné.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Maximálny počet voliteľných položiek je $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Nepodarilo sa obnoviť z koša. Cieľ obnovenia nie je možné identifikovať.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor tohto typu súboru nebol nájdený.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Vyskytla sa chyba na strane servera.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Nepodarilo sa vyprázdniť priečinok "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Existujú ešte ďalšie $1 chyby.', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'Môžete vytvoriť až $1 priečinkov naraz.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Vytvoriť archív', 'cmdback' : 'Späť', 'cmdcopy' : 'Kopírovať', 'cmdcut' : 'Vystrihnúť', 'cmddownload' : 'Stiahnuť', 'cmdduplicate' : 'Duplikovať', 'cmdedit' : 'Upraviť súbor', 'cmdextract' : 'Extrahovať súbory z archívu', 'cmdforward' : 'Ďalej', 'cmdgetfile' : 'Vybrať súbory', 'cmdhelp' : 'O tomto softvéri', 'cmdhome' : 'Domov', 'cmdinfo' : 'Info', 'cmdmkdir' : 'Nový priečinok', 'cmdmkdirin' : 'Do novej zložky', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Nový súbor', 'cmdopen' : 'Otvoriť', 'cmdpaste' : 'Vložiť', 'cmdquicklook' : 'Náhľad', 'cmdreload' : 'Obnoviť', 'cmdrename' : 'Premenovať', 'cmdrm' : 'Vymazať', 'cmdtrash' : 'Do koša', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Obnoviť', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Nájsť súbory', 'cmdup' : 'Prejsť do nadradeného priečinka', 'cmdupload' : 'Nahrať súbory', 'cmdview' : 'Pozrieť', 'cmdresize' : 'Zmeniť veľkosť obrázku', 'cmdsort' : 'Zoradiť', 'cmdnetmount' : 'Pripojiť sieťové médium', // added 18.04.2012 'cmdnetunmount': 'Odpojiť', // from v2.1 added 30.04.2012 'cmdplaces' : 'Do umiestnení', // added 28.12.2014 'cmdchmod' : 'Zmeniť režim', // from v2.1 added 20.6.2015 'cmdopendir' : 'Otvoriť priečinok', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Resetovať šírku stĺpca', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Celá obrazovka', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Posúvať', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Vyprázdniť priečinok', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Krok späť', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Vykonať znova', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferencie', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Vybrať všetko', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Nič nevyberať', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Invertovať výber', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Otvoriť v novom okne', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Skryť (Predvoľba)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Zavrieť', 'btnSave' : 'Uložiť', 'btnRm' : 'Vymazať', 'btnApply' : 'Použiť', 'btnCancel' : 'Zrušiť', 'btnNo' : 'Nie', 'btnYes' : 'Áno', 'btnMount' : 'Pripojiť', // added 18.04.2012 'btnApprove': 'Ísť na $1 & schváliť', // from v2.1 added 26.04.2012 'btnUnmount': 'Odpojiť', // from v2.1 added 30.04.2012 'btnConv' : 'Previesť', // from v2.1 added 08.04.2014 'btnCwd' : 'Tu', // from v2.1 added 22.5.2015 'btnVolume' : 'Médium', // from v2.1 added 22.5.2015 'btnAll' : 'Všetko', // from v2.1 added 22.5.2015 'btnMime' : 'MIME typ', // from v2.1 added 22.5.2015 'btnFileName':'Názov súboru', // from v2.1 added 22.5.2015 'btnSaveClose': 'Uložiť & zavrieť', // from v2.1 added 12.6.2015 'btnBackup' : 'Zálohovať', // fromv2.1 added 28.11.2015 'btnRename' : 'Premenovať', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Premenovať všetko', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Predchádzajúce ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Ďalšie ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Uložiť ako', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Otváranie priečinka', 'ntffile' : 'Otváranie súboru', 'ntfreload' : 'Znovu-načítanie obsahu priečinka', 'ntfmkdir' : 'Vytváranie priečinka', 'ntfmkfile' : 'Vytváranie súborov', 'ntfrm' : 'Vymazanie položiek', 'ntfcopy' : 'Kopírovanie položiek', 'ntfmove' : 'Premiestnenie položiek', 'ntfprepare' : 'Kontrola existujúcich položiek', 'ntfrename' : 'Premenovanie súborov', 'ntfupload' : 'Nahrávanie súborov', 'ntfdownload' : 'Sťahovanie súborov', 'ntfsave' : 'Uloženie súborov', 'ntfarchive' : 'Vytváranie archívu', 'ntfextract' : 'Extrahovanie súborov z archívu', 'ntfsearch' : 'Vyhľadávanie súborov', 'ntfresize' : 'Zmena veľkosti obrázkov', 'ntfsmth' : 'Počkajte prosím...', 'ntfloadimg' : 'Načítavanie obrázka', 'ntfnetmount' : 'Pripájanie sieťového média', // added 18.04.2012 'ntfnetunmount': 'Odpájanie sieťového média', // from v2.1 added 30.04.2012 'ntfdim' : 'Získanie rozmeru obrázka', // added 20.05.2013 'ntfreaddir' : 'Čítajú sa informácie o priečinku', // from v2.1 added 01.07.2013 'ntfurl' : 'Získanie adresy URL odkazu', // from v2.1 added 11.03.2014 'ntfchmod' : 'Zmena súboru', // from v2.1 added 20.6.2015 'ntfpreupload': 'Overenie názvu nahravaného súboru', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Vytvorenie súboru na stiahnutie', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Získanie informácií o ceste', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Spracovanie nahraného súboru', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Vhadzovanie do koša', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Vykonávanie obnovy z koša', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Kontrola cieľového priečinka', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Zrušiť predchádzajúcu operáciu', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Obnovenie predchádzajúceho zrušenia', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Kontrola obsahu', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Kôš', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'neznámy', 'Today' : 'Dnes', 'Yesterday' : 'Včera', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Maj', 'msJun' : 'Jun', 'msJul' : 'Júl', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'Január', 'February' : 'Február', 'March' : 'Marec', 'April' : 'Apríl', 'May' : 'Máj', 'June' : 'Jún', 'July' : 'Júl', 'August' : 'August', 'September' : 'September', 'October' : 'Október', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Nedeľa', 'Monday' : 'Pondelok', 'Tuesday' : 'Utorok', 'Wednesday' : 'Streda', 'Thursday' : 'Štvrtok', 'Friday' : 'Piatok', 'Saturday' : 'Sobota', 'Sun' : 'Ned', 'Mon' : 'Pon', 'Tue' : 'Ut', 'Wed' : 'Str', 'Thu' : 'Štv', 'Fri' : 'Pia', 'Sat' : 'Sob', /******************************** sort variants ********************************/ 'sortname' : 'podľa názvu', 'sortkind' : 'podľa druhu', 'sortsize' : 'podľa veľkosti', 'sortdate' : 'podľa dátumu', 'sortFoldersFirst' : 'Najskôr priečinky', 'sortperm' : 'podľa povolenia', // from v2.1.13 added 13.06.2016 'sortmode' : 'podľa módu', // from v2.1.13 added 13.06.2016 'sortowner' : 'podľa majiteľa', // from v2.1.13 added 13.06.2016 'sortgroup' : 'podľa skupiny', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Tiež stromové zobrazenie', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'Nový súbor.txt', // added 10.11.2015 'untitled folder' : 'Nový priečinok', // added 10.11.2015 'Archive' : 'Nový archív', // from v2.1 added 10.11.2015 'untitled file' : 'Nový súbor.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1 súbor', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Potrebné potvrdenie', 'confirmRm' : 'Určite chcete vymazať súbory?
                      Nie je to možné vrátiť späť!', 'confirmRepl' : 'Nahradiť starý súbor za nový? (Ak obsahuje priečinky, bude zlúčené. Ak chcete zálohovať a nahradiť, vyberte možnosť Zálohovať.)', 'confirmRest' : 'Nahradiť existujúcu položku s položkou v koši?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Nie je v UTF-8
                      Previesť na UTF-8?
                      Obsah bude v UTF-8 po uložení konverzie.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Kódovanie tohto súboru nemohlo byť detekované. Pre úpravu dočasne potrebujete previesť na UTF-8 .
                      Prosím, vyberte kódovanie znakov tohto súboru.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Bol upravený.
                      Ak zmeny neuložíte, stratíte vykonanú prácu.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Naozaj chcete presunúť položky do koša?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Naozaj chcete presunúť položky do "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Použiť na všetky', 'name' : 'Názov', 'size' : 'Veľkosť', 'perms' : 'Povolenia', 'modify' : 'Zmenené', 'kind' : 'Druh', 'read' : 'čítať', 'write' : 'zapisovať', 'noaccess' : 'bez prístupu', 'and' : 'a', 'unknown' : 'neznámy', 'selectall' : 'Vybrať všetky položky', 'selectfiles' : 'Vybrať položku(y)', 'selectffile' : 'Vybrať prvú položku', 'selectlfile' : 'Vybrať poslednú položku', 'viewlist' : 'Zoznam', 'viewicons' : 'Ikony', 'viewSmall' : 'Malé ikony', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Stredné ikony', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Veľké ikony', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Extra veľké ikony', // from v2.1.39 added 22.5.2018 'places' : 'Miesta', 'calc' : 'Prepočítavanie', 'path' : 'Cesta', 'aliasfor' : 'Alias pre', 'locked' : 'Uzamknuté', 'dim' : 'Rozmery', 'files' : 'Súbory', 'folders' : 'Priečinky', 'items' : 'Položky', 'yes' : 'áno', 'no' : 'nie', 'link' : 'Odkaz', 'searcresult' : 'Výsledky hľadania', 'selected' : 'zvolené položky', 'about' : 'O aplikácii', 'shortcuts' : 'Skratky', 'help' : 'Pomoc', 'webfm' : 'Webový správca súborov', 'ver' : 'Verzia', 'protocolver' : 'verzia protokolu', 'homepage' : 'Domovská stránka', 'docs' : 'Dokumentácia', 'github' : 'Pozri nás na Githube', 'twitter' : 'Nasleduj nás na Twitteri', 'facebook' : 'Pripoj sa k nám na Facebooku', 'team' : 'Tím', 'chiefdev' : 'Hlavný vývojár', 'developer' : 'Vývojár', 'contributor' : 'Prispievateľ', 'maintainer' : 'Správca', 'translator' : 'Prekladateľ', 'icons' : 'Ikony', 'dontforget' : 'a nezabudnite si plavky', 'shortcutsof' : 'Skratky nie sú povolené', 'dropFiles' : 'Sem pretiahnite súbory', 'or' : 'alebo', 'selectForUpload' : 'Vyberte súbory', 'moveFiles' : 'Premiestniť súbory', 'copyFiles' : 'Kopírovať súbory', 'restoreFiles' : 'Obnoviť položky', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Odstrániť z umiestnení', 'aspectRatio' : 'Pomer zobrazenia', 'scale' : 'Mierka', 'width' : 'Šírka', 'height' : 'Výška', 'resize' : 'Zmeniť veľkosť', 'crop' : 'Orezať', 'rotate' : 'Otočiť', 'rotate-cw' : 'Otočiť o 90 stupňov (v smere h.r.)', 'rotate-ccw' : 'Otočiť o 90 stupňov (proti smeru)', 'degree' : '°', 'netMountDialogTitle' : 'Pripojiť sieťové médium', // added 18.04.2012 'protocol' : 'Protokol', // added 18.04.2012 'host' : 'Hosť', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'Užívateľ', // added 18.04.2012 'pass' : 'Heslo', // added 18.04.2012 'confirmUnmount' : 'Naozaj chcete odpojiť $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Premiestnite alebo presuňte súbory z prehliadača', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Tu premiestnite alebo presuňte súbory a adresy URL', // from v2.1 added 07.04.2014 'encoding' : 'Kódovanie', // from v2.1 added 19.12.2014 'locale' : 'Lokalizácia', // from v2.1 added 19.12.2014 'searchTarget' : 'Cieľ: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Vyhľadávanie podľa vstupného MIME typu', // from v2.1 added 22.5.2015 'owner' : 'Majiteľ', // from v2.1 added 20.6.2015 'group' : 'Skupina', // from v2.1 added 20.6.2015 'other' : 'Ostatné', // from v2.1 added 20.6.2015 'execute' : 'Spustiť', // from v2.1 added 20.6.2015 'perm' : 'Povolenie', // from v2.1 added 20.6.2015 'mode' : 'Režim', // from v2.1 added 20.6.2015 'emptyFolder' : 'Priečinok je prázdny', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Priečinok je prázdny\\A Premiestnite alebo presuňte položky', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Priečinok je prázdny\\A Dlhým kliknutím pridáte položky', // from v2.1.6 added 30.12.2015 'quality' : 'Kvalita', // from v2.1.6 added 5.1.2016 'autoSync' : 'Automatická synchronizácia', // from v2.1.6 added 10.1.2016 'moveUp' : 'Posunúť nahor', // from v2.1.6 added 18.1.2016 'getLink' : 'Získať URL odkaz', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Vybraté položky ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID priečinka', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Povoliť prístup v offline režime', // from v2.1.10 added 3.25.2016 'reAuth' : 'Znova overiť', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Práve načítava...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Otvorenie viacerých súborov', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Pokúšate sa otvoriť súbor $1. Naozaj ho chcete otvoriť v prehliadači?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Výsledky vyhľadávania sú prázdne v hľadanom cieli.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Je to úprava súboru.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Vybrali ste $1 položky.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Máte $1 položky v schránke.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Prírastkové hľadanie je iba z aktuálneho zobrazenia.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Obnovovanie', // from v2.1.15 added 3.8.2016 'complete' : '$1: kompletné', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Kontextové menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Otáčanie stránky', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Korene média', // from v2.1.16 added 16.9.2016 'reset' : 'Resetovať', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Farba pozadia', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Výber farby', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px mriežka', // from v2.1.16 added 4.10.2016 'enabled' : 'Povolené', // from v2.1.16 added 4.10.2016 'disabled' : 'Zakázané', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Výsledky vyhľadávania sú prázdne v aktuálnom zobrazení. Stlačením tlačidla [Enter] rozšírite vyhľadávanie cieľa.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Výsledky vyhľadávania prvého listu sú v aktuálnom zobrazení prázdne.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Nápis textu', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 minút ostáva', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Otvoriť s vybratým kódovaním', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Uložiť s vybratým kódovaním', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Vyberte priečinok', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Hľadanie prvého listu', // from v2.1.23 added 24.3.2017 'presets' : 'Presety', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Je to príliš veľa položiek, takže sa nemôže dostať do koša.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Textarea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Vyprázdniť priečinok "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'V priečinku "$1" nie sú žiadne položky.', // from v2.1.25 added 22.6.2017 'preference' : 'Preferencie', // from v2.1.26 added 28.6.2017 'language' : 'Nastavenie jazyka', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Inicializujte nastavenia uložené v tomto prehliadači', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Nastavenie panela s nástrojmi', // from v2.1.27 added 2.8.2017 'charsLeft' : '...$1 znakov ostáva.', // from v2.1.29 added 30.8.2017 'linesLeft' : '...$1 riadkov ostáva.', // from v2.1.52 added 16.1.2020 'sum' : 'Súčet', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Hrubá veľkosť súboru', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Zameranie na prvok dialógu s mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Vybrať', // from v2.1.30 added 23.11.2017 'selectAction' : 'Akcia pri vybranom súbore', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Otvoriť pomocou naposledy použitého editora', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Invertovať výber položiek', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Naozaj chcete premenovať $1 vybraných položiek, ako napríklad $2
                      Nie je to možné vrátiť späť!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch premenovanie', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Číslo', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Pridať predponu', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Pridať príponu', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Zmeniť príponu', // from v2.1.31 added 8.12.2017 'columnPref' : 'Nastavenia stĺpcov (zoznamové zobrazenie)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Všetky zmeny sa okamžite premietnu do archívu.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Akékoľvek zmeny sa neodzrkadľujú, kým sa toto médium neodinštaluje.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Nasledujúce médium(a) pripojené v tomto médiu je tiež odpojené. Určite ho odpojiť?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Informácie o výbere', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algoritmy na zobrazenie hashu súborov', // from v2.1.33 added 10.3.2018 'infoItems' : 'Informačné položky (panel s informáciami o výbere)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Opätovným stlačením opustíte.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Panel nástrojov', // from v2.1.38 added 4.4.2018 'workspace' : 'Pracovný priestor', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialóg', // from v2.1.38 added 4.4.2018 'all' : 'Všetko', // from v2.1.38 added 4.4.2018 'iconSize' : 'Veľkosť ikony (zobrazenie ikon)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Otvorte maximalizované okno editora', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Pretože konverzia podľa rozhrania API momentálne nie je k dispozícii, skonvertujte na webovej stránke.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Po konverzii musíte nahrať skonvertovaný súbor pomocou URL položky alebo stiahnutý súbor na uloženie skonvertovaného súboru.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Konvertovať na stránke $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrácie', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Tento elFinder má integrované nasledujúce externé služby. Pred použitím skontrolujte podmienky používania, zásady ochrany osobných údajov atď.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Zobraziť skryté položky', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Skryť skryté položky', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Zobraziť/skryť skryté položky', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Typy súborov, ktoré sa majú povoliť pomocou "Nový súbor"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Typ textového súboru', // from v2.1.41 added 7.8.2018 'add' : 'Pridať', // from v2.1.41 added 7.8.2018 'theme' : 'Téma', // from v2.1.43 added 19.10.2018 'default' : 'Predvolená', // from v2.1.43 added 19.10.2018 'description' : 'Popis', // from v2.1.43 added 19.10.2018 'website' : 'Stránka', // from v2.1.43 added 19.10.2018 'author' : 'Autor', // from v2.1.43 added 19.10.2018 'email' : 'E-mail', // from v2.1.43 added 19.10.2018 'license' : 'Licencia', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Túto položku nemožno uložiť. Ak chcete zabrániť strate úprav, musíte ju exportovať do počítača.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Dvakrát kliknite na súbor a vyberte ho.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Použiť režim celej obrazovky', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Neznámy', 'kindRoot' : 'Koreň média', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Priečinok', 'kindSelects' : 'Výbery', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Porušený alias', // applications 'kindApp' : 'Aplikácia', 'kindPostscript' : 'Postscript dokument', 'kindMsOffice' : 'Microsoft Office dokument', 'kindMsWord' : 'Microsoft Word dokument', 'kindMsExcel' : 'Microsoft Excel dokument', 'kindMsPP' : 'Microsoft Powerpoint prezentácia', 'kindOO' : 'Open Office dokument', 'kindAppFlash' : 'Flashová aplikácia', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent súbor', 'kind7z' : '7z archív', 'kindTAR' : 'TAR archív', 'kindGZIP' : 'GZIP archív', 'kindBZIP' : 'BZIP archív', 'kindXZ' : 'XZ archív', 'kindZIP' : 'ZIP archív', 'kindRAR' : 'RAR archív', 'kindJAR' : 'Java JAR súbor', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM balík', // texts 'kindText' : 'Textový document', 'kindTextPlain' : 'Obyčajný text', 'kindPHP' : 'PHP zdrojový kód', 'kindCSS' : 'Cascading style sheet (CSS)', 'kindHTML' : 'HTML dokument', 'kindJS' : 'Javascript zdrojový kód', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C zdrojový kód', 'kindCHeader' : 'C header zdrojový kód', 'kindCPP' : 'C++ zdrojový kód', 'kindCPPHeader' : 'C++ header zdrojový kód', 'kindShell' : 'Unix shell skript', 'kindPython' : 'Python zdrojový kód', 'kindJava' : 'Java zdrojový kód', 'kindRuby' : 'Ruby zdrojový kód', 'kindPerl' : 'Perl zdrojový kód', 'kindSQL' : 'SQL zdrojový kód', 'kindXML' : 'XML dokument', 'kindAWK' : 'AWK zdrojový kód', 'kindCSV' : 'Čiarkou oddeľované hodnoty', 'kindDOCBOOK' : 'Docbook XML dokument', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Obrázok', 'kindBMP' : 'BMP obrázok', 'kindJPEG' : 'JPEG obrázok', 'kindGIF' : 'GIF obrázok', 'kindPNG' : 'PNG obrázok', 'kindTIFF' : 'TIFF obrázok', 'kindTGA' : 'TGA obrázok', 'kindPSD' : 'Adobe Photoshop obrázok', 'kindXBITMAP' : 'X bitmap obrázok', 'kindPXM' : 'Pixelmator obrázok', // media 'kindAudio' : 'Zvukový súbor', 'kindAudioMPEG' : 'MPEG zvuk', 'kindAudioMPEG4' : 'MPEG-4 zvuk', 'kindAudioMIDI' : 'MIDI zvuk', 'kindAudioOGG' : 'Ogg Vorbis zvuk', 'kindAudioWAV' : 'WAV zvuk', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video súbor', 'kindVideoDV' : 'DV video', 'kindVideoMPEG' : 'MPEG video', 'kindVideoMPEG4' : 'MPEG-4 video', 'kindVideoAVI' : 'AVI video', 'kindVideoMOV' : 'Quick Time video', 'kindVideoWM' : 'Windows Media video', 'kindVideoFlash' : 'Flash video', 'kindVideoMKV' : 'Matroska video', 'kindVideoOGG' : 'Ogg video' } }; })); wp-file-manager/lib/js/i18n/elfinder.sl.js000064400000037447151202472330014241 0ustar00/** * Slovenian translation * @author Damjan Rems * @version 2014-12-19 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.sl = { translator : 'Damjan Rems <d_rems at yahoo.com>', language : 'Slovenščina', direction : 'ltr', dateFormat : 'd.m.Y H:i', fancyDateFormat : '$1 H:i', messages : { /********************************** errors **********************************/ 'error' : 'Napaka', 'errUnknown' : 'Neznana napaka.', 'errUnknownCmd' : 'Neznan ukaz.', 'errJqui' : 'Napačna jQuery UI nastavitev. Selectable, draggable in droppable dodatki morajo biti vključeni.', 'errNode' : 'elFinder potrebuje "DOM Element".', 'errURL' : 'Napačna nastavitev elFinder-ja! Manjka URL nastavitev.', 'errAccess' : 'Dostop zavrnjen.', 'errConnect' : 'Ne morem se priključiti na "backend".', 'errAbort' : 'Povezava prekinjena (aborted).', 'errTimeout' : 'Povezava potekla (timeout).', 'errNotFound' : 'Nisem našel "backend-a".', 'errResponse' : 'Napačni "backend" odgovor.', 'errConf' : 'Napačna "backend" nastavitev.', 'errJSON' : 'JSON modul ni instaliran.', 'errNoVolumes' : 'Readable volumes not available.', 'errCmdParams' : 'Napačni parametri za ukaz "$1".', 'errDataNotJSON' : 'Podatki niso v JSON obliki.', 'errDataEmpty' : 'Ni podatkov oz. so prazni.', 'errCmdReq' : '"Backend" zahtevek potrebuje ime ukaza.', 'errOpen' : '"$1" ni možno odpreti.', 'errNotFolder' : 'Objekt ni mapa.', 'errNotFile' : 'Objekt ni datoteka.', 'errRead' : '"$1" ni možno brati.', 'errWrite' : 'Ne morem pisati v "$1".', 'errPerm' : 'Dostop zavrnjen.', 'errLocked' : '"$1" je zaklenjen(a) in je ni možno preimenovati, premakniti ali izbrisati.', 'errExists' : 'Datoteka z imenom "$1" že obstaja.', 'errInvName' : 'Napačno ime datoteke.', 'errFolderNotFound' : 'Mape nisem našel.', 'errFileNotFound' : 'Datoteke nisem našel.', 'errTrgFolderNotFound' : 'Ciljna mapa "$1" ne obstaja.', 'errPopup' : 'Brskalnik je preprečil prikaz (popup) okna. Za vpogled datoteke omogočite nastavitev v vašem brskalniku.', 'errMkdir' : 'Ni možno dodati mape "$1".', 'errMkfile' : 'Ni možno dodati datoteke "$1".', 'errRename' : 'Ni možno preimenovati "$1".', 'errCopyFrom' : 'Kopiranje datotek iz "$1" ni dovoljeno.', 'errCopyTo' : 'Kopiranje datotek na "$1" ni dovoljeno.', 'errUpload' : 'Napaka pri prenosu.', 'errUploadFile' : '"$1" ni možno naložiti (upload).', 'errUploadNoFiles' : 'Ni datotek za nalaganje (upload).', 'errUploadTotalSize' : 'Podatki presegajo največjo dovoljeno velikost.', 'errUploadFileSize' : 'Datoteka presega največjo dovoljeno velikost.', 'errUploadMime' : 'Datoteke s to končnico niso dovoljene.', 'errUploadTransfer' : '"$1" napaka pri prenosu.', 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', 'errReplace' : 'Unable to replace "$1".', 'errSave' : '"$1" ni možno shraniti.', 'errCopy' : '"$1" ni možno kopirati.', 'errMove' : '"$1" ni možno premakniti.', 'errCopyInItself' : '"$1" ni možno kopirati samo vase.', 'errRm' : '"$1" ni možno izbrisati.', 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'Datotek iz "$1" ni možno odpakirati.', 'errArchive' : 'Napaka pri delanju arhiva.', 'errArcType' : 'Nepodprta vrsta arhiva.', 'errNoArchive' : 'Datoteka ni arhiv ali vrsta arhiva ni podprta.', 'errCmdNoSupport' : '"Backend" ne podpira tega ukaza.', 'errReplByChild' : 'Mape “$1” ni možno zamenjati z vsebino mape.', 'errArcSymlinks' : 'Zaradi varnostnih razlogov arhiva ki vsebuje "symlinks" ni možno odpakirati.', 'errArcMaxSize' : 'Datoteke v arhivu presegajo največjo dovoljeno velikost.', 'errResize' : '"$1" ni možno razširiti.', 'errResizeDegree' : 'Invalid rotate degree.', 'errResizeRotate' : 'Unable to rotate image.', 'errResizeSize' : 'Invalid image size.', 'errResizeNoChange' : 'Image size not changed.', 'errUsupportType' : 'Nepodprta vrsta datoteke.', 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012 'errNetMountHostReq' : 'Host required.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', /******************************* commands names ********************************/ 'cmdarchive' : 'Naredi arhiv', 'cmdback' : 'Nazaj', 'cmdcopy' : 'Kopiraj', 'cmdcut' : 'Izreži', 'cmddownload' : 'Poberi (download)', 'cmdduplicate' : 'Podvoji', 'cmdedit' : 'Uredi datoteko', 'cmdextract' : 'Odpakiraj datoteke iz arhiva', 'cmdforward' : 'Naprej', 'cmdgetfile' : 'Izberi datoteke', 'cmdhelp' : 'Več o', 'cmdhome' : 'Domov', 'cmdinfo' : 'Lastnosti', 'cmdmkdir' : 'Nova mapa', 'cmdmkfile' : 'Nova datoteka', 'cmdopen' : 'Odpri', 'cmdpaste' : 'Prilepi', 'cmdquicklook' : 'Hitri ogled', 'cmdreload' : 'Osveži', 'cmdrename' : 'Preimenuj', 'cmdrm' : 'Izbriši', 'cmdsearch' : 'Poišči datoteke', 'cmdup' : 'Mapa nazaj', 'cmdupload' : 'Naloži (upload)', 'cmdview' : 'Ogled', 'cmdresize' : 'Povečaj (pomanjšaj) sliko', 'cmdsort' : 'Razvrsti', 'cmdnetmount' : 'Mount network volume', /*********************************** buttons ***********************************/ 'btnClose' : 'Zapri', 'btnSave' : 'Shrani', 'btnRm' : 'Izbriši', 'btnApply' : 'Uporabi', 'btnCancel' : 'Prekliči', 'btnNo' : 'Ne', 'btnYes' : 'Da', 'btnMount' : 'Mount', /******************************** notifications ********************************/ 'ntfopen' : 'Odpri mapo', 'ntffile' : 'Odpri datoteko', 'ntfreload' : 'Osveži vsebino mape', 'ntfmkdir' : 'Ustvarjam mapo', 'ntfmkfile' : 'Ustvarjam datoteke', 'ntfrm' : 'Brišem datoteke', 'ntfcopy' : 'Kopiram datoteke', 'ntfmove' : 'Premikam datoteke', 'ntfprepare' : 'Pripravljam se na kopiranje datotek', 'ntfrename' : 'Preimenujem datoteke', 'ntfupload' : 'Nalagam (upload) datoteke', 'ntfdownload' : 'Pobiram (download) datoteke', 'ntfsave' : 'Shranjujem datoteke', 'ntfarchive' : 'Ustvarjam arhiv', 'ntfextract' : 'Razpakiram datoteke iz arhiva', 'ntfsearch' : 'Iščem datoteke', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Počakaj delam >_<', 'ntfloadimg' : 'Nalagam sliko', 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013 /************************************ dates **********************************/ 'dateUnknown' : 'neznan', 'Today' : 'Danes', 'Yesterday' : 'Včeraj', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Maj', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Avg', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'Januar', 'February' : 'Februar', 'March' : 'Marec', 'April' : 'April', 'May' : 'Maj', 'June' : 'Junij', 'July' : 'Julij', 'August' : 'Avgust', 'September' : 'September', 'October' : 'Oktober', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Nedelja', 'Monday' : 'Ponedeljek', 'Tuesday' : 'Torek', 'Wednesday' : 'Sreda', 'Thursday' : 'Četrtek', 'Friday' : 'Petek', 'Saturday' : 'Sobota', 'Sun' : 'Ned', 'Mon' : 'Pon', 'Tue' : 'Tor', 'Wed' : 'Sre', 'Thu' : 'Čet', 'Fri' : 'Pet', 'Sat' : 'Sob', /******************************** sort variants ********************************/ 'sortname' : 'po imenu', 'sortkind' : 'po vrsti', 'sortsize' : 'po velikosti', 'sortdate' : 'po datumu', 'sortFoldersFirst' : 'Folders first', /********************************** messages **********************************/ 'confirmReq' : 'Zahtevana je potrditev', 'confirmRm' : 'Ste prepričani, da želite izbrisati datoteko?
                      POZOR! Tega ukaza ni možno preklicati!', 'confirmRepl' : 'Zamenjam staro datoteko z novo?', 'apllyAll' : 'Uporabi pri vseh', 'name' : 'Ime', 'size' : 'Velikost', 'perms' : 'Dovoljenja', 'modify' : 'Spremenjeno', 'kind' : 'Vrsta', 'read' : 'beri', 'write' : 'piši', 'noaccess' : 'ni dostopa', 'and' : 'in', 'unknown' : 'neznan', 'selectall' : 'Izberi vse datoteke', 'selectfiles' : 'Izberi datotek(o)e', 'selectffile' : 'Izberi prvo datoteko', 'selectlfile' : 'Izberi zadnjo datoteko', 'viewlist' : 'Seznam', 'viewicons' : 'Ikone', 'places' : 'Mesta (places)', 'calc' : 'Izračun', 'path' : 'Pot do', 'aliasfor' : 'Sopomenka (alias) za', 'locked' : 'Zaklenjeno', 'dim' : 'Dimenzije', 'files' : 'Datoteke', 'folders' : 'Mape', 'items' : 'Predmeti', 'yes' : 'da', 'no' : 'ne', 'link' : 'Povezava', 'searcresult' : 'Rezultati iskanja', 'selected' : 'izbrani predmeti', 'about' : 'Več o', 'shortcuts' : 'Bližnjice', 'help' : 'Pomoč', 'webfm' : 'Spletni upravitelj datotek', 'ver' : 'Verzija', 'protocolver' : 'verzija protokola', 'homepage' : 'Domača stran', 'docs' : 'Dokumentacija', 'github' : 'Fork us on Github', 'twitter' : 'Sledi na twitterju', 'facebook' : 'Pridruži se nam na facebook-u', 'team' : 'Tim', 'chiefdev' : 'Glavni razvijalec', 'developer' : 'razvijalec', 'contributor' : 'contributor', 'maintainer' : 'vzdrževalec', 'translator' : 'prevajalec', 'icons' : 'Ikone', 'dontforget' : 'In ne pozabi na brisačo', 'shortcutsof' : 'Bližnjica onemogočena', 'dropFiles' : 'Datoteke spusti tukaj', 'or' : 'ali', 'selectForUpload' : 'Izberi datoteke za nalaganje', 'moveFiles' : 'Premakni datoteke', 'copyFiles' : 'Kopiraj datoteke', 'rmFromPlaces' : 'Izbriši iz mesta (places)', 'aspectRatio' : 'Razmerje slike', 'scale' : 'Razširi', 'width' : 'Širina', 'height' : 'Višina', 'resize' : 'Povečaj', 'crop' : 'Obreži', 'rotate' : 'Zavrti', 'rotate-cw' : 'Zavrti 90 st. v smeri ure', 'rotate-ccw' : 'Zavrti 90 st. v obratni smeri ure', 'degree' : 'Stopnja', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'User', // added 18.04.2012 'pass' : 'Password', // added 18.04.2012 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Neznan', 'kindFolder' : 'Mapa', 'kindAlias' : 'Sopomenka (alias)', 'kindAliasBroken' : 'Nedelujoča sopomenka (alias)', // applications 'kindApp' : 'Program', 'kindPostscript' : 'Postscript dokument', 'kindMsOffice' : 'Microsoft Office dokument', 'kindMsWord' : 'Microsoft Word dokument', 'kindMsExcel' : 'Microsoft Excel dokument', 'kindMsPP' : 'Microsoft Powerpoint predstavitev', 'kindOO' : 'Open Office dokument', 'kindAppFlash' : 'Flash program', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent datoteka', 'kind7z' : '7z arhiv', 'kindTAR' : 'TAR arhiv', 'kindGZIP' : 'GZIP arhiv', 'kindBZIP' : 'BZIP arhiv', 'kindXZ' : 'XZ arhiv', 'kindZIP' : 'ZIP arhiv', 'kindRAR' : 'RAR arhiv', 'kindJAR' : 'Java JAR datoteka', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM paket', // texts 'kindText' : 'Tekst dokument', 'kindTextPlain' : 'Samo tekst', 'kindPHP' : 'PHP koda', 'kindCSS' : 'Cascading style sheet (CSS)', 'kindHTML' : 'HTML dokument', 'kindJS' : 'Javascript koda', 'kindRTF' : 'Rich Text Format (RTF)', 'kindC' : 'C koda', 'kindCHeader' : 'C header koda', 'kindCPP' : 'C++ koda', 'kindCPPHeader' : 'C++ header koda', 'kindShell' : 'Unix shell skripta', 'kindPython' : 'Python kdoa', 'kindJava' : 'Java koda', 'kindRuby' : 'Ruby koda', 'kindPerl' : 'Perl skripta', 'kindSQL' : 'SQL koda', 'kindXML' : 'XML dokument', 'kindAWK' : 'AWK koda', 'kindCSV' : 'Besedilo ločeno z vejico (CSV)', 'kindDOCBOOK' : 'Docbook XML dokument', // images 'kindImage' : 'Slika', 'kindBMP' : 'BMP slika', 'kindJPEG' : 'JPEG slika', 'kindGIF' : 'GIF slika', 'kindPNG' : 'PNG slika', 'kindTIFF' : 'TIFF slika', 'kindTGA' : 'TGA slika', 'kindPSD' : 'Adobe Photoshop slika', 'kindXBITMAP' : 'X bitmap slika', 'kindPXM' : 'Pixelmator slika', // media 'kindAudio' : 'Avdio medija', 'kindAudioMPEG' : 'MPEG zvok', 'kindAudioMPEG4' : 'MPEG-4 zvok', 'kindAudioMIDI' : 'MIDI zvok', 'kindAudioOGG' : 'Ogg Vorbis zvok', 'kindAudioWAV' : 'WAV zvok', 'AudioPlaylist' : 'MP3 seznam', 'kindVideo' : 'Video medija', 'kindVideoDV' : 'DV film', 'kindVideoMPEG' : 'MPEG film', 'kindVideoMPEG4' : 'MPEG-4 film', 'kindVideoAVI' : 'AVI film', 'kindVideoMOV' : 'Quick Time film', 'kindVideoWM' : 'Windows Media film', 'kindVideoFlash' : 'Flash film', 'kindVideoMKV' : 'Matroska film', 'kindVideoOGG' : 'Ogg film' } }; })); wp-file-manager/lib/js/i18n/elfinder.sr.js000064400000037313151202472330014237 0ustar00 /** * Serbian translation * @author Momčilo m0k1 Mićanović * @version 2014-12-19 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.sr = { translator : 'Momčilo m0k1 Mićanović <moki.forum@gmail.com>', language : 'Srpski', direction : 'ltr', dateFormat : 'd.m.Y H:i', fancyDateFormat : '$1 H:i', messages : { /********************************** errors **********************************/ 'error' : 'Greška', 'errUnknown' : 'Nepoznata greška.', 'errUnknownCmd' : 'Nepoznata komanda.', 'errJqui' : 'Neispravna konfiguracija jQuery UI. Komponente koje mogu da se odabiru, povlače, izbacuju moraju biti uključene.', 'errNode' : 'elFinder zahteva DOM Element da bude kreiran.', 'errURL' : 'Neispravna elFinder konfiguracija! URL opcija nije postavljena.', 'errAccess' : 'Pristup odbijen.', 'errConnect' : 'Nije moguće povezivanje s skriptom.', 'errAbort' : 'Veza prekinuta.', 'errTimeout' : 'Veza odbačena.', 'errNotFound' : 'Skripta nije pronađena.', 'errResponse' : 'Neispravan odgovor skripte.', 'errConf' : 'Neispravna konfiguracija skripte.', 'errJSON' : 'PHP JSON modul nije instaliran.', 'errNoVolumes' : 'Vidljivi volumeni nisu dostupni.', 'errCmdParams' : 'Nevažeći parametri za komandu "$1".', 'errDataNotJSON' : 'Podaci nisu JSON.', 'errDataEmpty' : 'Podaci nisu prazni.', 'errCmdReq' : 'Skripta zahteva komandu.', 'errOpen' : 'Nemoguće otvoriti "$1".', 'errNotFolder' : 'Objekat nije folder.', 'errNotFile' : 'Objekat nije datoteka.', 'errRead' : 'Nemoguće pročitati "$1".', 'errWrite' : 'Nemoguće pisati u "$1".', 'errPerm' : 'Dozvola je odbijena.', 'errLocked' : '"$1" je zaključan i nemože biti preimenovan, premešten ili obrisan.', 'errExists' : 'Datoteka zvana "$1" već postoji.', 'errInvName' : 'Neispravno ime datoteke.', 'errFolderNotFound' : 'Folder nije pronađen.', 'errFileNotFound' : 'Datoteka nije pronađena.', 'errTrgFolderNotFound' : 'Izabrani folder "$1" nije pronađen.', 'errPopup' : 'Pretraživač sprečava otvaranje iskačućih prozora. Da otvorite datoteku uključite iskačuće prozore u opcijama pretraživača.', 'errMkdir' : 'Nemoguće kreirati folder "$1".', 'errMkfile' : 'Nemoguće kreirati datoteku "$1".', 'errRename' : 'Nemoguće preimenovati datoteku "$1".', 'errCopyFrom' : 'Kopiranje datoteki sa "$1" nije dozvoljeno.', 'errCopyTo' : 'Kopiranje datoteki na "$1" nije dozvoljeno.', 'errUpload' : 'Greska pri slanju.', 'errUploadFile' : 'Nemoguće poslati "$1".', 'errUploadNoFiles' : 'Nisu pronađene datoteke za slanje.', 'errUploadTotalSize' : 'Podaci premašuju najveću dopuštenu veličinu.', 'errUploadFileSize' : 'Datoteka premašuje najveću dopuštenu veličinu.', 'errUploadMime' : 'Vrsta datoteke nije dopuštena.', 'errUploadTransfer' : '"$1" greška prilikom slanja.', 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', 'errReplace' : 'Unable to replace "$1".', 'errSave' : 'Nemožeš sačuvati "$1".', 'errCopy' : 'Nemožeš kopirati "$1".', 'errMove' : 'Nemožeš premestiti "$1".', 'errCopyInItself' : 'Nemožeš kopirati "$1" na istu lokaciju.', 'errRm' : 'Nemožeš obrisati "$1".', 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'Nemoguće izvaditi datoteke iz "$1".', 'errArchive' : 'Nemoguće kreirati arhivu.', 'errArcType' : 'Nepodržani tip arhive.', 'errNoArchive' : 'Datoteka nije arhiva ili je nepodržani tip arhive.', 'errCmdNoSupport' : 'Skripta nepodržava ovu komandu.', 'errReplByChild' : 'Folder “$1” ne može biti zamenut stavkom koju sadrži.', 'errArcSymlinks' : 'Zbog bezbednosnih razloga ne možete raspakovati arhive koje sadrže simboličke veze ili datoteke sa nedozvoljenim imenima.', 'errArcMaxSize' : 'Arhiva je dostigla maksimalnu veličinu.', 'errResize' : 'Nemoguće promeniti veličinu "$1".', 'errResizeDegree' : 'Invalid rotate degree.', 'errResizeRotate' : 'Unable to rotate image.', 'errResizeSize' : 'Invalid image size.', 'errResizeNoChange' : 'Image size not changed.', 'errUsupportType' : 'nepodržan tip datoteke.', 'errNotUTF8Content' : 'Datoteka "$1" nije u UTF-8 formati i ne može biti izmenjena.', 'errNetMount' : 'Nije moguće montirati "$1".', 'errNetMountNoDriver' : 'Nepodržani protokol.', 'errNetMountFailed' : 'Montiranje neuspelo.', 'errNetMountHostReq' : 'Host je potreban.', 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', /******************************* commands names ********************************/ 'cmdarchive' : 'Kreiraj arhivu', 'cmdback' : 'Nazad', 'cmdcopy' : 'Kopiraj', 'cmdcut' : 'Iseci', 'cmddownload' : 'Preuzmi', 'cmdduplicate' : 'Dupliraj', 'cmdedit' : 'Izmeni datoteku', 'cmdextract' : 'Raspakuj arhivu', 'cmdforward' : 'Napred', 'cmdgetfile' : 'Izaberi datoteke', 'cmdhelp' : 'O ovom softveru', 'cmdhome' : 'Početna', 'cmdinfo' : 'Proveri informacije', 'cmdmkdir' : 'Novi folder', 'cmdmkfile' : 'Nova datoteka', 'cmdopen' : 'Otvori', 'cmdpaste' : 'Zalepi', 'cmdquicklook' : 'Pregledaj', 'cmdreload' : 'Povno učitaj', 'cmdrename' : 'Preimenuj', 'cmdrm' : 'Obriši', 'cmdsearch' : 'Pronađi datoteke', 'cmdup' : 'Idi na nadređeni folder', 'cmdupload' : 'Pošalji datoteke', 'cmdview' : 'Pogledaj', 'cmdresize' : 'Promeni veličinu slike', 'cmdsort' : 'Sortiraj', 'cmdnetmount' : 'Mount network volume', /*********************************** buttons ***********************************/ 'btnClose' : 'Zatvori', 'btnSave' : 'Sačuvaj', 'btnRm' : 'Obriši', 'btnApply' : 'Potvrdi', 'btnCancel' : 'Prekini', 'btnNo' : 'Ne', 'btnYes' : 'Da', 'btnMount' : 'Mount', /******************************** notifications ********************************/ 'ntfopen' : 'Otvaranje foldera', 'ntffile' : 'Otvaranje datoteke', 'ntfreload' : 'Ponovo učitavanje sadržaja foldera', 'ntfmkdir' : 'Kreiranje foldera', 'ntfmkfile' : 'Kreiranje datoteke', 'ntfrm' : 'Brisanje datoteke', 'ntfcopy' : 'Kopiranje datoteke', 'ntfmove' : 'Premeštanje datoteke', 'ntfprepare' : 'Priprema za kopiranje dateoteke', 'ntfrename' : 'Primenovanje datoteke', 'ntfupload' : 'Slanje datoteke', 'ntfdownload' : 'Preuzimanje datoteke', 'ntfsave' : 'Čuvanje datoteke', 'ntfarchive' : 'Kreiranje arhive', 'ntfextract' : 'Izdvajanje datoteka iz arhive', 'ntfsearch' : 'Pretraga datoteka', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Radim nešto >_<', 'ntfloadimg' : 'Učitavanje slike', 'ntfnetmount' : 'Montiranje mrežnog volumena', 'ntfdim' : 'Acquiring image dimension', /************************************ dates **********************************/ 'dateUnknown' : 'nepoznat', 'Today' : 'Danas', 'Yesterday' : 'Sutra', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Maj', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Avg', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'Januar', 'February' : 'Februar', 'March' : 'Mart', 'April' : 'April', 'May' : 'Maj', 'June' : 'Jun', 'July' : 'Jul', 'August' : 'Avgust', 'September' : 'Septembar', 'October' : 'Oktobar', 'November' : 'Novembar', 'December' : 'Decembar', 'Sunday' : 'Nedelja', 'Monday' : 'Ponedeljak', 'Tuesday' : 'Utorak', 'Wednesday' : 'Sreda', 'Thursday' : 'Četvrtak', 'Friday' : 'Petak', 'Saturday' : 'Subota', 'Sun' : 'Ned', 'Mon' : 'Pon', 'Tue' : 'Uto', 'Wed' : 'Sre', 'Thu' : 'Čet', 'Fri' : 'Pet', 'Sat' : 'Sub', /******************************** sort variants ********************************/ 'sortname' : 'po imenu', 'sortkind' : 'po vrsti', 'sortsize' : 'po veličini', 'sortdate' : 'po datumu', 'sortFoldersFirst' : 'Prvo folderi', /********************************** messages **********************************/ 'confirmReq' : 'Potrebna potvrda', 'confirmRm' : 'Da li ste sigurni da želite da obrišete datoteke?
                      Ovo se ne može poništiti!', 'confirmRepl' : 'Zameniti stare datoteke sa novima?', 'apllyAll' : 'Potvrdi za sve', 'name' : 'Ime', 'size' : 'Veličina', 'perms' : 'Dozvole', 'modify' : 'Izmenjeno', 'kind' : 'Vrsta', 'read' : 'čitanje', 'write' : 'pisanje', 'noaccess' : 'bez pristupa', 'and' : 'i', 'unknown' : 'nepoznato', 'selectall' : 'Izaberi sve datoteke', 'selectfiles' : 'Izaberi datoteku(e)', 'selectffile' : 'Izaberi prvu datoteku', 'selectlfile' : 'Izaberi poslednju datoteku', 'viewlist' : 'Popisni prikaz', 'viewicons' : 'Pregled ikona', 'places' : 'Mesta', 'calc' : 'Izračunaj', 'path' : 'Putanja', 'aliasfor' : 'Nadimak za', 'locked' : 'Zaključano', 'dim' : 'Dimenzije', 'files' : 'Datoteke', 'folders' : 'Folderi', 'items' : 'Stavke', 'yes' : 'da', 'no' : 'ne', 'link' : 'Veza', 'searcresult' : 'Rezultati pretrage', 'selected' : 'odabrane stavke', 'about' : 'O softveru', 'shortcuts' : 'Prečice', 'help' : 'Pomoć', 'webfm' : 'Web menađer datoteka', 'ver' : 'Verzija', 'protocolver' : 'verzija protokla', 'homepage' : 'Adresa projekta', 'docs' : 'Dokumentacija', 'github' : 'Forkuj nas na Github', 'twitter' : 'Prati nas na twitter', 'facebook' : 'Pridruži nam se na facebook', 'team' : 'Tim', 'chiefdev' : 'glavni programer', 'developer' : 'programer', 'contributor' : 'pomoćnik', 'maintainer' : 'održavatelj', 'translator' : 'prevodilac', 'icons' : 'Ikone', 'dontforget' : 'i ne zaboravite da ponesete peškir', 'shortcutsof' : 'Prečice isključene', 'dropFiles' : 'Prevucite datoteke ovde', 'or' : 'ili', 'selectForUpload' : 'Odaberite datoteke za slanje', 'moveFiles' : 'Premesti datoteke', 'copyFiles' : 'Kopiraj datoteke', 'rmFromPlaces' : 'Ukloni iz mesta', 'aspectRatio' : 'Omer širine i visine', 'scale' : 'Razmera', 'width' : 'Širina', 'height' : 'Visina', 'resize' : 'Promeni veličinu', 'crop' : 'Iseci', 'rotate' : 'Rotiraj', 'rotate-cw' : 'Rotiraj 90 stepeni CW', 'rotate-ccw' : 'Rotiraj 90 stepeni CCW', 'degree' : 'Stepeni', 'netMountDialogTitle' : 'Montiraj mrežni volumen', 'protocol' : 'Protokol', 'host' : 'Host', 'port' : 'Port', 'user' : 'Korisničko Ime', 'pass' : 'Lozinka', /********************************** mimetypes **********************************/ 'kindUnknown' : 'Nepoznat', 'kindFolder' : 'Folder', 'kindAlias' : 'Nadimak', 'kindAliasBroken' : 'Neispravan nadimak', // applications 'kindApp' : 'Aplikacija', 'kindPostscript' : 'Postscript dokument', 'kindMsOffice' : 'Microsoft Office dokument', 'kindMsWord' : 'Microsoft Word dokument', 'kindMsExcel' : 'Microsoft Excel dokument', 'kindMsPP' : 'Microsoft Powerpoint prezentacija', 'kindOO' : 'Open Office dokument', 'kindAppFlash' : 'Flash aplikacija', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent datoteka', 'kind7z' : '7z arhiva', 'kindTAR' : 'TAR arhiva', 'kindGZIP' : 'GZIP arhiva', 'kindBZIP' : 'BZIP arhiva', 'kindXZ' : 'XZ arhiva', 'kindZIP' : 'ZIP arhiva', 'kindRAR' : 'RAR arhiva', 'kindJAR' : 'Java JAR datoteka', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM paket', // texts 'kindText' : 'Teokstualni dokument', 'kindTextPlain' : 'Čist tekst', 'kindPHP' : 'PHP kod', 'kindCSS' : 'CSS kod', 'kindHTML' : 'HTML dokument', 'kindJS' : 'Javascript kod', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C kod', 'kindCHeader' : 'C header kod', 'kindCPP' : 'C++ kod', 'kindCPPHeader' : 'C++ header kod', 'kindShell' : 'Unix shell skripta', 'kindPython' : 'Python kod', 'kindJava' : 'Java kod', 'kindRuby' : 'Ruby kod', 'kindPerl' : 'Perl skripta', 'kindSQL' : 'SQL kod', 'kindXML' : 'XML dokument', 'kindAWK' : 'AWK kod', 'kindCSV' : 'Comma separated values', 'kindDOCBOOK' : 'Docbook XML dokument', // images 'kindImage' : 'Slika', 'kindBMP' : 'BMP slika', 'kindJPEG' : 'JPEG slika', 'kindGIF' : 'GIF slika', 'kindPNG' : 'PNG slika', 'kindTIFF' : 'TIFF slika', 'kindTGA' : 'TGA slika', 'kindPSD' : 'Adobe Photoshop slika', 'kindXBITMAP' : 'X bitmap slika', 'kindPXM' : 'Pixelmator slika', // media 'kindAudio' : 'Zvuk', 'kindAudioMPEG' : 'MPEG zvuk', 'kindAudioMPEG4' : 'MPEG-4 zvuk', 'kindAudioMIDI' : 'MIDI zvuk', 'kindAudioOGG' : 'Ogg Vorbis zvuk', 'kindAudioWAV' : 'WAV zvuk', 'AudioPlaylist' : 'MP3 lista', 'kindVideo' : 'Video', 'kindVideoDV' : 'DV video', 'kindVideoMPEG' : 'MPEG video', 'kindVideoMPEG4' : 'MPEG-4 video', 'kindVideoAVI' : 'AVI video', 'kindVideoMOV' : 'Quick Time video', 'kindVideoWM' : 'Windows Media video', 'kindVideoFlash' : 'Flash video', 'kindVideoMKV' : 'Matroska video', 'kindVideoOGG' : 'Ogg video' } }; })); wp-file-manager/lib/js/i18n/elfinder.sv.js000064400000036611151202472330014243 0ustar00/** * Swedish translation * @author Gabriel Satzger * @version 2014-12-19 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.sv = { translator : 'Gabriel Satzger <gabriel.satzger@sbg.se>', language : 'Svenska', direction : 'ltr', dateFormat : 'Y-m-d H:i', fancyDateFormat : '$1 H:i', messages : { /********************************** errors **********************************/ 'error' : 'Error', 'errUnknown' : 'Okänt error.', 'errUnknownCmd' : 'Okänt kommando.', 'errJqui' : 'Felaktig jQuery UI konfiguration. Komponenterna selectable, draggable och droppable måste vara inkluderade.', 'errNode' : 'elFinder kräver att DOM Elementen skapats.', 'errURL' : 'Felaktig elFinder konfiguration! URL parametern är inte satt.', 'errAccess' : 'Åtkomst nekad.', 'errConnect' : 'Kan inte ansluta till backend.', 'errAbort' : 'Anslutningen avbröts.', 'errTimeout' : 'Anslutningen löpte ut.', 'errNotFound' : 'Backend hittades inte.', 'errResponse' : 'Ogiltig backend svar.', 'errConf' : 'Ogiltig backend konfiguration.', 'errJSON' : 'PHP JSON modul är inte installerad.', 'errNoVolumes' : 'Läsbara volymer är inte tillgängliga.', 'errCmdParams' : 'Ogiltiga parametrar för kommandot "$1".', 'errDataNotJSON' : 'Datan är inte JSON.', 'errDataEmpty' : 'Datan är tom.', 'errCmdReq' : 'Backend begäran kräver kommandonamn.', 'errOpen' : 'Kan inte öppna "$1".', 'errNotFolder' : 'Objektet är inte en mapp.', 'errNotFile' : 'Objektet är inte en fil.', 'errRead' : 'Kan inte läsa "$1".', 'errWrite' : 'Kan inte skriva till "$1".', 'errPerm' : 'Tillstånd nekat.', 'errLocked' : '"$1" är låst och kan inte döpas om, flyttas eller tas bort.', 'errExists' : 'Fil med namn "$1" finns redan.', 'errInvName' : 'Ogiltigt filnamn.', 'errFolderNotFound' : 'Mappen hittades inte.', 'errFileNotFound' : 'Filen hittades inte.', 'errTrgFolderNotFound' : 'Målmappen "$1" hittades inte.', 'errPopup' : 'Webbläsaren hindrade popup-fönstret att öppnas. Ändra i webbläsarens inställningar för att kunna öppna filen.', 'errMkdir' : 'Kan inte skapa mappen "$1".', 'errMkfile' : 'Kan inte skapa filen "$1".', 'errRename' : 'Kan inte döpa om "$1".', 'errCopyFrom' : 'Kopiera filer från volym "$1" tillåts inte.', 'errCopyTo' : 'Kopiera filer till volym "$1" tillåts inte.', 'errUpload' : 'Error vid uppladdningen.', 'errUploadFile' : 'Kan inte ladda upp "$1".', 'errUploadNoFiles' : 'Inga filer hittades för uppladdning.', 'errUploadTotalSize' : 'Data överskrider den högsta tillåtna storleken.', 'errUploadFileSize' : 'Filen överskrider den högsta tillåtna storleken.', 'errUploadMime' : 'Otillåten filtyp.', 'errUploadTransfer' : '"$1" överföringsfel.', 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', 'errReplace' : 'Unable to replace "$1".', 'errSave' : 'Kan inte spara "$1".', 'errCopy' : 'Kan inte kopiera "$1".', 'errMove' : 'Kan inte flytta "$1".', 'errCopyInItself' : 'Kan inte flytta "$1" till sig själv.', 'errRm' : 'Kan inte ta bort "$1".', 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'Kan inte packa upp filen från "$1".', 'errArchive' : 'Kan inte skapa arkiv.', 'errArcType' : 'Arkivtypen stöds inte.', 'errNoArchive' : 'Filen är inte av typen arkiv.', 'errCmdNoSupport' : 'Backend stöder inte detta kommando.', 'errReplByChild' : 'Mappen “$1” kan inte ersättas av ett objekt den innehåller.', 'errArcSymlinks' : 'Av säkerhetsskäl nekas arkivet att packas upp då det innehåller symboliska länkar eller filer med ej tillåtna namn.', // edited 24.06.2012 'errArcMaxSize' : 'Arkivfiler överskrider största tillåtna storlek.', 'errResize' : 'Kan inte ändra storlek "$1".', 'errResizeDegree' : 'Invalid rotate degree.', 'errResizeRotate' : 'Unable to rotate image.', 'errResizeSize' : 'Invalid image size.', 'errResizeNoChange' : 'Image size not changed.', 'errUsupportType' : 'Filtypen stöds inte.', 'errNotUTF8Content' : 'Filen "$1" är inte i UTF-8 och kan inte redigeras.', // added 9.11.2011 'errNetMount' : 'Kan inte koppla "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protokollet stöds inte.', // added 17.04.2012 'errNetMountFailed' : 'Kopplingen misslyckades.', // added 17.04.2012 'errNetMountHostReq' : 'Host krävs.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', /******************************* commands names ********************************/ 'cmdarchive' : 'Skapa arkiv', 'cmdback' : 'Tillbaka', 'cmdcopy' : 'Kopiera', 'cmdcut' : 'Klipp ut', 'cmddownload' : 'Ladda ned', 'cmdduplicate' : 'Duplicera', 'cmdedit' : 'Redigera fil', 'cmdextract' : 'Extrahera filer från arkiv', 'cmdforward' : 'Framåt', 'cmdgetfile' : 'Välj filer', 'cmdhelp' : 'Om denna programvara', 'cmdhome' : 'Hem', 'cmdinfo' : 'Visa info', 'cmdmkdir' : 'Ny mapp', 'cmdmkfile' : 'Ny fil', 'cmdopen' : 'Öppna', 'cmdpaste' : 'Klistra in', 'cmdquicklook' : 'Förhandsgranska', 'cmdreload' : 'Ladda om', 'cmdrename' : 'Döp om', 'cmdrm' : 'Radera', 'cmdsearch' : 'Hitta filer', 'cmdup' : 'Gå till överordnade katalog', 'cmdupload' : 'Ladda upp filer', 'cmdview' : 'Visa', 'cmdresize' : 'Ändra bildstorlek', 'cmdsort' : 'Sortera', 'cmdnetmount' : 'Mount network volume', /*********************************** buttons ***********************************/ 'btnClose' : 'Stäng', 'btnSave' : 'Spara', 'btnRm' : 'Ta bort', 'btnApply' : 'Verkställ', 'btnCancel' : 'Ångra', 'btnNo' : 'Nej', 'btnYes' : 'Ja', 'btnMount' : 'Mount', /******************************** notifications ********************************/ 'ntfopen' : 'Öppnar mapp', 'ntffile' : 'Öppnar fil', 'ntfreload' : 'Laddar om mappinnehållet', 'ntfmkdir' : 'Skapar katalog', 'ntfmkfile' : 'Skapar fil', 'ntfrm' : 'Tar bort filer', 'ntfcopy' : 'Kopierar filer', 'ntfmove' : 'Flyttar filer', 'ntfprepare' : 'Förbereder att flytta filer', 'ntfrename' : 'Döper om filer', 'ntfupload' : 'Laddar upp filer', 'ntfdownload' : 'Laddar ner filer', 'ntfsave' : 'Sparar filer', 'ntfarchive' : 'Skapar arkiv', 'ntfextract' : 'Extraherar filer från arkiv', 'ntfsearch' : 'Söker filer', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Gör någonting >_<', 'ntfloadimg' : 'Laddar bild', 'ntfnetmount' : 'kopplar nätverksvolym', // added 18.04.2012 'ntfdim' : 'Acquiring image dimension', /************************************ dates **********************************/ 'dateUnknown' : 'okänt', 'Today' : 'Idag', 'Yesterday' : 'Igår', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'Maj', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Okt', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'Januari', 'February' : 'Februari', 'March' : 'Mars', 'April' : 'April', 'May' : 'Maj', 'June' : 'Juni', 'July' : 'Juli', 'August' : 'Augusti', 'September' : 'September', 'October' : 'Oktober', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Söndag', 'Monday' : 'Måndag', 'Tuesday' : 'Tisdag', 'Wednesday' : 'Onsdag', 'Thursday' : 'Torsdag', 'Friday' : 'Fredag', 'Saturday' : 'Lördag', 'Sun' : 'Sön', 'Mon' : 'Mån', 'Tue' : 'Tis', 'Wed' : 'Ons', 'Thu' : 'Tor', 'Fri' : 'Fre', 'Sat' : 'Lör', /******************************** sort variants ********************************/ 'sortname' : 'efter namn', 'sortkind' : 'efter sort', 'sortsize' : 'efter storlek', 'sortdate' : 'efter datum', 'sortFoldersFirst' : 'Mappar först', // added 22.06.2012 /********************************** messages **********************************/ 'confirmReq' : 'Bekräftelse krävs', 'confirmRm' : 'Är du säker på att du vill ta bort filer?
                      Detta kan inte ångras!', 'confirmRepl' : 'Ersätt den gamla filen med en ny?', 'apllyAll' : 'Använd för alla', 'name' : 'Namn', 'size' : 'Storlek', 'perms' : 'Rättigheter', 'modify' : 'Ändrad', 'kind' : 'Sort', 'read' : 'läs', 'write' : 'skriv', 'noaccess' : 'ingen åtkomst', 'and' : 'och', 'unknown' : 'okänd', 'selectall' : 'Välj alla filer', 'selectfiles' : 'Välj fil(er)', 'selectffile' : 'Välj första filen', 'selectlfile' : 'Välj sista filen', 'viewlist' : 'Listvy', 'viewicons' : 'Ikonvy', 'places' : 'Platser', 'calc' : 'Beräkna', 'path' : 'Sökväg', 'aliasfor' : 'Alias för', 'locked' : 'Låst', 'dim' : 'Dimensioner', 'files' : 'Filer', 'folders' : 'Mappar', 'items' : 'Objekt', 'yes' : 'ja', 'no' : 'nej', 'link' : 'Länk', 'searcresult' : 'Sökresultat', 'selected' : 'valda objekt', 'about' : 'Om', 'shortcuts' : 'Genväg', 'help' : 'Hjälp', 'webfm' : 'Webbfilhanterare', 'ver' : 'Version', 'protocolver' : 'protokolversion', 'homepage' : 'Projekt hemsida', 'docs' : 'Dokumentation', 'github' : 'Forka oss på Github', 'twitter' : 'Följ oss på twitter', 'facebook' : 'Följ oss på facebook', 'team' : 'Team', 'chiefdev' : 'senior utvecklare', 'developer' : 'utvecklare', 'contributor' : 'bidragsgivare', 'maintainer' : 'underhållare', 'translator' : 'översättare', 'icons' : 'Ikoner', 'dontforget' : 'och glöm inte att ta med din handduk', 'shortcutsof' : 'Genvägar avaktiverade', 'dropFiles' : 'Släpp filerna här', 'or' : 'eller', 'selectForUpload' : 'Välj filer att ladda upp', 'moveFiles' : 'Flytta filer', 'copyFiles' : 'Kopiera filer', 'rmFromPlaces' : 'Ta bort från platser', 'aspectRatio' : 'Aspekt ratio', 'scale' : 'Skala', 'width' : 'Bredd', 'height' : 'Höjd', 'resize' : 'Ändra storlek', 'crop' : 'Beskär', 'rotate' : 'Rotera', 'rotate-cw' : 'Rotera 90 grader medurs', 'rotate-ccw' : 'Rotera 90 grader moturs', 'degree' : 'Grader', 'netMountDialogTitle' : 'Koppla nätverksvolym', // added 18.04.2012 'protocol' : 'Protokol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'användare', // added 18.04.2012 'pass' : 'Lösenord', // added 18.04.2012 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Okänd', 'kindFolder' : 'Mapp', 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Trasigt alias', // applications 'kindApp' : 'Applikation', 'kindPostscript' : 'Postscript', 'kindMsOffice' : 'Microsoft Office', 'kindMsWord' : 'Microsoft Word', 'kindMsExcel' : 'Microsoft Excel', 'kindMsPP' : 'Microsoft Powerpoint', 'kindOO' : 'Open Office', 'kindAppFlash' : 'Flash', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent', 'kind7z' : '7z', 'kindTAR' : 'TAR', 'kindGZIP' : 'GZIP', 'kindBZIP' : 'BZIP', 'kindXZ' : 'XZ', 'kindZIP' : 'ZIP', 'kindRAR' : 'RAR', 'kindJAR' : 'Java JAR', 'kindTTF' : 'True Type', 'kindOTF' : 'Open Type', 'kindRPM' : 'RPM', // texts 'kindText' : 'Text', 'kindTextPlain' : 'Plain', 'kindPHP' : 'PHP', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML', 'kindJS' : 'Javascript', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C', 'kindCHeader' : 'C header', 'kindCPP' : 'C++', 'kindCPPHeader' : 'C++ header', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python', 'kindJava' : 'Java', 'kindRuby' : 'Ruby', 'kindPerl' : 'Perl', 'kindSQL' : 'SQL', 'kindXML' : 'XML', 'kindAWK' : 'AWK', 'kindCSV' : 'CSV', 'kindDOCBOOK' : 'Docbook XML', // images 'kindImage' : 'Bild', 'kindBMP' : 'BMP', 'kindJPEG' : 'JPEG', 'kindGIF' : 'GIF', 'kindPNG' : 'PNG', 'kindTIFF' : 'TIFF', 'kindTGA' : 'TGA', 'kindPSD' : 'Adobe Photoshop', 'kindXBITMAP' : 'X bitmap', 'kindPXM' : 'Pixelmator', // media 'kindAudio' : 'Audio media', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video media', 'kindVideoDV' : 'DV movie', 'kindVideoMPEG' : 'MPEG movie', 'kindVideoMPEG4' : 'MPEG-4 movie', 'kindVideoAVI' : 'AVI movie', 'kindVideoMOV' : 'Quick Time movie', 'kindVideoWM' : 'Windows Media movie', 'kindVideoFlash' : 'Flash movie', 'kindVideoMKV' : 'Matroska movie', 'kindVideoOGG' : 'Ogg movie' } }; })); wp-file-manager/lib/js/i18n/elfinder.tr.js000064400000103200151202472330014225 0ustar00/** * Türkçe translation * @author I.Taskinoglu & A.Kaya * @author Abdullah ELEN * @author Osman KAYAN * @author Ali KAYAN * @author Cengiz AKCAN cengiz@vobo.company * @version 2022-05-08 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.tr = { translator : 'I.Taskinoglu & A.Kaya <alikaya@armsyazilim.com>, Abdullah ELEN <abdullahelen@msn.com>, Osman KAYAN <osmnkayan@gmail.com>, alikayan95@gmail.com, Cengiz AKCAN cengiz@vobo.company, Ali KAYAN <alikayan95@gmail.com>', language : 'Türkçe', direction : 'ltr', dateFormat : 'd.m.Y H:i', // will show like: 08.05.2022 21:53 fancyDateFormat : '$1 H:i', // will show like: Bugün 21:53 nonameDateFormat : 'ymd-His', // noname upload will show like: 220508-215305 messages : { /********************************** errors **********************************/ 'error' : 'Hata', 'errUnknown' : 'Bilinmeyen hata.', 'errUnknownCmd' : 'Bilinmeyen komut.', 'errJqui' : 'Geçersiz jQuery UI yapılandırması. Seçilebilir, sürükle ve bırak bileşenlerini içermelidir.', 'errNode' : 'elFinder, DOM Element\'ini oluşturması gerekir.', 'errURL' : 'Geçersiz elFinder yapılandırması! URL seçeneği ayarlı değil.', 'errAccess' : 'Erişim engellendi.', 'errConnect' : 'Sunucuya bağlanamıyor.', 'errAbort' : 'Bağlantı durduruldu.', 'errTimeout' : 'Bağlantı zaman aşımı.', 'errNotFound' : 'Sunucu bulunamadı.', 'errResponse' : 'Geçersiz sunucu yanıtı.', 'errConf' : 'Geçersiz sunucu yapılandırması.', 'errJSON' : 'PHP JSON modülü kurulu değil.', 'errNoVolumes' : 'Okunabilir birimler mevcut değil.', 'errCmdParams' : '"$1" komutu için geçersiz parametre.', 'errDataNotJSON' : 'Bu veri JSON formatında değil.', 'errDataEmpty' : 'Boş veri.', 'errCmdReq' : 'Sunucu isteği için komut adı gerekli.', 'errOpen' : '"$1" açılamıyor.', 'errNotFolder' : 'Bu nesne bir klasör değil.', 'errNotFile' : 'Bu nesne bir dosya değil.', 'errRead' : '"$1" okunamıyor.', 'errWrite' : '"$1" yazılamıyor.', 'errPerm' : 'Yetki engellendi.', 'errLocked' : '"$1" kilitli. Bu nedenle taşıma, yeniden adlandırma veya kaldırma yapılamıyor.', 'errExists' : '"$1" adında bir dosya zaten var.', 'errInvName' : 'Geçersiz dosya ismi.', 'errInvDirname' : 'Geçersiz klasör ismi', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Klasör bulunamıyor.', 'errFileNotFound' : 'Dosya bulunamadı.', 'errTrgFolderNotFound' : 'Hedef klasör "$1" bulunamadı.', 'errPopup' : 'Tarayıcı popup penceresi açmayı engelledi. Tarayıcı ayarlarından dosya açmayı aktif hale getirin.', 'errMkdir' : 'Klasör oluşturulamıyor "$1".', 'errMkfile' : '"$1" dosyası oluşturulamıyor.', 'errRename' : '"$1" yeniden adlandırma yapılamıyor.', 'errCopyFrom' : '"$1" biriminden dosya kopyalamaya izin verilmedi.', 'errCopyTo' : '"$1" birimine dosya kopyalamaya izin verilmedi.', 'errMkOutLink' : 'Kök birim dışında bir bağlantı oluşturulamıyor', // from v2.1 added 03.10.2015 'errUpload' : 'Dosya yükleme hatası.', // old name - errUploadCommon 'errUploadFile' : '"$1" dosya yüklenemedi.', // old name - errUpload 'errUploadNoFiles' : 'Yüklenecek dosya bulunamadı.', 'errUploadTotalSize' : 'Veri izin verilen boyuttan büyük.', // old name - errMaxSize 'errUploadFileSize' : 'Dosya izin verilen boyuttan büyük.', // old name - errFileMaxSize 'errUploadMime' : 'Dosya türüne izin verilmedi.', 'errUploadTransfer' : '"$1" transfer hatası.', 'errUploadTemp' : 'Yükleme için geçici dosya yapılamıyor.', // from v2.1 added 26.09.2015 'errNotReplace' : '"$1" nesnesi bu konumda zaten var ve başka türde nesne ile değiştirilemez.', // new 'errReplace' : 'Değişiklik yapılamıyor "$1".', 'errSave' : '"$1" kaydedilemiyor.', 'errCopy' : '"$1" kopyalanamıyor.', 'errMove' : '"$1" taşınamıyor.', 'errCopyInItself' : '"$1" kendi içine kopyalanamaz.', 'errRm' : '"$1" kaldırılamıyor.', 'errTrash' : 'Çöp kutusuna taşınamıyor.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Kaynak dosya(lar) kaldırılamıyor.', 'errExtract' : '"$1" kaynağından dosyalar çıkartılamıyor.', 'errArchive' : 'Arşiv oluşturulamıyor.', 'errArcType' : 'Desteklenmeyen arşiv türü.', 'errNoArchive' : 'Dosya arşiv değil veya desteklenmeyen arşiv türü.', 'errCmdNoSupport' : 'Sunucu bu komutu desteklemiyor.', 'errReplByChild' : '“$1” klasörü içerdiği bir öğe tarafından değiştirilemez.', 'errArcSymlinks' : 'Sembolik bağlantıları içeren arşivlerin açılması güvenlik nedeniyle reddedildi.', // edited 24.06.2012 'errArcMaxSize' : 'Arşiv dosyaları izin verilen maksimum boyutu aştı.', 'errResize' : '"$1" yeniden boyutlandırılamıyor.', 'errResizeDegree' : 'Geçersiz döndürme derecesi.', // added 7.3.2013 'errResizeRotate' : 'Resim döndürülemiyor.', // added 7.3.2013 'errResizeSize' : 'Geçersiz resim boyutu.', // added 7.3.2013 'errResizeNoChange' : 'Resim boyutu değiştirilemez.', // added 7.3.2013 'errUsupportType' : 'Desteklenmeyen dosya türü.', 'errNotUTF8Content' : 'Dosya "$1" UTF-8 olmadığından düzenlenemez.', // added 9.11.2011 'errNetMount' : '"$1" bağlanamadı.', // added 17.04.2012 'errNetMountNoDriver' : 'Desteklenmeyen protokol.', // added 17.04.2012 'errNetMountFailed' : 'Bağlama hatası.', // added 17.04.2012 'errNetMountHostReq' : 'Sunucu gerekli.', // added 18.04.2012 'errSessionExpires' : 'Uzun süre işlem yapılmadığından oturumunuz sonlandı.', 'errCreatingTempDir' : 'Geçici dizin oluşturulamıyor: "$1"', 'errFtpDownloadFile' : 'Dosya FTP: "$1" adresinden indirilemiyor.', 'errFtpUploadFile' : 'Dosya FTP: "$1" adresine yüklenemiyor.', 'errFtpMkdir' : 'FTP: "$1" üzerinde uzak dizin oluşturulamıyor.', 'errArchiveExec' : '"$1" Dosyalarında arşivlenirken hata oluştu.', 'errExtractExec' : '"$1" Dosyaları arşivden çıkartılırken hata oluştu.', 'errNetUnMount' : 'Bağlantı kaldırılamıyor.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'UTF-8\'e dönüştürülemez.', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Klasör yükleyebilmek için daha modern bir tarayıcıya ihtiyacınız var.', // from v2.1 added 26.6.2015 'errSearchTimeout' : '"$1" araması zaman aşımına uğradı. Kısmi arama sonuçları listeleniyor.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Yeniden yetkilendirme gerekiyor.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Maksimum seçilebilir öge sayısı $1 adettir', // from v2.1.17 added 17.10.2016 'errRestore' : 'Çöp kutusundan geri yüklenemiyor. Geri yükleme notkası belirlenemiyor.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editör bu dosya türünü bulamıyor.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Sunucu tarafında beklenilmeyen bir hata oluştu.', // from v2.1.25 added 16.6.2017 'errEmpty' : '"$1" klasörü boşaltılamıyor.', // from v2.1.25 added 22.6.2017 'moreErrors' : '"$1" veya daha fazla hata', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'Tek seferde 1$\'a kadar klasör oluşturabilirsiniz.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Arşiv oluştur', 'cmdback' : 'Geri', 'cmdcopy' : 'Kopyala', 'cmdcut' : 'Kes', 'cmddownload' : 'İndir', 'cmdduplicate' : 'Çoğalt', 'cmdedit' : 'Dosyayı düzenle', 'cmdextract' : 'Arşivden dosyaları çıkart', 'cmdforward' : 'İleri', 'cmdgetfile' : 'Dosyaları seç', 'cmdhelp' : 'Bu yazılım hakkında', 'cmdhome' : 'Anasayfa', 'cmdinfo' : 'Bilgi göster', 'cmdmkdir' : 'Yeni klasör', 'cmdmkdirin' : 'Yeni Klasör / aç', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Yeni dosya', 'cmdopen' : 'Aç', 'cmdpaste' : 'Yapıştır', 'cmdquicklook' : 'Ön izleme', 'cmdreload' : 'Geri Yükle', 'cmdrename' : 'Yeniden Adlandır', 'cmdrm' : 'Sil', 'cmdtrash' : 'Çöpe at', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'geri yükle', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Dosyaları bul', 'cmdup' : 'Üst dizine çık', 'cmdupload' : 'Dosyaları yükle', 'cmdview' : 'Görüntüle', 'cmdresize' : 'Resmi yeniden boyutlandır', 'cmdsort' : 'Sırala', 'cmdnetmount' : 'Bağlı ağ birimi', // added 18.04.2012 'cmdnetunmount': 'Devredışı bırak', // from v2.1 added 30.04.2012 'cmdplaces' : 'Yerlere', // added 28.12.2014 'cmdchmod' : 'Mod değiştir', // from v2.1 added 20.6.2015 'cmdopendir' : 'Klasör aç', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Sütun genişliğini sıfırla', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Tam ekran', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Taşı', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Klasörü boşalt', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Geri al', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Yinele', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Tercihler', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Tümünü seç', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Seçimi temizle', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Diğerlerini seç', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Yeni Sekmede aç', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Ögeyi Gizle', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Kapat', 'btnSave' : 'Kaydet', 'btnRm' : 'Kaldır', 'btnApply' : 'Uygula', 'btnCancel' : 'İptal', 'btnNo' : 'Hayır', 'btnYes' : 'Evet', 'btnMount' : 'Bağla', // added 18.04.2012 'btnApprove': 'Git $1 & onayla', // from v2.1 added 26.04.2012 'btnUnmount': 'Bağlantıyı kes', // from v2.1 added 30.04.2012 'btnConv' : 'Dönüştür', // from v2.1 added 08.04.2014 'btnCwd' : 'Buraya', // from v2.1 added 22.5.2015 'btnVolume' : 'Birim', // from v2.1 added 22.5.2015 'btnAll' : 'Hepsi', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Türü', // from v2.1 added 22.5.2015 'btnFileName':'Dosya adı', // from v2.1 added 22.5.2015 'btnSaveClose': 'Kaydet & Kapat', // from v2.1 added 12.6.2015 'btnBackup' : 'Yedekle', // fromv2.1 added 28.11.2015 'btnRename' : 'Yeniden adlandır', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Yeniden adlandır(Tümü)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Önceki ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Sonraki ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Farklı Kaydet', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Klasör Aç', 'ntffile' : 'Dosya Aç', 'ntfreload' : 'Klasör içeriğini yeniden yükle', 'ntfmkdir' : 'Dizin oluşturuluyor', 'ntfmkfile' : 'Dosyaları oluşturma', 'ntfrm' : 'Dosyaları sil', 'ntfcopy' : 'Dosyaları kopyala', 'ntfmove' : 'Dosyaları taşı', 'ntfprepare' : 'Dosyaları kopyalamaya hazırla', 'ntfrename' : 'Dosyaları yeniden adlandır', 'ntfupload' : 'Dosyalar yükleniyor', 'ntfdownload' : 'Dosyalar indiriliyor', 'ntfsave' : 'Dosyalar kaydediliyor', 'ntfarchive' : 'Arşiv oluşturuluyor', 'ntfextract' : 'Arşivden dosyalar çıkartılıyor', 'ntfsearch' : 'Dosyalar aranıyor', 'ntfresize' : 'Resimler boyutlandırılıyor', 'ntfsmth' : 'İşlem yapılıyor', 'ntfloadimg' : 'Resim yükleniyor', 'ntfnetmount' : 'Ağ birimine bağlanılıyor', // added 18.04.2012 'ntfnetunmount': 'Ağ birimi bağlantısı kesiliyor', // from v2.1 added 30.04.2012 'ntfdim' : 'Resim boyutu alınıyor', // added 20.05.2013 'ntfreaddir' : 'Klasör bilgisi okunuyor', // from v2.1 added 01.07.2013 'ntfurl' : 'Bağlantının URL\'si alınıyor', // from v2.1 added 11.03.2014 'ntfchmod' : 'Dosya modu değiştiriliyor', // from v2.1 added 20.6.2015 'ntfpreupload': 'Yüklenen dosya ismi doğrulanıyor', // from v2.1 added 31.11.2015 'ntfzipdl' : 'İndirilecek dosya oluşturuluyor', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Dosya yolu bilgileri alınıyor', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Yüklenen dosya işleniyor', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Çöp kutusuna atma', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Çöp kutusundan geri yükle', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Hedef klasör kontrol ediliyor', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Önceki işlemi geri alma', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Önceki geri almayı tekrarlama', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'İçeriği kontrol ediniz', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Çöp', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'Bilinmiyor', 'Today' : 'Bugün', 'Yesterday' : 'Dün', 'msJan' : 'Oca', 'msFeb' : 'Şub', 'msMar' : 'Mar', 'msApr' : 'Nis', 'msMay' : 'May', 'msJun' : 'Haz', 'msJul' : 'Tem', 'msAug' : 'Ağu', 'msSep' : 'Eyl', 'msOct' : 'Ekm', 'msNov' : 'Kas', 'msDec' : 'Ara', 'January' : 'Ocak', 'February' : 'Şubat', 'March' : 'Mart', 'April' : 'Nisan', 'May' : 'Mayıs', 'June' : 'Haziran', 'July' : 'Temmuz', 'August' : 'Ağustos', 'September' : 'Eylül', 'October' : 'Ekim', 'November' : 'Kasım', 'December' : 'Aralık', 'Sunday' : 'Pazar', 'Monday' : 'Pazartesi', 'Tuesday' : 'Salı', 'Wednesday' : 'Çarşamba', 'Thursday' : 'Perşembe', 'Friday' : 'Cuma', 'Saturday' : 'Cumartesi', 'Sun' : 'Paz', 'Mon' : 'Pzt', 'Tue' : 'Sal', 'Wed' : 'Çar', 'Thu' : 'Per', 'Fri' : 'Cum', 'Sat' : 'Cmt', /******************************** sort variants ********************************/ 'sortname' : 'Ada göre', 'sortkind' : 'Türe göre', 'sortsize' : 'Boyuta göre', 'sortdate' : 'Tarihe göre', 'sortFoldersFirst' : 'Önce klasörler', 'sortperm' : 'izinlere göre', // from v2.1.13 added 13.06.2016 'sortmode' : 'moduna göre', // from v2.1.13 added 13.06.2016 'sortowner' : 'sahibine göre', // from v2.1.13 added 13.06.2016 'sortgroup' : 'grubuna göre', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Ayrıca ağaç görünümü', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'YeniDosya.txt', // added 10.11.2015 'untitled folder' : 'YeniKlasor', // added 10.11.2015 'Archive' : 'YeniArsiv', // from v2.1 added 10.11.2015 'untitled file' : 'YeniDosya.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: Dosya', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Onay gerekli', 'confirmRm' : 'Dosyaları kaldırmak istediğinden emin misin?
                      Bu işlem geri alınamaz!', 'confirmRepl' : 'Eski dosya yenisi ile değiştirilsin mi?', 'confirmRest' : 'Mevcut öge çöp kutusundaki ögeyle değiştirilsin mi?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'UTF-8 değil
                      UTF-8\'e dönüştürülsün mü?
                      Dönüştürme sonrası kaydedebilmek için içeriğin UTF-8 olması gerekir.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Bu dosyanın karakter kodlaması tespit edilemedi. Düzenleme için geçici olarak UTF-8\'e dönüştürülmesi gerekir.
                      Lütfen bu dosyanın karakter kodlamasını seçin.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Düzenlenmiş içerik.
                      Değişiklikleri kaydetmek istemiyorsanız son yapılanlar kaybolacak.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Öğeleri çöp kutusuna taşımak istediğinizden emin misiniz?', //from v2.1.24 added 29.4.2017 'confirmMove' : '"$1" değiştirmek istediğinizden emin misiniz?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Tümüne uygula', 'name' : 'İsim', 'size' : 'Boyut', 'perms' : 'Yetkiler', 'modify' : 'Değiştirildi', 'kind' : 'Tür', 'read' : 'oku', 'write' : 'yaz', 'noaccess' : 'erişim yok', 'and' : 've', 'unknown' : 'bilinimiyor', 'selectall' : 'Tüm dosyaları seç', 'selectfiles' : 'Dosya(lar)ı seç', 'selectffile' : 'İlk dosyayı seç', 'selectlfile' : 'Son dosyayı seç', 'viewlist' : 'Liste görünümü', 'viewicons' : 'Simge görünümü', 'viewSmall' : 'Small iconlar', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Medium iconlar', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Large iconlar', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Extra large iconlar', // from v2.1.39 added 22.5.2018 'places' : 'Yerler', 'calc' : 'Hesapla', 'path' : 'Yol', 'aliasfor' : 'Takma adı:', 'locked' : 'Kilitli', 'dim' : 'Ölçüler', 'files' : 'Dosyalar', 'folders' : 'Klasörler', 'items' : 'Nesneler', 'yes' : 'evet', 'no' : 'hayır', 'link' : 'Bağlantı', 'searcresult' : 'Arama sonuçları', 'selected' : 'Seçili öğeler', 'about' : 'Hakkında', 'shortcuts' : 'Kısayollar', 'help' : 'Yardım', 'webfm' : 'Web dosyası yöneticisi', 'ver' : 'Sürüm', 'protocolver' : 'protokol sürümü', 'homepage' : 'Proje Anasayfası', 'docs' : 'Belgeler', 'github' : 'Github\'ta bizi takip edin', 'twitter' : 'Twitter\'da bizi takip edin', 'facebook' : 'Facebook\'ta bize katılın', 'team' : 'Takım', 'chiefdev' : 'geliştirici şefi', 'developer' : 'geliştirici', 'contributor' : 'iştirakçi', 'maintainer' : 'bakıcı', 'translator' : 'çeviri', 'icons' : 'Simgeler', 'dontforget' : 've havlunuzu almayı unutmayın', 'shortcutsof' : 'Kısayollar devre dışı', 'dropFiles' : 'Dosyaları buraya taşı', 'or' : 'veya', 'selectForUpload' : 'Yüklemek için dosyaları seçin', 'moveFiles' : 'Dosyaları taşı', 'copyFiles' : 'Dosyaları kopyala', 'restoreFiles' : 'Öğeleri geri yükle', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Yerlerinden sil', 'aspectRatio' : 'Görünüm oranı', 'scale' : 'Ölçeklendir', 'width' : 'Genişlik', 'height' : 'Yükseklik', 'resize' : 'Boyutlandır', 'crop' : 'Kırp', 'rotate' : 'Döndür', 'rotate-cw' : '90 derece sağa döndür', 'rotate-ccw' : '90 derece sola döndür', 'degree' : 'Derece', 'netMountDialogTitle' : 'Bağlı (Mount) ağ birimi', // added 18.04.2012 'protocol' : 'Protokol', // added 18.04.2012 'host' : 'Sunucu', // added 18.04.2012 'port' : 'Kapı(Port)', // added 18.04.2012 'user' : 'Kullanıcı', // added 18.04.2012 'pass' : 'Şifre', // added 18.04.2012 'confirmUnmount' : 'Bağlantı kesilsin mi $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Dosyaları tarayıcıdan yapıştır veya bırak', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Dosyaları buraya yapıştır veya bırak', // from v2.1 added 07.04.2014 'encoding' : 'Kodlama', // from v2.1 added 19.12.2014 'locale' : 'Yerel', // from v2.1 added 19.12.2014 'searchTarget' : 'Hedef: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Giriş MIME Türüne Göre Arama', // from v2.1 added 22.5.2015 'owner' : 'Sahibi', // from v2.1 added 20.6.2015 'group' : 'Grup', // from v2.1 added 20.6.2015 'other' : 'Diğer', // from v2.1 added 20.6.2015 'execute' : 'Çalıştır', // from v2.1 added 20.6.2015 'perm' : 'Yetki', // from v2.1 added 20.6.2015 'mode' : 'Mod', // from v2.1 added 20.6.2015 'emptyFolder' : 'Klasör boş', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Klasör boş\\A Eklemek için sürükleyin', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Klasör boş\\A Eklemek için basılı tutun', // from v2.1.6 added 30.12.2015 'quality' : 'Kalite', // from v2.1.6 added 5.1.2016 'autoSync' : 'Otomatik senkronizasyon', // from v2.1.6 added 10.1.2016 'moveUp' : 'Yukarı taşı', // from v2.1.6 added 18.1.2016 'getLink' : 'URL bağlantısı alın', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Seçili öğeler ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Klasör kimliği', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Çevrimdışı erişime izin ver', // from v2.1.10 added 3.25.2016 'reAuth' : 'Yeniden kimlik doğrulaması için', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Şimdi yükleniyor...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Çoklu dosya aç', // from v2.1.12 added 5.14.2016 'openMultiConfirm': '$1 dosyalarını açmaya çalışıyorsunuz. Tarayıcıda açmak istediğinizden emin misiniz?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Arama hedefinde eşleşen sonuç bulunamadı.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Dosya düzenleniyor.', // from v2.1.13 added 6.3.2016 'hasSelected' : '$1 öğe seçtiniz.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Panonuzda $1 öğeniz var.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Artan arama yalnızca geçerli görünümden yapılır.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Eski durumuna getir', // from v2.1.15 added 3.8.2016 'complete' : '$1 tamamlandı', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Durum menüsü', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Sayfa çevir', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Disk kök dizini', // from v2.1.16 added 16.9.2016 'reset' : 'Sıfırla', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Arkaplan rengi', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Renk seçici', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Izgara', // from v2.1.16 added 4.10.2016 'enabled' : 'Etkin', // from v2.1.16 added 4.10.2016 'disabled' : 'Engelli', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Geçerli görünümde arama sonucu bulunamadı. Arama sonucunu genişletmek için \\APress [Enter] yapın', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Geçerli görünümde ilk harf arama sonuçları boş.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Metin etiketi', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 dakika kaldı', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Seçilen kodlamayla yeniden aç', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Seçilen kodlamayla kaydet', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Klasör seç', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'İlk arama sayfası', // from v2.1.23 added 24.3.2017 'presets' : 'Hazır ayarlar', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'çok fazla öge var çöp kutusuna atılamaz.', // from v2.1.25 added 9.6.2017 'TextArea' : 'Metin alanı(TextArea)', // from v2.1.25 added 14.6.2017 'folderToEmpty' : '"$1" klasörünü boşalt.', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : '"$1" klasöründe öge yok.', // from v2.1.25 added 22.6.2017 'preference' : 'Tercih', // from v2.1.26 added 28.6.2017 'language' : 'Dil ayarları', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Bu tarayıcıda kayıtlı ayarları başlat', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Araç çubuğu ayarları', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 karakter kaldı', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 satır kaldı.', // from v2.1.52 added 16.1.2020 'sum' : 'Toplam', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Kaba dosya boyutu', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Fare ile üzerine gelince diyalog öğesi odaklansın', // from v2.1.30 added 2.11.2017 'select' : 'Seç', // from v2.1.30 added 23.11.2017 'selectAction' : 'Dosya seçildiğinde işleme al', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Geçen sefer kullanılan editörle aç', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Zıt seçim', // from v2.1.30 added 25.11.2017 'renameMultiple' : '$1 seçilen öğeleri $2 gibi yeniden adlandırmak istediğinizden emin misiniz?
                      Bu geri alınamaz!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Yığın adını değiştir', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Sayı', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Ön ek kele', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Son ek ekle', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Uzantıyı değiştir', // from v2.1.31 added 8.12.2017 'columnPref' : 'Sütun ayarları (Liste görünümü)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Tüm değişiklikler hemen arşive yansıtılacaktır.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Herhangi bir değişiklik, bu birimi kaldırılıncaya kadar yansıtılmayacaktır.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Bu cihaza monte edilen aşağıdaki birim (ler) de bağlanmamıştır. Çıkardığınızdan emin misiniz?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Seçim Bilgisi', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Dosya imza(hash) algoritmaları', // from v2.1.33 added 10.3.2018 'infoItems' : 'öğelerin bilgisi (Seçim Bilgi Paneli)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Çıkmak için tekrar basın.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Araç Çubuğu', // from v2.1.38 added 4.4.2018 'workspace' : 'Çalışma alanı', // from v2.1.38 added 4.4.2018 'dialog' : 'Diyalog', // from v2.1.38 added 4.4.2018 'all' : 'Tümü', // from v2.1.38 added 4.4.2018 'iconSize' : 'İcon Boyutu (İcon Görünümü İçin)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Maksimum düzenleyici penceresini aç', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'API ile dönüşüm şu anda mevcut olmadığından, lütfen web sitesinde dönüştürün.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Dönüştürmeden sonra, dönüştürülen dosyayı kaydetmek için öğe URL\'si veya indirilen bir dosya ile karşıya yüklemeniz gerekir.', //from v2.1.40 added 8.7.2018 'convertOn' : ' $1 site çevrildi', // from v2.1.40 added 10.7.2018 'integrations' : 'Entegrasyonlar', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Bu elFinder aşağıdaki harici hizmetlere entegre edilmiştir. Lütfen kullanmadan önce kullanım koşullarını, gizlilik politikasını vb. Kontrol edin.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Gizli ögeleri aç.', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Gizli ögeleri kapat.', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Gizli ögeleri aç/kapat', // from v2.1.41 added 24.7.2018 'makefileTypes' : '"Yeni dosya" ile etkinleştirilecek dosya türleri', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Text dosyası tipi.', // from v2.1.41 added 7.8.2018 'add' : 'Ekle', // from v2.1.41 added 7.8.2018 'theme' : 'Tema', // from v2.1.43 added 19.10.2018 'default' : 'Varsayılan', // from v2.1.43 added 19.10.2018 'description' : 'Açıklama', // from v2.1.43 added 19.10.2018 'website' : 'Websayfası', // from v2.1.43 added 19.10.2018 'author' : 'Yazar', // from v2.1.43 added 19.10.2018 'email' : 'E-mail', // from v2.1.43 added 19.10.2018 'license' : 'Lisans', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Bu öğe kaydedilemez. Düzenlemeleri kaybetmemek için PC\'nize aktarmanız gerekir.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Dosyayı seçmek için çift tıklayın.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Tam ekran modunu kullan', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Bilinmiyor', 'kindRoot' : 'Sürücü Kök dizini', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Klasör', 'kindSelects' : 'Seçim', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias (Takma ad)', 'kindAliasBroken' : 'Bozuk alias', // applications 'kindApp' : 'Uygulama', 'kindPostscript' : 'Postscript dosyası', 'kindMsOffice' : 'Microsoft Office dosyası', 'kindMsWord' : 'Microsoft Word dosyası', 'kindMsExcel' : 'Microsoft Excel dosyası', 'kindMsPP' : 'Microsoft Powerpoint sunumu', 'kindOO' : 'Open Office dosyası', 'kindAppFlash' : 'Flash uygulaması', 'kindPDF' : 'PDF', 'kindTorrent' : 'Bittorrent dosyası', 'kind7z' : '7z arşivi', 'kindTAR' : 'TAR arşivi', 'kindGZIP' : 'GZIP arşivi', 'kindBZIP' : 'BZIP arşivi', 'kindXZ' : 'XZ arşivi', 'kindZIP' : 'ZIP arşivi', 'kindRAR' : 'RAR arşivi', 'kindJAR' : 'Java JAR dosyası', 'kindTTF' : 'True Type fontu', 'kindOTF' : 'Open Type fontu', 'kindRPM' : 'RPM paketi', // texts 'kindText' : 'Metin dosyası', 'kindTextPlain' : 'Düz metin', 'kindPHP' : 'PHP kodu', 'kindCSS' : 'CSS dosyası', 'kindHTML' : 'HTML dosyası', 'kindJS' : 'Javascript kodu', 'kindRTF' : 'Zengin Metin Belgesi', 'kindC' : 'C kodu', 'kindCHeader' : 'C başlık kodu', 'kindCPP' : 'C++ kodu', 'kindCPPHeader' : 'C++ başlık kodu', 'kindShell' : 'Unix shell scripti', 'kindPython' : 'Python kodu', 'kindJava' : 'Java kodu', 'kindRuby' : 'Ruby kodu', 'kindPerl' : 'Perl scripti', 'kindSQL' : 'SQL kodu', 'kindXML' : 'XML dosyası', 'kindAWK' : 'AWK kodu', 'kindCSV' : 'CSV', 'kindDOCBOOK' : 'Docbook XML dosyası', 'kindMarkdown' : 'Markdown dosyası', // added 20.7.2015 // images 'kindImage' : 'Resim', 'kindBMP' : 'BMP dosyası', 'kindJPEG' : 'JPEG dosyası', 'kindGIF' : 'GIF dosyası', 'kindPNG' : 'PNG dosyası', 'kindTIFF' : 'TIFF dosyası', 'kindTGA' : 'TGA dosyası', 'kindPSD' : 'Adobe Photoshop dosyası', 'kindXBITMAP' : 'X bitmap dosyası', 'kindPXM' : 'Pixelmator dosyası', // media 'kindAudio' : 'Ses ortamı', 'kindAudioMPEG' : 'MPEG ses', 'kindAudioMPEG4' : 'MPEG-4 ses', 'kindAudioMIDI' : 'MIDI ses', 'kindAudioOGG' : 'Ogg Vorbis ses', 'kindAudioWAV' : 'WAV ses', 'AudioPlaylist' : 'MP3 listesi', 'kindVideo' : 'Video ortamı', 'kindVideoDV' : 'DV video', 'kindVideoMPEG' : 'MPEG video', 'kindVideoMPEG4' : 'MPEG-4 video', 'kindVideoAVI' : 'AVI video', 'kindVideoMOV' : 'Quick Time video', 'kindVideoWM' : 'Windows Media video', 'kindVideoFlash' : 'Flash video', 'kindVideoMKV' : 'Matroska video', 'kindVideoOGG' : 'Ogg video' } }; })); wp-file-manager/lib/js/i18n/elfinder.ug_CN.js000064400000050160151202472330014601 0ustar00/** * Uyghur translation * @author Alim.Boyaq * @version 2014-12-19 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.ug_CN = { translator : 'تەرجىمە قىلغۇچى: ئۆتكۈر بىز شىركىتى info@otkur.biz', language : 'ئ‍ۇيغۇرچە', direction : 'rtl', dateFormat : 'Y-m-d H:i', fancyDateFormat : '$1 H:i', messages : { /********************************** errors **********************************/ 'error' : 'خاتالىق', 'errUnknown' : 'كۈتۈلمىگەن خاتالىقكەن.', 'errUnknownCmd' : 'كۈتۈلمىگەن بۇيرۇقكەن.', 'errJqui' : 'jQuery UI تەڭشىكى توغرا بولمىغان. چوقۇم Selectable، draggable، droppabl قاتارلىق بۆلەكلەر بولۇشى كېرەك.', 'errNode' : 'elFinder DOM ئېلىمىنتلىرىنى قۇرالىشى كېرەك.', 'errURL' : 'elFinder تەڭشىكى توغرا بولمىغان! URL تەڭشىكى يېزىلمىغان.', 'errAccess' : 'زىيارەت قىلىش چەكلەنگەن.', 'errConnect' : 'ئارقا سۇپىغا ئۇلاش مەغلۇپ بولدى..', 'errAbort' : 'ئارقا سۇپىغا توختىتىلدى.', 'errTimeout' : 'ئارقا سۇپىغا بەلگىلەنگەن ۋاقىتتا ئۇلىيالمىدى.', 'errNotFound' : 'ئارقا سۇپا تېپىلمىدى.', 'errResponse' : 'ئارقا سۇپىدىن توغرا بولمىغان ئىنكاس قايتتى.', 'errConf' : 'ئارقا سۇپا تەڭشىكى توغرا ئەمەس.', 'errJSON' : 'PHP JSON بۆلىكى قاچىلانمىغان.', 'errNoVolumes' : 'ئوقۇشقا بولىدىغان ھۈججەت خالتىسى يوق.', 'errCmdParams' : 'پارامېتىر خاتا، بۇيرۇق: "$1".', 'errDataNotJSON' : 'ئارقا سۇپا قايتۇرغان سانلىق مەلۇمات توغرا بولغان JSON ئەمەسكەن.', 'errDataEmpty' : 'ئارقا سۇپا قايتۇرغان سانلىق مەلۇمات قۇرۇقكەن.', 'errCmdReq' : 'ئارقا سۇپىدىكى بۇيرۇقنىڭ ئ‍سىمى تەمىنلىنىشى كېرەك.', 'errOpen' : '"$1"نى ئاچالمىدى.', 'errNotFolder' : 'ئوبىكىت مۇندەرىجە ئەمەسكەن.', 'errNotFile' : 'ئوبىكىت ھۈججەت ئەمەسكەن.', 'errRead' : '"$1"نى ئوقۇيالمىدى.', 'errWrite' : '"$1"نى يازالمىدى.', 'errPerm' : 'ھوقۇق يوق.', 'errLocked' : '"$1" تاقالغان,ئۆزگەرتەلمەيسىز.', 'errExists' : '"$1" ناملىق ھۈججەت باركەن.', 'errInvName' : 'توغرا بولمىغان ھۈججەت قىسقۇچ ئىسمى.', 'errFolderNotFound' : 'ھۈججەت قىسقۇچنى تاپالمىدى.', 'errFileNotFound' : 'ھۈججەتنى تاپالمىدى.', 'errTrgFolderNotFound' : '"$1" ناملىق ھۈججەت قىسقۇچنى تاپالمىدى.', 'errPopup' : 'سەكرەپ چىققان يېڭى بەتنى تور كۆرگۈچ كۆرسەتمىدى، ئۈستىدىكى ئەسكەرتىشتىن تور كۆرگۈچنى كۆرسىتىشكە تەڭشەڭ.', 'errMkdir' : '"$1" ناملىق ھۈججەت قىسقۇچنى قۇرالمىدى.', 'errMkfile' : '"$1" ناملىق ھۈججەتنى قۇرالمىدى.', 'errRename' : '"$1" ناملىق ھۈججەتنىڭ ئىسمىنى يېڭىلاش مەغلۇپ بولدى.', 'errCopyFrom' : ' "$1" ناملىق ئورۇندىن ھۈججەت كۆچۈرۈش چەكلەنگەن.', 'errCopyTo' : '"$1" ناملىق ئورۇنغا ھۈججەت كۆچۈرۈش چەكلەنگەن.', 'errUpload' : 'يۈكلەشتە خاتالىق كۆرۈلدى.', 'errUploadFile' : '"$1" ناملىق ھۈججەتنى يۈكلەشتە خاتالىق كۆرۈلدى.', 'errUploadNoFiles' : 'يۈكلىمەكچى بولغان ھۈججەت تېپىلمىدى.', 'errUploadTotalSize' : 'سانلىق مەلۇمات چوڭلىقى چەكلىمىدىن ئېشىپ كەتكەن..', 'errUploadFileSize' : 'ھۈججەت چوڭلىقى چەكلىمىدىن ئېشىپ كەتكەن..', 'errUploadMime' : 'چەكلەنگەن ھۈججەت شەكلى.', 'errUploadTransfer' : '"$1" ناملىق ھۈججەتنى يوللاشتا خاتالىق كۆرۈلدى.', 'errNotReplace' : '"$1" ناملىق ھۈججەت باركەن، ئالماشتۇرۇشقا بولمايدۇ.', // new 'errReplace' : '"$1" ناملىق ھۈججەتنى ئالماشتۇرۇش مەغلۇپ بولدى.', 'errSave' : '"$1" ناملىق ھۈججەتنى ساقلاش مەغلۇپ بولدى.', 'errCopy' : '"$1" ناملىق ھۈججەتنى كۆچۈرۈش مەغلۇپ بولدى.', 'errMove' : '"$1" ناملىق ھۈججەتنى يۆتكەش مەغلۇپ بولدى.', 'errCopyInItself' : '"$1" ناملىق ھۈججەتنى ئەسلى ئورنىغا يۆتكەش مەغلۇپ بولدى.', 'errRm' : '"$1" ناملىق ھۈججەتنى ئۆچۈرۈش مەغلۇپ بولدى.', 'errRmSrc' : 'ئەسلى ھۈججەتنى ئۆچۈرۈش مەغلۇپ بولدى.', 'errExtract' : ' "$1" ناملىق مەلۇماتتىن ھۈججەت ئايرىش مەغلۇپ بولدى..', 'errArchive' : 'پىرىسلانغان ھۈججەت ھاسىللاش مەغلۇپ بولدى.', 'errArcType' : 'بۇ خىل پىرىسلانغان ھۈججەت شەكلىنى سىستېما بىر تەرەپ قىلالمىدى.', 'errNoArchive' : 'ھۈججەت پىرىسلانغان ھۈججەت ئەمەس، ياكى توغرا پىرىسلانمىغان.', 'errCmdNoSupport' : 'بۇ خىل بۇيرۇقنى بىر تەرەپ قىلالمىدى.', 'errReplByChild' : '“$1” ناملىق ھۈججەت قىسقۇچنى ئالماشۇتۇرۇشقا بولمايدۇ.', 'errArcSymlinks' : 'بىخەتەرلىك ئۈچۈن بۇ مەشغۇلات ئەمەلدىن قالدۇرۇلدى..', 'errArcMaxSize' : 'پىرىسلانغان ھۈججەتنىڭ چوڭلىقى چەكلىمىدىن ئېشىپ كەنكەن.', 'errResize' : ' "$1" چوڭلۇقنى تەڭشەشكە بولمىدى.', 'errResizeDegree' : 'توغرا بولمىغان پىقىرىتىش گىرادۇسى', 'errResizeRotate' : 'رەسىمنى پىقىرىتىشقا بولمىدى.', 'errResizeSize' : 'توغرا بولمىغان رەسىم چوڭلىقى.', 'errResizeNoChange' : 'رەسىم چوڭلىقى ئۆزگەرمىگەن.', 'errUsupportType' : 'قوللىمايدىغان ھۈججەت شەكلى.', 'errNotUTF8Content' : '"$1" ناملىق ھۈججەتنىڭ كودى UTF-8ئەمەسكەن، تەھرىرلىگىلى بولمايدۇ.', // added 9.11.2011 'errNetMount' : ' "$1" نى يۈكلەشتە خاتلىق يۈز بەردى..', // added 17.04.2012 'errNetMountNoDriver' : 'بۇ خىل پروتوكول قوللانمىدى..', // added 17.04.2012 'errNetMountFailed' : 'يۈكلەش مەغلۇپ بولدى.', // added 17.04.2012 'errNetMountHostReq' : 'مۇلازىمىتىرنى كۆرسىتىپ بېرىڭ.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', /******************************* commands names ********************************/ 'cmdarchive' : 'پىرىسلاش', 'cmdback' : 'قايتىش', 'cmdcopy' : 'كۆچۈرۈش', 'cmdcut' : 'كېسىش', 'cmddownload' : 'چۈشۈرۈش', 'cmdduplicate' : 'نۇسخىلاش', 'cmdedit' : 'تەھرىرلەش', 'cmdextract' : 'پىرىستىن ھۈججەت چىقىرىش', 'cmdforward' : 'ئ‍الدىغا مېڭىش', 'cmdgetfile' : 'تاللاش', 'cmdhelp' : 'ئەپ ھەققىدە', 'cmdhome' : 'باش بەت', 'cmdinfo' : 'ئۇچۇرلىرى', 'cmdmkdir' : 'يېڭى ھۈججەت قىسقۇچ', 'cmdmkfile' : 'يېڭى ھۈججەت', 'cmdopen' : 'ئېچىش', 'cmdpaste' : 'چاپلاش', 'cmdquicklook' : 'كۆرۈش', 'cmdreload' : 'يېڭىلاش', 'cmdrename' : 'نام يېڭىلاش', 'cmdrm' : 'ئۆچۈرۈش', 'cmdsearch' : 'ھۈججەت ئىزدەش', 'cmdup' : 'ئالدىنقى مۇندەرىجىگە بېرىش', 'cmdupload' : 'يۈكلەش', 'cmdview' : 'كۆرۈش', 'cmdresize' : 'چوڭلىقىنى تەڭشەش', 'cmdsort' : 'تەرتىپ', 'cmdnetmount' : 'توردىن قوشۇش', // added 18.04.2012 /*********************************** buttons ***********************************/ 'btnClose' : 'تاقاش', 'btnSave' : 'ساقلاش', 'btnRm' : 'ئۆچۈرۈش', 'btnApply' : 'ئىشلىتىش', 'btnCancel' : 'بېكارلاش', 'btnNo' : 'ياق', 'btnYes' : 'ھەئە', 'btnMount' : 'يۈكلەش', // added 18.04.2012 /******************************** notifications ********************************/ 'ntfopen' : 'قىسقۇچنى ئېچىش', 'ntffile' : 'ھۈججەتنى ئېچىش', 'ntfreload' : 'يېڭىلاش', 'ntfmkdir' : 'قىسقۇچ قۇرۇش', 'ntfmkfile' : 'ھۈججەت قۇرۇش', 'ntfrm' : 'ئۆچۈرۈش', 'ntfcopy' : 'كۆچۈرۈش', 'ntfmove' : 'يۆتكەش', 'ntfprepare' : 'كۆچۈرۈش تەييارلىقى', 'ntfrename' : 'نام يېڭىلاش', 'ntfupload' : 'يۈكلەش', 'ntfdownload' : 'چۈشۈرۈش', 'ntfsave' : 'ساقلاش', 'ntfarchive' : 'پىرىسلاش', 'ntfextract' : 'پىرىستىن يېشىش', 'ntfsearch' : 'ئىزدەش', 'ntfresize' : 'چوڭلىقى ئۆزگەرتىلىۋاتىدۇ', 'ntfsmth' : 'ئالدىراش >_<', 'ntfloadimg' : 'رەسىم ئېچىلىۋاتىدۇ', 'ntfnetmount' : 'تور ھۈججىتى يۈكلىنىۋاتىدۇ', // added 18.04.2012 'ntfdim' : 'Acquiring image dimension', /************************************ dates **********************************/ 'dateUnknown' : 'ئېنىق ئەمەس', 'Today' : 'بۈگۈن', 'Yesterday' : 'تۆنۈگۈن', 'msJan' : '1-ئاي', 'msFeb' : '2-ئاي', 'msMar' : '3-ئاي', 'msApr' : '4-ئاي', 'msMay' : '5-ئاي', 'msJun' : '6-ئاي', 'msJul' : '7-ئاي', 'msAug' : '8-ئاي', 'msSep' : '9-ئ‍اي', 'msOct' : '10-ئاي', 'msNov' : '11-ئاي', 'msDec' : '12-ئاي', 'January' : '1-ئاي', 'February' : '2-ئاي', 'March' : '3-ئاي', 'April' : '4-ئاي', 'May' : '5-ئاي', 'June' : '6-ئاي', 'July' : '7-ئاي', 'August' : '8-ئاي', 'September' : '9-ئاي', 'October' : '10-ئاي', 'November' : '11-ئاي', 'December' : '12-ئاي', 'Sunday' : 'يەكشەنبە', 'Monday' : 'دۈشەنبە', 'Tuesday' : 'سەيشەنبە', 'Wednesday' : 'چارشەنبە', 'Thursday' : 'پەيشەنبە', 'Friday' : 'جۈمە', 'Saturday' : 'شەنبە', 'Sun' : 'يە', 'Mon' : 'دۈ', 'Tue' : 'سە', 'Wed' : 'چا', 'Thu' : 'پە', 'Fri' : 'جۈ', 'Sat' : 'شە', /******************************** sort variants ********************************/ 'sortname' : 'نامى ', 'sortkind' : 'شەكلى ', 'sortsize' : 'چوڭلىقى', 'sortdate' : 'ۋاقتى', 'sortFoldersFirst' : 'قىسقۇچلار باشتا', /********************************** messages **********************************/ 'confirmReq' : 'مۇقىملاشتۇرۇڭ', 'confirmRm' : 'راستىنلا ئۆچۈرەمسىز?
                      كەينىگە قايتۇرغىلى بولمايدۇ!', 'confirmRepl' : 'ھازىرقى ھۈججەت بىلەن كونىسىنى ئالماشتۇرامسىز?', 'apllyAll' : 'ھەممىسىگە ئىشلىتىش', 'name' : 'نامى', 'size' : 'چوڭلىقى', 'perms' : 'ھوقۇق', 'modify' : 'ئۆزگەرگەن ۋاقتى', 'kind' : 'تۈرى', 'read' : 'ئوقۇش', 'write' : 'يېزىش', 'noaccess' : 'ھوقۇق يوق', 'and' : 'ھەم', 'unknown' : 'ئېنىق ئەمەس', 'selectall' : 'ھەممىنى تاللاش', 'selectfiles' : 'تاللاش', 'selectffile' : 'بىرىنچىسىنى تاللاش', 'selectlfile' : 'ئەڭ ئاخىرقىسىنى تاللاش', 'viewlist' : 'جەدۋەللىك كۆرىنىشى', 'viewicons' : 'رەسىملىك كۆرىنىشى', 'places' : 'ئورنى', 'calc' : 'ھېسابلاش', 'path' : 'ئورنى', 'aliasfor' : 'باشقا نامى', 'locked' : 'تاقالغان', 'dim' : 'چوڭلىقى', 'files' : 'ھۈججەت', 'folders' : 'قىسقۇچ', 'items' : 'تۈرلەر', 'yes' : 'ھەئە', 'no' : 'ياق', 'link' : 'ئۇلىنىش', 'searcresult' : 'ئىزدەش نەتىجىسى', 'selected' : 'تاللانغان تۈرلەر', 'about' : 'چۈشەنچە', 'shortcuts' : 'تېز كونۇپكىلار', 'help' : 'ياردەم', 'webfm' : 'تور ھۈججەتلىرىنى باشقۇرۇش', 'ver' : 'نەشرى', 'protocolver' : 'پروتوكول نەشرى', 'homepage' : 'تۈر باش بېتى', 'docs' : 'ھۈججەت', 'github' : 'Fork us on Github', 'twitter' : 'Follow us on twitter', 'facebook' : 'Join us on facebook', 'team' : 'گۇرۇپپا', 'chiefdev' : 'باش پىروگراممىر', 'developer' : 'پىروگراممىر', 'contributor' : 'تۆھپىكار', 'maintainer' : 'ئاسرىغۇچى', 'translator' : 'تەرجىمان', 'icons' : 'سىنبەلگە', 'dontforget' : 'تەرىڭىزنى سۈرتىدىغان قولياغلىقىڭىزنى ئۇنۇتماڭ جۇمۇ', 'shortcutsof' : 'تېز كونۇپكىلار چەكلەنگەن', 'dropFiles' : 'ھۈججەتنى موشۇ يەرگە تاشلاڭ', 'or' : 'ياكى', 'selectForUpload' : 'يۈكلىمەكچى بولغان ھۈججەتنى تاللاڭ', 'moveFiles' : 'يۆتكەش', 'copyFiles' : 'كۆچۈرۈش', 'rmFromPlaces' : 'ھۈججەتلەرنى ئۆچۈرۈش', 'aspectRatio' : 'نىسبىتىنى ساقلاش', 'scale' : 'نىسبىتى', 'width' : 'ئۇزۇنلىقى', 'height' : 'ئىگىزلىكى', 'resize' : 'چوڭلىقىنى تەڭشەش', 'crop' : 'كېسىش', 'rotate' : 'پىقىرىتىش', 'rotate-cw' : 'سائەت ئىستىرىلكىسى بويىچە 90 گىرادۇس پىقىرىتىش', 'rotate-ccw' : 'سائەت ئىستىرىلكىسىنى تەتۈر يۆنىلىشى بويىچە 90گىرادۇس پىقىرىتىش', 'degree' : 'گىرادۇس', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'پىروتوكڭل', // added 18.04.2012 'host' : 'مۇلازىمىتىر', // added 18.04.2012 'port' : 'پورت', // added 18.04.2012 'user' : 'ئەزا', // added 18.04.2012 'pass' : 'ئىم', // added 18.04.2012 /********************************** mimetypes **********************************/ 'kindUnknown' : 'ئېنىق ئەمەس', 'kindFolder' : 'ھۈججەت قىسقۇچ', 'kindAlias' : 'باشقا نامى', 'kindAliasBroken' : 'باشقا نامى خاتا', // applications 'kindApp' : 'كود ھۈججىتى', 'kindPostscript' : 'Postscript ھۈججىتى', 'kindMsOffice' : 'Microsoft Office ھۈججىتى', 'kindMsWord' : 'Microsoft Word ھۈججىتى', 'kindMsExcel' : 'Microsoft Excel ھۈججىتى', 'kindMsPP' : 'Microsoft Powerpoint ھۈججىتى', 'kindOO' : 'Open Office ھۈججىتى', 'kindAppFlash' : 'Flash ھۈججىتى', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent ھۈججىتى', 'kind7z' : '7z ھۈججىتى', 'kindTAR' : 'TAR ھۈججىتى', 'kindGZIP' : 'GZIP ھۈججىتى', 'kindBZIP' : 'BZIP ھۈججىتى', 'kindXZ' : 'XZ ھۈججىتى', 'kindZIP' : 'ZIP ھۈججىتى', 'kindRAR' : 'RAR ھۈججىتى', 'kindJAR' : 'Java JAR ھۈججىتى', 'kindTTF' : 'True Type فونت', 'kindOTF' : 'Open Type فونت', 'kindRPM' : 'RPM', // texts 'kindText' : 'تېكىست', 'kindTextPlain' : 'تېكىست', 'kindPHP' : 'PHP ھۈججىتى', 'kindCSS' : 'CSS ھۈججىتى', 'kindHTML' : 'HTML ھۈججىتى', 'kindJS' : 'Javascript ھۈججىتى', 'kindRTF' : 'RTF ھۈججىتى', 'kindC' : 'C ھۈججىتى', 'kindCHeader' : 'C باش ھۈججىتى', 'kindCPP' : 'C++ ھۈججىتى', 'kindCPPHeader' : 'C++ باش ھۈججىتى', 'kindShell' : 'Unix سىكىرىپت ھۈججىتى', 'kindPython' : 'Python ھۈججىتى', 'kindJava' : 'Java ھۈججىتى', 'kindRuby' : 'Ruby ھۈججىتى', 'kindPerl' : 'Perl ھۈججىتى', 'kindSQL' : 'SQL ھۈججىتى', 'kindXML' : 'XML ھۈججىتى', 'kindAWK' : 'AWK ھۈججىتى', 'kindCSV' : 'CSV ھۈججىتى', 'kindDOCBOOK' : 'Docbook XML ھۈججىتى', // images 'kindImage' : 'رەسىم', 'kindBMP' : 'BMP رەسىم', 'kindJPEG' : 'JPEG رەسىم', 'kindGIF' : 'GIF رەسىم', 'kindPNG' : 'PNG رەسىم', 'kindTIFF' : 'TIFF رەسىم', 'kindTGA' : 'TGA رەسىم', 'kindPSD' : 'Adobe Photoshop رەسىم', 'kindXBITMAP' : 'X bitmap رەسىم', 'kindPXM' : 'Pixelmator رەسىم', // media 'kindAudio' : 'ئاۋاز', 'kindAudioMPEG' : 'MPEG ئاۋاز', 'kindAudioMPEG4' : 'MPEG-4 ئاۋاز', 'kindAudioMIDI' : 'MIDI ئاۋاز', 'kindAudioOGG' : 'Ogg Vorbis ئاۋاز', 'kindAudioWAV' : 'WAV ئاۋاز', 'AudioPlaylist' : 'MP3 قويۇش تىزىملىكى', 'kindVideo' : 'سىن', 'kindVideoDV' : 'DV سىن', 'kindVideoMPEG' : 'MPEG سىن', 'kindVideoMPEG4' : 'MPEG-4 سىن', 'kindVideoAVI' : 'AVI سىن', 'kindVideoMOV' : 'Quick Time سىن', 'kindVideoWM' : 'Windows Media سىن', 'kindVideoFlash' : 'Flash سىن', 'kindVideoMKV' : 'Matroska سىن', 'kindVideoOGG' : 'Ogg سىن' } }; })); wp-file-manager/lib/js/i18n/elfinder.uk.js000064400000122531151202472330014227 0ustar00/** * Українська мова translation * @author ITLancer * @author cjayho * @version 2020-02-10 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.uk = { translator : 'ITLancer, cjayho <cj.fooser@gmail.com>', language : 'Українська мова', direction : 'ltr', dateFormat : 'd.m.Y H:i', // will show like: 10.02.2020 16:52 fancyDateFormat : '$1 H:i', // will show like: сьогодні 16:52 nonameDateFormat : 'ymd-His', // noname upload will show like: 200210-165246 messages : { /********************************** errors **********************************/ 'error' : 'Помилка', 'errUnknown' : 'Невідома помилка.', 'errUnknownCmd' : 'Невідома команда.', 'errJqui' : 'Неправильне налаштування jQuery UI. Відсутні компоненти: selectable, draggable, droppable.', 'errNode' : 'Відсутній елемент DOM для створення elFinder.', 'errURL' : 'Неправильне налаштування! Не вказана опція URL.', 'errAccess' : 'Доступ заборонено.', 'errConnect' : 'Не вдалося з’єднатися з backend.', 'errAbort' : 'З’єднання розірване.', 'errTimeout' : 'Тайм-аут з’єднання.', 'errNotFound' : 'Не знайдено backend.', 'errResponse' : 'Неправильна відповідь від backend.', 'errConf' : 'Неправильне налаштування backend.', 'errJSON' : 'Модуль PHP JSON не встановлено.', 'errNoVolumes' : 'Немає доступних для читання директорій.', 'errCmdParams' : 'Неправильні параметри для команди "$1".', 'errDataNotJSON' : 'Дані не у форматі JSON.', 'errDataEmpty' : 'Дані відсутні.', 'errCmdReq' : 'Backend вимагає назву команди.', 'errOpen' : 'Неможливо відкрити "$1".', 'errNotFolder' : 'Об’єкт не є папкою.', 'errNotFile' : 'Об’єкт не є файлом.', 'errRead' : 'Неможливо прочитати "$1".', 'errWrite' : 'Неможливо записати в "$1".', 'errPerm' : 'Помилка доступу.', 'errLocked' : 'Файл "$1" заблоковано і його неможливо перемістити, перейменувати чи вилучити.', 'errExists' : 'Файл з назвою "$1" вже існує.', 'errInvName' : 'Недійсна назва файла.', 'errInvDirname' : 'Недійсна назва теки.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Теку не знайдено.', 'errFileNotFound' : 'Файл не знайдено.', 'errTrgFolderNotFound' : 'Цільову теку "$1" не знайдено.', 'errPopup' : 'Браузер забороняє відкривати popup-вікно. Дозвольте у налаштування браузера, щоб відкрити файл.', 'errMkdir' : 'Неможливо створити теку "$1".', 'errMkfile' : 'Неможливо створити файл "$1".', 'errRename' : 'Неможливо перейменувати файл "$1".', 'errCopyFrom' : 'Копіювання файлів з тому "$1" не дозволено.', 'errCopyTo' : 'Копіювання файлів на том "$1" не дозволено.', 'errMkOutLink' : 'Неможливо створити посилання у місце за межами кореневої теки носія.', // from v2.1 added 03.10.2015 'errUpload' : 'Помилка відвантаження.', // old name - errUploadCommon 'errUploadFile' : 'Неможливо відвантажити файл "$1".', // old name - errUpload 'errUploadNoFiles' : 'Не знайдено файлів для відвантаження.', 'errUploadTotalSize' : 'Об\'єм даних перевищив встановлений ліміт.', // old name - errMaxSize 'errUploadFileSize' : 'Об\'єм файла перевищив встановлений ліміт.', // old name - errFileMaxSize 'errUploadMime' : 'Файли цього типу заборонені.', 'errUploadTransfer' : '"$1" : помилка передачі.', 'errUploadTemp' : 'Неможливо створити тимчасовий файл для відвантаження.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Об\'єкт "$1" вже існує тут та не може бути заміненим на об\'єкт іншого типу.', // new 'errReplace' : 'Неможливо замінити "$1".', 'errSave' : 'Неможливо записати "$1".', 'errCopy' : 'Неможливо скопіювати "$1".', 'errMove' : 'Неможливо перенести "$1".', 'errCopyInItself' : 'Неможливо скопіювати "$1" сам у себе.', 'errRm' : 'Неможливо вилучити "$1".', 'errTrash' : 'Неможливо пересунути до смітника.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Неможливо видалити оригінальний(і) файл(и).', 'errExtract' : 'Неможливо розпакувати файли з "$1".', 'errArchive' : 'Неможливо створити архів.', 'errArcType' : 'Тип архіву не підтримується.', 'errNoArchive' : 'Файл не є архівом, або є архівом, тип якого не підтримується.', 'errCmdNoSupport' : 'Серверна частина не підтримує цієї команди.', 'errReplByChild' : 'Папка “$1” не може бути замінена елементом, який вона містить.', 'errArcSymlinks' : 'З міркувань безпеки заборонено розпаковувати архіви з символічними посиланнями.', // edited 24.06.2012 'errArcMaxSize' : 'Розмір файлів архіву перевищує допустиме значення.', 'errResize' : 'Неможливо масштабувати "$1".', 'errResizeDegree' : 'Недійсний кут обертання.', // added 7.3.2013 'errResizeRotate' : 'Неможливо повернути світлину.', // added 7.3.2013 'errResizeSize' : 'Недійсний розмір світлини.', // added 7.3.2013 'errResizeNoChange' : 'Розмір світлини не змінено.', // added 7.3.2013 'errUsupportType' : 'Непідтримуваний тип файла.', 'errNotUTF8Content' : 'Файл "$1" не в UTF-8 і не може бути відредагований.', // added 9.11.2011 'errNetMount' : 'Неможливо змонтувати "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Непідтримуваний протокл.', // added 17.04.2012 'errNetMountFailed' : 'В процесі монтування сталася помилка.', // added 17.04.2012 'errNetMountHostReq' : 'Необхідно вказати хост.', // added 18.04.2012 'errSessionExpires' : 'Час сеансу минув через неактивність.', 'errCreatingTempDir' : 'НЕможливо створити тимчасову директорію: "$1"', 'errFtpDownloadFile' : 'Неможливо завантажити файл з FTP: "$1"', 'errFtpUploadFile' : 'Неможливо завантажити файл на FTP: "$1"', 'errFtpMkdir' : 'Неможливо створити віддалений каталог на FTP: "$1"', 'errArchiveExec' : 'Помилка при архівації файлів: "$1"', 'errExtractExec' : 'Помилка при розархівуванні файлів: "$1"', 'errNetUnMount' : 'Неможливо демонтувати', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Неможливо конвертувати в UTF - 8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Використовуйте Google Chrome, якщо ви хочете завантажити папку', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Час пошуку "$1" вийшов. Результат пошуку частковий', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Необхідна повторна авторизація.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Максимальна кількість об\'єктів що можна обрати складає $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Неможливо відновити зі смітника: неможливо визначити місце куди відновлювати.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Для цього типу файлів не знайдено редактора.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Помилка на боці сервера.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Неможливо спорожнити теку "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Є також ще $1 помилок.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Архівувати', 'cmdback' : 'Назад', 'cmdcopy' : 'Копівати', 'cmdcut' : 'Вирізати', 'cmddownload' : 'Завантажити', 'cmdduplicate' : 'Дублювати', 'cmdedit' : 'Редагувати файл', 'cmdextract' : 'Розпакувати файли з архіву', 'cmdforward' : 'Вперед', 'cmdgetfile' : 'Вибрати файли', 'cmdhelp' : 'Про програму', 'cmdhome' : 'Додому', 'cmdinfo' : 'Інформація', 'cmdmkdir' : 'Створити теку', 'cmdmkdirin' : 'До нової теки', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Створити файл', 'cmdopen' : 'Відкрити', 'cmdpaste' : 'Вставити', 'cmdquicklook' : 'Попередній перегляд', 'cmdreload' : 'Перечитати', 'cmdrename' : 'Перейменувати', 'cmdrm' : 'Вилучити', 'cmdtrash' : 'До смітника', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Відновити', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Шукати файли', 'cmdup' : 'На 1 рівень вгору', 'cmdupload' : 'Відвантажити файли', 'cmdview' : 'Перегляд', 'cmdresize' : 'Масштабувати зображення', 'cmdsort' : 'Сортування', 'cmdnetmount' : 'Змонтувати мережевий диск', // added 18.04.2012 'cmdnetunmount': 'Розмонтувати', // from v2.1 added 30.04.2012 'cmdplaces' : 'До Місць', // added 28.12.2014 'cmdchmod' : 'Змінити права', // from v2.1 added 20.6.2015 'cmdopendir' : 'Відкрии директорію', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Скинути ширину стовпчика', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Повний екран', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Пересунути', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Спорожнити теку', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Скасувати', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Відновити', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Налаштування', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Вибрати усі', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Зняти вибір', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Інвертувати вибір', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Відкрити у новому вікні', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Сховати (Налаштування)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Закрити', 'btnSave' : 'Зберегти', 'btnRm' : 'Вилучити', 'btnApply' : 'Застосувати', 'btnCancel' : 'Скасувати', 'btnNo' : 'Ні', 'btnYes' : 'Так', 'btnMount' : 'Підключити', // added 18.04.2012 'btnApprove': 'Перейти в $1 і прийняти', // from v2.1 added 26.04.2012 'btnUnmount': 'Відключити', // from v2.1 added 30.04.2012 'btnConv' : 'Конвертувати', // from v2.1 added 08.04.2014 'btnCwd' : 'Тут', // from v2.1 added 22.5.2015 'btnVolume' : 'Розділ', // from v2.1 added 22.5.2015 'btnAll' : 'Всі', // from v2.1 added 22.5.2015 'btnMime' : 'MIME тип', // from v2.1 added 22.5.2015 'btnFileName':'Назва файла', // from v2.1 added 22.5.2015 'btnSaveClose': 'Зберегти і вийти', // from v2.1 added 12.6.2015 'btnBackup' : 'Резервна копія', // fromv2.1 added 28.11.2015 'btnRename' : 'Перейменувати', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Перейменуваті(Усі)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Попер. ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Наступ. ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Зберегти як', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Відкрити теку', 'ntffile' : 'Відкрити файл', 'ntfreload' : 'Перечитати вміст теки', 'ntfmkdir' : 'Створення теки', 'ntfmkfile' : 'Створення файлів', 'ntfrm' : 'Вилучити файли', 'ntfcopy' : 'Копіювати файли', 'ntfmove' : 'Перенести файли', 'ntfprepare' : 'Підготовка до копіювання файлів', 'ntfrename' : 'Перейменувати файли', 'ntfupload' : 'Відвантажити файли', 'ntfdownload' : 'Завантажити файли', 'ntfsave' : 'Записати файли', 'ntfarchive' : 'Створення архіву', 'ntfextract' : 'Розпаковування архіву', 'ntfsearch' : 'Пошук файлів', 'ntfresize' : 'Зміна розміру світлини', 'ntfsmth' : 'Виконуємо', 'ntfloadimg' : 'Завантаження зображення', 'ntfnetmount' : 'Монтування мережевого диска', // added 18.04.2012 'ntfnetunmount': 'Розмонтування мережевого диска', // from v2.1 added 30.04.2012 'ntfdim' : 'Визначення розміру світлини', // added 20.05.2013 'ntfreaddir' : 'Читання інформації директорії', // from v2.1 added 01.07.2013 'ntfurl' : 'отримання URL посилання', // from v2.1 added 11.03.2014 'ntfchmod' : 'Зміна прав файлу', // from v2.1 added 20.6.2015 'ntfpreupload': 'Перевірка імені завантажуваного файла', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Створення файлу для завантаження', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Отримання інформації про шлях', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Обробка вивантаженого файлу', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Переміщуємо до смітника', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Відновлюємо зі смітника', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Перевіряємо теку призначення', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Скасування попередньої дії', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Повторення раніше скасованої дії', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Перевірка вмісту', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Смітник', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'невідомо', 'Today' : 'сьогодні', 'Yesterday' : 'вчора', 'msJan' : 'Січ', 'msFeb' : 'Лют', 'msMar' : 'Бер', 'msApr' : 'Кві', 'msMay' : 'Тра', 'msJun' : 'Чер', 'msJul' : 'Лип', 'msAug' : 'Сер', 'msSep' : 'Вер', 'msOct' : 'Жов', 'msNov' : 'Лис', 'msDec' : 'Гру', 'January' : 'січня', 'February' : 'лютого', 'March' : 'березня', 'April' : 'квітня', 'May' : 'травня', 'June' : 'червня', 'July' : 'липня', 'August' : 'серпня', 'September' : 'вересня', 'October' : 'жовтня', 'November' : 'листопада', 'December' : 'грудня', 'Sunday' : 'Неділя', 'Monday' : 'Понеділок', 'Tuesday' : 'Вівторок', 'Wednesday' : 'Середа', 'Thursday' : 'Четвер', 'Friday' : 'П’ятниця', 'Saturday' : 'Субота', 'Sun' : 'Нд', 'Mon' : 'Пн', 'Tue' : 'Вт', 'Wed' : 'Ср', 'Thu' : 'Чт', 'Fri' : 'Пт', 'Sat' : 'Сб', /******************************** sort variants ********************************/ 'sortname' : 'за назвою', 'sortkind' : 'за типом', 'sortsize' : 'за розміром', 'sortdate' : 'за датою', 'sortFoldersFirst' : 'Список тек', 'sortperm' : 'за дозволами', // from v2.1.13 added 13.06.2016 'sortmode' : 'за режимом', // from v2.1.13 added 13.06.2016 'sortowner' : 'за власником', // from v2.1.13 added 13.06.2016 'sortgroup' : 'за групою', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Також вигляд дерева', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'неназваний файл.txt', // added 10.11.2015 'untitled folder' : 'неназвана тека', // added 10.11.2015 'Archive' : 'НовийАрхів', // from v2.1 added 10.11.2015 'untitled file' : 'НовийФайл.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: Файл', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2 ', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Необхідне підтвердження', 'confirmRm' : 'Ви справді хочете вилучити файли?
                      Операція незворотня!', 'confirmRepl' : 'Замінити старий файл новим? (при наявності тек вони будуть об\'єднані. Для резервної копії та заміни оберіть Резервну Копію)', 'confirmRest' : 'Замінити існуючий об\'єкт об\'єктом зі смітника?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Не у UTF-8
                      Конвертувати у UTF-8?
                      Вміст стане у UTF-8 збереженням після конвертації.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Кодування символів цього файлу неможливо визначити. Потрібно тимчасово конвертувати його у UTF-8 для редагування.
                      Оберіть кодування цього файлу.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Було внесено зміни.
                      Якщо ії не зберегти, їх буде втрачено.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Ви точно бажаєте перемістити ці об\'єкти до смітника?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Ви точно бажаєте перемістити об\'єкти до "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Застосувати до всіх', 'name' : 'Назва', 'size' : 'Розмір', 'perms' : 'Доступи', 'modify' : 'Змінено', 'kind' : 'Тип', 'read' : 'читання', 'write' : 'запис', 'noaccess' : 'недоступно', 'and' : 'і', 'unknown' : 'невідомо', 'selectall' : 'Вибрати всі файли', 'selectfiles' : 'Вибрати файл(и)', 'selectffile' : 'Вибрати перший файл', 'selectlfile' : 'Вибрати останній файл', 'viewlist' : 'Списком', 'viewicons' : 'Значками', 'viewSmall' : 'Маленькі значки', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Середні значки', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Великі значки', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Дуже великі значки', // from v2.1.39 added 22.5.2018 'places' : 'Розташування', 'calc' : 'Вирахувати', 'path' : 'Шлях', 'aliasfor' : 'Аліас для', 'locked' : 'Заблоковано', 'dim' : 'Розміри', 'files' : 'Файли', 'folders' : 'теки', 'items' : 'Елементи', 'yes' : 'так', 'no' : 'ні', 'link' : 'Посилання', 'searcresult' : 'Результати пошуку', 'selected' : 'Вибрані елементи', 'about' : 'Про', 'shortcuts' : 'Ярлики', 'help' : 'Допомога', 'webfm' : 'Web-менеджер файлів', 'ver' : 'Версія', 'protocolver' : 'версія протоколу', 'homepage' : 'Сторінка проекту', 'docs' : 'Документація', 'github' : 'Fork us on Github', 'twitter' : 'Слідкуйте у Твітері', 'facebook' : 'Приєднуйтесь у фейсбуці', 'team' : 'Автори', 'chiefdev' : 'головний розробник', 'developer' : 'розробник', 'contributor' : 'учасник', 'maintainer' : 'супроводжувач', 'translator' : 'перекладач', 'icons' : 'Значки', 'dontforget' : 'і не забудьте рушничок', 'shortcutsof' : 'Створення посилань вимкнено', 'dropFiles' : 'Кидайте файли сюди', 'or' : 'або', 'selectForUpload' : 'Виберіть файли для відвантаження', 'moveFiles' : 'Перемістити файли', 'copyFiles' : 'Копіювати файли', 'restoreFiles' : 'Відновити об\'єкти', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Вилучити з розташувань', 'aspectRatio' : 'Співвідношення', 'scale' : 'Масштаб', 'width' : 'Ширина', 'height' : 'Висота', 'resize' : 'Змінити розмір', 'crop' : 'Обрізати', 'rotate' : 'Повернути', 'rotate-cw' : 'Повернути на 90 градусів за год. стр.', 'rotate-ccw' : 'Повернути на 90 градусів проти год. стр.', 'degree' : 'Градус', 'netMountDialogTitle' : 'Змонтувати носій у мережі', // added 18.04.2012 'protocol' : 'версія протоколу', // added 18.04.2012 'host' : 'Хост', // added 18.04.2012 'port' : 'Порт', // added 18.04.2012 'user' : 'Логін', // added 18.04.2012 'pass' : 'Пароль', // added 18.04.2012 'confirmUnmount' : 'Ви відмонтовуєте $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Перетягніть або вставте файли з оглядача', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Перетягніть файли, Вставте URL або світлини (з буфера обміну) сюди', // from v2.1 added 07.04.2014 'encoding' : 'Кодування', // from v2.1 added 19.12.2014 'locale' : 'Локаль', // from v2.1 added 19.12.2014 'searchTarget' : 'Призначення: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Пошук за введеним типом MIME', // from v2.1 added 22.5.2015 'owner' : 'Власник', // from v2.1 added 20.6.2015 'group' : 'Група', // from v2.1 added 20.6.2015 'other' : 'Інші', // from v2.1 added 20.6.2015 'execute' : 'Виконання', // from v2.1 added 20.6.2015 'perm' : 'Дозвіл', // from v2.1 added 20.6.2015 'mode' : 'Режим', // from v2.1 added 20.6.2015 'emptyFolder' : 'Тека порожня', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Тека порожня\\A Перетягніть об\'єкти для додавання', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Тека порожня\\A Для додавання об\'єктів торкніть та утримуйте', // from v2.1.6 added 30.12.2015 'quality' : 'Якість', // from v2.1.6 added 5.1.2016 'autoSync' : 'Авто синх.', // from v2.1.6 added 10.1.2016 'moveUp' : 'Пересунути вгору', // from v2.1.6 added 18.1.2016 'getLink' : 'Отримати URL', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Обрані об\'єкти ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID теки', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Дозволити доступ офлайн', // from v2.1.10 added 3.25.2016 'reAuth' : 'Для реаутентифікації', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Зараз завантажуємо...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Відкрити декілька файлів', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Ви намагаєтесь відкрити $1 файлів. Ви впевнені що хочете відкрити ії у оглядачі?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Пошук не дав результатів у обраному місці.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Редагує файл.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Ви обрали $1 об\'єктів.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'У вас є $1 об\'єктів у буфері обміну.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Інкрементний пошук є тільки для поточного перегляду.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Відновити', // from v2.1.15 added 3.8.2016 'complete' : '$1 виконано', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Контекстне меню', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Обертання сторінки', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Кореневі теки носіїв', // from v2.1.16 added 16.9.2016 'reset' : 'Обнулити', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Колір фону', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Обрати колір', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'сітка 8px', // from v2.1.16 added 4.10.2016 'enabled' : 'Увімкнено', // from v2.1.16 added 4.10.2016 'disabled' : 'Вимкнено', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Результати пошуку у поточному перегляді відсутні.\\AНатисніть [Enter] для розширення критеріїв пошуку.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Результати пошуку за першою літерою відсутні у поточному перегляді.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Текстова мітка', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 хв. залишилось', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Відкрити знову з обраним кодуванням', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Зберегти з обраним кодуванням', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Обрати теку', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Пошук за першою літерою', // from v2.1.23 added 24.3.2017 'presets' : 'Шаблони', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Дуже багато об\'єктів для переміщення у смітник.', // from v2.1.25 added 9.6.2017 'TextArea' : 'ТекстовеПоле', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Спорожнити теку "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Тека "$1" порожня.', // from v2.1.25 added 22.6.2017 'preference' : 'Налаштування', // from v2.1.26 added 28.6.2017 'language' : 'Мова', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Ініціювати налаштування збережені у цьому оглядачі', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Налаштування лотку інструментів', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 символів залишилось.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 рядків залишилось.', // from v2.1.52 added 16.1.2020 'sum' : 'Сума', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Приблизний розмір файу', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Фокусувати елемент діалога при наведенні курсора миші', // from v2.1.30 added 2.11.2017 'select' : 'Обрати', // from v2.1.30 added 23.11.2017 'selectAction' : 'Дія при виборі файла', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Відкрити редактором, що використовувався крайній раз.', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Інвертувати вибір', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Ви точно хочете перейменувати $1 обраних об\'єктів на кшталт $2?
                      Це незворотна дія!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Пакетне перейменування', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Число', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Додати префікс', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Додати суфікс', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Змінити розширення', // from v2.1.31 added 8.12.2017 'columnPref' : 'Налаштування стовпчиків (вигляд списку)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Усі зміни будуть негайно застосовані у архіві.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Деякі зміни не буде видно до розмонтування носія.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'Наступний(і) носій(ї) на цьому носії також не змонтовані. Ви точно хочете відмонтувати носій?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Інформація про обране', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Алгоритми для показу хешу файла', // from v2.1.33 added 10.3.2018 'infoItems' : 'Інформаційні об\'єкти (Панель інформації про обране)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Натисніть знову для виходу.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Панель інструментів', // from v2.1.38 added 4.4.2018 'workspace' : 'Робочий простір', // from v2.1.38 added 4.4.2018 'dialog' : 'Діалог', // from v2.1.38 added 4.4.2018 'all' : 'Усі', // from v2.1.38 added 4.4.2018 'iconSize' : 'Розмір значків (вигляд значків)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Відкрити розгорнуте вікно редактора', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Через неможливість конвертування API, сконвертуйте на вебсайті.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Після конвертування вам треба завантажити за допомогою URL або збереженого файу, для збереження конвертованого файлу.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Конвертувати сайт з $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Інтеграції', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Цей elFinder має наступні інтегровані сервіси. Перевірте умови використання, політику приватності та інше перед використанням.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Показати приховані об\'єкти', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Сховати приховані об\'єкти', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Показати/Сховати приховані о\'єкти', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Типи файлів, які можна створювати', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Тип текстового файлу', // from v2.1.41 added 7.8.2018 'add' : 'Додати', // from v2.1.41 added 7.8.2018 'theme' : 'Тема', // from v2.1.43 added 19.10.2018 'default' : 'Як зазвичай', // from v2.1.43 added 19.10.2018 'description' : 'Опис', // from v2.1.43 added 19.10.2018 'website' : 'Веб-сайт', // from v2.1.43 added 19.10.2018 'author' : 'Автор', // from v2.1.43 added 19.10.2018 'email' : 'E-mail', // from v2.1.43 added 19.10.2018 'license' : 'Ліцензія', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Об\'єкт неможливо зберегти. Щоб уникнути втрати правок вам треба експортувати ії до себе у пристрій.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Двічі клацніть файл для вибору.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Використовувати повноекранний режим', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Невідомо', 'kindRoot' : 'Коренева тека носія', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Папка', 'kindSelects' : 'Вибір', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Аліас', 'kindAliasBroken' : 'Пошкоджений аліас', // applications 'kindApp' : 'Програма', 'kindPostscript' : 'Документ Postscript', 'kindMsOffice' : 'Документ Microsoft Office', 'kindMsWord' : 'Документ Microsoft Word', 'kindMsExcel' : 'Документ Microsoft Excel', 'kindMsPP' : 'Презентація Microsoft Powerpoint', 'kindOO' : 'Документ Open Office', 'kindAppFlash' : 'Flash-додаток', 'kindPDF' : 'Портативний формат документів (PDF)', 'kindTorrent' : 'Файл Bittorrent', 'kind7z' : 'Архів 7z', 'kindTAR' : 'Архів TAR', 'kindGZIP' : 'Архів GZIP', 'kindBZIP' : 'Архів BZIP', 'kindXZ' : 'Архів XZ', 'kindZIP' : 'Архів ZIP', 'kindRAR' : 'Архів RAR', 'kindJAR' : 'Файл Java JAR', 'kindTTF' : 'Шрифт True Type', 'kindOTF' : 'Шрифт Open Type', 'kindRPM' : 'Пакунок RPM', // texts 'kindText' : 'Текстовий документ', 'kindTextPlain' : 'Простий текст', 'kindPHP' : 'Код PHP', 'kindCSS' : 'Каскадна таблиця стилів (CSS)', 'kindHTML' : 'Документ HTML', 'kindJS' : 'Код Javascript', 'kindRTF' : 'Файл RTF', 'kindC' : 'Код C', 'kindCHeader' : 'Заголовковий код C', 'kindCPP' : 'Код C++', 'kindCPPHeader' : 'Заголовковий код C++', 'kindShell' : 'Скрипт Unix shell', 'kindPython' : 'Код Python', 'kindJava' : 'Код Java', 'kindRuby' : 'Код Ruby', 'kindPerl' : 'Код Perl', 'kindSQL' : 'Код SQL', 'kindXML' : 'Документ XML', 'kindAWK' : 'Код AWK', 'kindCSV' : 'Значення розділені комою (CSV)', 'kindDOCBOOK' : 'Документ Docbook XML', 'kindMarkdown' : 'Текст Markdown', // added 20.7.2015 // images 'kindImage' : 'Зображення', 'kindBMP' : 'Зображення BMP', 'kindJPEG' : 'Зображення JPEG', 'kindGIF' : 'Зображення GIF', 'kindPNG' : 'Зображення PNG', 'kindTIFF' : 'Зображення TIFF', 'kindTGA' : 'Зображення TGA', 'kindPSD' : 'Зображення Adobe Photoshop', 'kindXBITMAP' : 'Зображення X bitmap', 'kindPXM' : 'Зображення Pixelmator', // media 'kindAudio' : 'Аудіо', 'kindAudioMPEG' : 'Аудіо MPEG', 'kindAudioMPEG4' : 'Аудіо MPEG-4', 'kindAudioMIDI' : 'Аудіо MIDI', 'kindAudioOGG' : 'Аудіо Ogg Vorbis', 'kindAudioWAV' : 'Аудіо WAV', 'AudioPlaylist' : 'Список відтворення MP3', 'kindVideo' : 'Відео', 'kindVideoDV' : 'Відео DV', 'kindVideoMPEG' : 'Відео MPEG', 'kindVideoMPEG4' : 'Відео MPEG-4', 'kindVideoAVI' : 'Відео AVI', 'kindVideoMOV' : 'Відео Quick Time', 'kindVideoWM' : 'Відео Windows Media', 'kindVideoFlash' : 'Відео Flash', 'kindVideoMKV' : 'Відео Matroska', 'kindVideoOGG' : 'Відео Ogg' } }; })); wp-file-manager/lib/js/i18n/elfinder.vi.js000064400000104626151202472330014233 0ustar00/** * Ngôn ngữ Việt Nam translation * @author Chung Thủy f * @author Son Nguyen * @author Nguyễn Trần Chung * @version 2019-12-03 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.vi = { translator : 'Chung Thủy f <chungthuyf@gmail.com>, Son Nguyen <son.nguyen@catalyst.net.nz>, Nguyễn Trần Chung <admin@chungnguyen.xyz>', language : 'Ngôn ngữ Việt Nam', direction : 'ltr', dateFormat : 'd.m.Y H:i', // will show like: 03.12.2019 17:28 fancyDateFormat : '$1 H:i', // will show like: Hôm nay 17:28 nonameDateFormat : 'ymd-His', // noname upload will show like: 191203-172820 messages : { /********************************** errors **********************************/ 'error' : 'Lỗi', 'errUnknown' : 'Lỗi không xác định được.', 'errUnknownCmd' : 'Lỗi không rõ lệnh.', 'errJqui' : 'Cấu hình jQueryUI không hợp lệ. Các thành phần lựa chọn, kéo và thả phải được bao gồm.', 'errNode' : 'elFinder đòi hỏi phần tử DOM phải được tạo ra.', 'errURL' : 'Cấu hình elFinder không hợp lệ! URL không được thiết lập tùy chọn.', 'errAccess' : 'Truy cập bị từ chối.', 'errConnect' : 'Không thể kết nối với backend.', 'errAbort' : 'Kết nối bị hủy bỏ.', 'errTimeout' : 'Thời gian chờ kết nối đã hết.', 'errNotFound' : 'Backend không tìm thấy.', 'errResponse' : 'Phản hồi backend không hợp lệ.', 'errConf' : 'Cấu hình backend không hợp lệ.', 'errJSON' : 'Mô-đun PHP JSON không được cài đặt.', 'errNoVolumes' : 'Tập có thể đọc không có sẵn.', 'errCmdParams' : 'Thông số không hợp lệ cho lệnh "$1".', 'errDataNotJSON' : 'Dữ liệu không phải là JSON.', 'errDataEmpty' : 'Dữ liệu trống.', 'errCmdReq' : 'Backend đòi hỏi tên lệnh.', 'errOpen' : 'Không thể mở "$1".', 'errNotFolder' : 'Đối tượng không phải là một thư mục.', 'errNotFile' : 'Đối tượng không phải là một tập tin.', 'errRead' : 'Không thể đọc "$1".', 'errWrite' : 'Không thể ghi vào "$1".', 'errPerm' : 'Quyền bị từ chối.', 'errLocked' : '"$1" đã bị khóa và không thể đổi tên, di chuyển hoặc loại bỏ.', 'errExists' : 'Tập tin có tên "$1" đã tồn tại.', 'errInvName' : 'Tên tập tin không hợp lệ.', 'errInvDirname' : 'Tên thư mục không hợp lệ.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Thư mục không tìm thấy.', 'errFileNotFound' : 'Tập tin không tìm thấy.', 'errTrgFolderNotFound' : 'Thư mục đích "$1" không được tìm thấy.', 'errPopup' : 'Trình duyệt ngăn chặn mở cửa sổ popup.', 'errMkdir' : 'Không thể tạo thư mục "$1".', 'errMkfile' : 'Không thể tạo tập tin "$1".', 'errRename' : 'Không thể đổi tên "$1".', 'errCopyFrom' : 'Sao chép tập tin từ tập "$1" không được phép.', 'errCopyTo' : 'Sao chép tập tin tới tập "$1" không được phép.', 'errMkOutLink' : 'Không thể tạo liên kết ra bên ngoài volume root.', // from v2.1 added 03.10.2015 'errUpload' : 'Tải lên báo lỗi.', // old name - errUploadCommon 'errUploadFile' : 'Không thể tải lên "$1".', // old name - errUpload 'errUploadNoFiles' : 'Không thấy tập tin nào để tải lên.', 'errUploadTotalSize' : 'Dữ liệu vượt quá kích thước tối đa cho phép.', // old name - errMaxSize 'errUploadFileSize' : 'Tập tin vượt quá kích thước tối đa cho phép.', // old name - errFileMaxSize 'errUploadMime' : 'Kiểu tập tin không được phép.', 'errUploadTransfer' : 'Lỗi khi truyền "$1".', 'errUploadTemp' : 'Không thể tạo thư mục tạm để tải lên.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Đối tượng "$1" đã tồn tại ở vị trí này và không thể thay thế bằng đối tượng với loại khác.', // new 'errReplace' : 'Không thể thay thế "$1".', 'errSave' : 'Không thể lưu "$1".', 'errCopy' : 'Không thể sao chép "$1".', 'errMove' : 'Không thể chuyển "$1".', 'errCopyInItself' : 'Không thể sao chép "$1" vào chính nó.', 'errRm' : 'Không thể xóa "$1".', 'errTrash' : 'Không thể cho vào thùng rác.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Không thể xóa tệp nguồn.', 'errExtract' : 'Không thể giải nén các tập tin từ"$1".', 'errArchive' : 'Không thể tạo ra lưu trữ.', 'errArcType' : 'Loại lưu trữ không được hỗ trợ.', 'errNoArchive' : 'Tập tin không phải là lưu trữ hoặc có kiểu lưu trữ không được hỗ trợ.', 'errCmdNoSupport' : 'Backend không hỗ trợ lệnh này.', 'errReplByChild' : 'Thư mục "$1" không thể được thay thế bằng một mục con mà nó chứa.', 'errArcSymlinks' : 'Vì lý do bảo mật, từ chối giải nén tập tin lưu trữ có chứa liên kết mềm.', // edited 24.06.2012 'errArcMaxSize' : 'Tập tin lưu trữ vượt quá kích thước tối đa cho phép.', 'errResize' : 'Không thể thay đổi kích thước "$1".', 'errResizeDegree' : 'Độ xoay không hợp lệ.', // added 7.3.2013 'errResizeRotate' : 'Không thể xoay hình ảnh.', // added 7.3.2013 'errResizeSize' : 'Kích thước hình ảnh không hợp lệ.', // added 7.3.2013 'errResizeNoChange' : 'Kích thước hình ảnh không thay đổi.', // added 7.3.2013 'errUsupportType' : 'Loại tập tin không được hỗ trợ.', 'errNotUTF8Content' : 'Tệp "$1" không phải bộ ký tự UTF-8 nên không thể chỉnh sửa.', // added 9.11.2011 'errNetMount' : 'Không thể gắn kết "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Giao thức không được hỗ trợ.', // added 17.04.2012 'errNetMountFailed' : 'Gắn (kết nối) thất bại.', // added 17.04.2012 'errNetMountHostReq' : 'Yêu cầu máy chủ.', // added 18.04.2012 'errSessionExpires' : 'Phiên của bạn đã hết hạn do không hoạt động.', 'errCreatingTempDir' : 'Không thể tạo thư mục tạm thời: "$1"', 'errFtpDownloadFile' : 'Không thể tải xuống tệp từ FTP: "$1"', 'errFtpUploadFile' : 'Không thể tải tệp lên FTP: "$1"', 'errFtpMkdir' : 'Không thể tạo thư mục từ xa trên FTP: "$1"', 'errArchiveExec' : 'Lỗi trong khi lưu trữ tệp: "$1"', 'errExtractExec' : 'Lỗi trong khi giải nén tập tin: "$1"', 'errNetUnMount' : 'Không thể gỡ gắn (liên kết).', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Không thể chuyển đổi thành UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Hãy thử trình duyệt mới hơn (vì trình duyệt hiện tại có vẻ cũ nên không hỗ trợ tải lên thư mục).', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Đã hết thời gian trong khi tìm kiếm "$1". Kết quả tìm kiếm là một phần.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Cần ủy quyền lại.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Số lượng tối đa của các mục có thể chọn là $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Không thể khôi phục từ thùng rác. Không thể xác định đích khôi phục.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Không tìm thấy trình chỉnh sửa cho loại tệp này.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Lỗi xảy ra ở phía máy chủ.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Không thể làm rỗng thư mục "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Có thêm $1 lỗi.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Tạo tập tin nén', 'cmdback' : 'Trở lại', 'cmdcopy' : 'Sao chép', 'cmdcut' : 'Cắt', 'cmddownload' : 'Tải về', 'cmdduplicate' : 'Bản sao', 'cmdedit' : 'Sửa tập tin', 'cmdextract' : 'Giải nén tập tin', 'cmdforward' : 'Trước', 'cmdgetfile' : 'Chọn tập tin', 'cmdhelp' : 'Giới thiệu phần mềm', 'cmdhome' : 'Home', 'cmdinfo' : 'Thông tin', 'cmdmkdir' : 'Thư mục', 'cmdmkdirin' : 'Vào thư mục mới', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Tạo tập tin Text', 'cmdopen' : 'Mở', 'cmdpaste' : 'Dán', 'cmdquicklook' : 'Xem trước', 'cmdreload' : 'Nạp lại', 'cmdrename' : 'Đổi tên', 'cmdrm' : 'Xóa', 'cmdtrash' : 'Vào thùng rác', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Khôi phục', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Tìm tập tin', 'cmdup' : 'Go to parent directory', 'cmdupload' : 'Tải tập tin lên', 'cmdview' : 'Xem', 'cmdresize' : 'Thay đổi kích thước và xoay', 'cmdsort' : 'Sắp xếp', 'cmdnetmount' : 'Mount network volume', // added 18.04.2012 'cmdnetunmount': 'Gỡ mount', // from v2.1 added 30.04.2012 'cmdplaces' : 'To Places', // added 28.12.2014 'cmdchmod' : 'Thay đổi chế độ', // from v2.1 added 20.6.2015 'cmdopendir' : 'Mở một thư mục', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Đặt lại chiều rộng cột', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Toàn màn hình', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Di chuyển', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Làm rỗng thư mục', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Hủy bỏ (hoàn tác)', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Làm lại', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferences', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Chọn tất cả', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Không chọn gì', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Chọn ngược lại', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Mở trong cửa sổ mới', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Ẩn (Preference)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Đóng', 'btnSave' : 'Lưu', 'btnRm' : 'Gỡ bỏ', 'btnApply' : 'Áp dụng', 'btnCancel' : 'Hủy bỏ', 'btnNo' : 'Không', 'btnYes' : 'Đồng ý', 'btnMount' : 'Mount', // added 18.04.2012 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Convert', // from v2.1 added 08.04.2014 'btnCwd' : 'Here', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'All', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015 'btnFileName':'Filename', // from v2.1 added 22.5.2015 'btnSaveClose': 'Save & Close', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Rename', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Rename(All)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Prev ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Next ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Save As', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Mở thư mục', 'ntffile' : 'Mở tập tin', 'ntfreload' : 'Nạp lại nội dung thư mục', 'ntfmkdir' : 'Tạo thư mục', 'ntfmkfile' : 'Tạo tập tin', 'ntfrm' : 'Xóa tập tin', 'ntfcopy' : 'Sao chép tập tin', 'ntfmove' : 'Di chuyển tập tin', 'ntfprepare' : 'Chuẩn bị để sao chép các tập tin', 'ntfrename' : 'Đổi tên tập tin', 'ntfupload' : 'Tải tập tin lên', 'ntfdownload' : 'Tải tập tin', 'ntfsave' : 'Lưu tập tin', 'ntfarchive' : 'Tạo tập tin nén', 'ntfextract' : 'Giải nén tập tin', 'ntfsearch' : 'Tìm kiếm tập tin', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Doing something >_<', 'ntfloadimg' : 'Đang tải hình ảnh', 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013 'ntfreaddir' : 'Reading folder infomation', // from v2.1 added 01.07.2013 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Changing file mode', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Getting path infomation', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Processing the uploaded file', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Doing throw in the trash', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Doing restore from the trash', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Checking destination folder', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Undoing previous operation', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Redoing previous undone', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Checking contents', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Trash', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'Chưa biết', 'Today' : 'Hôm nay', 'Yesterday' : 'Hôm qua', 'msJan' : 'Tháng 1', 'msFeb' : 'Tháng 2', 'msMar' : 'Tháng 3', 'msApr' : 'Tháng 4', 'msMay' : 'Tháng 5', 'msJun' : 'Tháng 6', 'msJul' : 'Tháng 7', 'msAug' : 'Tháng 8', 'msSep' : 'Tháng 9', 'msOct' : 'Tháng 10', 'msNov' : 'Tháng 11', 'msDec' : 'Tháng 12', 'January' : 'Tháng 1', 'February' : 'Tháng 2', 'March' : 'Tháng 3', 'April' : 'Tháng 4', 'May' : 'Tháng 5', 'June' : 'Tháng 6', 'July' : 'Tháng 7', 'August' : 'Tháng 8', 'September' : 'Tháng 9', 'October' : 'Tháng 10', 'November' : 'Tháng 11', 'December' : 'Tháng 12', 'Sunday' : 'Chủ nhật', 'Monday' : 'Thứ 2', 'Tuesday' : 'Thứ 3', 'Wednesday' : 'Thứ 4', 'Thursday' : 'Thứ 5', 'Friday' : 'Thứ 6', 'Saturday' : 'Thứ 7', 'Sun' : 'Chủ nhật', 'Mon' : 'Thứ 2', 'Tue' : 'Thứ 3', 'Wed' : 'Thứ 4', 'Thu' : 'Thứ 5', 'Fri' : 'Thứ 6', 'Sat' : 'Thứ 7', /******************************** sort variants ********************************/ 'sortname' : 'theo tên', 'sortkind' : 'theo loại', 'sortsize' : 'theo kích cỡ', 'sortdate' : 'theo ngày', 'sortFoldersFirst' : 'Thư mục đầu tiên', 'sortperm' : 'theo quyền hạn', // from v2.1.13 added 13.06.2016 'sortmode' : 'theo chế độ', // from v2.1.13 added 13.06.2016 'sortowner' : 'theo người tạo', // from v2.1.13 added 13.06.2016 'sortgroup' : 'theo nhóm', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015 'untitled folder' : 'NewFolder', // added 10.11.2015 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015 'untitled file' : 'NewFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: File', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Yêu cầu xác nhận', 'confirmRm' : 'Bạn có chắc chắn muốn xóa vĩnh viễn các mục?
                      Điều này không thể được hoàn tác!', 'confirmRepl' : 'Thay tập tin cũ bằng tập tin mới? (Nếu nó chứa các thư mục, nó sẽ được hợp nhất. Để sao lưu và thay thế, chọn Sao lưu.)', 'confirmRest' : 'Thay thế mục hiện có bằng một mục trong thùng rác?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Not in UTF-8
                      Convert to UTF-8?
                      Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Character encoding of this file couldn\'t be detected. It need to temporarily convert to UTF-8 for editting.
                      Please select character encoding of this file.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'It has been modified.
                      Losing work if you do not save changes.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Bạn có chắc chắn muốn chuyển các mục vào thùng rác?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Bạn có chắc chắn muốn chuyển các mục vào "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Áp dụng cho tất cả', 'name' : 'Tên', 'size' : 'Kích cỡ', 'perms' : 'Quyền', 'modify' : 'Sửa đổi', 'kind' : 'Loại', 'read' : 'đọc', 'write' : 'viết', 'noaccess' : 'không truy cập', 'and' : 'và', 'unknown' : 'không xác định', 'selectall' : 'Chọn tất cả các mục', 'selectfiles' : 'Chọn các mục', 'selectffile' : 'Chọn mục đầu tiên', 'selectlfile' : 'Chọn mục cuối cùng', 'viewlist' : 'Hiển thị danh sách', 'viewicons' : 'Hiển thị biểu tượng', 'viewSmall' : 'Biểu tượng nhỏ', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Biểu tượng vừa', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Biểu tượng lớn', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Biểu tượng cực lớn', // from v2.1.39 added 22.5.2018 'places' : 'Places', 'calc' : 'Tính toán', 'path' : 'Đường dẫn', 'aliasfor' : 'Bí danh cho', 'locked' : 'Đã khóa', 'dim' : 'Kích thước', 'files' : 'Tệp', 'folders' : 'Thư mục', 'items' : 'Items', 'yes' : 'yes', 'no' : 'no', 'link' : 'Liên kết', 'searcresult' : 'Kết quả tìm kiếm', 'selected' : 'mục đã chọn', 'about' : 'Về', 'shortcuts' : 'Lối tắt', 'help' : 'Giúp đỡ', 'webfm' : 'Web file manager', 'ver' : 'Phiên bản', 'protocolver' : 'phiên bản protocol', 'homepage' : 'Trang chủ dự án', 'docs' : 'Tài liệu', 'github' : 'Theo dõi chúng tôi trên GitHub', 'twitter' : 'Theo dõi chúng tôi trên Twitter', 'facebook' : 'Theo dõi chúng tôi trên Facebook', 'team' : 'Đội ngũ', 'chiefdev' : 'Trùm sò', 'developer' : 'người phát triển', 'contributor' : 'người đóng góp', 'maintainer' : 'người bảo trì', 'translator' : 'người dịch', 'icons' : 'Icons', 'dontforget' : 'and don\'t forget to take your towel', 'shortcutsof' : 'Shortcuts disabled', 'dropFiles' : 'Thả tệp vào đây', 'or' : 'hoặc', 'selectForUpload' : 'Chọn tệp', 'moveFiles' : 'Di chuyển các mục', 'copyFiles' : 'Sao chép các mục', 'restoreFiles' : 'Khôi mục các mục', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Remove from places', 'aspectRatio' : 'Tỉ lệ khung hình', 'scale' : 'Tỉ lệ', 'width' : 'Rộng', 'height' : 'Cao', 'resize' : 'Thay đổi kích cỡ', 'crop' : 'Cắt', 'rotate' : 'Xoay', 'rotate-cw' : 'Xoay 90 độ CW', 'rotate-ccw' : 'Xoay 90 độ CCW', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'User', // added 18.04.2012 'pass' : 'Password', // added 18.04.2012 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Drop files, Paste URLs or images(clipboard) here', // from v2.1 added 07.04.2014 'encoding' : 'Mã hóa', // from v2.1 added 19.12.2014 'locale' : 'Địa phương', // from v2.1 added 19.12.2014 'searchTarget' : 'Mục tiêu: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Tìm kiếm theo kiểu tệp (MIME)', // from v2.1 added 22.5.2015 'owner' : 'Chủ sở hữu', // from v2.1 added 20.6.2015 'group' : 'Nhóm', // from v2.1 added 20.6.2015 'other' : 'Khác', // from v2.1 added 20.6.2015 'execute' : 'Thực thi', // from v2.1 added 20.6.2015 'perm' : 'Quyền', // from v2.1 added 20.6.2015 'mode' : 'Chế độ', // from v2.1 added 20.6.2015 'emptyFolder' : 'Thư mục trống', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Thư mục trống\\A Kéo thả vào đây để thêm các mục', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Thư mục trống\\A Nhấn giữ để thêm các mục', // from v2.1.6 added 30.12.2015 'quality' : 'Chất lượng', // from v2.1.6 added 5.1.2016 'autoSync' : 'Tự động động bộ', // from v2.1.6 added 10.1.2016 'moveUp' : 'Di chuyển lên', // from v2.1.6 added 18.1.2016 'getLink' : 'Lấy liên kết URL', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Các mục đã chọn ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID thư mục', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Cho phép truy cập ngoại tuyến', // from v2.1.10 added 3.25.2016 'reAuth' : 'Xác thực lại', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Đang tải...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Mở nhiều tập tin', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'You are trying to open the $1 files. Are you sure you want to open in browser?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Kết quả tìm kiếm trống trong mục tiêu tìm kiếm.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Nó là một tập tin đang chỉnh sửa.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'You have selected $1 items.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Tìm kiếm gia tăng chỉ từ hiển thị hiện tại.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Phục hồi', // from v2.1.15 added 3.8.2016 'complete' : '$1 hoàn thành', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Trình đơn ngữ cảnh', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Chuyển trang', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016 'reset' : 'Đặt lại', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Màu nền', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Chọn màu', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016 'enabled' : 'Đã bật', // from v2.1.16 added 4.10.2016 'disabled' : 'Đã tắt', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Search results is empty in current view.\\APress [Enter] to expand search target.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Kết quả tìm kiếm thư đầu tiên là trống trong chế độ xem hiện tại.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Nhãn văn bản', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 mins left', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reopen with selected encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Save with the selected encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Chọn thư mục', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'First letter search', // from v2.1.23 added 24.3.2017 'presets' : 'Đặt trước', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'Có quá nhiều mục vì vậy không thể cho vào thùng rác.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Empty the folder "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'There are no items in a folder "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preference', // from v2.1.26 added 28.6.2017 'language' : 'Ngôn ngữ', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialize the settings saved in this browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Cài đặt thanh công cụ', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 chars left.', // from v2.1.29 added 30.8.2017 'sum' : 'Sum', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Rough file size', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focus on the element of dialog with mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Select', // from v2.1.30 added 23.11.2017 'selectAction' : 'Action when select file', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Open with the editor used last time', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Invert selection', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Are you sure you want to rename $1 selected items like $2?
                      This cannot be undone!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch rename', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Number', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Thêm tiền tố', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Thêm hậu tố', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Thay đổi phần mở rộng', // from v2.1.31 added 8.12.2017 'columnPref' : 'Columns settings (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'All changes will reflect immediately to the archive.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Any changes will not reflect until un-mount this volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'The following volume(s) mounted on this volume also unmounted. Are you sure to unmount it?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Selection Info', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorithms to show the file hash', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info Items (Selection Info Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Nhấn một lần nữa để thoát.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Toolbar', // from v2.1.38 added 4.4.2018 'workspace' : 'Work Space', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'All', // from v2.1.38 added 4.4.2018 'iconSize' : 'Icon Size (Icons view)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Open the maximized editor window', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Because conversion by API is not currently available, please convert on the website.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'After conversion, you must be upload with the item URL or a downloaded file to save the converted file.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Convert on the site of $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrations', // from v2.1.40 added 11.7.2018 'integrationWith' : 'This elFinder has the following external services integrated. Please check the terms of use, privacy policy, etc. before using it.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Show hidden items', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Hide hidden items', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Show/Hide hidden items', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'File types to enable with "New file"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type of the Text file', // from v2.1.41 added 7.8.2018 'add' : 'Add', // from v2.1.41 added 7.8.2018 'theme' : 'Theme', // from v2.1.43 added 19.10.2018 'default' : 'Default', // from v2.1.43 added 19.10.2018 'description' : 'Description', // from v2.1.43 added 19.10.2018 'website' : 'Website', // from v2.1.43 added 19.10.2018 'author' : 'Author', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'License', // from v2.1.43 added 19.10.2018 'exportToSave' : 'This item can\'t be saved. To avoid losing the edits you need to export to your PC.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Double click on the file to select it.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Use fullscreen mode', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Unknown', 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Folder', 'kindSelects' : 'Selections', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Broken alias', // applications 'kindApp' : 'Application', 'kindPostscript' : 'Postscript document', 'kindMsOffice' : 'Microsoft Office document', 'kindMsWord' : 'Microsoft Word document', 'kindMsExcel' : 'Microsoft Excel document', 'kindMsPP' : 'Microsoft Powerpoint presentation', 'kindOO' : 'Open Office document', 'kindAppFlash' : 'Flash application', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent file', 'kind7z' : '7z archive', 'kindTAR' : 'TAR archive', 'kindGZIP' : 'GZIP archive', 'kindBZIP' : 'BZIP archive', 'kindXZ' : 'XZ archive', 'kindZIP' : 'ZIP archive', 'kindRAR' : 'RAR archive', 'kindJAR' : 'Java JAR file', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM package', // texts 'kindText' : 'Text document', 'kindTextPlain' : 'Plain text', 'kindPHP' : 'PHP source', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML document', 'kindJS' : 'Javascript source', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C source', 'kindCHeader' : 'C header source', 'kindCPP' : 'C++ source', 'kindCPPHeader' : 'C++ header source', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python source', 'kindJava' : 'Java source', 'kindRuby' : 'Ruby source', 'kindPerl' : 'Perl script', 'kindSQL' : 'SQL source', 'kindXML' : 'XML document', 'kindAWK' : 'AWK source', 'kindCSV' : 'Comma separated values', 'kindDOCBOOK' : 'Docbook XML document', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Image', 'kindBMP' : 'BMP image', 'kindJPEG' : 'JPEG image', 'kindGIF' : 'GIF Image', 'kindPNG' : 'PNG Image', 'kindTIFF' : 'TIFF image', 'kindTGA' : 'TGA image', 'kindPSD' : 'Adobe Photoshop image', 'kindXBITMAP' : 'X bitmap image', 'kindPXM' : 'Pixelmator image', // media 'kindAudio' : 'Audio media', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video media', 'kindVideoDV' : 'DV movie', 'kindVideoMPEG' : 'MPEG movie', 'kindVideoMPEG4' : 'MPEG-4 movie', 'kindVideoAVI' : 'AVI movie', 'kindVideoMOV' : 'Quick Time movie', 'kindVideoWM' : 'Windows Media movie', 'kindVideoFlash' : 'Flash movie', 'kindVideoMKV' : 'Matroska movie', 'kindVideoOGG' : 'Ogg movie' } }; })); wp-file-manager/lib/js/i18n/elfinder.zh_CN.js000064400000077114151202472330014617 0ustar00/** * 简体中文 translation * @author 翻译者 deerchao * @author Andy Hu * @author Max Wen * @author Kejun Chang * @author LDMING * @author Andy Lee * @author Cololi * @version 2020-04-07 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.zh_CN = { translator : '翻译者 deerchao <deerchao@gmail.com>, Andy Hu <andyhu7@yahoo.com.hk>, Max Wen<max.wen@qq.com>, Kejun Chang <changkejun@hotmail.com>, LDMING <china-live@live.cn>, Andy Lee <oraclei@126.com>, Cololi <i@cololi.moe>', language : '简体中文', direction : 'ltr', dateFormat : 'Y-m-d H:i', // will show like: 2020-04-07 14:53 fancyDateFormat : '$1 H:i', // will show like: 今天 14:53 nonameDateFormat : 'ymd-His', // noname upload will show like: 200407-145300 messages : { /********************************** errors **********************************/ 'error' : '错误', 'errUnknown' : '未知的错误.', 'errUnknownCmd' : '未知的命令.', 'errJqui' : '无效的 jQuery UI 配置,必须包含 Selectable、draggable 以及 droppable 组件.', 'errNode' : 'elFinder 需要能创建 DOM 元素.', 'errURL' : '无效的 elFinder 配置! URL 选项未配置.', 'errAccess' : '访问被拒绝.', 'errConnect' : '不能连接到服务器端.', 'errAbort' : '连接中止.', 'errTimeout' : '连接超时.', 'errNotFound' : '未找到服务器端.', 'errResponse' : '无效的服务器端响应.', 'errConf' : '无效的服务器端配置.', 'errJSON' : 'PHP JSON 模块未安装.', 'errNoVolumes' : '无可读的卷.', 'errCmdParams' : '无效的命令 "$1".', 'errDataNotJSON' : '服务器返回的数据不符合 JSON 格式.', 'errDataEmpty' : '服务器返回的数据为空.', 'errCmdReq' : '服务器端请求需要命令名称.', 'errOpen' : '无法打开 "$1".', 'errNotFolder' : '对象不是文件夹.', 'errNotFile' : '对象不是文件.', 'errRead' : '无法读取 "$1".', 'errWrite' : '无法写入 "$1".', 'errPerm' : '没有权限.', 'errLocked' : '"$1" 已被锁定,不能重命名, 移动或删除.', 'errExists' : '文件 "$1" 已经存在.', 'errInvName' : '无效的文件名.', 'errInvDirname' : '无效的文件夹名.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : '文件夹不存在.', 'errFileNotFound' : '文件不存在.', 'errTrgFolderNotFound' : '未找到目标文件夹 "$1".', 'errPopup' : '浏览器拦截了弹出窗口. 请在选项中允许弹出窗口.', 'errMkdir' : '不能创建文件夹 "$1".', 'errMkfile' : '不能创建文件 "$1".', 'errRename' : '不能重命名 "$1".', 'errCopyFrom' : '不允许从卷 "$1" 复制.', 'errCopyTo' : '不允许向卷 "$1" 复制.', 'errMkOutLink' : '无法创建链接到卷根以外的链接.', // from v2.1 added 03.10.2015 'errUpload' : '上传出错.', // old name - errUploadCommon 'errUploadFile' : '无法上传 "$1".', // old name - errUpload 'errUploadNoFiles' : '未找到要上传的文件.', 'errUploadTotalSize' : '数据超过了允许的最大大小.', // old name - errMaxSize 'errUploadFileSize' : '文件超过了允许的最大大小.', // old name - errFileMaxSize 'errUploadMime' : '不允许的文件类型.', 'errUploadTransfer' : '"$1" 传输错误.', 'errUploadTemp' : '无法为上传文件创建临时文件.', // from v2.1 added 26.09.2015 'errNotReplace' : ' "$1" 已存在, 不能被替换.', // new 'errReplace' : '无法替换 "$1".', 'errSave' : '无法保存 "$1".', 'errCopy' : '无法复制 "$1".', 'errMove' : '无法移动 "$1".', 'errCopyInItself' : '不能移动 "$1" 到原有位置.', 'errRm' : '无法删除 "$1".', 'errTrash' : '无法移到回收站.', // from v2.1.24 added 30.4.2017 'errRmSrc' : '不能删除源文件.', 'errExtract' : '无法从 "$1" 提取文件.', 'errArchive' : '无法创建压缩包.', 'errArcType' : '不支持的压缩格式.', 'errNoArchive' : '文件不是压缩包, 或者不支持该压缩格式.', 'errCmdNoSupport' : '服务器端不支持该命令.', 'errReplByChild' : '不能用文件夹 “$1” 下的项替换文件夹 “$1” 自身.', 'errArcSymlinks' : '出于安全上的考虑,不允许解压包含符号链接的压缩包.', // edited 24.06.2012 'errArcMaxSize' : '压缩包文件超过最大允许文件大小范围.', 'errResize' : '无法将调整大小到 "$1".', 'errResizeDegree' : '无效的旋转角度.', // added 7.3.2013 'errResizeRotate' : '无法旋转图片.', // added 7.3.2013 'errResizeSize' : '无效的图片尺寸.', // added 7.3.2013 'errResizeNoChange' : '图片尺寸未改变.', // added 7.3.2013 'errUsupportType' : '不被支持的文件格式.', 'errNotUTF8Content' : '文件 "$1" 不是 UTF-8 格式, 不能编辑.', // added 9.11.2011 'errNetMount' : '无法装载 "$1".', // added 17.04.2012 'errNetMountNoDriver' : '不支持该协议.', // added 17.04.2012 'errNetMountFailed' : '装载失败.', // added 17.04.2012 'errNetMountHostReq' : '需要指定主机.', // added 18.04.2012 'errSessionExpires' : '您的会话由于长时间未活动已过期.', 'errCreatingTempDir' : '无法创建临时目录 "$1"', 'errFtpDownloadFile' : '无法从FTP下载文件 "$1" ', 'errFtpUploadFile' : '无法将文件 "$1" 上传至FTP', 'errFtpMkdir' : '无法在FTP上创建远程目录 "$1"', 'errArchiveExec' : '归档文件"$1"时出错.', 'errExtractExec' : '解压文件"$1"时出错.', 'errNetUnMount' : '无法卸载.', // from v2.1 added 30.04.2012 'errConvUTF8' : '未转换至UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : '如果您需要上传目录, 请尝试使用Google Chrome.', // from v2.1 added 26.6.2015 'errSearchTimeout' : '搜索 "$1" 超时,仅显示部分搜索结果.', // from v2.1 added 12.1.2016 'errReauthRequire' : '必需重新授权.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : '最大可选择项目数为 $1.', // from v2.1.17 added 17.10.2016 'errRestore' : '无法从回收站中恢复,无法识别还原目的地.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : '找不到这个文件的编辑器.', // from v2.1.25 added 23.5.2017 'errServerError' : '服务端发生错误.', // from v2.1.25 added 16.6.2017 'errEmpty' : '无法清空文件夹 "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : '存在 $1 多个错误.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : '创建压缩包', 'cmdback' : '后退', 'cmdcopy' : '复制', 'cmdcut' : '剪切', 'cmddownload' : '下载', 'cmdduplicate' : '创建副本', 'cmdedit' : '编辑文件', 'cmdextract' : '从压缩包提取文件', 'cmdforward' : '前进', 'cmdgetfile' : '选择文件', 'cmdhelp' : '关于', 'cmdhome' : '首页', 'cmdinfo' : '查看详情', 'cmdmkdir' : '新建文件夹', 'cmdmkdirin' : '至新文件夹', // from v2.1.7 added 19.2.2016 'cmdmkfile' : '新建文件', 'cmdopen' : '打开', 'cmdpaste' : '粘贴', 'cmdquicklook' : '预览', 'cmdreload' : '刷新', 'cmdrename' : '重命名', 'cmdrm' : '删除', 'cmdtrash' : '至回收站', //from v2.1.24 added 29.4.2017 'cmdrestore' : '恢复', //from v2.1.24 added 3.5.2017 'cmdsearch' : '查找文件', 'cmdup' : '转到上一级文件夹', 'cmdupload' : '上传文件', 'cmdview' : '查看', 'cmdresize' : '调整大小&旋转', 'cmdsort' : '排序', 'cmdnetmount' : '装载网络卷', // added 18.04.2012 'cmdnetunmount': '卸载', // from v2.1 added 30.04.2012 'cmdplaces' : '添加到收藏夹', // added 28.12.2014 'cmdchmod' : '改变模式', // from v2.1 added 20.6.2015 'cmdopendir' : '打开文件夹', // from v2.1 added 13.1.2016 'cmdcolwidth' : '设置列宽', // from v2.1.13 added 12.06.2016 'cmdfullscreen': '全屏显示', // from v2.1.15 added 03.08.2016 'cmdmove' : '移动', // from v2.1.15 added 21.08.2016 'cmdempty' : '清空文件夹', // from v2.1.25 added 22.06.2017 'cmdundo' : '撤消', // from v2.1.27 added 31.07.2017 'cmdredo' : '重做', // from v2.1.27 added 31.07.2017 'cmdpreference': '偏好', // from v2.1.27 added 03.08.2017 'cmdselectall' : '全选', // from v2.1.28 added 15.08.2017 'cmdselectnone': '全不选', // from v2.1.28 added 15.08.2017 'cmdselectinvert': '反向选择', // from v2.1.28 added 15.08.2017 'cmdopennew' : '在新窗口打开', // from v2.1.38 added 3.4.2018 'cmdhide' : '隐藏 (偏好)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : '关闭', 'btnSave' : '保存', 'btnRm' : '删除', 'btnApply' : '应用', 'btnCancel' : '取消', 'btnNo' : '否', 'btnYes' : '是', 'btnMount' : '装载', // added 18.04.2012 'btnApprove': '至 $1 并确认', // from v2.1 added 26.04.2012 'btnUnmount': '卸载', // from v2.1 added 30.04.2012 'btnConv' : '转换', // from v2.1 added 08.04.2014 'btnCwd' : '这里', // from v2.1 added 22.5.2015 'btnVolume' : '卷', // from v2.1 added 22.5.2015 'btnAll' : '全部', // from v2.1 added 22.5.2015 'btnMime' : 'MIME类型', // from v2.1 added 22.5.2015 'btnFileName':'文件名', // from v2.1 added 22.5.2015 'btnSaveClose': '保存并关闭', // from v2.1 added 12.6.2015 'btnBackup' : '备份', // fromv2.1 added 28.11.2015 'btnRename' : '重命名', // from v2.1.24 added 6.4.2017 'btnRenameAll' : '重命名(All)', // from v2.1.24 added 6.4.2017 'btnPrevious' : '向前 ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : '向后 ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : '另存为', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : '打开文件夹', 'ntffile' : '打开文件', 'ntfreload' : '刷新文件夹内容', 'ntfmkdir' : '创建文件夹', 'ntfmkfile' : '创建文件', 'ntfrm' : '删除文件', 'ntfcopy' : '复制文件', 'ntfmove' : '移动文件', 'ntfprepare' : '准备复制文件', 'ntfrename' : '重命名文件', 'ntfupload' : '上传文件', 'ntfdownload' : '下载文件', 'ntfsave' : '保存文件', 'ntfarchive' : '创建压缩包', 'ntfextract' : '从压缩包提取文件', 'ntfsearch' : '搜索文件', 'ntfresize' : '正在更改尺寸', 'ntfsmth' : '正在忙 >_<', 'ntfloadimg' : '正在加载图片', 'ntfnetmount' : '正在装载网络卷', // added 18.04.2012 'ntfnetunmount': '卸载网络卷', // from v2.1 added 30.04.2012 'ntfdim' : '获取图像尺寸', // added 20.05.2013 'ntfreaddir' : '正在读取文件夹信息', // from v2.1 added 01.07.2013 'ntfurl' : '正在获取链接地址', // from v2.1 added 11.03.2014 'ntfchmod' : '正在改变文件模式', // from v2.1 added 20.6.2015 'ntfpreupload': '正在验证上传文件名', // from v2.1 added 31.11.2015 'ntfzipdl' : '正在创建一个下载文件', // from v2.1.7 added 23.1.2016 'ntfparents' : '正在取得路径信息', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': '正在处理上传文件', // from v2.1.17 added 2.11.2016 'ntftrash' : '移动到回收站', // from v2.1.24 added 2.5.2017 'ntfrestore' : '从回收站恢复', // from v2.1.24 added 3.5.2017 'ntfchkdir' : '检查目标文件夹', // from v2.1.24 added 3.5.2017 'ntfundo' : '撤消上一个全局操作', // from v2.1.27 added 31.07.2017 'ntfredo' : '重做上一全局操作', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : '检查内容', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : '回收站', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : '未知', 'Today' : '今天', 'Yesterday' : '昨天', 'msJan' : '一月', 'msFeb' : '二月', 'msMar' : '三月', 'msApr' : '四月', 'msMay' : '五月', 'msJun' : '六月', 'msJul' : '七月', 'msAug' : '八月', 'msSep' : '九月', 'msOct' : '十月', 'msNov' : '十一月', 'msDec' : '十二月', 'January' : '一月', 'February' : '二月', 'March' : '三月', 'April' : '四月', 'May' : '五月', 'June' : '六月', 'July' : '七月', 'August' : '八月', 'September' : '九月', 'October' : '十月', 'November' : '十一月', 'December' : '十二月', 'Sunday' : '星期日', 'Monday' : '星期一', 'Tuesday' : '星期二', 'Wednesday' : '星期三', 'Thursday' : '星期四', 'Friday' : '星期五', 'Saturday' : '星期六', 'Sun' : '周日', 'Mon' : '周一', 'Tue' : '周二', 'Wed' : '周三', 'Thu' : '周四', 'Fri' : '周五', 'Sat' : '周六', /******************************** sort variants ********************************/ 'sortname' : '按名称', 'sortkind' : '按类型', 'sortsize' : '按大小', 'sortdate' : '按日期', 'sortFoldersFirst' : '文件夹优先', 'sortperm' : '按权限排序', // from v2.1.13 added 13.06.2016 'sortmode' : '按属性排序', // from v2.1.13 added 13.06.2016 'sortowner' : '按所有者排序', // from v2.1.13 added 13.06.2016 'sortgroup' : '按组排序', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : '同时刷新树状目录', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : '新文件.txt', // added 10.11.2015 'untitled folder' : '新文件夹', // added 10.11.2015 'Archive' : '新压缩包', // from v2.1 added 10.11.2015 'untitled file' : '新文件.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: 文件', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : '请确认', 'confirmRm' : '确定要删除文件吗?
                      该操作不可撤销!', 'confirmRepl' : '用新的文件替换原有文件?', 'confirmRest' : '从回收站替换当前项?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : '文件不是UTF-8格式.
                      转换为UTF-8吗?
                      通过在转换后保存,内容变为UTF-8.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : '无法检测到此文件的字符编码.需要暂时转换此文件为UTF-8编码以进行编辑.
                      请选择此文件的字符编码.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : '文件已被编辑.
                      如果不保存直接关闭,将丢失编辑内容.', // from v2.1 added 15.7.2015 'confirmTrash' : '确定要将该项移动到回收站么?', //from v2.1.24 added 29.4.2017 'confirmMove' : '确定要移动该项到 "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : '全部应用', 'name' : '名称', 'size' : '大小', 'perms' : '权限', 'modify' : '修改于', 'kind' : '类别', 'read' : '读取', 'write' : '写入', 'noaccess' : '无权限', 'and' : '和', 'unknown' : '未知', 'selectall' : '选择所有文件', 'selectfiles' : '选择文件', 'selectffile' : '选择第一个文件', 'selectlfile' : '选择最后一个文件', 'viewlist' : '列表视图', 'viewicons' : '图标视图', 'viewSmall' : '小图标', // from v2.1.39 added 22.5.2018 'viewMedium' : '中图标', // from v2.1.39 added 22.5.2018 'viewLarge' : '大图标', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : '超大图标', // from v2.1.39 added 22.5.2018 'places' : '位置', 'calc' : '计算', 'path' : '路径', 'aliasfor' : '别名', 'locked' : '锁定', 'dim' : '尺寸', 'files' : '文件', 'folders' : '文件夹', 'items' : '项目', 'yes' : '是', 'no' : '否', 'link' : '链接', 'searcresult' : '搜索结果', 'selected' : '选中的项目', 'about' : '关于', 'shortcuts' : '快捷键', 'help' : '帮助', 'webfm' : '网络文件管理器', 'ver' : '版本', 'protocolver' : '协议版本', 'homepage' : '项目主页', 'docs' : '文档', 'github' : '复刻我们的github', 'twitter' : '关注我们的twitter', 'facebook' : '加入我们的facebook', 'team' : '团队', 'chiefdev' : '首席开发', 'developer' : '开发', 'contributor' : '贡献', 'maintainer' : '维护', 'translator' : '翻译', 'icons' : '图标', 'dontforget' : '别忘了带上你擦汗的毛巾', 'shortcutsof' : '快捷键已禁用', 'dropFiles' : '把文件拖到这里', 'or' : '或者', 'selectForUpload' : '选择要上传的文件', 'moveFiles' : '移动文件', 'copyFiles' : '复制文件', 'restoreFiles' : '恢复文件', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : '从这里中删除', 'aspectRatio' : '保持比例', 'scale' : '缩放比例', 'width' : '宽', 'height' : '高', 'resize' : '调整大小', 'crop' : '裁切', 'rotate' : '旋转', 'rotate-cw' : '顺时针旋转90°', 'rotate-ccw' : '逆时针旋转90°', 'degree' : '°', 'netMountDialogTitle' : '装载网络目录', // added 18.04.2012 'protocol' : '协议', // added 18.04.2012 'host' : '主机', // added 18.04.2012 'port' : '端口', // added 18.04.2012 'user' : '用户', // added 18.04.2012 'pass' : '密码', // added 18.04.2012 'confirmUnmount' : '确实要卸载 $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': '从浏览器中拖放或粘贴文件', // from v2.1 added 30.05.2012 'dropPasteFiles' : '拖放文件,粘贴网址或剪贴板图像', // from v2.1 added 07.04.2014 'encoding' : '编码', // from v2.1 added 19.12.2014 'locale' : '语言环境', // from v2.1 added 19.12.2014 'searchTarget' : '目标: $1', // from v2.1 added 22.5.2015 'searchMime' : '按输入MIME类型搜索', // from v2.1 added 22.5.2015 'owner' : '所有者', // from v2.1 added 20.6.2015 'group' : '组', // from v2.1 added 20.6.2015 'other' : '其他', // from v2.1 added 20.6.2015 'execute' : '执行', // from v2.1 added 20.6.2015 'perm' : '许可', // from v2.1 added 20.6.2015 'mode' : '属性', // from v2.1 added 20.6.2015 'emptyFolder' : '文件夹是空的', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : '文件夹是空的\\A 拖放可追加项目', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : '文件夹是空的\\A 长按可添加项目', // from v2.1.6 added 30.12.2015 'quality' : '品质', // from v2.1.6 added 5.1.2016 'autoSync' : '自动同步', // from v2.1.6 added 10.1.2016 'moveUp' : '向上移动', // from v2.1.6 added 18.1.2016 'getLink' : '获取URL链接', // from v2.1.7 added 9.2.2016 'selectedItems' : '已选择项目 ($1)', // from v2.1.7 added 2.19.2016 'folderId' : '目录ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : '允许离线操作', // from v2.1.10 added 3.25.2016 'reAuth' : '重新验证', // from v2.1.10 added 3.25.2016 'nowLoading' : '正在加载...', // from v2.1.12 added 4.26.2016 'openMulti' : '打开多个文件', // from v2.1.12 added 5.14.2016 'openMultiConfirm': '您正在尝试打开$1文件.您确定要在浏览器中打开吗?', // from v2.1.12 added 5.14.2016 'emptySearch' : '搜索目标中没有匹配结果', // from v2.1.12 added 5.16.2016 'editingFile' : '正在编辑文件.', // from v2.1.13 added 6.3.2016 'hasSelected' : '已选择 $1 个项目.', // from v2.1.13 added 6.3.2016 'hasClipboard' : '剪贴板里有 $1 个项目.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : '增量搜索仅来自当前视图.', // from v2.1.13 added 6.30.2016 'reinstate' : '恢复', // from v2.1.15 added 3.8.2016 'complete' : '$1 完成', // from v2.1.15 added 21.8.2016 'contextmenu' : '上下文菜单', // from v2.1.15 added 9.9.2016 'pageTurning' : '翻页', // from v2.1.15 added 10.9.2016 'volumeRoots' : '根目录', // from v2.1.16 added 16.9.2016 'reset' : '重置', // from v2.1.16 added 1.10.2016 'bgcolor' : '背景色', // from v2.1.16 added 1.10.2016 'colorPicker' : '颜色选择器', // from v2.1.16 added 1.10.2016 '8pxgrid' : '步长(8px)', // from v2.1.16 added 4.10.2016 'enabled' : '启用', // from v2.1.16 added 4.10.2016 'disabled' : '关闭', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : '当前视图下没有匹配结果', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : '当前视图中的第一个字母搜索结果为空', // from v2.1.23 added 24.3.2017 'textLabel' : '文本标签', // from v2.1.17 added 13.10.2016 'minsLeft' : '剩余 $1 分钟', // from v2.1.17 added 13.11.2016 'openAsEncoding' : '使用所选编码重新打开', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : '使用所选编码保存', // from v2.1.19 added 2.12.2016 'selectFolder' : '选择目录', // from v2.1.20 added 13.12.2016 'firstLetterSearch': '首字母搜索', // from v2.1.23 added 24.3.2017 'presets' : '预置', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : '项目太多,不能移动到回收站.', // from v2.1.25 added 9.6.2017 'TextArea' : '文本区域', // from v2.1.25 added 14.6.2017 'folderToEmpty' : '清空文件夹 "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : '文件夹 "$1" 为空.', // from v2.1.25 added 22.6.2017 'preference' : '偏好', // from v2.1.26 added 28.6.2017 'language' : '语言设置', // from v2.1.26 added 28.6.2017 'clearBrowserData': '清除保存在此浏览器中的偏好设置', // from v2.1.26 added 28.6.2017 'toolbarPref' : '工具栏设置', // from v2.1.27 added 2.8.2017 'charsLeft' : '... 剩余$1字符', // from v2.1.29 added 30.8.2017 'linesLeft' : '... 剩余$1行', // from v2.1.52 added 16.1.2020 'sum' : '总数', // from v2.1.29 added 28.9.2017 'roughFileSize' : '粗略的文件大小', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : '鼠标悬停在对话框内可编辑区域时自动获得焦点', // from v2.1.30 added 2.11.2017 'select' : '选择', // from v2.1.30 added 23.11.2017 'selectAction' : '双击选择的文件时', // from v2.1.30 added 23.11.2017 'useStoredEditor' : '用上次使用的编辑器打开', // from v2.1.30 added 23.11.2017 'selectinvert' : '反向选择', // from v2.1.30 added 25.11.2017 'renameMultiple' : '确定要重命名选定项 $1 为 $2 吗?
                      该操作不能撤消!', // from v2.1.31 added 4.12.2017 'batchRename' : '批量重命名', // from v2.1.31 added 8.12.2017 'plusNumber' : '增加数量', // from v2.1.31 added 8.12.2017 'asPrefix' : '添加前缀', // from v2.1.31 added 8.12.2017 'asSuffix' : '添加后缀', // from v2.1.31 added 8.12.2017 'changeExtention' : '变化范围', // from v2.1.31 added 8.12.2017 'columnPref' : '列设置 (列表视图)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : '所有修改将立即反馈到文档.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : '所有修改在卸载本卷之前不会反馈', // from v2.1.33 added 2.3.2018 'unmountChildren' : '安装在本卷上的以下卷也会卸载.你确定要卸载吗?', // from v2.1.33 added 5.3.2018 'selectionInfo' : '选择信息', // from v2.1.33 added 7.3.2018 'hashChecker' : '显示文件散列值的算法', // from v2.1.33 added 10.3.2018 'infoItems' : '信息条目 (选择信息面板)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': '再按退出', // from v2.1.38 added 1.4.2018 'toolbar' : '工具条', // from v2.1.38 added 4.4.2018 'workspace' : '工作空间', // from v2.1.38 added 4.4.2018 'dialog' : '对话框', // from v2.1.38 added 4.4.2018 'all' : '全部', // from v2.1.38 added 4.4.2018 'iconSize' : '图标尺寸 (图标视图)', // from v2.1.39 added 7.5.2018 'editorMaximized' : '打开最大化编辑器窗口', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : '由于通过 API 转换功能当前不可用,请到网站上转换.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : '转换后,必须上传条目URL或一个下载的文件,以保存转换后的文件.', //from v2.1.40 added 8.7.2018 'convertOn' : '在 $1 站点上转换', // from v2.1.40 added 10.7.2018 'integrations' : '集成', // from v2.1.40 added 11.7.2018 'integrationWith' : '本 elFinder 集成以下外部服务.使用前请检查使用条款、隐私政策等.', // from v2.1.40 added 11.7.2018 'showHidden' : '显示已隐藏的条目', // from v2.1.41 added 24.7.2018 'hideHidden' : '隐藏已隐藏的条目', // from v2.1.41 added 24.7.2018 'toggleHidden' : '显示/隐藏已隐藏的条目', // from v2.1.41 added 24.7.2018 'makefileTypes' : '允许"新文件"使用的文件类型', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : '文本文件类型', // from v2.1.41 added 7.8.2018 'add' : '添加', // from v2.1.41 added 7.8.2018 'theme' : '主题', // from v2.1.43 added 19.10.2018 'default' : '缺省', // from v2.1.43 added 19.10.2018 'description' : '描述', // from v2.1.43 added 19.10.2018 'website' : '网站', // from v2.1.43 added 19.10.2018 'author' : '作者', // from v2.1.43 added 19.10.2018 'email' : '邮箱', // from v2.1.43 added 19.10.2018 'license' : '许可证', // from v2.1.43 added 19.10.2018 'exportToSave' : '本条目不能保存. 为避免丢失编辑数据,须要导出到你的电脑.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': '在文件上双击以选中它.', // from v2.1.47 added 22.1.2019 'useFullscreen' : '使用全屏模式', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : '未知', 'kindRoot' : '根目录', // from v2.1.16 added 16.10.2016 'kindFolder' : '文件夹', 'kindSelects' : '选择', // from v2.1.29 added 29.8.2017 'kindAlias' : '别名', 'kindAliasBroken' : '错误的别名', // applications 'kindApp' : '程序', 'kindPostscript' : 'Postscript 文档', 'kindMsOffice' : 'Microsoft Office 文档', 'kindMsWord' : 'Microsoft Word 文档', 'kindMsExcel' : 'Microsoft Excel 文档', 'kindMsPP' : 'Microsoft Powerpoint 演示', 'kindOO' : 'Open Office 文档', 'kindAppFlash' : 'Flash 程序', 'kindPDF' : 'PDF 文档', 'kindTorrent' : 'Bittorrent 文件', 'kind7z' : '7z 压缩包', 'kindTAR' : 'TAR 压缩包', 'kindGZIP' : 'GZIP 压缩包', 'kindBZIP' : 'BZIP 压缩包', 'kindXZ' : 'XZ 压缩包', 'kindZIP' : 'ZIP 压缩包', 'kindRAR' : 'RAR 压缩包', 'kindJAR' : 'Java JAR 文件', 'kindTTF' : 'True Type 字体', 'kindOTF' : 'Open Type 字体', 'kindRPM' : 'RPM 包', // texts 'kindText' : '文本文件', 'kindTextPlain' : '纯文本', 'kindPHP' : 'PHP 源代码', 'kindCSS' : '层叠样式表(CSS)', 'kindHTML' : 'HTML 文档', 'kindJS' : 'Javascript 源代码', 'kindRTF' : '富文本格式(RTF)', 'kindC' : 'C 源代码', 'kindCHeader' : 'C 头文件', 'kindCPP' : 'C++ 源代码', 'kindCPPHeader' : 'C++ 头文件', 'kindShell' : 'Unix 外壳脚本', 'kindPython' : 'Python 源代码', 'kindJava' : 'Java 源代码', 'kindRuby' : 'Ruby 源代码', 'kindPerl' : 'Perl 源代码', 'kindSQL' : 'SQL 脚本', 'kindXML' : 'XML 文档', 'kindAWK' : 'AWK 源代码', 'kindCSV' : '逗号分隔值文件(CSV)', 'kindDOCBOOK' : 'Docbook XML 文档', 'kindMarkdown' : 'Markdown 文本', // added 20.7.2015 // images 'kindImage' : '图片', 'kindBMP' : 'BMP 图片', 'kindJPEG' : 'JPEG 图片', 'kindGIF' : 'GIF 图片', 'kindPNG' : 'PNG 图片', 'kindTIFF' : 'TIFF 图片', 'kindTGA' : 'TGA 图片', 'kindPSD' : 'Adobe Photoshop 图片', 'kindXBITMAP' : 'X bitmap 图片', 'kindPXM' : 'Pixelmator 图片', // media 'kindAudio' : '音频', 'kindAudioMPEG' : 'MPEG 音频', 'kindAudioMPEG4' : 'MPEG-4 音频', 'kindAudioMIDI' : 'MIDI 音频', 'kindAudioOGG' : 'Ogg Vorbis 音频', 'kindAudioWAV' : 'WAV 音频', 'AudioPlaylist' : 'MP3 播放列表', 'kindVideo' : '视频', 'kindVideoDV' : 'DV 视频', 'kindVideoMPEG' : 'MPEG 视频', 'kindVideoMPEG4' : 'MPEG-4 视频', 'kindVideoAVI' : 'AVI 视频', 'kindVideoMOV' : 'Quick Time 视频', 'kindVideoWM' : 'Windows Media 视频', 'kindVideoFlash' : 'Flash 视频', 'kindVideoMKV' : 'Matroska 视频', 'kindVideoOGG' : 'Ogg 视频' } }; })); wp-file-manager/lib/js/i18n/elfinder.zh_TW.js000064400000102142151202472330014637 0ustar00/** * 繁體中文 translation * @author Yuwei Chuang * @author Danny Lin * @author TCC * @author Rick Jiang * @author Alex Lion (阿力獅) * @version 2023-12-18 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.zh_TW = { translator : 'Yuwei Chuang <ywchuang.tw@gmail.com>, Danny Lin <danny0838@gmail.com>, TCC <john987john987@gmail.com>, Rick Jiang <rick.jiang@aol.com>, Banny Tai <cssf998811@gmail.com>, Alex Lion (阿力獅) <learnwithalex@gmail.com>', language : '繁體中文', direction : 'ltr', dateFormat : 'Y/n/j H:i', // will show like: 2023/12/4 14:29 fancyDateFormat : '$1 H:i', // will show like: 今天 14:29 nonameDateFormat : 'ymd-His', // noname upload will show like: 231204-142932 messages : { /********************************** errors **********************************/ 'error' : '錯誤', 'errUnknown' : '未知的錯誤。', 'errUnknownCmd' : '未知的命令。', 'errJqui' : '無效的 jQuery 使用者介面組態。必須包含 Selectable、draggable 及 droppable 元件。', 'errNode' : '建立 elFinder 需要 DOM 元素。', 'errURL' : '無效的 elFinder 組態。URL 選項尚未設定。', 'errAccess' : '拒絕存取。', 'errConnect' : '無法連線至後端。', 'errAbort' : '連線中止。', 'errTimeout' : '連線逾時。', 'errNotFound' : '找不到後端。', 'errResponse' : '無效的後端回應。', 'errConf' : '無效的後端組態。', 'errJSON' : 'PHP JSON 模組尚未安裝。', 'errNoVolumes' : '沒有可供讀取的磁碟。', 'errCmdParams' : '命令 $1 的無效參數。', 'errDataNotJSON' : '資料不是 JSON 格式。', 'errDataEmpty' : '資料為空白。', 'errCmdReq' : '後端要求需要命令名稱。', 'errOpen' : '無法開啟 [$1]。', 'errNotFolder' : '物件不是資料夾。', 'errNotFile' : '物件不是檔案。', 'errRead' : '無法讀取 [$1]。', 'errWrite' : '無法寫入 [$1]。', 'errPerm' : '沒有使用權限。', 'errLocked' : '由於 [$1] 已鎖定,因此無法重新命名、移動或移除。', 'errExists' : '名稱為 [$1] 的項目已存在。', 'errInvName' : '無效的檔案名稱。', 'errInvDirname' : '無效的資料夾名稱。', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : '找不到資料夾。', 'errFileNotFound' : '找不到檔案。', 'errTrgFolderNotFound' : '找不到目標資料夾 [$1]。', 'errPopup' : '瀏覽器阻擋了彈出式訊息視窗。如需開啟檔案,請允許瀏覽器開啟彈出式訊息視窗。', 'errMkdir' : '無法建立資料夾 [$1]。', 'errMkfile' : '無法建立檔案 [$1]。', 'errRename' : '無法重新命名 [$1]。', 'errCopyFrom' : '不允許從磁碟 $1 複製檔案。', 'errCopyTo' : '不允許將檔案複製至磁碟 $1。', 'errMkOutLink' : '無法建立磁碟根目錄以外的連結。', // from v2.1 added 03.10.2015 'errUpload' : '上傳時發生錯誤。', // old name - errUploadCommon 'errUploadFile' : '無法上傳 [$1]。', // old name - errUpload 'errUploadNoFiles' : '找不到要上傳的檔案。', 'errUploadTotalSize' : '資料超過允許的大小上限。', // old name - errMaxSize 'errUploadFileSize' : '檔案超過允許的大小上限。', // old name - errFileMaxSize 'errUploadMime' : '不允許的檔案類型。', 'errUploadTransfer' : '傳輸 [$1] 時發生錯誤。', 'errUploadTemp' : '無法產生用於上傳時所需的暫存檔案。', // from v2.1 added 26.09.2015 'errNotReplace' : '物件 [$1] 已存在於這個位置,且無法尤其他類型物件取代。', // new 'errReplace' : '無法取代 [$1]。', 'errSave' : '無法儲存 [$1]。', 'errCopy' : '無法複製 [$1]。', 'errMove' : '無法移動 [$1]。', 'errCopyInItself' : '無法將 [$1] 移動至現有位置。', 'errRm' : '無法移除 [$1]。', 'errTrash' : '無法移至回收桶。', // from v2.1.24 added 30.4.2017 'errRmSrc' : '無法移除來源檔案。', 'errExtract' : '無法解壓縮 [$1] 中的檔案。', 'errArchive' : '無法建立壓縮檔。', 'errArcType' : '不支援的壓縮檔格式。', 'errNoArchive' : '檔案不是壓縮檔,或是不支援的壓縮檔格式。', 'errCmdNoSupport' : '後端不支援這個命令。', 'errReplByChild' : '資料夾 [$1] 無法由它所包含的項目取代。', 'errArcSymlinks' : '基於安全性考量,拒絕解壓縮包含符號連結或含有不符規定名稱的檔案的壓縮檔。', // edited 24.06.2012 'errArcMaxSize' : '壓縮檔大小超過上限。', 'errResize' : '無法調整 [$1] 的大小。', 'errResizeDegree' : '無效的旋轉角度。', // added 7.3.2013 'errResizeRotate' : '無法旋轉圖片。', // added 7.3.2013 'errResizeSize' : '無效的圖片尺寸。', // added 7.3.2013 'errResizeNoChange' : '圖片尺寸沒有變更。', // added 7.3.2013 'errUsupportType' : '不支援的檔案類型。', 'errNotUTF8Content' : '檔案 [$1] 不是 UTF-8 編碼且無法編輯。', // added 9.11.2011 'errNetMount' : '無法掛接 $1。', // added 17.04.2012 'errNetMountNoDriver' : '不支援的通訊協定。', // added 17.04.2012 'errNetMountFailed' : '無法掛接磁碟。', // added 17.04.2012 'errNetMountHostReq' : '需要設定主機名稱。', // added 18.04.2012 'errSessionExpires' : '由於非使用狀態時間過長,因此目前的工作階段已到期。', 'errCreatingTempDir' : '無法建立暫存目錄: $1', 'errFtpDownloadFile' : '無法從 FTP 下載檔案: $1', 'errFtpUploadFile' : '無法上傳檔案至 FTP: $1', 'errFtpMkdir' : '無法透過 FTP 建立遠端目錄: $1', 'errArchiveExec' : '壓縮檔案時發生錯誤: $1', 'errExtractExec' : '解壓縮檔案時發生錯誤: $1', 'errNetUnMount' : '無法卸載磁碟。', // from v2.1 added 30.04.2012 'errConvUTF8' : '無法轉換為 UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : '如需上傳資料夾,請使用新式瀏覽器。', // from v2.1 added 26.6.2015 'errSearchTimeout' : '搜尋「$1」逾時,因此僅列出部分搜尋結果。', // from v2.1 added 12.1.2016 'errReauthRequire' : '必須重新驗證。', // from v2.1.10 added 24.3.2016 'errMaxTargets' : '可選取的項目數量上限為 $1。', // from v2.1.17 added 17.10.2016 'errRestore' : '無法從 [回收桶] 還原。無法識別還原目標位置。', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : '找不到與這個檔案類型關聯的編輯器。', // from v2.1.25 added 23.5.2017 'errServerError' : '伺服器端發生錯誤。', // from v2.1.25 added 16.6.2017 'errEmpty' : '無法清空資料夾 [$1]。', // from v2.1.25 added 22.6.2017 'moreErrors' : '有超過 $1 個錯誤。', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : '最多可以同時建立 $1 個資料夾。', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : '建立壓縮檔', 'cmdback' : '返回', 'cmdcopy' : '複製', 'cmdcut' : '剪下', 'cmddownload' : '下載', 'cmdduplicate' : '再製', 'cmdedit' : '編輯檔案', 'cmdextract' : '將壓縮檔解壓縮', 'cmdforward' : '往前', 'cmdgetfile' : '選取檔案', 'cmdhelp' : '關於這個軟體', 'cmdhome' : '根目錄', 'cmdinfo' : '取得項目資訊', 'cmdmkdir' : '新增資料夾', 'cmdmkdirin' : '移至新資料夾', // from v2.1.7 added 19.2.2016 'cmdmkfile' : '新增檔案', 'cmdopen' : '開啟', 'cmdpaste' : '貼上', 'cmdquicklook' : '預覽', 'cmdreload' : '重新載入', 'cmdrename' : '重新命名', 'cmdrm' : '刪除', 'cmdtrash' : '移至 [回收桶]', //from v2.1.24 added 29.4.2017 'cmdrestore' : '還原', //from v2.1.24 added 3.5.2017 'cmdsearch' : '尋找檔案', 'cmdup' : '前往上一層資料夾', 'cmdupload' : '上傳檔案', 'cmdview' : '檢視', 'cmdresize' : '調整大小及旋轉', 'cmdsort' : '排序方式', 'cmdnetmount' : '掛接網路磁碟', // added 18.04.2012 'cmdnetunmount': '卸載', // from v2.1 added 30.04.2012 'cmdplaces' : '加入起始位置', // added 28.12.2014 'cmdchmod' : '變更權限', // from v2.1 added 20.6.2015 'cmdopendir' : '開啟資料夾', // from v2.1 added 13.1.2016 'cmdcolwidth' : '重設欄位寬度', // from v2.1.13 added 12.06.2016 'cmdfullscreen': '全螢幕', // from v2.1.15 added 03.08.2016 'cmdmove' : '移動', // from v2.1.15 added 21.08.2016 'cmdempty' : '清空資料夾', // from v2.1.25 added 22.06.2017 'cmdundo' : '復原', // from v2.1.27 added 31.07.2017 'cmdredo' : '取消復原', // from v2.1.27 added 31.07.2017 'cmdpreference': '偏好設定', // from v2.1.27 added 03.08.2017 'cmdselectall' : '全部選取', // from v2.1.28 added 15.08.2017 'cmdselectnone': '全部不選', // from v2.1.28 added 15.08.2017 'cmdselectinvert': '反向選取', // from v2.1.28 added 15.08.2017 'cmdopennew' : '在新視窗中開啟', // from v2.1.38 added 3.4.2018 'cmdhide' : '隱藏 (偏好設定)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : '關閉', 'btnSave' : '儲存', 'btnRm' : '移除', 'btnApply' : '套用', 'btnCancel' : '取消', 'btnNo' : '否', 'btnYes' : '是', 'btnMount' : '掛接', // added 18.04.2012 'btnApprove': '前往 $1 並核准', // from v2.1 added 26.04.2012 'btnUnmount': '卸載', // from v2.1 added 30.04.2012 'btnConv' : '轉換', // from v2.1 added 08.04.2014 'btnCwd' : '目前位置', // from v2.1 added 22.5.2015 'btnVolume' : '磁碟', // from v2.1 added 22.5.2015 'btnAll' : '全部', // from v2.1 added 22.5.2015 'btnMime' : 'MIME 類型', // from v2.1 added 22.5.2015 'btnFileName':'檔案名稱', // from v2.1 added 22.5.2015 'btnSaveClose': '儲存並關閉', // from v2.1 added 12.6.2015 'btnBackup' : '備份', // fromv2.1 added 28.11.2015 'btnRename' : '重新命名', // from v2.1.24 added 6.4.2017 'btnRenameAll' : '全部重新命名', // from v2.1.24 added 6.4.2017 'btnPrevious' : '上一頁 ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : '下一頁 ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : '另存新檔', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : '開啟資料夾', 'ntffile' : '開啟檔案', 'ntfreload' : '重新載入資料夾內容', 'ntfmkdir' : '正在建立資料夾', 'ntfmkfile' : '正在建立檔案', 'ntfrm' : '刪除項目', 'ntfcopy' : '複製項目', 'ntfmove' : '移動項目', 'ntfprepare' : '正在檢查現有項目', 'ntfrename' : '重新命名檔案', 'ntfupload' : '正在上傳檔案', 'ntfdownload' : '正在下載檔案', 'ntfsave' : '儲存檔案', 'ntfarchive' : '正在建立壓縮檔', 'ntfextract' : '正在從壓縮檔解壓縮檔案', 'ntfsearch' : '正在搜尋檔案', 'ntfresize' : '正在調整圖片尺寸', 'ntfsmth' : '正在處理', 'ntfloadimg' : '正在載入圖片', 'ntfnetmount' : '正在掛接網路磁碟', // added 18.04.2012 'ntfnetunmount': '正在卸載網路磁碟', // from v2.1 added 30.04.2012 'ntfdim' : '正在擷取圖片尺寸', // added 20.05.2013 'ntfreaddir' : '正在讀取資料夾資訊', // from v2.1 added 01.07.2013 'ntfurl' : '正在取得連結的網址', // from v2.1 added 11.03.2014 'ntfchmod' : '正在變更檔案權限', // from v2.1 added 20.6.2015 'ntfpreupload': '正在驗證上傳檔案名稱', // from v2.1 added 31.11.2015 'ntfzipdl' : '正在建立可供下載的檔案', // from v2.1.7 added 23.1.2016 'ntfparents' : '正在取得路徑資訊', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': '正在處理上傳的檔案', // from v2.1.17 added 2.11.2016 'ntftrash' : '正在移至 [回收桶]', // from v2.1.24 added 2.5.2017 'ntfrestore' : '正在從 [回收桶] 還原', // from v2.1.24 added 3.5.2017 'ntfchkdir' : '正在檢查目標資料夾', // from v2.1.24 added 3.5.2017 'ntfundo' : '正在復原之前的操作', // from v2.1.27 added 31.07.2017 'ntfredo' : '正在取消復原之前的復原操作', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : '正在檢查內容', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : '回收桶', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : '未知', 'Today' : '今天', 'Yesterday' : '昨天', 'msJan' : '1 月', 'msFeb' : '2 月', 'msMar' : '3 月', 'msApr' : '4 月', 'msMay' : '5 月', 'msJun' : '6 月', 'msJul' : '7 月', 'msAug' : '8 月', 'msSep' : '9 月', 'msOct' : '10 月', 'msNov' : '11 月', 'msDec' : '12 月', 'January' : '1 月', 'February' : '2 月', 'March' : '3 月', 'April' : '4 月', 'May' : '5 月', 'June' : '6 月', 'July' : '7 月', 'August' : '8 月', 'September' : '9 月', 'October' : '10 月', 'November' : '11 月', 'December' : '12 月', 'Sunday' : '星期日', 'Monday' : '星期一', 'Tuesday' : '星期二', 'Wednesday' : '星期三', 'Thursday' : '星期四', 'Friday' : '星期五', 'Saturday' : '星期六', 'Sun' : '週日', 'Mon' : '週一', 'Tue' : '週二', 'Wed' : '週三', 'Thu' : '週四', 'Fri' : '週五', 'Sat' : '週六', /******************************** sort variants ********************************/ 'sortname' : '依據名稱', 'sortkind' : '依據類型', 'sortsize' : '依據大小', 'sortdate' : '依據日期', 'sortFoldersFirst' : '先顯示資料夾', 'sortperm' : '依據權限', // from v2.1.13 added 13.06.2016 'sortmode' : '依據權限', // from v2.1.13 added 13.06.2016 'sortowner' : '依據擁有者', // from v2.1.13 added 13.06.2016 'sortgroup' : '依據群組', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : '同時套用於樹狀檢視', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : '新增檔案.txt', // added 10.11.2015 'untitled folder' : '新增資料夾', // added 10.11.2015 'Archive' : '新增壓縮檔', // from v2.1 added 10.11.2015 'untitled file' : '新增檔案.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: 檔案', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : '操作確認要求', 'confirmRm' : '確定要永久移除項目?
                      這項操作無法復原!', 'confirmRepl' : '是否要以新的項目取代舊的項目?(如果項目包含資料夾,資料夾會合併。如需備份後才取代,請點擊 [備份]。)', 'confirmRest' : '是否要以 [回收桶] 內的項目取代目前項目?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : '不是 UTF-8 編碼
                      轉換至 UTF-8 編碼?
                      轉換後儲存會將內容變更為 UTF-8 編碼。', // from v2.1 added 08.04.2014 'confirmNonUTF8' : '無法偵測這個檔案的字元編碼方式。這個檔案需要暫時轉換至 UTF-8 編碼以進行編輯。
                      請選取這個檔案的字元編碼方式。', // from v2.1.19 added 28.11.2016 'confirmNotSave' : '項目已修改。
                      如果不儲存變更,便會失去之前的工作成果。', // from v2.1 added 15.7.2015 'confirmTrash' : '確定要將項目移至 [回收桶]?', //from v2.1.24 added 29.4.2017 'confirmMove' : '確定要將項目移至 [$1]?', //from v2.1.50 added 27.7.2019 'apllyAll' : '全部套用', 'name' : '名稱', 'size' : '大小', 'perms' : '權限', 'modify' : '修改日期', 'kind' : '類型', 'read' : '讀取', 'write' : '寫入', 'noaccess' : '沒有存取權限', 'and' : '及', 'unknown' : '未知', 'selectall' : '選取全部項目', 'selectfiles' : '選取項目', 'selectffile' : '選取第一個項目', 'selectlfile' : '選取最後一個項目', 'viewlist' : '清單檢視', 'viewicons' : '圖示檢視', 'viewSmall' : '小型圖示', // from v2.1.39 added 22.5.2018 'viewMedium' : '中型圖示', // from v2.1.39 added 22.5.2018 'viewLarge' : '大型圖示', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : '超大型圖示', // from v2.1.39 added 22.5.2018 'places' : '起始位置', 'calc' : '計算', 'path' : '路徑', 'aliasfor' : '別名', 'locked' : '鎖定', 'dim' : '尺寸', 'files' : '檔案', 'folders' : '資料夾', 'items' : '項目', 'yes' : '是', 'no' : '否', 'link' : '連結', 'searcresult' : '搜尋結果', 'selected' : '選取的項目', 'about' : '關於', 'shortcuts' : '快速鍵', 'help' : '使用說明', 'webfm' : '網頁檔案管理功能', 'ver' : '版本', 'protocolver' : '通訊協定版本', 'homepage' : '專案名稱', 'docs' : '線上說明', 'github' : '在 GitHub 上進行分支開發', 'twitter' : '在 Twitter 上跟隨我們', 'facebook' : '在 Facebook 加入我們', 'team' : '團隊', 'chiefdev' : '首席開發者', 'developer' : '開發者', 'contributor' : '參與者', 'maintainer' : '維護者', 'translator' : '本地化人員', 'icons' : '圖示', 'dontforget' : '請記得宣傳這個程式', 'shortcutsof' : '快速鍵已停用', 'dropFiles' : '將檔案拖放至這裡', 'or' : '或', 'selectForUpload' : '選取檔案', 'moveFiles' : '移動項目', 'copyFiles' : '複製項目', 'restoreFiles' : '還原項目', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : '從起始位置移除', 'aspectRatio' : '外觀比例', 'scale' : '縮放', 'width' : '寬度', 'height' : '高度', 'resize' : '調整大小', 'crop' : '裁剪', 'rotate' : '旋轉', 'rotate-cw' : '順時針旋轉 90 度', 'rotate-ccw' : '逆時針旋轉 90 度', 'degree' : '°', 'netMountDialogTitle' : '掛接網路磁碟', // added 18.04.2012 'protocol' : '通訊協定', // added 18.04.2012 'host' : '主機名稱', // added 18.04.2012 'port' : '通訊埠', // added 18.04.2012 'user' : '使用者', // added 18.04.2012 'pass' : '密碼', // added 18.04.2012 'confirmUnmount' : '確定要卸載 $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': '從瀏覽器拖放檔案或貼上檔案', // from v2.1 added 30.05.2012 'dropPasteFiles' : '拖放檔案、貼上網址或圖片至這裡', // from v2.1 added 07.04.2014 'encoding' : '編碼方式', // from v2.1 added 19.12.2014 'locale' : '地區語言', // from v2.1 added 19.12.2014 'searchTarget' : '目標: $1', // from v2.1 added 22.5.2015 'searchMime' : '依據輸入的 MIME 類型搜尋', // from v2.1 added 22.5.2015 'owner' : '擁有者', // from v2.1 added 20.6.2015 'group' : '群組', // from v2.1 added 20.6.2015 'other' : '其他', // from v2.1 added 20.6.2015 'execute' : '執行', // from v2.1 added 20.6.2015 'perm' : '權限', // from v2.1 added 20.6.2015 'mode' : '權限', // from v2.1 added 20.6.2015 'emptyFolder' : '資料夾為空', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : '資料夾為空\\A拖放以新增項目', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : '資料夾為空\\A長按以新增項目', // from v2.1.6 added 30.12.2015 'quality' : '品質', // from v2.1.6 added 5.1.2016 'autoSync' : '自動同步', // from v2.1.6 added 10.1.2016 'moveUp' : '上移', // from v2.1.6 added 18.1.2016 'getLink' : '取得網址連結', // from v2.1.7 added 9.2.2016 'selectedItems' : '選取的項目 ($1)', // from v2.1.7 added 2.19.2016 'folderId' : '資料夾 ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : '允許離線存取', // from v2.1.10 added 3.25.2016 'reAuth' : '重新驗證', // from v2.1.10 added 3.25.2016 'nowLoading' : '正在載入...', // from v2.1.12 added 4.26.2016 'openMulti' : '開啟多個檔案', // from v2.1.12 added 5.14.2016 'openMultiConfirm': '目前正在嘗試開啟 $1 個檔案。確定要在瀏覽器中開啟?', // from v2.1.12 added 5.14.2016 'emptySearch' : '搜尋目標的搜尋結果為空。', // from v2.1.12 added 5.16.2016 'editingFile' : '目前正在編輯檔案。', // from v2.1.13 added 6.3.2016 'hasSelected' : '已選取 $1 個項目。', // from v2.1.13 added 6.3.2016 'hasClipboard' : '剪貼簿中有 $1 個項目。', // from v2.1.13 added 6.3.2016 'incSearchOnly' : '僅能在目前的檢視方式中進行累加搜尋。', // from v2.1.13 added 6.30.2016 'reinstate' : '還原', // from v2.1.15 added 3.8.2016 'complete' : '$1已完成', // from v2.1.15 added 21.8.2016 'contextmenu' : '操作功能表', // from v2.1.15 added 9.9.2016 'pageTurning' : '換頁', // from v2.1.15 added 10.9.2016 'volumeRoots' : '磁碟根目錄', // from v2.1.16 added 16.9.2016 'reset' : '重設', // from v2.1.16 added 1.10.2016 'bgcolor' : '背景色彩', // from v2.1.16 added 1.10.2016 'colorPicker' : '色彩選擇器', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px 格狀排列', // from v2.1.16 added 4.10.2016 'enabled' : '啟用', // from v2.1.16 added 4.10.2016 'disabled' : '停用', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : '在目前的檢視方式中搜尋結果為空。\\A按下 Enter 以擴大搜尋目標。', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : '在目前的檢視方式中首個字母搜尋的搜尋結果為空。', // from v2.1.23 added 24.3.2017 'textLabel' : '文字標籤', // from v2.1.17 added 13.10.2016 'minsLeft' : '剩下 $1 分鐘', // from v2.1.17 added 13.11.2016 'openAsEncoding' : '以選取的編碼方式重新開啟', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : '以選取的編碼方式儲存', // from v2.1.19 added 2.12.2016 'selectFolder' : '選取資料夾', // from v2.1.20 added 13.12.2016 'firstLetterSearch': '首個字母搜尋', // from v2.1.23 added 24.3.2017 'presets' : '預設集', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : '由於要移除的檔案數量超過上限,因此無法移至 [回收桶]。', // from v2.1.25 added 9.6.2017 'TextArea' : '文字區域', // from v2.1.25 added 14.6.2017 'folderToEmpty' : '清空資料夾 [$1]。', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : '資料夾 $1 中沒有任何項目。', // from v2.1.25 added 22.6.2017 'preference' : '偏好設定', // from v2.1.26 added 28.6.2017 'language' : '介面語言', // from v2.1.26 added 28.6.2017 'clearBrowserData': '初始化這個瀏覽器中已儲存的設定', // from v2.1.26 added 28.6.2017 'toolbarPref' : '工具列設定', // from v2.1.27 added 2.8.2017 'charsLeft' : '... 剩下 $1 個字元。', // from v2.1.29 added 30.8.2017 'linesLeft' : '... 剩下 $1 行。', // from v2.1.52 added 16.1.2020 'sum' : '總計', // from v2.1.29 added 28.9.2017 'roughFileSize' : '檔案概略大小', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : '聚焦於游標暫留對話方塊的元素', // from v2.1.30 added 2.11.2017 'select' : '選取', // from v2.1.30 added 23.11.2017 'selectAction' : '選取檔案後的動作', // from v2.1.30 added 23.11.2017 'useStoredEditor' : '使用上次的編輯器開啟', // from v2.1.30 added 23.11.2017 'selectinvert' : '反向選取', // from v2.1.30 added 25.11.2017 'renameMultiple' : '確定要將選取的項目 $1 重新命名為 $2?
                      這項操作無法復原!', // from v2.1.31 added 4.12.2017 'batchRename' : '批次重新命名', // from v2.1.31 added 8.12.2017 'plusNumber' : '增加數值', // from v2.1.31 added 8.12.2017 'asPrefix' : '新增前置詞', // from v2.1.31 added 8.12.2017 'asSuffix' : '新增後置詞', // from v2.1.31 added 8.12.2017 'changeExtention' : '變更副檔名', // from v2.1.31 added 8.12.2017 'columnPref' : '欄位設定 (清單檢視)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : '全部變更會立即影響壓縮檔。', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : '在卸載這個磁碟前,任何變更均不會生效。', // from v2.1.33 added 2.3.2018 'unmountChildren' : '掛接在這個磁碟的下列磁碟無法卸載。確定要卸載這個磁碟?', // from v2.1.33 added 5.3.2018 'selectionInfo' : '選取項目資訊', // from v2.1.33 added 7.3.2018 'hashChecker' : '用於顯示檔案雜湊值的演算法', // from v2.1.33 added 10.3.2018 'infoItems' : '資訊項目 (用於選取項目的資訊面板)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': '再按一下以離開。', // from v2.1.38 added 1.4.2018 'toolbar' : '工具列', // from v2.1.38 added 4.4.2018 'workspace' : '工作區', // from v2.1.38 added 4.4.2018 'dialog' : '對話方塊', // from v2.1.38 added 4.4.2018 'all' : '全部', // from v2.1.38 added 4.4.2018 'iconSize' : '圖示尺寸 (圖示檢視)', // from v2.1.39 added 7.5.2018 'editorMaximized' : '開啟最大化編輯器視窗', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : '由於轉換 API 目前無法使用,請在網站上進行轉換。', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : '完成轉換後,必須使用項目的網址上傳或下載檔案以儲存轉換後的檔案。', //from v2.1.40 added 8.7.2018 'convertOn' : '在 $1 的網站上轉換', // from v2.1.40 added 10.7.2018 'integrations' : '整合項目', // from v2.1.40 added 11.7.2018 'integrationWith' : '這裡會列出 elFinder 整合的外部服務。請在使用 elFinder 前先查看這些整合項目的使用條款、隱私權政策等內容。', // from v2.1.40 added 11.7.2018 'showHidden' : '顯示隱藏項目', // from v2.1.41 added 24.7.2018 'hideHidden' : '隱藏隱藏項目', // from v2.1.41 added 24.7.2018 'toggleHidden' : '顯示/隱藏隱藏項目', // from v2.1.41 added 24.7.2018 'makefileTypes' : '新增檔案可以新增的檔案類型', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : '文字檔案類型', // from v2.1.41 added 7.8.2018 'add' : '新增', // from v2.1.41 added 7.8.2018 'theme' : '佈景主題', // from v2.1.43 added 19.10.2018 'default' : '預設', // from v2.1.43 added 19.10.2018 'description' : '內容說明', // from v2.1.43 added 19.10.2018 'website' : '網站', // from v2.1.43 added 19.10.2018 'author' : '開發者', // from v2.1.43 added 19.10.2018 'email' : '電子郵件地址', // from v2.1.43 added 19.10.2018 'license' : '授權方式', // from v2.1.43 added 19.10.2018 'exportToSave' : '這個項目無法儲存。為避免遺失編輯資料,必須將資料匯出至個人裝置。', // from v2.1.44 added 1.12.2018 'dblclickToSelect': '按兩下檔案以選取。', // from v2.1.47 added 22.1.2019 'useFullscreen' : '使用全螢幕模式', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : '未知', 'kindRoot' : '磁碟根目錄', // from v2.1.16 added 16.10.2016 'kindFolder' : '資料夾', 'kindSelects' : 'Selections', // from v2.1.29 added 29.8.2017 'kindAlias' : '別名', 'kindAliasBroken' : '中斷的別名', // applications 'kindApp' : '應用程式', 'kindPostscript' : 'PostScript 文件', 'kindMsOffice' : 'Microsoft Office 文件', 'kindMsWord' : 'Microsoft Word 文件', 'kindMsExcel' : 'Microsoft Excel 試算表', 'kindMsPP' : 'Microsoft Powerpoint 簡報', 'kindOO' : 'Open Office 文件', 'kindAppFlash' : 'Flash 應用程式', 'kindPDF' : 'PDF 文件', 'kindTorrent' : 'Bittorrent 檔案', 'kind7z' : '7z 壓縮檔', 'kindTAR' : 'TAR 壓縮檔', 'kindGZIP' : 'GZIP 壓縮檔', 'kindBZIP' : 'BZIP 壓縮檔', 'kindXZ' : 'XZ 壓縮檔', 'kindZIP' : 'ZIP 壓縮檔', 'kindRAR' : 'RAR 壓縮檔', 'kindJAR' : 'Java JAR 檔案', 'kindTTF' : 'True Type 字型', 'kindOTF' : 'Open Type 字型', 'kindRPM' : 'RPM 封裝檔案', // texts 'kindText' : '文字檔案', 'kindTextPlain' : '純文字', 'kindPHP' : 'PHP 原始程式碼', 'kindCSS' : '階層式樣式表 (CSS)', 'kindHTML' : 'HTML 文件', 'kindJS' : 'JavaScript 原始程式碼', 'kindRTF' : 'RTF 格式', 'kindC' : 'C 原始程式碼', 'kindCHeader' : 'C 標頭原始程式碼', 'kindCPP' : 'C++ 原始程式碼', 'kindCPPHeader' : 'C++ 標頭原始程式碼', 'kindShell' : 'Unix 殼層指令碼', 'kindPython' : 'Python 原始程式碼', 'kindJava' : 'Java 原始程式碼', 'kindRuby' : 'Ruby 原始程式碼', 'kindPerl' : 'Perl 指令碼', 'kindSQL' : 'SQL 原始程式碼', 'kindXML' : 'XML 文件', 'kindAWK' : 'AWK 原始程式碼', 'kindCSV' : '逗點分隔值 (CSV)', 'kindDOCBOOK' : 'Docbook XML 文件', 'kindMarkdown' : 'Markdown 文字', // added 20.7.2015 // images 'kindImage' : '圖片', 'kindBMP' : 'BMP 圖片', 'kindJPEG' : 'JPEG 圖片', 'kindGIF' : 'GIF 圖片', 'kindPNG' : 'PNG 圖片', 'kindTIFF' : 'TIFF 圖片', 'kindTGA' : 'TGA 圖片', 'kindPSD' : 'Adobe Photoshop 圖片', 'kindXBITMAP' : 'X bitmap 圖片', 'kindPXM' : 'Pixelmator 圖片', // media 'kindAudio' : '音訊', 'kindAudioMPEG' : 'MPEG 音訊', 'kindAudioMPEG4' : 'MPEG-4 音訊', 'kindAudioMIDI' : 'MIDI 音訊', 'kindAudioOGG' : 'Ogg Vorbis 音訊', 'kindAudioWAV' : 'WAV 音訊', 'AudioPlaylist' : 'MP3 播放清單', 'kindVideo' : '視訊', 'kindVideoDV' : 'DV 影片', 'kindVideoMPEG' : 'MPEG 影片', 'kindVideoMPEG4' : 'MPEG-4 影片', 'kindVideoAVI' : 'AVI 影片', 'kindVideoMOV' : 'Quick Time 影片', 'kindVideoWM' : 'Windows Media 影片', 'kindVideoFlash' : 'Flash 影片', 'kindVideoMKV' : 'Matroska 影片', 'kindVideoOGG' : 'Ogg 影片' } }; })); wp-file-manager/lib/js/proxy/elFinderSupportVer1.js000064400000023701151202472330016305 0ustar00/** * elFinder transport to support old protocol. * * @example * jQuery('selector').elfinder({ * .... * transport : new elFinderSupportVer1() * }) * * @author Dmitry (dio) Levashov **/ window.elFinderSupportVer1 = function(upload) { "use strict"; var self = this, dateObj, today, yesterday, getDateString = function(date) { return date.replace('Today', today).replace('Yesterday', yesterday); }; dateObj = new Date(); today = dateObj.getFullYear() + '/' + (dateObj.getMonth() + 1) + '/' + dateObj.getDate(); dateObj = new Date(Date.now() - 86400000); yesterday = dateObj.getFullYear() + '/' + (dateObj.getMonth() + 1) + '/' + dateObj.getDate(); this.upload = upload || 'auto'; this.init = function(fm) { this.fm = fm; this.fm.parseUploadData = function(text) { var data; if (!jQuery.trim(text)) { return {error : ['errResponse', 'errDataEmpty']}; } try { data = JSON.parse(text); } catch (e) { return {error : ['errResponse', 'errDataNotJSON']}; } return self.normalize('upload', data); }; }; this.send = function(opts) { var self = this, fm = this.fm, dfrd = jQuery.Deferred(), cmd = opts.data.cmd, args = [], _opts = {}, data, xhr; dfrd.abort = function() { if (xhr.state() == 'pending') { xhr.quiet = true; xhr.abort(); } }; switch (cmd) { case 'open': opts.data.tree = 1; break; case 'parents': case 'tree': return dfrd.resolve({tree : []}); case 'get': opts.data.cmd = 'read'; opts.data.current = fm.file(opts.data.target).phash; break; case 'put': opts.data.cmd = 'edit'; opts.data.current = fm.file(opts.data.target).phash; break; case 'archive': case 'rm': opts.data.current = fm.file(opts.data.targets[0]).phash; break; case 'extract': case 'rename': case 'resize': opts.data.current = fm.file(opts.data.target).phash; break; case 'duplicate': _opts = jQuery.extend(true, {}, opts); jQuery.each(opts.data.targets, function(i, hash) { jQuery.ajax(Object.assign(_opts, {data : {cmd : 'duplicate', target : hash, current : fm.file(hash).phash}})) .fail(function(error) { fm.error(fm.res('error', 'connect')); }) .done(function(data) { data = self.normalize('duplicate', data); if (data.error) { fm.error(data.error); } else if (data.added) { fm.trigger('add', {added : data.added}); } }); }); return dfrd.resolve({}); case 'mkdir': case 'mkfile': opts.data.current = opts.data.target; break; case 'paste': opts.data.current = opts.data.dst; if (! opts.data.tree) { jQuery.each(opts.data.targets, function(i, h) { if (fm.file(h) && fm.file(h).mime === 'directory') { opts.data.tree = '1'; return false; } }); } break; case 'size': return dfrd.resolve({error : fm.res('error', 'cmdsupport')}); case 'search': return dfrd.resolve({error : fm.res('error', 'cmdsupport')}); case 'file': opts.data.cmd = 'open'; opts.data.current = fm.file(opts.data.target).phash; break; } // cmd = opts.data.cmd xhr = jQuery.ajax(opts) .fail(function(error) { dfrd.reject(error); }) .done(function(raw) { data = self.normalize(cmd, raw); dfrd.resolve(data); }); return dfrd; }; // fix old connectors errors messages as possible // this.errors = { // 'Unknown command' : 'Unknown command.', // 'Invalid backend configuration' : 'Invalid backend configuration.', // 'Access denied' : 'Access denied.', // 'PHP JSON module not installed' : 'PHP JSON module not installed.', // 'File not found' : 'File not found.', // 'Invalid name' : 'Invalid file name.', // 'File or folder with the same name already exists' : 'File named "$1" already exists in this location.', // 'Not allowed file type' : 'Not allowed file type.', // 'File exceeds the maximum allowed filesize' : 'File exceeds maximum allowed size.', // 'Unable to copy into itself' : 'Unable to copy "$1" into itself.', // 'Unable to create archive' : 'Unable to create archive.', // 'Unable to extract files from archive' : 'Unable to extract files from "$1".' // } this.normalize = function(cmd, data) { var self = this, fm = this.fm, files = {}, filter = function(file) { return file && file.hash && file.name && file.mime ? file : null; }, getDirs = function(items) { return jQuery.grep(items, function(i) { return i && i.mime && i.mime === 'directory'? true : false; }); }, getTreeDiff = function(files) { var dirs = getDirs(files); treeDiff = fm.diff(dirs, null, ['date', 'ts']); if (treeDiff.added.length) { treeDiff.added = getDirs(treeDiff.added); } if (treeDiff.changed.length) { treeDiff.changed = getDirs(treeDiff.changed); } if (treeDiff.removed.length) { var removed = []; jQuery.each(treeDiff.removed, function(i, h) { var item; if ((item = fm.file(h)) && item.mime === 'directory') { removed.push(h); } }); treeDiff.removed = removed; } return treeDiff; }, phash, diff, isCwd, treeDiff; if ((cmd == 'tmb' || cmd == 'get')) { return data; } // if (data.error) { // jQuery.each(data.error, function(i, msg) { // if (self.errors[msg]) { // data.error[i] = self.errors[msg]; // } // }); // } if (cmd == 'upload' && data.error && data.cwd) { data.warning = Object.assign({}, data.error); data.error = false; } if (data.error) { return data; } if (cmd == 'put') { phash = fm.file(data.target.hash).phash; return {changed : [this.normalizeFile(data.target, phash)]}; } phash = data.cwd.hash; isCwd = (phash == fm.cwd().hash); if (data.tree) { jQuery.each(this.normalizeTree(data.tree), function(i, file) { files[file.hash] = file; }); } jQuery.each(data.cdc||[], function(i, file) { var hash = file.hash, mcts; if (files[hash]) { if (file.date) { mcts = Date.parse(getDateString(file.date)); if (mcts && !isNaN(mcts)) { files[hash].ts = Math.floor(mcts / 1000); } else { files[hash].date = file.date || fm.formatDate(file); } } files[hash].locked = file.hash == phash ? true : file.rm === void(0) ? false : !file.rm; } else { files[hash] = self.normalizeFile(file, phash, data.tmb); } }); if (!data.tree) { jQuery.each(fm.files(), function(hash, file) { if (!files[hash] && file.phash != phash && file.mime == 'directory') { files[hash] = file; } }); } if (cmd == 'open') { return { cwd : files[phash] || this.normalizeFile(data.cwd), files : jQuery.map(files, function(f) { return f; }), options : self.normalizeOptions(data), init : !!data.params, debug : data.debug }; } if (isCwd) { diff = fm.diff(jQuery.map(files, filter)); } else { if (data.tree && cmd !== 'paste') { diff = getTreeDiff(files); } else { diff = { added : [], removed : [], changed : [] }; if (cmd === 'paste') { diff.sync = true; } } } return Object.assign({ current : data.cwd.hash, error : data.error, warning : data.warning, options : {tmb : !!data.tmb} }, diff); }; /** * Convert old api tree into plain array of dirs * * @param Object root dir * @return Array */ this.normalizeTree = function(root) { var self = this, result = [], traverse = function(dirs, phash) { var i, dir; for (i = 0; i < dirs.length; i++) { dir = dirs[i]; result.push(self.normalizeFile(dir, phash)); dir.dirs.length && traverse(dir.dirs, dir.hash); } }; traverse([root]); return result; }; /** * Convert file info from old api format into new one * * @param Object file * @param String parent dir hash * @return Object */ this.normalizeFile = function(file, phash, tmb) { var mime = file.mime || 'directory', size = mime == 'directory' && !file.linkTo ? 0 : file.size, mcts = file.date? Date.parse(getDateString(file.date)) : void 0, info = { url : file.url, hash : file.hash, phash : phash, name : file.name, mime : mime, ts : file.ts, size : size, read : file.read, write : file.write, locked : !phash ? true : file.rm === void(0) ? false : !file.rm }; if (! info.ts) { if (mcts && !isNaN(mcts)) { info.ts = Math.floor(mcts / 1000); } else { info.date = file.date || this.fm.formatDate(file); } } if (file.mime == 'application/x-empty' || file.mime == 'inode/x-empty') { info.mime = 'text/plain'; } if (file.linkTo) { info.alias = file.linkTo; } if (file.linkTo) { info.linkTo = file.linkTo; } if (file.tmb) { info.tmb = file.tmb; } else if (info.mime.indexOf('image/') === 0 && tmb) { info.tmb = 1; } if (file.dirs && file.dirs.length) { info.dirs = true; } if (file.dim) { info.dim = file.dim; } if (file.resize) { info.resize = file.resize; } return info; }; this.normalizeOptions = function(data) { var opts = { path : data.cwd.rel, disabled : jQuery.merge((data.disabled || []), [ 'search', 'netmount', 'zipdl' ]), tmb : !!data.tmb, copyOverwrite : true }; if (data.params) { opts.api = 1; opts.url = data.params.url; opts.archivers = { create : data.params.archives || [], extract : data.params.extract || [] }; } if (opts.path.indexOf('/') !== -1) { opts.separator = '/'; } else if (opts.path.indexOf('\\') !== -1) { opts.separator = '\\'; } return opts; }; }; wp-file-manager/lib/js/ui/button.js000064400000010173151202472330013170 0ustar00/** * @class elFinder toolbar button widget. * If command has variants - create menu * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfinderbutton = function(cmd) { "use strict"; return this.each(function() { var c = 'class', fm = cmd.fm, disabled = fm.res(c, 'disabled'), active = fm.res(c, 'active'), hover = fm.res(c, 'hover'), item = 'elfinder-button-menu-item', selected = 'elfinder-button-menu-item-selected', menu, text = jQuery(''+cmd.title+''), prvCname = cmd.className? cmd.className : cmd.name, button = jQuery(this).addClass('ui-state-default elfinder-button tool-op-'+prvCname) .attr('title', cmd.title) .append('', text) .on('mouseenter mouseleave', function(e) { !button.hasClass(disabled) && button[e.type == 'mouseleave' ? 'removeClass' : 'addClass'](hover);}) .on('click', function(e) { if (!button.hasClass(disabled)) { if (menu && cmd.variants.length >= 1) { // close other menus menu.is(':hidden') && fm.getUI().click(); e.stopPropagation(); menu.css(getMenuOffset()).slideToggle({ duration: 100, done: function(e) { fm[menu.is(':visible')? 'toFront' : 'toHide'](menu); } }); } else { fm.exec(cmd.name, getSelected(), {_userAction: true, _currentType: 'toolbar', _currentNode: button }); } } }), hideMenu = function() { fm.toHide(menu); }, getMenuOffset = function() { var fmNode = fm.getUI(), baseOffset = fmNode.offset(), buttonOffset = button.offset(); return { top : buttonOffset.top - baseOffset.top, left : buttonOffset.left - baseOffset.left, maxHeight : fmNode.height() - 40 }; }, getSelected = function() { var sel = fm.selected(), cwd; if (!sel.length) { if (cwd = fm.cwd()) { sel = [ fm.cwd().hash ]; } else { sel = void(0); } } return sel; }, tm; text.hide(); // set self button object to cmd object cmd.button = button; // if command has variants create menu if (Array.isArray(cmd.variants)) { button.addClass('elfinder-menubutton'); menu = jQuery('
                      ') .hide() .appendTo(fm.getUI()) .on('mouseenter mouseleave', '.'+item, function() { jQuery(this).toggleClass(hover); }) .on('click', '.'+item, function(e) { var opts = jQuery(this).data('value'); e.preventDefault(); e.stopPropagation(); button.removeClass(hover); fm.toHide(menu); if (typeof opts === 'undefined') { opts = {}; } if (typeof opts === 'object') { opts._userAction = true; } fm.exec(cmd.name, getSelected(), opts); }) .on('close', hideMenu); fm.bind('disable select', hideMenu).getUI().on('click', hideMenu); cmd.change(function() { menu.html(''); jQuery.each(cmd.variants, function(i, variant) { menu.append(jQuery('
                      '+variant[1]+'
                      ').data('value', variant[0]).addClass(variant[0] == cmd.value ? selected : '')); }); }); } cmd.change(function() { var cName; tm && cancelAnimationFrame(tm); tm = requestAnimationFrame(function() { if (cmd.disabled()) { button.removeClass(active+' '+hover).addClass(disabled); } else { button.removeClass(disabled); button[cmd.active() ? 'addClass' : 'removeClass'](active); } if (cmd.syncTitleOnChange) { cName = cmd.className? cmd.className : cmd.name; if (prvCname !== cName) { button.children('.elfinder-button-icon').removeClass('elfinder-button-icon-' + prvCname).addClass('elfinder-button-icon-' + cName); if (menu) { menu.removeClass('elfinder-button-' + prvCname + '-menu').addClass('elfinder-button-' + cName + '-menu'); } prvCname = cName; } text.html(cmd.title); button.attr('title', cmd.title); } }); }) .change(); }); }; wp-file-manager/lib/js/ui/contextmenu.js000064400000052721151202472330014233 0ustar00/** * @class elFinder contextmenu * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfindercontextmenu = function(fm) { "use strict"; return this.each(function() { var self = jQuery(this), cmItem = 'elfinder-contextmenu-item', smItem = 'elfinder-contextsubmenu-item', exIcon = 'elfinder-contextmenu-extra-icon', cHover = fm.res('class', 'hover'), dragOpt = { distance: 8, start: function() { menu.data('drag', true).data('touching') && menu.find('.'+cHover).removeClass(cHover); }, stop: function() { menu.data('draged', true).removeData('drag'); } }, menu = jQuery(this).addClass('touch-punch ui-helper-reset ui-front ui-widget ui-state-default ui-corner-all elfinder-contextmenu elfinder-contextmenu-'+fm.direction) .hide() .on('touchstart', function(e) { menu.data('touching', true).children().removeClass(cHover); }) .on('touchend', function(e) { menu.removeData('touching'); }) .on('mouseenter mouseleave', '.'+cmItem, function(e) { jQuery(this).toggleClass(cHover, (e.type === 'mouseenter' || (! menu.data('draged') && menu.data('submenuKeep'))? true : false)); if (menu.data('draged') && menu.data('submenuKeep')) { menu.find('.elfinder-contextmenu-sub:visible').parent().addClass(cHover); } }) .on('mouseenter mouseleave', '.'+exIcon, function(e) { jQuery(this).parent().toggleClass(cHover, e.type === 'mouseleave'); }) .on('mouseenter mouseleave', '.'+cmItem+',.'+smItem, function(e) { var setIndex = function(target, sub) { jQuery.each(sub? subnodes : nodes, function(i, n) { if (target[0] === n) { (sub? subnodes : nodes)._cur = i; if (sub) { subselected = target; } else { selected = target; } return false; } }); }; if (e.originalEvent) { var target = jQuery(this), unHover = function() { if (selected && !selected.children('div.elfinder-contextmenu-sub:visible').length) { selected.removeClass(cHover); } }; if (e.type === 'mouseenter') { // mouseenter if (target.hasClass(smItem)) { // submenu if (subselected) { subselected.removeClass(cHover); } if (selected) { subnodes = selected.find('div.'+smItem); } setIndex(target, true); } else { // menu unHover(); setIndex(target); } } else { // mouseleave if (target.hasClass(smItem)) { //submenu subselected = null; subnodes = null; } else { // menu unHover(); (function(sel) { setTimeout(function() { if (sel === selected) { selected = null; } }, 250); })(selected); } } } }) .on('contextmenu', function(){return false;}) .on('mouseup', function() { setTimeout(function() { menu.removeData('draged'); }, 100); }) .draggable(dragOpt), ltr = fm.direction === 'ltr', subpos = ltr? 'left' : 'right', types = Object.assign({}, fm.options.contextmenu), tpl = '
                      {label}
                      ', item = function(label, icon, callback, opts) { var className = '', style = '', iconClass = '', v, pos; if (opts) { if (opts.className) { className = ' ' + opts.className; } if (opts.iconClass) { iconClass = opts.iconClass; icon = ''; } if (opts.iconImg) { v = opts.iconImg.split(/ +/); pos = v[1] && v[2]? fm.escape(v[1] + 'px ' + v[2] + 'px') : ''; style = ' style="background:url(\''+fm.escape(v[0])+'\') '+(pos? pos : '0 0')+' no-repeat;'+(pos? '' : 'posbackground-size:contain;')+'"'; } } return jQuery(tpl.replace('{icon}', icon ? 'elfinder-button-icon-'+icon : (iconClass? iconClass : '')) .replace('{label}', label) .replace('{style}', style) .replace('{className}', className)) .on('click', function(e) { e.stopPropagation(); e.preventDefault(); callback(); }); }, urlIcon = function(iconUrl) { var v = iconUrl.split(/ +/), pos = v[1] && v[2]? (v[1] + 'px ' + v[2] + 'px') : ''; return { backgroundImage: 'url("'+v[0]+'")', backgroundRepeat: 'no-repeat', backgroundPosition: pos? pos : '', backgroundSize: pos? '' : 'contain' }; }, base, cwd, nodes, selected, subnodes, subselected, autoSyncStop, subHoverTm, autoToggle = function() { var evTouchStart = 'touchstart.contextmenuAutoToggle'; menu.data('hideTm') && clearTimeout(menu.data('hideTm')); if (menu.is(':visible')) { menu.on('touchstart', function(e) { if (e.originalEvent.touches.length > 1) { return; } menu.stop(); fm.toFront(menu); menu.data('hideTm') && clearTimeout(menu.data('hideTm')); }) .data('hideTm', setTimeout(function() { if (menu.is(':visible')) { cwd.find('.elfinder-cwd-file').off(evTouchStart); cwd.find('.elfinder-cwd-file.ui-selected') .one(evTouchStart, function(e) { if (e.originalEvent.touches.length > 1) { return; } var tgt = jQuery(e.target); if (menu.first().length && !tgt.is('input:checkbox') && !tgt.hasClass('elfinder-cwd-select')) { e.stopPropagation(); //e.preventDefault(); open(e.originalEvent.touches[0].pageX, e.originalEvent.touches[0].pageY); cwd.data('longtap', true) tgt.one('touchend', function() { setTimeout(function() { cwd.removeData('longtap'); }, 80); }); return; } cwd.find('.elfinder-cwd-file').off(evTouchStart); }) .one('unselect.'+fm.namespace, function() { cwd.find('.elfinder-cwd-file').off(evTouchStart); }); menu.fadeOut({ duration: 300, fail: function() { menu.css('opacity', '1').show(); }, done: function() { fm.toHide(menu); } }); } }, 4500)); } }, keyEvts = function(e) { var code = e.keyCode, ESC = jQuery.ui.keyCode.ESCAPE, ENT = jQuery.ui.keyCode.ENTER, LEFT = jQuery.ui.keyCode.LEFT, RIGHT = jQuery.ui.keyCode.RIGHT, UP = jQuery.ui.keyCode.UP, DOWN = jQuery.ui.keyCode.DOWN, subent = fm.direction === 'ltr'? RIGHT : LEFT, sublev = subent === RIGHT? LEFT : RIGHT; if (jQuery.inArray(code, [ESC, ENT, LEFT, RIGHT, UP, DOWN]) !== -1) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); if (code == ESC || code === sublev) { if (selected && subnodes && subselected) { subselected.trigger('mouseleave').trigger('submenuclose'); selected.addClass(cHover); subnodes = null; subselected = null; } else { code == ESC && close(); fm.trigger('closecontextmenu'); } } else if (code == UP || code == DOWN) { if (subnodes) { if (subselected) { subselected.trigger('mouseleave'); } if (code == DOWN && (! subselected || subnodes.length <= ++subnodes._cur)) { subnodes._cur = 0; } else if (code == UP && (! subselected || --subnodes._cur < 0)) { subnodes._cur = subnodes.length - 1; } subselected = subnodes.eq(subnodes._cur).trigger('mouseenter'); } else { subnodes = null; if (selected) { selected.trigger('mouseleave'); } if (code == DOWN && (! selected || nodes.length <= ++nodes._cur)) { nodes._cur = 0; } else if (code == UP && (! selected || --nodes._cur < 0)) { nodes._cur = nodes.length - 1; } selected = nodes.eq(nodes._cur).addClass(cHover); } } else if (selected && (code == ENT || code === subent)) { if (selected.hasClass('elfinder-contextmenu-group')) { if (subselected) { code == ENT && subselected.click(); } else { selected.trigger('mouseenter'); subnodes = selected.find('div.'+smItem); subnodes._cur = 0; subselected = subnodes.first().addClass(cHover); } } else { code == ENT && selected.click(); } } } }, open = function(x, y, css) { var width = menu.outerWidth(), height = menu.outerHeight(), bstyle = base.attr('style'), bpos = base.offset(), bwidth = base.width(), bheight = base.height(), mw = fm.UA.Mobile? 40 : 2, mh = fm.UA.Mobile? 20 : 2, x = x - (bpos? bpos.left : 0), y = y - (bpos? bpos.top : 0), css = Object.assign(css || {}, { top : Math.max(0, y + mh + height < bheight ? y + mh : y - (y + height - bheight)), left : Math.max(0, (x < width + mw || x + mw + width < bwidth)? x + mw : x - mw - width), opacity : '1' }), evts; autoSyncStop = true; fm.autoSync('stop'); base.width(bwidth); menu.stop().removeAttr('style').css(css); fm.toFront(menu); menu.show(); base.attr('style', bstyle); css[subpos] = parseInt(menu.width()); menu.find('.elfinder-contextmenu-sub').css(css); if (fm.UA.iOS) { jQuery('div.elfinder div.overflow-scrolling-touch').css('-webkit-overflow-scrolling', 'auto'); } selected = null; subnodes = null; subselected = null; jQuery(document).on('keydown.' + fm.namespace, keyEvts); evts = jQuery._data(document).events; if (evts && evts.keydown) { evts.keydown.unshift(evts.keydown.pop()); } fm.UA.Mobile && autoToggle(); requestAnimationFrame(function() { fm.getUI().one('click.' + fm.namespace, close); }); }, close = function() { fm.getUI().off('click.' + fm.namespace, close); jQuery(document).off('keydown.' + fm.namespace, keyEvts); currentType = currentTargets = null; if (menu.is(':visible') || menu.children().length) { fm.toHide(menu.removeAttr('style').empty().removeData('submenuKeep')); try { if (! menu.draggable('instance')) { menu.draggable(dragOpt); } } catch(e) { if (! menu.hasClass('ui-draggable')) { menu.draggable(dragOpt); } } if (menu.data('prevNode')) { menu.data('prevNode').after(menu); menu.removeData('prevNode'); } fm.trigger('closecontextmenu'); if (fm.UA.iOS) { jQuery('div.elfinder div.overflow-scrolling-touch').css('-webkit-overflow-scrolling', 'touch'); } } autoSyncStop && fm.searchStatus.state < 1 && ! fm.searchStatus.ininc && fm.autoSync(); autoSyncStop = false; }, create = function(type, targets) { var sep = false, insSep = false, disabled = [], isCwd = type === 'cwd', selcnt = 0, cmdMap; currentType = type; currentTargets = targets; // get current uiCmdMap option if (!(cmdMap = fm.option('uiCmdMap', isCwd? void(0) : targets[0]))) { cmdMap = {}; } if (!isCwd) { disabled = fm.getDisabledCmds(targets); } selcnt = fm.selected().length; if (selcnt > 1) { menu.append('
                      ' + fm.i18n('selectedItems', ''+selcnt) + '
                      '); } nodes = jQuery(); jQuery.each(types[type]||[], function(i, name) { var cmd, cmdName, useMap, node, submenu, hover; if (name === '|') { if (sep) { insSep = true; } return; } if (cmdMap[name]) { cmdName = cmdMap[name]; useMap = true; } else { cmdName = name; } cmd = fm.getCommand(cmdName); if (cmd && !isCwd && (!fm.searchStatus.state || !cmd.disableOnSearch)) { cmd.__disabled = cmd._disabled; cmd._disabled = !(cmd.alwaysEnabled || (fm._commands[cmdName] ? jQuery.inArray(name, disabled) === -1 && (!useMap || !disabled[cmdName]) : false)); jQuery.each(cmd.linkedCmds, function(i, n) { var c; if (c = fm.getCommand(n)) { c.__disabled = c._disabled; c._disabled = !(c.alwaysEnabled || (fm._commands[n] ? !disabled[n] : false)); } }); } if (cmd && !cmd._disabled && cmd.getstate(targets) != -1) { if (cmd.variants) { if (!cmd.variants.length) { return; } node = item(cmd.title, cmd.className? cmd.className : cmd.name, function(){}, cmd.contextmenuOpts); submenu = jQuery('
                      ') .hide() .css('max-height', fm.getUI().height() - 30) .appendTo(node.append('')); hover = function(show){ if (! show) { submenu.hide(); } else { var bstyle = base.attr('style'); base.width(base.width()); // top: '-1000px' to prevent visible scrollbar of window with the elFinder option `height: '100%'` submenu.css({ top: '-1000px', left: 'auto', right: 'auto' }); var nodeOffset = node.offset(), nodeleft = nodeOffset.left, nodetop = nodeOffset.top, nodewidth = node.outerWidth(), width = submenu.outerWidth(true), height = submenu.outerHeight(true), baseOffset = base.offset(), wwidth = baseOffset.left + base.width(), wheight = baseOffset.top + base.height(), cltr = ltr, x = nodewidth, y, over; if (ltr) { over = (nodeleft + nodewidth + width) - wwidth; if (over > 10) { if (nodeleft > width - 5) { x = x - 5; cltr = false; } else { if (!fm.UA.Mobile) { x = nodewidth - over; } } } } else { over = width - nodeleft; if (over > 0) { if ((nodeleft + nodewidth + width - 15) < wwidth) { x = x - 5; cltr = true; } else { if (!fm.UA.Mobile) { x = nodewidth - over; } } } } over = (nodetop + 5 + height) - wheight; y = (over > 0 && nodetop < wheight)? 5 - over : (over > 0? 30 - height : 5); menu.find('.elfinder-contextmenu-sub:visible').hide(); submenu.css({ top : y, left : cltr? x : 'auto', right: cltr? 'auto' : x, overflowY: 'auto' }).show(); base.attr('style', bstyle); } }; node.addClass('elfinder-contextmenu-group') .on('mouseleave', '.elfinder-contextmenu-sub', function(e) { if (! menu.data('draged')) { menu.removeData('submenuKeep'); } }) .on('submenuclose', '.elfinder-contextmenu-sub', function(e) { hover(false); }) .on('click', '.'+smItem, function(e){ var opts, $this; e.stopPropagation(); if (! menu.data('draged')) { $this = jQuery(this); if (!cmd.keepContextmenu) { menu.hide(); } else { $this.removeClass(cHover); node.addClass(cHover); } opts = $this.data('exec'); if (typeof opts === 'undefined') { opts = {}; } if (typeof opts === 'object') { opts._userAction = true; opts._currentType = type; opts._currentNode = $this; } !cmd.keepContextmenu && close(); fm.exec(cmd.name, targets, opts); } }) .on('touchend', function(e) { if (! menu.data('drag')) { hover(true); menu.data('submenuKeep', true); } }) .on('mouseenter mouseleave', function(e){ if (! menu.data('touching')) { if (node.data('timer')) { clearTimeout(node.data('timer')); node.removeData('timer'); } if (!jQuery(e.target).closest('.elfinder-contextmenu-sub', menu).length) { if (e.type === 'mouseleave') { if (! menu.data('submenuKeep')) { node.data('timer', setTimeout(function() { node.removeData('timer'); hover(false); }, 250)); } } else { node.data('timer', setTimeout(function() { node.removeData('timer'); hover(true); }, nodes.find('div.elfinder-contextmenu-sub:visible').length? 250 : 0)); } } } }); jQuery.each(cmd.variants, function(i, variant) { var item = variant === '|' ? '
                      ' : jQuery('
                      '+variant[1]+'
                      ').data('exec', variant[0]), iconClass, icon; if (typeof variant[2] !== 'undefined') { icon = jQuery('').addClass('elfinder-button-icon elfinder-contextmenu-icon'); if (! /\//.test(variant[2])) { icon.addClass('elfinder-button-icon-'+variant[2]); } else { icon.css(urlIcon(variant[2])); } item.prepend(icon).addClass(smItem+'-icon'); } submenu.append(item); }); } else { node = item(cmd.title, cmd.className? cmd.className : cmd.name, function() { if (! menu.data('draged')) { !cmd.keepContextmenu && close(); fm.exec(cmd.name, targets, {_userAction: true, _currentType: type, _currentNode: node}); } }, cmd.contextmenuOpts); if (cmd.extra && cmd.extra.node) { jQuery('') .append(cmd.extra.node).appendTo(node); jQuery(cmd.extra.node).trigger('ready', {targets: targets}); } else { node.remove('.'+exIcon); } } if (cmd.extendsCmd) { node.children('span.elfinder-button-icon').addClass('elfinder-button-icon-' + cmd.extendsCmd); } if (insSep) { menu.append('
                      '); } menu.append(node); sep = true; insSep = false; } if (cmd && typeof cmd.__disabled !== 'undefined') { cmd._disabled = cmd.__disabled; delete cmd.__disabled; jQuery.each(cmd.linkedCmds, function(i, n) { var c; if (c = fm.getCommand(n)) { c._disabled = c.__disabled; delete c.__disabled; } }); } }); nodes = menu.children('div.'+cmItem); }, createFromRaw = function(raw) { currentType = 'raw'; jQuery.each(raw, function(i, data) { var node; if (data === '|') { menu.append('
                      '); } else if (data.label && typeof data.callback == 'function') { node = item(data.label, data.icon, function() { if (! menu.data('draged')) { !data.remain && close(); data.callback(); } }, data.options || null); menu.append(node); } }); nodes = menu.children('div.'+cmItem); }, currentType = null, currentTargets = null; fm.one('load', function() { base = fm.getUI(); cwd = fm.getUI('cwd'); fm.bind('contextmenu', function(e) { var data = e.data, css = {}, prevNode; if (data.type && data.type !== 'files') { cwd.trigger('unselectall'); } close(); if (data.type && data.targets) { fm.trigger('contextmenucreate', data); create(data.type, data.targets); fm.trigger('contextmenucreatedone', data); } else if (data.raw) { createFromRaw(data.raw); } if (menu.children().length) { prevNode = data.prevNode || null; if (prevNode) { menu.data('prevNode', menu.prev()); prevNode.after(menu); } if (data.fitHeight) { css = {maxHeight: Math.min(fm.getUI().height(), jQuery(window).height()), overflowY: 'auto'}; menu.draggable('destroy').removeClass('ui-draggable'); } open(data.x, data.y, css); // call opened callback function if (data.opened && typeof data.opened === 'function') { data.opened.call(menu); } } }) .one('destroy', function() { menu.remove(); }) .bind('disable', close) .bind('select', function(e){ (currentType === 'files' && (!e.data || e.data.selected.toString() !== currentTargets.toString())) && close(); }); }) .shortcut({ pattern : fm.OS === 'mac' ? 'ctrl+m' : 'contextmenu shift+f10', description : 'contextmenu', callback : function(e) { e.stopPropagation(); e.preventDefault(); jQuery(document).one('contextmenu.' + fm.namespace, function(e) { e.preventDefault(); e.stopPropagation(); }); var sel = fm.selected(), type, targets, pos, elm; if (sel.length) { type = 'files'; targets = sel; elm = fm.cwdHash2Elm(sel[0]); } else { type = 'cwd'; targets = [ fm.cwd().hash ]; pos = fm.getUI('workzone').offset(); } if (! elm || ! elm.length) { elm = fm.getUI('workzone'); } pos = elm.offset(); pos.top += (elm.height() / 2); pos.left += (elm.width() / 2); fm.trigger('contextmenu', { 'type' : type, 'targets' : targets, 'x' : pos.left, 'y' : pos.top }); } }); }); }; wp-file-manager/lib/js/ui/cwd.js000064400000257233151202472340012445 0ustar00/** * elFinder current working directory ui. * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfindercwd = function(fm, options) { "use strict"; this.not('.elfinder-cwd').each(function() { // fm.time('cwdLoad'); var mobile = fm.UA.Mobile, list = fm.viewType == 'list', undef = 'undefined', /** * Select event full name * * @type String **/ evtSelect = 'select.'+fm.namespace, /** * Unselect event full name * * @type String **/ evtUnselect = 'unselect.'+fm.namespace, /** * Disable event full name * * @type String **/ evtDisable = 'disable.'+fm.namespace, /** * Disable event full name * * @type String **/ evtEnable = 'enable.'+fm.namespace, c = 'class', /** * File css class * * @type String **/ clFile = fm.res(c, 'cwdfile'), /** * Selected css class * * @type String **/ fileSelector = '.'+clFile, /** * Selected css class * * @type String **/ clSelected = 'ui-selected', /** * Disabled css class * * @type String **/ clDisabled = fm.res(c, 'disabled'), /** * Draggable css class * * @type String **/ clDraggable = fm.res(c, 'draggable'), /** * Droppable css class * * @type String **/ clDroppable = fm.res(c, 'droppable'), /** * Hover css class * * @type String **/ clHover = fm.res(c, 'hover'), /** * Active css class * * @type String **/ clActive = fm.res(c, 'active'), /** * Hover css class * * @type String **/ clDropActive = fm.res(c, 'adroppable'), /** * Css class for temporary nodes (for mkdir/mkfile) commands * * @type String **/ clTmp = clFile+'-tmp', /** * Select checkbox css class * * @type String */ clSelChk = 'elfinder-cwd-selectchk', /** * Number of thumbnails to load in one request (new api only) * * @type Number **/ tmbNum = fm.options.loadTmbs > 0 ? fm.options.loadTmbs : 5, /** * Current search query. * * @type String */ query = '', /** * Currect clipboard(cut) hashes as object key * * @type Object */ clipCuts = {}, /** * Parents hashes of cwd * * @type Array */ cwdParents = [], /** * cwd current hashes * * @type Array */ cwdHashes = [], /** * incsearch current hashes * * @type Array */ incHashes = void 0, /** * Custom columns name and order * * @type Array */ customCols = [], /** * Current clicked element id of first time for dblclick * * @type String */ curClickId = '', /** * Custom columns builder * * @type Function */ customColsBuild = function() { var cols = ''; for (var i = 0; i < customCols.length; i++) { cols += '{' + customCols[i] + '}'; } return cols; }, /** * Make template.row from customCols * * @type Function */ makeTemplateRow = function() { return '
                      {marker}{name}
                      '+selectCheckbox+''+customColsBuild()+''; }, selectCheckbox = (jQuery.map(options.showSelectCheckboxUA, function(t) {return (fm.UA[t] || t.match(/^all$/i))? true : null;}).length)? '
                      ' : '', colResizing = false, colWidth = null, /** * Table header height */ thHeight, /** * File templates * * @type Object **/ templates = { icon : '
                      {marker}
                      {name}
                      '+selectCheckbox+'
                      ', row : '' }, permsTpl = fm.res('tpl', 'perms'), lockTpl = fm.res('tpl', 'lock'), symlinkTpl = fm.res('tpl', 'symlink'), /** * Template placeholders replacement rules * * @type Object **/ replacement = { id : function(f) { return fm.cwdHash2Id(f.hash); }, name : function(f) { var name = fm.escape(f.i18 || f.name); !list && (name = name.replace(/([_.])/g, '​$1')); return name; }, nametitle : function(f) { return fm.escape(f.i18 || f.name); }, permsclass : function(f) { return fm.perms2class(f); }, perm : function(f) { return fm.formatPermissions(f); }, dirclass : function(f) { var cName = f.mime == 'directory' ? 'directory' : ''; f.isroot && (cName += ' isroot'); f.csscls && (cName += ' ' + fm.escape(f.csscls)); options.getClass && (cName += ' ' + options.getClass(f)); return cName; }, style : function(f) { return f.icon? fm.getIconStyle(f) : ''; }, mime : function(f) { var cName = fm.mime2class(f.mime); f.icon && (cName += ' elfinder-cwd-bgurl'); return cName; }, size : function(f) { return (f.mime === 'directory' && !f.size)? '-' : fm.formatSize(f.size); }, date : function(f) { return fm.formatDate(f); }, kind : function(f) { return fm.mime2kind(f); }, mode : function(f) { return f.perm? fm.formatFileMode(f.perm) : ''; }, modestr : function(f) { return f.perm? fm.formatFileMode(f.perm, 'string') : ''; }, modeoct : function(f) { return f.perm? fm.formatFileMode(f.perm, 'octal') : ''; }, modeboth : function(f) { return f.perm? fm.formatFileMode(f.perm, 'both') : ''; }, marker : function(f) { return (f.alias || f.mime == 'symlink-broken' ? symlinkTpl : '')+(!f.read || !f.write ? permsTpl : '')+(f.locked ? lockTpl : ''); }, tooltip : function(f) { var title = fm.formatDate(f) + (f.size > 0 ? ' ('+fm.formatSize(f.size)+')' : ''), info = ''; if (query && f.path) { info = fm.escape(f.path.replace(/\/[^\/]*$/, '')); } else { info = f.tooltip? fm.escape(f.tooltip).replace(/\r/g, ' ') : ''; } if (list) { info += (info? ' ' : '') + fm.escape(f.i18 || f.name); } return info? info + ' ' + title : title; } }, /** * Type badge CSS added flag * * @type Object */ addedBadges = {}, /** * Type badge style sheet element * * @type Object */ addBadgeStyleSheet, /** * Add type badge CSS into 'head' * * @type Fundtion */ addBadgeStyle = function(mime, name) { var sel, ext, type; if (mime && ! addedBadges[mime]) { if (typeof addBadgeStyleSheet === 'undefined') { if (jQuery('#elfinderAddBadgeStyle'+fm.namespace).length) { jQuery('#elfinderAddBadgeStyle'+fm.namespace).remove(); } addBadgeStyleSheet = jQuery('').insertBefore(jQuery('head').children(':first')).get(0).sheet || null; } if (addBadgeStyleSheet) { mime = mime.toLowerCase(); type = mime.split('/'); ext = fm.escape(fm.mimeTypes[mime] || (name.replace(/.bac?k$/i, '').match(/\.([^.]+)$/) || ['',''])[1]); if (ext) { sel = '.elfinder-cwd-icon-' + type[0].replace(/(\.|\+)/g, '-'); if (typeof type[1] !== 'undefined') { sel += '.elfinder-cwd-icon-' + type[1].replace(/(\.|\+)/g, '-'); } try { addBadgeStyleSheet.insertRule(sel + ':before{content:"' + ext.toLowerCase() + '"}', 0); } catch(e) {} } addedBadges[mime] = true; } } }, /** * Return file html * * @param Object file info * @return String **/ itemhtml = function(f) { f.mime && f.mime !== 'directory' && !addedBadges[f.mime] && addBadgeStyle(f.mime, f.name); return templates[list ? 'row' : 'icon'] .replace(/\{([a-z0-9_]+)\}/g, function(s, e) { return replacement[e] ? replacement[e](f, fm) : (f[e] ? f[e] : ''); }); }, /** * jQueery node that will be selected next * * @type Object jQuery node */ selectedNext = jQuery(), /** * Flag. Required for msie to avoid unselect files on dragstart * * @type Boolean **/ selectLock = false, /** * Move selection to prev/next file * * @param String move direction * @param Boolean append to current selection * @return void * @rise select */ select = function(keyCode, append) { var code = jQuery.ui.keyCode, prev = keyCode == code.LEFT || keyCode == code.UP, sel = cwd.find('[id].'+clSelected), selector = prev ? 'first:' : 'last', s, n, sib, top, left; function sibling(n, direction) { return n[direction+'All']('[id]:not(.'+clDisabled+'):not(.elfinder-cwd-parent):first'); } if (sel.length) { s = sel.filter(prev ? ':first' : ':last'); sib = sibling(s, prev ? 'prev' : 'next'); if (!sib.length) { // there is no sibling on required side - do not move selection n = s; } else if (list || keyCode == code.LEFT || keyCode == code.RIGHT) { // find real prevoius file n = sib; } else { // find up/down side file in icons view top = s.position().top; left = s.position().left; n = s; if (prev) { do { n = n.prev('[id]'); } while (n.length && !(n.position().top < top && n.position().left <= left)); if (n.hasClass(clDisabled)) { n = sibling(n, 'next'); } } else { do { n = n.next('[id]'); } while (n.length && !(n.position().top > top && n.position().left >= left)); if (n.hasClass(clDisabled)) { n = sibling(n, 'prev'); } // there is row before last one - select last file if (!n.length) { sib = cwd.find('[id]:not(.'+clDisabled+'):last'); if (sib.position().top > top) { n = sib; } } } } // !append && unselectAll(); } else { if (selectedNext.length) { n = prev? selectedNext.prev() : selectedNext; } else { // there are no selected file - select first/last one n = cwd.find('[id]:not(.'+clDisabled+'):not(.elfinder-cwd-parent):'+(prev ? 'last' : 'first')); } } if (n && n.length && !n.hasClass('elfinder-cwd-parent')) { if (s && append) { // append new files to selected n = s.add(s[prev ? 'prevUntil' : 'nextUntil']('#'+n.attr('id'))).add(n); } else { // unselect selected files sel.trigger(evtUnselect); } // select file(s) n.trigger(evtSelect); // set its visible scrollToView(n.filter(prev ? ':first' : ':last')); // update cache/view trigger(); } }, selectedFiles = {}, selectFile = function(hash) { fm.cwdHash2Elm(hash).trigger(evtSelect); }, allSelected = false, selectAll = function() { var phash = fm.cwd().hash; selectCheckbox && selectAllCheckbox.find('input').prop('checked', true); fm.lazy(function() { var files; if (fm.maxTargets && (incHashes || cwdHashes).length > fm.maxTargets) { unselectAll({ notrigger: true }); files = jQuery.map(incHashes || cwdHashes, function(hash) { return fm.file(hash) || null; }); files = files.slice(0, fm.maxTargets); selectedFiles = {}; jQuery.each(files, function(i, v) { selectedFiles[v.hash] = true; fm.cwdHash2Elm(v.hash).trigger(evtSelect); }); fm.toast({mode: 'warning', msg: fm.i18n(['errMaxTargets', fm.maxTargets])}); } else { cwd.find('[id]:not(.'+clSelected+'):not(.elfinder-cwd-parent)').trigger(evtSelect); selectedFiles = fm.arrayFlip(incHashes || cwdHashes, true); } trigger(); selectCheckbox && selectAllCheckbox.data('pending', false); }, 0, {repaint: true}); }, /** * Unselect all files * * @param Object options * @return void */ unselectAll = function(opts) { var o = opts || {}; selectCheckbox && selectAllCheckbox.find('input').prop('checked', false); if (Object.keys(selectedFiles).length) { selectLock = false; selectedFiles = {}; cwd.find('[id].'+clSelected).trigger(evtUnselect); selectCheckbox && cwd.find('input:checkbox.'+clSelChk).prop('checked', false); } !o.notrigger && trigger(); selectCheckbox && selectAllCheckbox.data('pending', false); cwd.removeClass('elfinder-cwd-allselected'); }, selectInvert = function() { var invHashes = {}; if (allSelected) { unselectAll(); } else if (! Object.keys(selectedFiles).length) { selectAll(); } else { jQuery.each((incHashes || cwdHashes), function(i, h) { var itemNode = fm.cwdHash2Elm(h); if (! selectedFiles[h]) { invHashes[h] = true; itemNode.length && itemNode.trigger(evtSelect); } else { itemNode.length && itemNode.trigger(evtUnselect); } }); selectedFiles = invHashes; trigger(); } }, /** * Return selected files hashes list * * @return Array */ selected = function() { return Object.keys(selectedFiles); }, /** * Last selected node id * * @type String|Void */ lastSelect = void 0, /** * Fire elfinder "select" event and pass selected files to it * * @return void */ trigger = function() { var selected = Object.keys(selectedFiles), opts = { selected : selected, origin : 'cwd' }; if (oldSchoolItem && (selected.length > 1 || selected[0] !== fm.cwdId2Hash( oldSchoolItem.attr('id'))) && oldSchoolItem.hasClass(clSelected)) { oldSchoolItem.trigger(evtUnselect); } allSelected = selected.length && (selected.length === (incHashes || cwdHashes).length) && (!fm.maxTargets || selected.length <= fm.maxTargets); if (selectCheckbox) { selectAllCheckbox.find('input').prop('checked', allSelected); cwd[allSelected? 'addClass' : 'removeClass']('elfinder-cwd-allselected'); } if (allSelected) { opts.selectall = true; } else if (! selected.length) { opts.unselectall = true; } fm.trigger('select', opts); }, /** * Scroll file to set it visible * * @param DOMElement file/dir node * @return void */ scrollToView = function(o, blink) { if (! o.length) { return; } var ftop = o.position().top, fheight = o.outerHeight(true), wtop = wrapper.scrollTop(), wheight = wrapper.get(0).clientHeight, thheight = tableHeader? tableHeader.outerHeight(true) : 0; if (ftop + thheight + fheight > wtop + wheight) { wrapper.scrollTop(parseInt(ftop + thheight + fheight - wheight)); } else if (ftop < wtop) { wrapper.scrollTop(ftop); } list && wrapper.scrollLeft(0); !!blink && fm.resources.blink(o, 'lookme'); }, /** * Files we get from server but not show yet * * @type Array **/ buffer = [], /** * Extra data of buffer * * @type Object **/ bufferExt = {}, /** * Return index of elements with required hash in buffer * * @param String file hash * @return Number */ index = function(hash) { var l = buffer.length; while (l--) { if (buffer[l].hash == hash) { return l; } } return -1; }, /** * Scroll start event name * * @type String **/ scrollStartEvent = 'elfscrstart', /** * Scroll stop event name * * @type String **/ scrollEvent = 'elfscrstop', scrolling = false, /** * jQuery UI selectable option * * @type Object */ selectableOption = { disabled : true, filter : '[id]:first', stop : trigger, delay : 250, appendTo : 'body', autoRefresh: false, selected : function(e, ui) { jQuery(ui.selected).trigger(evtSelect); }, unselected : function(e, ui) { jQuery(ui.unselected).trigger(evtUnselect); } }, /** * hashes of items displayed in current view * * @type Object ItemHash => DomId */ inViewHashes = {}, /** * Processing when the current view is changed (On open, search, scroll, resize etc.) * * @return void */ wrapperRepaint = function(init, recnt) { if (!bufferExt.renderd) { return; } var firstNode = (list? cwd.find('tbody:first') : cwd).children('[id]'+(options.oldSchool? ':not(.elfinder-cwd-parent)' : '')+':first'); if (!firstNode.length) { return; } var selectable = cwd.data('selectable'), rec = (function() { var wos = wrapper.offset(), ww = wrapper.width(), w = jQuery(window), x = firstNode.width() / 2, l = Math.min(wos.left - w.scrollLeft() + (fm.direction === 'ltr'? x : ww - x), wos.left + ww - 10), t = wos.top - w.scrollTop() + 10 + (list? thHeight : 0); return {left: Math.max(0, Math.round(l)), top: Math.max(0, Math.round(t))}; })(), tgt = init? firstNode : jQuery(document.elementFromPoint(rec.left , rec.top)), ids = {}, tmbs = {}, multi = 5, cnt = Math.ceil((bufferExt.hpi? Math.ceil((wz.data('rectangle').height / bufferExt.hpi) * 1.5) : showFiles) / multi), chk = function() { var id, hash, file, i; for (i = 0; i < multi; i++) { id = tgt.attr('id'); if (id) { bufferExt.getTmbs = []; hash = fm.cwdId2Hash(id); inViewHashes[hash] = id; // for tmbs if (bufferExt.attachTmbs[hash]) { tmbs[hash] = bufferExt.attachTmbs[hash]; } // for selectable selectable && (ids[id] = true); } // next node tgt = tgt.next(); if (!tgt.length) { break; } } }, done = function() { var idsArr; if (cwd.data('selectable')) { Object.assign(ids, selectedFiles); idsArr = Object.keys(ids); if (idsArr.length) { selectableOption.filter = '#'+idsArr.join(', #'); cwd.selectable('enable').selectable('option', {filter : selectableOption.filter}).selectable('refresh'); } } if (Object.keys(tmbs).length) { bufferExt.getTmbs = []; attachThumbnails(tmbs); } }, setTarget = function() { if (!tgt.hasClass(clFile)) { tgt = tgt.closest(fileSelector); } }, arr, widget; inViewHashes = {}; selectable && cwd.selectable('option', 'disabled'); if (tgt.length) { if (!tgt.hasClass(clFile) && !tgt.closest(fileSelector).length) { // dialog, serach button etc. widget = fm.getUI().find('.ui-dialog:visible,.ui-widget:visible'); if (widget.length) { widget.hide(); tgt = jQuery(document.elementFromPoint(rec.left , rec.top)); widget.show(); } else { widget = null; } } setTarget(); if (!tgt.length) { // try search 5px down widget && widget.hide(); tgt = jQuery(document.elementFromPoint(rec.left , rec.top + 5)); widget && widget.show(); setTarget(); } } if (tgt.length) { if (tgt.attr('id')) { if (init) { for (var i = 0; i < cnt; i++) { chk(); if (! tgt.length) { break; } } done(); } else { bufferExt.repaintJob && bufferExt.repaintJob.state() === 'pending' && bufferExt.repaintJob.reject(); arr = new Array(cnt); bufferExt.repaintJob = fm.asyncJob(function() { chk(); if (! tgt.length) { done(); bufferExt.repaintJob && bufferExt.repaintJob.state() === 'pending' && bufferExt.repaintJob.reject(); } }, arr).done(done); } } } else if (init && bufferExt.renderd) { // In initial request, cwd DOM not renderd so doing lazy check recnt = recnt || 0; if (recnt < 10) { // Prevent infinite loop requestAnimationFrame(function() { wrapperRepaint(init, ++recnt); }); } } }, /** * Item node of oldScholl ".." */ oldSchoolItem = null, /** * display parent folder with ".." name * * @param String phash * @return void */ oldSchool = function(p) { var phash = fm.cwd().phash, pdir = fm.file(phash) || null, set = function(pdir) { if (pdir) { oldSchoolItem = jQuery(itemhtml(jQuery.extend(true, {}, pdir, {name : '..', i18 : '..', mime : 'directory'}))) .addClass('elfinder-cwd-parent') .on('dblclick', function() { fm.trigger('select', {selected : [phash]}).exec('open', phash); }); (list ? oldSchoolItem.children('td:first') : oldSchoolItem).children('.elfinder-cwd-select').remove(); if (fm.cwdHash2Elm(phash).length) { fm.cwdHash2Elm(phash).replaceWith(oldSchoolItem); } else { (list ? cwd.find('tbody') : cwd).prepend(oldSchoolItem); } fm.draggingUiHelper && fm.draggingUiHelper.data('refreshPositions', 1); } }; if (pdir) { set(pdir); } else { set({hash: phash, read: true, write: true}); if (fm.getUI('tree').length) { fm.one('parents', function() { set(fm.file(phash) || null); wrapper.trigger(scrollEvent); }); } else { fm.request({ data : {cmd : 'parents', target : fm.cwd().hash}, preventFail : true }) .done(function(data) { set(fm.file(phash) || null); wrapper.trigger(scrollEvent); }); } } }, showFiles = fm.options.showFiles, /** * Cwd scroll event handler. * Lazy load - append to cwd not shown files * * @return void */ render = function() { if (bufferExt.rendering || (bufferExt.renderd && ! buffer.length)) { return; } var place = (list ? cwd.children('table').children('tbody') : cwd), phash, chk, // created document fragment for jQuery >= 1.12, 2.2, 3.0 // see Studio-42/elFinder#1544 @ github docFlag = jQuery.htmlPrefilter? true : false, tempDom = docFlag? jQuery(document.createDocumentFragment()) : jQuery('
                      '), go = function(o){ var over = o || null, html = [], dirs = false, atmb = {}, stmb = (fm.option('tmbUrl') === 'self'), init = bufferExt.renderd? false : true, files, locks, selected; files = buffer.splice(0, showFiles + (over || 0) / (bufferExt.hpi || 1)); bufferExt.renderd += files.length; if (! buffer.length) { bottomMarker.hide(); wrapper.off(scrollEvent, render); } locks = []; html = jQuery.map(files, function(f) { if (f.hash && f.name) { if (f.mime == 'directory') { dirs = true; } if ((f.tmb && (f.tmb != 1 || f.size > 0)) || (stmb && f.mime.indexOf('image/') === 0)) { atmb[f.hash] = f.tmb || 'self'; } clipCuts[f.hash] && locks.push(f.hash); return itemhtml(f); } return null; }); // html into temp node tempDom.empty().append(html.join('')); // make directory droppable dirs && !mobile && makeDroppable(tempDom); // check selected items selected = []; if (Object.keys(selectedFiles).length) { tempDom.find('[id]:not(.'+clSelected+'):not(.elfinder-cwd-parent)').each(function() { selectedFiles[fm.cwdId2Hash(this.id)] && selected.push(jQuery(this)); }); } // append to cwd place.append(docFlag? tempDom : tempDom.children()); // trigger select if (selected.length) { jQuery.each(selected, function(i, n) { n.trigger(evtSelect); }); trigger(); } locks.length && fm.trigger('lockfiles', {files: locks}); !bufferExt.hpi && bottomMarkerShow(place, files.length); if (list) { // show thead cwd.find('thead').show(); // fixed table header fixTableHeader({fitWidth: ! colWidth}); } if (Object.keys(atmb).length) { Object.assign(bufferExt.attachTmbs, atmb); } if (init) { if (! mobile && ! cwd.data('selectable')) { // make files selectable cwd.selectable(selectableOption).data('selectable', true); } } ! scrolling && wrapper.trigger(scrollEvent); }; if (! bufferExt.renderd) { // first time to go() bufferExt.rendering = true; // scroll top on dir load to avoid scroll after page reload wrapper.scrollTop(0); phash = fm.cwd().phash; go(); if (options.oldSchool) { if (phash && !query) { oldSchool(phash); } else { oldSchoolItem = jQuery(); } } if (list) { colWidth && setColwidth(); fixTableHeader({fitWidth: true}); } bufferExt.itemH = (list? place.find('tr:first') : place.find('[id]:first')).outerHeight(true); fm.trigger('cwdrender'); bufferExt.rendering = false; wrapperRepaint(true); } if (! bufferExt.rendering && buffer.length) { // next go() if ((chk = (wrapper.height() + wrapper.scrollTop() + fm.options.showThreshold + bufferExt.row) - (bufferExt.renderd * bufferExt.hpi)) > 0) { bufferExt.rendering = true; fm.lazy(function() { go(chk); bufferExt.rendering = false; }); } else { !fm.enabled() && resize(); } } else { resize(); } }, // fixed table header jQuery object tableHeader = null, // Is UA support CSS sticky cssSticky = fm.UA.CSS.positionSticky && fm.UA.CSS.widthMaxContent, // To fixed table header colmun fixTableHeader = function(optsArg) { thHeight = 0; if (! options.listView.fixedHeader) { return; } var setPos = function() { var val, pos; pos = (fm.direction === 'ltr')? 'left' : 'right'; val = ((fm.direction === 'ltr')? wrapper.scrollLeft() : table.outerWidth(true) - wrapper.width() - wrapper.scrollLeft()) * -1; if (base.css(pos) !== val) { base.css(pos, val); } }, opts = optsArg || {}, cnt, base, table, htable, thead, tbody, hheight, htr, btr, htd, btd, htw, btw, init; tbody = cwd.find('tbody'); btr = tbody.children('tr:first'); if (btr.length && btr.is(':visible')) { table = tbody.parent(); if (! tableHeader) { init = true; tbody.addClass('elfinder-cwd-fixheader'); thead = cwd.find('thead').attr('id', fm.namespace+'-cwd-thead'); htr = thead.children('tr:first'); hheight = htr.outerHeight(true); cwd.css('margin-top', hheight - parseInt(table.css('padding-top'))); if (cssSticky) { tableHeader = jQuery('
                      ').addClass(cwd.attr('class')).append(jQuery('
                      ').append(thead)); cwd.after(tableHeader); wrapper.on('resize.fixheader', function(e) { e.stopPropagation(); fixTableHeader({fitWidth: true}); }); } else { base = jQuery('
                      ').addClass(cwd.attr('class')).append(jQuery('
                      ').append(thead)); tableHeader = jQuery('
                      ').addClass(wrapper.attr('class') + ' elfinder-cwd-fixheader') .removeClass('ui-droppable native-droppable') .css(wrapper.position()) .css({ height: hheight, width: cwd.outerWidth() }) .append(base); if (fm.direction === 'rtl') { tableHeader.css('left', (wrapper.data('width') - wrapper.width()) + 'px'); } setPos(); wrapper.after(tableHeader) .on('scroll.fixheader resize.fixheader', function(e) { setPos(); if (e.type === 'resize') { e.stopPropagation(); tableHeader.css(wrapper.position()); wrapper.data('width', wrapper.css('overflow', 'hidden').width()); wrapper.css('overflow', 'auto'); fixTableHeader(); } }); } } else { thead = jQuery('#'+fm.namespace+'-cwd-thead'); htr = thead.children('tr:first'); } if (init || opts.fitWidth || Math.abs(btr.outerWidth() - htr.outerWidth()) > 2) { cnt = customCols.length + 1; for (var i = 0; i < cnt; i++) { htd = htr.children('td:eq('+i+')'); btd = btr.children('td:eq('+i+')'); htw = htd.width(); btw = btd.width(); if (typeof htd.data('delta') === 'undefined') { htd.data('delta', (htd.outerWidth() - htw) - (btd.outerWidth() - btw)); } btw -= htd.data('delta'); if (! init && ! opts.fitWidth && htw === btw) { break; } htd.css('width', btw + 'px'); } } if (!cssSticky) { tableHeader.data('widthTimer') && cancelAnimationFrame(tableHeader.data('widthTimer')); tableHeader.data('widthTimer', requestAnimationFrame(function() { if (tableHeader) { tableHeader.css('width', mBoard.width() + 'px'); if (fm.direction === 'rtl') { tableHeader.css('left', (wrapper.data('width') - wrapper.width()) + 'px'); } } })); } thHeight = thead.height(); } }, // Set colmun width setColwidth = function() { if (list && colWidth) { var cl = 'elfinder-cwd-colwidth', first = cwd.find('tr[id]:first'), former; if (! first.hasClass(cl)) { former = cwd.find('tr.'+cl); former.removeClass(cl).find('td').css('width', ''); first.addClass(cl); cwd.find('table:first').css('table-layout', 'fixed'); jQuery.each(jQuery.merge(['name'], customCols), function(i, k) { var w = colWidth[k] || first.find('td.elfinder-col-'+k).width(); first.find('td.elfinder-col-'+k).width(w); }); } } }, /** * Droppable options for cwd. * Drop target is `wrapper` * Do not add class on childs file over * * @type Object */ droppable = Object.assign({}, fm.droppable, { over : function(e, ui) { var dst = jQuery(this), helper = ui.helper, ctr = fm._commands.copy && (e.shiftKey || e.ctrlKey || e.metaKey), hash, status, inParent; e.stopPropagation(); helper.data('dropover', helper.data('dropover') + 1); dst.data('dropover', true); helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus'); if (helper.data('namespace') !== fm.namespace || ! fm.insideWorkzone(e.pageX, e.pageY)) { dst.removeClass(clDropActive); //helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus'); return; } if (dst.hasClass(fm.res(c, 'cwdfile'))) { hash = fm.cwdId2Hash(dst.attr('id')); dst.data('dropover', hash); } else { hash = fm.cwd().hash; fm.cwd().write && dst.data('dropover', hash); } inParent = (fm.file(helper.data('files')[0]).phash === hash); if (dst.data('dropover') === hash) { jQuery.each(helper.data('files'), function(i, h) { if (h === hash || (inParent && !ctr && !helper.hasClass('elfinder-drag-helper-plus'))) { dst.removeClass(clDropActive); return false; // break jQuery.each } }); } else { dst.removeClass(clDropActive); } if (helper.data('locked') || inParent) { status = 'elfinder-drag-helper-plus'; } else { status = 'elfinder-drag-helper-move'; if (ctr) { status += ' elfinder-drag-helper-plus'; } } dst.hasClass(clDropActive) && helper.addClass(status); requestAnimationFrame(function(){ dst.hasClass(clDropActive) && helper.addClass(status); }); }, out : function(e, ui) { var helper = ui.helper; e.stopPropagation(); helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus').data('dropover', Math.max(helper.data('dropover') - 1, 0)); jQuery(this).removeData('dropover') .removeClass(clDropActive); }, deactivate : function() { jQuery(this).removeData('dropover') .removeClass(clDropActive); }, drop : function(e, ui) { unselectAll({ notrigger: true }); fm.droppable.drop.call(this, e, ui); } }), /** * Make directory droppable * * @return void */ makeDroppable = function(place) { place = place? place : (list ? cwd.find('tbody') : cwd); var targets = place.children('.directory:not(.'+clDroppable+',.elfinder-na,.elfinder-ro)'); if (fm.isCommandEnabled('paste')) { targets.droppable(droppable); } if (fm.isCommandEnabled('upload')) { targets.addClass('native-droppable'); } place.children('.isroot').each(function(i, n) { var $n = jQuery(n), hash = fm.cwdId2Hash(n.id); if (fm.isCommandEnabled('paste', hash)) { if (! $n.hasClass(clDroppable+',elfinder-na,elfinder-ro')) { $n.droppable(droppable); } } else { if ($n.hasClass(clDroppable)) { $n.droppable('destroy'); } } if (fm.isCommandEnabled('upload', hash)) { if (! $n.hasClass('native-droppable,elfinder-na,elfinder-ro')) { $n.addClass('native-droppable'); } } else { if ($n.hasClass('native-droppable')) { $n.removeClass('native-droppable'); } } }); }, /** * Preload required thumbnails and on load add css to files. * Return false if required file is not visible yet (in buffer) - * required for old api to stop loading thumbnails. * * @param Object file hash -> thumbnail map * @param Bool reload * @return void */ attachThumbnails = function(tmbs, reload) { var attach = function(node, tmb) { jQuery('') .on('load', function() { node.find('.elfinder-cwd-icon').addClass(tmb.className).css('background-image', "url('"+tmb.url+"')"); }) .attr('src', tmb.url); }, chk = function(hash, tmb) { var node = fm.cwdHash2Elm(hash), file, tmbObj, reloads = []; if (node.length) { if (tmb != '1') { file = fm.file(hash); if (file.tmb !== tmb) { file.tmb = tmb; } tmbObj = fm.tmb(file); if (reload) { node.find('.elfinder-cwd-icon').addClass(tmbObj.className).css('background-image', "url('"+tmbObj.url+"')"); } else { attach(node, tmbObj); } delete bufferExt.attachTmbs[hash]; } else { if (reload) { loadThumbnails([hash]); } else if (! bufferExt.tmbLoading[hash]) { bufferExt.getTmbs.push(hash); } } } }; if (jQuery.isPlainObject(tmbs) && Object.keys(tmbs).length) { Object.assign(bufferExt.attachTmbs, tmbs); jQuery.each(tmbs, chk); if (! reload && bufferExt.getTmbs.length && ! Object.keys(bufferExt.tmbLoading).length) { loadThumbnails(); } } }, /** * Load thumbnails from backend. * * @param Array|void reloads hashes list for reload thumbnail items * @return void */ loadThumbnails = function(reloads) { var tmbs = [], reload = false; if (fm.oldAPI) { fm.request({ data : {cmd : 'tmb', current : fm.cwd().hash}, preventFail : true }) .done(function(data) { if (data.images && Object.keys(data.images).length) { attachThumbnails(data.images); } if (data.tmb) { loadThumbnails(); } }); return; } if (reloads) { reload = true; tmbs = reloads.splice(0, tmbNum); } else { tmbs = bufferExt.getTmbs.splice(0, tmbNum); } if (tmbs.length) { if (reload || inViewHashes[tmbs[0]] || inViewHashes[tmbs[tmbs.length-1]]) { jQuery.each(tmbs, function(i, h) { bufferExt.tmbLoading[h] = true; }); fm.request({ data : {cmd : 'tmb', targets : tmbs}, preventFail : true }) .done(function(data) { var errs = [], resLen; if (data.images) { if (resLen = Object.keys(data.images).length) { if (resLen < tmbs.length) { jQuery.each(tmbs, function(i, h) { if (! data.images[h]) { errs.push(h); } }); } attachThumbnails(data.images, reload); } else { errs = tmbs; } // unset error items from bufferExt.attachTmbs if (errs.length) { jQuery.each(errs, function(i, h) { delete bufferExt.attachTmbs[h]; }); } } if (reload) { if (reloads.length) { loadThumbnails(reloads); } } }) .always(function() { bufferExt.tmbLoading = {}; if (! reload && bufferExt.getTmbs.length) { loadThumbnails(); } }); } } }, /** * Add new files to cwd/buffer * * @param Array new files * @return void */ add = function(files, mode) { var place = list ? cwd.find('tbody') : cwd, l = files.length, atmb = {}, findNode = function(file) { var pointer = cwd.find('[id]:first'), file2; while (pointer.length) { file2 = fm.file(fm.cwdId2Hash(pointer.attr('id'))); if (!pointer.hasClass('elfinder-cwd-parent') && file2 && fm.compare(file, file2) < 0) { return pointer; } pointer = pointer.next('[id]'); } }, findIndex = function(file) { var l = buffer.length, i; for (i =0; i < l; i++) { if (fm.compare(file, buffer[i]) < 0) { return i; } } return l || -1; }, // created document fragment for jQuery >= 1.12, 2.2, 3.0 // see Studio-42/elFinder#1544 @ github docFlag = jQuery.htmlPrefilter? true : false, tempDom = docFlag? jQuery(document.createDocumentFragment()) : jQuery('
                      '), file, hash, node, nodes, ndx, stmb; if (l > showFiles) { // re-render for performance tune content(); selectedFiles = fm.arrayFlip(jQuery.map(files, function(f) { return f.hash; }), true); trigger(); } else { // add the item immediately l && wz.removeClass('elfinder-cwd-wrapper-empty'); // Self thumbnail stmb = (fm.option('tmbUrl') === 'self'); while (l--) { file = files[l]; hash = file.hash; if (fm.cwdHash2Elm(hash).length) { continue; } if ((node = findNode(file)) && ! node.length) { node = null; } if (! node && (ndx = findIndex(file)) >= 0) { buffer.splice(ndx, 0, file); } else { tempDom.empty().append(itemhtml(file)); (file.mime === 'directory') && !mobile && makeDroppable(tempDom); nodes = docFlag? tempDom : tempDom.children(); if (node) { node.before(nodes); } else { place.append(nodes); } ++bufferExt.renderd; } if (fm.cwdHash2Elm(hash).length) { if ((file.tmb && (file.tmb != 1 || file.size > 0)) || (stmb && file.mime.indexOf('image/') === 0)) { atmb[hash] = file.tmb || 'self'; } } } if (list) { setColwidth(); fixTableHeader({fitWidth: ! colWidth}); } bottomMarkerShow(place); if (Object.keys(atmb).length) { Object.assign(bufferExt.attachTmbs, atmb); if (buffer.length < 1) { loadThumbnails(); } } } }, /** * Remove files from cwd/buffer * * @param Array files hashes * @return void */ remove = function(files) { var l = files.length, inSearch = fm.searchStatus.state > 1, curCmd = fm.getCommand(fm.currentReqCmd) || {}, hash, n, ndx, found; // removed cwd if (!fm.cwd().hash && !curCmd.noChangeDirOnRemovedCwd) { jQuery.each(cwdParents.reverse(), function(i, h) { if (fm.file(h)) { found = true; fm.one(fm.currentReqCmd + 'done', function() { !fm.cwd().hash && fm.exec('open', h); }); return false; } }); // fallback to fm.roots[0] !found && !fm.cwd().hash && fm.exec('open', fm.roots[Object.keys(fm.roots)[0]]); return; } while (l--) { hash = files[l]; if ((n = fm.cwdHash2Elm(hash)).length) { try { n.remove(); --bufferExt.renderd; } catch(e) { fm.debug('error', e); } } else if ((ndx = index(hash)) !== -1) { buffer.splice(ndx, 1); } selectedFiles[hash] && delete selectedFiles[hash]; if (inSearch) { if ((ndx = jQuery.inArray(hash, cwdHashes)) !== -1) { cwdHashes.splice(ndx, 1); } } } inSearch && fm.trigger('cwdhasheschange', cwdHashes); if (list) { setColwidth(); fixTableHeader({fitWidth: ! colWidth}); } }, customColsNameBuild = function() { var name = '', customColsName = ''; for (var i = 0; i < customCols.length; i++) { name = fm.getColumnName(customCols[i]); customColsName +=''+name+''; } return customColsName; }, setItemBoxSize = function(boxSize) { var place, elm; if (!boxSize.height) { place = (list ? cwd.find('tbody') : cwd); elm = place.find(list? 'tr:first' : '[id]:first'); boxSize.height = elm.outerHeight(true); if (!list) { boxSize.width = elm.outerWidth(true); } } }, bottomMarkerShow = function(cur, cnt) { var place = cur || (list ? cwd.find('tbody') : cwd), boxSize = itemBoxSize[fm.viewType], col = 1, row; if (buffer.length > 0) { if (!bufferExt.hpi) { setItemBoxSize(boxSize); if (! list) { col = Math.floor(place.width() / boxSize.width); bufferExt.row = boxSize.height; bufferExt.hpi = bufferExt.row / col; } else { bufferExt.row = bufferExt.hpi = boxSize.height; } } else if (!list) { col = Math.floor(place.width() / boxSize.width); } row = Math.ceil((buffer.length + (cnt || 0)) / col); if (list && tableHeader) { ++row; } bottomMarker.css({top: (bufferExt.row * row) + 'px'}).show(); } }, wrapperContextMenu = { contextmenu : function(e) { e.preventDefault(); if (cwd.data('longtap') !== void(0)) { e.stopPropagation(); return; } fm.trigger('contextmenu', { 'type' : 'cwd', 'targets' : [fm.cwd().hash], 'x' : e.pageX, 'y' : e.pageY }); }, touchstart : function(e) { if (e.originalEvent.touches.length > 1) { return; } if (cwd.data('longtap') !== false) { wrapper.data('touching', {x: e.originalEvent.touches[0].pageX, y: e.originalEvent.touches[0].pageY}); cwd.data('tmlongtap', setTimeout(function(){ // long tap cwd.data('longtap', true); fm.trigger('contextmenu', { 'type' : 'cwd', 'targets' : [fm.cwd().hash], 'x' : wrapper.data('touching').x, 'y' : wrapper.data('touching').y }); }, 500)); } cwd.data('longtap', null); }, touchend : function(e) { if (e.type === 'touchmove') { if (! wrapper.data('touching') || ( Math.abs(wrapper.data('touching').x - e.originalEvent.touches[0].pageX) + Math.abs(wrapper.data('touching').y - e.originalEvent.touches[0].pageY)) > 4) { wrapper.data('touching', null); } } else { setTimeout(function() { cwd.removeData('longtap'); }, 80); } clearTimeout(cwd.data('tmlongtap')); }, click : function(e) { if (cwd.data('longtap')) { e.preventDefault(); e.stopPropagation(); } } }, /** * Update directory content * * @return void */ content = function() { fm.lazy(function() { var phash, emptyMethod, thtr; wz.append(selectAllCheckbox).removeClass('elfinder-cwd-wrapper-empty elfinder-search-result elfinder-incsearch-result elfinder-letsearch-result'); if (fm.searchStatus.state > 1 || fm.searchStatus.ininc) { wz.addClass('elfinder-search-result' + (fm.searchStatus.ininc? ' elfinder-'+(query.substr(0,1) === '/' ? 'let':'inc')+'search-result' : '')); } // abort attachThumbJob bufferExt.attachThumbJob && bufferExt.attachThumbJob._abort(); // destroy selectable for GC cwd.data('selectable') && cwd.selectable('disable').selectable('destroy').removeData('selectable'); // notify cwd init fm.trigger('cwdinit'); selectedNext = jQuery(); try { // to avoid problem with draggable cwd.empty(); } catch (e) { cwd.html(''); } if (tableHeader) { wrapper.off('scroll.fixheader resize.fixheader'); tableHeader.remove(); tableHeader = null; } cwd.removeClass('elfinder-cwd-view-icons elfinder-cwd-view-list') .addClass('elfinder-cwd-view-'+(list ? 'list' :'icons')) .attr('style', '') .css('height', 'auto'); bottomMarker.hide(); wrapper[list ? 'addClass' : 'removeClass']('elfinder-cwd-wrapper-list')._padding = parseInt(wrapper.css('padding-top')) + parseInt(wrapper.css('padding-bottom')); if (fm.UA.iOS) { wrapper.removeClass('overflow-scrolling-touch').addClass('overflow-scrolling-touch'); } if (list) { cwd.html('
                      '); thtr = jQuery(''+fm.getColumnName('name')+''+customColsNameBuild()+''); cwd.find('thead').hide().append(thtr).find('td:first').append(selectAllCheckbox); if (jQuery.fn.sortable) { thtr.addClass('touch-punch touch-punch-keep-default') .sortable({ axis: 'x', distance: 8, items: '> .sortable-item', start: function(e, ui) { jQuery(ui.item[0]).data('dragging', true); ui.placeholder .width(ui.helper.removeClass('ui-state-hover').width()) .removeClass('ui-state-active') .addClass('ui-state-hover') .css('visibility', 'visible'); }, update: function(e, ui){ var target = jQuery(ui.item[0]).attr('class').split(' ')[0].replace('elfinder-cwd-view-th-', ''), prev, done; customCols = jQuery.map(jQuery(this).children(), function(n) { var name = jQuery(n).attr('class').split(' ')[0].replace('elfinder-cwd-view-th-', ''); if (! done) { if (target === name) { done = true; } else { prev = name; } } return (name === 'name')? null : name; }); templates.row = makeTemplateRow(); fm.storage('cwdCols', customCols); prev = '.elfinder-col-'+prev+':first'; target = '.elfinder-col-'+target+':first'; fm.lazy(function() { cwd.find('tbody tr').each(function() { var $this = jQuery(this); $this.children(prev).after($this.children(target)); }); }); }, stop: function(e, ui) { setTimeout(function() { jQuery(ui.item[0]).removeData('dragging'); }, 100); } }); } thtr.find('td').addClass('touch-punch').resizable({ handles: fm.direction === 'ltr'? 'e' : 'w', start: function(e, ui) { var target = cwd.find('td.elfinder-col-' + ui.element.attr('class').split(' ')[0].replace('elfinder-cwd-view-th-', '') + ':first'); ui.element .data('dragging', true) .data('resizeTarget', target) .data('targetWidth', target.width()); colResizing = true; if (cwd.find('table').css('table-layout') !== 'fixed') { cwd.find('tbody tr:first td').each(function() { jQuery(this).width(jQuery(this).width()); }); cwd.find('table').css('table-layout', 'fixed'); } }, resize: function(e, ui) { ui.element.data('resizeTarget').width(ui.element.data('targetWidth') - (ui.originalSize.width - ui.size.width)); }, stop : function(e, ui) { colResizing = false; fixTableHeader({fitWidth: true}); colWidth = {}; cwd.find('tbody tr:first td').each(function() { var name = jQuery(this).attr('class').split(' ')[0].replace('elfinder-col-', ''); colWidth[name] = jQuery(this).width(); }); fm.storage('cwdColWidth', colWidth); setTimeout(function() { ui.element.removeData('dragging'); }, 100); } }) .find('.ui-resizable-handle').addClass('ui-icon ui-icon-grip-dotted-vertical'); } buffer = jQuery.map(incHashes || cwdHashes, function(hash) { return fm.file(hash) || null; }); buffer = fm.sortFiles(buffer); if (incHashes) { incHashes = jQuery.map(buffer, function(f) { return f.hash; }); } else { cwdHashes = jQuery.map(buffer, function(f) { return f.hash; }); } bufferExt = { renderd: 0, attachTmbs: {}, getTmbs: [], tmbLoading: {}, lazyOpts: { tm : 0 } }; wz[(buffer.length < 1) ? 'addClass' : 'removeClass']('elfinder-cwd-wrapper-empty'); wrapper.off(scrollEvent, render).on(scrollEvent, render).trigger(scrollEvent); // set droppable if (!fm.cwd().write) { wrapper.removeClass('native-droppable') .droppable('disable') .removeClass('ui-state-disabled'); // for old jQueryUI see https://bugs.jqueryui.com/ticket/5974 } else { wrapper[fm.isCommandEnabled('upload')? 'addClass' : 'removeClass']('native-droppable'); wrapper.droppable(fm.isCommandEnabled('paste')? 'enable' : 'disable'); } }); }, /** * CWD node itself * * @type JQuery **/ cwd = jQuery(this) .addClass('ui-helper-clearfix elfinder-cwd') .attr('unselectable', 'on') // fix ui.selectable bugs and add shift+click support .on('click.'+fm.namespace, fileSelector, function(e) { var p = this.id ? jQuery(this) : jQuery(this).parents('[id]:first'), tgt = jQuery(e.target), prev, next, pl, nl, sib; if (selectCheckbox && (tgt.is('input:checkbox.'+clSelChk) || tgt.hasClass('elfinder-cwd-select'))) { e.stopPropagation(); e.preventDefault(); p.trigger(p.hasClass(clSelected) ? evtUnselect : evtSelect); trigger(); requestAnimationFrame(function() { tgt.prop('checked', p.hasClass(clSelected)); }); return; } if (cwd.data('longtap') || tgt.hasClass('elfinder-cwd-nonselect')) { e.stopPropagation(); return; } if (!curClickId) { curClickId = p.attr('id'); setTimeout(function() { curClickId = ''; }, 500); } if (e.shiftKey) { prev = p.prevAll(lastSelect || '.'+clSelected+':first'); next = p.nextAll(lastSelect || '.'+clSelected+':first'); pl = prev.length; nl = next.length; } if (e.shiftKey && (pl || nl)) { sib = pl ? p.prevUntil('#'+prev.attr('id')) : p.nextUntil('#'+next.attr('id')); sib = sib.add(p); if (!pl) { sib = jQuery(sib.get().reverse()); } sib.trigger(evtSelect); } else if (e.ctrlKey || e.metaKey) { p.trigger(p.hasClass(clSelected) ? evtUnselect : evtSelect); } else { if (wrapper.data('touching') && p.hasClass(clSelected)) { wrapper.data('touching', null); fm.dblclick({file : fm.cwdId2Hash(this.id)}); return; } else { unselectAll({ notrigger: true }); p.trigger(evtSelect); } } trigger(); }) // call fm.open() .on('dblclick.'+fm.namespace, fileSelector, function(e) { if (curClickId) { var hash = fm.cwdId2Hash(curClickId); e.stopPropagation(); if (this.id !== curClickId) { jQuery(this).trigger(evtUnselect); jQuery('#'+curClickId).trigger(evtSelect); trigger(); } fm.dblclick({file : hash}); } }) // for touch device .on('touchstart.'+fm.namespace, fileSelector, function(e) { if (e.originalEvent.touches.length > 1) { return; } var p = this.id ? jQuery(this) : jQuery(this).parents('[id]:first'), tgt = jQuery(e.target), nodeName = e.target.nodeName, sel; if ((nodeName === 'INPUT' && e.target.type === 'text') || nodeName === 'TEXTAREA' || tgt.hasClass('elfinder-cwd-nonselect')) { e.stopPropagation(); return; } // now name editing if (p.find('input:text,textarea').length) { e.stopPropagation(); e.preventDefault(); return; } wrapper.data('touching', {x: e.originalEvent.touches[0].pageX, y: e.originalEvent.touches[0].pageY}); if (selectCheckbox && (tgt.is('input:checkbox.'+clSelChk) || tgt.hasClass('elfinder-cwd-select'))) { return; } sel = p.prevAll('.'+clSelected+':first').length + p.nextAll('.'+clSelected+':first').length; cwd.data('longtap', null); if (Object.keys(selectedFiles).length || (list && e.target.nodeName !== 'TD') || (!list && this !== e.target) ) { cwd.data('longtap', false); p.addClass(clHover); p.data('tmlongtap', setTimeout(function(){ // long tap cwd.data('longtap', true); p.trigger(evtSelect); trigger(); fm.trigger('contextmenu', { 'type' : 'files', 'targets' : fm.selected(), 'x' : e.originalEvent.touches[0].pageX, 'y' : e.originalEvent.touches[0].pageY }); }, 500)); } }) .on('touchmove.'+fm.namespace+' touchend.'+fm.namespace, fileSelector, function(e) { var tgt = jQuery(e.target), p; if (selectCheckbox && (tgt.is('input:checkbox.'+clSelChk) || tgt.hasClass('elfinder-cwd-select'))) { return; } if (e.target.nodeName == 'INPUT' || e.target.nodeName == 'TEXTAREA') { e.stopPropagation(); return; } p = this.id ? jQuery(this) : jQuery(this).parents('[id]:first'); clearTimeout(p.data('tmlongtap')); if (e.type === 'touchmove') { wrapper.data('touching', null); p.removeClass(clHover); } else { if (wrapper.data('touching') && !cwd.data('longtap') && p.hasClass(clSelected)) { e.preventDefault(); wrapper.data('touching', null); fm.dblclick({file : fm.cwdId2Hash(this.id)}); } setTimeout(function() { cwd.removeData('longtap'); }, 80); } }) // attach draggable .on('mouseenter.'+fm.namespace, fileSelector, function(e) { if (scrolling) { return; } var $this = jQuery(this), helper = null; if (!mobile && !$this.data('dragRegisted') && !$this.hasClass(clTmp) && !$this.hasClass(clDraggable) && !$this.hasClass(clDisabled)) { $this.data('dragRegisted', true); if (!fm.isCommandEnabled('copy', fm.searchStatus.state > 1 || $this.hasClass('isroot')? fm.cwdId2Hash($this.attr('id')) : void 0) && !fm.isCommandEnabled('cut', fm.searchStatus.state > 1 || $this.hasClass('isroot')? fm.cwdId2Hash($this.attr('id')) : void 0)) { return; } $this.on('mousedown', function(e) { // shiftKey or altKey + drag start for HTML5 native drag function // Note: can no use shiftKey with the Google Chrome var metaKey = options.metakeyDragout && !fm.UA.IE && (e.shiftKey || e.altKey), disable = false; if (metaKey && cwd.data('selectable')) { // destroy jQuery-ui selectable while trigger native drag cwd.selectable('disable').selectable('destroy').removeData('selectable'); requestAnimationFrame(function(){ cwd.selectable(selectableOption).selectable('option', {disabled: false}).selectable('refresh').data('selectable', true); }); } $this.removeClass('ui-state-disabled'); if (metaKey) { $this.draggable('option', 'disabled', true).attr('draggable', 'true'); } else { if (!$this.hasClass(clSelected)) { if (list) { disable = jQuery(e.target).closest('span,tr').is('tr'); } else { disable = jQuery(e.target).hasClass('elfinder-cwd-file'); } } if (disable) { // removeClass('ui-state-disabled') for old version of jQueryUI $this.draggable('option', 'disabled', true).removeClass('ui-state-disabled'); } else { $this.draggable('option', 'disabled', false) .removeAttr('draggable') .draggable('option', 'cursorAt', {left: 50 - parseInt(jQuery(e.currentTarget).css('margin-left')), top: 47}); } } }) .on('dragstart', function(e) { var dt = e.dataTransfer || e.originalEvent.dataTransfer || null; helper = null; if (dt && !fm.UA.IE) { var p = this.id ? jQuery(this) : jQuery(this).parents('[id]:first'), elm = jQuery(''), url = '', durl = null, murl = null, files = [], icon = function(f) { var mime = f.mime, i, tmb = fm.tmb(f); i = '
                      '; if (tmb) { i = jQuery(i).addClass(tmb.className).css('background-image', "url('"+tmb.url+"')").get(0).outerHTML; } return i; }, l, geturl = []; p.trigger(evtSelect); trigger(); jQuery.each(selectedFiles, function(v){ var file = fm.file(v), furl = file.url; if (file && file.mime !== 'directory') { if (!furl) { furl = fm.url(file.hash); } else if (furl == '1') { geturl.push(v); return true; } if (furl) { furl = fm.convAbsUrl(furl); files.push(v); jQuery('').attr('href', furl).text(furl).appendTo(elm); url += furl + "\n"; if (!durl) { durl = file.mime + ':' + file.name + ':' + furl; } if (!murl) { murl = furl + "\n" + file.name; } } } }); if (geturl.length) { jQuery.each(geturl, function(i, v){ var rfile = fm.file(v); rfile.url = ''; fm.request({ data : {cmd : 'url', target : v}, notify : {type : 'url', cnt : 1}, preventDefault : true }) .always(function(data) { rfile.url = data.url? data.url : '1'; }); }); return false; } else if (url) { if (dt.setDragImage) { helper = jQuery('
                      ').append(icon(fm.file(files[0]))).appendTo(jQuery(document.body)); if ((l = files.length) > 1) { helper.append(icon(fm.file(files[l-1])) + ''+l+''); } dt.setDragImage(helper.get(0), 50, 47); } dt.effectAllowed = 'copyLink'; dt.setData('DownloadURL', durl); dt.setData('text/x-moz-url', murl); dt.setData('text/uri-list', url); dt.setData('text/plain', url); dt.setData('text/html', elm.html()); dt.setData('elfinderfrom', window.location.href + fm.cwd().hash); dt.setData('elfinderfrom:' + dt.getData('elfinderfrom'), ''); } else { return false; } } }) .on('dragend', function(e){ unselectAll({ notrigger: true }); helper && helper.remove(); }) .draggable(fm.draggable); } }) // add hover class to selected file .on(evtSelect, fileSelector, function(e) { var $this = jQuery(this), id = fm.cwdId2Hash($this.attr('id')); if (!selectLock && !$this.hasClass(clDisabled)) { lastSelect = '#'+ this.id; $this.addClass(clSelected).children().addClass(clHover).find('input:checkbox.'+clSelChk).prop('checked', true); if (! selectedFiles[id]) { selectedFiles[id] = true; } // will be selected next selectedNext = cwd.find('[id].'+clSelected+':last').next(); } }) // remove hover class from unselected file .on(evtUnselect, fileSelector, function(e) { var $this = jQuery(this), id = fm.cwdId2Hash($this.attr('id')); if (!selectLock) { $this.removeClass(clSelected).children().removeClass(clHover).find('input:checkbox.'+clSelChk).prop('checked', false); if (cwd.hasClass('elfinder-cwd-allselected')) { selectCheckbox && selectAllCheckbox.children('input').prop('checked', false); cwd.removeClass('elfinder-cwd-allselected'); } selectedFiles[id] && delete selectedFiles[id]; } }) // disable files wich removing or moving .on(evtDisable, fileSelector, function() { var $this = jQuery(this).removeClass(clHover+' '+clSelected).addClass(clDisabled), child = $this.children(), target = (list ? $this : child.find('div.elfinder-cwd-file-wrapper,div.elfinder-cwd-filename')); child.removeClass(clHover+' '+clSelected); $this.hasClass(clDroppable) && $this.droppable('disable'); target.hasClass(clDraggable) && target.draggable('disable'); }) // if any files was not removed/moved - unlock its .on(evtEnable, fileSelector, function() { var $this = jQuery(this).removeClass(clDisabled), target = list ? $this : $this.children('div.elfinder-cwd-file-wrapper,div.elfinder-cwd-filename'); $this.hasClass(clDroppable) && $this.droppable('enable'); target.hasClass(clDraggable) && target.draggable('enable'); }) .on('scrolltoview', fileSelector, function(e, data) { scrollToView(jQuery(this), (data && typeof data.blink !== 'undefined')? data.blink : true); }) .on('mouseenter.'+fm.namespace+' mouseleave.'+fm.namespace, fileSelector, function(e) { var enter = (e.type === 'mouseenter'); if (enter && (scrolling || fm.UA.Mobile)) { return; } fm.trigger('hover', {hash : fm.cwdId2Hash(jQuery(this).attr('id')), type : e.type}); jQuery(this).toggleClass(clHover, (e.type == 'mouseenter')); }) // for file contextmenu .on('mouseenter.'+fm.namespace+' mouseleave.'+fm.namespace, '.elfinder-cwd-file-wrapper,.elfinder-cwd-filename', function(e) { var enter = (e.type === 'mouseenter'); if (enter && scrolling) { return; } jQuery(this).closest(fileSelector).children('.elfinder-cwd-file-wrapper,.elfinder-cwd-filename').toggleClass(clActive, (e.type == 'mouseenter')); }) .on('contextmenu.'+fm.namespace, function(e) { var file = jQuery(e.target).closest(fileSelector); if (file.get(0) === e.target && !selectedFiles[fm.cwdId2Hash(file.get(0).id)]) { return; } // now filename editing if (file.find('input:text,textarea').length) { e.stopPropagation(); return; } if (file.length && (e.target.nodeName != 'TD' || selectedFiles[fm.cwdId2Hash(file.get(0).id)])) { e.stopPropagation(); e.preventDefault(); if (!file.hasClass(clDisabled) && !wrapper.data('touching')) { if (!file.hasClass(clSelected)) { unselectAll({ notrigger: true }); file.trigger(evtSelect); trigger(); } fm.trigger('contextmenu', { 'type' : 'files', 'targets' : fm.selected(), 'x' : e.pageX, 'y' : e.pageY }); } } }) // unselect all on cwd click .on('click.'+fm.namespace, function(e) { if (e.target === this && ! cwd.data('longtap')) { !e.shiftKey && !e.ctrlKey && !e.metaKey && unselectAll(); } }) // prepend fake file/dir .on('create.'+fm.namespace, function(e, f) { var parent = list ? cwd.find('tbody') : cwd, p = parent.find('.elfinder-cwd-parent'), lock = f.move || false, file = jQuery(itemhtml(f)).addClass(clTmp), selected = fm.selected(); if (selected.length) { lock && fm.trigger('lockfiles', {files: selected}); } else { unselectAll(); } if (p.length) { p.after(file); } else { parent.prepend(file); } setColwidth(); wrapper.scrollTop(0).scrollLeft(0); }) // unselect all selected files .on('unselectall', unselectAll) .on('selectfile', function(e, id) { fm.cwdHash2Elm(id).trigger(evtSelect); trigger(); }) .on('colwidth', function() { if (list) { cwd.find('table').css('table-layout', '') .find('td').css('width', ''); fixTableHeader({fitWidth: true}); fm.storage('cwdColWidth', colWidth = null); } }) .on('iconpref', function(e, data) { cwd.removeClass(function(i, cName) { return (cName.match(/\belfinder-cwd-size\S+/g) || []).join(' '); }); iconSize = data? (parseInt(data.size) || 0) : 0; if (!list) { if (iconSize > 0) { cwd.addClass('elfinder-cwd-size' + iconSize); } if (bufferExt.renderd) { requestAnimationFrame(function() { itemBoxSize.icons = {}; bufferExt.hpi = null; bottomMarkerShow(cwd, bufferExt.renderd); wrapperRepaint(); }); } } }) // Change icon size with mouse wheel event .on('onwheel' in document ? 'wheel' : 'mousewheel', function(e) { var tm, size, delta; if (!list && ((e.ctrlKey && !e.metaKey) || (!e.ctrlKey && e.metaKey))) { e.stopPropagation(); e.preventDefault(); tm = cwd.data('wheelTm'); if (typeof tm !== 'undefined') { clearTimeout(tm); cwd.data('wheelTm', setTimeout(function() { cwd.removeData('wheelTm'); }, 200)); } else { cwd.data('wheelTm', false); size = iconSize || 0; delta = e.originalEvent.deltaY ? e.originalEvent.deltaY : -(e.originalEvent.wheelDelta); if (delta > 0) { if (iconSize > 0) { size = iconSize - 1; } } else { if (iconSize < options.iconsView.sizeMax) { size = iconSize + 1; } } if (size !== iconSize) { fm.storage('iconsize', size); cwd.trigger('iconpref', {size: size}); } } } }), wrapper = jQuery('
                      ') // make cwd itself droppable for folders from nav panel .droppable(Object.assign({}, droppable, {autoDisable: false})) .on('contextmenu.'+fm.namespace, wrapperContextMenu.contextmenu) .on('touchstart.'+fm.namespace, wrapperContextMenu.touchstart) .on('touchmove.'+fm.namespace+' touchend.'+fm.namespace, wrapperContextMenu.touchend) .on('click.'+fm.namespace, wrapperContextMenu.click) .on('scroll.'+fm.namespace, function() { if (! scrolling) { cwd.data('selectable') && cwd.selectable('disable'); wrapper.trigger(scrollStartEvent); } scrolling = true; bufferExt.scrtm && cancelAnimationFrame(bufferExt.scrtm); if (bufferExt.scrtm && Math.abs((bufferExt.scrolltop || 0) - (bufferExt.scrolltop = (this.scrollTop || jQuery(this).scrollTop()))) < 5) { bufferExt.scrtm = 0; wrapper.trigger(scrollEvent); } bufferExt.scrtm = requestAnimationFrame(function() { bufferExt.scrtm = 0; wrapper.trigger(scrollEvent); }); }) .on(scrollEvent, function() { scrolling = false; wrapperRepaint(); }), bottomMarker = jQuery('
                       
                      ') .css({position: 'absolute', width: '1px', height: '1px'}) .hide(), selectAllCheckbox = selectCheckbox? jQuery('
                      ') .attr('title', fm.i18n('selectall')) .on('click', function(e) { e.stopPropagation(); e.preventDefault(); if (jQuery(this).data('pending')) { return false; } selectAllCheckbox.data('pending', true); if (cwd.hasClass('elfinder-cwd-allselected')) { selectAllCheckbox.find('input').prop('checked', false); requestAnimationFrame(function() { unselectAll(); }); } else { selectAll(); } }) : jQuery(), restm = null, resize = function(init) { var initHeight = function() { if (typeof bufferExt.renderd !== 'undefined') { var h = 0; wrapper.siblings('div.elfinder-panel:visible').each(function() { h += jQuery(this).outerHeight(true); }); wrapper.height(wz.height() - h - wrapper._padding); } }; init && initHeight(); restm && cancelAnimationFrame(restm); restm = requestAnimationFrame(function(){ !init && initHeight(); var wph, cwdoh; // fix cwd height if it less then wrapper cwd.css('height', 'auto'); wph = wrapper[0].clientHeight - parseInt(wrapper.css('padding-top')) - parseInt(wrapper.css('padding-bottom')) - parseInt(cwd.css('margin-top')), cwdoh = cwd.outerHeight(true); if (cwdoh < wph) { cwd.height(wph); } }); list && ! colResizing && (init? wrapper.trigger('resize.fixheader') : fixTableHeader()); wrapperRepaint(); }, // elfinder node parent = jQuery(this).parent().on('resize', resize), // workzone node wz = parent.children('.elfinder-workzone').append(wrapper.append(this).append(bottomMarker)), // message board mBoard = jQuery('
                      ').insertAfter(cwd), // Volume expires vExpires = jQuery('
                      '), vExpiresTm, showVolumeExpires = function() { var remain, sec, int; vExpiresTm && clearTimeout(vExpiresTm); if (curVolId && fm.volumeExpires[curVolId]) { sec = fm.volumeExpires[curVolId] - ((+new Date()) / 1000); int = (sec % 60) + 0.1; remain = Math.floor(sec / 60); vExpires.html(fm.i18n(['minsLeft', remain])).show(); if (remain) { vExpiresTm = setTimeout(showVolumeExpires, int * 1000); } } }, // each item box size itemBoxSize = { icons : {}, list : {} }, // has UI tree hasUiTree, // Icon size of icons view iconSize, // Current volume id curVolId, winScrTm; // IE < 11 not support CSS `pointer-events: none` if (!fm.UA.ltIE10) { mBoard.append(jQuery('
                      ').html(fm.i18n('volume_Trash'))) .append(vExpires); } // setup by options replacement = Object.assign(replacement, options.replacement || {}); try { colWidth = fm.storage('cwdColWidth')? fm.storage('cwdColWidth') : null; } catch(e) { colWidth = null; } // setup costomCols fm.bind('columnpref', function(e) { var opts = e.data || {}; if (customCols = fm.storage('cwdCols')) { customCols = jQuery.grep(customCols, function(n) { return (options.listView.columns.indexOf(n) !== -1)? true : false; }); if (options.listView.columns.length > customCols.length) { jQuery.each(options.listView.columns, function(i, n) { if (customCols.indexOf(n) === -1) { customCols.push(n); } }); } } else { customCols = options.listView.columns; } // column names array that hidden var columnhides = fm.storage('columnhides') || null; if (columnhides && Object.keys(columnhides).length) customCols = jQuery.grep(customCols, function(n) { return columnhides[n]? false : true; }); // make template with customCols templates.row = makeTemplateRow(); // repaint if need it list && opts.repaint && content(); }).trigger('columnpref'); if (mobile) { // for iOS5 bug jQuery('body').on('touchstart touchmove touchend', function(e){}); } selectCheckbox && cwd.addClass('elfinder-has-checkbox'); jQuery(window).on('scroll.'+fm.namespace, function() { winScrTm && cancelAnimationFrame(winScrTm); winScrTm = requestAnimationFrame(function() { wrapper.trigger(scrollEvent); }); }); jQuery(document).on('keydown.'+fm.namespace, function(e) { if (e.keyCode == jQuery.ui.keyCode.ESCAPE) { if (! fm.getUI().find('.ui-widget:visible').length) { unselectAll(); } } }); fm .one('init', function(){ var style = document.createElement('style'), sheet, node, base, resizeTm, iconSize, i = 0; if (document.head) { document.head.appendChild(style); sheet = style.sheet; sheet.insertRule('.elfinder-cwd-wrapper-empty .elfinder-cwd:not(.elfinder-table-header-sticky):after{ content:"'+fm.i18n('emptyFolder')+'" }', i++); sheet.insertRule('.elfinder-cwd-wrapper-empty .native-droppable .elfinder-cwd:not(.elfinder-table-header-sticky):after{ content:"'+fm.i18n('emptyFolder'+(mobile? 'LTap' : 'Drop'))+'" }', i++); sheet.insertRule('.elfinder-cwd-wrapper-empty .ui-droppable-disabled .elfinder-cwd:not(.elfinder-table-header-sticky):after{ content:"'+fm.i18n('emptyFolder')+'" }', i++); sheet.insertRule('.elfinder-cwd-wrapper-empty.elfinder-search-result .elfinder-cwd:not(.elfinder-table-header-sticky):after{ content:"'+fm.i18n('emptySearch')+'" }', i++); sheet.insertRule('.elfinder-cwd-wrapper-empty.elfinder-search-result.elfinder-incsearch-result .elfinder-cwd:not(.elfinder-table-header-sticky):after{ content:"'+fm.i18n('emptyIncSearch')+'" }', i++); sheet.insertRule('.elfinder-cwd-wrapper-empty.elfinder-search-result.elfinder-letsearch-result .elfinder-cwd:not(.elfinder-table-header-sticky):after{ content:"'+fm.i18n('emptyLetSearch')+'" }', i++); } if (iconSize = (fm.storage('iconsize') || options.iconsView.size || 0)) { iconSize = Math.min(iconSize, options.iconsView.sizeMax); cwd.trigger('iconpref', {size: iconSize}); } if (! mobile) { fm.one('open', function() { sheet && fm.zIndex && sheet.insertRule('.ui-selectable-helper{z-index:'+fm.zIndex+';}', i++); }); base = jQuery('
                      '); node = fm.getUI(); node.on('resize', function(e, data) { var offset; e.preventDefault(); e.stopPropagation(); if (data && data.fullscreen) { offset = node.offset(); if (data.fullscreen === 'on') { base.css({top:offset.top * -1 , left:offset.left * -1 }).appendTo(node); selectableOption.appendTo = base; } else { base.detach(); selectableOption.appendTo = 'body'; } cwd.data('selectable') && cwd.selectable('option', {appendTo : selectableOption.appendTo}); } }); } hasUiTree = fm.getUI('tree').length; }) .bind('enable', function() { resize(); }) .bind('request.open', function() { bufferExt.getTmbs = []; }) .one('open', function() { if (fm.maxTargets) { tmbNum = Math.min(fm.maxTargets, tmbNum); } }) .bind('open add remove searchend', function() { var phash = fm.cwd().hash, type = this.type; if (type === 'open' || type === 'searchend' || fm.searchStatus.state < 2) { cwdHashes = jQuery.map(fm.files(phash), function(f) { return f.hash; }); fm.trigger('cwdhasheschange', cwdHashes); } if (type === 'open') { var inTrash = function() { var isIn = false; jQuery.each(cwdParents, function(i, h) { if (fm.trashes[h]) { isIn = true; return false; } }); return isIn; }, req = phash? (! fm.file(phash) || hasUiTree? (! hasUiTree? fm.request({ data: { cmd : 'parents', target : fm.cwd().hash }, preventFail : true }) : (function() { var dfd = jQuery.Deferred(); fm.one('treesync', function(e) { e.data.always(function() { dfd.resolve(); }); }); return dfd; })() ) : null ) : null, cwdObj = fm.cwd(); // add/remove volume id class if (cwdObj.volumeid !== curVolId) { vExpires.empty().hide(); if (curVolId) { wrapper.removeClass('elfinder-cwd-wrapper-' + curVolId); } curVolId = cwdObj.volumeid; showVolumeExpires(); wrapper.addClass('elfinder-cwd-wrapper-' + curVolId); } // add/remove trash class jQuery.when(req).done(function() { cwdParents = fm.parents(cwdObj.hash); wrapper[inTrash()? 'addClass':'removeClass']('elfinder-cwd-wrapper-trash'); }); incHashes = void 0; unselectAll({ notrigger: true }); content(); } }) .bind('search', function(e) { cwdHashes = jQuery.map(e.data.files, function(f) { return f.hash; }); fm.trigger('cwdhasheschange', cwdHashes); incHashes = void 0; fm.searchStatus.ininc = false; content(); fm.autoSync('stop'); }) .bind('searchend', function(e) { if (query || incHashes) { query = ''; if (incHashes) { fm.trigger('incsearchend', e.data); } else { if (!e.data || !e.data.noupdate) { content(); } } } fm.autoSync(); }) .bind('searchstart', function(e) { unselectAll(); query = e.data.query; }) .bind('incsearchstart', function(e) { var q = e.data.query || '', type = e.data.type || 'SearchName', searchTypes = fm.options.commandsOptions.search.searchTypes || {}; if ((searchTypes[type] && searchTypes[type].incsearch) || type === 'SearchName') { selectedFiles = {}; fm.lazy(function() { // incremental search var regex, incSearch, fst = ''; query = q; if (q) { if (q.substr(0,1) === '/') { q = q.substr(1); fst = '^'; } regex = new RegExp(fst + q.replace(/([\\*\;\.\?\[\]\{\}\(\)\^\$\-\|])/g, '\\$1'), 'i'); if (type === 'SearchName') { incHashes = jQuery.grep(cwdHashes, function(hash) { var file = fm.file(hash); return (file && (file.name.match(regex) || (file.i18 && file.i18.match(regex))))? true : false; }); } else { incSearch = searchTypes[type].incsearch; if (typeof incSearch === 'string') { incHashes = jQuery.grep(cwdHashes, function(hash) { var file = fm.file(hash); return (file && file[incSearch] && (file[incSearch] + '').match(regex))? true : false; }); } else if (typeof incSearch === 'function') { try { incHashes = jQuery.grep(incSearch({val: q, regex: regex}, cwdHashes, fm), function(hash) { return fm.file(hash)? true : false; }); } catch(e) { incHashes = []; } } } fm.trigger('incsearch', { hashes: incHashes, query: q }) .searchStatus.ininc = true; content(); fm.autoSync('stop'); } else { fm.trigger('incsearchend'); } }); } }) .bind('incsearchend', function(e) { query = ''; fm.searchStatus.ininc = false; incHashes = void 0; if (!e.data || !e.data.noupdate) { content(); } fm.autoSync(); }) .bind('sortchange', function() { var lastScrollLeft = wrapper.scrollLeft(), allsel = cwd.hasClass('elfinder-cwd-allselected'); content(); fm.one('cwdrender', function() { wrapper.scrollLeft(lastScrollLeft); if (allsel) { selectedFiles = fm.arrayFlip(incHashes || cwdHashes, true); } (allsel || Object.keys(selectedFiles).length) && trigger(); }); }) .bind('viewchange', function() { var l = fm.viewType != 'list', allsel = cwd.hasClass('elfinder-cwd-allselected'); if (l != list) { list = l; fm.viewType = list? 'list' : 'icons'; if (iconSize) { fm.one('cwdinit', function() { cwd.trigger('iconpref', {size: iconSize}); }); } content(); resize(); if (allsel) { cwd.addClass('elfinder-cwd-allselected'); selectAllCheckbox.find('input').prop('checked', true); } Object.keys(selectedFiles).length && trigger(); } }) .bind('wzresize', function() { var place = list ? cwd.find('tbody') : cwd, cwdOffset; resize(true); if (bufferExt.hpi) { bottomMarkerShow(place, place.find('[id]').length); } cwdOffset = cwd.offset(); wz.data('rectangle', Object.assign( { width: wz.width(), height: wz.height(), cwdEdge: (fm.direction === 'ltr')? cwdOffset.left : cwdOffset.left + cwd.width() }, wz.offset()) ); bufferExt.itemH = (list? place.find('tr:first') : place.find('[id]:first')).outerHeight(true); }) .bind('changeclipboard', function(e) { clipCuts = {}; if (e.data && e.data.clipboard && e.data.clipboard.length) { jQuery.each(e.data.clipboard, function(i, f) { if (f.cut) { clipCuts[f.hash] = true; } }); } }) .bind('resMixinMake', function() { setColwidth(); }) .bind('tmbreload', function(e) { var imgs = {}, files = (e.data && e.data.files)? e.data.files : null; jQuery.each(files, function(i, f) { if (f.tmb && f.tmb != '1') { imgs[f.hash] = f.tmb; } }); if (Object.keys(imgs).length) { attachThumbnails(imgs, true); } }) .add(function(e) { var regex = query? new RegExp(query.replace(/([\\*\;\.\?\[\]\{\}\(\)\^\$\-\|])/g, '\\$1'), 'i') : null, mime = fm.searchStatus.mime, inSearch = fm.searchStatus.state > 1, phash = inSearch && fm.searchStatus.target? fm.searchStatus.target : fm.cwd().hash, curPath = fm.path(phash), inTarget = function(f) { var res, parents, path; res = (f.phash === phash); if (!res && inSearch) { path = f.path || fm.path(f.hash); res = (curPath && path.indexOf(curPath) === 0); if (! res && fm.searchStatus.mixed) { res = jQuery.grep(fm.searchStatus.mixed, function(vid) { return f.hash.indexOf(vid) === 0? true : false; }).length? true : false; } } if (res && inSearch) { if (mime) { res = (f.mime.indexOf(mime) === 0); } else { res = (f.name.match(regex) || (f.i18 && f.i18.match(regex)))? true : false; } } return res; }, files = jQuery.grep(e.data.added || [], function(f) { return inTarget(f)? true : false ;}); add(files); if (fm.searchStatus.state === 2) { jQuery.each(files, function(i, f) { if (jQuery.inArray(f.hash, cwdHashes) === -1) { cwdHashes.push(f.hash); } }); fm.trigger('cwdhasheschange', cwdHashes); } list && resize(); wrapper.trigger(scrollEvent); }) .change(function(e) { var phash = fm.cwd().hash, sel = fm.selected(), files, added; if (query) { jQuery.each(e.data.changed || [], function(i, file) { if (fm.cwdHash2Elm(file.hash).length) { remove([file.hash]); add([file], 'change'); jQuery.inArray(file.hash, sel) !== -1 && selectFile(file.hash); added = true; } }); } else { jQuery.each(jQuery.grep(e.data.changed || [], function(f) { return f.phash == phash ? true : false; }), function(i, file) { if (fm.cwdHash2Elm(file.hash).length) { remove([file.hash]); add([file], 'change'); jQuery.inArray(file.hash, sel) !== -1 && selectFile(file.hash); added = true; } }); } if (added) { fm.trigger('cwdhasheschange', cwdHashes); list && resize(); wrapper.trigger(scrollEvent); } trigger(); }) .remove(function(e) { var place = list ? cwd.find('tbody') : cwd; remove(e.data.removed || []); trigger(); if (buffer.length < 1 && place.children(fileSelector + (options.oldSchool? ':not(.elfinder-cwd-parent)' : '')).length < 1) { wz.addClass('elfinder-cwd-wrapper-empty'); selectCheckbox && selectAllCheckbox.find('input').prop('checked', false); bottomMarker.hide(); wrapper.off(scrollEvent, render); resize(); } else { bottomMarkerShow(place); wrapper.trigger(scrollEvent); } }) // select dragged file if no selected, disable selectable .dragstart(function(e) { var target = jQuery(e.data.target), oe = e.data.originalEvent; if (target.hasClass(clFile)) { if (!target.hasClass(clSelected)) { !(oe.ctrlKey || oe.metaKey || oe.shiftKey) && unselectAll({ notrigger: true }); target.trigger(evtSelect); trigger(); } } cwd.removeClass(clDisabled).data('selectable') && cwd.selectable('disable'); selectLock = true; }) // enable selectable .dragstop(function() { cwd.data('selectable') && cwd.selectable('enable'); selectLock = false; }) .bind('lockfiles unlockfiles selectfiles unselectfiles', function(e) { var events = { lockfiles : evtDisable , unlockfiles : evtEnable , selectfiles : evtSelect, unselectfiles : evtUnselect }, event = events[e.type], files = e.data.files || [], l = files.length, helper = e.data.helper || jQuery(), parents, ctr, add; if (l > 0) { parents = fm.parents(files[0]); } if (event === evtSelect || event === evtUnselect) { add = (event === evtSelect), jQuery.each(files, function(i, hash) { var all = cwd.hasClass('elfinder-cwd-allselected'); if (! selectedFiles[hash]) { add && (selectedFiles[hash] = true); } else { if (all) { selectCheckbox && selectAllCheckbox.children('input').prop('checked', false); cwd.removeClass('elfinder-cwd-allselected'); all = false; } ! add && delete selectedFiles[hash]; } }); } if (!helper.data('locked')) { while (l--) { try { fm.cwdHash2Elm(files[l]).trigger(event); } catch(e) {} } ! e.data.inselect && trigger(); } if (wrapper.data('dropover') && parents.indexOf(wrapper.data('dropover')) !== -1) { ctr = e.type !== 'lockfiles'; helper.toggleClass('elfinder-drag-helper-plus', ctr); wrapper.toggleClass(clDropActive, ctr); } }) // select new files after some actions .bind('mkdir mkfile duplicate upload rename archive extract paste multiupload', function(e) { if (e.type == 'upload' && e.data._multiupload) return; var phash = fm.cwd().hash, files; unselectAll({ notrigger: true }); jQuery.each((e.data.added || []).concat(e.data.changed || []), function(i, file) { file && file.phash == phash && selectFile(file.hash); }); trigger(); }) .shortcut({ pattern :'ctrl+a', description : 'selectall', callback : selectAll }) .shortcut({ pattern :'ctrl+shift+i', description : 'selectinvert', callback : selectInvert }) .shortcut({ pattern : 'left right up down shift+left shift+right shift+up shift+down', description : 'selectfiles', type : 'keydown' , //fm.UA.Firefox || fm.UA.Opera ? 'keypress' : 'keydown', callback : function(e) { select(e.keyCode, e.shiftKey); } }) .shortcut({ pattern : 'home', description : 'selectffile', callback : function(e) { unselectAll({ notrigger: true }); scrollToView(cwd.find('[id]:first').trigger(evtSelect)); trigger(); } }) .shortcut({ pattern : 'end', description : 'selectlfile', callback : function(e) { unselectAll({ notrigger: true }); scrollToView(cwd.find('[id]:last').trigger(evtSelect)) ; trigger(); } }) .shortcut({ pattern : 'page_up', description : 'pageTurning', callback : function(e) { if (bufferExt.itemH) { wrapper.scrollTop( Math.round( wrapper.scrollTop() - (Math.floor((wrapper.height() + (list? bufferExt.itemH * -1 : 16)) / bufferExt.itemH)) * bufferExt.itemH ) ); } } }).shortcut({ pattern : 'page_down', description : 'pageTurning', callback : function(e) { if (bufferExt.itemH) { wrapper.scrollTop( Math.round( wrapper.scrollTop() + (Math.floor((wrapper.height() + (list? bufferExt.itemH * -1 : 16)) / bufferExt.itemH)) * bufferExt.itemH ) ); } } }); }); // fm.timeEnd('cwdLoad') return this; }; wp-file-manager/lib/js/ui/dialog.js000064400000064317151202472340013126 0ustar00/** * @class elFinder dialog * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfinderdialog = function(opts, fm) { "use strict"; var platformWin = (window.navigator.platform.indexOf('Win') != -1), delta = {}, syncSize = { enabled: false, width: false, height: false, defaultSize: null }, fitSize = function(dialog) { var opts, node; if (syncSize.enabled) { node = fm.options.dialogContained? elfNode : jQuery(window); opts = { maxWidth : syncSize.width? node.width() - delta.width : null, maxHeight: syncSize.height? node.height() - delta.height : null }; Object.assign(restoreStyle, opts); dialog.css(opts).trigger('resize'); if (dialog.data('hasResizable') && (dialog.resizable('option', 'maxWidth') < opts.maxWidth || dialog.resizable('option', 'maxHeight') < opts.maxHeight)) { dialog.resizable('option', opts); } } }, syncFunc = function(e) { var dialog = e.data; syncTm && cancelAnimationFrame(syncTm); syncTm = requestAnimationFrame(function() { var opts, offset; if (syncSize.enabled) { fitSize(dialog); } }); }, checkEditing = function() { var cldialog = 'elfinder-dialog', dialogs = elfNode.children('.' + cldialog + '.' + fm.res('class', 'editing') + ':visible'); fm[dialogs.length? 'disable' : 'enable'](); }, propagationEvents = {}, syncTm, dialog, elfNode, restoreStyle; if (fm && fm.ui) { elfNode = fm.getUI(); } else { elfNode = this.closest('.elfinder'); if (! fm) { fm = elfNode.elfinder('instance'); } } if (typeof opts === 'string') { if ((dialog = this.closest('.ui-dialog')).length) { if (opts === 'open') { if (dialog.css('display') === 'none') { // Need dialog.show() and hide() to detect elements size in open() callbacks dialog.trigger('posinit').show().trigger('open').hide(); dialog.fadeIn(120, function() { fm.trigger('dialogopened', {dialog: dialog}); }); } } else if (opts === 'close' || opts === 'destroy') { dialog.stop(true); if (dialog.is(':visible') || elfNode.is(':hidden')) { dialog.trigger('close'); fm.trigger('dialogclosed', {dialog: dialog}); } if (opts === 'destroy') { dialog.remove(); fm.trigger('dialogremoved', {dialog: dialog}); } else if (dialog.data('minimized')) { dialog.data('minimized').close(); } } else if (opts === 'toTop') { dialog.trigger('totop'); fm.trigger('dialogtotoped', {dialog: dialog}); } else if (opts === 'posInit') { dialog.trigger('posinit'); fm.trigger('dialogposinited', {dialog: dialog}); } else if (opts === 'tabstopsInit') { dialog.trigger('tabstopsInit'); fm.trigger('dialogtabstopsinited', {dialog: dialog}); } else if (opts === 'checkEditing') { checkEditing(); } } return this; } opts = Object.assign({}, jQuery.fn.elfinderdialog.defaults, opts); if (opts.allowMinimize && opts.allowMinimize === 'auto') { opts.allowMinimize = this.find('textarea,input').length? true : false; } opts.openMaximized = opts.allowMinimize && opts.openMaximized; if (opts.headerBtnPos && opts.headerBtnPos === 'auto') { opts.headerBtnPos = platformWin? 'right' : 'left'; } if (opts.headerBtnOrder && opts.headerBtnOrder === 'auto') { opts.headerBtnOrder = platformWin? 'close:maximize:minimize' : 'close:minimize:maximize'; } if (opts.modal && opts.allowMinimize) { opts.allowMinimize = false; } if (fm.options.dialogContained) { syncSize.width = syncSize.height = syncSize.enabled = true; } else { syncSize.width = (opts.maxWidth === 'window'); syncSize.height = (opts.maxHeight === 'window'); if (syncSize.width || syncSize.height) { syncSize.enabled = true; } } propagationEvents = fm.arrayFlip(opts.propagationEvents, true); this.filter(':not(.ui-dialog-content)').each(function() { var self = jQuery(this).addClass('ui-dialog-content ui-widget-content'), clactive = 'elfinder-dialog-active', cldialog = 'elfinder-dialog', clnotify = 'elfinder-dialog-notify', clhover = 'ui-state-hover', cltabstop = 'elfinder-tabstop', cl1stfocus = 'elfinder-focus', clmodal = 'elfinder-dialog-modal', id = parseInt(Math.random()*1000000), titlebar = jQuery('
                      '+opts.title+'
                      '), buttonset = jQuery('
                      '), buttonpane = jQuery('
                      ') .append(buttonset), btnWidth = 0, btnCnt = 0, tabstops = jQuery(), evCover = jQuery('
                      ').hide(), numberToTel = function() { if (opts.optimizeNumber) { dialog.find('input[type=number]').each(function() { jQuery(this).attr('inputmode', 'numeric'); jQuery(this).attr('pattern', '[0-9]*'); }); } }, tabstopsInit = function() { tabstops = dialog.find('.'+cltabstop); if (tabstops.length) { tabstops.attr('tabindex', '-1'); if (! tabstops.filter('.'+cl1stfocus).length) { buttonset.children('.'+cltabstop+':'+(platformWin? 'first' : 'last')).addClass(cl1stfocus); } } }, tabstopNext = function(cur) { var elms = tabstops.filter(':visible:enabled'), node = cur? null : elms.filter('.'+cl1stfocus+':first'); if (! node || ! node.length) { node = elms.first(); } if (cur) { jQuery.each(elms, function(i, elm) { if (elm === cur && elms[i+1]) { node = elms.eq(i+1); return false; } }); } return node; }, tabstopPrev = function(cur) { var elms = tabstops.filter(':visible:enabled'), node = elms.last(); jQuery.each(elms, function(i, elm) { if (elm === cur && elms[i-1]) { node = elms.eq(i-1); return false; } }); return node; }, makeHeaderBtn = function() { jQuery.each(opts.headerBtnOrder.split(':').reverse(), function(i, v) { headerBtns[v] && headerBtns[v](); }); if (platformWin) { titlebar.children('.elfinder-titlebar-button').addClass('elfinder-titlebar-button-right'); } }, headerBtns = { close: function() { titlebar.prepend(jQuery('') .on('mousedown touchstart', function(e) { e.preventDefault(); e.stopPropagation(); self.elfinderdialog('close'); }) ); }, maximize: function() { if (opts.allowMaximize) { dialog.on('resize', function(e, data) { var full, elm; e.preventDefault(); e.stopPropagation(); if (data && data.maximize) { elm = titlebar.find('.elfinder-titlebar-full'); full = (data.maximize === 'on'); elm.children('span.ui-icon') .toggleClass('ui-icon-plusthick', ! full) .toggleClass('ui-icon-arrowreturnthick-1-s', full); if (full) { try { dialog.hasClass('ui-draggable') && dialog.draggable('disable'); dialog.hasClass('ui-resizable') && dialog.resizable('disable'); } catch(e) {} self.css('width', '100%').css('height', dialog.height() - dialog.children('.ui-dialog-titlebar').outerHeight(true) - buttonpane.outerHeight(true)); } else { self.attr('style', elm.data('style')); elm.removeData('style'); posCheck(); try { dialog.hasClass('ui-draggable') && dialog.draggable('enable'); dialog.hasClass('ui-resizable') && dialog.resizable('enable'); } catch(e) {} } dialog.trigger('resize', {init: true}); } }); } }, minimize: function() { var btn, mnode, doffset; if (opts.allowMinimize) { btn = jQuery('') .on('mousedown touchstart', function(e) { var $this = jQuery(this), tray = fm.getUI('bottomtray'), dumStyle = { width: 70, height: 24 }, dum = jQuery('
                      ').css(dumStyle).addClass(dialog.get(0).className + ' elfinder-dialog-minimized'), close = function() { mnode.remove(); dialog.removeData('minimized').show(); self.elfinderdialog('close'); }, pos = {}; e.preventDefault(); e.stopPropagation(); if (!dialog.data('minimized')) { // minimize doffset = dialog.data('minimized', { dialog : function() { return mnode; }, show : function() { mnode.show(); }, hide : function() { mnode.hide(); }, close : close, title : function(v) { mnode.children('.ui-dialog-titlebar').children('.elfinder-dialog-title').text(v); } }).position(); mnode = dialog.clone().on('mousedown', function() { $this.trigger('mousedown'); }).removeClass('ui-draggable ui-resizable elfinder-frontmost'); tray.append(dum); Object.assign(pos, dum.offset(), dumStyle); dum.remove(); mnode.height(dialog.height()).children('.ui-dialog-content:first').empty(); fm.toHide(dialog.before(mnode)); mnode.children('.ui-dialog-content:first,.ui-dialog-buttonpane,.ui-resizable-handle').remove(); mnode.find('.elfinder-titlebar-minimize,.elfinder-titlebar-full').remove(); mnode.find('.ui-dialog-titlebar-close').on('mousedown', function(e) { e.stopPropagation(); e.preventDefault(); close(); }); mnode.animate(pos, function() { mnode.attr('style', '') .css({ maxWidth: dialog.width() }) .addClass('elfinder-dialog-minimized') .appendTo(tray); checkEditing(); typeof(opts.minimize) === 'function' && opts.minimize.call(self[0]); }); } else { //restore dialog.removeData('minimized').before(mnode.css(Object.assign({'position': 'absolute'}, mnode.offset()))); fm.toFront(mnode); mnode.animate(Object.assign({ width: dialog.width(), height: dialog.height() }, doffset), function() { dialog.show(); fm.toFront(dialog); mnode.remove(); posCheck(); checkEditing(); dialog.trigger('resize', {init: true}); typeof(opts.minimize) === 'function' && opts.minimize.call(self[0]); }); } }); titlebar.on('dblclick', function(e) { jQuery(this).children('.elfinder-titlebar-minimize').trigger('mousedown'); }).prepend(btn); dialog.on('togleminimize', function() { btn.trigger('mousedown'); }); } } }, dialog = jQuery('
                      ') .hide() .append(self) .appendTo(elfNode) .draggable({ containment : fm.options.dialogContained? elfNode : null, handle : '.ui-dialog-titlebar', start : function() { evCover.show(); }, drag : function(e, ui) { var top = ui.offset.top, left = ui.offset.left; if (top < 0) { ui.position.top = ui.position.top - top; } if (left < 0) { ui.position.left = ui.position.left - left; } if (fm.options.dialogContained) { ui.position.top < 0 && (ui.position.top = 0); ui.position.left < 0 && (ui.position.left = 0); } }, stop : function(e, ui) { evCover.hide(); dialog.css({height : opts.height}); self.data('draged', true); } }) .css({ width : opts.width, height : opts.height, minWidth : opts.minWidth, minHeight : opts.minHeight, maxWidth : opts.maxWidth, maxHeight : opts.maxHeight }) .on('touchstart touchmove touchend click dblclick mouseup mouseenter mouseleave mouseout mouseover mousemove', function(e) { // stopPropagation of user action events !propagationEvents[e.type] && e.stopPropagation(); }) .on('mousedown', function(e) { !propagationEvents[e.type] && e.stopPropagation(); requestAnimationFrame(function() { if (dialog.is(':visible') && !dialog.hasClass('elfinder-frontmost')) { toFocusNode = jQuery(':focus'); if (!toFocusNode.length) { toFocusNode = void(0); } dialog.trigger('totop'); } }); }) .on('open', function() { dialog.data('margin-y', self.outerHeight(true) - self.height()); if (syncSize.enabled) { if (opts.height && opts.height !== 'auto') { dialog.trigger('resize', {init: true}); } if (!syncSize.defaultSize) { syncSize.defaultSize = { width: self.width(), height: self.height() }; } fitSize(dialog); dialog.trigger('resize').trigger('posinit'); elfNode.on('resize.'+fm.namespace, dialog, syncFunc); } if (!dialog.hasClass(clnotify)) { elfNode.children('.'+cldialog+':visible:not(.'+clnotify+')').each(function() { var d = jQuery(this), top = parseInt(d.css('top')), left = parseInt(d.css('left')), _top = parseInt(dialog.css('top')), _left = parseInt(dialog.css('left')), ct = Math.abs(top - _top) < 10, cl = Math.abs(left - _left) < 10; if (d[0] != dialog[0] && (ct || cl)) { dialog.css({ top : ct ? (top + 10) : _top, left : cl ? (left + 10) : _left }); } }); } if (dialog.data('modal')) { dialog.addClass(clmodal); fm.getUI('overlay').elfinderoverlay('show'); } dialog.trigger('totop'); opts.openMaximized && fm.toggleMaximize(dialog); fm.trigger('dialogopen', {dialog: dialog}); typeof(opts.open) == 'function' && jQuery.proxy(opts.open, self[0])(); if (opts.closeOnEscape) { jQuery(document).on('keydown.'+id, function(e) { if (e.keyCode == jQuery.ui.keyCode.ESCAPE && dialog.hasClass('elfinder-frontmost')) { self.elfinderdialog('close'); } }); } dialog.hasClass(fm.res('class', 'editing')) && checkEditing(); }) .on('close', function(e) { var dialogs, dfd; if (opts.beforeclose && typeof opts.beforeclose === 'function') { dfd = opts.beforeclose(); if (!dfd || !dfd.promise) { dfd = !dfd? jQuery.Deferred().reject() : jQuery.Deferred().resolve(); } } else { dfd = jQuery.Deferred().resolve(); } dfd.done(function() { syncSize.enabled && elfNode.off('resize.'+fm.namespace, syncFunc); if (opts.closeOnEscape) { jQuery(document).off('keyup.'+id); } if (opts.allowMaximize) { fm.toggleMaximize(dialog, false); } fm.toHide(dialog); dialog.data('modal') && fm.getUI('overlay').elfinderoverlay('hide'); if (typeof(opts.close) == 'function') { jQuery.proxy(opts.close, self[0])(); } if (opts.destroyOnClose && dialog.parent().length) { dialog.hide().remove(); } // get focus to next dialog dialogs = elfNode.children('.'+cldialog+':visible'); dialog.hasClass(fm.res('class', 'editing')) && checkEditing(); }); }) .on('totop frontmost', function() { var s = fm.storage('autoFocusDialog'); dialog.data('focusOnMouseOver', s? (s > 0) : fm.options.uiOptions.dialog.focusOnMouseOver); if (dialog.data('minimized')) { titlebar.children('.elfinder-titlebar-minimize').trigger('mousedown'); } if (!dialog.data('modal') && fm.getUI('overlay').is(':visible')) { fm.getUI('overlay').before(dialog); } else { fm.toFront(dialog); } elfNode.children('.'+cldialog+':not(.'+clmodal+')').removeClass(clactive); dialog.addClass(clactive); ! fm.UA.Mobile && (toFocusNode || tabstopNext()).trigger('focus'); toFocusNode = void(0); }) .on('posinit', function() { var css = opts.position, nodeOffset, minTop, minLeft, outerSize, win, winSize, nodeFull; if (dialog.hasClass('elfinder-maximized')) { return; } if (! css && ! dialog.data('resizing')) { nodeFull = elfNode.hasClass('elfinder-fullscreen') || fm.options.enableAlways; dialog.css(nodeFull? { maxWidth : '100%', maxHeight : '100%', overflow : 'auto' } : restoreStyle); if (fm.UA.Mobile && !nodeFull && dialog.data('rotated') === fm.UA.Rotated) { return; } dialog.data('rotated', fm.UA.Rotated); win = jQuery(window); nodeOffset = elfNode.offset(); outerSize = { width : dialog.outerWidth(true), height: dialog.outerHeight(true) }; outerSize.right = nodeOffset.left + outerSize.width; outerSize.bottom = nodeOffset.top + outerSize.height; winSize = { scrLeft: win.scrollLeft(), scrTop : win.scrollTop(), width : win.width(), height : win.height() }; winSize.right = winSize.scrLeft + winSize.width; winSize.bottom = winSize.scrTop + winSize.height; if (fm.options.dialogContained || nodeFull) { minTop = 0; minLeft = 0; } else { minTop = nodeOffset.top * -1 + winSize.scrTop; minLeft = nodeOffset.left * -1 + winSize.scrLeft; } css = { top : outerSize.height >= winSize.height? minTop : Math.max(minTop, parseInt((elfNode.height() - outerSize.height)/2 - 42)), left : outerSize.width >= winSize.width ? minLeft : Math.max(minLeft, parseInt((elfNode.width() - outerSize.width)/2)) }; if (outerSize.right + css.left > winSize.right) { css.left = Math.max(minLeft, winSize.right - outerSize.right); } if (outerSize.bottom + css.top > winSize.bottom) { css.top = Math.max(minTop, winSize.bottom - outerSize.bottom); } } if (opts.absolute) { css.position = 'absolute'; } css && dialog.css(css); }) .on('resize', function(e, data) { var oh = 0, init = data && data.init, h, minH, maxH, autoH; if ((data && (data.minimize || data.maxmize)) || dialog.data('minimized')) { return; } e.stopPropagation(); e.preventDefault(); dialog.children('.ui-widget-header,.ui-dialog-buttonpane').each(function() { oh += jQuery(this).outerHeight(true); }); autoH = (opts.height === 'auto')? true : false; if (autoH) { self.css({'max-height': '', 'height': 'auto'}); } if (!init && syncSize.enabled && !e.originalEvent && !dialog.hasClass('elfinder-maximized')) { h = dialog.height(); minH = dialog.css('min-height') || h; maxH = dialog.css('max-height') || h; if (minH.match(/%/)) { minH = Math.floor((parseInt(minH) / 100) * dialog.parent().height()); } else { minH = parseInt(minH); } if (maxH.match(/%/)) { maxH = Math.floor((parseInt(maxH) / 100) * dialog.parent().height()); } else { maxH = parseInt(maxH); } h = Math.min((autoH? dialog.height() : syncSize.defaultSize.height), Math.max(maxH, minH) - oh - dialog.data('margin-y')); } else { h = dialog.height() - oh - dialog.data('margin-y'); } self.css(autoH? 'max-height' : 'height', h); if (init) { return; } posCheck(); minH = self.height(); minH = (h < minH)? (minH + oh + dialog.data('margin-y')) : opts.minHeight; dialog.css('min-height', minH); dialog.data('hasResizable') && dialog.resizable('option', { minHeight: minH }); if (typeof(opts.resize) === 'function') { jQuery.proxy(opts.resize, self[0])(e, data); } }) .on('tabstopsInit', tabstopsInit) .on('focus', '.'+cltabstop, function() { jQuery(this).addClass(clhover).parent('label').addClass(clhover); this.id && jQuery(this).parent().find('label[for='+this.id+']').addClass(clhover); }) .on('click', 'select.'+cltabstop, function() { var node = jQuery(this); node.data('keepFocus')? node.removeData('keepFocus') : node.data('keepFocus', true); }) .on('blur', '.'+cltabstop, function() { jQuery(this).removeClass(clhover).removeData('keepFocus').parent('label').removeClass(clhover); this.id && jQuery(this).parent().find('label[for='+this.id+']').removeClass(clhover); }) .on('mouseenter mouseleave', '.'+cltabstop+',label', function(e) { var $this = jQuery(this), labelfor; if (this.nodeName === 'LABEL') { if (!$this.children('.'+cltabstop).length && (!(labelfor = $this.attr('for')) || !jQuery('#'+labelfor).hasClass(cltabstop))) { return; } } if (opts.btnHoverFocus && dialog.data('focusOnMouseOver')) { if (e.type === 'mouseenter' && ! jQuery(':focus').data('keepFocus')) { $this.trigger('focus'); } } else { $this.toggleClass(clhover, e.type == 'mouseenter'); } }) .on('keydown', '.'+cltabstop, function(e) { var $this = jQuery(this), esc, move, moveTo; if ($this.is(':focus')) { esc = e.keyCode === jQuery.ui.keyCode.ESCAPE; if (e.keyCode === jQuery.ui.keyCode.ENTER) { e.preventDefault(); $this.trigger('click'); } else if (((e.keyCode === jQuery.ui.keyCode.TAB) && e.shiftKey) || e.keyCode === jQuery.ui.keyCode.LEFT || e.keyCode == jQuery.ui.keyCode.UP) { move = 'prev'; } else if (e.keyCode === jQuery.ui.keyCode.TAB || e.keyCode == jQuery.ui.keyCode.RIGHT || e.keyCode == jQuery.ui.keyCode.DOWN) { move = 'next'; } if (move && ( ($this.is('textarea') && !(e.ctrlKey || e.metaKey)) || ($this.is('select,span.ui-slider-handle') && e.keyCode !== jQuery.ui.keyCode.TAB) || ($this.is('input:not(:checkbox,:radio)') && (!(e.ctrlKey || e.metaKey) && e.keyCode === jQuery.ui.keyCode[move === 'prev'? 'LEFT':'RIGHT'])) ) ) { e.stopPropagation(); return; } if (!esc) { e.stopPropagation(); } else if ($this.is('input:not(:checkbox,:radio),textarea')) { if ($this.val() !== '') { $this.val(''); e.stopPropagation(); } } if (move) { e.preventDefault(); (move === 'prev'? tabstopPrev : tabstopNext)(this).trigger('focus'); } } }) .data({modal: opts.modal}), posCheck = function() { var node = fm.getUI(), pos; if (node.hasClass('elfinder-fullscreen')) { pos = dialog.position(); dialog.css('top', Math.max(Math.min(Math.max(pos.top, 0), node.height() - 100), 0)); dialog.css('left', Math.max(Math.min(Math.max(pos.left, 0), node.width() - 200), 0)); } }, maxSize, toFocusNode; dialog.prepend(titlebar); makeHeaderBtn(); jQuery.each(opts.buttons, function(name, cb) { var button = jQuery('') .on('click', jQuery.proxy(cb, self[0])); if (cb._cssClass) { button.addClass(cb._cssClass); } if (platformWin) { buttonset.append(button); } else { buttonset.prepend(button); } }); if (buttonset.children().length) { dialog.append(buttonpane); dialog.show(); buttonpane.find('button').each(function(i, btn) { btnWidth += jQuery(btn).outerWidth(true); }); dialog.hide(); btnWidth += 20; if (dialog.width() < btnWidth) { dialog.width(btnWidth); } } dialog.append(evCover); if (syncSize.enabled) { delta.width = dialog.outerWidth(true) - dialog.width() + ((dialog.outerWidth() - dialog.width()) / 2); delta.height = dialog.outerHeight(true) - dialog.height() + ((dialog.outerHeight() - dialog.height()) / 2); } if (fm.options.dialogContained) { maxSize = { maxWidth: elfNode.width() - delta.width, maxHeight: elfNode.height() - delta.height }; opts.maxWidth = opts.maxWidth? Math.min(maxSize.maxWidth, opts.maxWidth) : maxSize.maxWidth; opts.maxHeight = opts.maxHeight? Math.min(maxSize.maxHeight, opts.maxHeight) : maxSize.maxHeight; dialog.css(maxSize); } restoreStyle = { maxWidth : dialog.css('max-width'), maxHeight : dialog.css('max-height'), overflow : dialog.css('overflow') }; if (opts.resizable) { dialog.resizable({ minWidth : opts.minWidth, minHeight : opts.minHeight, maxWidth : opts.maxWidth, maxHeight : opts.maxHeight, start : function() { evCover.show(); if (dialog.data('resizing') !== true && dialog.data('resizing')) { clearTimeout(dialog.data('resizing')); } dialog.data('resizing', true); }, stop : function(e, ui) { evCover.hide(); dialog.data('resizing', setTimeout(function() { dialog.data('resizing', false); }, 200)); if (syncSize.enabled) { syncSize.defaultSize = { width: self.width(), height: self.height() }; } } }).data('hasResizable', true); } numberToTel(); tabstopsInit(); typeof(opts.create) == 'function' && jQuery.proxy(opts.create, this)(); if (opts.autoOpen) { if (opts.open) { requestAnimationFrame(function() { self.elfinderdialog('open'); }); } else { self.elfinderdialog('open'); } } if (opts.resize) { fm.bind('themechange', function() { setTimeout(function() { dialog.data('margin-y', self.outerHeight(true) - self.height()); dialog.trigger('resize', {init: true}); }, 300); }); } }); return this; }; jQuery.fn.elfinderdialog.defaults = { cssClass : '', title : '', modal : false, resizable : true, autoOpen : true, closeOnEscape : true, destroyOnClose : false, buttons : {}, btnHoverFocus : true, position : null, absolute : false, width : 320, height : 'auto', minWidth : 200, minHeight : 70, maxWidth : null, maxHeight : null, allowMinimize : 'auto', allowMaximize : false, openMaximized : false, headerBtnPos : 'auto', headerBtnOrder : 'auto', optimizeNumber : true, propagationEvents : ['mousemove', 'mouseup'] };wp-file-manager/lib/js/ui/fullscreenbutton.js000064400000001172151202472340015253 0ustar00/** * @class elFinder toolbar button to switch full scrren mode. * * @author Naoki Sawada **/ jQuery.fn.elfinderfullscreenbutton = function(cmd) { "use strict"; return this.each(function() { var button = jQuery(this).elfinderbutton(cmd), icon = button.children('.elfinder-button-icon'), tm; cmd.change(function() { tm && cancelAnimationFrame(tm); tm = requestAnimationFrame(function() { var fullscreen = cmd.value; icon.addClass('elfinder-button-icon-fullscreen').toggleClass('elfinder-button-icon-unfullscreen', fullscreen); cmd.className = fullscreen? 'unfullscreen' : ''; }); }); }); }; wp-file-manager/lib/js/ui/navbar.js000064400000012337151202472340013133 0ustar00/** * @class elfindernav - elFinder container for diretories tree and places * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfindernavbar = function(fm, opts) { "use strict"; this.not('.elfinder-navbar').each(function() { var nav = jQuery(this).hide().addClass('ui-state-default elfinder-navbar'), parent = nav.css('overflow', 'hidden').parent(), wz = parent.children('.elfinder-workzone').append(nav), ltr = fm.direction == 'ltr', delta, deltaW, handle, swipeHandle, autoHide, setWidth, navdock, setWzRect = function() { var cwd = fm.getUI('cwd'), wz = fm.getUI('workzone'), wzRect = wz.data('rectangle'), cwdOffset = cwd.offset(); wz.data('rectangle', Object.assign(wzRect, { cwdEdge: (fm.direction === 'ltr')? cwdOffset.left : cwdOffset.left + cwd.width() })); }, setDelta = function() { nav.css('overflow', 'hidden'); delta = Math.round(nav.outerHeight() - nav.height()); deltaW = Math.round(navdock.outerWidth() - navdock.innerWidth()); nav.css('overflow', 'auto'); }; fm.one('init', function() { navdock = fm.getUI('navdock'); var set = function() { setDelta(); fm.bind('wzresize', function() { var navdockH = 0; navdock.width(nav.outerWidth() - deltaW); if (navdock.children().length > 1) { navdockH = navdock.outerHeight(true); } nav.height(wz.height() - navdockH - delta); }).trigger('wzresize'); }; if (fm.cssloaded) { set(); } else { fm.one('cssloaded', set); } }) .one('opendone',function() { handle && handle.trigger('resize'); nav.css('overflow', 'auto'); }).bind('themechange', setDelta); if (fm.UA.Touch) { autoHide = fm.storage('autoHide') || {}; if (typeof autoHide.navbar === 'undefined') { autoHide.navbar = (opts.autoHideUA && opts.autoHideUA.length > 0 && jQuery.grep(opts.autoHideUA, function(v){ return fm.UA[v]? true : false; }).length); fm.storage('autoHide', autoHide); } if (autoHide.navbar) { fm.one('init', function() { if (nav.children().length) { fm.uiAutoHide.push(function(){ nav.stop(true, true).trigger('navhide', { duration: 'slow', init: true }); }); } }); } fm.bind('load', function() { if (nav.children().length) { swipeHandle = jQuery('
                      ').hide().appendTo(wz); if (swipeHandle.css('pointer-events') !== 'none') { swipeHandle.remove(); swipeHandle = null; } } }); nav.on('navshow navhide', function(e, data) { var mode = (e.type === 'navshow')? 'show' : 'hide', duration = (data && data.duration)? data.duration : 'fast', handleW = (data && data.handleW)? data.handleW : Math.max(50, fm.getUI().width() / 10); nav.stop(true, true)[mode]({ duration: duration, step : function() { fm.trigger('wzresize'); }, complete: function() { if (swipeHandle) { if (mode === 'show') { swipeHandle.stop(true, true).hide(); } else { swipeHandle.width(handleW? handleW : ''); fm.resources.blink(swipeHandle, 'slowonce'); } } fm.trigger('navbar'+ mode); data.init && fm.trigger('uiautohide'); setWzRect(); } }); autoHide.navbar = (mode !== 'show'); fm.storage('autoHide', Object.assign(fm.storage('autoHide'), {navbar: autoHide.navbar})); }).on('touchstart', function(e) { if (jQuery(this)['scroll' + (fm.direction === 'ltr'? 'Right' : 'Left')]() > 5) { e.originalEvent._preventSwipeX = true; } }); } if (! fm.UA.Mobile) { handle = nav.resizable({ handles : ltr ? 'e' : 'w', minWidth : opts.minWidth || 150, maxWidth : opts.maxWidth || 500, resize : function() { fm.trigger('wzresize'); }, stop : function(e, ui) { fm.storage('navbarWidth', ui.size.width); setWzRect(); } }) .on('resize scroll', function(e) { var $this = jQuery(this), tm = $this.data('posinit'); e.preventDefault(); e.stopPropagation(); if (! ltr && e.type === 'resize') { nav.css('left', 0); } tm && cancelAnimationFrame(tm); $this.data('posinit', requestAnimationFrame(function() { var offset = (fm.UA.Opera && nav.scrollLeft())? 20 : 2; handle.css('top', 0).css({ top : parseInt(nav.scrollTop())+'px', left : ltr ? 'auto' : parseInt(nav.scrollRight() - offset) * -1, right: ltr ? parseInt(nav.scrollLeft() - offset) * -1 : 'auto' }); if (e.type === 'resize') { fm.getUI('cwd').trigger('resize'); } })); }) .children('.ui-resizable-handle').addClass('ui-front'); } if (setWidth = fm.storage('navbarWidth')) { nav.width(setWidth); } else { if (fm.UA.Mobile) { fm.one(fm.cssloaded? 'init' : 'cssloaded', function() { var set = function() { setWidth = nav.parent().width() / 2; if (nav.data('defWidth') > setWidth) { nav.width(setWidth); } else { nav.width(nav.data('defWidth')); } nav.data('width', nav.width()); fm.trigger('wzresize'); }; nav.data('defWidth', nav.width()); jQuery(window).on('resize.' + fm.namespace, set); set(); }); } } }); return this; }; wp-file-manager/lib/js/ui/navdock.js000064400000010566151202472340013311 0ustar00/** * @class elfindernavdock - elFinder container for preview etc at below the navbar * * @author Naoki Sawada **/ jQuery.fn.elfindernavdock = function(fm, opts) { "use strict"; this.not('.elfinder-navdock').each(function() { var self = jQuery(this).hide().addClass('ui-state-default elfinder-navdock touch-punch'), node = self.parent(), wz = node.children('.elfinder-workzone').append(self), resize = function(to, h) { var curH = h || self.height(), diff = to - curH, len = Object.keys(sizeSyncs).length, calc = len? diff / len : 0, ovf; if (diff) { ovf = self.css('overflow'); self.css('overflow', 'hidden'); self.height(to); jQuery.each(sizeSyncs, function(id, n) { n.height(n.height() + calc).trigger('resize.' + fm.namespace); }); fm.trigger('wzresize'); self.css('overflow', ovf); } }, handle = jQuery('
                      ').appendTo(self), sizeSyncs = {}, resizeFn = [], initMaxHeight = (parseInt(opts.initMaxHeight) || 50) / 100, maxHeight = (parseInt(opts.maxHeight) || 90) / 100, basicHeight, hasNode; self.data('addNode', function(cNode, opts) { var wzH = fm.getUI('workzone').height(), imaxH = wzH * initMaxHeight, curH, tH, mH; opts = Object.assign({ first: false, sizeSync: true, init: false }, opts); if (!cNode.attr('id')) { cNode.attr('id', fm.namespace+'-navdock-' + (+new Date())); } opts.sizeSync && (sizeSyncs[cNode.attr('id')] = cNode); curH = self.height(); tH = curH + cNode.outerHeight(true); if (opts.first) { handle.after(cNode); } else { self.append(cNode); } hasNode = true; self.resizable('enable').height(tH).show(); fm.trigger('wzresize'); if (opts.init) { mH = fm.storage('navdockHeight'); if (mH) { tH = mH; } else { tH = tH > imaxH? imaxH : tH; } basicHeight = tH; } resize(Math.min(tH, wzH * maxHeight)); return self; }).data('removeNode', function(nodeId, appendTo) { var cNode = jQuery('#'+nodeId); delete sizeSyncs[nodeId]; self.height(self.height() - jQuery('#'+nodeId).outerHeight(true)); if (appendTo) { if (appendTo === 'detach') { cNode = cNode.detach(); } else { appendTo.append(cNode); } } else { cNode.remove(); } if (self.children().length <= 1) { hasNode = false; self.resizable('disable').height(0).hide(); } fm.trigger('wzresize'); return cNode; }); if (! opts.disabled) { fm.one('init', function() { var ovf; if (fm.getUI('navbar').children().not('.ui-resizable-handle').length) { self.data('dockEnabled', true); self.resizable({ maxHeight: fm.getUI('workzone').height() * maxHeight, handles: { n: handle }, start: function(e, ui) { ovf = self.css('overflow'); self.css('overflow', 'hidden'); fm.trigger('navdockresizestart', {event: e, ui: ui}, true); }, resize: function(e, ui) { self.css('top', ''); fm.trigger('wzresize', { inNavdockResize : true }); }, stop: function(e, ui) { fm.trigger('navdockresizestop', {event: e, ui: ui}, true); self.css('top', ''); basicHeight = ui.size.height; fm.storage('navdockHeight', basicHeight); resize(basicHeight, ui.originalSize.height); self.css('overflow', ovf); } }); fm.bind('wzresize', function(e) { var minH, maxH, h; if (self.is(':visible')) { maxH = fm.getUI('workzone').height() * maxHeight; if (! e.data || ! e.data.inNavdockResize) { h = self.height(); if (maxH < basicHeight) { if (Math.abs(h - maxH) > 1) { resize(maxH); } } else { if (Math.abs(h - basicHeight) > 1) { resize(basicHeight); } } } self.resizable('option', 'maxHeight', maxH); } }).bind('themechange', function() { var oldH = Math.round(self.height()); requestAnimationFrame(function() { var curH = Math.round(self.height()), diff = oldH - curH; if (diff !== 0) { resize(self.height(), curH - diff); } }); }); } fm.bind('navbarshow navbarhide', function(e) { self[hasNode && e.type === 'navbarshow'? 'show' : 'hide'](); }); }); } }); return this; };wp-file-manager/lib/js/ui/overlay.js000064400000001711151202472340013335 0ustar00 jQuery.fn.elfinderoverlay = function(opts) { "use strict"; var fm = this.parent().elfinder('instance'), o, cnt, show, hide; this.filter(':not(.elfinder-overlay)').each(function() { opts = Object.assign({}, opts); jQuery(this).addClass('ui-front ui-widget-overlay elfinder-overlay') .hide() .on('mousedown', function(e) { e.preventDefault(); e.stopPropagation(); }) .data({ cnt : 0, show : typeof(opts.show) == 'function' ? opts.show : function() { }, hide : typeof(opts.hide) == 'function' ? opts.hide : function() { } }); }); if (opts == 'show') { o = this.eq(0); cnt = o.data('cnt') + 1; show = o.data('show'); fm.toFront(o); o.data('cnt', cnt); if (o.is(':hidden')) { o.show(); show(); } } if (opts == 'hide') { o = this.eq(0); cnt = o.data('cnt') - 1; hide = o.data('hide'); o.data('cnt', cnt); if (cnt <= 0) { o.hide(); hide(); } } return this; }; wp-file-manager/lib/js/ui/panel.js000064400000001057151202472340012756 0ustar00jQuery.fn.elfinderpanel = function(fm) { "use strict"; return this.each(function() { var panel = jQuery(this).addClass('elfinder-panel ui-state-default ui-corner-all'), margin = 'margin-'+(fm.direction == 'ltr' ? 'left' : 'right'); fm.one('load', function(e) { var navbar = fm.getUI('navbar'); panel.css(margin, parseInt(navbar.outerWidth(true))); navbar.on('resize', function(e) { e.preventDefault(); e.stopPropagation(); panel.is(':visible') && panel.css(margin, parseInt(navbar.outerWidth(true))); }); }); }); }; wp-file-manager/lib/js/ui/path.js000064400000012340151202472340012610 0ustar00/** * @class elFinder ui * Display current folder path in statusbar. * Click on folder name in path - open folder * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfinderpath = function(fm, options) { "use strict"; return this.each(function() { var query = '', target = '', mimes = [], place = 'statusbar', clHover= fm.res('class', 'hover'), prefix = 'path' + (elFinder.prototype.uniqueid? elFinder.prototype.uniqueid : '') + '-', wzbase = jQuery('
                      '), path = jQuery(this).addClass('elfinder-path').html(' ') .on('mousedown', 'span.elfinder-path-dir', function(e) { var hash = jQuery(this).attr('id').substr(prefix.length); e.preventDefault(); if (hash != fm.cwd().hash) { jQuery(this).addClass(clHover); if (query) { fm.exec('search', query, { target: hash, mime: mimes.join(' ') }); } else { fm.trigger('select', {selected : [hash]}).exec('open', hash); } } }) .prependTo(fm.getUI('statusbar').show()), roots = jQuery('
                      ').on('click', function(e) { e.stopPropagation(); e.preventDefault(); var roots = jQuery.map(fm.roots, function(h) { return fm.file(h); }), raw = []; jQuery.each(roots, function(i, f) { if (! f.phash && fm.root(fm.cwd().hash, true) !== f.hash) { raw.push({ label : fm.escape(f.i18 || f.name), icon : 'home', callback : function() { fm.exec('open', f.hash); }, options : { iconClass : f.csscls || '', iconImg : f.icon || '' } }); } }); fm.trigger('contextmenu', { raw: raw, x: e.pageX, y: e.pageY }); }).append('').appendTo(wzbase), render = function(cwd) { var dirs = [], names = []; jQuery.each(fm.parents(cwd), function(i, hash) { var c = (cwd === hash)? 'elfinder-path-dir elfinder-path-cwd' : 'elfinder-path-dir', f = fm.file(hash), name = fm.escape(f.i18 || f.name); names.push(name); dirs.push(''+name+''); }); return dirs.join(''+fm.option('separator')+''); }, toWorkzone = function() { var prev; path.children('span.elfinder-path-dir').attr('style', ''); prev = fm.direction === 'ltr'? jQuery('#'+prefix + fm.cwd().hash).prevAll('span.elfinder-path-dir:first') : jQuery(); path.scrollLeft(prev.length? prev.position().left : 0); }, fit = function() { if (fm.UA.CSS.flex) { return; } var dirs = path.children('span.elfinder-path-dir'), cnt = dirs.length, m, bg = 0, ids; if (place === 'workzone' || cnt < 2) { dirs.attr('style', ''); return; } path.width(path.css('max-width')); dirs.css({maxWidth: (100/cnt)+'%', display: 'inline-block'}); m = path.width() - 9; path.children('span.elfinder-path-other').each(function() { m -= jQuery(this).width(); }); ids = []; dirs.each(function(i) { var dir = jQuery(this), w = dir.width(); m -= w; if (w < this.scrollWidth) { ids.push(i); } }); path.width(''); if (ids.length) { if (m > 0) { m = m / ids.length; jQuery.each(ids, function(i, k) { var d = jQuery(dirs[k]); d.css('max-width', d.width() + m); }); } dirs.last().attr('style', ''); } else { dirs.attr('style', ''); } }, hasUiTree, hasUiStat; fm.one('init', function() { hasUiTree = fm.getUI('tree').length; hasUiStat = fm.getUI('stat').length; if (! hasUiTree && options.toWorkzoneWithoutNavbar) { wzbase.append(path).insertBefore(fm.getUI('workzone')); place = 'workzone'; fm.bind('open', toWorkzone) .one('opendone', function() { fm.getUI().trigger('resize'); }); } }) .bind('open searchend parents', function() { var dirs = []; query = ''; target = ''; mimes = []; path.html(render(fm.cwd().hash)); if (Object.keys(fm.roots).length > 1) { path.css('margin', ''); roots.show(); } else { path.css('margin', 0); roots.hide(); } !hasUiStat && fit(); }) .bind('searchstart', function(e) { if (e.data) { query = e.data.query || ''; target = e.data.target || ''; mimes = e.data.mimes || []; } }) .bind('search', function(e) { var dirs = [], html = ''; if (target) { html = render(target); } else { html = fm.i18n('btnAll'); } path.html(''+fm.i18n('searcresult') + ': ' + html); fit(); }) // on swipe to navbar show/hide .bind('navbarshow navbarhide', function() { var wz = fm.getUI('workzone'); if (this.type === 'navbarshow') { fm.unbind('open', toWorkzone); path.prependTo(fm.getUI('statusbar')); wzbase.detach(); place = 'statusbar'; } else { wzbase.append(path).insertBefore(wz); place = 'workzone'; toWorkzone(); fm.bind('open', toWorkzone); } fm.trigger('uiresize'); }) .bind('resize uistatchange', fit); }); }; wp-file-manager/lib/js/ui/places.js000064400000040317151202472340013130 0ustar00/** * @class elFinder places/favorites ui * * @author Dmitry (dio) Levashov * @author Naoki Sawada **/ jQuery.fn.elfinderplaces = function(fm, opts) { "use strict"; return this.each(function() { var dirs = {}, c = 'class', navdir = fm.res(c, 'navdir'), collapsed = fm.res(c, 'navcollapse'), expanded = fm.res(c, 'navexpand'), hover = fm.res(c, 'hover'), clroot = fm.res(c, 'treeroot'), dropover = fm.res(c, 'adroppable'), tpl = fm.res('tpl', 'placedir'), ptpl = fm.res('tpl', 'perms'), spinner = jQuery(fm.res('tpl', 'navspinner')), suffix = opts.suffix? opts.suffix : '', key = 'places' + suffix, menuTimer = null, /** * Convert places dir node into dir hash * * @param String directory id * @return String **/ id2hash = function(id) { return id.substr(6); }, /** * Convert places dir hash into dir node id * * @param String directory id * @return String **/ hash2id = function(hash) { return 'place-'+hash; }, /** * Convert places dir hash into dir node elment (jQuery object) * * @param String directory id * @return Object **/ hash2elm = function(hash) { return jQuery(document.getElementById(hash2id(hash))); }, /** * Save current places state * * @return void **/ save = function() { var hashes = [], data = {}; hashes = jQuery.map(subtree.children().find('[id]'), function(n) { return id2hash(n.id); }); if (hashes.length) { jQuery.each(hashes.reverse(), function(i, h) { data[h] = dirs[h]; }); } else { data = null; } fm.storage(key, data); }, /** * Init dir at places * * @return void **/ init = function() { var dat, hashes; key = 'places'+(opts.suffix? opts.suffix : ''), dirs = {}; dat = fm.storage(key); if (typeof dat === 'string') { // old data type elFinder <= 2.1.12 dat = jQuery.grep(dat.split(','), function(hash) { return hash? true : false;}); jQuery.each(dat, function(i, d) { var dir = d.split('#'); dirs[dir[0]] = dir[1]? dir[1] : dir[0]; }); } else if (jQuery.isPlainObject(dat)) { dirs = dat; } // allow modify `dirs` /** * example for preset places * * elfinderInstance.bind('placesload', function(e, fm) { * //if (fm.storage(e.data.storageKey) === null) { // for first time only * if (!fm.storage(e.data.storageKey)) { // for empty places * e.data.dirs[targetHash] = fallbackName; // preset folder * } * } **/ fm.trigger('placesload', {dirs: dirs, storageKey: key}, true); hashes = Object.keys(dirs); if (hashes.length) { root.prepend(spinner); fm.request({ data : {cmd : 'info', targets : hashes}, preventDefault : true }) .done(function(data) { var exists = {}; data.files && data.files.length && fm.cache(data.files); jQuery.each(data.files, function(i, f) { var hash = f.hash; exists[hash] = f; }); jQuery.each(dirs, function(h, f) { add(exists[h] || Object.assign({notfound: true}, f)); }); if (fm.storage('placesState') > 0) { root.trigger('click'); } }) .always(function() { spinner.remove(); }); } }, /** * Return node for given dir object * * @param Object directory object * @return jQuery **/ create = function(dir, hash) { return jQuery(tpl.replace(/\{id\}/, hash2id(dir? dir.hash : hash)) .replace(/\{name\}/, fm.escape(dir? dir.i18 || dir.name : hash)) .replace(/\{cssclass\}/, dir? (fm.perms2class(dir) + (dir.notfound? ' elfinder-na' : '') + (dir.csscls? ' '+dir.csscls : '')) : '') .replace(/\{permissions\}/, (dir && (!dir.read || !dir.write || dir.notfound))? ptpl : '') .replace(/\{title\}/, dir? (' title="' + fm.escape(fm.path(dir.hash, true) || dir.i18 || dir.name) + '"') : '') .replace(/\{symlink\}/, '') .replace(/\{style\}/, (dir && dir.icon)? fm.getIconStyle(dir) : '')); }, /** * Add new node into places * * @param Object directory object * @return void **/ add = function(dir) { var node, hash; if (dir.mime !== 'directory') { return false; } hash = dir.hash; if (!fm.files().hasOwnProperty(hash)) { // update cache fm.trigger('tree', {tree: [dir]}); } node = create(dir, hash); dirs[hash] = dir; subtree.prepend(node); root.addClass(collapsed); sortBtn.toggle(subtree.children().length > 1); return true; }, /** * Remove dir from places * * @param String directory hash * @return String removed name **/ remove = function(hash) { var name = null, tgt, cnt; if (dirs[hash]) { delete dirs[hash]; tgt = hash2elm(hash); if (tgt.length) { name = tgt.text(); tgt.parent().remove(); cnt = subtree.children().length; sortBtn.toggle(cnt > 1); if (! cnt) { root.removeClass(collapsed); places.removeClass(expanded); subtree.slideToggle(false); } } } return name; }, /** * Move up dir on places * * @param String directory hash * @return void **/ moveup = function(hash) { var self = hash2elm(hash), tgt = self.parent(), prev = tgt.prev('div'), cls = 'ui-state-hover', ctm = fm.getUI('contextmenu'); menuTimer && clearTimeout(menuTimer); if (prev.length) { ctm.find(':first').data('placesHash', hash); self.addClass(cls); tgt.insertBefore(prev); prev = tgt.prev('div'); menuTimer = setTimeout(function() { self.removeClass(cls); if (ctm.find(':first').data('placesHash') === hash) { ctm.hide().empty(); } }, 1500); } if(!prev.length) { self.removeClass(cls); ctm.hide().empty(); } }, /** * Update dir at places * * @param Object directory * @param String previous hash * @return Boolean **/ update = function(dir, preHash) { var hash = dir.hash, tgt = hash2elm(preHash || hash), node = create(dir, hash); if (tgt.length > 0) { tgt.parent().replaceWith(node); dirs[hash] = dir; return true; } else { return false; } }, /** * Remove all dir from places * * @return void **/ clear = function() { subtree.empty(); root.removeClass(collapsed); places.removeClass(expanded); subtree.slideToggle(false); }, /** * Sort places dirs A-Z * * @return void **/ sort = function() { jQuery.each(dirs, function(h, f) { var dir = fm.file(h) || f, node = create(dir, h), ret = null; if (!dir) { node.hide(); } if (subtree.children().length) { jQuery.each(subtree.children(), function() { var current = jQuery(this); if ((dir.i18 || dir.name).localeCompare(current.children('.'+navdir).text()) < 0) { ret = !node.insertBefore(current); return ret; } }); if (ret !== null) { return true; } } !hash2elm(h).length && subtree.append(node); }); save(); }, // sort button sortBtn = jQuery('') .hide() .on('click', function(e) { e.stopPropagation(); subtree.empty(); sort(); } ), /** * Node - wrapper for places root * * @type jQuery **/ wrapper = create({ hash : 'root-'+fm.namespace, name : fm.i18n(opts.name, 'places'), read : true, write : true }), /** * Places root node * * @type jQuery **/ root = wrapper.children('.'+navdir) .addClass(clroot) .on('click', function(e) { e.stopPropagation(); if (root.hasClass(collapsed)) { places.toggleClass(expanded); subtree.slideToggle(); fm.storage('placesState', places.hasClass(expanded)? 1 : 0); } }) .append(sortBtn), /** * Container for dirs * * @type jQuery **/ subtree = wrapper.children('.'+fm.res(c, 'navsubtree')), /** * Main places container * * @type jQuery **/ places = jQuery(this).addClass(fm.res(c, 'tree')+' elfinder-places ui-corner-all') .hide() .append(wrapper) .appendTo(fm.getUI('navbar')) .on('mouseenter mouseleave', '.'+navdir, function(e) { jQuery(this).toggleClass('ui-state-hover', (e.type == 'mouseenter')); }) .on('click', '.'+navdir, function(e) { var p = jQuery(this); if (p.data('longtap')) { e.stopPropagation(); return; } ! p.hasClass('elfinder-na') && fm.exec('open', p.attr('id').substr(6)); }) .on('contextmenu', '.'+navdir+':not(.'+clroot+')', function(e) { var self = jQuery(this), hash = self.attr('id').substr(6); e.preventDefault(); fm.trigger('contextmenu', { raw : [{ label : fm.i18n('moveUp'), icon : 'up', remain : true, callback : function() { moveup(hash); save(); } },'|',{ label : fm.i18n('rmFromPlaces'), icon : 'rm', callback : function() { remove(hash); save(); } }], 'x' : e.pageX, 'y' : e.pageY }); self.addClass('ui-state-hover'); fm.getUI('contextmenu').children().on('mouseenter', function() { self.addClass('ui-state-hover'); }); fm.bind('closecontextmenu', function() { self.removeClass('ui-state-hover'); }); }) .droppable({ tolerance : 'pointer', accept : '.elfinder-cwd-file-wrapper,.elfinder-tree-dir,.elfinder-cwd-file', hoverClass : fm.res('class', 'adroppable'), classes : { // Deprecated hoverClass jQueryUI>=1.12.0 'ui-droppable-hover': fm.res('class', 'adroppable') }, over : function(e, ui) { var helper = ui.helper, dir = jQuery.grep(helper.data('files'), function(h) { return (fm.file(h).mime === 'directory' && !dirs[h])? true : false; }); e.stopPropagation(); helper.data('dropover', helper.data('dropover') + 1); if (fm.insideWorkzone(e.pageX, e.pageY)) { if (dir.length > 0) { helper.addClass('elfinder-drag-helper-plus'); fm.trigger('unlockfiles', {files : helper.data('files'), helper: helper}); } else { jQuery(this).removeClass(dropover); } } }, out : function(e, ui) { var helper = ui.helper; e.stopPropagation(); helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus').data('dropover', Math.max(helper.data('dropover') - 1, 0)); jQuery(this).removeData('dropover') .removeClass(dropover); }, drop : function(e, ui) { var helper = ui.helper, resolve = true; jQuery.each(helper.data('files'), function(i, hash) { var dir = fm.file(hash); if (dir && dir.mime == 'directory' && !dirs[dir.hash]) { add(dir); } else { resolve = false; } }); save(); resolve && helper.hide(); } }) // for touch device .on('touchstart', '.'+navdir+':not(.'+clroot+')', function(e) { if (e.originalEvent.touches.length > 1) { return; } var hash = jQuery(this).attr('id').substr(6), p = jQuery(this) .addClass(hover) .data('longtap', null) .data('tmlongtap', setTimeout(function(){ // long tap p.data('longtap', true); fm.trigger('contextmenu', { raw : [{ label : fm.i18n('rmFromPlaces'), icon : 'rm', callback : function() { remove(hash); save(); } }], 'x' : e.originalEvent.touches[0].pageX, 'y' : e.originalEvent.touches[0].pageY }); }, 500)); }) .on('touchmove touchend', '.'+navdir+':not(.'+clroot+')', function(e) { clearTimeout(jQuery(this).data('tmlongtap')); if (e.type == 'touchmove') { jQuery(this).removeClass(hover); } }); if (jQuery.fn.sortable) { subtree.addClass('touch-punch') .sortable({ appendTo : fm.getUI(), revert : false, helper : function(e) { var dir = jQuery(e.target).parent(); dir.children().removeClass('ui-state-hover'); return jQuery('
                      ') .append(jQuery('
                      ').show().append(dir.clone())); }, stop : function(e, ui) { var target = jQuery(ui.item[0]), top = places.offset().top, left = places.offset().left, width = places.width(), height = places.height(), x = e.pageX, y = e.pageY; if (!(x > left && x < left+width && y > top && y < y+height)) { remove(id2hash(target.children(':first').attr('id'))); save(); } }, update : function(e, ui) { save(); } }); } // "on regist" for command exec jQuery(this).on('regist', function(e, files){ var added = false; jQuery.each(files, function(i, dir) { if (dir && dir.mime == 'directory' && !dirs[dir.hash]) { if (add(dir)) { added = true; } } }); added && save(); }); // on fm load - show places and load files from backend fm.one('load', function() { var dat, hashes; if (fm.oldAPI) { return; } places.show().parent().show(); init(); fm.change(function(e) { var changed = false; jQuery.each(e.data.changed, function(i, file) { if (dirs[file.hash]) { if (file.mime !== 'directory') { if (remove(file.hash)) { changed = true; } } else { if (update(file)) { changed = true; } } } }); changed && save(); }) .bind('rename', function(e) { var changed = false; if (e.data.removed) { jQuery.each(e.data.removed, function(i, hash) { if (e.data.added[i]) { if (update(e.data.added[i], hash)) { changed = true; } } }); } changed && save(); }) .bind('rm paste', function(e) { var names = [], changed = false; if (e.data.removed) { jQuery.each(e.data.removed, function(i, hash) { var name = remove(hash); name && names.push(name); }); } if (names.length) { changed = true; } if (e.data.added && names.length) { jQuery.each(e.data.added, function(i, file) { if (jQuery.inArray(file.name, names) !== 1) { file.mime == 'directory' && add(file); } }); } changed && save(); }) .bind('sync netmount', function() { var ev = this, opSuffix = opts.suffix? opts.suffix : '', hashes; if (ev.type === 'sync') { // check is change of opts.suffix if (suffix !== opSuffix) { suffix = opSuffix; clear(); init(); return; } } hashes = Object.keys(dirs); if (hashes.length) { root.prepend(spinner); fm.request({ data : {cmd : 'info', targets : hashes}, preventDefault : true }) .done(function(data) { var exists = {}, updated = false, cwd = fm.cwd().hash; jQuery.each(data.files || [], function(i, file) { var hash = file.hash; exists[hash] = file; if (!fm.files().hasOwnProperty(file.hash)) { // update cache fm.updateCache({tree: [file]}); } }); jQuery.each(dirs, function(h, f) { if (Boolean(f.notfound) === Boolean(exists[h])) { if ((f.phash === cwd && ev.type !== 'netmount') || (exists[h] && exists[h].mime !== 'directory')) { if (remove(h)) { updated = true; } } else { if (update(exists[h] || Object.assign({notfound: true}, f))) { updated = true; } } } else if (exists[h] && exists[h].phash != cwd) { // update permission of except cwd update(exists[h]); } }); updated && save(); }) .always(function() { spinner.remove(); }); } }); }); }); }; wp-file-manager/lib/js/ui/searchbutton.js000064400000024057151202472340014365 0ustar00/** * @class elFinder toolbar search button widget. * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfindersearchbutton = function(cmd) { "use strict"; return this.each(function() { var result = false, fm = cmd.fm, disabled = fm.res('class', 'disabled'), isopts = cmd.options.incsearch || { enable: false }, sTypes = cmd.options.searchTypes, id = function(name){return fm.namespace + fm.escape(name);}, toolbar= fm.getUI('toolbar'), btnCls = fm.res('class', 'searchbtn'), button = jQuery(this) .hide() .addClass('ui-widget-content elfinder-button '+btnCls) .on('click', function(e) { e.stopPropagation(); }), getMenuOffset = function() { var fmNode = fm.getUI(), baseOffset = fmNode.offset(), buttonOffset = button.offset(); return { top : buttonOffset.top - baseOffset.top, maxHeight : fmNode.height() - 40 }; }, search = function() { input.data('inctm') && clearTimeout(input.data('inctm')); var val = jQuery.trim(input.val()), from = !jQuery('#' + id('SearchFromAll')).prop('checked'), mime = jQuery('#' + id('SearchMime')).prop('checked'), type = ''; if (from) { if (jQuery('#' + id('SearchFromVol')).prop('checked')) { from = fm.root(fm.cwd().hash); } else { from = fm.cwd().hash; } } if (mime) { mime = val; val = '.'; } if (typeSet) { type = typeSet.children('input:checked').val(); } if (val) { input.trigger('focus'); cmd.exec(val, from, mime, type).done(function() { result = true; }).fail(function() { abort(); }); } else { fm.trigger('searchend'); } }, abort = function() { input.data('inctm') && clearTimeout(input.data('inctm')); input.val('').trigger('blur'); if (result || incVal) { result = false; incVal = ''; fm.lazy(function() { fm.trigger('searchend'); }); } }, incVal = '', input = jQuery('') .on('focus', function() { // close other menus !button.hasClass('ui-state-active') && fm.getUI().click(); inFocus = true; incVal = ''; button.addClass('ui-state-active'); fm.trigger('uiresize'); opts && opts.css(getMenuOffset()).slideDown(function() { // Care for on browser window re-active button.addClass('ui-state-active'); fm.toFront(opts); }); }) .on('blur', function() { inFocus = false; if (opts) { if (!opts.data('infocus')) { opts.slideUp(function() { button.removeClass('ui-state-active'); fm.trigger('uiresize'); fm.toHide(opts); }); } else { opts.data('infocus', false); } } else { button.removeClass('ui-state-active'); } }) .appendTo(button) // to avoid fm shortcuts on arrows .on('keypress', function(e) { e.stopPropagation(); }) .on('keydown', function(e) { e.stopPropagation(); if (e.keyCode === jQuery.ui.keyCode.ENTER) { search(); } else if (e.keyCode === jQuery.ui.keyCode.ESCAPE) { e.preventDefault(); abort(); } }), opts, typeSet, cwdReady, inFocus; if (isopts.enable) { isopts.minlen = isopts.minlen || 2; isopts.wait = isopts.wait || 500; input .attr('title', fm.i18n('incSearchOnly')) .on('compositionstart', function() { input.data('composing', true); }) .on('compositionend', function() { input.removeData('composing'); input.trigger('input'); // for IE, edge }) .on('input', function() { if (! input.data('composing')) { input.data('inctm') && clearTimeout(input.data('inctm')); input.data('inctm', setTimeout(function() { var val = input.val(); if (val.length === 0 || val.length >= isopts.minlen) { (incVal !== val) && fm.trigger('incsearchstart', { query: val, type: typeSet? typeSet.children('input:checked').val() : 'searchName' }); incVal = val; if (val === '' && fm.searchStatus.state > 1 && fm.searchStatus.query) { input.val(fm.searchStatus.query).trigger('select'); } } }, isopts.wait)); } }); if (fm.UA.ltIE8) { input.on('keydown', function(e) { if (e.keyCode === 229) { input.data('imetm') && clearTimeout(input.data('imetm')); input.data('composing', true); input.data('imetm', setTimeout(function() { input.removeData('composing'); }, 100)); } }) .on('keyup', function(e) { input.data('imetm') && clearTimeout(input.data('imetm')); if (input.data('composing')) { e.keyCode === jQuery.ui.keyCode.ENTER && input.trigger('compositionend'); } else { input.trigger('input'); } }); } } jQuery('') .appendTo(button) .on('mousedown', function(e) { e.stopPropagation(); e.preventDefault(); if (button.hasClass('ui-state-active')) { search(); } else { input.trigger('focus'); } }); jQuery('') .appendTo(button) .on('mousedown', function(e) { e.stopPropagation(); e.preventDefault(); if (input.val() === '' && !button.hasClass('ui-state-active')) { input.trigger('focus'); } else { abort(); } }); // wait when button will be added to DOM fm.bind('toolbarload', function(){ var parent = button.parent(); if (parent.length) { toolbar.prepend(button.show()); parent.remove(); // position icons for ie7 if (fm.UA.ltIE7) { var icon = button.children(fm.direction == 'ltr' ? '.ui-icon-close' : '.ui-icon-search'); icon.css({ right : '', left : parseInt(button.width())-icon.outerWidth(true) }); } } }); fm .one('init', function() { fm.getUI('cwd').on('touchstart click', function() { inFocus && input.trigger('blur'); }); }) .one('open', function() { opts = (fm.api < 2.1)? null : jQuery('
                      ') .append( jQuery('
                      ') .append( jQuery(''), jQuery(''), jQuery('') ), jQuery('
                      ') .append( jQuery('') ) ) .hide() .appendTo(fm.getUI()); if (opts) { if (sTypes) { typeSet = opts.find('.elfinder-search-type'); jQuery.each(cmd.options.searchTypes, function(i, v) { typeSet.append(jQuery('')); }); } opts.find('div.buttonset').buttonset(); jQuery('#'+id('SearchFromAll')).next('label').attr('title', fm.i18n('searchTarget', fm.i18n('btnAll'))); if (sTypes) { jQuery.each(sTypes, function(i, v) { if (v.title) { jQuery('#'+id(i)).next('label').attr('title', fm.i18n(v.title)); } }); } opts.on('mousedown', 'div.buttonset', function(e){ e.stopPropagation(); opts.data('infocus', true); }) .on('click', 'input', function(e) { e.stopPropagation(); jQuery.trim(input.val())? search() : input.trigger('focus'); }) .on('close', function() { input.trigger('blur'); }); } }) .bind('searchend', function() { input.val(''); }) .bind('open parents', function() { var dirs = [], volroot = fm.file(fm.root(fm.cwd().hash)); if (volroot) { jQuery.each(fm.parents(fm.cwd().hash), function(i, hash) { dirs.push(fm.file(hash).name); }); jQuery('#'+id('SearchFromCwd')).next('label').attr('title', fm.i18n('searchTarget', dirs.join(fm.option('separator')))); jQuery('#'+id('SearchFromVol')).next('label').attr('title', fm.i18n('searchTarget', volroot.name)); } }) .bind('open', function() { incVal && abort(); }) .bind('cwdinit', function() { cwdReady = false; }) .bind('cwdrender',function() { cwdReady = true; }) .bind('keydownEsc', function() { if (incVal && incVal.substr(0, 1) === '/') { incVal = ''; input.val(''); fm.trigger('searchend'); } }) .shortcut({ pattern : 'ctrl+f f3', description : cmd.title, callback : function() { input.trigger('select').trigger('focus'); } }) .shortcut({ pattern : 'a b c d e f g h i j k l m n o p q r s t u v w x y z dig0 dig1 dig2 dig3 dig4 dig5 dig6 dig7 dig8 dig9 num0 num1 num2 num3 num4 num5 num6 num7 num8 num9', description : fm.i18n('firstLetterSearch'), callback : function(e) { if (! cwdReady) { return; } var code = e.originalEvent.keyCode, next = function() { var sel = fm.selected(), key = jQuery.ui.keyCode[(!sel.length || fm.cwdHash2Elm(sel[0]).next('[id]').length)? 'RIGHT' : 'HOME']; jQuery(document).trigger(jQuery.Event('keydown', { keyCode: key, ctrlKey : false, shiftKey : false, altKey : false, metaKey : false })); }, val; if (code >= 96 && code <= 105) { code -= 48; } val = '/' + String.fromCharCode(code); if (incVal !== val) { input.val(val); incVal = val; fm .trigger('incsearchstart', { query: val }) .one('cwdrender', next); } else{ next(); } } }); }); }; wp-file-manager/lib/js/ui/sortbutton.js000064400000007246151202472340014110 0ustar00/** * @class elFinder toolbar button menu with sort variants. * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfindersortbutton = function(cmd) { "use strict"; return this.each(function() { var fm = cmd.fm, name = cmd.name, c = 'class', disabled = fm.res(c, 'disabled'), hover = fm.res(c, 'hover'), item = 'elfinder-button-menu-item', selected = item+'-selected', asc = selected+'-asc', desc = selected+'-desc', text = jQuery(''+cmd.title+''), button = jQuery(this).addClass('ui-state-default elfinder-button elfinder-menubutton elfiner-button-'+name) .attr('title', cmd.title) .append('', text) .on('mouseenter mouseleave', function(e) { !button.hasClass(disabled) && button.toggleClass(hover, e.type === 'mouseenter'); }) .on('click', function(e) { if (!button.hasClass(disabled)) { e.stopPropagation(); menu.is(':hidden') && fm.getUI().click(); menu.css(getMenuOffset()).slideToggle({ duration: 100, done: function(e) { fm[menu.is(':visible')? 'toFront' : 'toHide'](menu); } }); } }), hide = function() { fm.toHide(menu); }, menu = jQuery('
                      ') .hide() .appendTo(fm.getUI()) .on('mouseenter mouseleave', '.'+item, function(e) { jQuery(this).toggleClass(hover, e.type === 'mouseenter'); }) .on('click', function(e) { e.preventDefault(); e.stopPropagation(); }) .on('close', hide), update = function() { menu.children('[rel]').removeClass(selected+' '+asc+' '+desc) .filter('[rel="'+fm.sortType+'"]') .addClass(selected+' '+(fm.sortOrder == 'asc' ? asc : desc)); menu.children('.elfinder-sort-stick').toggleClass(selected, fm.sortStickFolders); menu.children('.elfinder-sort-tree').toggleClass(selected, fm.sortAlsoTreeview); }, getMenuOffset = function() { var baseOffset = fm.getUI().offset(), buttonOffset = button.offset(); return { top : buttonOffset.top - baseOffset.top, left : buttonOffset.left - baseOffset.left }; }, tm; text.hide(); jQuery.each(fm.sortRules, function(name, value) { menu.append(jQuery('
                      '+fm.i18n('sort'+name)+'
                      ').data('type', name)); }); menu.children().on('click', function(e) { cmd.exec([], jQuery(this).removeClass(hover).attr('rel')); }); jQuery('
                      '+fm.i18n('sortFoldersFirst')+'
                      ') .appendTo(menu) .on('click', function() { cmd.exec([], 'stick'); }); fm.one('init', function() { if (fm.ui.tree && fm.options.sortAlsoTreeview !== null) { jQuery('
                      '+fm.i18n('sortAlsoTreeview')+'
                      ') .appendTo(menu) .on('click', function() { cmd.exec([], 'tree'); }); } }) .bind('disable select', hide) .bind('sortchange', update).getUI().on('click', hide); if (menu.children().length > 1) { cmd.change(function() { tm && cancelAnimationFrame(tm); tm = requestAnimationFrame(function() { button.toggleClass(disabled, cmd.disabled()); update(); }); }) .change(); } else { button.addClass(disabled); } }); }; wp-file-manager/lib/js/ui/stat.js000064400000006626151202472340012641 0ustar00/** * @class elFinder ui * Display number of files/selected files and its size in statusbar * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfinderstat = function(fm) { "use strict"; return this.each(function() { var size = jQuery(this).addClass('elfinder-stat-size'), sel = jQuery('
                      ') .on('click', 'a', function(e) { var hash = jQuery(this).data('hash'); e.preventDefault(); fm.exec('opendir', [ hash ]); }), titleitems = fm.i18n('items'), titlesel = fm.i18n('selected'), titlesize = fm.i18n('size'), setstat = function(files) { var c = 0, s = 0, cwd = fm.cwd(), calc = true, hasSize = true; if (cwd.sizeInfo || cwd.size) { s = cwd.size; calc = false; } jQuery.each(files, function(i, file) { c++; if (calc) { s += parseInt(file.size) || 0; if (hasSize === true && file.mime === 'directory' && !file.sizeInfo) { hasSize = false; } } }); size.html(titleitems+': '+c+', '+fm.i18n(hasSize? 'sum' : 'size')+': '+fm.formatSize(s)+'') .attr('title', size.text()); fm.trigger('uistatchange'); }, setIncsearchStat = function(data) { size.find('span.elfinder-stat-incsearch').html(data? data.hashes.length + ' / ' : ''); size.attr('title', size.text()); fm.trigger('uistatchange'); }, setSelect = function(files) { var s = 0, c = 0, dirs = [], path, file; if (files.length === 1) { file = files[0]; s = file.size; if (fm.searchStatus.state === 2) { path = fm.escape(file.path? file.path.replace(/\/[^\/]*$/, '') : '..'); dirs.push('
                      '+path+''); } dirs.push(fm.escape(file.i18 || file.name)); sel.html(dirs.join('/') + (s > 0 ? ', '+fm.formatSize(s) : '')); } else if (files.length) { jQuery.each(files, function(i, file) { c++; s += parseInt(file.size)||0; }); sel.html(c ? titlesel+': '+c+', '+titlesize+': '+fm.formatSize(s) : ' '); } else { sel.html(''); } sel.attr('title', sel.text()); fm.trigger('uistatchange'); }; fm.getUI('statusbar').prepend(size).append(sel).show(); if (fm.UA.Mobile && jQuery.fn.tooltip) { fm.getUI('statusbar').tooltip({ classes: { 'ui-tooltip': 'elfinder-ui-tooltip ui-widget-shadow' }, tooltipClass: 'elfinder-ui-tooltip ui-widget-shadow', track: true }); } fm .bind('cwdhasheschange', function(e) { setstat(jQuery.map(e.data, function(h) { return fm.file(h); })); }) .change(function(e) { var files = e.data.changed || [], cwdHash = fm.cwd().hash; jQuery.each(files, function() { if (this.hash === cwdHash) { if (this.size) { size.children('.elfinder-stat-size').addClass('elfinder-stat-size-recursive').html(fm.i18n('sum')+': '+fm.formatSize(this.size)); size.attr('title', size.text()); } return false; } }); }) .select(function() { setSelect(fm.selectedFiles()); }) .bind('open', function() { setSelect([]); }) .bind('incsearch', function(e) { setIncsearchStat(e.data); }) .bind('incsearchend', function() { setIncsearchStat(); }) ; }); }; wp-file-manager/lib/js/ui/toast.js000064400000005201151202472340013004 0ustar00/** * @class elFinder toast * * This was created inspired by the toastr. Thanks to developers of toastr. * CodeSeven/toastr: http://johnpapa.net * * @author Naoki Sawada **/ jQuery.fn.elfindertoast = function(opts, fm) { "use strict"; var defOpts = Object.assign({ mode: 'success', // or 'info', 'warning' and 'error' msg: '', showMethod: 'fadeIn', //fadeIn, slideDown, and show are built into jQuery showDuration: 300, showEasing: 'swing', //swing and linear are built into jQuery onShown: undefined, hideMethod: 'fadeOut', hideDuration: 1500, hideEasing: 'swing', onHidden: undefined, timeOut: 3000, extNode: undefined, button: undefined, width: undefined }, jQuery.isPlainObject(fm.options.uiOptions.toast.defaults)? fm.options.uiOptions.toast.defaults : {}); return this.each(function() { opts = Object.assign({}, defOpts, opts || {}); var self = jQuery(this), show = function(notm) { self.stop(); fm.toFront(self); self[opts.showMethod]({ duration: opts.showDuration, easing: opts.showEasing, complete: function() { opts.onShown && opts.onShown(); if (!notm && opts.timeOut) { rmTm = setTimeout(rm, opts.timeOut); } } }); }, rm = function() { self[opts.hideMethod]({ duration: opts.hideDuration, easing: opts.hideEasing, complete: function() { opts.onHidden && opts.onHidden(); self.remove(); } }); }, rmTm; self.on('click', function(e) { e.stopPropagation(); e.preventDefault(); rmTm && clearTimeout(rmTm); opts.onHidden && opts.onHidden(); self.stop().remove(); }).on('mouseenter mouseleave', function(e) { if (opts.timeOut) { rmTm && clearTimeout(rmTm); rmTm = null; if (e.type === 'mouseenter') { show(true); } else { rmTm = setTimeout(rm, opts.timeOut); } } }).hide().addClass('toast-' + opts.mode).append(jQuery('
                      ').html(opts.msg.replace(/%([a-zA-Z0-9]+)%/g, function(m, m1) { return fm.i18n(m1); }))); if (opts.extNode) { self.append(opts.extNode); } if (opts.button) { self.append( jQuery('') .append(jQuery('').text(fm.i18n(opts.button.text))) .on('mouseenter mouseleave', function(e) { jQuery(this).toggleClass('ui-state-hover', e.type == 'mouseenter'); }) .on('click', opts.button.click || function(){}) ); } if (opts.width) { self.css('max-width', opts.width); } show(); }); };wp-file-manager/lib/js/ui/toolbar.js000064400000023562151202472340013326 0ustar00/** * @class elFinder toolbar * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfindertoolbar = function(fm, opts) { "use strict"; this.not('.elfinder-toolbar').each(function() { var commands = fm._commands, self = jQuery(this).addClass('ui-helper-clearfix ui-widget-header elfinder-toolbar'), options = { // default options displayTextLabel: false, labelExcludeUA: ['Mobile'], autoHideUA: ['Mobile'], showPreferenceButton: 'none' }, filter = function(opts) { return jQuery.grep(opts, function(v) { if (jQuery.isPlainObject(v)) { options = Object.assign(options, v); return false; } return true; }); }, render = function(disabled){ var name,cmdPref; jQuery.each(buttons, function(i, b) { b.detach(); }); self.empty(); l = panels.length; while (l--) { if (panels[l]) { panel = jQuery('
                      '); i = panels[l].length; while (i--) { name = panels[l][i]; if ((!disabled || !disabled[name]) && (cmd = commands[name])) { button = 'elfinder'+cmd.options.ui; if (! buttons[name] && jQuery.fn[button]) { buttons[name] = jQuery('
                      ')[button](cmd); } if (buttons[name]) { buttons[name].children('.elfinder-button-text')[textLabel? 'show' : 'hide'](); panel.prepend(buttons[name]); } } } panel.children().length && self.prepend(panel); panel.children(':gt(0)').before(''); } } if (cmdPref = commands['preference']) { //cmdPref.state = !self.children().length? 0 : -1; if (options.showPreferenceButton === 'always' || (!self.children().length && options.showPreferenceButton === 'auto')) { //cmdPref.state = 0; panel = jQuery('
                      '); name = 'preference'; button = 'elfinder'+cmd.options.ui; buttons[name] = jQuery('
                      ')[button](cmdPref); buttons[name].children('.elfinder-button-text')[textLabel? 'show' : 'hide'](); panel.prepend(buttons[name]); self.append(panel); } } (! self.data('swipeClose') && self.children().length)? self.show() : self.hide(); prevHeight = self[0].clientHeight; fm.trigger('toolbarload').trigger('uiresize'); }, buttons = {}, panels = filter(opts || []), dispre = null, uiCmdMapPrev = '', prevHeight = 0, contextRaw = [], l, i, cmd, panel, button, swipeHandle, autoHide, textLabel, resizeTm; // normalize options options.showPreferenceButton = options.showPreferenceButton.toLowerCase(); if (options.displayTextLabel !== 'none') { // correction of options.displayTextLabel textLabel = fm.storage('toolbarTextLabel'); if (textLabel === null) { textLabel = (options.displayTextLabel && (! options.labelExcludeUA || ! options.labelExcludeUA.length || ! jQuery.grep(options.labelExcludeUA, function(v){ return fm.UA[v]? true : false; }).length)); } else { textLabel = (textLabel == 1); } contextRaw.push({ label : fm.i18n('textLabel'), icon : 'text', callback : function() { textLabel = ! textLabel; self.css('height', '').find('.elfinder-button-text')[textLabel? 'show':'hide'](); fm.trigger('uiresize').storage('toolbarTextLabel', textLabel? '1' : '0'); }, }); } if (options.preferenceInContextmenu && commands['preference']) { contextRaw.push({ label : fm.i18n('toolbarPref'), icon : 'preference', callback : function() { fm.exec('preference', void(0), {tab: 'toolbar'}); } }); } // add contextmenu if (contextRaw.length) { self.on('contextmenu', function(e) { e.stopPropagation(); e.preventDefault(); fm.trigger('contextmenu', { raw: contextRaw, x: e.pageX, y: e.pageY }); }).on('touchstart', function(e) { if (e.originalEvent.touches.length > 1) { return; } self.data('tmlongtap') && clearTimeout(self.data('tmlongtap')); self.removeData('longtap') .data('longtap', {x: e.originalEvent.touches[0].pageX, y: e.originalEvent.touches[0].pageY}) .data('tmlongtap', setTimeout(function() { self.removeData('longtapTm') .trigger({ type: 'contextmenu', pageX: self.data('longtap').x, pageY: self.data('longtap').y }) .data('longtap', {longtap: true}); }, 500)); }).on('touchmove touchend', function(e) { if (self.data('tmlongtap')) { if (e.type === 'touchend' || ( Math.abs(self.data('longtap').x - e.originalEvent.touches[0].pageX) + Math.abs(self.data('longtap').y - e.originalEvent.touches[0].pageY)) > 4) clearTimeout(self.data('tmlongtap')); self.removeData('longtapTm'); } }).on('click', function(e) { if (self.data('longtap') && self.data('longtap').longtap) { e.stopImmediatePropagation(); e.preventDefault(); } }).on('touchend click', '.elfinder-button', function(e) { if (self.data('longtap') && self.data('longtap').longtap) { e.stopImmediatePropagation(); e.preventDefault(); } } ); } self.prev().length && self.parent().prepend(this); render(); fm.bind('open sync select toolbarpref', function() { var disabled = Object.assign({}, fm.option('disabledFlip')), userHides = fm.storage('toolbarhides'), doRender, sel, disabledKeys; if (! userHides && Array.isArray(options.defaultHides)) { userHides = {}; jQuery.each(options.defaultHides, function() { userHides[this] = true; }); fm.storage('toolbarhides', userHides); } if (this.type === 'select') { if (fm.searchStatus.state < 2) { return; } sel = fm.selected(); if (sel.length) { disabled = fm.getDisabledCmds(sel, true); } } jQuery.each(userHides, function(n) { if (!disabled[n]) { disabled[n] = true; } }); if (Object.keys(fm.commandMap).length) { jQuery.each(fm.commandMap, function(from, to){ if (to === 'hidden') { disabled[from] = true; } }); } disabledKeys = Object.keys(disabled); if (!dispre || dispre.toString() !== disabledKeys.sort().toString()) { render(disabledKeys.length? disabled : null); doRender = true; } dispre = disabledKeys.sort(); if (doRender || uiCmdMapPrev !== JSON.stringify(fm.commandMap)) { uiCmdMapPrev = JSON.stringify(fm.commandMap); if (! doRender) { // reset toolbar jQuery.each(jQuery('div.elfinder-button'), function(){ var origin = jQuery(this).data('origin'); if (origin) { jQuery(this).after(origin).detach(); } }); } if (Object.keys(fm.commandMap).length) { jQuery.each(fm.commandMap, function(from, to){ var cmd = fm._commands[to], button = cmd? 'elfinder'+cmd.options.ui : null, btn; if (button && jQuery.fn[button]) { btn = buttons[from]; if (btn) { if (! buttons[to] && jQuery.fn[button]) { buttons[to] = jQuery('
                      ')[button](cmd); if (buttons[to]) { buttons[to].children('.elfinder-button-text')[textLabel? 'show' : 'hide'](); if (cmd.extendsCmd) { buttons[to].children('span.elfinder-button-icon').addClass('elfinder-button-icon-' + cmd.extendsCmd); } } } if (buttons[to]) { btn.after(buttons[to]); buttons[to].data('origin', btn.detach()); } } } }); } } }).bind('resize', function(e) { resizeTm && cancelAnimationFrame(resizeTm); resizeTm = requestAnimationFrame(function() { var h = self[0].clientHeight; if (prevHeight !== h) { prevHeight = h; fm.trigger('uiresize'); } }); }); if (fm.UA.Touch) { autoHide = fm.storage('autoHide') || {}; if (typeof autoHide.toolbar === 'undefined') { autoHide.toolbar = (options.autoHideUA && options.autoHideUA.length > 0 && jQuery.grep(options.autoHideUA, function(v){ return fm.UA[v]? true : false; }).length); fm.storage('autoHide', autoHide); } if (autoHide.toolbar) { fm.one('init', function() { fm.uiAutoHide.push(function(){ self.stop(true, true).trigger('toggle', { duration: 500, init: true }); }); }); } fm.bind('load', function() { swipeHandle = jQuery('
                      ').hide().appendTo(fm.getUI()); if (swipeHandle.css('pointer-events') !== 'none') { swipeHandle.remove(); swipeHandle = null; } }); self.on('toggle', function(e, data) { var wz = fm.getUI('workzone'), toshow= self.is(':hidden'), wzh = wz.height(), h = self.height(), tbh = self.outerHeight(true), delta = tbh - h, opt = Object.assign({ step: function(now) { wz.height(wzh + (toshow? (now + delta) * -1 : h - now)); fm.trigger('resize'); }, always: function() { requestAnimationFrame(function() { self.css('height', ''); fm.trigger('uiresize'); if (swipeHandle) { if (toshow) { swipeHandle.stop(true, true).hide(); } else { swipeHandle.height(data.handleH? data.handleH : ''); fm.resources.blink(swipeHandle, 'slowonce'); } } toshow && self.scrollTop('0px'); data.init && fm.trigger('uiautohide'); }); } }, data); self.data('swipeClose', ! toshow).stop(true, true).animate({height : 'toggle'}, opt); autoHide.toolbar = !toshow; fm.storage('autoHide', Object.assign(fm.storage('autoHide'), {toolbar: autoHide.toolbar})); }).on('touchstart', function(e) { if (self.scrollBottom() > 5) { e.originalEvent._preventSwipeY = true; } }); } }); return this; }; wp-file-manager/lib/js/ui/tree.js000064400000121147151202472340012621 0ustar00/** * @class elFinder folders tree * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfindertree = function(fm, opts) { "use strict"; var treeclass = fm.res('class', 'tree'); this.not('.'+treeclass).each(function() { var c = 'class', mobile = fm.UA.Mobile, /** * Root directory class name * * @type String */ root = fm.res(c, 'treeroot'), /** * Open root dir if not opened yet * * @type Boolean */ openRoot = opts.openRootOnLoad, /** * Open current work dir if not opened yet * * @type Boolean */ openCwd = opts.openCwdOnOpen, /** * Auto loading current directory parents and do expand their node * * @type Boolean */ syncTree = openCwd || opts.syncTree, /** * Subtree class name * * @type String */ subtree = fm.res(c, 'navsubtree'), /** * Directory class name * * @type String */ navdir = fm.res(c, 'treedir'), /** * Directory CSS selector * * @type String */ selNavdir = 'span.' + navdir, /** * Collapsed arrow class name * * @type String */ collapsed = fm.res(c, 'navcollapse'), /** * Expanded arrow class name * * @type String */ expanded = fm.res(c, 'navexpand'), /** * Class name to mark arrow for directory with already loaded children * * @type String */ loaded = 'elfinder-subtree-loaded', /** * Class name to mark need subdirs request * * @type String */ chksubdir = 'elfinder-subtree-chksubdir', /** * Arraw class name * * @type String */ arrow = fm.res(c, 'navarrow'), /** * Current directory class name * * @type String */ active = fm.res(c, 'active'), /** * Droppable dirs dropover class * * @type String */ dropover = fm.res(c, 'adroppable'), /** * Hover class name * * @type String */ hover = fm.res(c, 'hover'), /** * Disabled dir class name * * @type String */ disabled = fm.res(c, 'disabled'), /** * Draggable dir class name * * @type String */ draggable = fm.res(c, 'draggable'), /** * Droppable dir class name * * @type String */ droppable = fm.res(c, 'droppable'), /** * root wrapper class * * @type String */ wrapperRoot = 'elfinder-navbar-wrapper-root', /** * Un-disabled cmd `paste` volume's root wrapper class * * @type String */ pastable = 'elfinder-navbar-wrapper-pastable', /** * Un-disabled cmd `upload` volume's root wrapper class * * @type String */ uploadable = 'elfinder-navbar-wrapper-uploadable', /** * Is position x inside Navbar * * @param x Numbar * * @return */ insideNavbar = function(x) { var left = navbar.offset().left; return left <= x && x <= left + navbar.width(); }, /** * To call subdirs elements queue * * @type Object */ subdirsQue = {}, /** * To exec subdirs elements ids * */ subdirsExecQue = [], /** * Request subdirs to backend * * @param id String * * @return Deferred */ subdirs = function(ids) { var targets = []; jQuery.each(ids, function(i, id) { subdirsQue[id] && targets.push(fm.navId2Hash(id)); delete subdirsQue[id]; }); if (targets.length) { return fm.request({ data: { cmd: 'subdirs', targets: targets, preventDefault : true } }).done(function(res) { if (res && res.subdirs) { jQuery.each(res.subdirs, function(hash, subdirs) { var elm = fm.navHash2Elm(hash); elm.removeClass(chksubdir); elm[subdirs? 'addClass' : 'removeClass'](collapsed); }); } }); } }, subdirsJobRes = null, /** * To check target element is in window of subdirs * * @return void */ checkSubdirs = function() { var ids = Object.keys(subdirsQue); if (ids.length) { subdirsJobRes && subdirsJobRes._abort(); execSubdirsTm && clearTimeout(execSubdirsTm); subdirsExecQue = []; subdirsJobRes = fm.asyncJob(function(id) { return fm.isInWindow(jQuery('#'+id))? id : null; }, ids, { numPerOnce: 200 }) .done(function(arr) { if (arr.length) { subdirsExecQue = arr; execSubdirs(); } }); } }, subdirsPending = 0, execSubdirsTm, /** * Exec subdirs as batch request * * @return void */ execSubdirs = function() { var cnt = opts.subdirsMaxConn - subdirsPending, atOnce = fm.maxTargets? Math.min(fm.maxTargets, opts.subdirsAtOnce) : opts.subdirsAtOnce, i, ids; execSubdirsTm && cancelAnimationFrame(execSubdirsTm); if (subdirsExecQue.length) { if (cnt > 0) { for (i = 0; i < cnt; i++) { if (subdirsExecQue.length) { subdirsPending++; subdirs(subdirsExecQue.splice(0, atOnce)).always(function() { subdirsPending--; execSubdirs(); }); } } } else { execSubdirsTm = requestAnimationFrame(function() { subdirsExecQue.length && execSubdirs(); }); } } }, drop = fm.droppable.drop, /** * Droppable options * * @type Object */ droppableopts = jQuery.extend(true, {}, fm.droppable, { // show subfolders on dropover over : function(e, ui) { var dst = jQuery(this), helper = ui.helper, cl = hover+' '+dropover, hash, status; e.stopPropagation(); helper.data('dropover', helper.data('dropover') + 1); dst.data('dropover', true); if (ui.helper.data('namespace') !== fm.namespace || ! fm.insideWorkzone(e.pageX, e.pageY)) { dst.removeClass(cl); helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus'); return; } if (! insideNavbar(e.clientX)) { dst.removeClass(cl); return; } helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus'); dst.addClass(hover); if (dst.is('.'+collapsed+':not(.'+expanded+')')) { dst.data('expandTimer', setTimeout(function() { dst.is('.'+collapsed+'.'+hover) && dst.children('.'+arrow).trigger('click'); }, 500)); } if (dst.is('.elfinder-ro,.elfinder-na')) { dst.removeClass(dropover); //helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus'); return; } hash = fm.navId2Hash(dst.attr('id')); dst.data('dropover', hash); jQuery.each(ui.helper.data('files'), function(i, h) { if (h === hash || (fm.file(h).phash === hash && !ui.helper.hasClass('elfinder-drag-helper-plus'))) { dst.removeClass(cl); return false; // break jQuery.each } }); if (helper.data('locked')) { status = 'elfinder-drag-helper-plus'; } else { status = 'elfinder-drag-helper-move'; if (fm._commands.copy && (e.shiftKey || e.ctrlKey || e.metaKey)) { status += ' elfinder-drag-helper-plus'; } } dst.hasClass(dropover) && helper.addClass(status); requestAnimationFrame(function(){ dst.hasClass(dropover) && helper.addClass(status); }); }, out : function(e, ui) { var dst = jQuery(this), helper = ui.helper; e.stopPropagation(); if (insideNavbar(e.clientX)) { helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus'); } helper.data('dropover', Math.max(helper.data('dropover') - 1, 0)); dst.data('expandTimer') && clearTimeout(dst.data('expandTimer')); dst.removeData('dropover') .removeClass(hover+' '+dropover); }, deactivate : function() { jQuery(this).removeData('dropover') .removeClass(hover+' '+dropover); }, drop : function(e, ui) { insideNavbar(e.clientX) && drop.call(this, e, ui); } }), spinner = jQuery(fm.res('tpl', 'navspinner')), /** * Directory html template * * @type String */ tpl = fm.res('tpl', 'navdir'), /** * Permissions marker html template * * @type String */ ptpl = fm.res('tpl', 'perms'), /** * Lock marker html template * * @type String */ ltpl = fm.res('tpl', 'lock'), /** * Symlink marker html template * * @type String */ stpl = fm.res('tpl', 'symlink'), /** * Directory hashes that has more pages * * @type Object */ hasMoreDirs = {}, /** * Html template replacement methods * * @type Object */ replace = { id : function(dir) { return fm.navHash2Id(dir.hash); }, name : function(dir) { return fm.escape(dir.i18 || dir.name); }, cssclass : function(dir) { var cname = (dir.phash && ! dir.isroot ? '' : root)+' '+navdir+' '+fm.perms2class(dir); dir.dirs && !dir.link && (cname += ' ' + collapsed) && dir.dirs == -1 && (cname += ' ' + chksubdir); opts.getClass && (cname += ' ' + opts.getClass(dir)); dir.csscls && (cname += ' ' + fm.escape(dir.csscls)); return cname; }, title : function(dir) { return opts.attrTitle? (' title="' + fm.escape(fm.path(dir.hash, true) || dir.i18 || dir.name) + '"') : ''; }, root : function(dir) { var cls = ''; if (!dir.phash || dir.isroot) { cls += ' '+wrapperRoot; if (!dir.disabled || dir.disabled.length < 1) { cls += ' '+pastable+' '+uploadable; } else { if (jQuery.inArray('paste', dir.disabled) === -1) { cls += ' '+pastable; } if (jQuery.inArray('upload', dir.disabled) === -1) { cls += ' '+uploadable; } } return cls; } else { return ''; } }, permissions : function(dir) { return !dir.read || !dir.write ? ptpl : ''; }, symlink : function(dir) { return dir.alias ? stpl : ''; }, style : function(dir) { return dir.icon ? fm.getIconStyle(dir) : ''; } }, /** * Return html for given dir * * @param Object directory * @return String */ itemhtml = function(dir) { return tpl.replace(/(?:\{([a-z]+)\})/ig, function(m, key) { var res = replace[key] ? replace[key](dir) : (dir[key] || ''); if (key === 'id' && dir.dirs == -1) { subdirsQue[res] = res; } return res; }); }, /** * Return only dirs from files list * * @param Array files list * @param Boolean do check exists * @return Array */ filter = function(files, checkExists) { return jQuery.map(files || [], function(f) { return (f.mime === 'directory' && (!checkExists || fm.navHash2Elm(f.hash).length)) ? f : null; }); }, /** * Find parent subtree for required directory * * @param String dir hash * @return jQuery */ findSubtree = function(hash) { return hash ? fm.navHash2Elm(hash).next('.'+subtree) : tree; }, /** * Find directory (wrapper) in required node * before which we can insert new directory * * @param jQuery parent directory * @param Object new directory * @return jQuery */ findSibling = function(subtree, dir) { var node = subtree.children(':first'), info; while (node.length) { info = fm.file(fm.navId2Hash(node.children('[id]').attr('id'))); if ((info = fm.file(fm.navId2Hash(node.children('[id]').attr('id')))) && compare(dir, info) < 0) { return node; } node = node.next(); } return subtree.children('button.elfinder-navbar-pager-next'); }, /** * Add new dirs in tree * * @param Array dirs list * @return void */ updateTree = function(dirs) { var length = dirs.length, orphans = [], i = length, tgts = jQuery(), done = {}, cwd = fm.cwd(), append = function(parent, dirs, start, direction) { var hashes = {}, curStart = 0, max = fm.newAPI? Math.min(10000, Math.max(10, opts.subTreeMax)) : 10000, setHashes = function() { hashes = {}; jQuery.each(dirs, function(i, d) { hashes[d.hash] = i; }); }, change = function(mode) { if (mode === 'prepare') { jQuery.each(dirs, function(i, d) { d.node && parent.append(d.node.hide()); }); } else if (mode === 'done') { jQuery.each(dirs, function(i, d) { d.node && d.node.detach().show(); }); } }, update = function(e, data) { var i, changed; e.stopPropagation(); if (data.select) { render(getStart(data.select)); return; } if (data.change) { change(data.change); return; } if (data.removed && data.removed.length) { dirs = jQuery.grep(dirs, function(d) { if (data.removed.indexOf(d.hash) === -1) { return true; } else { !changed && (changed = true); return false; } }); } if (data.added && data.added.length) { dirs = dirs.concat(jQuery.grep(data.added, function(d) { if (hashes[d.hash] === void(0)) { !changed && (changed = true); return true; } else { return false; } })); } if (changed) { dirs.sort(compare); setHashes(); render(curStart); } }, getStart = function(target) { if (hashes[target] !== void(0)) { return Math.floor(hashes[target] / max) * max; } return void(0); }, target = fm.navId2Hash(parent.prev('[id]').attr('id')), render = function(start, direction) { var html = [], nodes = {}, total, page, s, parts, prev, next, prevBtn, nextBtn; delete hasMoreDirs[target]; curStart = start; parent.off('update.'+fm.namespace, update); if (dirs.length > max) { parent.on('update.'+fm.namespace, update); if (start === void(0)) { s = 0; setHashes(); start = getStart(cwd.hash); if (start === void(0)) { start = 0; } } parts = dirs.slice(start, start + max); hasMoreDirs[target] = parent; prev = start? Math.max(-1, start - max) : -1; next = (start + max >= dirs.length)? 0 : start + max; total = Math.ceil(dirs.length/max); page = Math.ceil(start/max); } jQuery.each(parts || dirs, function(i, d) { html.push(itemhtml(d)); if (d.node) { nodes[d.hash] = d.node; } }); if (prev > -1) { prevBtn = jQuery('') .text(fm.i18n('btnPrevious', page, total)) .button({ icons: { primary: "ui-icon-caret-1-n" } }) .on('click', function(e) { e.preventDefault(); e.stopPropagation(); render(prev, 'up'); }); } else { prevBtn = jQuery(); } if (next) { nextBtn = jQuery('') .text(fm.i18n('btnNext', page + 2, total)) .button({ icons: { primary: "ui-icon-caret-1-s" } }) .on('click', function(e) { e.preventDefault(); e.stopPropagation(); render(next, 'down'); }); } else { nextBtn = jQuery(); } detach(); parent.empty()[parts? 'addClass' : 'removeClass']('elfinder-navbar-hasmore').append(prevBtn, html.join(''), nextBtn); jQuery.each(nodes, function(h, n) { fm.navHash2Elm(h).parent().replaceWith(n); }); if (direction) { autoScroll(fm.navHash2Id(parts[direction === 'up'? parts.length - 1 : 0].hash)); } ! mobile && fm.lazy(function() { updateDroppable(null, parent); }); }, detach = function() { jQuery.each(parent.children('.elfinder-navbar-wrapper'), function(i, elm) { var n = jQuery(elm), ch = n.children('[id]:first'), h, c; if (ch.hasClass(loaded)) { h = fm.navId2Hash(ch.attr('id')); if (h && (c = hashes[h]) !== void(0)) { dirs[c].node = n.detach(); } } }); }; render(); }, dir, html, parent, sibling, init, atonce = {}, updates = [], base, node, lastKey, lastNodes = {}; while (i--) { dir = dirs[i]; if (done[dir.hash] || fm.navHash2Elm(dir.hash).length) { continue; } done[dir.hash] = true; if ((parent = findSubtree(dir.phash)).length) { lastKey = dir.phash || 'treeroot'; if (typeof lastNodes[lastKey] === 'undefined') { lastNodes[lastKey] = parent.children(':last'); } init = !lastNodes[lastKey].length; if (dir.phash && (init || parent.hasClass('elfinder-navbar-hasmore') || (sibling = findSibling(parent, dir)).length)) { if (init) { if (!atonce[dir.phash]) { atonce[dir.phash] = []; } atonce[dir.phash].push(dir); } else { if (sibling) { node = itemhtml(dir); sibling.before(node); ! mobile && (tgts = tgts.add(node)); } else { updates.push(dir); } } } else { node = itemhtml(dir); if (init) { parent.prepend(node); } else { lastNodes[lastKey].after(node); } if (!dir.phash || dir.isroot) { base = fm.navHash2Elm(dir.hash).parent(); } ! mobile && updateDroppable(null, base); } } else { orphans.push(dir); } } // When init, html append at once if (Object.keys(atonce).length){ jQuery.each(atonce, function(p, dirs){ var parent = findSubtree(p), html = []; dirs.sort(compare); append(parent, dirs); }); } if (updates.length) { parent.trigger('update.' + fm.namespace, { added : updates }); } if (orphans.length && orphans.length < length) { updateTree(orphans); return; } ! mobile && tgts.length && fm.lazy(function() { updateDroppable(tgts); }); }, /** * sort function by dir.name * */ compare = function(dir1, dir2) { if (! fm.sortAlsoTreeview) { return fm.sortRules.name(dir1, dir2); } else { var asc = fm.sortOrder == 'asc', type = fm.sortType, rules = fm.sortRules, res; res = asc? rules[fm.sortType](dir1, dir2) : rules[fm.sortType](dir2, dir1); return type !== 'name' && res === 0 ? res = asc ? rules.name(dir1, dir2) : rules.name(dir2, dir1) : res; } }, /** * Timer ID of autoScroll * * @type Integer */ autoScrTm, /** * Auto scroll to cwd * * @return Object jQuery Deferred */ autoScroll = function(target) { var dfrd = jQuery.Deferred(), current, parent, top, treeH, bottom, tgtTop; autoScrTm && clearTimeout(autoScrTm); autoScrTm = setTimeout(function() { current = jQuery(document.getElementById((target || fm.navHash2Id(fm.cwd().hash)))); if (current.length) { // expand parents directory (openCwd? current : current.parent()).parents('.elfinder-navbar-wrapper').children('.'+loaded).addClass(expanded).next('.'+subtree).show(); parent = tree.parent().stop(false, true); top = parent.offset().top; treeH = parent.height(); bottom = top + treeH - current.outerHeight(); tgtTop = current.offset().top; if (tgtTop < top || tgtTop > bottom) { parent.animate({ scrollTop : parent.scrollTop() + tgtTop - top - treeH / 3 }, { duration : opts.durations.autoScroll, complete : function() { dfrd.resolve(); } }); } else { dfrd.resolve(); } } else { dfrd.reject(); } }, 100); return dfrd; }, /** * Get hashes array of items of the bottom of the leaf root back from the target * * @param Object elFinder item(directory) object * @return Array hashes */ getEnds = function(d) { var cur = d || fm.cwd(), res = cur.hash? [ cur.hash ] : [], phash, root, dir; root = fm.root(cur.hash); dir = fm.file(root); while (dir && (phash = dir.phash)) { res.unshift(phash); root = fm.root(phash); dir = fm.file(root); if (fm.navHash2Elm(dir.hash).hasClass(loaded)) { break; } } return res; }, /** * Select pages back in order to display the target * * @param Object elFinder item(directory) object * @return Object jQuery node object of target node */ selectPages = function(current) { var cur = current || fm.cwd(), curHash = cur.hash, node = fm.navHash2Elm(curHash); if (!node.length) { while(cur && cur.phash) { if (hasMoreDirs[cur.phash] && !fm.navHash2Elm(cur.hash).length) { hasMoreDirs[cur.phash].trigger('update.'+fm.namespace, { select : cur.hash }); } cur = fm.file(cur.phash); } node = fm.navHash2Elm(curHash); } return node; }, /** * Flag indicating that synchronization is currently in progress * * @type Boolean */ syncing, /** * Mark current directory as active * If current directory is not in tree - load it and its parents * * @param Array directory objects of cwd * @param Boolean do auto scroll * @return Object jQuery Deferred */ sync = function(cwdDirs, aScr) { var cwd = fm.cwd(), cwdhash = cwd.hash, autoScr = aScr === void(0)? syncTree : aScr, loadParents = function(dir) { var dfd = jQuery.Deferred(), reqs = [], ends = getEnds(dir), makeReq = function(cmd, h, until) { var data = { cmd : cmd, target : h }; if (until) { data.until = until; } return fm.request({ data : data, preventFail : true }); }, baseHash, baseId; reqs = jQuery.map(ends, function(h) { var d = fm.file(h), isRoot = d? fm.isRoot(d) : false, node = fm.navHash2Elm(h), getPhash = function(h, dep) { var d, ph, depth = dep || 1; ph = (d = fm.file(h))? d.phash : false; if (ph && depth > 1) { return getPhash(ph, --depth); } return ph; }, until, closest = (function() { var phash = getPhash(h); until = phash; while (phash) { if (fm.navHash2Elm(phash).hasClass(loaded)) { break; } until = phash; phash = getPhash(phash); } if (!phash) { until = void(0); phash = fm.root(h); } return phash; })(), cmd; if (!node.hasClass(loaded) && (isRoot || !d || !fm.navHash2Elm(d.phash).hasClass(loaded))) { if (isRoot || closest === getPhash(h) || closest === getPhash(h, 2)) { until = void(0); cmd = 'tree'; if (!isRoot) { h = getPhash(h); } } else { cmd = 'parents'; } if (!baseHash) { baseHash = (cmd === 'tree')? h : closest; } return makeReq(cmd, h, until); } return null; }); if (reqs.length) { selectPages(fm.file(baseHash)); baseId = fm.navHash2Id(baseHash); autoScr && autoScroll(baseId); baseNode = jQuery('#'+baseId); spinner = jQuery(fm.res('tpl', 'navspinner')).insertBefore(baseNode.children('.'+arrow)); baseNode.removeClass(collapsed); jQuery.when.apply($, reqs) .done(function() { var res = {},data, treeDirs, dirs, argLen, i; argLen = arguments.length; if (argLen > 0) { for (i = 0; i < argLen; i++) { data = arguments[i].tree || []; res[ends[i]] = Object.assign([], filter(data)); } } dfd.resolve(res); }) .fail(function() { dfd.reject(); }); return dfd; } else { return dfd.resolve(); } }, done= function(res, dfrd) { var open = function() { if (openRoot && baseNode) { findSubtree(baseNode.hash).show().prev(selNavdir).addClass(expanded); openRoot = false; } if (autoScr) { autoScroll().done(checkSubdirs); } else { checkSubdirs(); } }, current; if (res) { jQuery.each(res, function(endHash, dirs) { dirs && updateTree(dirs); selectPages(fm.file(endHash)); dirs && updateArrows(dirs, loaded); }); } if (cwdDirs) { (fm.api < 2.1) && cwdDirs.push(cwd); updateTree(cwdDirs); } // set current node current = selectPages(); if (!current.hasClass(active)) { tree.find(selNavdir+'.'+active).removeClass(active); current.addClass(active); } // mark as loaded to cwd parents current.parents('.elfinder-navbar-wrapper').children('.'+navdir).addClass(loaded); if (res) { fm.lazy(open).done(function() { dfrd.resolve(); }); } else { open(); dfrd.resolve(); } }, rmSpinner = function(fail) { if (baseNode) { spinner.remove(); baseNode.addClass(collapsed + (fail? '' : (' ' + loaded))); } }, dfrd = jQuery.Deferred(), baseNode, spinner; if (!fm.navHash2Elm(cwdhash).length) { syncing = true; loadParents() .done(function(res) { done(res, dfrd); rmSpinner(); }) .fail(function() { rmSpinner(true); dfrd.reject(); }) .always(function() { syncing = false; }); } else { done(void(0), dfrd); } // trigger 'treesync' with my jQuery.Deferred fm.trigger('treesync', dfrd); return dfrd; }, /** * Make writable and not root dirs droppable * * @return void */ updateDroppable = function(target, node) { var limit = 100, next; if (!target) { if (!node || node.closest('div.'+wrapperRoot).hasClass(uploadable)) { (node || tree.find('div.'+uploadable)).find(selNavdir+':not(.elfinder-ro,.elfinder-na)').addClass('native-droppable'); } if (!node || node.closest('div.'+wrapperRoot).hasClass(pastable)) { target = (node || tree.find('div.'+pastable)).find(selNavdir+':not(.'+droppable+')'); } else { target = jQuery(); } if (node) { // check leaf roots node.children('div.'+wrapperRoot).each(function() { updateDroppable(null, jQuery(this)); }); } } // make droppable on async if (target.length) { fm.asyncJob(function(elm) { jQuery(elm).droppable(droppableopts); }, jQuery.makeArray(target), { interval : 20, numPerOnce : 100 }); } }, /** * Check required folders for subfolders and update arrow classes * * @param Array folders to check * @param String css class * @return void */ updateArrows = function(dirs, cls) { var sel = cls == loaded ? '.'+collapsed+':not(.'+loaded+')' : ':not(.'+collapsed+')'; jQuery.each(dirs, function(i, dir) { fm.navHash2Elm(dir.phash).filter(sel) .filter(function() { return jQuery.grep(jQuery(this).next('.'+subtree).children(), function(n) { return (jQuery(n).children().hasClass(root))? false : true; }).length > 0; }) .addClass(cls); }); }, /** * Navigation tree * * @type JQuery */ tree = jQuery(this).addClass(treeclass) // make dirs draggable and toggle hover class .on('mouseenter mouseleave', selNavdir, function(e) { var enter = (e.type === 'mouseenter'); if (enter && scrolling) { return; } var link = jQuery(this), hash, dir; if (!link.hasClass(dropover+' '+disabled)) { if (!mobile && enter && !link.data('dragRegisted') && !link.hasClass(root+' '+draggable+' elfinder-na elfinder-wo')) { link.data('dragRegisted', true); if (fm.isCommandEnabled('copy', (hash = fm.navId2Hash(link.attr('id'))))) { link.draggable(fm.draggable); } } link.toggleClass(hover, enter); } // update title attr if necessary if (enter && opts.attrTitle) { dir = fm.file(hash || fm.navId2Hash(link.attr('id'))); if (!dir.isroot && link.attr('title') === (dir.i18 || dir.name)) { link.attr('title', fm.path(hash, true)); } } }) // native drag enter .on('dragenter', selNavdir, function(e) { if (e.originalEvent.dataTransfer) { var dst = jQuery(this); dst.addClass(hover); if (dst.is('.'+collapsed+':not(.'+expanded+')')) { dst.data('expandTimer', setTimeout(function() { dst.is('.'+collapsed+'.'+hover) && dst.children('.'+arrow).trigger('click'); }, 500)); } } }) // native drag leave .on('dragleave', selNavdir, function(e) { if (e.originalEvent.dataTransfer) { var dst = jQuery(this); dst.data('expandTimer') && clearTimeout(dst.data('expandTimer')); dst.removeClass(hover); } }) // open dir or open subfolders in tree .on('click', selNavdir, function(e) { var link = jQuery(this), hash = fm.navId2Hash(link.attr('id')), file = fm.file(hash); if (link.data('longtap')) { link.removeData('longtap'); e.stopPropagation(); return; } if (!link.hasClass(active)) { tree.find(selNavdir+'.'+active).removeClass(active); link.addClass(active); } if (hash != fm.cwd().hash && !link.hasClass(disabled)) { fm.exec('open', hash).done(function() { fm.one('opendone', function() { fm.select({selected: [hash], origin: 'navbar'}); }); }); } else { if (link.hasClass(collapsed)) { link.children('.'+arrow).trigger('click'); } fm.select({selected: [hash], origin: 'navbar'}); } }) // for touch device .on('touchstart', selNavdir, function(e) { if (e.originalEvent.touches.length > 1) { return; } var evt = e.originalEvent, p; if (e.target.nodeName === 'INPUT') { e.stopPropagation(); return; } p = jQuery(this).addClass(hover) .removeData('longtap') .data('tmlongtap', setTimeout(function(e){ // long tap p.data('longtap', true); fm.trigger('contextmenu', { 'type' : 'navbar', 'targets' : [fm.navId2Hash(p.attr('id'))], 'x' : evt.touches[0].pageX, 'y' : evt.touches[0].pageY }); }, 500)); }) .on('touchmove touchend', selNavdir, function(e) { if (e.target.nodeName === 'INPUT') { e.stopPropagation(); return; } clearTimeout(jQuery(this).data('tmlongtap')); jQuery(this).removeData('tmlongtap'); if (e.type == 'touchmove') { jQuery(this).removeClass(hover); } }) // toggle subfolders in tree .on('click', selNavdir+'.'+collapsed+' .'+arrow, function(e) { var arrow = jQuery(this), link = arrow.parent(selNavdir), stree = link.next('.'+subtree), dfrd = jQuery.Deferred(), slideTH = 30, cnt; e.stopPropagation(); if (link.hasClass(loaded)) { link.toggleClass(expanded); fm.lazy(function() { cnt = link.hasClass(expanded)? stree.children().length + stree.find('div.elfinder-navbar-subtree[style*=block]').children().length : stree.find('div:visible').length; if (cnt > slideTH) { stree.toggle(); fm.draggingUiHelper && fm.draggingUiHelper.data('refreshPositions', 1); checkSubdirs(); } else { stree.stop(true, true)[link.hasClass(expanded)? 'slideDown' : 'slideUp'](opts.durations.slideUpDown, function(){ fm.draggingUiHelper && fm.draggingUiHelper.data('refreshPositions', 1); checkSubdirs(); }); } }).always(function() { dfrd.resolve(); }); } else { spinner.insertBefore(arrow); link.removeClass(collapsed); fm.request({cmd : 'tree', target : fm.navId2Hash(link.attr('id'))}) .done(function(data) { updateTree(Object.assign([], filter(data.tree))); if (stree.children().length) { link.addClass(collapsed+' '+expanded); if (stree.children().length > slideTH) { stree.show(); fm.draggingUiHelper && fm.draggingUiHelper.data('refreshPositions', 1); checkSubdirs(); } else { stree.stop(true, true).slideDown(opts.durations.slideUpDown, function(){ fm.draggingUiHelper && fm.draggingUiHelper.data('refreshPositions', 1); checkSubdirs(); }); } } }) .always(function(data) { spinner.remove(); link.addClass(loaded); fm.one('treedone', function() { dfrd.resolve(); }); }); } arrow.data('dfrd', dfrd); }) .on('contextmenu', selNavdir, function(e) { e.stopPropagation(); var self = jQuery(this); // now dirname editing if (self.find('input:text').length) { return; } e.preventDefault(); if (!self.data('tmlongtap')) { fm.trigger('contextmenu', { 'type' : 'navbar', 'targets' : [fm.navId2Hash(jQuery(this).attr('id'))], 'x' : e.pageX, 'y' : e.pageY }); } self.addClass('ui-state-hover'); fm.getUI('contextmenu').children().on('mouseenter', function() { self.addClass('ui-state-hover'); }); fm.bind('closecontextmenu', function() { self.removeClass('ui-state-hover'); }); }) .on('scrolltoview', selNavdir, function(e, data) { var self = jQuery(this); autoScroll(self.attr('id')).done(function() { if (!data || data.blink === 'undefined' || data.blink) { fm.resources.blink(self, 'lookme'); } }); }) // prepend fake dir .on('create.'+fm.namespace, function(e, item) { var pdir = findSubtree(item.phash), lock = item.move || false, dir = jQuery(itemhtml(item)).addClass('elfinder-navbar-wrapper-tmp'), selected = fm.selected(); lock && selected.length && fm.trigger('lockfiles', {files: selected}); pdir.prepend(dir); }), scrolling = false, navbarScrTm, // move tree into navbar navbar = fm.getUI('navbar').append(tree).show().on('scroll', function() { scrolling = true; navbarScrTm && cancelAnimationFrame(navbarScrTm); navbarScrTm = requestAnimationFrame(function() { scrolling = false; checkSubdirs(); }); }), prevSortTreeview = fm.sortAlsoTreeview; fm.open(function(e) { var data = e.data, dirs = filter(data.files), contextmenu = fm.getUI('contextmenu'); data.init && tree.empty(); if (fm.UA.iOS) { navbar.removeClass('overflow-scrolling-touch').addClass('overflow-scrolling-touch'); } if (dirs.length) { fm.lazy(function() { if (!contextmenu.data('cmdMaps')) { contextmenu.data('cmdMaps', {}); } updateTree(dirs); updateArrows(dirs, loaded); sync(dirs); }); } else { sync(); } }) // add new dirs .add(function(e) { var dirs = filter(e.data.added); if (dirs.length) { updateTree(dirs); updateArrows(dirs, collapsed); } }) // update changed dirs .change(function(e) { // do ot perfome while syncing if (syncing) { return; } var dirs = filter(e.data.changed, true), length = dirs.length, l = length, tgts = jQuery(), changed = {}, dir, phash, node, tmp, realParent, reqParent, realSibling, reqSibling, isExpanded, isLoaded, parent, subdirs; jQuery.each(hasMoreDirs, function(h, node) { node.trigger('update.'+fm.namespace, { change: 'prepare' }); }); while (l--) { dir = dirs[l]; phash = dir.phash; if ((node = fm.navHash2Elm(dir.hash)).length) { parent = node.parent(); if (phash) { realParent = node.closest('.'+subtree); reqParent = findSubtree(phash); realSibling = node.parent().next(); reqSibling = findSibling(reqParent, dir); if (!reqParent.length) { continue; } if (reqParent[0] !== realParent[0] || realSibling.get(0) !== reqSibling.get(0)) { reqSibling.length ? reqSibling.before(parent) : reqParent.append(parent); } } isExpanded = node.hasClass(expanded); isLoaded = node.hasClass(loaded); tmp = jQuery(itemhtml(dir)); node.replaceWith(tmp.children(selNavdir)); ! mobile && updateDroppable(null, parent); if (dir.dirs && (isExpanded || isLoaded) && (node = fm.navHash2Elm(dir.hash)) && node.next('.'+subtree).children().length) { isExpanded && node.addClass(expanded); isLoaded && node.addClass(loaded); } subdirs |= dir.dirs == -1; } } // to check subdirs if (subdirs) { checkSubdirs(); } jQuery.each(hasMoreDirs, function(h, node) { node.trigger('update.'+fm.namespace, { change: 'done' }); }); length && sync(void(0), false); }) // remove dirs .remove(function(e) { var dirs = e.data.removed, l = dirs.length, node, stree, removed; jQuery.each(hasMoreDirs, function(h, node) { node.trigger('update.'+fm.namespace, { removed : dirs }); node.trigger('update.'+fm.namespace, { change: 'prepare' }); }); while (l--) { if ((node = fm.navHash2Elm(dirs[l])).length) { removed = true; stree = node.closest('.'+subtree); node.parent().detach(); if (!stree.children().length) { stree.hide().prev(selNavdir).removeClass(collapsed+' '+expanded+' '+loaded); } } } removed && fm.getUI('navbar').children('.ui-resizable-handle').trigger('resize'); jQuery.each(hasMoreDirs, function(h, node) { node.trigger('update.'+fm.namespace, { change: 'done' }); }); }) // lock/unlock dirs while moving .bind('lockfiles unlockfiles', function(e) { var lock = e.type == 'lockfiles', helperLocked = e.data.helper? e.data.helper.data('locked') : false, act = (lock && !helperLocked) ? 'disable' : 'enable', dirs = jQuery.grep(e.data.files||[], function(h) { var dir = fm.file(h); return dir && dir.mime == 'directory' ? true : false; }); jQuery.each(dirs, function(i, hash) { var dir = fm.navHash2Elm(hash); if (dir.length && !helperLocked) { dir.hasClass(draggable) && dir.draggable(act); dir.hasClass(droppable) && dir.droppable(act); dir[lock ? 'addClass' : 'removeClass'](disabled); } }); }) .bind('sortchange', function() { if (fm.sortAlsoTreeview || prevSortTreeview !== fm.sortAlsoTreeview) { var dirs, ends = [], endsMap = {}, endsVid = {}, topVid = '', single = false, current; fm.lazy(function() { dirs = filter(fm.files()); prevSortTreeview = fm.sortAlsoTreeview; tree.empty(); // append volume roots at first updateTree(jQuery.map(fm.roots, function(h) { var dir = fm.file(h); return dir && !dir.phash? dir : null; })); if (!Object.keys(hasMoreDirs).length) { updateTree(dirs); current = selectPages(); updateArrows(dirs, loaded); } else { ends = getEnds(); if (ends.length > 1) { jQuery.each(ends, function(i, end) { var vid = fm.file(fm.root(end)).volumeid; if (i === 0) { topVid = vid; } endsVid[vid] = end; endsMap[end] = []; }); jQuery.each(dirs, function(i, d) { if (!d.volumeid) { single = true; return false; } endsMap[endsVid[d.volumeid] || endsVid[topVid]].push(d); }); } else { single = true; } if (single) { jQuery.each(ends, function(i, endHash) { updateTree(dirs); current = selectPages(fm.file(endHash)); updateArrows(dirs, loaded); }); } else { jQuery.each(endsMap, function(endHash, dirs) { updateTree(dirs); current = selectPages(fm.file(endHash)); updateArrows(dirs, loaded); }); } } sync(); }, 100); } }); }); return this; }; wp-file-manager/lib/js/ui/uploadButton.js000064400000002060151202472340014332 0ustar00/** * @class elFinder toolbar's button tor upload file * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfinderuploadbutton = function(cmd) { "use strict"; return this.each(function() { var fm = cmd.fm, button = jQuery(this).elfinderbutton(cmd) .off('click'), form = jQuery('
                      ').appendTo(button), input = jQuery('') .on('change', function() { var _input = jQuery(this); if (_input.val()) { fm.exec('upload', {input : _input.remove()[0]}, void(0), fm.cwd().hash); input.clone(true).appendTo(form); } }) .on('dragover', function(e) { e.originalEvent.dataTransfer.dropEffect = 'copy'; }), tm; form.append(input.clone(true)); cmd.change(function() { tm && cancelAnimationFrame(tm); tm = requestAnimationFrame(function() { var toShow = cmd.disabled(); if (form.is('visible')) { !toShow && form.hide(); } else { toShow && form.show(); } }); }) .change(); }); }; wp-file-manager/lib/js/ui/viewbutton.js000064400000001402151202472340014057 0ustar00/** * @class elFinder toolbar button to switch current directory view. * * @author Dmitry (dio) Levashov **/ jQuery.fn.elfinderviewbutton = function(cmd) { "use strict"; return this.each(function() { var button = jQuery(this).elfinderbutton(cmd), icon = button.children('.elfinder-button-icon'), text = button.children('.elfinder-button-text'), tm; cmd.change(function() { tm && cancelAnimationFrame(tm); tm = requestAnimationFrame(function() { var icons = cmd.value == 'icons'; icon.toggleClass('elfinder-button-icon-view-list', icons); cmd.className = icons? 'view-list' : ''; cmd.title = cmd.fm.i18n(icons ? 'viewlist' : 'viewicons'); button.attr('title', cmd.title); text.html(cmd.title); }); }); }); }; wp-file-manager/lib/js/ui/workzone.js000064400000002657151202472340013544 0ustar00/** * @class elfinderworkzone - elFinder container for nav and current directory * @author Dmitry (dio) Levashov **/ jQuery.fn.elfinderworkzone = function(fm) { "use strict"; var cl = 'elfinder-workzone'; this.not('.'+cl).each(function() { var wz = jQuery(this).addClass(cl), prevH = Math.round(wz.height()), parent = wz.parent(), setDelta = function() { wdelta = wz.outerHeight(true) - wz.height(); }, fitsize = function(e) { var height = parent.height() - wdelta, style = parent.attr('style'), curH = Math.round(wz.height()); if (e) { e.preventDefault(); e.stopPropagation(); } parent.css('overflow', 'hidden') .children(':visible:not(.'+cl+')').each(function() { var ch = jQuery(this); if (ch.css('position') != 'absolute' && ch.css('position') != 'fixed') { height -= ch.outerHeight(true); } }); parent.attr('style', style || ''); height = Math.max(0, Math.round(height)); if (prevH !== height || curH !== height) { prevH = Math.round(wz.height()); wz.height(height); fm.trigger('wzresize'); } }, cssloaded = function() { wdelta = wz.outerHeight(true) - wz.height(); fitsize(); }, wdelta; setDelta(); parent.on('resize.' + fm.namespace, fitsize); fm.one('cssloaded', cssloaded) .bind('uiresize', fitsize) .bind('themechange', setDelta); }); return this; }; wp-file-manager/lib/js/worker/calcfilehash.js000064400000001024151202472340015153 0ustar00var type = self.data.type, bin = self.data.bin, hashOpts = self.data.hashOpts; self.res = {}; if (type === 'md5') { let sp = new self.SparkMD5.ArrayBuffer(); sp.append(bin); self.res.hash = sp.end(); } else { let sha = new jsSHA('SHA' + (type.length === 5? type : ('-' + type)).toUpperCase(), 'ARRAYBUFFER'), opts = {}; if (type === 'ke128') { opts.shakeLen = hashOpts.shake128len; } else if (type === 'ke256') { opts.shakeLen = hashOpts.shake256len; } sha.update(bin); self.res.hash = sha.getHash('HEX', opts); } wp-file-manager/lib/js/worker/quicklook.tiff.js000064400000000341151202472340015476 0ustar00if (self.data.memory) { Tiff.initialize({ TOTAL_MEMORY: self.data.memory }); } var tiff = new Tiff({ buffer: self.data.data }); self.res = { image: tiff.readRGBAImage(), width: tiff.width(), height: tiff.height() }; wp-file-manager/lib/js/worker/quicklook.unzip.js000064400000003462151202472340015722 0ustar00var type = self.data.type, bin = new Uint8Array(self.data.bin), unzipFiles = function() { /** @type {Array.} */ var filenameList = []; /** @type {number} */ var i; /** @type {number} */ var il; /** @type {Array.} */ var fileHeaderList; // need check this.Y when update cdns.zlibUnzip this.Y(); fileHeaderList = this.i; for (i = 0, il = fileHeaderList.length; i < il; ++i) { // need check fileHeaderList[i].J when update cdns.zlibUnzip filenameList[i] = fileHeaderList[i].filename + (fileHeaderList[i].J? ' ({formatSize(' + fileHeaderList[i].J + ')})' : ''); } return filenameList; }, tarFiles = function(tar) { var filenames = [], tarlen = tar.length, offset = 0, toStr = function(arr) { return String.fromCharCode.apply(null, arr).replace(/\0+$/, ''); }, h, name, prefix, size, dbs; while (offset < tarlen && tar[offset] !== 0) { h = tar.subarray(offset, offset + 512); name = toStr(h.subarray(0, 100)); if (prefix = toStr(h.subarray(345, 500))) { name = prefix + name; } size = parseInt(toStr(h.subarray(124, 136)), 8); dbs = Math.ceil(size / 512) * 512; if (name === '././@LongLink') { name = toStr(tar.subarray(offset + 512, offset + 512 + dbs)); } (name !== 'pax_global_header') && filenames.push(name + (size? ' ({formatSize(' + size + ')})': '')); offset = offset + 512 + dbs; } return filenames; }; self.res = {}; switch (type) { case 'tar': self.res.files = tarFiles(bin); break; case 'zip': self.res.files = unzipFiles.call(new Zlib.Unzip(bin)); break; case 'gzip': self.res.files = tarFiles(new Zlib.Gunzip(bin).decompress()); break; case 'bzip2': self.res.files = tarFiles(self.bzip2.simple(self.bzip2.array(bin))); break; default: break; } wp-file-manager/lib/js/elFinder.command.js000064400000020113151202472340014401 0ustar00/** * elFinder command prototype * * @type elFinder.command * @author Dmitry (dio) Levashov */ elFinder.prototype.command = function(fm) { "use strict"; /** * elFinder instance * * @type elFinder */ this.fm = fm; /** * Command name, same as class name * * @type String */ this.name = ''; /** * Dialog class name * * @type String */ this.dialogClass = ''; /** * Command icon class name with out 'elfinder-button-icon-' * Use this.name if it is empty * * @type String */ this.className = ''; /** * Short command description * * @type String */ this.title = ''; /** * Linked(Child) commands name * They are loaded together when tthis command is loaded. * * @type Array */ this.linkedCmds = []; /** * Current command state * * @example * this.state = -1; // command disabled * this.state = 0; // command enabled * this.state = 1; // command active (for example "fullscreen" command while elfinder in fullscreen mode) * @default -1 * @type Number */ this.state = -1; /** * If true, command can not be disabled by connector. * @see this.update() * * @type Boolen */ this.alwaysEnabled = false; /** * Do not change dirctory on removed current work directory * * @type Boolen */ this.noChangeDirOnRemovedCwd = false; /** * If true, this means command was disabled by connector. * @see this.update() * * @type Boolen */ this._disabled = false; /** * If true, this command is disabled on serach results * * @type Boolean */ this.disableOnSearch = false; /** * Call update() when event select fired * * @type Boolean */ this.updateOnSelect = true; /** * Sync toolbar button title on change * * @type Boolean */ this.syncTitleOnChange = false; /** * Keep display of the context menu when command execution * * @type Boolean */ this.keepContextmenu = false; /** * elFinder events defaults handlers. * Inside handlers "this" is current command object * * @type Object */ this._handlers = { enable : function() { this.update(void(0), this.value); }, disable : function() { this.update(-1, this.value); }, 'open reload load sync' : function() { this._disabled = !(this.alwaysEnabled || this.fm.isCommandEnabled(this.name)); this.update(void(0), this.value); this.change(); } }; /** * elFinder events handlers. * Inside handlers "this" is current command object * * @type Object */ this.handlers = {}; /** * Shortcuts * * @type Array */ this.shortcuts = []; /** * Command options * * @type Object */ this.options = {ui : 'button'}; /** * Callback functions on `change` event * * @type Array */ this.listeners = []; /** * Prepare object - * bind events and shortcuts * * @return void */ this.setup = function(name, opts) { var self = this, fm = this.fm, setCallback = function(s) { var cb = s.callback || function(e) { fm.exec(self.name, void(0), { _userAction: true, _currentType: 'shortcut' }); }; s.callback = function(e) { var enabled, checks = {}; if (self.enabled()) { if (fm.searchStatus.state < 2) { enabled = fm.isCommandEnabled(self.name); } else { jQuery.each(fm.selected(), function(i, h) { if (fm.optionsByHashes[h]) { checks[h] = true; } else { jQuery.each(fm.volOptions, function(id) { if (!checks[id] && h.indexOf(id) === 0) { checks[id] = true; return false; } }); } }); jQuery.each(checks, function(h) { enabled = fm.isCommandEnabled(self.name, h); if (! enabled) { return false; } }); } if (enabled) { self.event = e; cb.call(self); delete self.event; } } }; }, i, s, sc; this.name = name; this.title = fm.messages['cmd'+name] ? fm.i18n('cmd'+name) : ((this.extendsCmd && fm.messages['cmd'+this.extendsCmd]) ? fm.i18n('cmd'+this.extendsCmd) : name); this.options = Object.assign({}, this.options, opts); this.listeners = []; this.dialogClass = 'elfinder-dialog-' + name; if (opts.shortcuts) { if (typeof opts.shortcuts === 'function') { sc = opts.shortcuts(this.fm, this.shortcuts); } else if (Array.isArray(opts.shortcuts)) { sc = opts.shortcuts; } this.shortcuts = sc || []; } if (this.updateOnSelect) { this._handlers.select = function() { this.update(void(0), this.value); }; } jQuery.each(Object.assign({}, self._handlers, self.handlers), function(cmd, handler) { fm.bind(cmd, jQuery.proxy(handler, self)); }); for (i = 0; i < this.shortcuts.length; i++) { s = this.shortcuts[i]; setCallback(s); !s.description && (s.description = this.title); fm.shortcut(s); } if (this.disableOnSearch) { fm.bind('search searchend', function() { self._disabled = this.type === 'search'? true : ! (this.alwaysEnabled || fm.isCommandEnabled(name)); self.update(void(0), self.value); }); } this.init(); }; /** * Command specific init stuffs * * @return void */ this.init = function() {}; /** * Exec command * * @param Array target files hashes * @param Array|Object command value * @return jQuery.Deferred */ this.exec = function(files, opts) { return jQuery.Deferred().reject(); }; this.getUndo = function(opts, resData) { return false; }; /** * Return true if command disabled. * * @return Boolen */ this.disabled = function() { return this.state < 0; }; /** * Return true if command enabled. * * @return Boolen */ this.enabled = function() { return this.state > -1; }; /** * Return true if command active. * * @return Boolen */ this.active = function() { return this.state > 0; }; /** * Return current command state. * Must be overloaded in most commands * * @return Number */ this.getstate = function() { return -1; }; /** * Update command state/value * and rize 'change' event if smth changed * * @param Number new state or undefined to auto update state * @param mixed new value * @return void */ this.update = function(s, v) { var state = this.state, value = this.value; if (this._disabled && this.fm.searchStatus === 0) { this.state = -1; } else { this.state = s !== void(0) ? s : this.getstate(); } this.value = v; if (state != this.state || value != this.value) { this.change(); } }; /** * Bind handler / fire 'change' event. * * @param Function|undefined event callback * @return void */ this.change = function(c) { var cmd, i; if (typeof(c) === 'function') { this.listeners.push(c); } else { for (i = 0; i < this.listeners.length; i++) { cmd = this.listeners[i]; try { cmd(this.state, this.value); } catch (e) { this.fm.debug('error', e); } } } return this; }; /** * With argument check given files hashes and return list of existed files hashes. * Without argument return selected files hashes. * * @param Array|String|void hashes * @return Array */ this.hashes = function(hashes) { return hashes ? jQuery.grep(Array.isArray(hashes) ? hashes : [hashes], function(hash) { return fm.file(hash) ? true : false; }) : fm.selected(); }; /** * Return only existed files from given fils hashes | selected files * * @param Array|String|void hashes * @return Array */ this.files = function(hashes) { var fm = this.fm; return hashes ? jQuery.map(Array.isArray(hashes) ? hashes : [hashes], function(hash) { return fm.file(hash) || null; }) : fm.selectedFiles(); }; /** * Wrapper to fm.dialog() * * @param String|DOMElement content * @param Object options * @return Object jQuery element object */ this.fmDialog = function(content, options) { if (options.cssClass) { options.cssClass += ' ' + this.dialogClass; } else { options.cssClass = this.dialogClass; } return this.fm.dialog(content, options); }; }; wp-file-manager/lib/js/elfinder.full.js000064400003676673151202472340014024 0ustar00/*! * elFinder - file manager for web * Version 2.1.49 (2019-04-14) * http://elfinder.org * * Copyright 2009-2019, Studio 42 * Licensed under a 3-clauses BSD license */ (function(root, factory) { if (typeof define === 'function' && define.amd) { // AMD define(['jquery','jquery-ui'], factory); } else if (typeof exports !== 'undefined') { // CommonJS var $, ui; try { $ = require('jquery'); ui = require('jquery-ui'); } catch (e) {} module.exports = factory($, ui); } else { // Browser globals (Note: root is window) factory(root.jQuery, root.jQuery.ui, true); } }(this, function($, _ui, toGlobal) { toGlobal = toGlobal || false; /* * File: /js/elFinder.js */ /** * @class elFinder - file manager for web * * @author Dmitry (dio) Levashov **/ var elFinder = function(elm, opts, bootCallback) { //this.time('load'); var self = this, /** * Objects array of jQuery.Deferred that calls before elFinder boot up * * @type Array */ dfrdsBeforeBootup = [], /** * Plugin name to check for conflicts with bootstrap etc * * @type Array **/ conflictChecks = ['button', 'tooltip'], /** * Node on which elfinder creating * * @type jQuery **/ node = jQuery(elm), /** * Object of events originally registered in this node * * @type Object */ prevEvents = jQuery.extend(true, {}, jQuery._data(node.get(0), 'events')), /** * Store node contents. * * @see this.destroy * @type jQuery **/ prevContent = jQuery('
                      ').append(node.contents()).attr('class', node.attr('class') || '').attr('style', node.attr('style') || ''), /** * Instance ID. Required to get/set cookie * * @type String **/ id = node.attr('id') || '', /** * Events namespace * * @type String **/ namespace = 'elfinder-' + (id ? id : Math.random().toString().substr(2, 7)), /** * Mousedown event * * @type String **/ mousedown = 'mousedown.'+namespace, /** * Keydown event * * @type String **/ keydown = 'keydown.'+namespace, /** * Keypress event * * @type String **/ keypress = 'keypress.'+namespace, /** * Keypup event * * @type String **/ keyup = 'keyup.'+namespace, /** * Is shortcuts/commands enabled * * @type Boolean **/ enabled = false, /** * Store enabled value before ajax request * * @type Boolean **/ prevEnabled = false, /** * List of build-in events which mapped into methods with same names * * @type Array **/ events = ['enable', 'disable', 'load', 'open', 'reload', 'select', 'add', 'remove', 'change', 'dblclick', 'getfile', 'lockfiles', 'unlockfiles', 'selectfiles', 'unselectfiles', 'dragstart', 'dragstop', 'search', 'searchend', 'viewchange'], /** * Rules to validate data from backend * * @type Object **/ rules = {}, /** * Current working directory hash * * @type String **/ cwd = '', /** * Current working directory options default * * @type Object **/ cwdOptionsDefault = { path : '', url : '', tmbUrl : '', disabled : [], separator : '/', archives : [], extract : [], copyOverwrite : true, uploadOverwrite : true, uploadMaxSize : 0, jpgQuality : 100, tmbCrop : false, tmb : false // old API }, /** * Current working directory options * * @type Object **/ cwdOptions = {}, /** * Files/dirs cache * * @type Object **/ files = {}, /** * Hidden Files/dirs cache * * @type Object **/ hiddenFiles = {}, /** * Files/dirs hash cache of each dirs * * @type Object **/ ownFiles = {}, /** * Selected files hashes * * @type Array **/ selected = [], /** * Events listeners * * @type Object **/ listeners = {}, /** * Shortcuts * * @type Object **/ shortcuts = {}, /** * Buffer for copied files * * @type Array **/ clipboard = [], /** * Copied/cuted files hashes * Prevent from remove its from cache. * Required for dispaly correct files names in error messages * * @type Object **/ remember = {}, /** * Queue for 'open' requests * * @type Array **/ queue = [], /** * Queue for only cwd requests e.g. `tmb` * * @type Array **/ cwdQueue = [], /** * Commands prototype * * @type Object **/ base = new self.command(self), /** * elFinder node width * * @type String * @default "auto" **/ width = 'auto', /** * elFinder node height * Number: pixcel or String: Number + "%" * * @type Number | String * @default 400 **/ height = 400, /** * Base node object or selector * Element which is the reference of the height percentage * * @type Object|String * @default null | jQuery(window) (if height is percentage) **/ heightBase = null, /** * MIME type list(Associative array) handled as a text file * * @type Object|null */ textMimes = null, /** * elfinder path for sound played on remove * @type String * @default ./sounds/ **/ soundPath = 'sounds/', /** * JSON.stringify of previous fm.sorters * @type String */ prevSorterStr = '', /** * Map table of file extention to MIME-Type * @type Object */ extToMimeTable, beeper = jQuery(document.createElement('audio')).hide().appendTo('body')[0], syncInterval, autoSyncStop = 0, uiCmdMapPrev = '', gcJobRes = null, open = function(data) { // NOTES: Do not touch data object var volumeid, contextmenu, emptyDirs = {}, stayDirs = {}, rmClass, hashes, calc, gc, collapsed, prevcwd, sorterStr; if (self.api >= 2.1) { // support volume driver option `uiCmdMap` self.commandMap = (data.options.uiCmdMap && Object.keys(data.options.uiCmdMap).length)? data.options.uiCmdMap : {}; if (uiCmdMapPrev !== JSON.stringify(self.commandMap)) { uiCmdMapPrev = JSON.stringify(self.commandMap); } } else { self.options.sync = 0; } if (data.init) { // init - reset cache files = {}; ownFiles = {}; } else { // remove only files from prev cwd // and collapsed directory (included 100+ directories) to empty for perfomance tune in DnD prevcwd = cwd; rmClass = 'elfinder-subtree-loaded ' + self.res('class', 'navexpand'); collapsed = self.res('class', 'navcollapse'); hashes = Object.keys(files); calc = function(i) { if (!files[i]) { return true; } var isDir = (files[i].mime === 'directory'), phash = files[i].phash, pnav; if ( (!isDir || emptyDirs[phash] || (!stayDirs[phash] && self.navHash2Elm(files[i].hash).is(':hidden') && self.navHash2Elm(phash).next('.elfinder-navbar-subtree').children().length > 100 ) ) && (isDir || phash !== cwd) && ! remember[i] ) { if (isDir && !emptyDirs[phash]) { emptyDirs[phash] = true; self.navHash2Elm(phash) .removeClass(rmClass) .next('.elfinder-navbar-subtree').empty(); } deleteCache(files[i]); } else if (isDir) { stayDirs[phash] = true; } }; gc = function() { if (hashes.length) { gcJobRes && gcJobRes._abort(); gcJobRes = self.asyncJob(calc, hashes, { interval : 20, numPerOnce : 100 }).done(function() { var hd = self.storage('hide') || {items: {}}; if (Object.keys(hiddenFiles).length) { jQuery.each(hiddenFiles, function(h) { if (!hd.items[h]) { delete hiddenFiles[h]; } }); } }); } }; self.trigger('filesgc').one('filesgc', function() { hashes = []; }); self.one('opendone', function() { if (prevcwd !== cwd) { if (! node.data('lazycnt')) { gc(); } else { self.one('lazydone', gc); } } }); } self.sorters = {}; cwd = data.cwd.hash; cache(data.files); if (!files[cwd]) { cache([data.cwd]); } // trigger event 'sorterupdate' sorterStr = JSON.stringify(self.sorters); if (prevSorterStr !== sorterStr) { self.trigger('sorterupdate'); prevSorterStr = sorterStr; } self.lastDir(cwd); self.autoSync(); }, /** * Store info about files/dirs in "files" object. * * @param Array files * @param String data type * @return void **/ cache = function(data, type) { var defsorter = { name: true, perm: true, date: true, size: true, kind: true }, sorterChk = !self.sorters._checked, l = data.length, setSorter = function(file) { var f = file || {}, sorters = []; jQuery.each(self.sortRules, function(key) { if (defsorter[key] || typeof f[key] !== 'undefined' || (key === 'mode' && typeof f.perm !== 'undefined')) { sorters.push(key); } }); self.sorters = self.arrayFlip(sorters, true); self.sorters._checked = true; }, keeps = ['sizeInfo'], changedParents = {}, hideData = self.storage('hide') || {}, hides = hideData.items || {}, f, i, keepProp, parents, hidden; for (i = 0; i < l; i++) { f = Object.assign({}, data[i]); hidden = (!hideData.show && hides[f.hash])? true : false; if (f.name && f.hash && f.mime) { if (!hidden) { if (sorterChk && f.phash === cwd) { setSorter(f); sorterChk = false; } if (f.phash && (type === 'add' || type === 'change')) { if (parents = self.parents(f.phash)) { jQuery.each(parents, function() { changedParents[this] = true; }); } } } if (files[f.hash]) { jQuery.each(keeps, function() { if(files[f.hash][this] && ! f[this]) { f[this] = files[f.hash][this]; } }); if (f.sizeInfo && !f.size) { f.size = f.sizeInfo.size; } deleteCache(files[f.hash], true); } if (hides[f.hash]) { hiddenFiles[f.hash] = f; } if (hidden) { l--; data.splice(i--, 1); } else { files[f.hash] = f; if (f.mime === 'directory' && !ownFiles[f.hash]) { ownFiles[f.hash] = {}; } if (f.phash) { if (!ownFiles[f.phash]) { ownFiles[f.phash] = {}; } ownFiles[f.phash][f.hash] = true; } } } } // delete sizeInfo cache jQuery.each(Object.keys(changedParents), function() { var target = files[this]; if (target && target.sizeInfo) { delete target.sizeInfo; } }); // for empty folder sorterChk && setSorter(); }, /** * Delete file object from files caches * * @param Array removed hashes * @return void */ remove = function(removed) { var l = removed.length, roots = {}, rm = function(hash) { var file = files[hash], i; if (file) { if (file.mime === 'directory') { if (roots[hash]) { delete self.roots[roots[hash]]; } // restore stats of deleted root parent directory jQuery.each(self.leafRoots, function(phash, roots) { var idx, pdir; if ((idx = jQuery.inArray(hash, roots))!== -1) { if (roots.length === 1) { if ((pdir = Object.assign({}, files[phash])) && pdir._realStats) { jQuery.each(pdir._realStats, function(k, v) { pdir[k] = v; }); remove(files[phash]._realStats); self.change({ changed: [pdir] }); } delete self.leafRoots[phash]; } else { self.leafRoots[phash].splice(idx, 1); } } }); if (self.searchStatus.state < 2) { jQuery.each(files, function(h, f) { f.phash == hash && rm(h); }); } } if (file.phash) { if (parents = self.parents(file.phash)) { jQuery.each(parents, function() { changedParents[this] = true; }); } } deleteCache(files[hash]); } }, changedParents = {}, parents; jQuery.each(self.roots, function(k, v) { roots[v] = k; }); while (l--) { rm(removed[l]); } // delete sizeInfo cache jQuery.each(Object.keys(changedParents), function() { var target = files[this]; if (target && target.sizeInfo) { delete target.sizeInfo; } }); }, /** * Update file object in files caches * * @param Array changed file objects * @return void */ change = function(changed) { jQuery.each(changed, function(i, file) { var hash = file.hash; if (files[hash]) { jQuery.each(Object.keys(files[hash]), function(i, v){ if (typeof file[v] === 'undefined') { delete files[hash][v]; } }); } files[hash] = files[hash] ? Object.assign(files[hash], file) : file; }); }, /** * Delete cache data of files, ownFiles and self.optionsByHashes * * @param Object file * @param Boolean update * @return void */ deleteCache = function(file, update) { var hash = file.hash, phash = file.phash; if (phash && ownFiles[phash]) { delete ownFiles[phash][hash]; } if (!update) { ownFiles[hash] && delete ownFiles[hash]; self.optionsByHashes[hash] && delete self.optionsByHashes[hash]; } delete files[hash]; }, /** * Maximum number of concurrent connections on request * * @type Number */ requestMaxConn, /** * Current number of connections * * @type Number */ requestCnt = 0, /** * Queue waiting for connection * * @type Array */ requestQueue = [], /** * Flag to cancel the `open` command waiting for connection * * @type Boolean */ requestQueueSkipOpen = false, /** * Exec shortcut * * @param jQuery.Event keydown/keypress event * @return void */ execShortcut = function(e) { var code = e.keyCode, ctrlKey = !!(e.ctrlKey || e.metaKey), isMousedown = e.type === 'mousedown', ddm; !isMousedown && (self.keyState.keyCode = code); self.keyState.ctrlKey = ctrlKey; self.keyState.shiftKey = e.shiftKey; self.keyState.metaKey = e.metaKey; self.keyState.altKey = e.altKey; if (isMousedown) { return; } else if (e.type === 'keyup') { self.keyState.keyCode = null; return; } if (enabled) { jQuery.each(shortcuts, function(i, shortcut) { if (shortcut.type == e.type && shortcut.keyCode == code && shortcut.shiftKey == e.shiftKey && shortcut.ctrlKey == ctrlKey && shortcut.altKey == e.altKey) { e.preventDefault(); e.stopPropagation(); shortcut.callback(e, self); self.debug('shortcut-exec', i+' : '+shortcut.description); } }); // prevent tab out of elfinder if (code == jQuery.ui.keyCode.TAB && !jQuery(e.target).is(':input')) { e.preventDefault(); } // cancel any actions by [Esc] key if (e.type === 'keydown' && code == jQuery.ui.keyCode.ESCAPE) { // copy or cut if (! node.find('.ui-widget:visible').length) { self.clipboard().length && self.clipboard([]); } // dragging if (jQuery.ui.ddmanager) { ddm = jQuery.ui.ddmanager.current; ddm && ddm.helper && ddm.cancel(); } // button menus self.toHide(node.find('.ui-widget.elfinder-button-menu.elfinder-frontmost:visible')); // trigger keydownEsc self.trigger('keydownEsc', e); } } }, date = new Date(), utc, i18n, inFrame = (window.parent !== window), parentIframe = (function() { var pifm, ifms; if (inFrame) { try { ifms = jQuery('iframe', window.parent.document); if (ifms.length) { jQuery.each(ifms, function(i, ifm) { if (ifm.contentWindow === window) { pifm = jQuery(ifm); return false; } }); } } catch(e) {} } return pifm; })(), /** * elFinder boot up function * * @type Function */ bootUp, /** * Original function of XMLHttpRequest.prototype.send * * @type Function */ savedXhrSend; // opts must be an object if (!opts) { opts = {}; } // set UA.Angle, UA.Rotated for mobile devices if (self.UA.Mobile) { jQuery(window).on('orientationchange.'+namespace, function() { var a = ((screen && screen.orientation && screen.orientation.angle) || window.orientation || 0) + 0; if (a === -90) { a = 270; } self.UA.Angle = a; self.UA.Rotated = a % 180 === 0? false : true; }).trigger('orientationchange.'+namespace); } // check opt.bootCallback if (opts.bootCallback && typeof opts.bootCallback === 'function') { (function() { var func = bootCallback, opFunc = opts.bootCallback; bootCallback = function(fm, extraObj) { func && typeof func === 'function' && func.call(this, fm, extraObj); opFunc.call(this, fm, extraObj); }; })(); } delete opts.bootCallback; /** * Protocol version * * @type String **/ this.api = null; /** * elFinder use new api * * @type Boolean **/ this.newAPI = false; /** * elFinder use old api * * @type Boolean **/ this.oldAPI = false; /** * Net drivers names * * @type Array **/ this.netDrivers = []; /** * Base URL of elfFinder library starting from Manager HTML * * @type String */ this.baseUrl = ''; /** * Base URL of i18n js files * baseUrl + "js/i18n/" when empty value * * @type String */ this.i18nBaseUrl = ''; /** * Is elFinder CSS loaded * * @type Boolean */ this.cssloaded = false; /** * Current theme object * * @type Object|Null */ this.theme = null; this.mimesCanMakeEmpty = {}; /** * Callback function at boot up that option specified at elFinder starting * * @type Function */ this.bootCallback; /** * ID. Required to create unique cookie name * * @type String **/ this.id = id; /** * Method to store/fetch data * * @type Function **/ this.storage = (function() { try { if ('localStorage' in window && window.localStorage !== null) { if (self.UA.Safari) { // check for Mac/iOS safari private browsing mode window.localStorage.setItem('elfstoragecheck', 1); window.localStorage.removeItem('elfstoragecheck'); } return self.localStorage; } else { return self.cookie; } } catch (e) { return self.cookie; } })(); /** * Configuration options * * @type Object **/ //this.options = jQuery.extend(true, {}, this._options, opts); this.options = Object.assign({}, this._options); // for old type configuration if (opts.uiOptions) { if (opts.uiOptions.toolbar && Array.isArray(opts.uiOptions.toolbar)) { if (jQuery.isPlainObject(opts.uiOptions.toolbar[opts.uiOptions.toolbar.length - 1])) { self.options.uiOptions.toolbarExtra = Object.assign(self.options.uiOptions.toolbarExtra || {}, opts.uiOptions.toolbar.pop()); } } } // Overwrite if opts value is an array (function() { var arrOv = function(obj, base) { if (jQuery.isPlainObject(obj)) { jQuery.each(obj, function(k, v) { if (jQuery.isPlainObject(v)) { if (!base[k]) { base[k] = {}; } arrOv(v, base[k]); } else { base[k] = v; } }); } }; arrOv(opts, self.options); })(); // join toolbarExtra to toolbar this.options.uiOptions.toolbar.push(this.options.uiOptions.toolbarExtra); delete this.options.uiOptions.toolbarExtra; /** * Arrays that has to unbind events * * @type Object */ this.toUnbindEvents = {}; /** * Attach listener to events * To bind to multiply events at once, separate events names by space * * @param String event(s) name(s) * @param Object event handler or {done: handler} * @param Boolean priority first * @return elFinder */ this.bind = function(event, callback, priorityFirst) { var i, len; if (callback && (typeof callback === 'function' || typeof callback.done === 'function')) { event = ('' + event).toLowerCase().replace(/^\s+|\s+$/g, '').split(/\s+/); len = event.length; for (i = 0; i < len; i++) { if (listeners[event[i]] === void(0)) { listeners[event[i]] = []; } listeners[event[i]][priorityFirst? 'unshift' : 'push'](callback); } } return this; }; /** * Remove event listener if exists * To un-bind to multiply events at once, separate events names by space * * @param String event(s) name(s) * @param Function callback * @return elFinder */ this.unbind = function(event, callback) { var i, len, l, ci; event = ('' + event).toLowerCase().split(/\s+/); len = event.length; for (i = 0; i < len; i++) { if (l = listeners[event[i]]) { ci = jQuery.inArray(callback, l); ci > -1 && l.splice(ci, 1); } } callback = null; return this; }; /** * Fire event - send notification to all event listeners * In the callback `this` becames an event object * * @param String event type * @param Object data to send across event * @param Boolean allow modify data (call by reference of data) default: true * @return elFinder */ this.trigger = function(evType, data, allowModify) { var type = evType.toLowerCase(), isopen = (type === 'open'), dataIsObj = (typeof data === 'object'), handlers = listeners[type] || [], dones = [], i, l, jst, event; this.debug('event-'+type, data); if (! dataIsObj || typeof allowModify === 'undefined') { allowModify = true; } if (l = handlers.length) { event = jQuery.Event(type); if (data) { data._event = event; } if (allowModify) { event.data = data; } for (i = 0; i < l; i++) { if (! handlers[i]) { // probably un-binded this handler continue; } // handler is jQuery.Deferred(), call all functions upon completion if (handlers[i].done) { dones.push(handlers[i].done); continue; } // set `event.data` only callback has argument if (handlers[i].length) { if (!allowModify) { // to avoid data modifications. remember about "sharing" passing arguments in js :) if (typeof jst === 'undefined') { try { jst = JSON.stringify(data); } catch(e) { jst = false; } } event.data = jst? JSON.parse(jst) : data; } } try { if (handlers[i].call(event, event, this) === false || event.isDefaultPrevented()) { this.debug('event-stoped', event.type); break; } } catch (ex) { window.console && window.console.log && window.console.log(ex); } } // call done functions if (l = dones.length) { for (i = 0; i < l; i++) { try { if (dones[i].call(event, event, this) === false || event.isDefaultPrevented()) { this.debug('event-stoped', event.type + '(done)'); break; } } catch (ex) { window.console && window.console.log && window.console.log(ex); } } } if (this.toUnbindEvents[type] && this.toUnbindEvents[type].length) { jQuery.each(this.toUnbindEvents[type], function(i, v) { self.unbind(v.type, v.callback); }); delete this.toUnbindEvents[type]; } } return this; }; /** * Get event listeners * * @param String event type * @return Array listed event functions */ this.getListeners = function(event) { return event? listeners[event.toLowerCase()] : listeners; }; // set fm.baseUrl this.baseUrl = (function() { var myTag, myCss, base, baseUrl; if (self.options.baseUrl) { return self.options.baseUrl; } else { baseUrl = ''; //myTag = jQuery('head > script[src$="js/elfinder.min.js"],script[src$="js/elfinder.full.js"]:first'); myTag = null; jQuery('head > script').each(function() { if (this.src && this.src.match(/js\/elfinder(?:-[a-z0-9_-]+)?\.(?:min|full)\.js$/i)) { myTag = jQuery(this); return false; } }); if (myTag) { myCss = jQuery('head > link[href$="css/elfinder.min.css"],link[href$="css/elfinder.full.css"]:first').length; if (! myCss) { // to request CSS auto loading self.cssloaded = null; } baseUrl = myTag.attr('src').replace(/js\/[^\/]+$/, ''); if (! baseUrl.match(/^(https?\/\/|\/)/)) { // check tag if (base = jQuery('head > base[href]').attr('href')) { baseUrl = base.replace(/\/$/, '') + '/' + baseUrl; } } } if (baseUrl !== '') { self.options.baseUrl = baseUrl; } else { if (! self.options.baseUrl) { self.options.baseUrl = './'; } baseUrl = self.options.baseUrl; } return baseUrl; } })(); this.i18nBaseUrl = (this.options.i18nBaseUrl || this.baseUrl + 'js/i18n').replace(/\/$/, '') + '/'; this.options.maxErrorDialogs = Math.max(1, parseInt(this.options.maxErrorDialogs || 5)); // set dispInlineRegex cwdOptionsDefault.dispInlineRegex = this.options.dispInlineRegex; // auto load required CSS if (this.options.cssAutoLoad) { (function() { var baseUrl = self.baseUrl; // additional CSS files if (Array.isArray(self.options.cssAutoLoad)) { if (self.cssloaded === true) { self.loadCss(self.options.cssAutoLoad); } else { self.bind('cssloaded', function() { self.loadCss(self.options.cssAutoLoad); }); } } // try to load main css if (self.cssloaded === null) { // hide elFinder node while css loading node.data('cssautoloadHide', jQuery('')); jQuery('head').append(node.data('cssautoloadHide')); // set default theme if (!self.options.themes.default) { self.options.themes = Object.assign({ 'default' : { 'name': 'default', 'cssurls': 'css/theme.css', 'author': 'elFinder Project', 'license': '3-clauses BSD' } }, self.options.themes); if (!self.options.theme) { self.options.theme = 'default'; } } // load CSS self.loadCss([baseUrl+'css/elfinder.min.css'], { dfd: jQuery.Deferred().always(function() { if (node.data('cssautoloadHide')) { node.data('cssautoloadHide').remove(); node.removeData('cssautoloadHide'); } }).done(function() { if (!self.cssloaded) { self.cssloaded = true; self.trigger('cssloaded'); } }).fail(function() { self.cssloaded = false; self.error(['errRead', 'CSS (elfinder or theme)']); }) }); } self.options.cssAutoLoad = false; })(); } // load theme if exists this.changeTheme(this.storage('theme') || this.options.theme); /** * Volume option to set the properties of the root Stat * * @type Object */ this.optionProperties = { icon: void(0), csscls: void(0), tmbUrl: void(0), uiCmdMap: {}, netkey: void(0), disabled: [] }; if (! inFrame && ! this.options.enableAlways && jQuery('body').children().length === 2) { // only node and beeper this.options.enableAlways = true; } // make options.debug if (this.options.debug === true) { this.options.debug = 'all'; } else if (Array.isArray(this.options.debug)) { (function() { var d = {}; jQuery.each(self.options.debug, function() { d[this] = true; }); self.options.debug = d; })(); } else { this.options.debug = false; } /** * Original functions evacuated by conflict check * * @type Object */ this.noConflicts = {}; /** * Check and save conflicts with bootstrap etc * * @type Function */ this.noConflict = function() { jQuery.each(conflictChecks, function(i, p) { if (jQuery.fn[p] && typeof jQuery.fn[p].noConflict === 'function') { self.noConflicts[p] = jQuery.fn[p].noConflict(); } }); }; // do check conflict this.noConflict(); /** * Is elFinder over CORS * * @type Boolean **/ this.isCORS = false; // configure for CORS (function(){ if (typeof self.options.cors !== 'undefined' && self.options.cors !== null) { self.isCORS = self.options.cors? true : false; } else { var parseUrl = document.createElement('a'), parseUploadUrl, selfProtocol = window.location.protocol, portReg = function(protocol) { protocol = (!protocol || protocol === ':')? selfProtocol : protocol; return protocol === 'https:'? /\:443$/ : /\:80$/; }, selfHost = window.location.host.replace(portReg(selfProtocol), ''); parseUrl.href = opts.url; if (opts.urlUpload && (opts.urlUpload !== opts.url)) { parseUploadUrl = document.createElement('a'); parseUploadUrl.href = opts.urlUpload; } if (selfHost !== parseUrl.host.replace(portReg(parseUrl.protocol), '') || (parseUrl.protocol !== ':'&& parseUrl.protocol !== '' && (selfProtocol !== parseUrl.protocol)) || (parseUploadUrl && (selfHost !== parseUploadUrl.host.replace(portReg(parseUploadUrl.protocol), '') || (parseUploadUrl.protocol !== ':' && parseUploadUrl.protocol !== '' && (selfProtocol !== parseUploadUrl.protocol)) ) ) ) { self.isCORS = true; } } if (self.isCORS) { if (!jQuery.isPlainObject(self.options.customHeaders)) { self.options.customHeaders = {}; } if (!jQuery.isPlainObject(self.options.xhrFields)) { self.options.xhrFields = {}; } self.options.requestType = 'post'; self.options.customHeaders['X-Requested-With'] = 'XMLHttpRequest'; self.options.xhrFields['withCredentials'] = true; } })(); /** * Ajax request type * * @type String * @default "get" **/ this.requestType = /^(get|post)$/i.test(this.options.requestType) ? this.options.requestType.toLowerCase() : 'get'; // set `requestMaxConn` by option requestMaxConn = Math.max(parseInt(this.options.requestMaxConn), 1); /** * Custom data that given as options * * @type Object * @default {} */ this.optsCustomData = jQuery.isPlainObject(this.options.customData) ? this.options.customData : {}; /** * Any data to send across every ajax request * * @type Object * @default {} **/ this.customData = Object.assign({}, this.optsCustomData); /** * Previous custom data from connector * * @type Object|null */ this.prevCustomData = null; /** * Any custom headers to send across every ajax request * * @type Object * @default {} */ this.customHeaders = jQuery.isPlainObject(this.options.customHeaders) ? this.options.customHeaders : {}; /** * Any custom xhrFields to send across every ajax request * * @type Object * @default {} */ this.xhrFields = jQuery.isPlainObject(this.options.xhrFields) ? this.options.xhrFields : {}; /** * Replace XMLHttpRequest.prototype.send to extended function for 3rd party libs XHR request etc. * * @type Function */ this.replaceXhrSend = function() { if (! savedXhrSend) { savedXhrSend = XMLHttpRequest.prototype.send; } XMLHttpRequest.prototype.send = function() { var xhr = this; // set request headers if (self.customHeaders) { jQuery.each(self.customHeaders, function(key) { xhr.setRequestHeader(key, this); }); } // set xhrFields if (self.xhrFields) { jQuery.each(self.xhrFields, function(key) { if (key in xhr) { xhr[key] = this; } }); } return savedXhrSend.apply(this, arguments); }; }; /** * Restore saved original XMLHttpRequest.prototype.send * * @type Function */ this.restoreXhrSend = function() { savedXhrSend && (XMLHttpRequest.prototype.send = savedXhrSend); }; /** * command names for into queue for only cwd requests * these commands aborts before `open` request * * @type Array * @default ['tmb', 'parents'] */ this.abortCmdsOnOpen = this.options.abortCmdsOnOpen || ['tmb', 'parents']; /** * ui.nav id prefix * * @type String */ this.navPrefix = 'nav' + (elFinder.prototype.uniqueid? elFinder.prototype.uniqueid : '') + '-'; /** * ui.cwd id prefix * * @type String */ this.cwdPrefix = elFinder.prototype.uniqueid? ('cwd' + elFinder.prototype.uniqueid + '-') : ''; // Increment elFinder.prototype.uniqueid ++elFinder.prototype.uniqueid; /** * URL to upload files * * @type String **/ this.uploadURL = opts.urlUpload || opts.url; /** * Events namespace * * @type String **/ this.namespace = namespace; /** * Today timestamp * * @type Number **/ this.today = (new Date(date.getFullYear(), date.getMonth(), date.getDate())).getTime()/1000; /** * Yesterday timestamp * * @type Number **/ this.yesterday = this.today - 86400; utc = this.options.UTCDate ? 'UTC' : ''; this.getHours = 'get'+utc+'Hours'; this.getMinutes = 'get'+utc+'Minutes'; this.getSeconds = 'get'+utc+'Seconds'; this.getDate = 'get'+utc+'Date'; this.getDay = 'get'+utc+'Day'; this.getMonth = 'get'+utc+'Month'; this.getFullYear = 'get'+utc+'FullYear'; /** * elFinder node z-index (auto detect on elFinder load) * * @type null | Number **/ this.zIndex; /** * Current search status * * @type Object */ this.searchStatus = { state : 0, // 0: search ended, 1: search started, 2: in search result query : '', target : '', mime : '', mixed : false, // in multi volumes search: false or Array that target volume ids ininc : false // in incremental search }; /** * Interface language * * @type String * @default "en" **/ this.lang = this.storage('lang') || this.options.lang; if (this.lang === 'jp') { this.lang = this.options.lang = 'ja'; } this.viewType = this.storage('view') || this.options.defaultView || 'icons'; this.sortType = this.storage('sortType') || this.options.sortType || 'name'; this.sortOrder = this.storage('sortOrder') || this.options.sortOrder || 'asc'; this.sortStickFolders = this.storage('sortStickFolders'); if (this.sortStickFolders === null) { this.sortStickFolders = !!this.options.sortStickFolders; } else { this.sortStickFolders = !!this.sortStickFolders; } this.sortAlsoTreeview = this.storage('sortAlsoTreeview'); if (this.sortAlsoTreeview === null || this.options.sortAlsoTreeview === null) { this.sortAlsoTreeview = !!this.options.sortAlsoTreeview; } else { this.sortAlsoTreeview = !!this.sortAlsoTreeview; } this.sortRules = jQuery.extend(true, {}, this._sortRules, this.options.sortRules); jQuery.each(this.sortRules, function(name, method) { if (typeof method != 'function') { delete self.sortRules[name]; } }); this.compare = jQuery.proxy(this.compare, this); /** * Delay in ms before open notification dialog * * @type Number * @default 500 **/ this.notifyDelay = this.options.notifyDelay > 0 ? parseInt(this.options.notifyDelay) : 500; /** * Dragging UI Helper object * * @type jQuery | null **/ this.draggingUiHelper = null; /** * Base droppable options * * @type Object **/ this.droppable = { greedy : true, tolerance : 'pointer', accept : '.elfinder-cwd-file-wrapper,.elfinder-navbar-dir,.elfinder-cwd-file,.elfinder-cwd-filename', hoverClass : this.res('class', 'adroppable'), classes : { // Deprecated hoverClass jQueryUI>=1.12.0 'ui-droppable-hover': this.res('class', 'adroppable') }, autoDisable: true, // elFinder original, see jquery.elfinder.js drop : function(e, ui) { var dst = jQuery(this), targets = jQuery.grep(ui.helper.data('files')||[], function(h) { return h? true : false; }), result = [], dups = [], faults = [], isCopy = ui.helper.hasClass('elfinder-drag-helper-plus'), c = 'class', cnt, hash, i, h; if (typeof e.button === 'undefined' || ui.helper.data('namespace') !== namespace || ! self.insideWorkzone(e.pageX, e.pageY)) { return false; } if (dst.hasClass(self.res(c, 'cwdfile'))) { hash = self.cwdId2Hash(dst.attr('id')); } else if (dst.hasClass(self.res(c, 'navdir'))) { hash = self.navId2Hash(dst.attr('id')); } else { hash = cwd; } cnt = targets.length; while (cnt--) { h = targets[cnt]; // ignore drop into itself or in own location if (h != hash && files[h].phash != hash) { result.push(h); } else { ((isCopy && h !== hash && files[hash].write)? dups : faults).push(h); } } if (faults.length) { return false; } ui.helper.data('droped', true); if (dups.length) { ui.helper.hide(); self.exec('duplicate', dups, {_userAction: true}); } if (result.length) { ui.helper.hide(); self.clipboard(result, !isCopy); self.exec('paste', hash, {_userAction: true}, hash).always(function(){ self.clipboard([]); self.trigger('unlockfiles', {files : targets}); }); self.trigger('drop', {files : targets}); } } }; /** * Return true if filemanager is active * * @return Boolean **/ this.enabled = function() { return enabled && this.visible(); }; /** * Return true if filemanager is visible * * @return Boolean **/ this.visible = function() { return node[0].elfinder && node.is(':visible'); }; /** * Return file is root? * * @param Object target file object * @return Boolean */ this.isRoot = function(file) { return (file.isroot || ! file.phash)? true : false; }; /** * Return root dir hash for current working directory * * @param String target hash * @param Boolean include fake parent (optional) * @return String */ this.root = function(hash, fake) { hash = hash || cwd; var dir, i; if (! fake) { jQuery.each(self.roots, function(id, rhash) { if (hash.indexOf(id) === 0) { dir = rhash; return false; } }); if (dir) { return dir; } } dir = files[hash]; while (dir && dir.phash && (fake || ! dir.isroot)) { dir = files[dir.phash]; } if (dir) { return dir.hash; } while (i in files && files.hasOwnProperty(i)) { dir = files[i]; if (dir.mime === 'directory' && !dir.phash && dir.read) { return dir.hash; } } return ''; }; /** * Return current working directory info * * @return Object */ this.cwd = function() { return files[cwd] || {}; }; /** * Return required cwd option * * @param String option name * @param String target hash (optional) * @return mixed */ this.option = function(name, target) { var res, item; target = target || cwd; if (self.optionsByHashes[target] && typeof self.optionsByHashes[target][name] !== 'undefined') { return self.optionsByHashes[target][name]; } if (self.hasVolOptions && cwd !== target && (!(item = self.file(target)) || item.phash !== cwd)) { res = ''; jQuery.each(self.volOptions, function(id, opt) { if (target.indexOf(id) === 0) { res = opt[name] || ''; return false; } }); return res; } else { return cwdOptions[name] || ''; } }; /** * Return disabled commands by each folder * * @param Array target hashes * @return Array */ this.getDisabledCmds = function(targets, flip) { var disabled = {'hidden': true}; if (! Array.isArray(targets)) { targets = [ targets ]; } jQuery.each(targets, function(i, h) { var disCmds = self.option('disabledFlip', h); if (disCmds) { Object.assign(disabled, disCmds); } }); return flip? disabled : Object.keys(disabled); }; /** * Return file data from current dir or tree by it's hash * * @param String file hash * @return Object */ this.file = function(hash, alsoHidden) { return hash? (files[hash] || (alsoHidden? hiddenFiles[hash] : void(0))) : void(0); }; /** * Return all cached files * * @param String parent hash * @return Object */ this.files = function(phash) { var items = {}; if (phash) { if (!ownFiles[phash]) { return {}; } jQuery.each(ownFiles[phash], function(h) { if (files[h]) { items[h] = files[h]; } else { delete ownFiles[phash][h]; } }); return Object.assign({}, items); } return Object.assign({}, files); }; /** * Return list of file parents hashes include file hash * * @param String file hash * @return Array */ this.parents = function(hash) { var parents = [], dir; while (hash && (dir = this.file(hash))) { parents.unshift(dir.hash); hash = dir.phash; } return parents; }; this.path2array = function(hash, i18) { var file, path = []; while (hash) { if ((file = files[hash]) && file.hash) { path.unshift(i18 && file.i18 ? file.i18 : file.name); hash = file.isroot? null : file.phash; } else { path = []; break; } } return path; }; /** * Return file path or Get path async with jQuery.Deferred * * @param Object file * @param Boolean i18 * @param Object asyncOpt * @return String|jQuery.Deferred */ this.path = function(hash, i18, asyncOpt) { var path = files[hash] && files[hash].path ? files[hash].path : this.path2array(hash, i18).join(cwdOptions.separator); if (! asyncOpt || ! files[hash]) { return path; } else { asyncOpt = Object.assign({notify: {type : 'parents', cnt : 1, hideCnt : true}}, asyncOpt); var dfd = jQuery.Deferred(), notify = asyncOpt.notify, noreq = false, req = function() { self.request({ data : {cmd : 'parents', target : files[hash].phash}, notify : notify, preventFail : true }) .done(done) .fail(function() { dfd.reject(); }); }, done = function() { self.one('parentsdone', function() { path = self.path(hash, i18); if (path === '' && noreq) { //retry with request noreq = false; req(); } else { if (notify) { clearTimeout(ntftm); notify.cnt = -(parseInt(notify.cnt || 0)); self.notify(notify); } dfd.resolve(path); } }); }, ntftm; if (path) { return dfd.resolve(path); } else { if (self.ui['tree']) { // try as no request if (notify) { ntftm = setTimeout(function() { self.notify(notify); }, self.notifyDelay); } noreq = true; done(true); } else { req(); } return dfd; } } }; /** * Return file url if set * * @param String file hash * @param Object Options * @return String|Object of jQuery Deferred */ this.url = function(hash, o) { var file = files[hash], opts = o || {}, async = opts.async || false, temp = opts.temporary || false, onetm = (opts.onetime && self.option('onetimeUrl', hash)) || false, absurl = opts.absurl || false, dfrd = (async || onetm)? jQuery.Deferred() : null, filter = function(url) { if (url && absurl) { url = self.convAbsUrl(url); } return url; }, getUrl = function(url) { if (url) { return filter(url); } if (file.url) { return filter(file.url); } if (typeof baseUrl === 'undefined') { baseUrl = self.option('url', (!self.isRoot(file) && file.phash) || file.hash); } if (baseUrl) { return filter(baseUrl + jQuery.map(self.path2array(hash), function(n) { return encodeURIComponent(n); }).slice(1).join('/')); } var params = Object.assign({}, self.customData, { cmd: 'file', target: file.hash }); if (self.oldAPI) { params.cmd = 'open'; params.current = file.phash; } return filter(self.options.url + (self.options.url.indexOf('?') === -1 ? '?' : '&') + jQuery.param(params, true)); }, baseUrl, res; if (!file || !file.read) { return async? dfrd.resolve('') : ''; } if (onetm) { async = true; this.request({ data : { cmd : 'url', target : hash, options : { onetime: 1 } }, preventDefault : true, options: {async: async}, notify: {type : 'file', cnt : 1, hideCnt : true} }).done(function(data) { dfrd.resolve(filter(data.url || '')); }).fail(function() { dfrd.resolve(''); }); } else { if (file.url == '1' || (temp && !file.url && !(baseUrl = self.option('url', (!self.isRoot(file) && file.phash) || file.hash)))) { this.request({ data : { cmd : 'url', target : hash, options : { temporary: temp? 1 : 0 } }, preventDefault : true, options: {async: async}, notify: async? {type : temp? 'file' : 'url', cnt : 1, hideCnt : true} : {} }) .done(function(data) { file.url = data.url || ''; }) .fail(function() { file.url = ''; }) .always(function() { var url; if (file.url && temp) { url = file.url; file.url = '1'; // restore } if (async) { dfrd.resolve(getUrl(url)); } else { return getUrl(url); } }); } else { if (async) { dfrd.resolve(getUrl()); } else { return getUrl(); } } } if (async) { return dfrd; } }; /** * Return file url for the extarnal service * * @param String hash The hash * @param Object options The options * @return Object jQuery Deferred */ this.forExternalUrl = function(hash, options) { var onetime = self.option('onetimeUrl', hash), opts = { async: true, absurl: true }; opts[onetime? 'onetime' : 'temporary'] = true; return self.url(hash, Object.assign({}, options, opts)); }; /** * Return file url for open in elFinder * * @param String file hash * @param Boolean for download link * @return String */ this.openUrl = function(hash, download) { var file = files[hash], url = ''; if (!file || !file.read) { return ''; } if (!download) { if (file.url) { if (file.url != 1) { url = file.url; } } else if (cwdOptions.url && file.hash.indexOf(self.cwd().volumeid) === 0) { url = cwdOptions.url + jQuery.map(this.path2array(hash), function(n) { return encodeURIComponent(n); }).slice(1).join('/'); } if (url) { url += (url.match(/\?/)? '&' : '?') + '_'.repeat((url.match(/[\?&](_+)t=/g) || ['&t=']).sort().shift().match(/[\?&](_*)t=/)[1].length + 1) + 't=' + (file.ts || parseInt(+new Date()/1000)); return url; } } url = this.options.url; url = url + (url.indexOf('?') === -1 ? '?' : '&') + (this.oldAPI ? 'cmd=open¤t='+file.phash : 'cmd=file') + '&target=' + file.hash + '&_t=' + (file.ts || parseInt(+new Date()/1000)); if (download) { url += '&download=1'; } jQuery.each(this.customData, function(key, val) { url += '&' + encodeURIComponent(key) + '=' + encodeURIComponent(val); }); return url; }; /** * Return thumbnail url * * @param Object file object * @return String */ this.tmb = function(file) { var tmbUrl, tmbCrop, cls = 'elfinder-cwd-bgurl', url = ''; if (jQuery.isPlainObject(file)) { if (self.searchStatus.state && file.hash.indexOf(self.cwd().volumeid) !== 0) { tmbUrl = self.option('tmbUrl', file.hash); tmbCrop = self.option('tmbCrop', file.hash); } else { tmbUrl = cwdOptions['tmbUrl']; tmbCrop = cwdOptions['tmbCrop']; } if (tmbCrop) { cls += ' elfinder-cwd-bgurl-crop'; } if (tmbUrl === 'self' && file.mime.indexOf('image/') === 0) { url = self.openUrl(file.hash); cls += ' elfinder-cwd-bgself'; } else if ((self.oldAPI || tmbUrl) && file && file.tmb && file.tmb != 1) { url = tmbUrl + file.tmb; } else if (self.newAPI && file && file.tmb && file.tmb != 1) { url = file.tmb; } if (url) { if (file.ts && tmbUrl !== 'self') { url += (url.match(/\?/)? '&' : '?') + '_t=' + file.ts; } return { url: url, className: cls }; } } return false; }; /** * Return selected files hashes * * @return Array **/ this.selected = function() { return selected.slice(0); }; /** * Return selected files info * * @return Array */ this.selectedFiles = function() { return jQuery.map(selected, function(hash) { return files[hash] ? Object.assign({}, files[hash]) : null; }); }; /** * Return true if file with required name existsin required folder * * @param String file name * @param String parent folder hash * @return Boolean */ this.fileByName = function(name, phash) { var hash; for (hash in files) { if (files.hasOwnProperty(hash) && files[hash].phash == phash && files[hash].name == name) { return files[hash]; } } }; /** * Valid data for required command based on rules * * @param String command name * @param Object cammand's data * @return Boolean */ this.validResponse = function(cmd, data) { return data.error || this.rules[this.rules[cmd] ? cmd : 'defaults'](data); }; /** * Return bytes from ini formated size * * @param String ini formated size * @return Integer */ this.returnBytes = function(val) { var last; if (isNaN(val)) { if (! val) { val = ''; } // for ex. 1mb, 1KB val = val.replace(/b$/i, ''); last = val.charAt(val.length - 1).toLowerCase(); val = val.replace(/[tgmk]$/i, ''); if (last == 't') { val = val * 1024 * 1024 * 1024 * 1024; } else if (last == 'g') { val = val * 1024 * 1024 * 1024; } else if (last == 'm') { val = val * 1024 * 1024; } else if (last == 'k') { val = val * 1024; } val = isNaN(val)? 0 : parseInt(val); } else { val = parseInt(val); if (val < 1) val = 0; } return val; }; /** * Process ajax request. * Fired events : * @todo * @example * @todo * @return jQuery.Deferred */ this.request = function(opts) { var self = this, o = this.options, dfrd = jQuery.Deferred(), // request ID reqId = (+ new Date()).toString(16) + Math.floor(1000 * Math.random()).toString(16), // request data data = Object.assign({}, self.customData, {mimes : o.onlyMimes}, opts.data || opts), // command name cmd = data.cmd, // request type is binary isBinary = (opts.options || {}).dataType === 'binary', // current cmd is "open" isOpen = (!opts.asNotOpen && cmd === 'open'), // call default fail callback (display error dialog) ? deffail = !(isBinary || opts.preventDefault || opts.preventFail), // call default success callback ? defdone = !(isBinary || opts.preventDefault || opts.preventDone), // options for notify dialog notify = Object.assign({}, opts.notify), // make cancel button cancel = !!opts.cancel, // do not normalize data - return as is raw = isBinary || !!opts.raw, // sync files on request fail syncOnFail = opts.syncOnFail, // use lazy() lazy = !!opts.lazy, // prepare function before done() prepare = opts.prepare, // navigate option object when cmd done navigate = opts.navigate, // open notify dialog timeout timeout, // use browser cache useCache = (opts.options || {}).cache, // request options options = Object.assign({ url : o.url, async : true, type : this.requestType, dataType : 'json', cache : (self.api >= 2.1029), // api >= 2.1029 has unique request ID data : data, headers : this.customHeaders, xhrFields: this.xhrFields }, opts.options || {}), /** * Default success handler. * Call default data handlers and fire event with command name. * * @param Object normalized response data * @return void **/ done = function(data) { data.warning && self.error(data.warning); if (isOpen) { open(data); } else { self.updateCache(data); } data.changed && data.changed.length && change(data.changed); self.lazy(function() { // fire some event to update cache/ui data.removed && data.removed.length && self.remove(data); data.added && data.added.length && self.add(data); data.changed && data.changed.length && self.change(data); }).then(function() { // fire event with command name return self.lazy(function() { self.trigger(cmd, data, false); }); }).then(function() { // fire event with command name + 'done' return self.lazy(function() { self.trigger(cmd + 'done'); }); }).then(function() { // make toast message if (data.toasts && Array.isArray(data.toasts)) { jQuery.each(data.toasts, function() { this.msg && self.toast(this); }); } // force update content data.sync && self.sync(); }); }, /** * Request error handler. Reject dfrd with correct error message. * * @param jqxhr request object * @param String request status * @return void **/ error = function(xhr, status) { var error, data, d = self.options.debug; switch (status) { case 'abort': error = xhr.quiet ? '' : ['errConnect', 'errAbort']; break; case 'timeout': error = ['errConnect', 'errTimeout']; break; case 'parsererror': error = ['errResponse', 'errDataNotJSON']; if (xhr.responseText) { if (! cwd || (d && (d === 'all' || d['backend-error']))) { error.push(xhr.responseText); } } break; default: if (xhr.responseText) { // check responseText, Is that JSON? try { data = JSON.parse(xhr.responseText); if (data && data.error) { error = data.error; } } catch(e) {} } if (! error) { if (xhr.status == 403) { error = ['errConnect', 'errAccess', 'HTTP error ' + xhr.status]; } else if (xhr.status == 404) { error = ['errConnect', 'errNotFound', 'HTTP error ' + xhr.status]; } else if (xhr.status >= 500) { error = ['errResponse', 'errServerError', 'HTTP error ' + xhr.status]; } else { if (xhr.status == 414 && options.type === 'get') { // retry by POST method options.type = 'post'; self.abortXHR(xhr); dfrd.xhr = xhr = self.transport.send(options).fail(error).done(success); return; } error = xhr.quiet ? '' : ['errConnect', 'HTTP error ' + xhr.status]; } } } self.trigger(cmd + 'done'); dfrd.reject({error: error}, xhr, status); }, /** * Request success handler. Valid response data and reject/resolve dfrd. * * @param Object response data * @param String request status * @return void **/ success = function(response) { var d = self.options.debug; // Set currrent request command name self.currentReqCmd = cmd; if (response.debug && (!d || d !== 'all')) { if (!d) { d = self.options.debug = {}; } d['backend-error'] = true; d['warning'] = true; } if (raw) { self.abortXHR(xhr); response && response.debug && self.debug('backend-debug', response); return dfrd.resolve(response); } if (!response) { return dfrd.reject({error :['errResponse', 'errDataEmpty']}, xhr, response); } else if (!jQuery.isPlainObject(response)) { return dfrd.reject({error :['errResponse', 'errDataNotJSON']}, xhr, response); } else if (response.error) { if (isOpen) { // check leafRoots jQuery.each(self.leafRoots, function(phash, roots) { self.leafRoots[phash] = jQuery.grep(roots, function(h) { return h !== data.target; }); }); } return dfrd.reject({error :response.error}, xhr, response); } var resolve = function() { var pushLeafRoots = function(name) { if (self.leafRoots[data.target] && response[name]) { jQuery.each(self.leafRoots[data.target], function(i, h) { var root; if (root = self.file(h)) { response[name].push(root); } }); } }, setTextMimes = function() { self.textMimes = {}; jQuery.each(self.res('mimes', 'text'), function() { self.textMimes[this.toLowerCase()] = true; }); }, actionTarget; if (isOpen) { pushLeafRoots('files'); } else if (cmd === 'tree') { pushLeafRoots('tree'); } response = self.normalize(response); if (!self.validResponse(cmd, response)) { return dfrd.reject({error :(response.norError || 'errResponse')}, xhr, response); } if (isOpen) { if (!self.api) { self.api = response.api || 1; if (self.api == '2.0' && typeof response.options.uploadMaxSize !== 'undefined') { self.api = '2.1'; } self.newAPI = self.api >= 2; self.oldAPI = !self.newAPI; } if (response.textMimes && Array.isArray(response.textMimes)) { self.resources.mimes.text = response.textMimes; setTextMimes(); } !self.textMimes && setTextMimes(); if (response.options) { cwdOptions = Object.assign({}, cwdOptionsDefault, response.options); } if (response.netDrivers) { self.netDrivers = response.netDrivers; } if (response.maxTargets) { self.maxTargets = response.maxTargets; } if (!!data.init) { self.uplMaxSize = self.returnBytes(response.uplMaxSize); self.uplMaxFile = !!response.uplMaxFile? Math.min(parseInt(response.uplMaxFile), 50) : 20; } } if (typeof prepare === 'function') { prepare(response); } if (navigate) { actionTarget = navigate.target || 'added'; if (response[actionTarget] && response[actionTarget].length) { self.one(cmd + 'done', function() { var targets = response[actionTarget], newItems = self.findCwdNodes(targets), inCwdHashes = function() { var cwdHash = self.cwd().hash; return jQuery.map(targets, function(f) { return (f.phash && cwdHash === f.phash)? f.hash : null; }); }, hashes = inCwdHashes(), makeToast = function(t) { var node = void(0), data = t.action? t.action.data : void(0), cmd, msg, done; if ((data || hashes.length) && t.action && (msg = t.action.msg) && (cmd = t.action.cmd) && (!t.action.cwdNot || t.action.cwdNot !== self.cwd().hash)) { done = t.action.done; data = t.action.data; node = jQuery('
                      ') .append( jQuery('') .on('mouseenter mouseleave', function(e) { jQuery(this).toggleClass('ui-state-hover', e.type == 'mouseenter'); }) .on('click', function() { self.exec(cmd, data || hashes, {_userAction: true, _currentType: 'toast', _currentNode: jQuery(this) }); if (done) { self.one(cmd+'done', function() { if (typeof done === 'function') { done(); } else if (done === 'select') { self.trigger('selectfiles', {files : inCwdHashes()}); } }); } }) ); } delete t.action; t.extNode = node; return t; }; if (! navigate.toast) { navigate.toast = {}; } !navigate.noselect && self.trigger('selectfiles', {files : self.searchStatus.state > 1 ? jQuery.map(targets, function(f) { return f.hash; }) : hashes}); if (newItems.length) { if (!navigate.noscroll) { newItems.first().trigger('scrolltoview', {blink : false}); self.resources.blink(newItems, 'lookme'); } if (jQuery.isPlainObject(navigate.toast.incwd)) { self.toast(makeToast(navigate.toast.incwd)); } } else { if (jQuery.isPlainObject(navigate.toast.inbuffer)) { self.toast(makeToast(navigate.toast.inbuffer)); } } }); } } dfrd.resolve(response); response.debug && self.debug('backend-debug', response); }; self.abortXHR(xhr); lazy? self.lazy(resolve) : resolve(); }, xhr, _xhr, xhrAbort = function(e) { if (xhr && xhr.state() === 'pending') { self.abortXHR(xhr, { quiet: true , abort: true }); if (!e || (e.type !== 'unload' && e.type !== 'destroy')) { self.autoSync(); } } }, abort = function(e){ self.trigger(cmd + 'done'); if (e.type == 'autosync') { if (e.data.action != 'stop') return; } else if (e.type != 'unload' && e.type != 'destroy' && e.type != 'openxhrabort') { if (!e.data.added || !e.data.added.length) { return; } } xhrAbort(e); }, request = function(mode) { var queueAbort = function() { syncOnFail = false; dfrd.reject(); }; if (mode) { if (mode === 'cmd') { return cmd; } } if (isOpen) { if (requestQueueSkipOpen) { return dfrd.reject(); } requestQueueSkipOpen = true; } dfrd.always(function() { delete options.headers['X-elFinderReqid']; }).fail(function(error, xhr, response) { var errData = { cmd: cmd, err: error, xhr: xhr, rc: response }; // unset this cmd queue when user canceling // see notify : function - `cancel.reject(0);` if (error === 0) { if (requestQueue.length) { requestQueue = jQuery.grep(requestQueue, function(req) { return (req('cmd') === cmd) ? false : true; }); } } // trigger "requestError" event self.trigger('requestError', errData); if (errData._event && errData._event.isDefaultPrevented()) { deffail = false; syncOnFail = false; if (error) { error.error = ''; } } // abort xhr xhrAbort(); if (isOpen) { openDir = self.file(data.target); openDir && openDir.volumeid && self.isRoot(openDir) && delete self.volumeExpires[openDir.volumeid]; } self.trigger(cmd + 'fail', response); if (error) { deffail ? self.error(error) : self.debug('error', self.i18n(error)); } syncOnFail && self.sync(); }); if (!cmd) { syncOnFail = false; return dfrd.reject({error :'errCmdReq'}); } if (self.maxTargets && data.targets && data.targets.length > self.maxTargets) { syncOnFail = false; return dfrd.reject({error :['errMaxTargets', self.maxTargets]}); } defdone && dfrd.done(done); // quiet abort not completed "open" requests if (isOpen) { while ((_xhr = queue.pop())) { _xhr.queueAbort(); } if (cwd !== data.target) { while ((_xhr = cwdQueue.pop())) { _xhr.queueAbort(); } } } // trigger abort autoSync for commands to add the item if (jQuery.inArray(cmd, (self.cmdsToAdd + ' autosync').split(' ')) !== -1) { if (cmd !== 'autosync') { self.autoSync('stop'); dfrd.always(function() { self.autoSync(); }); } self.trigger('openxhrabort'); } delete options.preventFail; if (self.api >= 2.1029) { if (useCache) { options.headers['X-elFinderReqid'] = reqId; } else { Object.assign(options.data, { reqid : reqId }); } } // function for set value of this syncOnFail dfrd.syncOnFail = function(state) { syncOnFail = !!state; }; requestCnt++; dfrd.xhr = xhr = self.transport.send(options).always(function() { // set responseURL from native xhr object if (options._xhr && typeof options._xhr.responseURL !== 'undefined') { xhr.responseURL = options._xhr.responseURL || ''; } --requestCnt; if (requestQueue.length) { requestQueue.shift()(); } else { requestQueueSkipOpen = false; } }).fail(error).done(success); if (self.api >= 2.1029) { xhr._requestId = reqId; } if (isOpen || (data.compare && cmd === 'info')) { // regist function queueAbort xhr.queueAbort = queueAbort; // add autoSync xhr into queue queue.unshift(xhr); // bind abort() data.compare && self.bind(self.cmdsToAdd + ' autosync openxhrabort', abort); dfrd.always(function() { var ndx = jQuery.inArray(xhr, queue); data.compare && self.unbind(self.cmdsToAdd + ' autosync openxhrabort', abort); ndx !== -1 && queue.splice(ndx, 1); }); } else if (jQuery.inArray(cmd, self.abortCmdsOnOpen) !== -1) { // regist function queueAbort xhr.queueAbort = queueAbort; // add "open" xhr, only cwd xhr into queue cwdQueue.unshift(xhr); dfrd.always(function() { var ndx = jQuery.inArray(xhr, cwdQueue); ndx !== -1 && cwdQueue.splice(ndx, 1); }); } // abort pending xhr on window unload or elFinder destroy self.bind('unload destroy', abort); dfrd.always(function() { self.unbind('unload destroy', abort); }); return dfrd; }, queueingRequest = function() { // show notify if (notify.type && notify.cnt) { if (cancel) { notify.cancel = dfrd; opts.eachCancel && (notify.id = +new Date()); } timeout = setTimeout(function() { self.notify(notify); dfrd.always(function() { notify.cnt = -(parseInt(notify.cnt)||0); self.notify(notify); }); }, self.notifyDelay); dfrd.always(function() { clearTimeout(timeout); }); } // queueing if (isOpen) { requestQueueSkipOpen = false; } if (requestCnt < requestMaxConn) { // do request return request(); } else { if (isOpen) { requestQueue.unshift(request); } else { requestQueue.push(request); } return dfrd; } }, bindData = {opts: opts, result: true}, openDir; // prevent request initial request is completed if (!self.api && !data.init) { syncOnFail = false; return dfrd.reject(); } // trigger "request.cmd" that callback be able to cancel request by substituting "false" for "event.data.result" self.trigger('request.' + cmd, bindData, true); if (! bindData.result) { self.trigger(cmd + 'done'); return dfrd.reject(); } else if (typeof bindData.result === 'object' && bindData.result.promise) { bindData.result .done(queueingRequest) .fail(function() { self.trigger(cmd + 'done'); dfrd.reject(); }); return dfrd; } return queueingRequest(); }; /** * Call cache() * Store info about files/dirs in "files" object. * * @param Array files * @return void */ this.cache = function(dataArray) { if (! Array.isArray(dataArray)) { dataArray = [ dataArray ]; } cache(dataArray); }; /** * Update file object caches by respose data object * * @param Object respose data object * @return void */ this.updateCache = function(data) { if (jQuery.isPlainObject(data)) { data.files && data.files.length && cache(data.files, 'files'); data.tree && data.tree.length && cache(data.tree, 'tree'); data.removed && data.removed.length && remove(data.removed); data.added && data.added.length && cache(data.added, 'add'); data.changed && data.changed.length && change(data.changed, 'change'); } }; /** * Compare current files cache with new files and return diff * * @param Array new files * @param String target folder hash * @param Array exclude properties to compare * @return Object */ this.diff = function(incoming, onlydir, excludeProps) { var raw = {}, added = [], removed = [], changed = [], excludes = null, isChanged = function(hash) { var l = changed.length; while (l--) { if (changed[l].hash == hash) { return true; } } }; jQuery.each(incoming, function(i, f) { raw[f.hash] = f; }); // make excludes object if (excludeProps && excludeProps.length) { excludes = {}; jQuery.each(excludeProps, function() { excludes[this] = true; }); } // find removed jQuery.each(files, function(hash, f) { if (! raw[hash] && (! onlydir || f.phash === onlydir)) { removed.push(hash); } }); // compare files jQuery.each(raw, function(hash, file) { var origin = files[hash], orgKeys = {}, chkKeyLen; if (!origin) { added.push(file); } else { // make orgKeys object jQuery.each(Object.keys(origin), function() { orgKeys[this] = true; }); jQuery.each(file, function(prop) { delete orgKeys[prop]; if (! excludes || ! excludes[prop]) { if (file[prop] !== origin[prop]) { changed.push(file); orgKeys = {}; return false; } } }); chkKeyLen = Object.keys(orgKeys).length; if (chkKeyLen !== 0) { if (excludes) { jQuery.each(orgKeys, function(prop) { if (excludes[prop]) { --chkKeyLen; } }); } (chkKeyLen !== 0) && changed.push(file); } } }); // parents of removed dirs mark as changed (required for tree correct work) jQuery.each(removed, function(i, hash) { var file = files[hash], phash = file.phash; if (phash && file.mime == 'directory' && jQuery.inArray(phash, removed) === -1 && raw[phash] && !isChanged(phash)) { changed.push(raw[phash]); } }); return { added : added, removed : removed, changed : changed }; }; /** * Sync content * * @return jQuery.Deferred */ this.sync = function(onlydir, polling) { this.autoSync('stop'); var self = this, compare = function(){ var c = '', cnt = 0, mtime = 0; if (onlydir && polling) { jQuery.each(files, function(h, f) { if (f.phash && f.phash === onlydir) { ++cnt; mtime = Math.max(mtime, f.ts); } c = cnt+':'+mtime; }); } return c; }, comp = compare(), dfrd = jQuery.Deferred().done(function() { self.trigger('sync'); }), opts = [this.request({ data : {cmd : 'open', reload : 1, target : cwd, tree : (! onlydir && this.ui.tree) ? 1 : 0, compare : comp}, preventDefault : true })], exParents = function() { var parents = [], curRoot = self.file(self.root(cwd)), curId = curRoot? curRoot.volumeid : null, phash = self.cwd().phash, isroot,pdir; while(phash) { if (pdir = self.file(phash)) { if (phash.indexOf(curId) !== 0) { parents.push( {target: phash, cmd: 'tree'} ); if (! self.isRoot(pdir)) { parents.push( {target: phash, cmd: 'parents'} ); } curRoot = self.file(self.root(phash)); curId = curRoot? curRoot.volumeid : null; } phash = pdir.phash; } else { phash = null; } } return parents; }; if (! onlydir && self.api >= 2) { (cwd !== this.root()) && opts.push(this.request({ data : {cmd : 'parents', target : cwd}, preventDefault : true })); jQuery.each(exParents(), function(i, data) { opts.push(self.request({ data : {cmd : data.cmd, target : data.target}, preventDefault : true })); }); } jQuery.when.apply($, opts) .fail(function(error, xhr) { if (! polling || jQuery.inArray('errOpen', error) !== -1) { dfrd.reject(error); self.parseError(error) && self.request({ data : {cmd : 'open', target : (self.lastDir('') || self.root()), tree : 1, init : 1}, notify : {type : 'open', cnt : 1, hideCnt : true} }); } else { dfrd.reject((error && xhr.status != 0)? error : void 0); } }) .done(function(odata) { var pdata, argLen, i; if (odata.cwd.compare) { if (comp === odata.cwd.compare) { return dfrd.reject(); } } // for 2nd and more requests pdata = {tree : []}; // results marge of 2nd and more requests argLen = arguments.length; if (argLen > 1) { for(i = 1; i < argLen; i++) { if (arguments[i].tree && arguments[i].tree.length) { pdata.tree.push.apply(pdata.tree, arguments[i].tree); } } } if (self.api < 2.1) { if (! pdata.tree) { pdata.tree = []; } pdata.tree.push(odata.cwd); } // data normalize odata = self.normalize(odata); if (!self.validResponse('open', odata)) { return dfrd.reject((odata.norError || 'errResponse')); } pdata = self.normalize(pdata); if (!self.validResponse('tree', pdata)) { return dfrd.reject((pdata.norError || 'errResponse')); } var diff = self.diff(odata.files.concat(pdata && pdata.tree ? pdata.tree : []), onlydir); diff.added.push(odata.cwd); self.updateCache(diff); // trigger events diff.removed.length && self.remove(diff); diff.added.length && self.add(diff); diff.changed.length && self.change(diff); return dfrd.resolve(diff); }) .always(function() { self.autoSync(); }); return dfrd; }; this.upload = function(files) { return this.transport.upload(files, this); }; /** * Bind keybord shortcut to keydown event * * @example * elfinder.shortcut({ * pattern : 'ctrl+a', * description : 'Select all files', * callback : function(e) { ... }, * keypress : true|false (bind to keypress instead of keydown) * }) * * @param Object shortcut config * @return elFinder */ this.shortcut = function(s) { var patterns, pattern, code, i, parts; if (this.options.allowShortcuts && s.pattern && jQuery.isFunction(s.callback)) { patterns = s.pattern.toUpperCase().split(/\s+/); for (i= 0; i < patterns.length; i++) { pattern = patterns[i]; parts = pattern.split('+'); code = (code = parts.pop()).length == 1 ? (code > 0 ? code : code.charCodeAt(0)) : (code > 0 ? code : jQuery.ui.keyCode[code]); if (code && !shortcuts[pattern]) { shortcuts[pattern] = { keyCode : code, altKey : jQuery.inArray('ALT', parts) != -1, ctrlKey : jQuery.inArray('CTRL', parts) != -1, shiftKey : jQuery.inArray('SHIFT', parts) != -1, type : s.type || 'keydown', callback : s.callback, description : s.description, pattern : pattern }; } } } return this; }; /** * Registered shortcuts * * @type Object **/ this.shortcuts = function() { var ret = []; jQuery.each(shortcuts, function(i, s) { ret.push([s.pattern, self.i18n(s.description)]); }); return ret; }; /** * Get/set clipboard content. * Return new clipboard content. * * @example * this.clipboard([]) - clean clipboard * this.clipboard([{...}, {...}], true) - put 2 files in clipboard and mark it as cutted * * @param Array new files hashes * @param Boolean cut files? * @return Array */ this.clipboard = function(hashes, cut) { var map = function() { return jQuery.map(clipboard, function(f) { return f.hash; }); }; if (hashes !== void(0)) { clipboard.length && this.trigger('unlockfiles', {files : map()}); remember = {}; clipboard = jQuery.map(hashes||[], function(hash) { var file = files[hash]; if (file) { remember[hash] = true; return { hash : hash, phash : file.phash, name : file.name, mime : file.mime, read : file.read, locked : file.locked, cut : !!cut }; } return null; }); this.trigger('changeclipboard', {clipboard : clipboard.slice(0, clipboard.length)}); cut && this.trigger('lockfiles', {files : map()}); } // return copy of clipboard instead of refrence return clipboard.slice(0, clipboard.length); }; /** * Return true if command enabled * * @param String command name * @param String|void hash for check of own volume's disabled cmds * @return Boolean */ this.isCommandEnabled = function(name, dstHash) { var disabled, cmd, cvid = self.cwd().volumeid || ''; // In serach results use selected item hash to check if (!dstHash && self.searchStatus.state > 1 && self.selected().length) { dstHash = self.selected()[0]; } if (dstHash && (! cvid || dstHash.indexOf(cvid) !== 0)) { disabled = self.option('disabledFlip', dstHash); //if (! disabled) { // disabled = {}; //} } else { disabled = cwdOptions.disabledFlip/* || {}*/; } cmd = this._commands[name]; return cmd ? (cmd.alwaysEnabled || !disabled[name]) : false; }; /** * Exec command and return result; * * @param String command name * @param String|Array usualy files hashes * @param String|Array command options * @param String|void hash for enabled check of own volume's disabled cmds * @return jQuery.Deferred */ this.exec = function(cmd, files, opts, dstHash) { var dfrd, resType; // apply commandMap for keyboard shortcut if (!dstHash && this.commandMap[cmd] && this.commandMap[cmd] !== 'hidden') { cmd = this.commandMap[cmd]; } if (cmd === 'open') { if (this.searchStatus.state || this.searchStatus.ininc) { this.trigger('searchend', { noupdate: true }); } this.autoSync('stop'); } if (!dstHash && files) { if (jQuery.isArray(files)) { if (files.length) { dstHash = files[0]; } } else { dstHash = files; } } dfrd = this._commands[cmd] && this.isCommandEnabled(cmd, dstHash) ? this._commands[cmd].exec(files, opts) : jQuery.Deferred().reject('No such command'); resType = typeof dfrd; if (!(resType === 'object' && dfrd.promise)) { self.debug('warning', '"cmd.exec()" should be returned "jQuery.Deferred" but cmd "' + cmd + '" returned "' + resType + '"'); dfrd = jQuery.Deferred().resolve(); } this.trigger('exec', { dfrd : dfrd, cmd : cmd, files : files, opts : opts, dstHash : dstHash }); return dfrd; }; /** * Create and return dialog. * * @param String|DOMElement dialog content * @param Object dialog options * @return jQuery */ this.dialog = function(content, options) { var dialog = jQuery('
                      ').append(content).appendTo(node).elfinderdialog(options, self), dnode = dialog.closest('.ui-dialog'), resize = function(){ ! dialog.data('draged') && dialog.is(':visible') && dialog.elfinderdialog('posInit'); }; if (dnode.length) { self.bind('resize', resize); dnode.on('remove', function() { self.unbind('resize', resize); }); } return dialog; }; /** * Create and return toast. * * @param Object toast options - see ui/toast.js * @return jQuery */ this.toast = function(options) { return jQuery('
                      ').appendTo(this.ui.toast).elfindertoast(options || {}, this); }; /** * Return UI widget or node * * @param String ui name * @return jQuery */ this.getUI = function(ui) { return this.ui[ui] || (ui? jQuery() : node); }; /** * Return elFinder.command instance or instances array * * @param String command name * @return Object | Array */ this.getCommand = function(name) { return name === void(0) ? this._commands : this._commands[name]; }; /** * Resize elfinder node * * @param String|Number width * @param String|Number height * @return void */ this.resize = function(w, h) { var getMargin = function() { var m = node.outerHeight(true) - node.innerHeight(), p = node; while(p.get(0) !== heightBase.get(0)) { p = p.parent(); m += p.outerHeight(true) - p.innerHeight(); if (! p.parent().length) { // reached the document break; } } return m; }, fit = ! node.hasClass('ui-resizable'), prv = node.data('resizeSize') || {w: 0, h: 0}, mt, size = {}; if (heightBase && heightBase.data('resizeTm')) { clearTimeout(heightBase.data('resizeTm')); } if (typeof h === 'string') { if (mt = h.match(/^([0-9.]+)%$/)) { // setup heightBase if (! heightBase || ! heightBase.length) { heightBase = jQuery(window); } if (! heightBase.data('marginToMyNode')) { heightBase.data('marginToMyNode', getMargin()); } if (! heightBase.data('fitToBaseFunc')) { heightBase.data('fitToBaseFunc', function(e) { var tm = heightBase.data('resizeTm'); e.preventDefault(); e.stopPropagation(); tm && cancelAnimationFrame(tm); if (! node.hasClass('elfinder-fullscreen') && (!self.UA.Mobile || heightBase.data('rotated') !== self.UA.Rotated)) { heightBase.data('rotated', self.UA.Rotated); heightBase.data('resizeTm', requestAnimationFrame(function() { self.restoreSize(); })); } }); } if (typeof heightBase.data('rotated') === 'undefined') { heightBase.data('rotated', self.UA.Rotated); } h = heightBase.height() * (mt[1] / 100) - heightBase.data('marginToMyNode'); heightBase.off('resize.' + self.namespace, heightBase.data('fitToBaseFunc')); fit && heightBase.on('resize.' + self.namespace, heightBase.data('fitToBaseFunc')); } } node.css({ width : w, height : parseInt(h) }); size.w = Math.round(node.width()); size.h = Math.round(node.height()); node.data('resizeSize', size); if (size.w !== prv.w || size.h !== prv.h) { node.trigger('resize'); this.trigger('resize', {width : size.w, height : size.h}); } }; /** * Restore elfinder node size * * @return elFinder */ this.restoreSize = function() { this.resize(width, height); }; this.show = function() { node.show(); this.enable().trigger('show'); }; this.hide = function() { if (this.options.enableAlways) { prevEnabled = enabled; enabled = false; } this.disable(); this.trigger('hide'); node.hide(); }; /** * Lazy execution function * * @param Object function * @param Number delay * @param Object options * @return Object jQuery.Deferred */ this.lazy = function(func, delay, opts) { var busy = function(state) { var cnt = node.data('lazycnt'), repaint; if (state) { repaint = node.data('lazyrepaint')? false : opts.repaint; if (! cnt) { node.data('lazycnt', 1) .addClass('elfinder-processing'); } else { node.data('lazycnt', ++cnt); } if (repaint) { node.data('lazyrepaint', true).css('display'); // force repaint } } else { if (cnt && cnt > 1) { node.data('lazycnt', --cnt); } else { repaint = node.data('lazyrepaint'); node.data('lazycnt', 0) .removeData('lazyrepaint') .removeClass('elfinder-processing'); repaint && node.css('display'); // force repaint; self.trigger('lazydone'); } } }, dfd = jQuery.Deferred(), callFunc = function() { dfd.resolve(func.call(dfd)); busy(false); }; delay = delay || 0; opts = opts || {}; busy(true); if (delay) { setTimeout(callFunc, delay); } else { requestAnimationFrame(callFunc); } return dfd; }; /** * Destroy this elFinder instance * * @return void **/ this.destroy = function() { if (node && node[0].elfinder) { node.hasClass('elfinder-fullscreen') && self.toggleFullscreen(node); this.options.syncStart = false; this.autoSync('forcestop'); this.trigger('destroy').disable(); clipboard = []; selected = []; listeners = {}; shortcuts = {}; jQuery(window).off('.' + namespace); jQuery(document).off('.' + namespace); self.trigger = function(){}; jQuery(beeper).remove(); node.off() .removeData() .empty() .append(prevContent.contents()) .attr('class', prevContent.attr('class')) .attr('style', prevContent.attr('style')); delete node[0].elfinder; // restore kept events jQuery.each(prevEvents, function(n, arr) { jQuery.each(arr, function(i, o) { node.on(o.type + (o.namespace? '.'+o.namespace : ''), o.selector, o.handler); }); }); } }; /** * Start or stop auto sync * * @param String|Bool stop * @return void */ this.autoSync = function(mode) { var sync; if (self.options.sync >= 1000) { if (syncInterval) { clearTimeout(syncInterval); syncInterval = null; self.trigger('autosync', {action : 'stop'}); } if (mode === 'stop') { ++autoSyncStop; } else { autoSyncStop = Math.max(0, --autoSyncStop); } if (autoSyncStop || mode === 'forcestop' || ! self.options.syncStart) { return; } // run interval sync sync = function(start){ var timeout; if (cwdOptions.syncMinMs && (start || syncInterval)) { start && self.trigger('autosync', {action : 'start'}); timeout = Math.max(self.options.sync, cwdOptions.syncMinMs); syncInterval && clearTimeout(syncInterval); syncInterval = setTimeout(function() { var dosync = true, hash = cwd, cts; if (cwdOptions.syncChkAsTs && files[hash] && (cts = files[hash].ts)) { self.request({ data : {cmd : 'info', targets : [hash], compare : cts, reload : 1}, preventDefault : true }) .done(function(data){ var ts; dosync = true; if (data.compare) { ts = data.compare; if (ts == cts) { dosync = false; } } if (dosync) { self.sync(hash).always(function(){ if (ts) { // update ts for cache clear etc. files[hash].ts = ts; } sync(); }); } else { sync(); } }) .fail(function(error, xhr){ var err = self.parseError(error); if (err && xhr.status != 0) { self.error(err); if (Array.isArray(err) && jQuery.inArray('errOpen', err) !== -1) { self.request({ data : {cmd : 'open', target : (self.lastDir('') || self.root()), tree : 1, init : 1}, notify : {type : 'open', cnt : 1, hideCnt : true} }); } } else { syncInterval = setTimeout(function() { sync(); }, timeout); } }); } else { self.sync(cwd, true).always(function(){ sync(); }); } }, timeout); } }; sync(true); } }; /** * Return bool is inside work zone of specific point * * @param Number event.pageX * @param Number event.pageY * @return Bool */ this.insideWorkzone = function(x, y, margin) { var rectangle = this.getUI('workzone').data('rectangle'); margin = margin || 1; if (x < rectangle.left + margin || x > rectangle.left + rectangle.width + margin || y < rectangle.top + margin || y > rectangle.top + rectangle.height + margin) { return false; } return true; }; /** * Target ui node move to last of children of elFinder node fot to show front * * @param Object target Target jQuery node object */ this.toFront = function(target) { var nodes = node.children('.ui-front').removeClass('elfinder-frontmost'), lastnode = nodes.last(); nodes.css('z-index', ''); jQuery(target).addClass('ui-front elfinder-frontmost').css('z-index', lastnode.css('z-index') + 1); }; /** * Remove class 'elfinder-frontmost' and hide() to target ui node * * @param Object target Target jQuery node object * @param Boolean nohide Do not hide */ this.toHide =function(target, nohide) { var tgt = jQuery(target), last; !nohide && tgt.hide(); if (tgt.hasClass('elfinder-frontmost')) { tgt.removeClass('elfinder-frontmost'); last = node.children('.ui-front:visible:not(.elfinder-frontmost)').last(); if (last.length) { requestAnimationFrame(function() { if (!node.children('.elfinder-frontmost:visible').length) { self.toFront(last); last.trigger('frontmost'); } }); } } }; /** * Return css object for maximize * * @return Object */ this.getMaximizeCss = function() { return { width : '100%', height : '100%', margin : 0, top : 0, left : 0, display : 'block', position: 'fixed', zIndex : Math.max(self.zIndex? (self.zIndex + 1) : 0 , 1000), maxWidth : '', maxHeight: '' }; }; // Closure for togglefullscreen (function() { // check is in iframe if (inFrame && self.UA.Fullscreen) { self.UA.Fullscreen = false; if (parentIframe && typeof parentIframe.attr('allowfullscreen') !== 'undefined') { self.UA.Fullscreen = true; } } var orgStyle, bodyOvf, resizeTm, fullElm, exitFull, toFull, cls = 'elfinder-fullscreen', clsN = 'elfinder-fullscreen-native', checkDialog = function() { var t = 0, l = 0; jQuery.each(node.children('.ui-dialog,.ui-draggable'), function(i, d) { var $d = jQuery(d), pos = $d.position(); if (pos.top < 0) { $d.css('top', t); t += 20; } if (pos.left < 0) { $d.css('left', l); l += 20; } }); }, funcObj = self.UA.Fullscreen? { // native full screen mode fullElm: function() { return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || null; }, exitFull: function() { if (document.exitFullscreen) { return document.exitFullscreen(); } else if (document.webkitExitFullscreen) { return document.webkitExitFullscreen(); } else if (document.mozCancelFullScreen) { return document.mozCancelFullScreen(); } else if (document.msExitFullscreen) { return document.msExitFullscreen(); } }, toFull: function(elem) { if (elem.requestFullscreen) { return elem.requestFullscreen(); } else if (elem.webkitRequestFullscreen) { return elem.webkitRequestFullscreen(); } else if (elem.mozRequestFullScreen) { return elem.mozRequestFullScreen(); } else if (elem.msRequestFullscreen) { return elem.msRequestFullscreen(); } return false; } } : { // node element maximize mode fullElm: function() { var full; if (node.hasClass(cls)) { return node.get(0); } else { full = node.find('.' + cls); if (full.length) { return full.get(0); } } return null; }, exitFull: function() { var elm; jQuery(window).off('resize.' + namespace, resize); if (bodyOvf !== void(0)) { jQuery('body').css('overflow', bodyOvf); } bodyOvf = void(0); if (orgStyle) { elm = orgStyle.elm; restoreStyle(elm); jQuery(elm).trigger('resize', {fullscreen: 'off'}); } jQuery(window).trigger('resize'); }, toFull: function(elem) { bodyOvf = jQuery('body').css('overflow') || ''; jQuery('body').css('overflow', 'hidden'); jQuery(elem).css(self.getMaximizeCss()) .addClass(cls) .trigger('resize', {fullscreen: 'on'}); checkDialog(); jQuery(window).on('resize.' + namespace, resize).trigger('resize'); return true; } }, restoreStyle = function(elem) { if (orgStyle && orgStyle.elm == elem) { jQuery(elem).removeClass(cls + ' ' + clsN).attr('style', orgStyle.style); orgStyle = null; } }, resize = function(e) { var elm; if (e.target === window) { resizeTm && cancelAnimationFrame(resizeTm); resizeTm = requestAnimationFrame(function() { if (elm = funcObj.fullElm()) { jQuery(elm).trigger('resize', {fullscreen: 'on'}); } }); } }; jQuery(document).on('fullscreenchange.' + namespace + ' webkitfullscreenchange.' + namespace + ' mozfullscreenchange.' + namespace + ' MSFullscreenChange.' + namespace, function(e){ if (self.UA.Fullscreen) { var elm = funcObj.fullElm(), win = jQuery(window); resizeTm && cancelAnimationFrame(resizeTm); if (elm === null) { win.off('resize.' + namespace, resize); if (orgStyle) { elm = orgStyle.elm; restoreStyle(elm); jQuery(elm).trigger('resize', {fullscreen: 'off'}); } } else { jQuery(elm).addClass(cls + ' ' + clsN) .attr('style', 'width:100%; height:100%; margin:0; padding:0;') .trigger('resize', {fullscreen: 'on'}); win.on('resize.' + namespace, resize); checkDialog(); } win.trigger('resize'); } }); /** * Toggle Full Scrren Mode * * @param Object target * @param Bool full * @return Object | Null DOM node object of current full scrren */ self.toggleFullscreen = function(target, full) { var elm = jQuery(target).get(0), curElm = null; curElm = funcObj.fullElm(); if (curElm) { if (curElm == elm) { if (full === true) { return curElm; } } else { if (full === false) { return curElm; } } funcObj.exitFull(); return null; } else { if (full === false) { return null; } } orgStyle = {elm: elm, style: jQuery(elm).attr('style')}; if (funcObj.toFull(elm) !== false) { return elm; } else { orgStyle = null; return null; } }; })(); // Closure for toggleMaximize (function(){ var cls = 'elfinder-maximized', resizeTm, resize = function(e) { if (e.target === window && e.data && e.data.elm) { var elm = e.data.elm; resizeTm && cancelAnimationFrame(resizeTm); resizeTm = requestAnimationFrame(function() { elm.trigger('resize', {maximize: 'on'}); }); } }, exitMax = function(elm) { jQuery(window).off('resize.' + namespace, resize); jQuery('body').css('overflow', elm.data('bodyOvf')); elm.removeClass(cls) .attr('style', elm.data('orgStyle')) .removeData('bodyOvf') .removeData('orgStyle'); elm.trigger('resize', {maximize: 'off'}); }, toMax = function(elm) { elm.data('bodyOvf', jQuery('body').css('overflow') || '') .data('orgStyle', elm.attr('style')) .addClass(cls) .css(self.getMaximizeCss()); jQuery('body').css('overflow', 'hidden'); jQuery(window).on('resize.' + namespace, {elm: elm}, resize); elm.trigger('resize', {maximize: 'on'}); }; /** * Toggle Maximize target node * * @param Object target * @param Bool max * @return void */ self.toggleMaximize = function(target, max) { var elm = jQuery(target), maximized = elm.hasClass(cls); if (maximized) { if (max === true) { return; } exitMax(elm); } else { if (max === false) { return; } toMax(elm); } }; })(); /************* init stuffs ****************/ Object.assign(jQuery.ui.keyCode, { 'F1' : 112, 'F2' : 113, 'F3' : 114, 'F4' : 115, 'F5' : 116, 'F6' : 117, 'F7' : 118, 'F8' : 119, 'F9' : 120, 'F10' : 121, 'F11' : 122, 'F12' : 123, 'DIG0' : 48, 'DIG1' : 49, 'DIG2' : 50, 'DIG3' : 51, 'DIG4' : 52, 'DIG5' : 53, 'DIG6' : 54, 'DIG7' : 55, 'DIG8' : 56, 'DIG9' : 57, 'NUM0' : 96, 'NUM1' : 97, 'NUM2' : 98, 'NUM3' : 99, 'NUM4' : 100, 'NUM5' : 101, 'NUM6' : 102, 'NUM7' : 103, 'NUM8' : 104, 'NUM9' : 105, 'CONTEXTMENU' : 93, 'DOT' : 190 }); this.dragUpload = false; this.xhrUpload = (typeof XMLHttpRequestUpload != 'undefined' || typeof XMLHttpRequestEventTarget != 'undefined') && typeof File != 'undefined' && typeof FormData != 'undefined'; // configure transport object this.transport = {}; if (typeof(this.options.transport) == 'object') { this.transport = this.options.transport; if (typeof(this.transport.init) == 'function') { this.transport.init(this); } } if (typeof(this.transport.send) != 'function') { this.transport.send = function(opts) { if (!self.UA.IE) { // keep native xhr object for handling property responseURL opts._xhr = new XMLHttpRequest(); opts.xhr = function() { return opts._xhr; }; } return jQuery.ajax(opts); }; } if (this.transport.upload == 'iframe') { this.transport.upload = jQuery.proxy(this.uploads.iframe, this); } else if (typeof(this.transport.upload) == 'function') { this.dragUpload = !!this.options.dragUploadAllow; } else if (this.xhrUpload && !!this.options.dragUploadAllow) { this.transport.upload = jQuery.proxy(this.uploads.xhr, this); this.dragUpload = true; } else { this.transport.upload = jQuery.proxy(this.uploads.iframe, this); } /** * Decoding 'raw' string converted to unicode * * @param String str * @return String */ this.decodeRawString = function(str) { var charCodes = function(str) { var i, len, arr; for (i=0,len=str.length,arr=[]; i= 0xd800 && c <= 0xdbff) { scalars.push((c & 1023) + 64 << 10 | arr[++i] & 1023); } else { scalars.push(c); } } return scalars; }, decodeUTF8 = function(arr) { var i, len, c, str, char = String.fromCharCode; for (i=0,len=arr.length,str=""; c=arr[i],i= 0xc2) { str += char((c&31)<<6 | arr[++i]&63); } else if (c <= 0xef && c >= 0xe0) { str += char((c&15)<<12 | (arr[++i]&63)<<6 | arr[++i]&63); } else if (c <= 0xf7 && c >= 0xf0) { str += char( 0xd800 | ((c&7)<<8 | (arr[++i]&63)<<2 | arr[++i]>>>4&3) - 64, 0xdc00 | (arr[i++]&15)<<6 | arr[i]&63 ); } else { str += char(0xfffd); } } return str; }; return decodeUTF8(scalarValues(str)); }; /** * Gets target file contents by file.hash * * @param String hash The hash * @param String responseType 'blob' or 'arraybuffer' (default) * @return arraybuffer|blob The contents. */ this.getContents = function(hash, responseType) { var self = this, dfd = jQuery.Deferred(), type = responseType || 'arraybuffer', url, req; dfd.fail(function() { req && req.state() === 'pending' && req.reject(); }); url = self.openUrl(hash); if (!self.isSameOrigin(url)) { url = self.openUrl(hash, true); } req = self.request({ data : {cmd : 'get'}, options : { url: url, type: 'get', cache : true, dataType : 'binary', responseType : type, processData: false } }) .fail(function() { dfd.reject(); }) .done(function(data) { dfd.resolve(data); }); return dfd; }; this.getMimetype = function(name, orgMime) { var mime = orgMime, ext, m; m = (name + '').match(/\.([^.]+)$/); if (m && (ext = m[1])) { if (!extToMimeTable) { extToMimeTable = self.arrayFlip(self.mimeTypes); } if (!(mime = extToMimeTable[ext.toLowerCase()])) { mime = orgMime; } } return mime; }; /** * Supported check hash algorisms * * @type Array */ self.hashCheckers = []; /** * Closure of getContentsHashes() */ (function(self) { var hashLibs = { check : true }, md5Calc = function(arr) { var spark = new hashLibs.SparkMD5.ArrayBuffer(), job; job = self.asyncJob(function(buf) { spark.append(buf); }, arr).done(function() { job._md5 = spark.end(); }); return job; }, shaCalc = function(arr, length) { var sha, job; try { sha = new hashLibs.jsSHA('SHA' + (length.substr(0, 1) === '3'? length : ('-' + length)), 'ARRAYBUFFER'); job = self.asyncJob(function(buf) { sha.update(buf); }, arr).done(function() { job._sha = sha.getHash('HEX'); }); } catch(e) { job = jQuery.Deferred.reject(); } return job; }; // make fm.hashCheckers if (self.options.cdns.sparkmd5) { self.hashCheckers.push('md5'); } if (self.options.cdns.jssha) { self.hashCheckers = self.hashCheckers.concat(['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512', 'shake128', 'shake256']); } /** * Gets the contents hashes. * * @param String target target file.hash * @param Object needHashes need hash lib names * @return Object hashes with lib name as key */ self.getContentsHashes = function(target, needHashes) { var dfd = jQuery.Deferred(), needs = self.arrayFlip(needHashes || ['md5'], true), libs = [], jobs = [], res = {}, req; dfd.fail(function() { req && req.reject(); }); if (hashLibs.check) { delete hashLibs.check; // load SparkMD5 var libsmd5 = jQuery.Deferred(); if (window.ArrayBuffer && self.options.cdns.sparkmd5) { libs.push(libsmd5); self.loadScript([self.options.cdns.sparkmd5], function(res) { var SparkMD5 = res || window.SparkMD5; window.SparkMD5 && delete window.SparkMD5; libsmd5.resolve(); if (SparkMD5) { hashLibs.SparkMD5 = SparkMD5; } }, { tryRequire: true, error: function() { libsmd5.reject(); } } ); } // load jsSha var libssha = jQuery.Deferred(); if (window.ArrayBuffer && self.options.cdns.jssha) { libs.push(libssha); self.loadScript([self.options.cdns.jssha], function(res) { var jsSHA = res || window.jsSHA; window.jsSHA && delete window.jsSHA; libssha.resolve(); if (jsSHA) { hashLibs.jsSHA = jsSHA; } }, { tryRequire: true, error: function() { libssha.reject(); } } ); } } jQuery.when.apply(null, libs).always(function() { if (Object.keys(hashLibs).length) { req = self.getContents(target).done(function(arrayBuffer) { var arr = (arrayBuffer instanceof ArrayBuffer && arrayBuffer.byteLength > 0)? self.sliceArrayBuffer(arrayBuffer, 1048576) : false, i; if (needs.md5 && hashLibs.SparkMD5) { jobs.push(function() { var job = md5Calc(arr).done(function() { var f; res.md5 = job._md5; if (f = self.file(target)) { f.md5 = job._md5; } dfd.notify(res); }); dfd.fail(function() { job.reject(); }); return job; }); } if (hashLibs.jsSHA) { jQuery.each(['1', '224', '256', '384', '512', '3-224', '3-256', '3-384', '3-512', 'ke128', 'ke256'], function(i, v) { if (needs['sha' + v]) { jobs.push(function() { var job = shaCalc(arr, v).done(function() { var f; res['sha' + v] = job._sha; if (f = self.file(target)) { f['sha' + v] = job._sha; } dfd.notify(res); }); return job; }); } }); } if (jobs.length) { self.sequence(jobs).always(function() { dfd.resolve(res); }); } else { dfd.reject(); } }).fail(function() { dfd.reject(); }); } else { dfd.reject(); } }); return dfd; }; })(this); /** * Parse error value to display * * @param Mixed error * @return Mixed parsed error */ this.parseError = function(error) { var arg = error; if (jQuery.isPlainObject(arg)) { arg = arg.error; } return arg; }; /** * Alias for this.trigger('error', {error : 'message'}) * * @param String error message * @return elFinder **/ this.error = function() { var arg = arguments[0], opts = arguments[1] || null, err; if (arguments.length == 1 && typeof(arg) === 'function') { return self.bind('error', arg); } else { err = this.parseError(arg); return (err === true || !err)? this : self.trigger('error', {error: err, opts : opts}); } }; // create bind/trigger aliases for build-in events jQuery.each(events, function(i, name) { self[name] = function() { var arg = arguments[0]; return arguments.length == 1 && typeof(arg) == 'function' ? self.bind(name, arg) : self.trigger(name, jQuery.isPlainObject(arg) ? arg : {}); }; }); // bind core event handlers this .enable(function() { if (!enabled && self.api && self.visible() && self.ui.overlay.is(':hidden') && ! node.children('.elfinder-dialog.' + self.res('class', 'editing') + ':visible').length) { enabled = true; document.activeElement && document.activeElement.blur(); node.removeClass('elfinder-disabled'); } }) .disable(function() { prevEnabled = enabled; enabled = false; node.addClass('elfinder-disabled'); }) .open(function() { selected = []; }) .select(function(e) { var cnt = 0, unselects = []; selected = jQuery.grep(e.data.selected || e.data.value|| [], function(hash) { if (unselects.length || (self.maxTargets && ++cnt > self.maxTargets)) { unselects.push(hash); return false; } else { return files[hash] ? true : false; } }); if (unselects.length) { self.trigger('unselectfiles', {files: unselects, inselect: true}); self.toast({mode: 'warning', msg: self.i18n(['errMaxTargets', self.maxTargets])}); } }) .error(function(e) { var opts = { cssClass : 'elfinder-dialog-error', title : self.i18n('error'), resizable : false, destroyOnClose : true, buttons : {} }, node = self.getUI(), cnt = node.children('.elfinder-dialog-error').length, last, counter; if (cnt < self.options.maxErrorDialogs) { opts.buttons[self.i18n(self.i18n('btnClose'))] = function() { jQuery(this).elfinderdialog('close'); }; if (e.data.opts && jQuery.isPlainObject(e.data.opts)) { Object.assign(opts, e.data.opts); } self.dialog(''+self.i18n(e.data.error), opts); } else { last = node.children('.elfinder-dialog-error:last').children('.ui-dialog-content:first'); counter = last.children('.elfinder-error-counter'); if (counter.length) { counter.data('cnt', parseInt(counter.data('cnt')) + 1).html(self.i18n(['moreErrors', counter.data('cnt')])); } else { counter = jQuery(''+ self.i18n(['moreErrors', 1]) +'').data('cnt', 1); last.append('
                      ', counter); } } }) .bind('tmb', function(e) { jQuery.each(e.data.images||[], function(hash, tmb) { if (files[hash]) { files[hash].tmb = tmb; } }); }) .bind('searchstart', function(e) { Object.assign(self.searchStatus, e.data); self.searchStatus.state = 1; }) .bind('search', function(e) { self.searchStatus.state = 2; }) .bind('searchend', function() { self.searchStatus.state = 0; self.searchStatus.ininc = false; self.searchStatus.mixed = false; }) .bind('canMakeEmptyFile', function(e) { var data = e.data, obj = {}; if (data && Array.isArray(data.mimes)) { if (!data.unshift) { obj = self.mimesCanMakeEmpty; } jQuery.each(data.mimes, function() { if (!obj[this]) { obj[this] = self.mimeTypes[this]; } }); if (data.unshift) { self.mimesCanMakeEmpty = Object.assign(obj, self.mimesCanMakeEmpty); } } }) .bind('themechange', function() { requestAnimationFrame(function() { self.trigger('uiresize'); }); }) ; // We listen and emit a sound on delete according to option if (true === this.options.sound) { this.bind('playsound', function(e) { var play = beeper.canPlayType && beeper.canPlayType('audio/wav; codecs="1"'), file = e.data && e.data.soundFile; play && file && play != '' && play != 'no' && jQuery(beeper).html('')[0].play(); }); } // bind external event handlers jQuery.each(this.options.handlers, function(event, callback) { self.bind(event, callback); }); /** * History object. Store visited folders * * @type Object **/ this.history = new this.history(this); /** * Root hashed * * @type Object */ this.roots = {}; /** * leaf roots * * @type Object */ this.leafRoots = {}; this.volumeExpires = {}; /** * Loaded commands * * @type Object **/ this._commands = {}; if (!Array.isArray(this.options.commands)) { this.options.commands = []; } if (jQuery.inArray('*', this.options.commands) !== -1) { this.options.commands = Object.keys(this.commands); } /** * UI command map of cwd volume ( That volume driver option `uiCmdMap` ) * * @type Object **/ this.commandMap = {}; /** * cwd options of each volume * key: volumeid * val: options object * * @type Object */ this.volOptions = {}; /** * Has volOptions data * * @type Boolean */ this.hasVolOptions = false; /** * Hash of trash holders * key: trash folder hash * val: source volume hash * * @type Object */ this.trashes = {}; /** * cwd options of each folder/file * key: hash * val: options object * * @type Object */ this.optionsByHashes = {}; /** * UI Auto Hide Functions * Each auto hide function mast be call to `fm.trigger('uiautohide')` at end of process * * @type Array **/ this.uiAutoHide = []; // trigger `uiautohide` this.one('open', function() { if (self.uiAutoHide.length) { setTimeout(function() { self.trigger('uiautohide'); }, 500); } }); // Auto Hide Functions sequential processing start this.bind('uiautohide', function() { if (self.uiAutoHide.length) { self.uiAutoHide.shift()(); } }); if (this.options.width) { width = this.options.width; } if (this.options.height) { height = this.options.height; } if (this.options.heightBase) { heightBase = jQuery(this.options.heightBase); } if (this.options.soundPath) { soundPath = this.options.soundPath.replace(/\/+$/, '') + '/'; } else { soundPath = this.baseUrl + soundPath; } self.one('opendone', function() { var tm; // attach events to document jQuery(document) // disable elfinder on click outside elfinder .on('click.'+namespace, function(e) { enabled && ! self.options.enableAlways && !jQuery(e.target).closest(node).length && self.disable(); }) // exec shortcuts .on(keydown+' '+keypress+' '+keyup+' '+mousedown, execShortcut); // attach events to window self.options.useBrowserHistory && jQuery(window) .on('popstate.' + namespace, function(ev) { var state = ev.originalEvent.state || {}, hasThash = state.thash? true : false, dialog = node.find('.elfinder-frontmost:visible'), input = node.find('.elfinder-navbar-dir,.elfinder-cwd-filename').find('input,textarea'), onOpen, toast; if (!hasThash) { state = { thash: self.cwd().hash }; // scroll to elFinder node jQuery('html,body').animate({ scrollTop: node.offset().top }); } if (dialog.length || input.length) { history.pushState(state, null, location.pathname + location.search + '#elf_' + state.thash); if (dialog.length) { if (!dialog.hasClass(self.res('class', 'preventback'))) { if (dialog.hasClass('elfinder-contextmenu')) { jQuery(document).trigger(jQuery.Event('keydown', { keyCode: jQuery.ui.keyCode.ESCAPE, ctrlKey : false, shiftKey : false, altKey : false, metaKey : false })); } else if (dialog.hasClass('elfinder-dialog')) { dialog.elfinderdialog('close'); } else { dialog.trigger('close'); } } } else { input.trigger(jQuery.Event('keydown', { keyCode: jQuery.ui.keyCode.ESCAPE, ctrlKey : false, shiftKey : false, altKey : false, metaKey : false })); } } else { if (hasThash) { !jQuery.isEmptyObject(self.files()) && self.request({ data : {cmd : 'open', target : state.thash, onhistory : 1}, notify : {type : 'open', cnt : 1, hideCnt : true}, syncOnFail : true }); } else { onOpen = function() { toast.trigger('click'); }; self.one('open', onOpen, true); toast = self.toast({ msg: self.i18n('pressAgainToExit'), onHidden: function() { self.unbind('open', onOpen); history.pushState(state, null, location.pathname + location.search + '#elf_' + state.thash); } }); } } }); jQuery(window).on('resize.' + namespace, function(e){ if (e.target === this) { tm && cancelAnimationFrame(tm); tm = requestAnimationFrame(function() { var prv = node.data('resizeSize') || {w: 0, h: 0}, size = {w: Math.round(node.width()), h: Math.round(node.height())}; node.data('resizeSize', size); if (size.w !== prv.w || size.h !== prv.h) { node.trigger('resize'); self.trigger('resize', {width : size.w, height : size.h}); } }); } }) .on('beforeunload.' + namespace,function(e){ var msg, cnt; if (node.is(':visible')) { if (self.ui.notify.children().length && jQuery.inArray('hasNotifyDialog', self.options.windowCloseConfirm) !== -1) { msg = self.i18n('ntfsmth'); } else if (node.find('.'+self.res('class', 'editing')).length && jQuery.inArray('editingFile', self.options.windowCloseConfirm) !== -1) { msg = self.i18n('editingFile'); } else if ((cnt = Object.keys(self.selected()).length) && jQuery.inArray('hasSelectedItem', self.options.windowCloseConfirm) !== -1) { msg = self.i18n('hasSelected', ''+cnt); } else if ((cnt = Object.keys(self.clipboard()).length) && jQuery.inArray('hasClipboardData', self.options.windowCloseConfirm) !== -1) { msg = self.i18n('hasClipboard', ''+cnt); } if (msg) { e.returnValue = msg; return msg; } } self.trigger('unload'); }); // bind window onmessage for CORS jQuery(window).on('message.' + namespace, function(e){ var res = e.originalEvent || null, obj, data; if (res && self.uploadURL.indexOf(res.origin) === 0) { try { obj = JSON.parse(res.data); data = obj.data || null; if (data) { if (data.error) { if (obj.bind) { self.trigger(obj.bind+'fail', data); } self.error(data.error); } else { data.warning && self.error(data.warning); self.updateCache(data); data.removed && data.removed.length && self.remove(data); data.added && data.added.length && self.add(data); data.changed && data.changed.length && self.change(data); if (obj.bind) { self.trigger(obj.bind, data); self.trigger(obj.bind+'done'); } data.sync && self.sync(); } } } catch (e) { self.sync(); } } }); // elFinder enable always if (self.options.enableAlways) { jQuery(window).on('focus.' + namespace, function(e){ (e.target === this) && self.enable(); }); if (inFrame) { jQuery(window.top).on('focus.' + namespace, function() { if (self.enable() && (! parentIframe || parentIframe.is(':visible'))) { requestAnimationFrame(function() { jQuery(window).trigger('focus'); }); } }); } } else if (inFrame) { jQuery(window).on('blur.' + namespace, function(e){ enabled && e.target === this && self.disable(); }); } // return focus to the window on click (elFInder in the frame) if (inFrame) { node.on('click', function(e) { jQuery(window).trigger('focus'); }); } // elFinder to enable by mouse over if (self.options.enableByMouseOver) { node.on('mouseenter touchstart', function(e) { (inFrame) && jQuery(window).trigger('focus'); ! self.enabled() && self.enable(); }); } }); // store instance in node node[0].elfinder = this; // auto load language file dfrdsBeforeBootup.push((function() { var lang = self.lang, langJs = self.i18nBaseUrl + 'elfinder.' + lang + '.js', dfd = jQuery.Deferred().done(function() { if (self.i18[lang]) { self.lang = lang; } self.trigger('i18load'); i18n = self.lang === 'en' ? self.i18['en'] : jQuery.extend(true, {}, self.i18['en'], self.i18[self.lang]); }); if (!self.i18[lang]) { self.lang = 'en'; if (self.hasRequire) { require([langJs], function() { dfd.resolve(); }, function() { dfd.resolve(); }); } else { self.loadScript([langJs], function() { dfd.resolve(); }, { loadType: 'tag', error : function() { dfd.resolve(); } }); } } else { dfd.resolve(); } return dfd; })()); // elFinder boot up function bootUp = function() { var columnNames; /** * i18 messages * * @type Object **/ self.messages = i18n.messages; // check jquery ui if (!(jQuery.fn.selectable && jQuery.fn.draggable && jQuery.fn.droppable && jQuery.fn.resizable && jQuery.fn.slider)) { return alert(self.i18n('errJqui')); } // check node if (!node.length) { return alert(self.i18n('errNode')); } // check connector url if (!self.options.url) { return alert(self.i18n('errURL')); } // column key/name map for fm.getColumnName() columnNames = Object.assign({ name : self.i18n('name'), perm : self.i18n('perms'), date : self.i18n('modify'), size : self.i18n('size'), kind : self.i18n('kind'), modestr : self.i18n('mode'), modeoct : self.i18n('mode'), modeboth : self.i18n('mode') }, self.options.uiOptions.cwd.listView.columnsCustomName); /** * Gets the column name of cwd list view * * @param String key The key * @return String The column name. */ self.getColumnName = function(key) { return columnNames[key] || self.i18n(key); }; /** * Interface direction * * @type String * @default "ltr" **/ self.direction = i18n.direction; /** * Date/time format * * @type String * @default "m.d.Y" **/ self.dateFormat = self.options.dateFormat || i18n.dateFormat; /** * Date format like "Yesterday 10:20:12" * * @type String * @default "{day} {time}" **/ self.fancyFormat = self.options.fancyDateFormat || i18n.fancyDateFormat; /** * Date format for if upload file has not original unique name * e.g. Clipboard image data, Image data taken with iOS * * @type String * @default "ymd-His" **/ self.nonameDateFormat = (self.options.nonameDateFormat || i18n.nonameDateFormat).replace(/[\/\\]/g, '_'); /** * Css classes * * @type String **/ self.cssClass = 'ui-helper-reset ui-helper-clearfix ui-widget ui-widget-content ui-corner-all elfinder elfinder-' +(self.direction == 'rtl' ? 'rtl' : 'ltr') +(self.UA.Touch? (' elfinder-touch' + (self.options.resizable ? ' touch-punch' : '')) : '') +(self.UA.Mobile? ' elfinder-mobile' : '') +(self.UA.iOS? ' elfinder-ios' : '') +' '+self.options.cssClass; // prepare node node.addClass(self.cssClass) .on(mousedown, function() { !enabled && self.enable(); }); // draggable closure (function() { var ltr, wzRect, wzBottom, wzBottom2, nodeStyle, keyEvt = keydown + 'draggable' + ' keyup.' + namespace + 'draggable'; /** * Base draggable options * * @type Object **/ self.draggable = { appendTo : node, addClasses : false, distance : 4, revert : true, refreshPositions : false, cursor : 'crosshair', cursorAt : {left : 50, top : 47}, scroll : false, start : function(e, ui) { var helper = ui.helper, targets = jQuery.grep(helper.data('files')||[], function(h) { if (h) { remember[h] = true; return true; } return false; }), locked = false, cnt, h; // fix node size nodeStyle = node.attr('style'); node.width(node.width()).height(node.height()); // set var for drag() ltr = (self.direction === 'ltr'); wzRect = self.getUI('workzone').data('rectangle'); wzBottom = wzRect.top + wzRect.height; wzBottom2 = wzBottom - self.getUI('navdock').outerHeight(true); self.draggingUiHelper = helper; cnt = targets.length; while (cnt--) { h = targets[cnt]; if (files[h].locked) { locked = true; helper.data('locked', true); break; } } !locked && self.trigger('lockfiles', {files : targets}); helper.data('autoScrTm', setInterval(function() { if (helper.data('autoScr')) { self.autoScroll[helper.data('autoScr')](helper.data('autoScrVal')); } }, 50)); }, drag : function(e, ui) { var helper = ui.helper, autoScr, autoUp, bottom; if ((autoUp = wzRect.top > e.pageY) || wzBottom2 < e.pageY) { if (wzRect.cwdEdge > e.pageX) { autoScr = (ltr? 'navbar' : 'cwd') + (autoUp? 'Up' : 'Down'); } else { autoScr = (ltr? 'cwd' : 'navbar') + (autoUp? 'Up' : 'Down'); } if (!autoUp) { if (autoScr.substr(0, 3) === 'cwd') { if (wzBottom < e.pageY) { bottom = wzBottom; } else { autoScr = null; } } else { bottom = wzBottom2; } } if (autoScr) { helper.data('autoScr', autoScr); helper.data('autoScrVal', Math.pow((autoUp? wzRect.top - e.pageY : e.pageY - bottom), 1.3)); } } if (! autoScr) { if (helper.data('autoScr')) { helper.data('refreshPositions', 1).data('autoScr', null); } } if (helper.data('refreshPositions') && jQuery(this).elfUiWidgetInstance('draggable')) { if (helper.data('refreshPositions') > 0) { jQuery(this).draggable('option', { refreshPositions : true, elfRefresh : true }); helper.data('refreshPositions', -1); } else { jQuery(this).draggable('option', { refreshPositions : false, elfRefresh : false }); helper.data('refreshPositions', null); } } }, stop : function(e, ui) { var helper = ui.helper, files; jQuery(document).off(keyEvt); jQuery(this).elfUiWidgetInstance('draggable') && jQuery(this).draggable('option', { refreshPositions : false }); self.draggingUiHelper = null; self.trigger('focus').trigger('dragstop'); if (! helper.data('droped')) { files = jQuery.grep(helper.data('files')||[], function(h) { return h? true : false ;}); self.trigger('unlockfiles', {files : files}); self.trigger('selectfiles', {files : self.selected()}); } self.enable(); // restore node style node.attr('style', nodeStyle); helper.data('autoScrTm') && clearInterval(helper.data('autoScrTm')); }, helper : function(e, ui) { var element = this.id ? jQuery(this) : jQuery(this).parents('[id]:first'), helper = jQuery('
                      '), icon = function(f) { var mime = f.mime, i, tmb = self.tmb(f); i = '
                      '; if (tmb) { i = jQuery(i).addClass(tmb.className).css('background-image', "url('"+tmb.url+"')").get(0).outerHTML; } else if (f.icon) { i = jQuery(i).css(self.getIconStyle(f, true)).get(0).outerHTML; } if (f.csscls) { i = '
                      ' + i + '
                      '; } return i; }, hashes, l, ctr; self.draggingUiHelper && self.draggingUiHelper.stop(true, true); self.trigger('dragstart', {target : element[0], originalEvent : e}, true); hashes = element.hasClass(self.res('class', 'cwdfile')) ? self.selected() : [self.navId2Hash(element.attr('id'))]; helper.append(icon(files[hashes[0]])).data('files', hashes).data('locked', false).data('droped', false).data('namespace', namespace).data('dropover', 0); if ((l = hashes.length) > 1) { helper.append(icon(files[hashes[l-1]]) + ''+l+''); } jQuery(document).on(keyEvt, function(e){ var chk = (e.shiftKey||e.ctrlKey||e.metaKey); if (ctr !== chk) { ctr = chk; if (helper.is(':visible') && helper.data('dropover') && ! helper.data('droped')) { helper.toggleClass('elfinder-drag-helper-plus', helper.data('locked')? true : ctr); self.trigger(ctr? 'unlockfiles' : 'lockfiles', {files : hashes, helper: helper}); } } }); return helper; } }; })(); // in getFileCallback set - change default actions on double click/enter/ctrl+enter if (self.commands.getfile) { if (typeof(self.options.getFileCallback) == 'function') { self.bind('dblclick', function(e) { e.preventDefault(); self.exec('getfile').fail(function() { self.exec('open', e.data && e.data.file? [ e.data.file ]: void(0)); }); }); self.shortcut({ pattern : 'enter', description : self.i18n('cmdgetfile'), callback : function() { self.exec('getfile').fail(function() { self.exec(self.OS == 'mac' ? 'rename' : 'open'); }); } }) .shortcut({ pattern : 'ctrl+enter', description : self.i18n(self.OS == 'mac' ? 'cmdrename' : 'cmdopen'), callback : function() { self.exec(self.OS == 'mac' ? 'rename' : 'open'); } }); } else { self.options.getFileCallback = null; } } // load commands jQuery.each(self.commands, function(name, cmd) { var proto = Object.assign({}, cmd.prototype), extendsCmd, opts; if (jQuery.isFunction(cmd) && !self._commands[name] && (cmd.prototype.forceLoad || jQuery.inArray(name, self.options.commands) !== -1)) { extendsCmd = cmd.prototype.extendsCmd || ''; if (extendsCmd) { if (jQuery.isFunction(self.commands[extendsCmd])) { cmd.prototype = Object.assign({}, base, new self.commands[extendsCmd](), cmd.prototype); } else { return true; } } else { cmd.prototype = Object.assign({}, base, cmd.prototype); } self._commands[name] = new cmd(); cmd.prototype = proto; opts = self.options.commandsOptions[name] || {}; if (extendsCmd && self.options.commandsOptions[extendsCmd]) { opts = jQuery.extend(true, {}, self.options.commandsOptions[extendsCmd], opts); } self._commands[name].setup(name, opts); // setup linked commands if (self._commands[name].linkedCmds.length) { jQuery.each(self._commands[name].linkedCmds, function(i, n) { var lcmd = self.commands[n]; if (jQuery.isFunction(lcmd) && !self._commands[n]) { lcmd.prototype = base; self._commands[n] = new lcmd(); self._commands[n].setup(n, self.options.commandsOptions[n]||{}); } }); } } }); /** * UI nodes * * @type Object **/ self.ui = { // container for nav panel and current folder container workzone : jQuery('
                      ').appendTo(node).elfinderworkzone(self), // container for folders tree / places navbar : jQuery('
                      ').appendTo(node).elfindernavbar(self, self.options.uiOptions.navbar || {}), // container for for preview etc at below the navbar navdock : jQuery('
                      ').appendTo(node).elfindernavdock(self, self.options.uiOptions.navdock || {}), // contextmenu contextmenu : jQuery('
                      ').appendTo(node).elfindercontextmenu(self), // overlay overlay : jQuery('
                      ').appendTo(node).elfinderoverlay({ show : function() { self.disable(); }, hide : function() { prevEnabled && self.enable(); } }), // current folder container cwd : jQuery('
                      ').appendTo(node).elfindercwd(self, self.options.uiOptions.cwd || {}), // notification dialog window notify : self.dialog('', { cssClass : 'elfinder-dialog-notify', position : self.options.notifyDialog.position, absolute : true, resizable : false, autoOpen : false, closeOnEscape : false, title : ' ', width : self.options.notifyDialog.width? parseInt(self.options.notifyDialog.width) : null, minHeight : null }), statusbar : jQuery('
                      ').hide().appendTo(node), toast : jQuery('
                      ').appendTo(node), bottomtray : jQuery('
                      ').appendTo(node) }; self.trigger('uiready'); // load required ui jQuery.each(self.options.ui || [], function(i, ui) { var name = 'elfinder'+ui, opts = self.options.uiOptions[ui] || {}; if (!self.ui[ui] && jQuery.fn[name]) { // regist to self.ui before make instance self.ui[ui] = jQuery('<'+(opts.tag || 'div')+'/>').appendTo(node); self.ui[ui][name](self, opts); } }); // update size self.resize(width, height); // make node resizable if (self.options.resizable) { node.resizable({ resize : function(e, ui) { self.resize(ui.size.width, ui.size.height); }, handles : 'se', minWidth : 300, minHeight : 200 }); if (self.UA.Touch) { node.addClass('touch-punch'); } } (function() { var navbar = self.getUI('navbar'), cwd = self.getUI('cwd').parent(); self.autoScroll = { navbarUp : function(v) { navbar.scrollTop(Math.max(0, navbar.scrollTop() - v)); }, navbarDown : function(v) { navbar.scrollTop(navbar.scrollTop() + v); }, cwdUp : function(v) { cwd.scrollTop(Math.max(0, cwd.scrollTop() - v)); }, cwdDown : function(v) { cwd.scrollTop(cwd.scrollTop() + v); } }; })(); // Swipe on the touch devices to show/hide of toolbar or navbar if (self.UA.Touch) { (function() { var lastX, lastY, nodeOffset, nodeWidth, nodeTop, navbarW, toolbarH, navbar = self.getUI('navbar'), toolbar = self.getUI('toolbar'), moveEv = 'touchmove.stopscroll', moveTm, moveUpOn = function(e) { var touches = e.originalEvent.touches || [{}], y = touches[0].pageY || null; if (!lastY || y < lastY) { e.preventDefault(); moveTm && clearTimeout(moveTm); } }, moveDownOn = function(e) { e.preventDefault(); moveTm && clearTimeout(moveTm); }, moveOff = function() { moveTm = setTimeout(function() { node.off(moveEv); }, 100); }, handleW, handleH = 50; navbar = navbar.children().length? navbar : null; toolbar = toolbar.length? toolbar : null; node.on('touchstart touchmove touchend', function(e) { if (e.type === 'touchend') { lastX = false; lastY = false; moveOff(); return; } var touches = e.originalEvent.touches || [{}], x = touches[0].pageX || null, y = touches[0].pageY || null, ltr = (self.direction === 'ltr'), navbarMode, treeWidth, swipeX, moveX, toolbarT, mode; if (x === null || y === null || (e.type === 'touchstart' && touches.length > 1)) { return; } if (e.type === 'touchstart') { nodeOffset = node.offset(); nodeWidth = node.width(); if (navbar) { lastX = false; if (navbar.is(':hidden')) { if (! handleW) { handleW = Math.max(50, nodeWidth / 10); } if ((ltr? (x - nodeOffset.left) : (nodeWidth + nodeOffset.left - x)) < handleW) { lastX = x; } } else if (! e.originalEvent._preventSwipeX) { navbarW = navbar.width(); if (ltr) { swipeX = (x < nodeOffset.left + navbarW); } else { swipeX = (x > nodeOffset.left + nodeWidth - navbarW); } if (swipeX) { handleW = Math.max(50, nodeWidth / 10); lastX = x; } else { lastX = false; } } } if (toolbar) { lastY = false; if (! e.originalEvent._preventSwipeY) { toolbarH = toolbar.height(); nodeTop = nodeOffset.top; if (y - nodeTop < (toolbar.is(':hidden')? handleH : (toolbarH + 30))) { lastY = y; node.on(moveEv, toolbar.is(':hidden')? moveDownOn: moveUpOn); } } } } else { if (navbar && lastX !== false) { navbarMode = (ltr? (lastX > x) : (lastX < x))? 'navhide' : 'navshow'; moveX = Math.abs(lastX - x); if (navbarMode === 'navhide' && moveX > navbarW * 0.6 || (moveX > (navbarMode === 'navhide'? navbarW / 3 : 45) && (navbarMode === 'navshow' || (ltr? x < nodeOffset.left + 20 : x > nodeOffset.left + nodeWidth - 20) )) ) { self.getUI('navbar').trigger(navbarMode, {handleW: handleW}); lastX = false; } } if (toolbar && lastY !== false ) { toolbarT = toolbar.offset().top; if (Math.abs(lastY - y) > Math.min(45, toolbarH / 3)) { mode = (lastY > y)? 'slideUp' : 'slideDown'; if (mode === 'slideDown' || toolbarT + 20 > y) { if (toolbar.is(mode === 'slideDown' ? ':hidden' : ':visible')) { toolbar.stop(true, true).trigger('toggle', {duration: 100, handleH: handleH}); } lastY = false; } } } } }); })(); } if (self.dragUpload) { // add event listener for HTML5 DnD upload (function() { var isin = function(e) { return (e.target.nodeName !== 'TEXTAREA' && e.target.nodeName !== 'INPUT' && jQuery(e.target).closest('div.ui-dialog-content').length === 0); }, ent = 'native-drag-enter', disable = 'native-drag-disable', c = 'class', navdir = self.res(c, 'navdir'), droppable = self.res(c, 'droppable'), dropover = self.res(c, 'adroppable'), arrow = self.res(c, 'navarrow'), clDropActive = self.res(c, 'adroppable'), wz = self.getUI('workzone'), ltr = (self.direction === 'ltr'), clearTm = function() { autoScrTm && cancelAnimationFrame(autoScrTm); autoScrTm = null; }, wzRect, autoScrFn, autoScrTm; node.on('dragenter', function(e) { clearTm(); if (isin(e)) { e.preventDefault(); e.stopPropagation(); wzRect = wz.data('rectangle'); } }) .on('dragleave', function(e) { clearTm(); if (isin(e)) { e.preventDefault(); e.stopPropagation(); } }) .on('dragover', function(e) { var autoUp; if (isin(e)) { e.preventDefault(); e.stopPropagation(); e.originalEvent.dataTransfer.dropEffect = 'none'; if (! autoScrTm) { autoScrTm = requestAnimationFrame(function() { var wzBottom = wzRect.top + wzRect.height, wzBottom2 = wzBottom - self.getUI('navdock').outerHeight(true), fn; if ((autoUp = e.pageY < wzRect.top) || e.pageY > wzBottom2 ) { if (wzRect.cwdEdge > e.pageX) { fn = (ltr? 'navbar' : 'cwd') + (autoUp? 'Up' : 'Down'); } else { fn = (ltr? 'cwd' : 'navbar') + (autoUp? 'Up' : 'Down'); } if (!autoUp) { if (fn.substr(0, 3) === 'cwd') { if (wzBottom < e.pageY) { wzBottom2 = wzBottom; } else { fn = ''; } } } fn && self.autoScroll[fn](Math.pow((autoUp? wzRect.top - e.pageY : e.pageY - wzBottom2), 1.3)); } autoScrTm = null; }); } } else { clearTm(); } }) .on('drop', function(e) { clearTm(); if (isin(e)) { e.stopPropagation(); e.preventDefault(); } }); node.on('dragenter', '.native-droppable', function(e){ if (e.originalEvent.dataTransfer) { var $elm = jQuery(e.currentTarget), id = e.currentTarget.id || null, cwd = null, elfFrom; if (!id) { // target is cwd cwd = self.cwd(); $elm.data(disable, false); try { jQuery.each(e.originalEvent.dataTransfer.types, function(i, v){ if (v.substr(0, 13) === 'elfinderfrom:') { elfFrom = v.substr(13).toLowerCase(); } }); } catch(e) {} } if (!cwd || (cwd.write && (!elfFrom || elfFrom !== (window.location.href + cwd.hash).toLowerCase()))) { e.preventDefault(); e.stopPropagation(); $elm.data(ent, true); $elm.addClass(clDropActive); } else { $elm.data(disable, true); } } }) .on('dragleave', '.native-droppable', function(e){ if (e.originalEvent.dataTransfer) { var $elm = jQuery(e.currentTarget); e.preventDefault(); e.stopPropagation(); if ($elm.data(ent)) { $elm.data(ent, false); } else { $elm.removeClass(clDropActive); } } }) .on('dragover', '.native-droppable', function(e){ if (e.originalEvent.dataTransfer) { var $elm = jQuery(e.currentTarget); e.preventDefault(); e.stopPropagation(); e.originalEvent.dataTransfer.dropEffect = $elm.data(disable)? 'none' : 'copy'; $elm.data(ent, false); } }) .on('drop', '.native-droppable', function(e){ if (e.originalEvent && e.originalEvent.dataTransfer) { var $elm = jQuery(e.currentTarget), id; e.preventDefault(); e.stopPropagation(); $elm.removeClass(clDropActive); if (e.currentTarget.id) { id = $elm.hasClass(navdir)? self.navId2Hash(e.currentTarget.id) : self.cwdId2Hash(e.currentTarget.id); } else { id = self.cwd().hash; } e.originalEvent._target = id; self.exec('upload', {dropEvt: e.originalEvent, target: id}, void 0, id); } }); })(); } // trigger event cssloaded if cddAutoLoad disabled if (self.cssloaded === null) { // check css loaded and remove hide (function() { var loaded = function() { if (node.data('cssautoloadHide')) { node.data('cssautoloadHide').remove(); node.removeData('cssautoloadHide'); } self.cssloaded = true; requestAnimationFrame(function() { self.trigger('cssloaded'); }); }, cnt, fi; if (node.css('visibility') === 'hidden') { cnt = 1000; // timeout 10 secs fi = setInterval(function() { if (--cnt < 0 || node.css('visibility') !== 'hidden') { clearInterval(fi); loaded(); } }, 10); } else { loaded(); } })(); } else { self.cssloaded = true; self.trigger('cssloaded'); } // calculate elFinder node z-index self.zIndexCalc(); // send initial request and start to pray >_< self.trigger('init') .request({ data : {cmd : 'open', target : self.startDir(), init : 1, tree : 1}, preventDone : true, notify : {type : 'open', cnt : 1, hideCnt : true}, freeze : true }) .fail(function() { self.trigger('fail').disable().lastDir(''); listeners = {}; shortcuts = {}; jQuery(document).add(node).off('.'+namespace); self.trigger = function() { }; }) .done(function(data) { var trashDisable = function(th) { var src = self.file(self.trashes[th]), d = self.options.debug, error; if (src && src.volumeid) { delete self.volOptions[src.volumeid].trashHash; } self.trashes[th] = false; self.debug('backend-error', 'Trash hash "'+th+'" was not found or not writable.'); }, toChkTh = {}; // regist rawStringDecoder if (self.options.rawStringDecoder) { self.registRawStringDecoder(self.options.rawStringDecoder); } // re-calculate elFinder node z-index self.zIndexCalc(); self.load().debug('api', self.api); // update ui's size after init node.trigger('resize'); // initial open open(data); self.trigger('open', data, false); self.trigger('opendone'); if (inFrame && self.options.enableAlways) { jQuery(window).trigger('focus'); } // check self.trashes jQuery.each(self.trashes, function(th) { var dir = self.file(th), src; if (! dir) { toChkTh[th] = true; } else if (dir.mime !== 'directory' || ! dir.write) { trashDisable(th); } }); if (Object.keys(toChkTh).length) { self.request({ data : {cmd : 'info', targets : Object.keys(toChkTh)}, preventDefault : true }).done(function(data) { if (data && data.files) { jQuery.each(data.files, function(i, dir) { if (dir.mime === 'directory' && dir.write) { delete toChkTh[dir.hash]; } }); } }).always(function() { jQuery.each(toChkTh, trashDisable); }); } // to enable / disable self[self.options.enableAlways? 'enable' : 'disable'](); }); // self.timeEnd('load'); // End of bootUp() }; // call bootCallback function with elFinder instance, extraObject - { dfrdsBeforeBootup: dfrdsBeforeBootup } if (bootCallback && typeof bootCallback === 'function') { self.bootCallback = bootCallback; bootCallback.call(node.get(0), self, { dfrdsBeforeBootup: dfrdsBeforeBootup }); } // call dfrdsBeforeBootup functions then boot up elFinder jQuery.when.apply(null, dfrdsBeforeBootup).done(function() { bootUp(); }).fail(function(error) { self.error(error); }); }; //register elFinder to global scope if (typeof toGlobal === 'undefined' || toGlobal) { window.elFinder = elFinder; } /** * Prototype * * @type Object */ elFinder.prototype = { uniqueid : 0, res : function(type, id) { return this.resources[type] && this.resources[type][id]; }, /** * User os. Required to bind native shortcuts for open/rename * * @type String **/ OS : navigator.userAgent.indexOf('Mac') !== -1 ? 'mac' : navigator.userAgent.indexOf('Win') !== -1 ? 'win' : 'other', /** * User browser UA. * jQuery.browser: version deprecated: 1.3, removed: 1.9 * * @type Object **/ UA : (function(){ var self = this, webkit = !document.unqueID && !window.opera && !window.sidebar && window.localStorage && 'WebkitAppearance' in document.documentElement.style, chrome = webkit && window.chrome, /*setRotated = function() { var a = ((screen && screen.orientation && screen.orientation.angle) || window.orientation || 0) + 0; if (a === -90) { a = 270; } UA.Angle = a; UA.Rotated = a % 180 === 0? false : true; },*/ UA = { // Browser IE <= IE 6 ltIE6 : typeof window.addEventListener == "undefined" && typeof document.documentElement.style.maxHeight == "undefined", // Browser IE <= IE 7 ltIE7 : typeof window.addEventListener == "undefined" && typeof document.querySelectorAll == "undefined", // Browser IE <= IE 8 ltIE8 : typeof window.addEventListener == "undefined" && typeof document.getElementsByClassName == "undefined", // Browser IE <= IE 9 ltIE9 : document.uniqueID && document.documentMode <= 9, // Browser IE <= IE 10 ltIE10 : document.uniqueID && document.documentMode <= 10, // Browser IE >= IE 11 gtIE11 : document.uniqueID && document.documentMode >= 11, IE : document.uniqueID, Firefox : window.sidebar, Opera : window.opera, Webkit : webkit, Chrome : chrome, Edge : (chrome && window.msCredentials)? true : false, Safari : webkit && !window.chrome, Mobile : typeof window.orientation != "undefined", Touch : typeof window.ontouchstart != "undefined", iOS : navigator.platform.match(/^iP(?:[ao]d|hone)/), Fullscreen : (typeof (document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen) !== 'undefined'), Angle : 0, Rotated : false, CSS : (function() { var aStyle = document.createElement('a').style, pStyle = document.createElement('p').style, css; css = 'position:sticky;position:-webkit-sticky;'; css += 'width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:max-content;'; aStyle.cssText = css; return { positionSticky : aStyle.position.indexOf('sticky')!==-1, widthMaxContent : aStyle.width.indexOf('max-content')!==-1, flex : typeof pStyle.flex !== 'undefined' }; })() }; return UA; })(), /** * Has RequireJS? * * @type Boolean */ hasRequire : (typeof define === 'function' && define.amd), /** * Current request command * * @type String */ currentReqCmd : '', /** * Current keyboard state * * @type Object */ keyState : {}, /** * Internationalization object * * @type Object */ i18 : { en : { translator : '', language : 'English', direction : 'ltr', dateFormat : 'd.m.Y H:i', fancyDateFormat : '$1 H:i', nonameDateFormat : 'ymd-His', messages : {} }, months : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], monthsShort : ['msJan', 'msFeb', 'msMar', 'msApr', 'msMay', 'msJun', 'msJul', 'msAug', 'msSep', 'msOct', 'msNov', 'msDec'], days : ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], daysShort : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] }, /** * File mimetype to kind mapping * * @type Object */ kinds : { 'unknown' : 'Unknown', 'directory' : 'Folder', 'group' : 'Selects', 'symlink' : 'Alias', 'symlink-broken' : 'AliasBroken', 'application/x-empty' : 'TextPlain', 'application/postscript' : 'Postscript', 'application/vnd.ms-office' : 'MsOffice', 'application/msword' : 'MsWord', 'application/vnd.ms-word' : 'MsWord', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' : 'MsWord', 'application/vnd.ms-word.document.macroEnabled.12' : 'MsWord', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' : 'MsWord', 'application/vnd.ms-word.template.macroEnabled.12' : 'MsWord', 'application/vnd.ms-excel' : 'MsExcel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' : 'MsExcel', 'application/vnd.ms-excel.sheet.macroEnabled.12' : 'MsExcel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' : 'MsExcel', 'application/vnd.ms-excel.template.macroEnabled.12' : 'MsExcel', 'application/vnd.ms-excel.sheet.binary.macroEnabled.12' : 'MsExcel', 'application/vnd.ms-excel.addin.macroEnabled.12' : 'MsExcel', 'application/vnd.ms-powerpoint' : 'MsPP', 'application/vnd.openxmlformats-officedocument.presentationml.presentation' : 'MsPP', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12' : 'MsPP', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' : 'MsPP', 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12' : 'MsPP', 'application/vnd.openxmlformats-officedocument.presentationml.template' : 'MsPP', 'application/vnd.ms-powerpoint.template.macroEnabled.12' : 'MsPP', 'application/vnd.ms-powerpoint.addin.macroEnabled.12' : 'MsPP', 'application/vnd.openxmlformats-officedocument.presentationml.slide' : 'MsPP', 'application/vnd.ms-powerpoint.slide.macroEnabled.12' : 'MsPP', 'application/pdf' : 'PDF', 'application/xml' : 'XML', 'application/vnd.oasis.opendocument.text' : 'OO', 'application/vnd.oasis.opendocument.text-template' : 'OO', 'application/vnd.oasis.opendocument.text-web' : 'OO', 'application/vnd.oasis.opendocument.text-master' : 'OO', 'application/vnd.oasis.opendocument.graphics' : 'OO', 'application/vnd.oasis.opendocument.graphics-template' : 'OO', 'application/vnd.oasis.opendocument.presentation' : 'OO', 'application/vnd.oasis.opendocument.presentation-template' : 'OO', 'application/vnd.oasis.opendocument.spreadsheet' : 'OO', 'application/vnd.oasis.opendocument.spreadsheet-template' : 'OO', 'application/vnd.oasis.opendocument.chart' : 'OO', 'application/vnd.oasis.opendocument.formula' : 'OO', 'application/vnd.oasis.opendocument.database' : 'OO', 'application/vnd.oasis.opendocument.image' : 'OO', 'application/vnd.openofficeorg.extension' : 'OO', 'application/x-shockwave-flash' : 'AppFlash', 'application/flash-video' : 'Flash video', 'application/x-bittorrent' : 'Torrent', 'application/javascript' : 'JS', 'application/rtf' : 'RTF', 'application/rtfd' : 'RTF', 'application/x-font-ttf' : 'TTF', 'application/x-font-otf' : 'OTF', 'application/x-rpm' : 'RPM', 'application/x-web-config' : 'TextPlain', 'application/xhtml+xml' : 'HTML', 'application/docbook+xml' : 'DOCBOOK', 'application/x-awk' : 'AWK', 'application/x-gzip' : 'GZIP', 'application/x-bzip2' : 'BZIP', 'application/x-xz' : 'XZ', 'application/zip' : 'ZIP', 'application/x-zip' : 'ZIP', 'application/x-rar' : 'RAR', 'application/x-tar' : 'TAR', 'application/x-7z-compressed' : '7z', 'application/x-jar' : 'JAR', 'text/plain' : 'TextPlain', 'text/x-php' : 'PHP', 'text/html' : 'HTML', 'text/javascript' : 'JS', 'text/css' : 'CSS', 'text/rtf' : 'RTF', 'text/rtfd' : 'RTF', 'text/x-c' : 'C', 'text/x-csrc' : 'C', 'text/x-chdr' : 'CHeader', 'text/x-c++' : 'CPP', 'text/x-c++src' : 'CPP', 'text/x-c++hdr' : 'CPPHeader', 'text/x-shellscript' : 'Shell', 'application/x-csh' : 'Shell', 'text/x-python' : 'Python', 'text/x-java' : 'Java', 'text/x-java-source' : 'Java', 'text/x-ruby' : 'Ruby', 'text/x-perl' : 'Perl', 'text/x-sql' : 'SQL', 'text/xml' : 'XML', 'text/x-comma-separated-values' : 'CSV', 'text/x-markdown' : 'Markdown', 'image/x-ms-bmp' : 'BMP', 'image/jpeg' : 'JPEG', 'image/gif' : 'GIF', 'image/png' : 'PNG', 'image/tiff' : 'TIFF', 'image/x-targa' : 'TGA', 'image/vnd.adobe.photoshop' : 'PSD', 'image/xbm' : 'XBITMAP', 'image/pxm' : 'PXM', 'audio/mpeg' : 'AudioMPEG', 'audio/midi' : 'AudioMIDI', 'audio/ogg' : 'AudioOGG', 'audio/mp4' : 'AudioMPEG4', 'audio/x-m4a' : 'AudioMPEG4', 'audio/wav' : 'AudioWAV', 'audio/x-mp3-playlist' : 'AudioPlaylist', 'video/x-dv' : 'VideoDV', 'video/mp4' : 'VideoMPEG4', 'video/mpeg' : 'VideoMPEG', 'video/x-msvideo' : 'VideoAVI', 'video/quicktime' : 'VideoMOV', 'video/x-ms-wmv' : 'VideoWM', 'video/x-flv' : 'VideoFlash', 'video/x-matroska' : 'VideoMKV', 'video/ogg' : 'VideoOGG' }, /** * File mimetype to file extention mapping * * @type Object * @see elFinder.mimetypes.js */ mimeTypes : {}, /** * Ajax request data validation rules * * @type Object */ rules : { defaults : function(data) { if (!data || (data.added && !Array.isArray(data.added)) || (data.removed && !Array.isArray(data.removed)) || (data.changed && !Array.isArray(data.changed))) { return false; } return true; }, open : function(data) { return data && data.cwd && data.files && jQuery.isPlainObject(data.cwd) && Array.isArray(data.files); }, tree : function(data) { return data && data.tree && Array.isArray(data.tree); }, parents : function(data) { return data && data.tree && Array.isArray(data.tree); }, tmb : function(data) { return data && data.images && (jQuery.isPlainObject(data.images) || Array.isArray(data.images)); }, upload : function(data) { return data && (jQuery.isPlainObject(data.added) || Array.isArray(data.added));}, search : function(data) { return data && data.files && Array.isArray(data.files); } }, /** * Commands costructors * * @type Object */ commands : {}, /** * Commands to add the item (space delimited) * * @type String */ cmdsToAdd : 'archive duplicate extract mkdir mkfile paste rm upload', parseUploadData : function(text) { var self = this, data; if (!jQuery.trim(text)) { return {error : ['errResponse', 'errDataEmpty']}; } try { data = JSON.parse(text); } catch (e) { return {error : ['errResponse', 'errDataNotJSON']}; } data = self.normalize(data); if (!self.validResponse('upload', data)) { return {error : (response.norError || ['errResponse'])}; } data.removed = jQuery.merge((data.removed || []), jQuery.map(data.added || [], function(f) { return self.file(f.hash)? f.hash : null; })); return data; }, iframeCnt : 0, uploads : { // xhr muiti uploading flag xhrUploading: false, // Timer of request fail to sync failSyncTm: null, // current chunkfail requesting chunk chunkfailReq: {}, // check file/dir exists checkExists: function(files, target, fm, isDir) { var dfrd = jQuery.Deferred(), names, renames = [], hashes = {}, chkFiles = [], cancel = function() { var i = files.length; while (--i > -1) { files[i]._remove = true; } }, resolve = function() { dfrd.resolve(renames, hashes); }, check = function() { var existed = [], exists = [], i, c, pathStr = target !== fm.cwd().hash? fm.path(target, true) + fm.option('separator', target) : '', confirm = function(ndx) { alert(1); var last = ndx == exists.length-1, opts = { cssClass : 'elfinder-confirm-upload', title : fm.i18n('cmdupload'), text : ['errExists', pathStr + exists[ndx].name, 'confirmRepl'], all : !last, accept : { label : 'btnYes', callback : function(all) { !last && !all ? confirm(++ndx) : resolve(); } }, reject : { label : 'btnNo', callback : function(all) { var i; if (all) { i = exists.length; while (ndx < i--) { files[exists[i].i]._remove = true; } } else { files[exists[ndx].i]._remove = true; } !last && !all ? confirm(++ndx) : resolve(); } }, cancel : { label : 'btnCancel', callback : function() { cancel(); resolve(); } }, buttons : [ { label : 'btnBackup', cssClass : 'elfinder-confirm-btn-backup', callback : function(all) { var i; if (all) { i = exists.length; while (ndx < i--) { renames.push(exists[i].name); } } else { renames.push(exists[ndx].name); } !last && !all ? confirm(++ndx) : resolve(); } } ] }; if (!isDir) { opts.buttons.push({ label : 'btnRename' + (last? '' : 'All'), cssClass : 'elfinder-confirm-btn-rename', callback : function() { renames = null; resolve(); } }); } if (fm.iframeCnt > 0) { delete opts.reject; } fm.confirm(opts); }; if (! fm.file(target).read) { // for dropbox type resolve(); return; } names = jQuery.map(files, function(file, i) { return file.name && (!fm.UA.iOS || file.name !== 'image.jpg')? {i: i, name: file.name} : null ;}); fm.request({ data : {cmd : 'ls', target : target, intersect : jQuery.map(names, function(item) { return item.name;})}, notify : {type : 'preupload', cnt : 1, hideCnt : true}, preventDefault : true }) .done(function(data) { var existedArr, cwdItems; if (data) { if (data.error) { cancel(); } else { if (fm.options.overwriteUploadConfirm && fm.option('uploadOverwrite', target)) { if (data.list) { if (Array.isArray(data.list)) { existed = data.list || []; } else { existedArr = []; existed = jQuery.map(data.list, function(n) { if (typeof n === 'string') { return n; } else { // support to >=2.1.11 plugin Normalizer, Sanitizer existedArr = existedArr.concat(n); return false; } }); if (existedArr.length) { existed = existed.concat(existedArr); } hashes = data.list; } exists = jQuery.grep(names, function(name){ return jQuery.inArray(name.name, existed) !== -1 ? true : false ; }); if (exists.length && existed.length && target == fm.cwd().hash) { cwdItems = jQuery.map(fm.files(target), function(file) { return file.name; } ); if (jQuery.grep(existed, function(n) { return jQuery.inArray(n, cwdItems) === -1? true : false; }).length){ fm.sync(); } } } } } } if (exists.length > 0) { confirm(0); } else { resolve(); } }) .fail(function(error) { cancel(); resolve(); error && fm.error(error); }); }; if (fm.api >= 2.1 && typeof files[0] == 'object') { check(); } else { resolve(); } return dfrd; }, // check droped contents checkFile : function(data, fm, target) { if (!!data.checked || data.type == 'files') { return data.files; } else if (data.type == 'data') { var dfrd = jQuery.Deferred(), scanDfd = jQuery.Deferred(), files = [], paths = [], dirctorys = [], processing = 0, items, mkdirs = [], cancel = false, toArray = function(list) { return Array.prototype.slice.call(list || [], 0); }, doScan = function(items) { var entry, readEntries, excludes = fm.options.folderUploadExclude[fm.OS] || null, length = items.length, check = function() { if (--processing < 1 && scanDfd.state() === 'pending') { scanDfd.resolve(); } }, pushItem = function(file) { if (! excludes || ! file.name.match(excludes)) { paths.push(entry.fullPath || ''); files.push(file); } check(); }, readEntries = function(dirReader) { var entries = [], read = function() { dirReader.readEntries(function(results) { if (cancel || !results.length) { for (var i = 0; i < entries.length; i++) { if (cancel) { scanDfd.reject(); break; } doScan([entries[i]]); } check(); } else { entries = entries.concat(toArray(results)); read(); } }, check); }; read(); }; processing++; for (var i = 0; i < length; i++) { if (cancel) { scanDfd.reject(); break; } entry = items[i]; if (entry) { if (entry.isFile) { processing++; entry.file(pushItem, check); } else if (entry.isDirectory) { if (fm.api >= 2.1) { processing++; mkdirs.push(entry.fullPath); readEntries(entry.createReader()); // Start reading dirs. } } } } check(); return scanDfd; }, hasDirs; items = jQuery.map(data.files.items, function(item){ return item.getAsEntry? item.getAsEntry() : item.webkitGetAsEntry(); }); jQuery.each(items, function(i, item) { if (item.isDirectory) { hasDirs = true; return false; } }); if (items.length > 0) { fm.uploads.checkExists(items, target, fm, hasDirs).done(function(renames, hashes){ var dfds = []; if (fm.options.overwriteUploadConfirm && fm.option('uploadOverwrite', target)) { if (renames === null) { data.overwrite = 0; renames = []; } items = jQuery.grep(items, function(item){ var i, bak, hash, dfd, hi; if (item.isDirectory && renames.length) { i = jQuery.inArray(item.name, renames); if (i !== -1) { renames.splice(i, 1); bak = fm.uniqueName(item.name + fm.options.backupSuffix , null, ''); jQuery.each(hashes, function(h, name) { if (item.name == name) { hash = h; return false; } }); if (! hash) { hash = fm.fileByName(item.name, target).hash; } fm.lockfiles({files : [hash]}); dfd = fm.request({ data : {cmd : 'rename', target : hash, name : bak}, notify : {type : 'rename', cnt : 1} }) .fail(function() { item._remove = true; fm.sync(); }) .always(function() { fm.unlockfiles({files : [hash]}); }); dfds.push(dfd); } } return !item._remove? true : false; }); } jQuery.when.apply($, dfds).done(function(){ var notifyto, msg, id = +new Date(); if (items.length > 0) { msg = fm.escape(items[0].name); if (items.length > 1) { msg += ' ... ' + items.length + fm.i18n('items'); } notifyto = setTimeout(function() { fm.notify({ type : 'readdir', id : id, cnt : 1, hideCnt: true, msg : fm.i18n('ntfreaddir') + ' (' + msg + ')', cancel: function() { cancel = true; } }); }, fm.options.notifyDelay); doScan(items).done(function() { notifyto && clearTimeout(notifyto); fm.notify({type : 'readdir', id: id, cnt : -1}); if (cancel) { dfrd.reject(); } else { dfrd.resolve([files, paths, renames, hashes, mkdirs]); } }).fail(function() { dfrd.reject(); }); } else { dfrd.reject(); } }); }); return dfrd.promise(); } else { return dfrd.reject(); } } else { var ret = []; var check = []; var str = data.files[0]; if (data.type == 'html') { var tmp = jQuery("").append(jQuery.parseHTML(str.replace(/ src=/ig, ' _elfsrc='))), atag; jQuery('img[_elfsrc]', tmp).each(function(){ var url, purl, self = jQuery(this), pa = self.closest('a'); if (pa && pa.attr('href') && pa.attr('href').match(/\.(?:jpe?g|gif|bmp|png)/i)) { purl = pa.attr('href'); } url = self.attr('_elfsrc'); if (url) { if (purl) { jQuery.inArray(purl, ret) == -1 && ret.push(purl); jQuery.inArray(url, check) == -1 && check.push(url); } else { jQuery.inArray(url, ret) == -1 && ret.push(url); } } // Probably it's clipboard data if (ret.length === 1 && ret[0].match(/^data:image\/png/)) { data.clipdata = true; } }); atag = jQuery('a[href]', tmp); atag.each(function(){ var text, loc, parseUrl = function(url) { var a = document.createElement('a'); a.href = url; return a; }; if (text = jQuery(this).text()) { loc = parseUrl(jQuery(this).attr('href')); if (loc.href && loc.href.match(/^(?:ht|f)tp/i) && (atag.length === 1 || ! loc.pathname.match(/(?:\.html?|\/[^\/.]*)$/i) || jQuery.trim(text).match(/\.[a-z0-9-]{1,10}$/i))) { if (jQuery.inArray(loc.href, ret) == -1 && jQuery.inArray(loc.href, check) == -1) ret.push(loc.href); } } }); } else { var regex, m, url; regex = /((?:ht|f)tps?:\/\/[-_.!~*\'()a-z0-9;/?:\@&=+\$,%#\*\[\]]+)/ig; while (m = regex.exec(str)) { url = m[1].replace(/&/g, '&'); if (jQuery.inArray(url, ret) == -1) ret.push(url); } } return ret; } }, // upload transport using XMLHttpRequest xhr : function(data, fm) { var self = fm ? fm : this, node = self.getUI(), xhr = new XMLHttpRequest(), notifyto = null, notifyto2 = null, dataChecked = data.checked, isDataType = (data.isDataType || data.type == 'data'), target = (data.target || self.cwd().hash), dropEvt = (data.dropEvt || null), extraData  = data.extraData || null, chunkEnable = (self.option('uploadMaxConn', target) != -1), multiMax = Math.min(5, Math.max(1, self.option('uploadMaxConn', target))), retryWait = 10000, // 10 sec retryMax = 30, // 10 sec * 30 = 300 secs (Max 5 mins) retry = 0, getFile = function(files) { var dfd = jQuery.Deferred(), file; if (files.promise) { files.always(function(f) { dfd.resolve(Array.isArray(f) && f.length? (isDataType? f[0][0] : f[0]) : {}); }); } else { dfd.resolve(files.length? (isDataType? files[0][0] : files[0]) : {}); } return dfd; }, dfrd = jQuery.Deferred() .fail(function(err) { var error = self.parseError(err), userAbort; if (error === 'userabort') { userAbort = true; error = void 0; } if (files && (self.uploads.xhrUploading || userAbort)) { // send request om fail getFile(files).done(function(file) { if (!userAbort) { triggerError(error, file); } if (! file._cid) { // send sync request self.uploads.failSyncTm && clearTimeout(self.uploads.failSyncTm); self.uploads.failSyncTm = setTimeout(function() { self.sync(target); }, 1000); } else if (! self.uploads.chunkfailReq[file._cid]) { // send chunkfail request self.uploads.chunkfailReq[file._cid] = true; setTimeout(function() { fm.request({ data : { cmd: 'upload', target: target, chunk: file._chunk, cid: file._cid, upload: ['chunkfail'], mimes: 'chunkfail' }, options : { type: 'post', url: self.uploadURL }, preventDefault: true }).always(function() { delete self.uploads.chunkfailReq[file._chunk]; }); }, 1000); } }); } else { triggerError(error); } !userAbort && self.sync(); self.uploads.xhrUploading = false; files = null; }) .done(function(data) { self.uploads.xhrUploading = false; files = null; if (data) { self.currentReqCmd = 'upload'; data.warning && triggerError(data.warning); self.updateCache(data); data.removed && data.removed.length && self.remove(data); data.added && data.added.length && self.add(data); data.changed && data.changed.length && self.change(data); self.trigger('upload', data, false); self.trigger('uploaddone'); if (data.toasts && Array.isArray(data.toasts)) { jQuery.each(data.toasts, function() { this.msg && self.toast(this); }); } data.sync && self.sync(); data.debug && fm.debug('backend-debug', data); } }) .always(function() { self.abortXHR(xhr); // unregist fnAbort function node.off('uploadabort', fnAbort); jQuery(window).off('unload', fnAbort); notifyto && clearTimeout(notifyto); notifyto2 && clearTimeout(notifyto2); dataChecked && !data.multiupload && checkNotify() && self.notify({type : 'upload', cnt : -cnt, progress : 0, size : 0}); chunkMerge && notifyElm.children('.elfinder-notify-chunkmerge').length && self.notify({type : 'chunkmerge', cnt : -1}); }), formData = new FormData(), files = data.input ? data.input.files : self.uploads.checkFile(data, self, target), cnt = data.checked? (isDataType? files[0].length : files.length) : files.length, loaded = 0, prev = 0, filesize = 0, notify = false, notifyElm = self.ui.notify, cancelBtn = true, abort = false, checkNotify = function() { if (!notify && (ntfUpload = notifyElm.children('.elfinder-notify-upload')).length) { notify = true; } return notify; }, fnAbort = function(e, error) { abort = true; self.abortXHR(xhr, { quiet: true, abort: true }); dfrd.reject(error); if (checkNotify()) { self.notify({type : 'upload', cnt : ntfUpload.data('cnt') * -1, progress : 0, size : 0}); } }, cancelToggle = function(show) { ntfUpload.children('.elfinder-notify-cancel')[show? 'show':'hide'](); }, startNotify = function(size) { if (!size) size = filesize; return setTimeout(function() { notify = true; self.notify({type : 'upload', cnt : cnt, progress : loaded - prev, size : size, cancel: function() { node.trigger('uploadabort', 'userabort'); } }); ntfUpload = notifyElm.children('.elfinder-notify-upload'); prev = loaded; if (data.multiupload) { cancelBtn && cancelToggle(true); } else { cancelToggle(cancelBtn && loaded < size); } }, self.options.notifyDelay); }, doRetry = function() { if (retry++ <= retryMax) { if (checkNotify() && prev) { self.notify({type : 'upload', cnt : 0, progress : 0, size : prev}); } self.abortXHR(xhr, { quiet: true }); prev = loaded = 0; setTimeout(function() { var reqId; if (! abort) { xhr.open('POST', self.uploadURL, true); if (self.api >= 2.1029) { reqId = (+ new Date()).toString(16) + Math.floor(1000 * Math.random()).toString(16); (typeof formData['delete'] === 'function') && formData['delete']('reqid'); formData.append('reqid', reqId); xhr._requestId = reqId; } xhr.send(formData); } }, retryWait); } else { node.trigger('uploadabort', ['errAbort', 'errTimeout']); } }, progress = function() { var node; if (notify) { dfrd.notifyWith(ntfUpload, [{ cnt: ntfUpload.data('cnt'), progress: ntfUpload.data('progress'), total: ntfUpload.data('total') }]); } }, triggerError = function(err, file, unite) { err && self.trigger('xhruploadfail', { error: err, file: file }); if (unite) { if (err) { if (errCnt < self.options.maxErrorDialogs) { if (Array.isArray(err)) { errors = errors.concat(err); } else { errors.push(err); } } errCnt++; } } else { if (err) { self.error(err); } else { if (errors.length) { if (errCnt >= self.options.maxErrorDialogs) { errors = errors.concat('moreErrors', errCnt - self.options.maxErrorDialogs); } self.error(errors); } errors = []; errCnt = 0; } } }, errors = [], errCnt = 0, renames = (data.renames || null), hashes = (data.hashes || null), chunkMerge = false, ntfUpload = jQuery(); // regist fnAbort function node.one('uploadabort', fnAbort); jQuery(window).one('unload.' + fm.namespace, fnAbort); !chunkMerge && (prev = loaded); if (!isDataType && !cnt) { return dfrd.reject(['errUploadNoFiles']); } xhr.addEventListener('error', function() { if (xhr.status == 0) { if (abort) { dfrd.reject(); } else { // ff bug while send zero sized file // for safari - send directory if (!isDataType && data.files && jQuery.grep(data.files, function(f){return ! f.type && f.size === (self.UA.Safari? 1802 : 0)? true : false;}).length) { dfrd.reject(['errAbort', 'errFolderUpload']); } else if (data.input && jQuery.grep(data.input.files, function(f){return ! f.type && f.size === (self.UA.Safari? 1802 : 0)? true : false;}).length) { dfrd.reject(['errUploadNoFiles']); } else { doRetry(); } } } else { node.trigger('uploadabort', 'errConnect'); } }, false); xhr.addEventListener('load', function(e) { var status = xhr.status, res, curr = 0, error = '', errData, errObj; if (status >= 400) { if (status > 500) { error = 'errResponse'; } else { error = ['errResponse', 'errServerError']; } } else { if (!xhr.responseText) { error = ['errResponse', 'errDataEmpty']; } } if (error) { node.trigger('uploadabort'); getFile(files).done(function(file) { return dfrd.reject(file._cid? null : error); }); } loaded = filesize; if (checkNotify() && (curr = loaded - prev)) { self.notify({type : 'upload', cnt : 0, progress : curr, size : 0}); progress(); } res = self.parseUploadData(xhr.responseText); // chunked upload commit if (res._chunkmerged) { formData = new FormData(); var _file = [{_chunkmerged: res._chunkmerged, _name: res._name, _mtime: res._mtime}]; chunkMerge = true; node.off('uploadabort', fnAbort); notifyto2 = setTimeout(function() { self.notify({type : 'chunkmerge', cnt : 1}); }, self.options.notifyDelay); isDataType? send(_file, files[1]) : send(_file); return; } res._multiupload = data.multiupload? true : false; if (res.error) { errData = { cmd: 'upload', err: res, xhr: xhr, rc: xhr.status }; self.trigger('uploadfail', res); // trigger "requestError" event self.trigger('requestError', errData); if (errData._event && errData._event.isDefaultPrevented()) { res.error = ''; } if (res._chunkfailure || res._multiupload) { abort = true; self.uploads.xhrUploading = false; notifyto && clearTimeout(notifyto); if (ntfUpload.length) { self.notify({type : 'upload', cnt : -cnt, progress : 0, size : 0}); dfrd.reject(res); } else { // for multi connection dfrd.reject(); } } else { dfrd.reject(res); } } else { dfrd.resolve(res); } }, false); xhr.upload.addEventListener('loadstart', function(e) { if (!chunkMerge && e.lengthComputable) { loaded = e.loaded; retry && (loaded = 0); filesize = e.total; if (!loaded) { loaded = parseInt(filesize * 0.05); } if (checkNotify()) { self.notify({type : 'upload', cnt : 0, progress : loaded - prev, size : data.multiupload? 0 : filesize}); prev = loaded; progress(); } } }, false); xhr.upload.addEventListener('progress', function(e) { var curr; if (e.lengthComputable && !chunkMerge && xhr.readyState < 2) { loaded = e.loaded; // to avoid strange bug in safari (not in chrome) with drag&drop. // bug: macos finder opened in any folder, // reset safari cache (option+command+e), reload elfinder page, // drop file from finder // on first attempt request starts (progress callback called ones) but never ends. // any next drop - successfull. if (!data.checked && loaded > 0 && !notifyto) { notifyto = startNotify(xhr._totalSize - loaded); } if (!filesize) { filesize = e.total; if (!loaded) { loaded = parseInt(filesize * 0.05); } } curr = loaded - prev; if (checkNotify() && (curr/e.total) >= 0.05) { self.notify({type : 'upload', cnt : 0, progress : curr, size : 0}); prev = loaded; progress(); } if (! data.multiupload && loaded >= filesize) { cancelBtn = false; cancelToggle(false); } } }, false); var send = function(files, paths){ var size = 0, fcnt = 1, sfiles = [], c = 0, total = cnt, maxFileSize, totalSize = 0, chunked = [], chunkID = new Date().getTime().toString().substr(-9), // for take care of the 32bit backend system BYTES_PER_CHUNK = Math.min((fm.uplMaxSize? fm.uplMaxSize : 2097152) - 8190, fm.options.uploadMaxChunkSize), // uplMaxSize margin 8kb or options.uploadMaxChunkSize blobSlice = chunkEnable? false : '', blobSize, blobMtime, i, start, end, chunks, blob, chunk, added, done, last, failChunk, multi = function(files, num){ var sfiles = [], cid, sfilesLen = 0, cancelChk; if (!abort) { while(files.length && sfiles.length < num) { sfiles.push(files.shift()); } sfilesLen = sfiles.length; if (sfilesLen) { cancelChk = sfilesLen; for (var i=0; i < sfilesLen; i++) { if (abort) { break; } cid = isDataType? (sfiles[i][0][0]._cid || null) : (sfiles[i][0]._cid || null); if (!!failChunk[cid]) { last--; continue; } fm.exec('upload', { type: data.type, isDataType: isDataType, files: sfiles[i], checked: true, target: target, dropEvt: dropEvt, renames: renames, hashes: hashes, multiupload: true, overwrite: data.overwrite === 0? 0 : void 0 }, void 0, target) .fail(function(error) { if (error && error === 'No such command') { abort = true; fm.error(['errUpload', 'errPerm']); } if (cid) { failChunk[cid] = true; } }) .always(function(e) { if (e && e.added) added = jQuery.merge(added, e.added); if (last <= ++done) { fm.trigger('multiupload', {added: added}); notifyto && clearTimeout(notifyto); if (checkNotify()) { self.notify({type : 'upload', cnt : -cnt, progress : 0, size : 0}); } } if (files.length) { multi(files, 1); // Next one } else { if (--cancelChk <= 1) { cancelBtn = false; cancelToggle(false); } } }); } } } if (sfiles.length < 1 || abort) { if (abort) { notifyto && clearTimeout(notifyto); if (cid) { failChunk[cid] = true; } dfrd.reject(); } else { dfrd.resolve(); self.uploads.xhrUploading = false; } } }, check = function(){ if (!self.uploads.xhrUploading) { self.uploads.xhrUploading = true; multi(sfiles, multiMax); // Max connection: 3 } else { setTimeout(check, 100); } }, reqId, err; if (! dataChecked && (isDataType || data.type == 'files')) { if (! (maxFileSize = fm.option('uploadMaxSize', target))) { maxFileSize = 0; } for (i=0; i < files.length; i++) { try { blob = files[i]; blobSize = blob.size; if (blobSlice === false) { blobSlice = ''; if (self.api >= 2.1) { if ('slice' in blob) { blobSlice = 'slice'; } else if ('mozSlice' in blob) { blobSlice = 'mozSlice'; } else if ('webkitSlice' in blob) { blobSlice = 'webkitSlice'; } } } } catch(e) { cnt--; total--; continue; } // file size check if ((maxFileSize && blobSize > maxFileSize) || (!blobSlice && fm.uplMaxSize && blobSize > fm.uplMaxSize)) { triggerError(['errUploadFile', blob.name, 'errUploadFileSize'], blob, true); cnt--; total--; continue; } // file mime check if (blob.type && ! self.uploadMimeCheck(blob.type, target)) { triggerError(['errUploadFile', blob.name, 'errUploadMime', '(' + blob.type + ')'], blob, true); cnt--; total--; continue; } if (blobSlice && blobSize > BYTES_PER_CHUNK) { start = 0; end = BYTES_PER_CHUNK; chunks = -1; total = Math.floor((blobSize - 1) / BYTES_PER_CHUNK); blobMtime = blob.lastModified? Math.round(blob.lastModified/1000) : 0; totalSize += blobSize; chunked[chunkID] = 0; while(start < blobSize) { chunk = blob[blobSlice](start, end); chunk._chunk = blob.name + '.' + (++chunks) + '_' + total + '.part'; chunk._cid = chunkID; chunk._range = start + ',' + chunk.size + ',' + blobSize; chunk._mtime = blobMtime; chunked[chunkID]++; if (size) { c++; } if (typeof sfiles[c] == 'undefined') { sfiles[c] = []; if (isDataType) { sfiles[c][0] = []; sfiles[c][1] = []; } } size = BYTES_PER_CHUNK; fcnt = 1; if (isDataType) { sfiles[c][0].push(chunk); sfiles[c][1].push(paths[i]); } else { sfiles[c].push(chunk); } start = end; end = start + BYTES_PER_CHUNK; } if (chunk == null) { triggerError(['errUploadFile', blob.name, 'errUploadFileSize'], blob, true); cnt--; total--; } else { total += chunks; size = 0; fcnt = 1; c++; } continue; } if ((fm.uplMaxSize && size + blobSize > fm.uplMaxSize) || fcnt > fm.uplMaxFile) { size = 0; fcnt = 1; c++; } if (typeof sfiles[c] == 'undefined') { sfiles[c] = []; if (isDataType) { sfiles[c][0] = []; sfiles[c][1] = []; } } if (isDataType) { sfiles[c][0].push(blob); sfiles[c][1].push(paths[i]); } else { sfiles[c].push(blob); } size += blobSize; totalSize += blobSize; fcnt++; } if (errors.length) { triggerError(); } if (sfiles.length == 0) { // no data data.checked = true; return false; } if (sfiles.length > 1) { // multi upload notifyto = startNotify(totalSize); added = []; done = 0; last = sfiles.length; failChunk = []; check(); return true; } // single upload if (isDataType) { files = sfiles[0][0]; paths = sfiles[0][1]; } else { files = sfiles[0]; } } if (!dataChecked) { if (!fm.UA.Safari || !data.files) { notifyto = startNotify(totalSize); } else { xhr._totalSize = totalSize; } } dataChecked = true; if (! files.length) { dfrd.reject(['errUploadNoFiles']); } xhr.open('POST', self.uploadURL, true); // set request headers if (fm.customHeaders) { jQuery.each(fm.customHeaders, function(key) { xhr.setRequestHeader(key, this); }); } // set xhrFields if (fm.xhrFields) { jQuery.each(fm.xhrFields, function(key) { if (key in xhr) { xhr[key] = this; } }); } if (self.api >= 2.1029) { // request ID reqId = (+ new Date()).toString(16) + Math.floor(1000 * Math.random()).toString(16); formData.append('reqid', reqId); xhr._requestId = reqId; } formData.append('cmd', 'upload'); formData.append(self.newAPI ? 'target' : 'current', target); if (renames && renames.length) { jQuery.each(renames, function(i, v) { formData.append('renames[]', v); }); formData.append('suffix', fm.options.backupSuffix); } if (hashes) { jQuery.each(hashes, function(i, v) { formData.append('hashes['+ i +']', v); }); } jQuery.each(self.customData, function(key, val) { formData.append(key, val); }); jQuery.each(self.options.onlyMimes, function(i, mime) { formData.append('mimes[]', mime); }); jQuery.each(files, function(i, file) { if (file._chunkmerged) { formData.append('chunk', file._chunkmerged); formData.append('upload[]', file._name); formData.append('mtime[]', file._mtime); } else { if (file._chunkfail) { formData.append('upload[]', 'chunkfail'); formData.append('mimes', 'chunkfail'); } else { formData.append('upload[]', file); if (data.clipdata) { data.overwrite = 0; formData.append('name[]', fm.date(fm.nonameDateFormat) + '.png'); } if (file.name && fm.UA.iOS) { if (file.name.match(/^image\.jpe?g$/i)) { data.overwrite = 0; formData.append('name[]', fm.date(fm.nonameDateFormat) + '.jpg'); } else if (file.name.match(/^capturedvideo\.mov$/i)) { data.overwrite = 0; formData.append('name[]', fm.date(fm.nonameDateFormat) + '.mov'); } } } if (file._chunk) { formData.append('chunk', file._chunk); formData.append('cid' , file._cid); formData.append('range', file._range); formData.append('mtime[]', file._mtime); } else { formData.append('mtime[]', file.lastModified? Math.round(file.lastModified/1000) : 0); } } }); if (isDataType) { jQuery.each(paths, function(i, path) { formData.append('upload_path[]', path); }); } if (data.overwrite === 0) { formData.append('overwrite', 0); } // send int value that which meta key was pressed when dropped as `dropWith` if (dropEvt) { formData.append('dropWith', parseInt( (dropEvt.altKey ? '1' : '0')+ (dropEvt.ctrlKey ? '1' : '0')+ (dropEvt.metaKey ? '1' : '0')+ (dropEvt.shiftKey? '1' : '0'), 2)); } // set extraData on current request if (extraData) { jQuery.each(extraData, function(key, val) { formData.append(key, val); }); } xhr.send(formData); return true; }; if (! isDataType) { if (files.length > 0) { if (! data.clipdata && renames == null) { var mkdirs = [], paths = [], excludes = fm.options.folderUploadExclude[fm.OS] || null; jQuery.each(files, function(i, file) { var relPath = file.webkitRelativePath || file.relativePath || '', idx, rootDir; if (! relPath) { return false; } if (excludes && file.name.match(excludes)) { file._remove = true; relPath = void(0); } else { // add '/' as prefix to make same to folder uploading with DnD, see #2607 relPath = '/' + relPath.replace(/\/[^\/]*$/, '').replace(/^\//, ''); if (relPath && jQuery.inArray(relPath, mkdirs) === -1) { mkdirs.push(relPath); // checking the root directory to supports see #2378 idx = relPath.substr(1).indexOf('/'); if (idx !== -1 && (rootDir = relPath.substr(0, idx + 1)) && jQuery.inArray(rootDir, mkdirs) === -1) { mkdirs.unshift(rootDir); } } } paths.push(relPath); }); renames = []; hashes = {}; if (mkdirs.length) { (function() { var checkDirs = jQuery.map(mkdirs, function(name) { return name.substr(1).indexOf('/') === -1 ? {name: name.substr(1)} : null;}), cancelDirs = []; fm.uploads.checkExists(checkDirs, target, fm, true).done( function(res, res2) { var dfds = [], dfd, bak, hash; if (fm.options.overwriteUploadConfirm && fm.option('uploadOverwrite', target)) { cancelDirs = jQuery.map(checkDirs, function(dir) { return dir._remove? dir.name : null ;} ); checkDirs = jQuery.grep(checkDirs, function(dir) { return !dir._remove? true : false ;} ); } if (cancelDirs.length) { jQuery.each(paths.concat(), function(i, path) { if (jQuery.inArray(path, cancelDirs) === 0) { files[i]._remove = true; paths[i] = void(0); } }); } files = jQuery.grep(files, function(file) { return file._remove? false : true; }); paths = jQuery.grep(paths, function(path) { return path === void 0 ? false : true; }); if (checkDirs.length) { dfd = jQuery.Deferred(); if (res.length) { jQuery.each(res, function(i, existName) { // backup bak = fm.uniqueName(existName + fm.options.backupSuffix , null, ''); jQuery.each(res2, function(h, name) { if (res[0] == name) { hash = h; return false; } }); if (! hash) { hash = fm.fileByName(res[0], target).hash; } fm.lockfiles({files : [hash]}); dfds.push( fm.request({ data : {cmd : 'rename', target : hash, name : bak}, notify : {type : 'rename', cnt : 1} }) .fail(function(error) { dfrd.reject(error); fm.sync(); }) .always(function() { fm.unlockfiles({files : [hash]}); }) ); }); } else { dfds.push(null); } jQuery.when.apply($, dfds).done(function() { // ensure directories fm.request({ data : {cmd : 'mkdir', target : target, dirs : mkdirs}, notify : {type : 'mkdir', cnt : mkdirs.length}, preventFail: true }) .fail(function(error) { error = error || ['errUnknown']; if (error[0] === 'errCmdParams') { multiMax = 1; } else { multiMax = 0; dfrd.reject(error); } }) .done(function(data) { var rm = false; if (!data.hashes) { data.hashes = {}; } paths = jQuery.map(paths.concat(), function(p, i) { if (p === '/') { return target; } else { if (data.hashes[p]) { return data.hashes[p]; } else { rm = true; files[i]._remove = true; return null; } } }); if (rm) { files = jQuery.grep(files, function(file) { return file._remove? false : true; }); } }) .always(function(data) { if (multiMax) { isDataType = true; if (! send(files, paths)) { dfrd.reject(); } } }); }); } else { dfrd.reject(); } } ); })(); } else { fm.uploads.checkExists(files, target, fm).done( function(res, res2){ if (fm.options.overwriteUploadConfirm && fm.option('uploadOverwrite', target)) { hashes = res2; if (res === null) { data.overwrite = 0; } else { renames = res; } files = jQuery.grep(files, function(file){return !file._remove? true : false ;}); } cnt = files.length; if (cnt > 0) { if (! send(files)) { dfrd.reject(); } } else { dfrd.reject(); } } ); } } else { if (! send(files)) { dfrd.reject(); } } } else { dfrd.reject(); } } else { if (dataChecked) { send(files[0], files[1]); } else { files.done(function(result) { // result: [files, paths, renames, hashes, mkdirs] renames = []; cnt = result[0].length; if (cnt) { if (result[4] && result[4].length) { // ensure directories fm.request({ data : {cmd : 'mkdir', target : target, dirs : result[4]}, notify : {type : 'mkdir', cnt : result[4].length}, preventFail: true }) .fail(function(error) { error = error || ['errUnknown']; if (error[0] === 'errCmdParams') { multiMax = 1; } else { multiMax = 0; dfrd.reject(error); } }) .done(function(data) { var rm = false; if (!data.hashes) { data.hashes = {}; } result[1] = jQuery.map(result[1], function(p, i) { p = p.replace(/\/[^\/]*$/, ''); if (p === '') { return target; } else { if (data.hashes[p]) { return data.hashes[p]; } else { rm = true; result[0][i]._remove = true; return null; } } }); if (rm) { result[0] = jQuery.grep(result[0], function(file) { return file._remove? false : true; }); } }) .always(function(data) { if (multiMax) { renames = result[2]; hashes = result[3]; send(result[0], result[1]); } }); return; } else { result[1] = jQuery.map(result[1], function() { return target; }); } renames = result[2]; hashes = result[3]; send(result[0], result[1]); } else { dfrd.reject(['errUploadNoFiles']); } }).fail(function(){ dfrd.reject(); }); } } return dfrd; }, // upload transport using iframe iframe : function(data, fm) { var self = fm ? fm : this, input = data.input? data.input : false, files = !input ? self.uploads.checkFile(data, self) : false, dfrd = jQuery.Deferred() .fail(function(error) { error && self.error(error); }), name = 'iframe-'+fm.namespace+(++self.iframeCnt), form = jQuery('
                      '), msie = this.UA.IE, // clear timeouts, close notification dialog, remove form/iframe onload = function() { abortto && clearTimeout(abortto); notifyto && clearTimeout(notifyto); notify && self.notify({type : 'upload', cnt : -cnt}); setTimeout(function() { msie && jQuery('').appendTo(form); form.remove(); iframe.remove(); }, 100); }, iframe = jQuery('') .on('load', function() { iframe.off('load') .on('load', function() { onload(); // data will be processed in callback response or window onmessage dfrd.resolve(); }); // notify dialog notifyto = setTimeout(function() { notify = true; self.notify({type : 'upload', cnt : cnt}); }, self.options.notifyDelay); // emulate abort on timeout if (self.options.iframeTimeout > 0) { abortto = setTimeout(function() { onload(); dfrd.reject(['errConnect', 'errTimeout']); }, self.options.iframeTimeout); } form.submit(); }), target = (data.target || self.cwd().hash), names = [], dfds = [], renames = [], hashes = {}, cnt, notify, notifyto, abortto; if (files && files.length) { jQuery.each(files, function(i, val) { form.append(''); }); cnt = 1; } else if (input && jQuery(input).is(':file') && jQuery(input).val()) { if (fm.options.overwriteUploadConfirm && fm.option('uploadOverwrite', target)) { names = input.files? input.files : [{ name: jQuery(input).val().replace(/^(?:.+[\\\/])?([^\\\/]+)$/, '$1') }]; //names = jQuery.map(names, function(file){return file.name? { name: file.name } : null ;}); dfds.push(self.uploads.checkExists(names, target, self).done( function(res, res2){ hashes = res2; if (res === null) { data.overwrite = 0; } else{ renames = res; cnt = jQuery.grep(names, function(file){return !file._remove? true : false ;}).length; if (cnt != names.length) { cnt = 0; } } } )); } cnt = input.files ? input.files.length : 1; form.append(input); } else { return dfrd.reject(); } jQuery.when.apply($, dfds).done(function() { if (cnt < 1) { return dfrd.reject(); } form.append('') .append('') .append('') .append(jQuery(input).attr('name', 'upload[]')); if (renames.length > 0) { jQuery.each(renames, function(i, rename) { form.append(''); }); form.append(''); } if (hashes) { jQuery.each(renames, function(i, v) { form.append(''); }); } if (data.overwrite === 0) { form.append(''); } jQuery.each(self.options.onlyMimes||[], function(i, mime) { form.append(''); }); jQuery.each(self.customData, function(key, val) { form.append(''); }); form.appendTo('body'); iframe.appendTo('body'); }); return dfrd; } }, /** * Bind callback to event(s) The callback is executed at most once per event. * To bind to multiply events at once, separate events names by space * * @param String event name * @param Function callback * @param Boolan priority first * @return elFinder */ one : function(ev, callback, priorityFirst) { var self = this, event = ev.toLowerCase(), h = function(e, f) { if (!self.toUnbindEvents[event]) { self.toUnbindEvents[event] = []; } self.toUnbindEvents[event].push({ type: event, callback: h }); return (callback.done? callback.done : callback).apply(this, arguments); }; if (callback.done) { h = {done: h}; } return this.bind(event, h, priorityFirst); }, /** * Set/get data into/from localStorage * * @param String key * @param String|void value * @return String|null */ localStorage : function(key, val) { var self = this, s = window.localStorage, oldkey = 'elfinder-'+(key || '')+this.id, // old key of elFinder < 2.1.6 prefix = window.location.pathname+'-elfinder-', suffix = this.id, clrs = [], retval, oldval, t, precnt, sufcnt; // reset this node data if (typeof(key) === 'undefined') { precnt = prefix.length; sufcnt = suffix.length * -1; jQuery.each(s, function(key) { if (key.substr(0, precnt) === prefix && key.substr(sufcnt) === suffix) { clrs.push(key); } }); jQuery.each(clrs, function(i, key) { s.removeItem(key); }); return true; } // new key of elFinder >= 2.1.6 key = prefix+key+suffix; if (val === null) { return s.removeItem(key); } if (val === void(0) && !(retval = s.getItem(key)) && (oldval = s.getItem(oldkey))) { val = oldval; s.removeItem(oldkey); } if (val !== void(0)) { t = typeof val; if (t !== 'string' && t !== 'number') { val = JSON.stringify(val); } try { s.setItem(key, val); } catch (e) { try { s.clear(); s.setItem(key, val); } catch (e) { self.debug('error', e.toString()); } } retval = s.getItem(key); } if (retval && (retval.substr(0,1) === '{' || retval.substr(0,1) === '[')) { try { return JSON.parse(retval); } catch(e) {} } return retval; }, /** * Set/get data into/from sessionStorage * * @param String key * @param String|void value * @return String|null */ sessionStorage : function(key, val) { var self = this, s, retval, t; try { s = window.sessionStorage; } catch(e) {} if (!s) { return; } if (val === null) { return s.removeItem(key); } if (val !== void(0)) { t = typeof val; if (t !== 'string' && t !== 'number') { val = JSON.stringify(val); } try { s.setItem(key, val); } catch (e) { try { s.clear(); s.setItem(key, val); } catch (e) { self.debug('error', e.toString()); } } } retval = s.getItem(key); if (retval && (retval.substr(0,1) === '{' || retval.substr(0,1) === '[')) { try { return JSON.parse(retval); } catch(e) {} } return retval; }, /** * Get/set cookie * * @param String cookie name * @param String|void cookie value * @return String|null */ cookie : function(name, value) { var d, o, c, i, retval, t; name = 'elfinder-'+name+this.id; if (value === void(0)) { if (this.cookieEnabled && document.cookie && document.cookie != '') { c = document.cookie.split(';'); name += '='; for (i=0; i'), /** * Replace not html-safe symbols to html entities * * @param String text to escape * @return String */ escape : function(name) { return this._node.text(name).html().replace(/"/g, '"').replace(/'/g, '''); }, /** * Cleanup ajax data. * For old api convert data into new api format * * @param String command name * @param Object data from backend * @return Object */ normalize : function(data) { var self = this, fileFilter = (function() { var func, filter; if (filter = self.options.fileFilter) { if (typeof filter === 'function') { func = function(file) { return filter.call(self, file); }; } else if (filter instanceof RegExp) { func = function(file) { return filter.test(file.name); }; } } return func? func : null; })(), chkCmdMap = function(opts) { // Disable command to replace with other command var disabled; if (opts.uiCmdMap) { if (jQuery.isPlainObject(opts.uiCmdMap) && Object.keys(opts.uiCmdMap).length) { if (!opts.disabledFlip) { opts.disabledFlip = {}; } disabled = opts.disabledFlip; jQuery.each(opts.uiCmdMap, function(f, t) { if (t === 'hidden' && !disabled[f]) { opts.disabled.push(f); opts.disabledFlip[f] = true; } }); } else { delete opts.uiCmdMap; } } }, normalizeOptions = function(opts) { var getType = function(v) { var type = typeof v; if (type === 'object' && Array.isArray(v)) { type = 'array'; } return type; }; jQuery.each(self.optionProperties, function(k, empty) { if (empty !== void(0)) { if (opts[k] && getType(opts[k]) !== getType(empty)) { opts[k] = empty; } } }); if (opts.disabled) { opts.disabledFlip = self.arrayFlip(opts.disabled, true); jQuery.each(self.options.disabledCmdsRels, function(com, rels) { var m, flg; if (opts.disabledFlip[com]) { flg = true; } else if (m = com.match(/^([^&]+)&([^=]+)=(.*)$/)) { if (opts.disabledFlip[m[1]] && opts[m[2]] == m[3]) { flg = true; } } if (flg) { jQuery.each(rels, function(i, rel) { if (!opts.disabledFlip[rel]) { opts.disabledFlip[rel] = true; opts.disabled.push(rel); } }); } }); } else { opts.disabledFlip = {}; } return opts; }, filter = function(file, asMap, type) { var res = asMap? file : true, ign = asMap? null : false, vid, targetOptions, isRoot, rootNames; if (file && file.hash && file.name && file.mime) { if (file.mime === 'application/x-empty') { file.mime = 'text/plain'; } isRoot = self.isRoot(file); if (isRoot && ! file.volumeid) { self.debug('warning', 'The volume root statuses requires `volumeid` property.'); } if (isRoot || file.mime === 'directory') { // Prevention of circular reference if (file.phash) { if (file.phash === file.hash) { error = error.concat(['Parent folder of "$1" is itself.', file.name]); return ign; } if (isRoot && file.volumeid && file.phash.indexOf(file.volumeid) === 0) { error = error.concat(['Parent folder of "$1" is inner itself.', file.name]); return ign; } } // set options, tmbUrls for each volume if (file.volumeid) { vid = file.volumeid; if (isRoot) { // make or update of leaf roots cache if (file.phash) { if (! self.leafRoots[file.phash]) { self.leafRoots[file.phash] = [ file.hash ]; } else { if (jQuery.inArray(file.hash, self.leafRoots[file.phash]) === -1) { self.leafRoots[file.phash].push(file.hash); } } } self.hasVolOptions = true; if (! self.volOptions[vid]) { self.volOptions[vid] = { // set dispInlineRegex dispInlineRegex: self.options.dispInlineRegex }; } targetOptions = self.volOptions[vid]; if (file.options) { // >= v.2.1.14 has file.options Object.assign(targetOptions, file.options); } // for compat <= v2.1.13 if (file.disabled) { targetOptions.disabled = file.disabled; targetOptions.disabledFlip = self.arrayFlip(file.disabled, true); } if (file.tmbUrl) { targetOptions.tmbUrl = file.tmbUrl; } // '/' required at the end of url if (targetOptions.url && targetOptions.url.substr(-1) !== '/') { targetOptions.url += '/'; } // check uiCmdMap chkCmdMap(targetOptions); // check trash bin hash if (targetOptions.trashHash) { if (self.trashes[targetOptions.trashHash] === false) { delete targetOptions.trashHash; } else { self.trashes[targetOptions.trashHash] = file.hash; } } // set immediate properties jQuery.each(self.optionProperties, function(k) { if (targetOptions[k]) { file[k] = targetOptions[k]; } }); // regist fm.roots if (type !== 'cwd') { self.roots[vid] = file.hash; } // regist fm.volumeExpires if (file.expires) { self.volumeExpires[vid] = file.expires; } } if (prevId !== vid) { prevId = vid; i18nFolderName = self.option('i18nFolderName', vid); } } // volume root i18n name if (isRoot && ! file.i18) { name = 'volume_' + file.name, i18 = self.i18n(false, name); if (name !== i18) { file.i18 = i18; } } // i18nFolderName if (i18nFolderName && ! file.i18) { name = 'folder_' + file.name, i18 = self.i18n(false, name); if (name !== i18) { file.i18 = i18; } } if (isRoot) { if (rootNames = self.storage('rootNames')) { if (rootNames[file.hash]) { file._name = file.name; file._i18 = file.i18; file.name = rootNames[file.hash] = rootNames[file.hash]; delete file.i18; } self.storage('rootNames', rootNames); } } // lock trash bins holder if (self.trashes[file.hash]) { file.locked = true; } } else { if (fileFilter) { try { if (! fileFilter(file)) { return ign; } } catch(e) { self.debug(e); } } if (file.size == 0) { file.mime = self.getMimetype(file.name, file.mime); } } if (file.options) { self.optionsByHashes[file.hash] = normalizeOptions(file.options); } delete file.options; return res; } return ign; }, getDescendants = function(hashes) { var res = []; jQuery.each(self.files(), function(h, f) { jQuery.each(self.parents(h), function(i, ph) { if (jQuery.inArray(ph, hashes) !== -1 && jQuery.inArray(h, hashes) === -1) { res.push(h); return false; } }); }); return res; }, applyLeafRootStats = function(dataArr, type) { jQuery.each(dataArr, function(i, f) { var pfile, done; if (self.leafRoots[f.hash]) { self.applyLeafRootStats(f); } // update leaf root parent stat if (type !== 'change' && f.phash && self.isRoot(f) && (pfile = self.file(f.phash))) { self.applyLeafRootStats(pfile); // add to data.changed if (!data.changed) { data.changed = [pfile]; } else { jQuery.each(data.changed, function(i, f) { if (f.hash === pfile.hash) { data.changed[i] = pfile; done = true; return false; } }); if (!done) { data.changed.push(pfile); } } } }); }, error = [], name, i18, i18nFolderName, prevId, cData; // set cunstom data if (data.customData && (!self.prevCustomData || (JSON.stringify(data.customData) !== JSON.stringify(self.prevCustomData)))) { self.prevCustomData = data.customData; try { cData = JSON.parse(data.customData); if (jQuery.isPlainObject(cData)) { self.prevCustomData = cData; jQuery.each(Object.keys(cData), function(i, key) { if (cData[key] === null) { delete cData[key]; delete self.optsCustomData[key]; } }); self.customData = Object.assign({}, self.optsCustomData, cData); } } catch(e) {} } if (data.options) { normalizeOptions(data.options); } if (data.cwd) { if (data.cwd.volumeid && data.options && Object.keys(data.options).length && self.isRoot(data.cwd)) { self.hasVolOptions = true; self.volOptions[data.cwd.volumeid] = data.options; } data.cwd = filter(data.cwd, true, 'cwd'); } if (data.files) { data.files = jQuery.grep(data.files, filter); } if (data.tree) { data.tree = jQuery.grep(data.tree, filter); } if (data.added) { data.added = jQuery.grep(data.added, filter); } if (data.changed) { data.changed = jQuery.grep(data.changed, filter); } if (data.removed && data.removed.length && self.searchStatus.state === 2) { data.removed = data.removed.concat(getDescendants(data.removed)); } if (data.api) { data.init = true; } if (Object.keys(self.leafRoots).length) { data.files && applyLeafRootStats(data.files); data.tree && applyLeafRootStats(data.tree); data.added && applyLeafRootStats(data.added); data.changed && applyLeafRootStats(data.changed, 'change'); } // merge options that apply only to cwd if (data.cwd && data.cwd.options && data.options) { Object.assign(data.options, normalizeOptions(data.cwd.options)); } // '/' required at the end of url if (data.options && data.options.url && data.options.url.substr(-1) !== '/') { data.options.url += '/'; } // check error if (error.length) { data.norError = ['errResponse'].concat(error); } return data; }, /** * Update sort options * * @param {String} sort type * @param {String} sort order * @param {Boolean} show folder first */ setSort : function(type, order, stickFolders, alsoTreeview) { this.storage('sortType', (this.sortType = this.sortRules[type] ? type : 'name')); this.storage('sortOrder', (this.sortOrder = /asc|desc/.test(order) ? order : 'asc')); this.storage('sortStickFolders', (this.sortStickFolders = !!stickFolders) ? 1 : ''); this.storage('sortAlsoTreeview', (this.sortAlsoTreeview = !!alsoTreeview) ? 1 : ''); this.trigger('sortchange'); }, _sortRules : { name : function(file1, file2) { return elFinder.prototype.naturalCompare(file1.i18 || file1.name, file2.i18 || file2.name); }, size : function(file1, file2) { var size1 = parseInt(file1.size) || 0, size2 = parseInt(file2.size) || 0; return size1 === size2 ? 0 : size1 > size2 ? 1 : -1; }, kind : function(file1, file2) { return elFinder.prototype.naturalCompare(file1.mime, file2.mime); }, date : function(file1, file2) { var date1 = file1.ts || file1.date || 0, date2 = file2.ts || file2.date || 0; return date1 === date2 ? 0 : date1 > date2 ? 1 : -1; }, perm : function(file1, file2) { var val = function(file) { return (file.write? 2 : 0) + (file.read? 1 : 0); }, v1 = val(file1), v2 = val(file2); return v1 === v2 ? 0 : v1 > v2 ? 1 : -1; }, mode : function(file1, file2) { var v1 = file1.mode || (file1.perm || ''), v2 = file2.mode || (file2.perm || ''); return elFinder.prototype.naturalCompare(v1, v2); }, owner : function(file1, file2) { var v1 = file1.owner || '', v2 = file2.owner || ''; return elFinder.prototype.naturalCompare(v1, v2); }, group : function(file1, file2) { var v1 = file1.group || '', v2 = file2.group || ''; return elFinder.prototype.naturalCompare(v1, v2); } }, /** * Valid sort rule names * * @type Object */ sorters : {}, /** * Compare strings for natural sort * * @param String * @param String * @return Number */ naturalCompare : function(a, b) { var self = elFinder.prototype.naturalCompare; if (typeof self.loc == 'undefined') { self.loc = (navigator.userLanguage || navigator.browserLanguage || navigator.language || 'en-US'); } if (typeof self.sort == 'undefined') { if ('11'.localeCompare('2', self.loc, {numeric: true}) > 0) { // Native support if (window.Intl && window.Intl.Collator) { self.sort = new Intl.Collator(self.loc, {numeric: true}).compare; } else { self.sort = function(a, b) { return a.localeCompare(b, self.loc, {numeric: true}); }; } } else { /* * Edited for elFinder (emulates localeCompare() by numeric) by Naoki Sawada aka nao-pon */ /* * Huddle/javascript-natural-sort (https://github.com/Huddle/javascript-natural-sort) */ /* * Natural Sort algorithm for Javascript - Version 0.7 - Released under MIT license * Author: Jim Palmer (based on chunking idea from Dave Koelle) * http://opensource.org/licenses/mit-license.php */ self.sort = function(a, b) { var re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi, sre = /(^[ ]*|[ ]*$)/g, dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/, hre = /^0x[0-9a-f]+$/i, ore = /^0/, syre = /^[\x01\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]/, // symbol first - (Naoki Sawada) i = function(s) { return self.sort.insensitive && (''+s).toLowerCase() || ''+s; }, // convert all to strings strip whitespace // first character is "_", it's smallest - (Naoki Sawada) x = i(a).replace(sre, '').replace(/^_/, "\x01") || '', y = i(b).replace(sre, '').replace(/^_/, "\x01") || '', // chunk/tokenize xN = x.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'), yN = y.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'), // numeric, hex or date detection xD = parseInt(x.match(hre)) || (xN.length != 1 && x.match(dre) && Date.parse(x)), yD = parseInt(y.match(hre)) || xD && y.match(dre) && Date.parse(y) || null, oFxNcL, oFyNcL, locRes = 0; // first try and sort Hex codes or Dates if (yD) { if ( xD < yD ) return -1; else if ( xD > yD ) return 1; } // natural sorting through split numeric strings and default strings for(var cLoc=0, numS=Math.max(xN.length, yN.length); cLoc < numS; cLoc++) { // find floats not starting with '0', string or 0 if not defined (Clint Priest) oFxNcL = !(xN[cLoc] || '').match(ore) && parseFloat(xN[cLoc]) || xN[cLoc] || 0; oFyNcL = !(yN[cLoc] || '').match(ore) && parseFloat(yN[cLoc]) || yN[cLoc] || 0; // handle numeric vs string comparison - number < string - (Kyle Adams) // but symbol first < number - (Naoki Sawada) if (isNaN(oFxNcL) !== isNaN(oFyNcL)) { if (isNaN(oFxNcL) && (typeof oFxNcL !== 'string' || ! oFxNcL.match(syre))) { return 1; } else if (typeof oFyNcL !== 'string' || ! oFyNcL.match(syre)) { return -1; } } // use decimal number comparison if either value is string zero if (parseInt(oFxNcL, 10) === 0) oFxNcL = 0; if (parseInt(oFyNcL, 10) === 0) oFyNcL = 0; // rely on string comparison if different types - i.e. '02' < 2 != '02' < '2' if (typeof oFxNcL !== typeof oFyNcL) { oFxNcL += ''; oFyNcL += ''; } // use locale sensitive sort for strings when case insensitive // note: localeCompare interleaves uppercase with lowercase (e.g. A,a,B,b) if (self.sort.insensitive && typeof oFxNcL === 'string' && typeof oFyNcL === 'string') { locRes = oFxNcL.localeCompare(oFyNcL, self.loc); if (locRes !== 0) return locRes; } if (oFxNcL < oFyNcL) return -1; if (oFxNcL > oFyNcL) return 1; } return 0; }; self.sort.insensitive = true; } } return self.sort(a, b); }, /** * Compare files based on elFinder.sort * * @param Object file * @param Object file * @return Number */ compare : function(file1, file2) { var self = this, type = self.sortType, asc = self.sortOrder == 'asc', stick = self.sortStickFolders, rules = self.sortRules, sort = rules[type], d1 = file1.mime == 'directory', d2 = file2.mime == 'directory', res; if (stick) { if (d1 && !d2) { return -1; } else if (!d1 && d2) { return 1; } } res = asc ? sort(file1, file2) : sort(file2, file1); return type !== 'name' && res === 0 ? res = asc ? rules.name(file1, file2) : rules.name(file2, file1) : res; }, /** * Sort files based on config * * @param Array files * @return Array */ sortFiles : function(files) { return files.sort(this.compare); }, /** * Open notification dialog * and append/update message for required notification type. * * @param Object options * @example * this.notify({ * type : 'copy', * msg : 'Copy files', // not required for known types @see this.notifyType * cnt : 3, * hideCnt : false, // true for not show count * progress : 10, // progress bar percents (use cnt : 0 to update progress bar) * cancel : callback // callback function for cancel button * }) * @return elFinder */ notify : function(opts) { var self = this, type = opts.type, id = opts.id? 'elfinder-notify-'+opts.id : '', msg = this.i18n((typeof opts.msg !== 'undefined')? opts.msg : (this.messages['ntf'+type] ? 'ntf'+type : 'ntfsmth')), hiddens = this.arrayFlip(this.options.notifyDialog.hiddens || []), ndialog = this.ui.notify, dialog = ndialog.closest('.ui-dialog'), notify = ndialog.children('.elfinder-notify-'+type+(id? ('.'+id) : '')), button = notify.children('div.elfinder-notify-cancel').children('button'), ntpl = '
                      {msg}
                      ', delta = opts.cnt + 0, size = (typeof opts.size != 'undefined')? parseInt(opts.size) : null, progress = (typeof opts.progress != 'undefined' && opts.progress >= 0) ? opts.progress : null, fakeint = opts.fakeinterval || 200, cancel = opts.cancel, clhover = 'ui-state-hover', close = function() { var prog = notify.find('.elfinder-notify-progress'), rm = function() { notify.remove(); if (!ndialog.children(dialog.data('minimized')? void(0) : ':visible').length) { if (dialog.data('minimized')) { dialog.data('minimized').hide(); } else { ndialog.elfinderdialog('close'); } } setProgressbar(); }; notify._esc && jQuery(document).off('keydown', notify._esc); if (notify.data('cur') < 100) { prog.animate({ width : '100%' }, 50, function() { requestAnimationFrame(function() { rm(); }); }); } else { rm(); } }, fakeUp = function(interval) { var cur; if (notify.length) { cur = notify.data('cur') + 1; if (cur <= 98) { notify.find('.elfinder-notify-progress').width(cur + '%'); notify.data('cur', cur); setProgressbar(); setTimeout(function() { interval *= 1.05; fakeUp(interval); }, interval); } } }, setProgressbar = function() { var cnt = 0, val = 0, ntfs = ndialog.children('.elfinder-notify'), w; if (ntfs.length) { ntfs.each(function() { cnt++; val += Math.min(jQuery(this).data('cur'), 100); }); w = cnt? Math.floor(val / (cnt * 100) * 100) + '%' : 0; self.ui.progressbar.width(w); if (dialog.data('minimized')) { dialog.data('minimized').title(w); dialog.data('minimized').dialog().children('.ui-dialog-titlebar').children('.elfinder-ui-progressbar').width(w); } } else { self.ui.progressbar.width(0); dialog.data('minimized') && dialog.data('minimized').hide(); } }, cnt, total, prc; if (!type) { return this; } if (!notify.length) { notify = jQuery(ntpl.replace(/\{type\}/g, type).replace(/\{msg\}/g, msg)); if (hiddens[type]) { notify.hide(); } else { ndialog.on('minimize', function(e) { dialog.data('minimized') && setProgressbar(); }); } notify.appendTo(ndialog).data('cnt', 0); if (progress != null) { notify.data({progress : 0, total : 0, cur : 0}); } else { notify.data({cur : 0}); fakeUp(fakeint); } if (cancel) { button = jQuery('') .on('mouseenter mouseleave', function(e) { jQuery(this).toggleClass(clhover, e.type === 'mouseenter'); }); notify.children('div.elfinder-notify-cancel').append(button); } ndialog.trigger('resize'); } else if (typeof opts.msg !== 'undefined') { notify.children('span.elfinder-notify-msg').html(msg); } cnt = delta + parseInt(notify.data('cnt')); if (cnt > 0) { if (cancel && button.length) { if (jQuery.isFunction(cancel) || (typeof cancel === 'object' && cancel.promise)) { notify._esc = function(e) { if (e.type == 'keydown' && e.keyCode != jQuery.ui.keyCode.ESCAPE) { return; } e.preventDefault(); e.stopPropagation(); close(); if (cancel.promise) { cancel.reject(0); // 0 is canceling flag } else { cancel(e); } }; button.on('click', function(e) { notify._esc(e); }); jQuery(document).on('keydown.' + this.namespace, notify._esc); } } !opts.hideCnt && notify.children('.elfinder-notify-cnt').text('('+cnt+')'); if (delta > 0 && ndialog.is(':hidden') && !hiddens[type]) { if (dialog.data('minimized')) { dialog.data('minimized').show(); } else { ndialog.elfinderdialog('open', this).height('auto'); } } notify.data('cnt', cnt); if ((progress != null) && (total = notify.data('total')) >= 0 && (prc = notify.data('progress')) >= 0) { total += size != null? size : delta; prc += progress; (size == null && delta < 0) && (prc += delta * 100); notify.data({progress : prc, total : total}); if (size != null) { prc *= 100; total = Math.max(1, total); } progress = Math.min(parseInt(prc/total), 100); notify.find('.elfinder-notify-progress') .animate({ width : (progress < 100 ? progress : 100)+'%' }, 20, function() { notify.data('cur', progress); setProgressbar(); }); } } else { close(); } return this; }, /** * Open confirmation dialog * * @param Object options * @example * this.confirm({ * cssClass : 'elfinder-confirm-mydialog', * title : 'Remove files', * text : 'Here is question text', * accept : { // accept callback - required * label : 'Continue', * callback : function(applyToAll) { fm.log('Ok') } * }, * cancel : { // cancel callback - required * label : 'Cancel', * callback : function() { fm.log('Cancel')} * }, * reject : { // reject callback - optionally * label : 'No', * callback : function(applyToAll) { fm.log('No')} * }, * buttons : [ // additional buttons callback - optionally * { * label : 'Btn1', * callback : function(applyToAll) { fm.log('Btn1')} * } * ], * all : true // display checkbox "Apply to all" * }) * @return elFinder */ confirm : function(opts) { var self = this, complete = false, options = { cssClass : 'elfinder-dialog-confirm', modal : true, resizable : false, title : this.i18n(opts.title || 'confirmReq'), buttons : {}, close : function() { !complete && opts.cancel.callback(); jQuery(this).elfinderdialog('destroy'); } }, apply = this.i18n('apllyAll'), label, checkbox, btnNum; if (opts.cssClass) { options.cssClass += ' ' + opts.cssClass; } options.buttons[this.i18n(opts.accept.label)] = function() { opts.accept.callback(!!(checkbox && checkbox.prop('checked'))); complete = true; jQuery(this).elfinderdialog('close'); }; options.buttons[this.i18n(opts.accept.label)]._cssClass = 'elfinder-confirm-accept'; if (opts.reject) { options.buttons[this.i18n(opts.reject.label)] = function() { opts.reject.callback(!!(checkbox && checkbox.prop('checked'))); complete = true; jQuery(this).elfinderdialog('close'); }; options.buttons[this.i18n(opts.reject.label)]._cssClass = 'elfinder-confirm-reject'; } if (opts.buttons && opts.buttons.length > 0) { btnNum = 1; jQuery.each(opts.buttons, function(i, v){ options.buttons[self.i18n(v.label)] = function() { v.callback(!!(checkbox && checkbox.prop('checked'))); complete = true; jQuery(this).elfinderdialog('close'); }; options.buttons[self.i18n(v.label)]._cssClass = 'elfinder-confirm-extbtn' + (btnNum++); if (v.cssClass) { options.buttons[self.i18n(v.label)]._cssClass += ' ' + v.cssClass; } }); } options.buttons[this.i18n(opts.cancel.label)] = function() { jQuery(this).elfinderdialog('close'); }; options.buttons[this.i18n(opts.cancel.label)]._cssClass = 'elfinder-confirm-cancel'; if (opts.all) { options.create = function() { var base = jQuery('
                      '); checkbox = jQuery(''); jQuery(this).next().find('.ui-dialog-buttonset') .prepend(base.append(jQuery('').prepend(checkbox))); }; } if (opts.optionsCallback && jQuery.isFunction(opts.optionsCallback)) { opts.optionsCallback(options); } return this.dialog('' + this.i18n(opts.text), options); }, /** * Create unique file name in required dir * * @param String file name * @param String parent dir hash * @param String glue * @return String */ uniqueName : function(prefix, phash, glue) { var i = 0, ext = '', p, name; prefix = this.i18n(false, prefix); phash = phash || this.cwd().hash; glue = (typeof glue === 'undefined')? ' ' : glue; if (p = prefix.match(/^(.+)(\.[^.]+)$/)) { ext = p[2]; prefix = p[1]; } name = prefix+ext; if (!this.fileByName(name, phash)) { return name; } while (i < 10000) { name = prefix + glue + (++i) + ext; if (!this.fileByName(name, phash)) { return name; } } return prefix + Math.random() + ext; }, /** * Return message translated onto current language * Allowed accept HTML element that was wrapped in jQuery object * To be careful to XSS vulnerability of HTML element Ex. You should use `fm.escape(file.name)` * * @param String|Array message[s]|Object jQuery * @return String **/ i18n : function() { var self = this, messages = this.messages, input = [], ignore = [], message = function(m) { var file; if (m.indexOf('#') === 0) { if ((file = self.file(m.substr(1)))) { return file.name; } } return m; }, i, j, m, escFunc, start = 0, isErr; if (arguments.length && arguments[0] === false) { escFunc = function(m){ return m; }; start = 1; } for (i = start; i< arguments.length; i++) { m = arguments[i]; if (Array.isArray(m)) { for (j = 0; j < m.length; j++) { if (m[j] instanceof jQuery) { // jQuery object is HTML element input.push(m[j]); } else if (typeof m[j] !== 'undefined'){ input.push(message('' + m[j])); } } } else if (m instanceof jQuery) { // jQuery object is HTML element input.push(m[j]); } else if (typeof m !== 'undefined'){ input.push(message('' + m)); } } for (i = 0; i < input.length; i++) { // dont translate placeholders if (jQuery.inArray(i, ignore) !== -1) { continue; } m = input[i]; if (typeof m == 'string') { isErr = !!(messages[m] && m.match(/^err/)); // translate message m = messages[m] || (escFunc? escFunc(m) : self.escape(m)); // replace placeholders in message m = m.replace(/\$(\d+)/g, function(match, placeholder) { var res; placeholder = i + parseInt(placeholder); if (placeholder > 0 && input[placeholder]) { ignore.push(placeholder); } res = escFunc? escFunc(input[placeholder]) : self.escape(input[placeholder]); if (isErr) { res = '' + res + ''; } return res; }); } else { // get HTML from jQuery object m = m.get(0).outerHTML; } input[i] = m; } return jQuery.grep(input, function(m, i) { return jQuery.inArray(i, ignore) === -1 ? true : false; }).join('
                      '); }, /** * Get icon style from file.icon * * @param Object elFinder file object * @return String|Object */ getIconStyle : function(file, asObject) { var self = this, template = { 'background' : 'url(\'{url}\') 0 0 no-repeat', 'background-size' : 'contain' }, style = '', cssObj = {}, i = 0; if (file.icon) { style = 'style="'; jQuery.each(template, function(k, v) { if (i++ === 0) { v = v.replace('{url}', self.escape(file.icon)); } if (asObject) { cssObj[k] = v; } else { style += k+':'+v+';'; } }); style += '"'; } return asObject? cssObj : style; }, /** * Convert mimetype into css classes * * @param String file mimetype * @return String */ mime2class : function(mimeType) { var prefix = 'elfinder-cwd-icon-', mime = mimeType.toLowerCase(), isText = this.textMimes[mime]; mime = mime.split('/'); if (isText) { mime[0] += ' ' + prefix + 'text'; } else if (mime[1] && mime[1].match(/\+xml$/)) { mime[0] += ' ' + prefix + 'xml'; } return prefix + mime[0] + (mime[1] ? ' ' + prefix + mime[1].replace(/(\.|\+)/g, '-') : ''); }, /** * Return localized kind of file * * @param Object|String file or file mimetype * @return String */ mime2kind : function(f) { var isObj = typeof(f) == 'object' ? true : false, mime = isObj ? f.mime : f, kind; if (isObj && f.alias && mime != 'symlink-broken') { kind = 'Alias'; } else if (this.kinds[mime]) { if (isObj && mime === 'directory' && (! f.phash || f.isroot)) { kind = 'Root'; } else { kind = this.kinds[mime]; } } else if (this.mimeTypes[mime]) { kind = this.mimeTypes[mime].toUpperCase(); if (!this.messages['kind'+kind]) { kind = null; } } if (! kind) { if (mime.indexOf('text') === 0) { kind = 'Text'; } else if (mime.indexOf('image') === 0) { kind = 'Image'; } else if (mime.indexOf('audio') === 0) { kind = 'Audio'; } else if (mime.indexOf('video') === 0) { kind = 'Video'; } else if (mime.indexOf('application') === 0) { kind = 'App'; } else { kind = mime; } } return this.messages['kind'+kind] ? this.i18n('kind'+kind) : mime; }, /** * Return boolean Is mime-type text file * * @param String mime-type * @return Boolean */ mimeIsText : function(mime) { return (this.textMimes[mime.toLowerCase()] || (mime.indexOf('text/') === 0 && mime.substr(5, 3) !== 'rtf') || mime.match(/^application\/.+\+xml$/))? true : false; }, /** * Returns a date string formatted according to the given format string * * @param String format string * @param Object Date object * @return String */ date : function(format, date) { var self = this, output, d, dw, m, y, h, g, i, s; if (! date) { date = new Date(); } h = date[self.getHours](); g = h > 12 ? h - 12 : h; i = date[self.getMinutes](); s = date[self.getSeconds](); d = date[self.getDate](); dw = date[self.getDay](); m = date[self.getMonth]() + 1; y = date[self.getFullYear](); output = format.replace(/[a-z]/gi, function(val) { switch (val) { case 'd': return d > 9 ? d : '0'+d; case 'j': return d; case 'D': return self.i18n(self.i18.daysShort[dw]); case 'l': return self.i18n(self.i18.days[dw]); case 'm': return m > 9 ? m : '0'+m; case 'n': return m; case 'M': return self.i18n(self.i18.monthsShort[m-1]); case 'F': return self.i18n(self.i18.months[m-1]); case 'Y': return y; case 'y': return (''+y).substr(2); case 'H': return h > 9 ? h : '0'+h; case 'G': return h; case 'g': return g; case 'h': return g > 9 ? g : '0'+g; case 'a': return h >= 12 ? 'pm' : 'am'; case 'A': return h >= 12 ? 'PM' : 'AM'; case 'i': return i > 9 ? i : '0'+i; case 's': return s > 9 ? s : '0'+s; } return val; }); return output; }, /** * Return localized date * * @param Object file object * @return String */ formatDate : function(file, t) { var self = this, ts = t || file.ts, i18 = self.i18, date, format, output, d, dw, m, y, h, g, i, s; if (self.options.clientFormatDate && ts > 0) { date = new Date(ts*1000); format = ts >= this.yesterday ? this.fancyFormat : this.dateFormat; output = self.date(format, date); return ts >= this.yesterday ? output.replace('$1', this.i18n(ts >= this.today ? 'Today' : 'Yesterday')) : output; } else if (file.date) { return file.date.replace(/([a-z]+)\s/i, function(a1, a2) { return self.i18n(a2)+' '; }); } return self.i18n('dateUnknown'); }, /** * Return localized number string * * @param Number * @return String */ toLocaleString : function(num) { var v = new Number(num); if (v) { if (v.toLocaleString) { return v.toLocaleString(); } else { return String(num).replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,'); } } return num; }, /** * Return css class marks file permissions * * @param Object file * @return String */ perms2class : function(o) { var c = ''; if (!o.read && !o.write) { c = 'elfinder-na'; } else if (!o.read) { c = 'elfinder-wo'; } else if (!o.write) { c = 'elfinder-ro'; } if (o.type) { c += ' elfinder-' + this.escape(o.type); } return c; }, /** * Return localized string with file permissions * * @param Object file * @return String */ formatPermissions : function(f) { var p = []; f.read && p.push(this.i18n('read')); f.write && p.push(this.i18n('write')); return p.length ? p.join(' '+this.i18n('and')+' ') : this.i18n('noaccess'); }, /** * Return formated file size * * @param Number file size * @return String */ formatSize : function(s) { var n = 1, u = 'b'; if (s == 'unknown') { return this.i18n('unknown'); } if (s > 1073741824) { n = 1073741824; u = 'GB'; } else if (s > 1048576) { n = 1048576; u = 'MB'; } else if (s > 1024) { n = 1024; u = 'KB'; } s = s/n; return (s > 0 ? n >= 1048576 ? s.toFixed(2) : Math.round(s) : 0) +' '+u; }, /** * Return formated file mode by options.fileModeStyle * * @param String file mode * @param String format style * @return String */ formatFileMode : function(p, style) { var i, o, s, b, sticy, suid, sgid, str, oct; if (!style) { style = this.options.fileModeStyle.toLowerCase(); } p = jQuery.trim(p); if (p.match(/[rwxs-]{9}$/i)) { str = p = p.substr(-9); if (style == 'string') { return str; } oct = ''; s = 0; for (i=0; i<7; i=i+3) { o = p.substr(i, 3); b = 0; if (o.match(/[r]/i)) { b += 4; } if (o.match(/[w]/i)) { b += 2; } if (o.match(/[xs]/i)) { if (o.match(/[xs]/)) { b += 1; } if (o.match(/[s]/i)) { if (i == 0) { s += 4; } else if (i == 3) { s += 2; } } } oct += b.toString(8); } if (s) { oct = s.toString(8) + oct; } } else { p = parseInt(p, 8); oct = p? p.toString(8) : ''; if (!p || style == 'octal') { return oct; } o = p.toString(8); s = 0; if (o.length > 3) { o = o.substr(-4); s = parseInt(o.substr(0, 1), 8); o = o.substr(1); } sticy = ((s & 1) == 1); // not support sgid = ((s & 2) == 2); suid = ((s & 4) == 4); str = ''; for(i=0; i<3; i++) { if ((parseInt(o.substr(i, 1), 8) & 4) == 4) { str += 'r'; } else { str += '-'; } if ((parseInt(o.substr(i, 1), 8) & 2) == 2) { str += 'w'; } else { str += '-'; } if ((parseInt(o.substr(i, 1), 8) & 1) == 1) { str += ((i==0 && suid)||(i==1 && sgid))? 's' : 'x'; } else { str += '-'; } } } if (style == 'both') { return str + ' (' + oct + ')'; } else if (style == 'string') { return str; } else { return oct; } }, /** * Regist this.decodeRawString function * * @return void */ registRawStringDecoder : function(rawStringDecoder) { if (jQuery.isFunction(rawStringDecoder)) { this.decodeRawString = this.options.rawStringDecoder = rawStringDecoder; } }, /** * Return boolean that uploadable MIME type into target folder * * @param String mime MIME type * @param String target target folder hash * @return Bool */ uploadMimeCheck : function(mime, target) { target = target || this.cwd().hash; var res = true, // default is allow mimeChecker = this.option('uploadMime', target), allow, deny, check = function(checker) { var ret = false; if (typeof checker === 'string' && checker.toLowerCase() === 'all') { ret = true; } else if (Array.isArray(checker) && checker.length) { jQuery.each(checker, function(i, v) { v = v.toLowerCase(); if (v === 'all' || mime.indexOf(v) === 0) { ret = true; return false; } }); } return ret; }; if (mime && jQuery.isPlainObject(mimeChecker)) { mime = mime.toLowerCase(); allow = check(mimeChecker.allow); deny = check(mimeChecker.deny); if (mimeChecker.firstOrder === 'allow') { res = false; // default is deny if (! deny && allow === true) { // match only allow res = true; } } else { res = true; // default is allow if (deny === true && ! allow) { // match only deny res = false; } } } return res; }, /** * call chained sequence of async deferred functions * * @param Array tasks async functions * @return Object jQuery.Deferred */ sequence : function(tasks) { var l = tasks.length, chain = function(task, idx) { ++idx; if (tasks[idx]) { return chain(task.then(tasks[idx]), idx); } else { return task; } }; if (l > 1) { return chain(tasks[0](), 0); } else { return tasks[0](); } }, /** * Reload contents of target URL for clear browser cache * * @param String url target URL * @return Object jQuery.Deferred */ reloadContents : function(url) { var dfd = jQuery.Deferred(), ifm; try { ifm = jQuery('